-
Notifications
You must be signed in to change notification settings - Fork 13.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
UAVCAN improvements #5271
UAVCAN improvements #5271
Conversation
This parameter, when enabled, enforces that the UAVCAN ESC driver never outputs zero throttle while the system is armed. This feature is disabled by default, so the change will not break the experience of current users.
Standby for flight testing and video for user documentation. |
Can someone please predict what release these changes will end up in? I'm writing some tutorials and I would like to pinpoint the minimum required version of PX4. |
Changes were flight tested today on MAV5. Looking good! Everything works like it should, although I had to turn off a couple of drivers to reclaim some RAM. Otherwise the shell wouldn't work.
@LorenzMeier 1.4.2, I'm sure? |
Found 2 minor uavcan user experience related issues which should be fixed before release :
|
Kabir, number 2 is not a bug, it's a feature. I added it in order to provide a simple audio indication that some UAVCAN related activity is happening. If you find it confusing we can easily remove it though (it's one line). |
Hmm. It's kinda annoying. I don't know why we'd want that when connecting to a GCS. Also, what happens if we're in flight and we connect and the beep commands go through? I also just found that saving UAVCAN params via QGC isn't working at all. The parameter write fails with a failure message from Firmware. Please check. This is critical for me since the Babel blew, and also in general for a smooth user experience. |
They will be ignored.
Thanks, I will try to repro this. |
I like the beeping as is... Found it quite reassuring that all systems were right. |
I think I identified the problem with parameters. When responding to a parameter list request, the MAVLink-UAVCAN bridge converts the parameter data from The fundamental problem here, as I understand it, is that the message |
@proficnc I would like to keep beeping too, unless there are any UX issues with it I'm not aware about. |
I propose to have this merged and resolve the parameter bridge issues separately. The branch has been merged with master. |
I mean, the master has been merged into this branch, sorry about the confusion. |
the MAVLink libs support setting the origin component ID. It might need some tweaks on access but I can enable that certainly. And yes, that's how it's supposed to work. We also should send a heartbeat for each subsystem with a different component ID. |
The CI systems still need to pass |
@pavel-kirienko This was originally able to work because the UAVCAN node ID was passed in as the component ID parameter in I believe your assessment of why it's not currently working is correct. Looks like it might be possible to fix the issue without changing the |
Build fixed by updating to a newer commit in master (it was broken there). I think I noticed that hysteresis and autodeclination tests are still sometimes failing randomly though. |
CI reports are misleading and should be ignored - the master is still broken at the moment. This PR is ready for merging. |
Nudge. |
@LorenzMeier This is good to go. Flight tested a couple of times. @pavel-kirienko How are we looking on the parameter bridge fix? |
We need Lorenz to enable the origin component id setting in the MAVLink library. Rest is a piece of cake. |
@LorenzMeier @pavel-kirienko flight looks good ! |
@LorenzMeier Can we get this in now? It would also be great if you could quickly enable the required feature in mavlink to allow the parameter bridge to function correctly (#5277). I'm having some issues with aggressive control on the Orels, and need to tune the control parameters on the ESCs, which is impossible without the proper (or working, for that reason) parameter interface. |
Thanks everybody! Rebased and applied! Now on to fixing the MAVLink param issue.. |
Greetings, my fellow humans.
This PR brings the following improvements:
UAVCAN_ESC_IDLT
, when set to 1, ensures that UAVCAN ESC will be running at a minimum throttle while the system is armed. The default value is 0, so it will not affect existing setups.Mentioning @mhkabir and @aperture-laboratories because I want them to stay informed.