I have an SF40 installed on an Ardurover 4.6.3. I can test the SF40 in the lightware studio and it works Great and with the same wiring i have it connected on the Telemetry port 2 of a Cube Orange Plus. I tested also switching Tx/Rx but i can make it work on Telem2. Spoke with Lightware support and they told me they tested 4.6.3 and Telem2 and for them also did not work. But they tested on GPS2 and for them it worked. Any ideas on what might be the cause specifically on Serial2 with this firmware?
I tested the following. Since i needed Telem2 for something that needed it specifically, i switched to GPS2 (aka Serial4), my cable is about 70cm long and right after the sensor there is a 6pin plug givinbg 12v to the SF40 motor and GND, 5V, Tx and Rx to the sensor. In order to verify for the 100th time that my cables where correct i took a waveshare FT232 board and connected from the 6pin plug to the sensor and through lightware gui i saw the sensor and readings. This means the SF40 is working. Then with the same board i made the complete opposite plug to connect towards the FC. My sensor Tx to the plug Tx possition (aka Cube Rx), sensor Rx and Gnd. Changed serial 4 to mavlink 1 and left baud to 921 as it was for the sensor. went to Mission planner and connected to the FT232 post at 921 speed properly, this from the plug to the FC, even though a 70cm cable that its also twisted as needed i am able to communicate and also verify that my cables are correct. Again, following ardurover docs and setting up serial4 and PRX1 as soon as i boot and connect sensor i get prearm, PRX1:No Data. I would highly appreciate your ideas and comments. Also spoke with Lightware support and from what they said with my settings it worked for them. (FYI i also tested a new custyom cable)
Here are a few potential reasons the SF40C may not work:
The serial port’s ready-to-send/clear-to-send pins are being incorrectly detected. Serial1 and Serial2 has these pins while serial3,4, etc do not. Serial2’s use of RTS/CTS can be disabled by setting BRD_SER2_RTSCTS = 0
The main loop rate of rover is not fast enough to keep up with the data arriving from the sensor. increasing SCHED_LOOP_RATE = 200 or even 400 should resolve this.
The SERIALx_PROTOCOL or SERIALx_BAUD params are set incorrectly or there are multiple SERIALx_PROTOCOL params set to 11 (360 Lidar). For eample SERIAL1_PROTOCOL=11, SERIAL2_PROTOCOL=11. In this case only the lowest “x” is used (e.g. SERIAL1_PROTOCOL).
The PRX1_TYPE doesn’t match the model of the SF40C (this is unlikely unless you somehow purchased a very old piece of hardware)
the SF40C driver is not included in the firmware. This is also unlikely because I think the SF40C support is included by default for the CubeOrangePlus
I hope you and your family are strong and overcome it fast. I had it tested on GPS2 serial so serial 4. all parameters tested multiple times as also i am able to get info on Lightware gui and Lightware support is able to test my exact setup and for them it worked. I tested the sensor it self as also the Cube Port. SF40 is with latest firmware and i doubt 3dxr send me a old sensor. Tested the cable and made sure TX/RX are correct multiple times as i also did the swap test but for some strange reason i am unable to make it show me info on Mission Planner or a healty status.