-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
support for multiple GPS #1532
support for multiple GPS #1532
Conversation
instead of a gps_multi_id subsystem, do it like for AHRS, e.g. ``` <subsystem name="gps" type="ubx"/> <subsystem name="gps" type="piksi> <configure name="GPS_SECONDARY" value="piksi"/> </subsystem> ```
so that by default you get the currently "best" GPS if you have multiple ones and you don't get the GPS callback called twice if you only have one (once from the original and once from gps.c with GPS_MULTI_ID)
Ok, the LisaMX example using UART5 for piksi is kind of bad, since TX of that uart isn't exposed... |
You can use the pin labelled as PC12 for UART5 TX and then change accordingly in the board file. |
Yeah I had to the mod to get UART1 on my LisaMX |
really nice feature, especially because it starts to get rid of the global gps struct |
@flixr do you want to add something ? or are we just waiting for more tests ? |
I started refactoring the xsens INS, but that shouldn't be part of this PR. |
Tested and working with a UBX+PIKSI on Apogee. Manual and automatic switch seems to work as expected. |
support for multiple GPS To e.g. use piksi as a secondary GPS: ``` <subsystem name="gps" type="ubx"> <configure name="UBX_GPS_PORT" value="UART2"/> </subsystem> <subsystem name="gps" type="piksi"> <configure name="PIKSI_GPS_PORT" value="UART3"/> <configure name="SECONDARY_GPS" value="piksi"/> </subsystem> ```
This is a cleaned up and finished version of #1511
To e.g. use piksi as a secondary GPS:
Each GPS implementation has their own
GpsState
struct now.We still have the global
gps
struct for now (which gets set to the currently best GPS), but the goal is to get rid of that global struct later as well...