mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-23 04:45:37 +08:00
Telemetry modules (#1835)
* [modules] convert telemetry subsystems to modules * [modules] add init and event functions to modules * [datalink] remove old datalink lib export * [datalink] drop audio_telemetry code * [modules] generate modules functions grouped into tasks
This commit is contained in:
committed by
GitHub
parent
49b554d0ae
commit
4316871b63
@@ -9,9 +9,9 @@ ARK RT
|
||||
<firmware name="rotorcraft">
|
||||
|
||||
<target name="ap" board="lisa_mx_2.1">
|
||||
<subsystem name="radio_control" type="sbus">
|
||||
<module name="radio_control" type="sbus">
|
||||
<configure name="SBUS_PORT" value="UART5"/>
|
||||
</subsystem>
|
||||
</module>
|
||||
</target>
|
||||
|
||||
<!-- NOTE: if you want to use extra_dl module for HITL
|
||||
@@ -29,17 +29,17 @@ ARK RT
|
||||
<configure name="AP_BAUD" value="B921600"/>
|
||||
</target>
|
||||
|
||||
<subsystem name="motor_mixing"/>
|
||||
<subsystem name="actuators" type="pwm">
|
||||
<module name="motor_mixing"/>
|
||||
<module name="actuators" type="pwm">
|
||||
<define name="SERVO_HZ" value="160"/>
|
||||
</subsystem>
|
||||
</module>
|
||||
|
||||
<subsystem name="telemetry" type="transparent">
|
||||
<module name="telemetry" type="transparent">
|
||||
<configure name="MODEM_PORT" value="UART3"/>
|
||||
<configure name="MODEM_BAUD" value="B57600"/>
|
||||
</subsystem>
|
||||
</module>
|
||||
|
||||
<subsystem name="stabilization" type="float_euler"/>
|
||||
<module name="stabilization" type="float_euler"/>
|
||||
|
||||
<module name="ins" type="vectornav">
|
||||
<configure name="VN_PORT" value="UART2"/>
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
<define name="USE_SONAR"/>
|
||||
<define name="USE_BARO_MEDIAN_FILTER"/>
|
||||
<define name="AUTOPILOT_DISABLE_AHRS_KILL"/>
|
||||
<module name="telemetry" type="transparent_udp"/>
|
||||
<module name="radio_control" type="datalink"/>
|
||||
</target>
|
||||
|
||||
@@ -18,6 +17,7 @@
|
||||
<module name="radio_control" type="ppm"/>
|
||||
</target>
|
||||
|
||||
<module name="telemetry" type="transparent_udp"/>
|
||||
<!-- Subsystem section -->
|
||||
<module name="motor_mixing"/>
|
||||
<module name="actuators" type="ardrone2"/>
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
<define name="USE_SONAR"/>
|
||||
<define name="USE_BARO_MEDIAN_FILTER"/>
|
||||
<define name="AUTOPILOT_DISABLE_AHRS_KILL"/>
|
||||
<module name="telemetry" type="transparent_udp"/>
|
||||
<module name="radio_control" type="datalink"/>
|
||||
</target>
|
||||
|
||||
@@ -18,6 +17,7 @@
|
||||
<module name="radio_control" type="ppm"/>
|
||||
</target>
|
||||
|
||||
<module name="telemetry" type="transparent_udp"/>
|
||||
<!-- Subsystem section -->
|
||||
<module name="motor_mixing"/>
|
||||
<module name="actuators" type="ardrone2"/>
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
<define name="USE_SONAR"/>
|
||||
<define name="USE_BARO_MEDIAN_FILTER"/>
|
||||
<define name="AUTOPILOT_DISABLE_AHRS_KILL"/>
|
||||
<module name="telemetry" type="transparent_udp"/>
|
||||
<module name="radio_control" type="datalink"/>
|
||||
</target>
|
||||
|
||||
@@ -18,6 +17,7 @@
|
||||
<module name="radio_control" type="ppm"/>
|
||||
</target>
|
||||
|
||||
<module name="telemetry" type="transparent_udp"/>
|
||||
<!-- Subsystem section -->
|
||||
<module name="motor_mixing"/>
|
||||
<module name="actuators" type="ardrone2"/>
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
<define name="USE_SONAR"/>
|
||||
<define name="USE_BARO_MEDIAN_FILTER"/>
|
||||
<define name="AUTOPILOT_DISABLE_AHRS_KILL"/>
|
||||
<module name="telemetry" type="transparent_udp"/>
|
||||
<module name="radio_control" type="datalink"/>
|
||||
</target>
|
||||
|
||||
@@ -21,6 +20,7 @@
|
||||
<module name="radio_control" type="ppm"/>
|
||||
</target>
|
||||
|
||||
<module name="telemetry" type="transparent_udp"/>
|
||||
<!-- Subsystem section -->
|
||||
<module name="motor_mixing"/>
|
||||
<module name="actuators" type="ardrone2"/>
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
<firmware name="rotorcraft">
|
||||
|
||||
<target name="ap" board="bebop">
|
||||
<module name="telemetry" type="transparent_udp"/>
|
||||
<module name="radio_control" type="datalink"/>
|
||||
</target>
|
||||
|
||||
@@ -16,6 +15,7 @@
|
||||
|
||||
<!--define name="USE_SONAR" value="TRUE"/-->
|
||||
|
||||
<module name="telemetry" type="transparent_udp"/>
|
||||
<!-- Subsystem section -->
|
||||
<module name="motor_mixing"/>
|
||||
<module name="actuators" type="bebop"/>
|
||||
|
||||
@@ -325,12 +325,12 @@
|
||||
|
||||
<firmware name="rotorcraft">
|
||||
<target name="ap" board="lisa_m_2.0">
|
||||
<subsystem name="radio_control" type="spektrum">
|
||||
<module name="radio_control" type="spektrum">
|
||||
<define name="RADIO_KILL_SWITCH" value="6"/>
|
||||
<!-- Put the mode on channel AUX1-->
|
||||
<!-- <define name="RADIO_MODE" value="RADIO_AUX1"/>-->
|
||||
<!-- <configure name="USE_SECONDARY_SPEKTRUM_RECEIVER" value="1"/> -->
|
||||
</subsystem>
|
||||
</module>
|
||||
|
||||
<!-- ONLY if flashing via JTAG cable -->
|
||||
<configure name="FLASH_MODE" value="JTAG"/>
|
||||
@@ -344,24 +344,24 @@
|
||||
<!-- <configure name="LISA_M_BARO" value="BARO_MS5611_SPI"/> -->
|
||||
</target>
|
||||
|
||||
<subsystem name="motor_mixing"/>
|
||||
<subsystem name="actuators" type="pwm">
|
||||
<module name="motor_mixing"/>
|
||||
<module name="actuators" type="pwm">
|
||||
<define name="SERVO_HZ" value="400"/>
|
||||
<define name="USE_SERVOS_7AND8"/>
|
||||
</subsystem>
|
||||
</module>
|
||||
|
||||
<subsystem name="telemetry" type="xbee_api"/>
|
||||
<!-- <subsystem name="telemetry" type="transparent"/> -->
|
||||
<subsystem name="imu" type="aspirin_v2.1"/>
|
||||
<subsystem name="gps" type="ublox"/>
|
||||
<!-- <subsystem name="stabilization" type="int_quat"/> -->
|
||||
<subsystem name="stabilization" type="indi"/>
|
||||
<module name="telemetry" type="xbee_api"/>
|
||||
<!-- <module name="telemetry" type="transparent"/> -->
|
||||
<module name="imu" type="aspirin_v2.1"/>
|
||||
<module name="gps" type="ublox"/>
|
||||
<!-- <module name="stabilization" type="int_quat"/> -->
|
||||
<module name="stabilization" type="indi"/>
|
||||
|
||||
<subsystem name="ahrs" type="int_cmpl_quat">
|
||||
<module name="ahrs" type="int_cmpl_quat">
|
||||
<configure name="USE_MAGNETOMETER" value="1"/>
|
||||
<define name="AHRS_USE_GPS_HEADING" value="0"/>
|
||||
</subsystem>
|
||||
</module>
|
||||
|
||||
<subsystem name="ins"/>
|
||||
<module name="ins"/>
|
||||
</firmware>
|
||||
</airframe>
|
||||
|
||||
@@ -221,5 +221,4 @@ fbw.srcs += $(ns_srcs)
|
||||
##
|
||||
include $(CFG_SHARED)/nps.makefile
|
||||
nps.srcs += nps/nps_autopilot_rotorcraft.c
|
||||
nps.srcs += $(SRC_FIRMWARE)/rotorcraft_telemetry.c
|
||||
nps.srcs += subsystems/datalink/datalink.c $(SRC_FIRMWARE)/rotorcraft_datalink.c
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ setup_actuators.CFLAGS += -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
|
||||
SETUP_ACTUATORS_MODEM_PORT_LOWER=$(shell echo $(MODEM_PORT) | tr A-Z a-z)
|
||||
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_DEVICE=$(SETUP_ACTUATORS_MODEM_PORT_LOWER) -DPPRZ_UART=$(SETUP_ACTUATORS_MODEM_PORT_LOWER)
|
||||
setup_actuators.CFLAGS += -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=PPRZ
|
||||
setup_actuators.srcs += subsystems/datalink/downlink.c pprzlink/src/pprz_transport.c
|
||||
setup_actuators.srcs += subsystems/datalink/downlink.c pprzlink/src/pprz_transport.c modules/datalink/pprz_dl.c
|
||||
|
||||
setup_actuators.srcs += subsystems/actuators.c
|
||||
setup_actuators.srcs += $(SRC_FIRMWARE)/setup_actuators.c
|
||||
|
||||
@@ -236,8 +236,6 @@ ap.srcs += $(ap_srcs) $(ns_srcs)
|
||||
##
|
||||
include $(CFG_SHARED)/nps.makefile
|
||||
nps.srcs += nps/nps_autopilot_fixedwing.c
|
||||
nps.srcs += subsystems/datalink/datalink.c $(SRC_FIRMWARE)/fixedwing_datalink.c
|
||||
nps.srcs += $(SRC_FIRMWARE)/ap_downlink.c $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
|
||||
# add normal ap and fbw sources
|
||||
nps.CFLAGS += $(fbw_CFLAGS) $(ap_CFLAGS)
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
# Hey Emacs, this is a -*- makefile -*-
|
||||
|
||||
# include shared part for ap
|
||||
ifeq ($(TARGET),ap)
|
||||
include $(CFG_SHARED)/telemetry_bluegiga.makefile
|
||||
endif
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/fixedwing_datalink.c $(SRC_FIRMWARE)/ap_downlink.c
|
||||
|
||||
# avoid fbw_telemetry_mode error
|
||||
ap.srcs += $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
|
||||
fbw.srcs += $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
#
|
||||
# The superbitRF module as telemetry downlink/uplink
|
||||
#
|
||||
#
|
||||
|
||||
# include shared part for ap
|
||||
ifeq ($(TARGET),ap)
|
||||
include $(CFG_SHARED)/telemetry_superbitrf.makefile
|
||||
endif
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/fixedwing_datalink.c $(SRC_FIRMWARE)/ap_downlink.c
|
||||
|
||||
# avoid fbw_telemetry_mode error
|
||||
ap.srcs += $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
|
||||
fbw.srcs += $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
@@ -1,14 +0,0 @@
|
||||
# Hey Emacs, this is a -*- makefile -*-
|
||||
|
||||
# include shared part for ap
|
||||
ifeq ($(TARGET),ap)
|
||||
include $(CFG_SHARED)/telemetry_transparent.makefile
|
||||
endif
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/fixedwing_datalink.c $(SRC_FIRMWARE)/ap_downlink.c
|
||||
|
||||
# avoid fbw_telemetry_mode error
|
||||
ap.srcs += $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
|
||||
fbw.srcs += $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
# Hey Emacs, this is a -*- makefile -*-
|
||||
|
||||
#serial USB (e.g. /dev/ttyACM0)
|
||||
|
||||
ifeq ($(TARGET), ap)
|
||||
include $(CFG_SHARED)/telemetry_transparent_usb.makefile
|
||||
endif
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/fixedwing_datalink.c $(SRC_FIRMWARE)/ap_downlink.c $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
# avoid fbw_telemetry_mode error
|
||||
ap.srcs += $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
|
||||
fbw.srcs += $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
# Hey Emacs, this is a -*- makefile -*-
|
||||
|
||||
# W5100 ethernet chip.
|
||||
|
||||
ifeq ($(TARGET), ap)
|
||||
include $(CFG_SHARED)/telemetry_w5100.makefile
|
||||
endif
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/fixedwing_datalink.c $(SRC_FIRMWARE)/ap_downlink.c
|
||||
|
||||
# avoid fbw_telemetry_mode error
|
||||
ap.srcs += $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
|
||||
fbw.srcs += $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
@@ -1,15 +0,0 @@
|
||||
# Hey Emacs, this is a -*- makefile -*-
|
||||
|
||||
# XBee modems in API mode
|
||||
|
||||
# include shared part for ap
|
||||
ifeq ($(TARGET),ap)
|
||||
include $(CFG_SHARED)/telemetry_xbee_api.makefile
|
||||
endif
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/fixedwing_datalink.c $(SRC_FIRMWARE)/ap_downlink.c
|
||||
|
||||
# avoid fbw_telemetry_mode error
|
||||
ap.srcs += $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
|
||||
fbw.srcs += $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
@@ -1,9 +0,0 @@
|
||||
#
|
||||
# The bluegiga module as telemetry downlink/uplink for rotorcraft
|
||||
#
|
||||
|
||||
ifeq ($(TARGET), ap)
|
||||
include $(CFG_SHARED)/telemetry_bluegiga.makefile
|
||||
endif
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/rotorcraft_datalink.c $(SRC_FIRMWARE)/rotorcraft_telemetry.c
|
||||
@@ -1,11 +0,0 @@
|
||||
#
|
||||
# The superbitRF module as telemetry downlink/uplink
|
||||
#
|
||||
|
||||
# include generic part
|
||||
ifeq ($(TARGET), ap)
|
||||
include $(CFG_SHARED)/telemetry_superbitrf.makefile
|
||||
endif
|
||||
|
||||
# add rotorcraft specific files
|
||||
ap.srcs += $(SRC_FIRMWARE)/rotorcraft_datalink.c $(SRC_FIRMWARE)/rotorcraft_telemetry.c
|
||||
@@ -1,12 +0,0 @@
|
||||
#
|
||||
# Expected from board file or overriden as xml param :
|
||||
#
|
||||
# MODEM_PORT
|
||||
# MODEM_BAUD
|
||||
#
|
||||
|
||||
ifeq ($(TARGET), ap)
|
||||
include $(CFG_SHARED)/telemetry_transparent.makefile
|
||||
endif
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/rotorcraft_datalink.c $(SRC_FIRMWARE)/rotorcraft_telemetry.c
|
||||
@@ -1,8 +0,0 @@
|
||||
|
||||
#serial UDP
|
||||
|
||||
ifeq ($(TARGET), ap)
|
||||
include $(CFG_SHARED)/telemetry_transparent_udp.makefile
|
||||
endif
|
||||
|
||||
ap.srcs += subsystems/datalink/datalink.c $(SRC_FIRMWARE)/rotorcraft_datalink.c $(SRC_FIRMWARE)/rotorcraft_telemetry.c
|
||||
@@ -1,8 +0,0 @@
|
||||
|
||||
#serial USB (e.g. /dev/ttyACM0)
|
||||
|
||||
ifeq ($(TARGET), ap)
|
||||
include $(CFG_SHARED)/telemetry_transparent_usb.makefile
|
||||
endif
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/rotorcraft_datalink.c $(SRC_FIRMWARE)/rotorcraft_telemetry.c
|
||||
@@ -1,13 +0,0 @@
|
||||
# XBee modems in API mode
|
||||
#
|
||||
# Expected from board file or overriden as xml param :
|
||||
#
|
||||
# MODEM_PORT
|
||||
# MODEM_BAUD
|
||||
#
|
||||
|
||||
ifeq ($(TARGET), ap)
|
||||
include $(CFG_SHARED)/telemetry_xbee_api.makefile
|
||||
endif
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/rotorcraft_datalink.c $(SRC_FIRMWARE)/rotorcraft_telemetry.c
|
||||
@@ -62,6 +62,3 @@ endif
|
||||
# for geo mag calculation
|
||||
nps.srcs += math/pprz_geodetic_wmm2015.c
|
||||
|
||||
ifeq ($(TARGET), nps)
|
||||
include $(CFG_SHARED)/telemetry_transparent_udp.makefile
|
||||
endif
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
#
|
||||
# The bluegiga module as telemetry downlink/uplink
|
||||
#
|
||||
# On Lisa-s, the Superbit-RF module can be replaced with a
|
||||
# bluegiga-bluetooth 4 low power board. This subsystem puts
|
||||
# the telemetry over this bluetooth 4 link.
|
||||
#
|
||||
# Bluegiga is a SPI-slave device without Chip select but with a compulsory DRDY
|
||||
#
|
||||
# Required:
|
||||
# #define BLUEGIGA_SPI_DEV: the SPI device which MUST have a SLAVE mode without chipselect
|
||||
#
|
||||
# Optional: (defaults to SUPERBITRF DRDY)
|
||||
# #define BLUEGIGA_DRDY_GPIO
|
||||
# #define BLUEGIGA_DRDY_GPIO_PIN
|
||||
|
||||
# Include SPI if not yet included
|
||||
include $(CFG_SHARED)/spi_master.makefile
|
||||
|
||||
# Set downlink to paparazzi transport over bluegiga protocol over SPI slave
|
||||
ap.CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=bluegiga_p
|
||||
ap.CFLAGS += -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=BLUEGIGA
|
||||
|
||||
BLUEGIGA_SPI_DEV ?= SPI2
|
||||
BLUEGIGA_SPI_DEV_LOWER=$(shell echo $(BLUEGIGA_SPI_DEV) | tr A-Z a-z)
|
||||
ap.CFLAGS += -DUSE_$(BLUEGIGA_SPI_DEV)_SLAVE -DSPI_SLAVE -DBLUEGIGA_SPI_DEV=$(BLUEGIGA_SPI_DEV_LOWER)
|
||||
|
||||
# LED
|
||||
MODEM_LED ?= none
|
||||
ifneq ($(MODEM_LED),none)
|
||||
ap.CFLAGS += -DMODEM_LED=$(MODEM_LED)
|
||||
endif
|
||||
|
||||
ap.srcs += $(SRC_SUBSYSTEMS)/datalink/downlink.c subsystems/datalink/datalink.c $(SRC_SUBSYSTEMS)/datalink/bluegiga.c
|
||||
ap.srcs += pprzlink/src/pprz_transport.c $(SRC_SUBSYSTEMS)/datalink/telemetry.c
|
||||
@@ -1,3 +0,0 @@
|
||||
$(TARGET).CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_TRANSPORT=ivy_tp -DDOWNLINK_DEVICE=ivy_tp
|
||||
$(TARGET).srcs += pprzlink/src/ivy_transport.c
|
||||
$(TARGET).srcs += subsystems/datalink/downlink.c subsystems/datalink/datalink.c subsystems/datalink/telemetry.c
|
||||
@@ -1,10 +0,0 @@
|
||||
#
|
||||
# The superbitRF module as telemetry downlink/uplink
|
||||
#
|
||||
#
|
||||
|
||||
$(TARGET).CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=superbitrf
|
||||
$(TARGET).CFLAGS += -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=SUPERBITRF
|
||||
|
||||
$(TARGET).srcs += peripherals/cyrf6936.c
|
||||
$(TARGET).srcs += subsystems/datalink/downlink.c subsystems/datalink/datalink.c subsystems/datalink/superbitrf.c pprzlink/src/pprz_transport.c subsystems/datalink/telemetry.c
|
||||
@@ -1,17 +0,0 @@
|
||||
#
|
||||
# Expected from board file or overriden as xml param :
|
||||
#
|
||||
# MODEM_PORT
|
||||
# MODEM_BAUD
|
||||
#
|
||||
|
||||
PPRZ_MODEM_PORT_LOWER=$(shell echo $(MODEM_PORT) | tr A-Z a-z)
|
||||
PPRZ_MODEM_PORT_UPPER=$(shell echo $(MODEM_PORT) | tr a-z A-Z)
|
||||
|
||||
$(TARGET).CFLAGS += -DUSE_$(PPRZ_MODEM_PORT_UPPER)
|
||||
$(TARGET).CFLAGS += -D$(PPRZ_MODEM_PORT_UPPER)_BAUD=$(MODEM_BAUD)
|
||||
|
||||
$(TARGET).CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=$(PPRZ_MODEM_PORT_LOWER) -DPPRZ_UART=$(PPRZ_MODEM_PORT_LOWER)
|
||||
$(TARGET).CFLAGS += -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=PPRZ
|
||||
$(TARGET).srcs += subsystems/datalink/downlink.c subsystems/datalink/datalink.c pprzlink/src/pprz_transport.c subsystems/datalink/telemetry.c
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
#serial UDP
|
||||
|
||||
include $(CFG_SHARED)/udp.makefile
|
||||
|
||||
MODEM_DEV ?= UDP0
|
||||
MODEM_PORT_OUT ?= 4242
|
||||
MODEM_PORT_IN ?= 4243
|
||||
MODEM_BROADCAST ?= TRUE
|
||||
|
||||
UDP_MODEM_PORT_LOWER=$(shell echo $(MODEM_DEV) | tr A-Z a-z)
|
||||
UDP_MODEM_PORT_UPPER=$(shell echo $(MODEM_DEV) | tr a-z A-Z)
|
||||
|
||||
MODEM_CFLAGS = -DUSE_$(UDP_MODEM_PORT_UPPER) -D$(UDP_MODEM_PORT_UPPER)_PORT_OUT=$(MODEM_PORT_OUT) -D$(UDP_MODEM_PORT_UPPER)_PORT_IN=$(MODEM_PORT_IN)
|
||||
MODEM_CFLAGS += -D$(UDP_MODEM_PORT_UPPER)_BROADCAST=$(MODEM_BROADCAST) -D$(UDP_MODEM_PORT_UPPER)_HOST=$(MODEM_HOST)
|
||||
|
||||
TELEM_CFLAGS = -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=$(UDP_MODEM_PORT_LOWER) -DPPRZ_UART=$(UDP_MODEM_PORT_LOWER)
|
||||
TELEM_CFLAGS += -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=PPRZ
|
||||
|
||||
|
||||
$(TARGET).CFLAGS += $(MODEM_CFLAGS) $(TELEM_CFLAGS)
|
||||
$(TARGET).srcs += subsystems/datalink/downlink.c subsystems/datalink/datalink.c pprzlink/src/pprz_transport.c subsystems/datalink/telemetry.c
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
|
||||
#serial USB (e.g. /dev/ttyACM0)
|
||||
|
||||
$(TARGET).CFLAGS += -DDOWNLINK -DDOWNLINK_DEVICE=usb_serial -DPPRZ_UART=usb_serial
|
||||
$(TARGET).CFLAGS += -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=PPRZ -DUSE_USB_SERIAL
|
||||
$(TARGET).CFLAGS += -DPERIODIC_TELEMETRY
|
||||
$(TARGET).srcs += subsystems/datalink/downlink.c subsystems/datalink/datalink.c pprzlink/src/pprz_transport.c subsystems/datalink/telemetry.c
|
||||
|
||||
ifeq ($(ARCH), lpc21)
|
||||
$(TARGET).srcs += $(SRC_ARCH)/usb_ser_hw.c $(SRC_ARCH)/lpcusb/usbhw_lpc.c $(SRC_ARCH)/lpcusb/usbcontrol.c
|
||||
$(TARGET).srcs += $(SRC_ARCH)/lpcusb/usbstdreq.c $(SRC_ARCH)/lpcusb/usbinit.c
|
||||
else
|
||||
ifeq ($(ARCH), stm32)
|
||||
$(TARGET).srcs += $(SRC_ARCH)/usb_ser_hw.c
|
||||
else
|
||||
ifneq ($(ARCH), sim)
|
||||
$(error telemetry_transparent_usb currently only implemented for the lpc21 and stm32)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -1,31 +0,0 @@
|
||||
# Hey Emacs, this is a -*- makefile -*-
|
||||
|
||||
# W5100 ethernet chip.
|
||||
|
||||
W5100_IP ?= "192,168,25,47"
|
||||
W5100_SUBNET ?= "255,255,255,0"
|
||||
W5100_MULTICAST_IP ?= "224,1,1,11"
|
||||
W5100_MULTICAST_PORT ?= "1234"
|
||||
|
||||
$(TARGET).CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=chip0
|
||||
$(TARGET).CFLAGS += -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=W5100
|
||||
$(TARGET).CFLAGS += -DW5100_IP=$(W5100_IP) -DW5100_SUBNET=$(W5100_SUBNET) -DW5100_MULTICAST_IP=$(W5100_MULTICAST_IP) -DW5100_MULTICAST_PORT=$(W5100_MULTICAST_PORT)
|
||||
$(TARGET).srcs += subsystems/datalink/downlink.c subsystems/datalink/datalink.c subsystems/datalink/w5100.c pprzlink/src/pprz_transport.c subsystems/datalink/telemetry.c
|
||||
|
||||
ifeq ($(ARCH), lpc21)
|
||||
# only an issue of setting the DRDY pin in w5100.c, which is stm32 specific
|
||||
$(error Not implemented for the LCP21x yet.)
|
||||
$(TARGET).CFLAGS += -DUSE_SPI1
|
||||
# default SPI device for W5100 is already SPI1
|
||||
$(TARGET).CFLAGS += -DUSE_SPI_SLAVE0
|
||||
$(TARGET).CFLAGS += -DW5100_SLAVE_IDX=0
|
||||
else ifeq ($(ARCH), stm32)
|
||||
# on extra SPI1 connector
|
||||
$(TARGET).CFLAGS += -DUSE_SPI1
|
||||
# default SPI device for W5100 is already SPI1
|
||||
# Slave select configuration
|
||||
# SLAVE1 is SS on external SPI1 connector (PA04)
|
||||
$(TARGET).CFLAGS += -DUSE_SPI_SLAVE1
|
||||
# default slave select for W5100 is already SLAVE1
|
||||
#$(TARGET).CFLAGS += -DW5100_SLAVE_IDX=1
|
||||
endif
|
||||
@@ -1,17 +0,0 @@
|
||||
# XBee modems in API mode
|
||||
#
|
||||
# Expected from board file or overriden as xml param :
|
||||
#
|
||||
# MODEM_PORT
|
||||
# MODEM_BAUD
|
||||
#
|
||||
|
||||
XBEE_MODEM_PORT_LOWER=$(shell echo $(MODEM_PORT) | tr A-Z a-z)
|
||||
XBEE_MODEM_PORT_UPPER=$(shell echo $(MODEM_PORT) | tr a-z A-Z)
|
||||
|
||||
$(TARGET).CFLAGS += -DUSE_$(XBEE_MODEM_PORT_UPPER)
|
||||
$(TARGET).CFLAGS += -D$(XBEE_MODEM_PORT_UPPER)_BAUD=$(MODEM_BAUD) -DXBEE_BAUD=$(MODEM_BAUD)
|
||||
|
||||
$(TARGET).CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=$(XBEE_MODEM_PORT_LOWER) -DXBEE_UART=$(XBEE_MODEM_PORT_LOWER)
|
||||
$(TARGET).CFLAGS += -DDOWNLINK_TRANSPORT=xbee_tp -DDATALINK=XBEE
|
||||
$(TARGET).srcs += subsystems/datalink/downlink.c subsystems/datalink/datalink.c pprzlink/src/xbee_transport.c subsystems/datalink/telemetry.c
|
||||
@@ -67,7 +67,7 @@ COMMON_TEST_CFLAGS += -DUSE_LED
|
||||
|
||||
# pprz downlink/datalink
|
||||
COMMON_TELEMETRY_CFLAGS = -DDOWNLINK -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=PPRZ
|
||||
COMMON_TELEMETRY_SRCS = subsystems/datalink/downlink.c subsystems/datalink/pprz_transport.c
|
||||
COMMON_TELEMETRY_SRCS = subsystems/datalink/downlink.c subsystems/datalink/pprz_transport.c modules/datalink/pprz_dl.c
|
||||
|
||||
COMMON_TELEMETRY_MODEM_PORT_LOWER=$(shell echo $(MODEM_PORT) | tr A-Z a-z)
|
||||
COMMON_TELEMETRY_CFLAGS += -DUSE_$(MODEM_PORT) -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
|
||||
|
||||
@@ -71,7 +71,7 @@ endif
|
||||
|
||||
# pprz downlink/datalink
|
||||
COMMON_TELEMETRY_CFLAGS = -DDOWNLINK -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=PPRZ
|
||||
COMMON_TELEMETRY_SRCS = subsystems/datalink/downlink.c pprzlink/src/pprz_transport.c
|
||||
COMMON_TELEMETRY_SRCS = subsystems/datalink/downlink.c pprzlink/src/pprz_transport.c modules/datalink/pprz_dl.c
|
||||
|
||||
# check if we are using UDP
|
||||
ifneq (,$(findstring UDP, $(MODEM_DEV)))
|
||||
|
||||
@@ -30,7 +30,8 @@
|
||||
|
||||
<!ATTLIST module
|
||||
name CDATA #REQUIRED
|
||||
dir CDATA #IMPLIED>
|
||||
dir CDATA #IMPLIED
|
||||
task CDATA #IMPLIED>
|
||||
|
||||
<!ATTLIST autoload
|
||||
name CDATA #REQUIRED
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="sdlog" dir="loggers">
|
||||
<doc>
|
||||
<description>
|
||||
Enable pprzlog binary prototol with downlink message system
|
||||
</description>
|
||||
</doc>
|
||||
<header/>
|
||||
<makefile>
|
||||
<define name="DOWNLINK"/>
|
||||
<file name="sdlog_tp.c"/>
|
||||
<file name="pprzlog_transport.c" dir="pprzlink/src"/>
|
||||
</makefile>
|
||||
</module>
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="telemetry_bluegiga" dir="datalink" task="datalink">
|
||||
<doc>
|
||||
<description>
|
||||
Telemetry using PPRZ protocol over Bluegiga modules
|
||||
|
||||
Bluegiga is a SPI-slave device without Chip select but with a compulsory DRDY
|
||||
|
||||
Required:
|
||||
BLUEGIGA_SPI_DEV: the SPI device which MUST have a SLAVE mode without chipselect
|
||||
|
||||
Optional: (defaults to SUPERBITRF DRDY)
|
||||
BLUEGIGA_DRDY_GPIO
|
||||
BLUEGIGA_DRDY_GPIO_PIN
|
||||
|
||||
On Lisa-s, the Superbit-RF module can be replaced with a bluegiga-bluetooth 4 low power board.
|
||||
This module puts the telemetry over this bluetooth 4 link.
|
||||
</description>
|
||||
<configure name="BLUEGIGA_SPI_DEV" value="SPIx" description="SPI where the modem is connected to (SPI1, SPI2, etc)"/>
|
||||
<configure name="MODEM_LED" value="none" description="LED number for modem status, 'none' to disable"/>
|
||||
<define name="BLUEGIGA_DRDY_GPIO" value="GPIOX" description="GPIO port used for data ready pin"/>
|
||||
<define name="BLUEGIGA_DRDY_GPIO_PIN" value="GPIOY" description="GPIO pin number used for data ready pin"/>
|
||||
</doc>
|
||||
<autoload name="telemetry" type="nps"/>
|
||||
<autoload name="telemetry" type="sim"/>
|
||||
<header>
|
||||
<file name="bluegiga_dl.h"/>
|
||||
</header>
|
||||
<init fun="bluegiga_dl_init()"/>
|
||||
<event fun="bluegiga_dl_event()"/>
|
||||
<makefile target="!fbw|sim|nps">
|
||||
<raw>
|
||||
include $(CFG_SHARED)/spi_master.makefile
|
||||
</raw>
|
||||
<configure name="BLUEGIGA_SPI_DEV" default="SPI2" case="upper|lower"/>
|
||||
<configure name="MODEM_LED" default="none"/>
|
||||
<define name="USE_$(BLUEGIGA_SPI_DEV_UPPER)_SLAVE"/>
|
||||
<define name="SPI_SLAVE"/>
|
||||
<define name="BLUEGIGA_SPI_DEV" value="$(BLUEGIGA_SPI_DEV_LOWER)"/>
|
||||
<define name="MODEM_LED" value="$(MODEM_LED)" cond="ifneq ($(MODEM_LED),none)"/>
|
||||
<define name="DOWNLINK"/>
|
||||
<define name="PERIODIC_TELEMETRY"/>
|
||||
<define name="DOWNLINK_DEVICE" value="bluegiga_p"/>
|
||||
<define name="DOWNLINK_TRANSPORT" value="pprz_bg_tp"/>
|
||||
<define name="DATALINK" value="BLUEGIGA"/>
|
||||
<file name="bluegiga_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="pprz_transport.c" dir="pprzlink/src"/>
|
||||
<file name="bluegiga.c" dir="subsystems/datalink"/>
|
||||
</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>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="telemetry_intermcu" dir="telemetry">
|
||||
<module name="telemetry_intermcu" dir="telemetry" task="datalink">
|
||||
<doc>
|
||||
<description>Telemetry over InterMCU
|
||||
This module transmits Telemetry of the process "InterMCU" from AP to FBW. The FBW then transmits this telemetry further through PPRZ over an UART.
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="telemetry_ivy" dir="datalink" task="datalink">
|
||||
<doc>
|
||||
<description>
|
||||
Telemetry using IVY
|
||||
</description>
|
||||
</doc>
|
||||
<header>
|
||||
<file name="ivy_dl.h"/>
|
||||
</header>
|
||||
<init fun="ivy_dl_init()"/>
|
||||
<makefile>
|
||||
<define name="DOWNLINK"/>
|
||||
<define name="PERIODIC_TELEMETRY"/>
|
||||
<define name="DOWNLINK_DEVICE" value="ivy_tp"/>
|
||||
<define name="DOWNLINK_TRANSPORT" value="ivy_tp"/>
|
||||
<file name="ivy_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="ivy_transport.c" dir="pprzlink/src"/>
|
||||
</makefile>
|
||||
</module>
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="telemetry_nps" dir="datalink" task="datalink">
|
||||
<doc>
|
||||
<description>
|
||||
Telemetry module for NPS simalation
|
||||
|
||||
Currently a simple copy of telemetry UDP but only for target nps
|
||||
</description>
|
||||
<configure name="MODEM_DEV" value="UDPx" description="UDP port used for communication"/>
|
||||
<configure name="MODEM_HOST" value="192.168.1.255" description="IP address of the ground station (can be a broadcast address)"/>
|
||||
<configure name="MODEM_PORT_OUT" value="4242" description="output UDP port"/>
|
||||
<configure name="MODEM_PORT_IN" value="4243" description="input UDP port"/>
|
||||
<configure name="MODEM_BROADCAST" value="TRUE|FALSE" description="UDP socket in broadcast mode"/>
|
||||
</doc>
|
||||
<header>
|
||||
<file name="pprz_dl.h"/>
|
||||
</header>
|
||||
<init fun="pprz_dl_init()"/>
|
||||
<event fun="pprz_dl_event()"/>
|
||||
<makefile target="nps">
|
||||
<configure name="MODEM_DEV" default="UDP0" case="upper|lower"/>
|
||||
<configure name="MODEM_PORT_OUT" default="4242"/>
|
||||
<configure name="MODEM_PORT_IN" default="4243"/>
|
||||
<configure name="MODEM_BROADCAST" default="TRUE"/>
|
||||
<define name="USE_$(MODEM_DEV_UPPER)"/>
|
||||
<define name="$(MODEM_DEV_UPPER)_HOST" value="$(MODEM_HOST)"/>
|
||||
<define name="$(MODEM_DEV_UPPER)_PORT_OUT" value="$(MODEM_PORT_OUT)"/>
|
||||
<define name="$(MODEM_DEV_UPPER)_PORT_IN" value="$(MODEM_PORT_IN)"/>
|
||||
<define name="$(MODEM_DEV_UPPER)_BROADCAST" value="$(MODEM_BROADCAST)"/>
|
||||
<define name="DOWNLINK"/>
|
||||
<define name="PERIODIC_TELEMETRY"/>
|
||||
<define name="DOWNLINK_DEVICE" value="$(MODEM_DEV_LOWER)"/>
|
||||
<define name="PPRZ_UART" value="$(MODEM_DEV_LOWER)"/>
|
||||
<define name="DOWNLINK_TRANSPORT" value="pprz_tp"/>
|
||||
<define name="DATALINK" value="PPRZ"/>
|
||||
<file name="pprz_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="pprz_transport.c" dir="pprzlink/src"/>
|
||||
<raw>
|
||||
include $(CFG_SHARED)/udp.makefile
|
||||
</raw>
|
||||
</makefile>
|
||||
<makefile target="nps" firmware="fixedwing">
|
||||
<file name="fixedwing_datalink.c" dir="$(SRC_FIRMWARE)"/>
|
||||
<file name="ap_downlink.c" dir="$(SRC_FIRMWARE)"/>
|
||||
<file name="fbw_downlink.c" dir="$(SRC_FIRMWARE)"/>
|
||||
</makefile>
|
||||
<makefile target="nps" firmware="rotorcraft">
|
||||
<file name="rotorcraft_datalink.c" dir="$(SRC_FIRMWARE)"/>
|
||||
<file name="rotorcraft_telemetry.c" dir="$(SRC_FIRMWARE)"/>
|
||||
</makefile>
|
||||
</module>
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="telemetry_sim" dir="datalink" task="datalink">
|
||||
<doc>
|
||||
<description>
|
||||
Telemetry using IVY for basic FW simulator
|
||||
|
||||
only a copy of telemetry ivy limited to sim target for now
|
||||
</description>
|
||||
</doc>
|
||||
<header>
|
||||
<file name="ivy_dl.h"/>
|
||||
</header>
|
||||
<init fun="ivy_dl_init()"/>
|
||||
<makefile target="sim">
|
||||
<define name="DOWNLINK"/>
|
||||
<define name="PERIODIC_TELEMETRY"/>
|
||||
<define name="DOWNLINK_DEVICE" value="ivy_tp"/>
|
||||
<define name="DOWNLINK_TRANSPORT" value="ivy_tp"/>
|
||||
<file name="ivy_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="ivy_transport.c" dir="pprzlink/src"/>
|
||||
</makefile>
|
||||
</module>
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="telemetry_superbitrf" dir="datalink" task="datalink">
|
||||
<doc>
|
||||
<description>
|
||||
Telemetry using PPRZ protocol over SuperbitRF module
|
||||
</description>
|
||||
</doc>
|
||||
<autoload name="telemetry" type="nps"/>
|
||||
<autoload name="telemetry" type="sim"/>
|
||||
<header>
|
||||
<file name="superbitrf.h" dir="subsystems/datalink"/>
|
||||
</header>
|
||||
<init fun="superbitrf_dl_init()"/>
|
||||
<event fun="superbitrf_dl_event()"/>
|
||||
<makefile target="!fbw|sim|nps">
|
||||
<define name="DOWNLINK"/>
|
||||
<define name="PERIODIC_TELEMETRY"/>
|
||||
<define name="DOWNLINK_DEVICE" value="superbitrf"/>
|
||||
<define name="DOWNLINK_TRANSPORT" value="pprz_srf_tp"/>
|
||||
<define name="DATALINK" value="SUPERBITRF"/>
|
||||
<file name="superbitrf.c" dir="subsystems/datalink"/>
|
||||
<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="pprzlink/src"/>
|
||||
<file name="cyrf6936.c" dir="peripherals"/>
|
||||
</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>
|
||||
|
||||
@@ -1,16 +1,22 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="telemetry_transparent" dir="datalink">
|
||||
<module name="telemetry_transparent" dir="datalink" task="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_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/>
|
||||
<autoload name="telemetry" type="nps"/>
|
||||
<autoload name="telemetry" type="sim"/>
|
||||
<header>
|
||||
<file name="pprz_dl.h"/>
|
||||
</header>
|
||||
<init fun="pprz_dl_init()"/>
|
||||
<event fun="pprz_dl_event()"/>
|
||||
<makefile target="!fbw|sim|nps">
|
||||
<configure name="MODEM_PORT" case="upper|lower"/>
|
||||
<define name="USE_$(MODEM_PORT_UPPER)"/>
|
||||
@@ -21,6 +27,7 @@
|
||||
<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="downlink.c" dir="subsystems/datalink"/>
|
||||
<file name="datalink.c" dir="subsystems/datalink"/>
|
||||
<file name="telemetry.c" dir="subsystems/datalink"/>
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="telemetry_udp" dir="datalink" task="datalink">
|
||||
<doc>
|
||||
<description>
|
||||
Telemetry using PPRZ protocol over UDP
|
||||
</description>
|
||||
<configure name="MODEM_DEV" value="UDPx" description="UDP port used for communication"/>
|
||||
<configure name="MODEM_HOST" value="192.168.1.255" description="IP address of the ground station (can be a broadcast address)"/>
|
||||
<configure name="MODEM_PORT_OUT" value="4242" description="output UDP port"/>
|
||||
<configure name="MODEM_PORT_IN" value="4243" description="input UDP port"/>
|
||||
<configure name="MODEM_BROADCAST" value="TRUE|FALSE" description="UDP socket in broadcast mode"/>
|
||||
</doc>
|
||||
<autoload name="telemetry" type="sim"/>
|
||||
<header>
|
||||
<file name="pprz_dl.h"/>
|
||||
</header>
|
||||
<init fun="pprz_dl_init()"/>
|
||||
<event fun="pprz_dl_event()"/>
|
||||
<makefile target="!fbw|sim">
|
||||
<configure name="MODEM_DEV" default="UDP0" case="upper|lower"/>
|
||||
<configure name="MODEM_PORT_OUT" default="4242"/>
|
||||
<configure name="MODEM_PORT_IN" default="4243"/>
|
||||
<configure name="MODEM_BROADCAST" default="TRUE"/>
|
||||
<define name="USE_$(MODEM_DEV_UPPER)"/>
|
||||
<define name="$(MODEM_DEV_UPPER)_HOST" value="$(MODEM_HOST)"/>
|
||||
<define name="$(MODEM_DEV_UPPER)_PORT_OUT" value="$(MODEM_PORT_OUT)"/>
|
||||
<define name="$(MODEM_DEV_UPPER)_PORT_IN" value="$(MODEM_PORT_IN)"/>
|
||||
<define name="$(MODEM_DEV_UPPER)_BROADCAST" value="$(MODEM_BROADCAST)"/>
|
||||
<define name="DOWNLINK"/>
|
||||
<define name="PERIODIC_TELEMETRY"/>
|
||||
<define name="DOWNLINK_DEVICE" value="$(MODEM_DEV_LOWER)"/>
|
||||
<define name="PPRZ_UART" value="$(MODEM_DEV_LOWER)"/>
|
||||
<define name="DOWNLINK_TRANSPORT" value="pprz_tp"/>
|
||||
<define name="DATALINK" value="PPRZ"/>
|
||||
<file name="pprz_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="pprz_transport.c" dir="pprzlink/src"/>
|
||||
<raw>
|
||||
include $(CFG_SHARED)/udp.makefile
|
||||
</raw>
|
||||
</makefile>
|
||||
<makefile target="ap|nps" firmware="fixedwing">
|
||||
<file name="fixedwing_datalink.c" dir="$(SRC_FIRMWARE)"/>
|
||||
<file name="ap_downlink.c" dir="$(SRC_FIRMWARE)"/>
|
||||
</makefile>
|
||||
<makefile target="ap|fbw|nps" firmware="fixedwing">
|
||||
<file name="fbw_downlink.c" dir="$(SRC_FIRMWARE)"/>
|
||||
</makefile>
|
||||
<makefile target="ap|nps" firmware="rotorcraft">
|
||||
<file name="rotorcraft_datalink.c" dir="$(SRC_FIRMWARE)"/>
|
||||
<file name="rotorcraft_telemetry.c" dir="$(SRC_FIRMWARE)"/>
|
||||
</makefile>
|
||||
</module>
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="telemetry_transparent_usb" dir="datalink" task="datalink">
|
||||
<doc>
|
||||
<description>
|
||||
Telemetry using PPRZ protocol over serial USB (e.g. /dev/ttyACM0)
|
||||
</description>
|
||||
</doc>
|
||||
<autoload name="telemetry" type="nps"/>
|
||||
<autoload name="telemetry" type="sim"/>
|
||||
<header>
|
||||
<file name="pprz_dl.h"/>
|
||||
</header>
|
||||
<init fun="pprz_dl_init()"/>
|
||||
<event fun="pprz_dl_event()"/>
|
||||
<makefile target="!fbw|sim|nps">
|
||||
<define name="DOWNLINK"/>
|
||||
<define name="PERIODIC_TELEMETRY"/>
|
||||
<define name="USE_USB_SERIAL"/>
|
||||
<define name="DOWNLINK_DEVICE" value="usb_serial"/>
|
||||
<define name="PPRZ_UART" value="usb_serial"/>
|
||||
<define name="DOWNLINK_TRANSPORT" value="pprz_tp"/>
|
||||
<define name="DATALINK" value="PPRZ"/>
|
||||
<file name="pprz_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="pprz_transport.c" dir="pprzlink/src"/>
|
||||
<file_arch name="usb_ser_hw.c" dir="."/>
|
||||
<raw>
|
||||
ifeq ($(ARCH), lpc21)
|
||||
$(TARGET).srcs += $(SRC_ARCH)/lpcusb/usbhw_lpc.c $(SRC_ARCH)/lpcusb/usbcontrol.c
|
||||
$(TARGET).srcs += $(SRC_ARCH)/lpcusb/usbstdreq.c $(SRC_ARCH)/lpcusb/usbinit.c
|
||||
endif
|
||||
</raw>
|
||||
</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>
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="telemetry_w5100" dir="datalink" task="datalink">
|
||||
<doc>
|
||||
<description>
|
||||
Telemetry using PPRZ protocol over W5100 Wifi module
|
||||
|
||||
W5100 is connected with a SPI link to the autopilot
|
||||
</description>
|
||||
<configure name="W5100_SPI_DEV" value="SPI1" description="SPI port used for communication"/>
|
||||
<configure name="W5100_SLAVE_IDX" value="1" description="SPI slave number"/>
|
||||
<configure name="W5100_IP" value="192,168,25,47" description="IP address"/>
|
||||
<configure name="W5100_SUBNET" value="255,255,255,0" description="network mask"/>
|
||||
<configure name="W5100_MULTICAST_IP" value="224,1,1,11" description="multicast IP address"/>
|
||||
<configure name="W5100_MULTICAST_PORT" value="1234" description="multicast IP port"/>
|
||||
<define name="W5100_DRDY_GPIO" value="GPIOX" description="GPIO port used for data ready pin"/>
|
||||
<define name="W5100_DRDY_GPIO_PIN" value="GPIOY" description="GPIO pin number used for data ready pin"/>
|
||||
</doc>
|
||||
<autoload name="telemetry" type="sim"/>
|
||||
<header>
|
||||
<file name="w5100.h" dir="subsystems/datalink"/>
|
||||
</header>
|
||||
<init fun="w5100_init()"/>
|
||||
<event fun="w5100_event()"/>
|
||||
<makefile target="!fbw|sim">
|
||||
<configure name="W5100_SPI_DEV" default="SPI1" case="upper|lower"/>
|
||||
<configure name="W5100_SLAVE_IDX" default="1"/>
|
||||
<configure name="W5100_IP" default="192,168,25,47"/>
|
||||
<configure name="W5100_SUBNET" default="255,255,255,0"/>
|
||||
<configure name="W5100_MULTICAST_IP" default="224,1,1,11"/>
|
||||
<configure name="W5100_MULTICAST_PORT" default="1234"/>
|
||||
<define name="USE_$(W5100_SPI_DEV_UPPER)"/>
|
||||
<define name="USE_SPI_SLAVE$(W5100_SLAVE_IDX)"/>
|
||||
<define name="W5100_IP" value="$(W5100_IP)"/>
|
||||
<define name="W5100_SUBNET" value="$(W5100_SUBNET)"/>
|
||||
<define name="W5100_MULTICAST_IP" value="$(W5100_MULTICAST_IP)"/>
|
||||
<define name="W5100_MULTICAST_PORT" value="$(W5100_MULTICAST_PORT)"/>
|
||||
<define name="DOWNLINK"/>
|
||||
<define name="PERIODIC_TELEMETRY"/>
|
||||
<define name="DOWNLINK_DEVICE" value="chip0"/>
|
||||
<define name="DOWNLINK_TRANSPORT" value="pprz_w5100_tp"/>
|
||||
<define name="DATALINK" value="W5100"/>
|
||||
<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="pprzlink/src"/>
|
||||
<file name="w5100.c" dir="subsystems/datalink"/>
|
||||
</makefile>
|
||||
<makefile target="ap|nps" firmware="fixedwing">
|
||||
<file name="fixedwing_datalink.c" dir="$(SRC_FIRMWARE)"/>
|
||||
<file name="ap_downlink.c" dir="$(SRC_FIRMWARE)"/>
|
||||
</makefile>
|
||||
<makefile target="ap|fbw|nps" firmware="fixedwing">
|
||||
<file name="fbw_downlink.c" dir="$(SRC_FIRMWARE)"/>
|
||||
</makefile>
|
||||
<makefile target="ap|nps" firmware="rotorcraft">
|
||||
<file name="rotorcraft_datalink.c" dir="$(SRC_FIRMWARE)"/>
|
||||
<file name="rotorcraft_telemetry.c" dir="$(SRC_FIRMWARE)"/>
|
||||
</makefile>
|
||||
</module>
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="telemetry_xbee_api" dir="datalink" task="datalink">
|
||||
<doc>
|
||||
<description>
|
||||
Telemetry using XBEE API protocol over UART
|
||||
</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"/>
|
||||
<header>
|
||||
<file name="xbee_dl.h"/>
|
||||
</header>
|
||||
<init fun="xbee_dl_init()"/>
|
||||
<event fun="xbee_dl_event()"/>
|
||||
<makefile target="!fbw|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"/>
|
||||
<define name="PERIODIC_TELEMETRY"/>
|
||||
<define name="DOWNLINK_DEVICE" value="$(MODEM_PORT_LOWER)"/>
|
||||
<define name="XBEE_UART" value="$(MODEM_PORT_LOWER)"/>
|
||||
<define name="XBEE_BAUD" value="$(MODEM_BAUD)"/>
|
||||
<define name="DOWNLINK_TRANSPORT" value="xbee_tp"/>
|
||||
<define name="DATALINK" value="XBEE"/>
|
||||
<file name="xbee_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="xbee_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>
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
#include "audio_telemetry.h"
|
||||
#include "types.h"
|
||||
#include "armVIC.h"
|
||||
|
||||
uint8_t audio_telemetry_nb_ovrn;
|
||||
uint8_t tx_head;
|
||||
volatile uint8_t tx_tail;
|
||||
uint8_t tx_buf[ TX_BUF_SIZE ];
|
||||
uint8_t ck_a, ck_b;
|
||||
uint8_t tx_byte;
|
||||
uint8_t tx_bit_idx;
|
||||
|
||||
|
||||
#define NB_STATE 2
|
||||
#define NB_PHASE 2
|
||||
|
||||
static const uint16_t audio_telemetry_sample[NB_STATE][NB_PHASE][SAMPLES_PER_PERIOD] = {
|
||||
{ {512, 1023, 512, 1},
|
||||
{512 , 1 , 512 , 1023}
|
||||
},
|
||||
{ {512, 874, 1023, 874},
|
||||
{512 , 150 , 1 , 150}
|
||||
}
|
||||
};
|
||||
|
||||
static uint8_t audio_telemetry_sample_idx = 0;
|
||||
static uint8_t audio_telemetry_phase = 0;
|
||||
|
||||
|
||||
static inline uint8_t get_next_bit(void)
|
||||
{
|
||||
uint8_t ret;
|
||||
/* start bit */
|
||||
if (tx_bit_idx == 0) {
|
||||
ret = 0;
|
||||
}
|
||||
/* data bits */
|
||||
else if (tx_bit_idx < 9) {
|
||||
ret = tx_byte & 0x01;
|
||||
tx_byte >>= 1;
|
||||
}
|
||||
/* stop_bit */
|
||||
else {
|
||||
ret = 1;
|
||||
}
|
||||
tx_bit_idx++;
|
||||
|
||||
if (tx_bit_idx >= 10) {
|
||||
/* if we have nothing left to transmit */
|
||||
if (tx_head == tx_tail) {
|
||||
/* hack to stay with data = 1 */
|
||||
tx_bit_idx--;
|
||||
} else {
|
||||
/* else load next byte */
|
||||
tx_byte = tx_buf[tx_tail];
|
||||
tx_bit_idx = 0;
|
||||
tx_tail++;
|
||||
if (tx_tail >= TX_BUF_SIZE) {
|
||||
tx_tail = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
void TIMER1_ISR(void)
|
||||
{
|
||||
ISR_ENTRY();
|
||||
static uint8_t audio_telemetry_bit;
|
||||
|
||||
DACR = audio_telemetry_sample[audio_telemetry_bit][audio_telemetry_phase][audio_telemetry_sample_idx] << 6;
|
||||
audio_telemetry_sample_idx++;
|
||||
if (audio_telemetry_sample_idx == SAMPLES_PER_PERIOD) {
|
||||
audio_telemetry_sample_idx = 0;
|
||||
audio_telemetry_phase ^= audio_telemetry_bit;
|
||||
audio_telemetry_bit = get_next_bit();
|
||||
}
|
||||
|
||||
/* clear interrupt */
|
||||
T1IR = TIR_MR0I;
|
||||
VICVectAddr = 0x00000000;
|
||||
ISR_EXIT();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
#ifndef AUDIO_TELEMETRY_HW_H
|
||||
#define AUDIO_TELEMETRY_HW_H
|
||||
|
||||
#include "LPC21xx.h"
|
||||
#include BOARD_CONFIG
|
||||
|
||||
void TIMER1_ISR(void) __attribute__((naked));
|
||||
|
||||
/* T1 prescaler, set T1_CLK to 5MHz, T1_CLK = PCLK / T1PCLK_DIV */
|
||||
|
||||
#if (PCLK == 15000000)
|
||||
#define T1_PCLK_DIV 3
|
||||
#else
|
||||
|
||||
#if (PCLK == 30000000)
|
||||
#define T1_PCLK_DIV 6
|
||||
#else
|
||||
|
||||
#if (PCLK == 60000000)
|
||||
#define T1_PCLK_DIV 12
|
||||
#else
|
||||
|
||||
#error unknown PCLK frequency
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define SAMPLES_PER_PERIOD 4
|
||||
#define SAMPLE_PERIOD (PCLK/4762/SAMPLES_PER_PERIOD/T1_PCLK_DIV)
|
||||
|
||||
static inline void audio_telemetry_init(void)
|
||||
{
|
||||
/* turn on DAC pins */
|
||||
PINSEL1 &= 1 << 19;
|
||||
PINSEL1 |= ~(1 << 18);
|
||||
/* reset & disable timer 1 */
|
||||
T1TCR = TCR_RESET;
|
||||
/* set the prescale divider */
|
||||
T1PR = T1_PCLK_DIV - 1;
|
||||
/* select TIMER1 as IRQ */
|
||||
VICIntSelect &= ~VIC_BIT(VIC_TIMER1);
|
||||
/* enable TIMER1 interrupt */
|
||||
VICIntEnable = VIC_BIT(VIC_TIMER1);
|
||||
/* on slot vic slot 1 */
|
||||
VICVectCntl1 = VIC_ENABLE | VIC_TIMER1;
|
||||
/* address of the ISR */
|
||||
VICVectAddr1 = (uint32_t)TIMER1_ISR;
|
||||
/* trigger initial match in a long time from now */
|
||||
T1MR0 = SAMPLE_PERIOD;
|
||||
/* enable interrupt on match register 0 */
|
||||
T1MCR |= TMCR_MR0_I | TMCR_MR0_R;
|
||||
/* enable timer 1 */
|
||||
T1TCR = TCR_ENABLE;
|
||||
}
|
||||
|
||||
|
||||
#define AUDIO_TELEMETRY_CHECK_RUNNING() {}
|
||||
|
||||
|
||||
#endif /* AUDIO_TELEMETRY_HW_H */
|
||||
@@ -105,6 +105,8 @@ static inline void main_init(void)
|
||||
|
||||
downlink_init();
|
||||
|
||||
modules_init();
|
||||
|
||||
register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_AUTOPILOT_VERSION, send_autopilot_version);
|
||||
register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_ALIVE, send_alive);
|
||||
register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_COMMANDS, send_commands);
|
||||
@@ -131,13 +133,14 @@ static inline void main_periodic_task(void)
|
||||
RunOnceEvery(10, { LED_PERIODIC();});
|
||||
RunOnceEvery(PERIODIC_FREQUENCY, { datalink_time++; });
|
||||
periodic_telemetry_send_Main(DefaultPeriodic, &(DefaultChannel).trans_tx, &(DefaultDevice).device);
|
||||
|
||||
modules_periodic_task();
|
||||
}
|
||||
|
||||
static inline void main_event_task(void)
|
||||
{
|
||||
mcu_event();
|
||||
modules_event_task();
|
||||
DatalinkEvent();
|
||||
}
|
||||
|
||||
static void send_alive(struct transport_tx *trans, struct link_device *dev)
|
||||
|
||||
@@ -68,16 +68,12 @@ PRINT_CONFIG_MSG_VALUE("USE_BARO_BOARD is TRUE, reading onboard baro: ", BARO_BO
|
||||
#include "generated/flight_plan.h"
|
||||
|
||||
// datalink & telemetry
|
||||
#if DATALINK || SITL
|
||||
#include "subsystems/datalink/datalink.h"
|
||||
#include "subsystems/datalink/downlink.h"
|
||||
#endif
|
||||
#if PERIODIC_TELEMETRY
|
||||
#include "subsystems/datalink/telemetry.h"
|
||||
#endif
|
||||
#include "subsystems/settings.h"
|
||||
|
||||
// modules & settings
|
||||
#include "subsystems/settings.h"
|
||||
#include "generated/modules.h"
|
||||
#include "generated/settings.h"
|
||||
#if defined RADIO_CONTROL || defined RADIO_CONTROL_AUTO1
|
||||
@@ -208,9 +204,6 @@ void init_ap(void)
|
||||
#if defined MCU_SPI_LINK || defined MCU_UART_LINK || defined MCU_CAN_LINK
|
||||
link_mcu_init();
|
||||
#endif
|
||||
#if USE_AUDIO_TELEMETRY
|
||||
audio_telemetry_init();
|
||||
#endif
|
||||
|
||||
/************ Internal status ***************/
|
||||
autopilot_init();
|
||||
@@ -240,11 +233,6 @@ void init_ap(void)
|
||||
downlink_init();
|
||||
#endif
|
||||
|
||||
#if defined AEROCOMM_DATA_PIN
|
||||
IO0DIR |= _BV(AEROCOMM_DATA_PIN);
|
||||
IO0SET = _BV(AEROCOMM_DATA_PIN);
|
||||
#endif
|
||||
|
||||
/* set initial trim values.
|
||||
* these are passed to fbw via inter_mcu.
|
||||
*/
|
||||
@@ -689,8 +677,7 @@ void event_task_ap(void)
|
||||
BaroEvent();
|
||||
#endif
|
||||
|
||||
DatalinkEvent();
|
||||
|
||||
modules_event_task();
|
||||
|
||||
#if defined MCU_SPI_LINK || defined MCU_UART_LINK
|
||||
link_mcu_event_task();
|
||||
@@ -702,8 +689,6 @@ void event_task_ap(void)
|
||||
telecommand_task();
|
||||
}
|
||||
|
||||
modules_event_task();
|
||||
|
||||
#ifdef AHRS_TRIGGERED_ATTITUDE_LOOP
|
||||
if (new_ins_attitude > 0) {
|
||||
attitude_loop();
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user