-
Notifications
You must be signed in to change notification settings - Fork 17.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
AP_ExternalAHRS_AdvancedNavigation #23267
base: master
Are you sure you want to change the base?
AP_ExternalAHRS_AdvancedNavigation #23267
Conversation
6988e35
to
09edfeb
Compare
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.
Light review only.
I'm concerned with the complexity of assembling messages to send - and all of the runtime allocations/deallocations in general. Others may not be as concerned, so don't feel you need to jump straight to doing something better.
I'm happy to discuss the other parsers/message assemblers I've pointed to. There might be something I've missed in your wire format which makes that solution unworkable.
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
@AN-DanielCook great to see this driver, thanks. As @peterbarker says, this needs some substantial re-work. That re-work will be made much easier because you've done a simulator, which is great! |
21046c7
to
36da5f1
Compare
Sorry I've only recently had some time to come back and apply changes to this. If you are happy with the structural changes in the driver i will apply them to the simulator also. |
1d6651b
to
d75bf5e
Compare
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.
Wow, this is looking much nicer!
Again, sorry, partial review only - out of time for today. I'm definitely coming back to that parser :-)
Also note I've pushed up #23588 to make our defines in here conform a bit better to our current norms in terms of backend defines.
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
d75bf5e
to
c5879b4
Compare
c5879b4
to
71f7bf0
Compare
@AN-DanielCook @peterbarker I've rebased, fixing conflicts and fixed a few other bugs. sim_vehicle.py now works like this:
|
71f7bf0
to
f613a2f
Compare
f613a2f
to
373cd93
Compare
@AN-DanielCook I pushed a few fixes to this PR today |
d76f703
to
b3c2271
Compare
11996da
to
18a812c
Compare
e2e9003
to
e4e29e5
Compare
7c83b9e
to
856cf12
Compare
ed53197
to
41423cd
Compare
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.
These may be out of date
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
libraries/AP_ExternalAHRS/AP_ExternalAHRS_AdvancedNavigation.cpp
Outdated
Show resolved
Hide resolved
2bb0a98
to
fc9529c
Compare
fc9529c
to
d28306b
Compare
Adds ability for SITL Simulation of an AdNav device to be used by making a simulated serial port. Changes create a SITL::AdNav class when requested on the command line
Added a SITL::AdNav class to emulate a ANPP Device communicating with the Advanced Navigation External AHRS module
EAHRS_TYPE: 3 (AdNav) has been added to the AP_External_AHRS.h/.cpp files. New Class AP_ExternalAHRS_AdvancedNavigation added in new .cpp/.h files. Supports any Advanced Navigation Packet Protocol (ANPP) device with different devices having slight behaviour changes.
When running EAHRS update it will now check for flight mode and gnss enable and request the appropriate changes in the device filter.
Applied PR Suggestions
… is handled to prevent locking of thread.
d28306b
to
720f8a4
Compare
@AN-DanielCook I've rebased this PR and fixed the conflict |
Hi @AN-DanielCook & @tridge , I hope you’re doing well! I was wondering if there are any plans to merge this pull request, and if so, whether there’s an estimated timeline for it? We currently have an Advanced Navigation IMU and would love to integrate it directly with ArduPilot. |
This PR Adds External AHRS support to Advanced Navigation Devices using the Advanced Navigation Packet Protocol.
when EAHRS_TYPE = 3 (AdNav) the new module will load and run. A SITL Emulator of a ANPP Device has also been added for easier testing in the absence of hardware.