-
Notifications
You must be signed in to change notification settings - Fork 10
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
Failsafe detection #31
Comments
Hi Stefan! Could you clarify what "within a given resolution" means? |
Hi Dave,
sorry for my bad english, its not my mother tongue.
With "given resolution" i meant the use of the map function.
I just realized, that the absence of the receiver signal generates the
lower value of my map function:
tiefenruderroh = tiefenr.map(500, 2500);
I get 500 in return.
Unfortunately, if the RC Signal is switched off from my Pro Micro while
using it, the last measured value seems to be stored.
I hope, i could decribe my problem so you understand it.
Regards
Stefan
Am 29.05.2024 um 23:25 schrieb Dave Madison:
… Hi Stefan! Could you clarify what "within a given resolution" means?
—
Reply to this email directly, view it on GitHub
<#31 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/A5QSXDELGRLRDIZEYWI36T3ZEZBWJAVCNFSM6AAAAABIPWFEXKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZYGI4DSNZXHA>.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
I think I'm understanding you, feel free to correct me if I'm not. If the RC receiver is still connected to the board but the RC controller isn't sending it signals, it's up to the RC receiver how to handle that. Some receivers will repeat the last known position (pulse duration), some will send a default position, some will stop sending pulses entirely. If the controller isn't sending signals and the RC receiver is still sending pulses (whatever they are), there is nothing the library can do one way or the other. It just sees the pulses, and as far as it knows the pulses are valid. If the controller isn't sending signals and the RC receiver is not sending pulses, the library will report the last known good value it received. If it hasn't ever received a valid signal the initial value is at the bottom of the range (500 in your example) because, well, we have no idea what the initial position is. Some motors (e.g. steering) are 'idle' at center, some motors (e.g. throttle) are 'idle' at low. There's no way of knowing. The library does have a feature to check if there is a new signal, which is the if(servo.available()) {
// do something with the data
} Does that help? |
Hi Dave, you are 100% correct. Some Receivers keep the last known signal, some make weird stuff and some do nothing. Its impossible to check if the signal is valid for the first two cases. Fortunately i must handle the third case, so i will check available() when i am back home later. I will report if it suits my needs.Thanks again!StefanAm 30.05.2024 00:04 schrieb Dave Madison ***@***.***>:
I think I'm understanding you, feel free to correct me if I'm not.
If the RC receiver is still connected to the board but the RC controller isn't sending it signals, it's up to the RC receiver how to handle that. Some receivers will repeat the last known position (pulse duration), some will send a default position, some will stop sending pulses entirely.
If the controller isn't sending signals and the RC receiver is still sending pulses (whatever they are), there is nothing the library can do one way or the other. It just sees the pulses, and as far as it knows the pulses are valid.
If the controller isn't sending signals and the RC receiver is not sending pulses, the library will report the last known good value it received. If it hasn't ever received a valid signal the initial value is at the bottom of the range (500 in your example) because, well, we have no idea what the initial position is. Some motors (e.g. steering) are 'idle' at center, some motors (e.g. throttle) are 'idle' at low. There's no way of knowing.
The library does have a feature to check if there is a new signal, which is the available() function. If your receivers are of the latter type where they shut off signals when the RC controller drops out of range, you can check if a signal is available() before acting on it, rather than reading continuously:
if(servo.available()) {
// do something with the data
}
Does that help?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Hi Stefan, following up on this. Were you able to solve your problem? |
Hi Dave, Thanks again for the perfect support! |
If your problem is solved you can close the issue as completed. I can do that for you. Thanks for following up! |
Hi,
Is it possible, to detect the absence of a valid receiver signal within a given resolution? This way it would be possible to realize a Failsafe detection.
Regards
Stefan
The text was updated successfully, but these errors were encountered: