[build] add firmware option to modules' makefile section

- allow to make a single module with specific firmware support
- example with telemetry_transparent module
This commit is contained in:
Gautier Hattenberger
2016-02-10 19:06:58 +01:00
parent ce4a76d273
commit d76887c062
3 changed files with 53 additions and 3 deletions
+2 -1
View File
@@ -55,7 +55,8 @@ message CDATA #REQUIRED
fun CDATA #REQUIRED>
<!ATTLIST makefile
target CDATA #IMPLIED>
target CDATA #IMPLIED
firmware CDATA #IMPLIED>
<!ATTLIST section
name CDATA #REQUIRED
+41
View File
@@ -0,0 +1,41 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="telemetry_transparent" dir="datalink">
<doc>
<description>
Telemetry using PPRZ protocol over UART
Currently used as a makefile wrapper over the telemetry_transparent subsystem
</description>
<configure name="MODEM_PORT" value="UARTx" description="UART where the modem is connected to (UART1, UART2, etc"/>
<configure name="MODEM_BAUD" value="B57600" description="UART baud rate"/>
</doc>
<header/>
<makefile target="ap">
<configure name="MODEM_PORT" case="upper|lower"/>
<define name="USE_$(MODEM_PORT_UPPER)"/>
<define name="$(MODEM_PORT_UPPER)_BAUD" value="$(MODEM_BAUD)"/>
<define name="DOWNLINK"/>
<define name="PERIODIC_TELEMETRY"/>
<define name="DOWNLINK_DEVICE" value="$(MODEM_PORT_LOWER)"/>
<define name="PPRZ_UART" value="$(MODEM_PORT_LOWER)"/>
<define name="DOWNLINK_TRANSPORT" value="pprz_tp"/>
<define name="DATALINK" value="PPRZ"/>
<file name="downlink.c" dir="subsystems/datalink"/>
<file name="datalink.c" dir="subsystems/datalink"/>
<file name="telemetry.c" dir="subsystems/datalink"/>
<file name="pprz_transport.c" dir="$(PAPARAZZI_HOME)/var/share/pprzlink/src"/>
</makefile>
<makefile target="ap" firmware="fixedwing">
<file name="fixedwing_datalink.c" dir="$(SRC_FIRMWARE)"/>
<file name="ap_downlink.c" dir="$(SRC_FIRMWARE)"/>
</makefile>
<makefile target="ap|fbw" firmware="fixedwing">
<file name="fbw_downlink.c" dir="$(SRC_FIRMWARE)"/>
</makefile>
<makefile target="ap" firmware="rotorcraft">
<file name="rotorcraft_datalink.c" dir="$(SRC_FIRMWARE)"/>
<file name="rotorcraft_telemetry.c" dir="$(SRC_FIRMWARE)"/>
</makefile>
</module>