-
Notifications
You must be signed in to change notification settings - Fork 18.1k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
AP_RCProtocol: Serial port SBUS input erratic #14105
Comments
Transposed SBUS inputs, can confirm there is a bug with the handling of failsafe condition on inverted serial receiver. |
Issue exists on cube orange without external SBUS inversion as well. |
Based on the log provided, the problem appears to be AP processing the RC input from the serial port. The log shows the channels all bouncing between good and no signal. This of course is making the failsafe kick on and off. It is NOT a failsafe problem. The failsafe is just a symptom of the RC handling problem. The user's log is attached. He has already tested using multiple different inverters and difference receivers. Everything looks fine on a scope. But AP shows the input bouncing all over the place. Given his multiple methods of testing to rule out a hardware issue, I'm going to tag this as a bug. Feature originally added here last year #12152. Log attached from @JacksonUAS More discussion here: https://discuss.ardupilot.org/t/dual-rx-input-insanity-herelink-and-rfd900x-sbus-passthrough/54620 |
@JacksonUAS I changed the title since this is a core RC protocol library problem that impacts all vehicles and builds, not just a copter failsafe issue. |
Any updates on this? Is there any timeline I can convey to operators about when this will be investigated. |
Any update on this? This seems like a very serious bug, |
@bugobliterator , Could it be a problem of SBUS data capture itself (due to CPU overload)? Or of processing? I tried putting the RCin port read in Timer thread instead of RCin thread - it gave me a lot of continuous LATE_FRAME errors with this change. Very strange. |
The problems seems to be of data capture: Attaching here logs for the two setups from my test bench with RCin logging at 400 Hz and Attitude Logging at 400 Hz: https://drive.google.com/file/d/1RgvqAzRRvqQUCrWIuBeJ17MWSuLqQQvb/view?usp=sharing I don't see these kind of glitches on Copter 3.5.5 as significant as this. Have the CPU processing requirements considerably increased from 3.5.5 to 4.0.3?? |
With DMA enabled, I tried increasing the DMA stream for the relevant USART to highest (from 0 to 3). However, that also did not completely remove the RCin glitches. I am super confused right now. Can somebody point me any further? |
Hi, No glitch at all!!!!! :D |
Any updates on this one? I have the aircraft back here to try sort out for customer. |
Use a DMA enabled serial port seems like the safest option. Changing the thread priority of the RCIN or UARTs is a more intrusive change. I suspect this is true for a lot of RC protocols - we should probably add DMA to the decoding report so that people know. |
@JacksonUAS this one seems to have dropped off the radar for 3 years. Is this actually still a problem?! |
No answer in half a year. We've completely rewritten that handling several times since 2020. I don't think its realistic we'll trace this problem now as it has almost certainly been replaced with better bugs. Closing this now. |
Bug report
Issue details
Putting inverted SBUS onto a serial port as per multiple Rx install and enabling FS_THR_ENABLE results in looping failsafe alarm. FS_THR_ENABLE disabled results in no failsafe.
Version
AC4.0.3
Platform
[ ] All
[ ] AntennaTracker
[ X ] Copter
[ ] Plane
[ ] Rover
[ ] Submarine
Airframe type
X8
Hardware type
Cube Black
Herelink (inverted SBUS onto Serial 5/CONS)
Logs
https://discuss.ardupilot.org/t/dual-rx-input-insanity-herelink-and-rfd900x-sbus-passthrough/54620/8
The text was updated successfully, but these errors were encountered: