<!DOCTYPE module SYSTEM "module.dtd">

<module name="telemetry_transparent_secure" dir="datalink" task="datalink">
  <doc>
    <description>
      Telemetry using secure PPRZ protocol over UART
      Similar to telemetry_transparent, except it uses message scheduling and encryption
    </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>
  <autoload name="telemetry" type="nps"/>
  <autoload name="telemetry" type="sim"/>
  <autoload name="haclc"/>
  <header>
    <file name="spprz_dl.h"/>
  </header>
  <init fun="spprz_dl_init()"/>
  <periodic fun="spprz_dl_periodic()" freq="PERIODIC_FREQUENCY" autorun="TRUE"/>
  <event fun="spprz_dl_event()"/>
  <makefile target="!fbw|sim|nps|hitl">
    <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="spprz_tp"/>
    <define name="DATALINK" value="PPRZ"/>
    <file name="spprz_dl.c"/>
    <file name="downlink.c" dir="subsystems/datalink"/>
    <file name="datalink.c" dir="subsystems/datalink"/>
    <file name="telemetry.c" dir="subsystems/datalink"/>
    <file name="secure_pprz_transport.c" dir="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>

