-
Notifications
You must be signed in to change notification settings - Fork 13.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RC Failsafe Trigger Update #12595
RC Failsafe Trigger Update #12595
Conversation
So how does the fix work? ie RC is lost and the receiver keeps on sending the same values it had at that point. How does PX4 recognise that these values are no longer valid and trigger the failsafe? |
Hello @hamishwillee , When RF module lost its communication, 8 channels PPM signal turns 16 channels. Also, First 12 channels have valid signal (1000 microseconds) and last 4 channels have 0 value signal. And I tried to switch number of channels from 8 to 12 and 14, also these statements send same PPM signal when RF lost its communication. So, I added code fragment to PX4 checks PPM signal after this statement: Then if it recognizes 16 channels: -Firstly, checks first 12 channels' value. If they all have values between 1000 and 1005 microseconds it is going to the second step. between 1000 and 1005 microseconds it is going to the second step. Else, i.e. channel 2 has 1200 microseconds value which is valid value for PX4, it changes -Secondly, checks last 4 channels' value. If their all values are 0, then |
@bozkurthan So do all receivers have this behaviour? Or more importantly, are there any cases where this check will give a false positive on other receivers? @julianoes I know we can't make check on receiver type at this level, but could we make some checks at driver level and modify output so that they make sense at this level? That would seem "cleaner". |
@hamishwillee Yes, you are right. I mentioned before on this issue #12381 about what we can do.
|
Thanks very much @bozkurthan . As long as @julianoes is happy that this can't break anything else :-) |
@dagar what's up with Jenkins? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, this looks correct.
Could you add the specific Rx model in the comment for a future reader?
@julianoes Just a ping to remind you about this. I sort of stalled on the associated docs. It isn't clear to me why this fix couldn't be lower in the stack. |
@bozkurthan could you please rebase this on master and force push? Hopefully CI will pass. |
- queue depth is now set by the msg
- jenkins add new sections and segments output
* split out filtered sensor_gyro aggregation from mc_att_control and move to wq:rate_ctrl
- needed to update the main sensor_gyro subscription if the primary stops responding
This reverts commit 8397875.
… 3 (along trajectory) to be consistent with the other yaw modes
Ops. I think I did something wrong @julianoes . Too many files are changed by selecting Rebase. I can create new PR with newest master for this. |
I followed instruction from this GIT Examples |
Closed, unable to merge because of jenkins problem. |
It just looks like the style check failed. I will run |
Ok, this is a git mess, cherry-picked the commits into: #13218. |
Describe problem solved by the proposed pull request
RC Failsafe isn't triggered when PPM signal is valid. These changes update Failsafe trigger logic for RC input. RF Modules keep sending valid PPM signal when the RC Transmitter is lost.
RF Modules which are in the air send PPM signal with same type when lost the signal from ground.
Test data / coverage
The discussion on testing and log can be seen on this topic #12381 .