SRXL Implementation of a new radio equipment

Topic:
Implementation of SRXL communication in the next versions of ArduCopter Firmware.

Proposal type: Software [X ]

Description:
Dear all,
my name is Davide Picchi and I’m a development engineer at Flairics GmbH & Co. KG ( https://flairics.com/ ), a german company located in Düsseldorf and expanding in many cities here in Germany.
We develop and sell large octocopters for industry applications.
Inspections with copters is our main busyness and we try to satisfy our customers by integrating special sensors. Since we found ArduCopter the better solution for its affidability and affordabilty, we equip our copters with ArduCopter as standard Flight Controller since 2016.
We are going to sell a new radio equipment (TX and RX combi) developed for special customer requirements, which are not satisfied with commercial solutions available on the markt. This product should be available in September for the mass production. During the development we realize soon, that ArduCopter doesn’t accept more than 12 channels through the PPM interface. So we decided to contact Mr. Walter Meyer (the father of SRXL) and we got our ID and our protocoll implementation to transmit up to 16 channels from TX to RX. A specification document has been uploaded with this topic. Flairics SRXL Spezifikation V1.00_EN.pdf (160.9 KB)

My company and I would be very happy to see that our SRXL implementation is going to be part of the next ArduCopter code. We want that our devices are directly recognized and identified in the next firmware versions. In this way we can just sell flash the flight controller and plug our radio transmitter without problems.
In order to do that the implementation of the SRXL has to be modified and updated according to the document I attached to this topic. I can figure out only 2 way to do that.

  • some people of the ArduPilot community are going to take the changes and make them effective in the next firmware release, or
  • a software developer in my company has to implement the changes in a branch of the ArduPilot code. Once the code is debugged and well working it is going to be uploaded in the server. At this point one of the official developer guys does a merge with the main master-branch. In this case we do the modifications and lately send you the changed code for controlling.

Could you please tell me which way is more appropriate to update the code and make sure that the next ArduCopter firmware officially supports our devices in the future?

For any question please don’t hesitate to contact me.
Many thanks in advance.

Davide Picchi

Planned amount $$ (USD): 0

Estimated time for completion: 1-2 months

Hi Davide,

If you can have a dev working on that implementation would be perhaps the fastest way to get this working.

If you or the developer want, join us at the development gitter channels so that we can help/steer the development path.

best regards

Luis

edit:

Have you checked this PR where we added SRXL support ?

it’s quite new and only available on master branch

Hi Davide,
We actually already support the SRXL protocol on the HAL_PX4 builds, and it was recently added to the ChibiOS builds as well.
Have you tested that implementation to see if it already works for you?
Cheers, Tridge

@tridge : Do you have any links? We already know that ArduPilot/Copter supports SRXL. The problem is that every radio transmitter has an appropriate ID and every company (Futaba, Spektrum, etc.) has its own protocoll definition. This has to be implemented in the code to work correctly.

@LuisVale: thanks for the link. I’m going to discuss our proposal with my colleagues. I think that we can create a new branch and do this implementation. Lately you or the ardupilot developers can decide how to integrate it in the main tree.

Hi guys,

I’m going to make same changes to the arducopter code (according to those directions here: https://github.com/ArduPilot/ardupilot/blob/master/BUILD.md) to implement a new frame for SRXL support. As I already told, my company and I are planning to put a new product on the market and for this we need to update the SRXL implementation in the code.

I’m going to:

  • download the latest code
  • update only the files AP_HAL*
  • add SRXL support to our product
  • uploading the changes on the github server

Just a questions:

  • are there some generic rules for uploading new code?

Regards
Davide

Hi Davide,

Sorry for the very late response, I somehow missed your new message.

Yes, we have rules at http://ardupilot.org/dev/docs/submitting-patches-back-to-master.html

By the way, I’m moving this to a different category since it isn’t really a proposal for ArduPilot to fund.

Best regards,

Francisco
ArduPilot Funding Committee