Files
paparazzi/conf/modules/gps_nmea.xml
Gautier Hattenberger 62646d68de Modules recommends and suggests (#3005)
Add two new items in module's dependency:
- recommends: a recommended module tells the sorting algo that if the module is found, it should be sorted accordingly. It is useful for optional dependencies, like shell or mission in some modules
- suggests: if a functionality is not provided by the user, a module can suggest a list of modules that can provide them. It is a convenient way to have "default" modules.

As a result the former autoload node is removed and replaced by suggested modules.
2023-03-07 17:14:15 +01:00

58 lines
1.9 KiB
XML

<!DOCTYPE module SYSTEM "module.dtd">
<module name="gps_nmea" dir="gps" task="sensors">
<doc>
<description>
NMEA GPS (UART)
Driver for GPS modules using the NMEA protocol.
</description>
<configure name="NMEA_GPS_PORT" value="UARTx" description="UART where the GPS is connected to (UART1, UART2, etc"/>
<configure name="NMEA_GPS_BAUD" value="B38400" description="UART baud rate"/>
</doc>
<dep>
<depends>uart,gps</depends>
<provides>gps</provides>
</dep>
<header>
<file name="gps.h"/>
</header>
<init fun="gps_nmea_init()"/>
<periodic fun="gps_nmea_periodic_check()" freq="1." autorun="TRUE"/>
<event fun="gps_nmea_event()"/>
<makefile target="ap|fbw">
<configure name="NMEA_GPS_PORT" default="$(GPS_PORT)" case="upper|lower"/>
<configure name="NMEA_GPS_BAUD" default="$(GPS_BAUD)"/>
<file name="gps_nmea.c"/>
<define name="USE_$(NMEA_GPS_PORT_UPPER)"/>
<define name="NMEA_GPS_LINK" value="$(NMEA_GPS_PORT_LOWER)"/>
<define name="$(NMEA_GPS_PORT_UPPER)_BAUD" value="$(NMEA_GPS_BAUD)"/>
<raw>
ifdef SECONDARY_GPS
ifneq (,$(findstring $(SECONDARY_GPS), nmea))
# this is the secondary GPS
$(TARGET).CFLAGS += -DGPS_SECONDARY_TYPE_H=\"modules/gps/gps_nmea.h\"
$(TARGET).CFLAGS += -DSECONDARY_GPS=GPS_NMEA
else
$(TARGET).CFLAGS += -DGPS_TYPE_H=\"modules/gps/gps_nmea.h\"
$(TARGET).CFLAGS += -DPRIMARY_GPS=GPS_NMEA
endif
else
# plain old single GPS usage
$(TARGET).CFLAGS += -DGPS_TYPE_H=\"modules/gps/gps_nmea.h\"
endif
</raw>
<test>
<define name="PRIMARY_GPS" value="GPS_NMEA"/>
<define name="NMEA_GPS_PORT" value="uart2"/>
<define name="NMEA_GPS_BAUD" value="115200"/>
<define name="USE_UART2"/>
<define name="NMEA_GPS_LINK" value="uart2"/>
</test>
</makefile>
<makefile target="fbw">
<define name="USE_GPS"/>
</makefile>
</module>