-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Implements Channels functionality as its own object. #427
Conversation
7ce02b7
to
c5bc063
Compare
@tcr3dr The setter is crashing, so I can't fully test this. My test code below, but specifically, if I do this:
I get this:
If I do the following:
I get the output below. Would I be correct in thinking that the
Some questions
My example code
|
fe27bb6
to
58efa90
Compare
To clarify:
They are populated from the RC_CHANNELS_RAW message.
What now works is setting that value directly.
This now works. Also you can index by either string or number, if that's helpful. Canonically, we should recommend strings: |
New test code:
|
@tcr3dr This has a bug that you can't write the 8'th channel override value. If you try to set the 8th value you get
In addition, you can clear individual items, but it would be quite nice to be able to clear all of them at the same time. The below does nothing:
|
@tcr3dr Should I be able to observe the individual channels? |
@tcr3dr I have just made some docs/example changes to reflect the new channels.
Anyway, this is "a good start" but may need updates once you've checked it out, and maybe built the docs to inspect. |
@hamishwillee The tests have been updated, this should fix the indexing issue and clarify some other aspects (like |
@tcr3dr Yes, fixes worked well. I've updated docs to now index 8 and clearing work. Also added doc to migration guide. You should merge this now :-) |
… clearing all overrides. Also added doc to migration guide
Implements Channels functionality as its own object.
This PR brings back RC support by creating a new abstraction, Channels.
This also allows other mechanisms of subclassing via vehicle_class to create new channels options:
So we can support SITL overrides, Solo overrides, or by default on the Vehicle, we just use MAVLink overrides.