Telemetry using PPRZ protocol over UART or USB serial.
Can be used with a UART (uart1, uart2 ...), or a serial over USB: usb_serial, usb_serial_debug. usb_serial_debug is available only for some MCUs (STM32F7, STM32H7)
Currently used as a makefile wrapper over the telemetry_transparent modules
Example for airframe file
Add to your firmware section: This example contains all possible configuration options, not all of them are mandatory!
<module name="telemetry_transparent">
b'<define name="TELEMETRY_DISABLE_RX" value="FALSE|TRUE" />\n '
b'<configure name="MODEM_PORT" value="UARTx" />\n '
b'<configure name="MODEM_BAUD" value="B57600" />\n '
</module>
Module configuration options
Configure Options
- name:
MODEM_PORT
value: UARTx
Description: UART where the modem is connected to (UART1, UART2, usb_serial, etc)
- name:
MODEM_BAUD
value: B57600
Description: UART baud rate
Define Options
- name:
TELEMETRY_DISABLE_RX
value: FALSE|TRUE
Description: disable incoming message parsing
Module functions
Init Functions
These initialization functions are called once on startup.
Event Functions
These event functions are called in each cycle of the module event loop.
Files
Header Files
The following headers are automatically included in modules.h
Source Files
Raw telemetry_transparent.xml file:
<!DOCTYPE module SYSTEM "module.dtd">
<module name="telemetry_transparent" dir="datalink" task="datalink">
<doc>
<description>
Telemetry using PPRZ protocol over UART or USB serial.
Can be used with a UART (uart1, uart2 ...), or a serial over USB: usb_serial, usb_serial_debug.
usb_serial_debug is available only for some MCUs (STM32F7, STM32H7)
Currently used as a makefile wrapper over the telemetry_transparent modules
</description>
<configure name="MODEM_PORT" value="UARTx" description="UART where the modem is connected to (UART1, UART2, usb_serial, etc)"/>
<configure name="MODEM_BAUD" value="B57600" description="UART baud rate"/>
<define name="TELEMETRY_DISABLE_RX" value="FALSE|TRUE" description="disable incoming message parsing"/>
</doc>
<dep>
<depends>uart,datalink_common</depends>
<provides>datalink,telemetry</provides>
</dep>
<header>
<file name="pprz_dl.h"/>
</header>
<init fun="pprz_dl_init()"/>
<event fun="pprz_dl_event()" cond="!TELEMETRY_DISABLE_RX"/>
<makefile target="!sim|nps">
<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_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="pprz_dl.c"/>
<file name="pprz_transport.c" dir="pprzlink/src"/>
<test>
<define name="DOWNLINK_DEVICE" value="uart1"/>
<define name="USE_UART1"/>
</test>
</makefile>
</module>