mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-09 22:49:53 +08:00
Merge pull request #1140 from paparazzi/link_device
Use the generic device interface for receiving data stream (transmission was already done). Tested on stm32f4 (xbee_api, ublox over uart, log), lpc21 (transparant), ardrone2 (udp, ublox over ftdi) This is also a necessary step to continue the rt_chibios integration due to conflicting definition of peripherals (when used with uppercase).
This commit is contained in:
@@ -91,7 +91,7 @@ demo5.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
|
||||
demo5.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=uart0
|
||||
demo5.srcs += subsystems/datalink/downlink.c subsystems/datalink/pprz_transport.c
|
||||
|
||||
demo5.CFLAGS += -DDATALINK=PPRZ -DPPRZ_UART=UART0
|
||||
demo5.CFLAGS += -DDATALINK=PPRZ -DPPRZ_UART=uart0
|
||||
|
||||
|
||||
#
|
||||
@@ -117,7 +117,7 @@ demo6.srcs += $(SRC_ARCH)/usb_ser_hw.c
|
||||
demo6.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=usb_serial
|
||||
demo6.srcs += subsystems/datalink/downlink.c subsystems/datalink/pprz_transport.c
|
||||
|
||||
//demo6.CFLAGS += -DDATALINK=PPRZ -DPPRZ_UART=UART0
|
||||
//demo6.CFLAGS += -DDATALINK=PPRZ -DPPRZ_UART=uart0
|
||||
|
||||
|
||||
|
||||
@@ -137,7 +137,7 @@ test_spk.CFLAGS += -DUSE_LED
|
||||
test_spk.srcs += $(SRC_ARCH)/armVIC.c
|
||||
|
||||
test_spk.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DUSE_USB_SERIAL
|
||||
test_spk.CFLAGS += -DDOWNLINK_DEVICE=usb_serial -DPPRZ_UART=UsbS -DDATALINK=PPRZ
|
||||
test_spk.CFLAGS += -DDOWNLINK_DEVICE=usb_serial -DPPRZ_UART=usb_serial -DDATALINK=PPRZ
|
||||
test_spk.srcs += subsystems/datalink/downlink.c $(SRC_ARCH)/usb_ser_hw.c subsystems/datalink/pprz_transport.c
|
||||
test_spk.srcs += $(SRC_ARCH)/lpcusb/usbhw_lpc.c $(SRC_ARCH)/lpcusb/usbcontrol.c
|
||||
test_spk.srcs += $(SRC_ARCH)/lpcusb/usbstdreq.c $(SRC_ARCH)/lpcusb/usbinit.c
|
||||
|
||||
@@ -27,7 +27,7 @@ ap.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
|
||||
ap.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=uart0
|
||||
ap.srcs += subsystems/datalink/downlink.c subsystems/datalink/pprz_transport.c
|
||||
|
||||
ap.CFLAGS += -DDATALINK=PPRZ -DPPRZ_UART=UART0
|
||||
ap.CFLAGS += -DDATALINK=PPRZ -DPPRZ_UART=uart0
|
||||
#ap.srcs += $(BOOZ)/booz_datalink.c
|
||||
|
||||
ap.srcs += $(WIND_TUNNEL)/wt_servo.c
|
||||
@@ -57,7 +57,7 @@ mb.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
|
||||
mb.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=uart0
|
||||
mb.srcs += subsystems/datalink/downlink.c subsystems/datalink/pprz_transport.c
|
||||
|
||||
mb.CFLAGS += -DDATALINK=PPRZ -DPPRZ_UART=UART0
|
||||
mb.CFLAGS += -DDATALINK=PPRZ -DPPRZ_UART=uart0
|
||||
|
||||
mb.srcs += $(WIND_TUNNEL)/wt_servo.c
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ setup_actuators.srcs += mcu_periph/uart.c $(SRC_ARCH)/mcu_periph/uart_arch.c
|
||||
setup_actuators.CFLAGS += -DUSE_$(MODEM_PORT)
|
||||
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=$(MODEM_PORT)
|
||||
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 subsystems/datalink/pprz_transport.c
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
|
||||
FBW_MODEM_PORT_LOWER=$(shell echo $(MODEM_PORT) | tr A-Z a-z)
|
||||
FBW_AP_PORT_LOWER=$(shell echo $(AUTOPILOT_PORT) | tr A-Z a-z)
|
||||
|
||||
fbw.srcs += firmwares/fixedwing/fbw_datalink.c
|
||||
fbw.CFLAGS += -DFBW_DATALINK
|
||||
fbw.CFLAGS += -DMODEM_LINK=$(MODEM_PORT) -DUSE_$(MODEM_PORT) -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
|
||||
fbw.CFLAGS += -DAUTOPILOT_LINK=$(AUTOPILOT_PORT) -DUSE_$(AUTOPILOT_PORT) -D$(AUTOPILOT_PORT)_BAUD=$(MODEM_BAUD)
|
||||
fbw.CFLAGS += -DMODEM_LINK=$(FBW_MODEM_PORT_LOWER) -DUSE_$(MODEM_PORT) -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
|
||||
fbw.CFLAGS += -DAUTOPILOT_LINK=$(FBW_AP_PORT_LOWER) -DUSE_$(AUTOPILOT_PORT) -D$(AUTOPILOT_PORT)_BAUD=$(MODEM_BAUD)
|
||||
|
||||
@@ -3,9 +3,10 @@
|
||||
# Furuno NMEA GPS unit
|
||||
|
||||
GPS_LED ?= none
|
||||
FURUNO_GPS_PORT_LOWER=$(shell echo $(GPS_PORT) | tr A-Z a-z)
|
||||
|
||||
ap.CFLAGS += -DUSE_GPS -DGPS_USE_LATLONG
|
||||
ap.CFLAGS += -DGPS_LINK=$(GPS_PORT)
|
||||
ap.CFLAGS += -DGPS_LINK=$(FURUNO_GPS_PORT_LOWER)
|
||||
ap.CFLAGS += -DUSE_$(GPS_PORT)
|
||||
ap.CFLAGS += -D$(GPS_PORT)_BAUD=$(GPS_BAUD)
|
||||
ap.CFLAGS += -DNMEA_PARSE_PROP
|
||||
|
||||
@@ -3,9 +3,10 @@
|
||||
# Mediatek MT3329, DIYDrones V1.4/1.6 protocol
|
||||
|
||||
GPS_LED ?= none
|
||||
MTK_GPS_PORT_LOWER=$(shell echo $(GPS_PORT) | tr A-Z a-z)
|
||||
|
||||
ap.CFLAGS += -DUSE_GPS -DGPS_CONFIGURE -DGPS_USE_LATLONG
|
||||
ap.CFLAGS += -DGPS_LINK=$(GPS_PORT)
|
||||
ap.CFLAGS += -DGPS_LINK=$(MTK_GPS_PORT_LOWER)
|
||||
ap.CFLAGS += -DUSE_$(GPS_PORT)
|
||||
ap.CFLAGS += -D$(GPS_PORT)_BAUD=$(GPS_BAUD)
|
||||
|
||||
|
||||
@@ -3,9 +3,10 @@
|
||||
# NMEA GPS unit
|
||||
|
||||
GPS_LED ?= none
|
||||
NMEA_GPS_PORT_LOWER=$(shell echo $(GPS_PORT) | tr A-Z a-z)
|
||||
|
||||
ap.CFLAGS += -DUSE_GPS -DGPS_USE_LATLONG
|
||||
ap.CFLAGS += -DGPS_LINK=$(GPS_PORT)
|
||||
ap.CFLAGS += -DGPS_LINK=$(NMEA_GPS_PORT_LOWER)
|
||||
ap.CFLAGS += -DUSE_$(GPS_PORT)
|
||||
ap.CFLAGS += -D$(GPS_PORT)_BAUD=$(GPS_BAUD)
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
# Hey Emacs, this is a -*- makefile -*-
|
||||
|
||||
GPS_LED ?= none
|
||||
SKYTRAQ_GPS_PORT_LOWER=$(shell echo $(GPS_PORT) | tr A-Z a-z)
|
||||
|
||||
ap.CFLAGS += -DUSE_GPS -DGPS_USE_LATLONG
|
||||
ap.CFLAGS += -DGPS_LINK=$(GPS_PORT)
|
||||
ap.CFLAGS += -DGPS_LINK=$(SKYTRAQ_GPS_PORT_LOWER)
|
||||
ap.CFLAGS += -DUSE_$(GPS_PORT)
|
||||
ap.CFLAGS += -D$(GPS_PORT)_BAUD=$(GPS_BAUD)
|
||||
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
# UBlox LEA 5H
|
||||
|
||||
GPS_LED ?= none
|
||||
UBX_GPS_PORT_LOWER=$(shell echo $(GPS_PORT) | tr A-Z a-z)
|
||||
|
||||
ap.CFLAGS += -DUSE_GPS -DUBX -DGPS_USE_LATLONG
|
||||
ap.CFLAGS += -DGPS_LINK=$(GPS_PORT)
|
||||
ap.CFLAGS += -DGPS_LINK=$(UBX_GPS_PORT_LOWER)
|
||||
ap.CFLAGS += -DUSE_$(GPS_PORT)
|
||||
ap.CFLAGS += -D$(GPS_PORT)_BAUD=$(GPS_BAUD)
|
||||
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
# UBlox LEA 4P
|
||||
|
||||
GPS_LED ?= none
|
||||
UBX_GPS_PORT_LOWER=$(shell echo $(GPS_PORT) | tr A-Z a-z)
|
||||
|
||||
ap.CFLAGS += -DUSE_GPS -DUBX
|
||||
ap.CFLAGS += -DGPS_LINK=$(GPS_PORT)
|
||||
ap.CFLAGS += -DGPS_LINK=$(UBX_GPS_PORT_LOWER)
|
||||
ap.CFLAGS += -DUSE_$(GPS_PORT)
|
||||
ap.CFLAGS += -D$(GPS_PORT)_BAUD=$(GPS_BAUD)
|
||||
|
||||
|
||||
@@ -63,6 +63,6 @@ ifndef XSENS_UART_BAUD
|
||||
endif
|
||||
|
||||
ap.CFLAGS += -DUSE_UART$(XSENS_UART_NR)
|
||||
ap.CFLAGS += -DINS_LINK=UART$(XSENS_UART_NR)
|
||||
ap.CFLAGS += -DINS_LINK=uart$(XSENS_UART_NR)
|
||||
ap.CFLAGS += -DUART$(XSENS_UART_NR)_BAUD=$(XSENS_UART_BAUD)
|
||||
ap.CFLAGS += -DXSENS_OUTPUT_MODE=0x1836
|
||||
|
||||
@@ -25,7 +25,7 @@ endif
|
||||
#B115200
|
||||
|
||||
ap.CFLAGS += -DUSE_UART$(XSENS_UART_NR)
|
||||
ap.CFLAGS += -DINS_LINK=UART$(XSENS_UART_NR)
|
||||
ap.CFLAGS += -DINS_LINK=uart$(XSENS_UART_NR)
|
||||
ap.CFLAGS += -DUART$(XSENS_UART_NR)_BAUD=$(XSENS_UART_BAUD)
|
||||
ap.CFLAGS += -DXSENS_OUTPUT_MODE=0x1836
|
||||
ap.srcs += $(SRC_SUBSYSTEMS)/ins.c
|
||||
|
||||
@@ -21,7 +21,7 @@ ifndef XSENS_UART_BAUD
|
||||
endif
|
||||
|
||||
ap.CFLAGS += -DUSE_UART$(XSENS_UART_NR)
|
||||
ap.CFLAGS += -DINS_LINK=UART$(XSENS_UART_NR)
|
||||
ap.CFLAGS += -DINS_LINK=uart$(XSENS_UART_NR)
|
||||
ap.CFLAGS += -DUART$(XSENS_UART_NR)_BAUD=$(XSENS_UART_BAUD)
|
||||
ap.CFLAGS += -DXSENS_OUTPUT_MODE=0x1836
|
||||
ap.srcs += $(SRC_SUBSYSTEMS)/ins.c
|
||||
|
||||
@@ -8,15 +8,13 @@ $(error Using intermcu via UART, so dual mcu with separate fbw. Please add <conf
|
||||
endif
|
||||
|
||||
ifeq ($(TARGET),fbw)
|
||||
ifeq ($(INTERMCU_PORT),none)
|
||||
INTERMCU_PORT = UART2
|
||||
endif
|
||||
fbw.CFLAGS += -DINTERMCU_LINK=$(INTERMCU_PORT) -DUSE_$(INTERMCU_PORT) -D$(INTERMCU_PORT)_BAUD=B57600
|
||||
INTERMCU_PORT ?= UART2
|
||||
INTERMCU_PORT_LOWER = $(shell echo $(INTERMCU_PORT) | tr A-Z a-z)
|
||||
fbw.CFLAGS += -DINTERMCU_LINK=$(INTERMCU_PORT_LOWER) -DUSE_$(INTERMCU_PORT) -D$(INTERMCU_PORT)_BAUD=B57600
|
||||
else
|
||||
ifeq ($(INTERMCU_PORT),none)
|
||||
INTERMCU_PORT = UART5
|
||||
endif
|
||||
ap.CFLAGS += -DINTERMCU_LINK=$(INTERMCU_PORT) -DUSE_$(INTERMCU_PORT) -D$(INTERMCU_PORT)_BAUD=B57600
|
||||
INTERMCU_PORT ?= UART5
|
||||
INTERMCU_PORT_LOWER = $(shell echo $(INTERMCU_PORT) | tr A-Z a-z)
|
||||
ap.CFLAGS += -DINTERMCU_LINK=$(INTERMCU_PORT_LOWER) -DUSE_$(INTERMCU_PORT) -D$(INTERMCU_PORT)_BAUD=B57600
|
||||
endif
|
||||
|
||||
ifneq ($(TARGET),sim)
|
||||
|
||||
@@ -2,9 +2,6 @@
|
||||
# The superbitRF module as telemetry downlink/uplink
|
||||
#
|
||||
#
|
||||
ap.CFLAGS += -DUSE_$(MODEM_PORT)
|
||||
ap.CFLAGS += -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
|
||||
|
||||
ap.CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_FBW_DEVICE=superbitrf -DDOWNLINK_AP_DEVICE=superbitrf
|
||||
ap.CFLAGS += -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=SUPERBITRF -DDefaultPeriodic='&telemetry_Ap'
|
||||
#ap.CFLAGS += -DUSE_SUPERBITRF -DUSE_SPI2 -DUSE_SPI_SLAVE2
|
||||
|
||||
@@ -4,7 +4,7 @@ PPRZ_MODEM_PORT_LOWER=$(shell echo $(MODEM_PORT) | tr A-Z a-z)
|
||||
|
||||
telemetry_CFLAGS = -DUSE_$(MODEM_PORT)
|
||||
telemetry_CFLAGS += -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
|
||||
telemetry_CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=$(PPRZ_MODEM_PORT_LOWER) -DPPRZ_UART=$(MODEM_PORT)
|
||||
telemetry_CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=$(PPRZ_MODEM_PORT_LOWER) -DPPRZ_UART=$(PPRZ_MODEM_PORT_LOWER)
|
||||
telemetry_CFLAGS += -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=PPRZ -DDefaultPeriodic='&telemetry_Ap'
|
||||
telemetry_srcs = subsystems/datalink/downlink.c subsystems/datalink/pprz_transport.c subsystems/datalink/telemetry.c
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#serial USB (e.g. /dev/ttyACM0)
|
||||
|
||||
telemetry_CFLAGS = -DDOWNLINK -DDOWNLINK_DEVICE=usb_serial -DPPRZ_UART=UsbS
|
||||
telemetry_CFLAGS = -DDOWNLINK -DDOWNLINK_DEVICE=usb_serial -DPPRZ_UART=usb_serial
|
||||
telemetry_CFLAGS += -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=PPRZ -DUSE_USB_SERIAL
|
||||
telemetry_CFLAGS += -DDefaultPeriodic='&telemetry_Ap'
|
||||
telemetry_srcs = subsystems/datalink/downlink.c subsystems/datalink/pprz_transport.c subsystems/datalink/telemetry.c
|
||||
|
||||
@@ -7,7 +7,7 @@ XBEE_MODEM_PORT_LOWER=$(shell echo $(MODEM_PORT) | tr A-Z a-z)
|
||||
ap.CFLAGS += -DUSE_$(MODEM_PORT)
|
||||
ap.CFLAGS += -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD) -DXBEE_BAUD=$(MODEM_BAUD)
|
||||
|
||||
ap.CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=$(XBEE_MODEM_PORT_LOWER) -DXBEE_UART=$(MODEM_PORT)
|
||||
ap.CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=$(XBEE_MODEM_PORT_LOWER) -DXBEE_UART=$(XBEE_MODEM_PORT_LOWER)
|
||||
ap.CFLAGS += -DDOWNLINK_TRANSPORT=xbee_tp -DDATALINK=XBEE -DDefaultPeriodic='&telemetry_Ap'
|
||||
ap.srcs += subsystems/datalink/downlink.c subsystems/datalink/xbee.c subsystems/datalink/telemetry.c
|
||||
ap.srcs += $(SRC_FIRMWARE)/datalink.c $(SRC_FIRMWARE)/ap_downlink.c
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Furuno NMEA GPS unit
|
||||
|
||||
FURUNO_GPS_PORT_LOWER=$(shell echo $(GPS_PORT) | tr A-Z a-z)
|
||||
|
||||
ap.CFLAGS += -DUSE_GPS
|
||||
ap.CFLAGS += -DGPS_LINK=$(GPS_PORT)
|
||||
ap.CFLAGS += -DGPS_LINK=$(FURUNO_GPS_PORT_LOWER)
|
||||
ap.CFLAGS += -DUSE_$(GPS_PORT)
|
||||
ap.CFLAGS += -D$(GPS_PORT)_BAUD=$(GPS_BAUD)
|
||||
ap.CFLAGS += -DNMEA_PARSE_PROP
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# NMEA GPS unit
|
||||
|
||||
NMEA_GPS_PORT_LOWER=$(shell echo $(GPS_PORT) | tr A-Z a-z)
|
||||
|
||||
ap.CFLAGS += -DUSE_GPS
|
||||
ap.CFLAGS += -DGPS_LINK=$(GPS_PORT)
|
||||
ap.CFLAGS += -DGPS_LINK=$(NMEA_GPS_PORT_LOWER)
|
||||
ap.CFLAGS += -DUSE_$(GPS_PORT)
|
||||
ap.CFLAGS += -D$(GPS_PORT)_BAUD=$(GPS_BAUD)
|
||||
|
||||
|
||||
@@ -3,9 +3,10 @@
|
||||
# Sirf GPS unit
|
||||
|
||||
GPS_LED ?= none
|
||||
SIRF_GPS_PORT_LOWER=$(shell echo $(GPS_PORT) | tr A-Z a-z)
|
||||
|
||||
ap.CFLAGS += -DUSE_GPS
|
||||
ap.CFLAGS += -DGPS_LINK=$(GPS_PORT)
|
||||
ap.CFLAGS += -DGPS_LINK=$(SIRF_GPS_PORT_LOWER)
|
||||
ap.CFLAGS += -DUSE_$(GPS_PORT)
|
||||
ap.CFLAGS += -D$(GPS_PORT)_BAUD=$(GPS_BAUD)
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
# Hey Emacs, this is a -*- makefile -*-
|
||||
|
||||
GPS_LED ?= none
|
||||
SKYTRAQ_GPS_PORT_LOWER=$(shell echo $(GPS_PORT) | tr A-Z a-z)
|
||||
|
||||
ap.CFLAGS += -DUSE_GPS
|
||||
ap.CFLAGS += -DGPS_LINK=$(GPS_PORT)
|
||||
ap.CFLAGS += -DGPS_LINK=$(SKYTRAQ_GPS_PORT_LOWER)
|
||||
ap.CFLAGS += -DUSE_$(GPS_PORT)
|
||||
ap.CFLAGS += -D$(GPS_PORT)_BAUD=$(GPS_BAUD)
|
||||
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
# Hey Emacs, this is a -*- makefile -*-
|
||||
|
||||
GPS_LED ?= none
|
||||
UBX_GPS_PORT_LOWER=$(shell echo $(GPS_PORT) | tr A-Z a-z)
|
||||
|
||||
ap.srcs += $(SRC_SUBSYSTEMS)/gps.c
|
||||
ap.CFLAGS += -DGPS_TYPE_H=\"subsystems/gps/gps_ubx.h\"
|
||||
ap.srcs += $(SRC_SUBSYSTEMS)/gps/gps_ubx.c
|
||||
|
||||
ap.CFLAGS += -DUSE_$(GPS_PORT) -D$(GPS_PORT)_BAUD=$(GPS_BAUD)
|
||||
ap.CFLAGS += -DUSE_GPS -DGPS_LINK=$(GPS_PORT)
|
||||
ap.CFLAGS += -DUSE_GPS -DGPS_LINK=$(UBX_GPS_PORT_LOWER)
|
||||
|
||||
ifneq ($(GPS_LED),none)
|
||||
ap.CFLAGS += -DGPS_LED=$(GPS_LED)
|
||||
|
||||
@@ -2,9 +2,6 @@
|
||||
# The superbitRF module as telemetry downlink/uplink
|
||||
#
|
||||
#
|
||||
ap.CFLAGS += -DUSE_$(MODEM_PORT)
|
||||
ap.CFLAGS += -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
|
||||
|
||||
ap.CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=superbitrf
|
||||
ap.CFLAGS += -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=SUPERBITRF
|
||||
ap.CFLAGS += -DDefaultPeriodic='&telemetry_Main'
|
||||
|
||||
@@ -10,7 +10,7 @@ PPRZ_MODEM_PORT_LOWER=$(shell echo $(MODEM_PORT) | tr A-Z a-z)
|
||||
ap.CFLAGS += -DUSE_$(MODEM_PORT)
|
||||
ap.CFLAGS += -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
|
||||
|
||||
ap.CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=$(PPRZ_MODEM_PORT_LOWER) -DPPRZ_UART=$(MODEM_PORT)
|
||||
ap.CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=$(PPRZ_MODEM_PORT_LOWER) -DPPRZ_UART=$(PPRZ_MODEM_PORT_LOWER)
|
||||
ap.CFLAGS += -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=PPRZ -DDefaultPeriodic='&telemetry_Main'
|
||||
ap.srcs += subsystems/datalink/downlink.c subsystems/datalink/pprz_transport.c subsystems/datalink/telemetry.c
|
||||
ap.srcs += $(SRC_FIRMWARE)/datalink.c $(SRC_FIRMWARE)/rotorcraft_telemetry.c
|
||||
|
||||
@@ -14,7 +14,7 @@ UDP_MODEM_PORT_LOWER=$(shell echo $(MODEM_DEV) | tr A-Z a-z)
|
||||
MODEM_CFLAGS = -DUSE_$(MODEM_DEV) -D$(MODEM_DEV)_PORT_OUT=$(MODEM_PORT_OUT) -D$(MODEM_DEV)_PORT_IN=$(MODEM_PORT_IN)
|
||||
MODEM_CFLAGS += -D$(MODEM_DEV)_BROADCAST=$(MODEM_BROADCAST) -D$(MODEM_DEV)_HOST=\"$(MODEM_HOST)\"
|
||||
|
||||
TELEM_CFLAGS = -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=$(UDP_MODEM_PORT_LOWER) -DPPRZ_UART=$(MODEM_DEV)
|
||||
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 -DDefaultPeriodic='&telemetry_Main'
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#serial USB (e.g. /dev/ttyACM0)
|
||||
|
||||
ifeq ($(ARCH), lpc21)
|
||||
ap.CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=usb_serial -DPPRZ_UART=UsbS
|
||||
ap.CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=usb_serial -DPPRZ_UART=usb_serial
|
||||
ap.CFLAGS += -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=PPRZ -DUSE_USB_SERIAL -DDefaultPeriodic='&telemetry_Main'
|
||||
ap.srcs += subsystems/datalink/downlink.c subsystems/datalink/pprz_transport.c subsystems/datalink/telemetry.c
|
||||
ap.srcs += $(SRC_FIRMWARE)/datalink.c $(SRC_FIRMWARE)/rotorcraft_telemetry.c
|
||||
@@ -10,7 +10,7 @@ ap.srcs += $(SRC_ARCH)/usb_ser_hw.c $(SRC_ARCH)/lpcusb/usbhw_lpc.c $(SRC_ARCH)/l
|
||||
ap.srcs += $(SRC_ARCH)/lpcusb/usbstdreq.c $(SRC_ARCH)/lpcusb/usbinit.c
|
||||
else
|
||||
ifeq ($(ARCH), stm32)
|
||||
ap.CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=usb_serial -DPPRZ_UART=UsbS
|
||||
ap.CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=usb_serial -DPPRZ_UART=usb_serial
|
||||
ap.CFLAGS += -DDOWNLINK_TRANSPORT=pprz_tp -DDATALINK=PPRZ -DUSE_USB_SERIAL -DDefaultPeriodic='&telemetry_Main'
|
||||
ap.srcs += subsystems/datalink/downlink.c subsystems/datalink/pprz_transport.c subsystems/datalink/telemetry.c
|
||||
ap.srcs += $(SRC_FIRMWARE)/datalink.c $(SRC_FIRMWARE)/rotorcraft_telemetry.c
|
||||
|
||||
@@ -11,7 +11,7 @@ XBEE_MODEM_PORT_LOWER=$(shell echo $(MODEM_PORT) | tr A-Z a-z)
|
||||
ap.CFLAGS += -DUSE_$(MODEM_PORT)
|
||||
ap.CFLAGS += -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD) -DXBEE_BAUD=$(MODEM_BAUD)
|
||||
|
||||
ap.CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=$(XBEE_MODEM_PORT_LOWER) -DXBEE_UART=$(MODEM_PORT)
|
||||
ap.CFLAGS += -DDOWNLINK -DPERIODIC_TELEMETRY -DDOWNLINK_DEVICE=$(XBEE_MODEM_PORT_LOWER) -DXBEE_UART=$(XBEE_MODEM_PORT_LOWER)
|
||||
ap.CFLAGS += -DDOWNLINK_TRANSPORT=xbee_tp -DDATALINK=XBEE -DDefaultPeriodic='&telemetry_Main'
|
||||
ap.srcs += subsystems/datalink/downlink.c subsystems/datalink/xbee.c subsystems/datalink/telemetry.c
|
||||
ap.srcs += $(SRC_FIRMWARE)/datalink.c $(SRC_FIRMWARE)/rotorcraft_telemetry.c
|
||||
|
||||
@@ -7,6 +7,7 @@ endif
|
||||
ifndef UM6_BAUD
|
||||
UM6_BAUD=B115200
|
||||
endif
|
||||
UM6_PORT_LOWER=$(shell echo $(UM6_PORT) | tr A-Z a-z)
|
||||
|
||||
IMU_UM6_CFLAGS += -DUSE_IMU
|
||||
IMU_UM6_CFLAGS += -DIMU_TYPE_H=\"imu/imu_um6.h\"
|
||||
@@ -14,7 +15,7 @@ IMU_UM6_SRCS += $(SRC_SUBSYSTEMS)/imu.c
|
||||
IMU_UM6_SRCS += $(SRC_SUBSYSTEMS)/imu/imu_um6.c
|
||||
|
||||
IMU_UM6_CFLAGS += -DUSE_$(UM6_PORT) -D$(UM6_PORT)_BAUD=$(UM6_BAUD)
|
||||
IMU_UM6_CFLAGS += -DUM6_LINK=$(UM6_PORT)
|
||||
IMU_UM6_CFLAGS += -DUM6_LINK=$(UM6_PORT_LOWER)
|
||||
|
||||
ap.CFLAGS += $(IMU_UM6_CFLAGS)
|
||||
ap.srcs += $(IMU_UM6_SRCS)
|
||||
|
||||
@@ -82,7 +82,7 @@ UDP_MODEM_PORT_LOWER=$(shell echo $(MODEM_DEV) | tr A-Z a-z)
|
||||
|
||||
COMMON_TELEMETRY_CFLAGS += -DUSE_$(MODEM_DEV) -D$(MODEM_DEV)_PORT_OUT=$(MODEM_PORT_OUT) -D$(MODEM_DEV)_PORT_IN=$(MODEM_PORT_IN)
|
||||
COMMON_TELEMETRY_CFLAGS += -D$(MODEM_DEV)_BROADCAST=$(MODEM_BROADCAST) -D$(MODEM_DEV)_HOST=\"$(MODEM_HOST)\"
|
||||
COMMON_TELEMETRY_CFLAGS += -DPPRZ_UART=$(MODEM_DEV)
|
||||
COMMON_TELEMETRY_CFLAGS += -DPPRZ_UART=$(UDP_MODEM_PORT_LOWER)
|
||||
COMMON_TELEMETRY_CFLAGS += -DDOWNLINK_DEVICE=$(UDP_MODEM_PORT_LOWER)
|
||||
else
|
||||
# via UART
|
||||
@@ -91,7 +91,7 @@ else
|
||||
#endif
|
||||
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)
|
||||
COMMON_TELEMETRY_CFLAGS += -DPPRZ_UART=$(MODEM_PORT)
|
||||
COMMON_TELEMETRY_CFLAGS += -DPPRZ_UART=$(COMMON_TELEMETRY_MODEM_PORT_LOWER)
|
||||
COMMON_TELEMETRY_CFLAGS += -DDOWNLINK_DEVICE=$(COMMON_TELEMETRY_MODEM_PORT_LOWER)
|
||||
COMMON_TELEMETRY_SRCS += mcu_periph/uart.c
|
||||
COMMON_TELEMETRY_SRCS += $(SRC_ARCH)/mcu_periph/uart_arch.c
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<define name="USE_AHRS"/>
|
||||
<define name="USE_INS_MODULE"/>
|
||||
<define name="USE_SPI"/>
|
||||
<define name="INS_LINK" value="SpiSlave"/>
|
||||
<define name="INS_LINK" value="spi_slave_hs"/>
|
||||
<define name="USE_USB_HIGH_PCLK" />
|
||||
<file name="ahrs_chimu_spi.c"/>
|
||||
<file name="imu_chimu.c"/>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<define name="USE_AHRS"/>
|
||||
<define name="USE_INS_MODULE"/>
|
||||
<define name="USE_UART$(CHIMU_UART_NR)" value="1"/>
|
||||
<define name="INS_LINK" value="UART$(CHIMU_UART_NR)"/>
|
||||
<define name="INS_LINK" value="uart$(CHIMU_UART_NR)"/>
|
||||
<define name="UART$(CHIMU_UART_NR)_BAUD" value="B115200"/>
|
||||
<file name="ahrs_chimu_uart.c"/>
|
||||
<file name="imu_chimu.c"/>
|
||||
|
||||
@@ -22,9 +22,12 @@
|
||||
<periodic fun="airspeed_otf_periodic()" freq="1"/>
|
||||
<event fun="airspeed_otf_event()"/>
|
||||
<makefile target="ap">
|
||||
<raw>
|
||||
OTF_UART_LOWER=$(shell echo $(OTF_UART) | tr A-Z a-z)
|
||||
</raw>
|
||||
<file name="airspeed_otf.c"/>
|
||||
<define name="USE_$(OTF_UART)"/>
|
||||
<define name="MET_LINK" value="$(OTF_UART)"/>
|
||||
<define name="MET_LINK" value="$(OTF_UART_LOWER)"/>
|
||||
<define name="$(OTF_UART)_BAUD" value="B115200"/>
|
||||
</makefile>
|
||||
</module>
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
<define name="DM_LOG_SPI_DEV" value="$(DM_LOG_SPI_DEV_LOWER)" />
|
||||
<define name="DM_LOG_SPI_SLAVE_IDX" value="$(DM_LOG_SPI_SLAVE_IDX_UPPER)" />
|
||||
|
||||
<define name="DM_LOG_UART" value="$(DM_LOG_UART_UPPER)"/>
|
||||
<define name="DM_LOG_UART" value="$(DM_LOG_UART_LOWER)"/>
|
||||
<define name="USE_$(DM_LOG_UART_UPPER)"/>
|
||||
<define name="$(DM_LOG_UART_UPPER)_BAUD" value="B230400"/>
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
EXTRA_DL_PORT_LOWER = $(shell echo $(EXTRA_DL_PORT) | tr A-Z a-z)
|
||||
</raw>
|
||||
<define name="EXTRA_DOWNLINK_DEVICE" value="$(EXTRA_DL_PORT_LOWER)"/>
|
||||
<define name="EXTRA_PPRZ_UART" value="$(EXTRA_DL_PORT)"/>
|
||||
<define name="USE_$(EXTRA_DL_PORT)"/>
|
||||
<define name="$(EXTRA_DL_PORT)_BAUD" value="$(EXTRA_DL_BAUD)"/>
|
||||
<file name="extra_pprz_dl.c"/>
|
||||
|
||||
@@ -19,18 +19,19 @@
|
||||
<raw>
|
||||
MAVLINK_PORT ?= UART1
|
||||
MAVLINK_PORT_UPPER=$(shell echo $(MAVLINK_PORT) | tr a-z A-Z)
|
||||
MAVLINK_PORT_LOWER=$(shell echo $(MAVLINK_PORT) | tr A-Z a-z)
|
||||
ifeq ($(MAVLINK_PORT), UsbS)
|
||||
ap.CFLAGS += -DUSE_USB_SERIAL
|
||||
ap.srcs += $(SRC_ARCH)/usb_ser_hw.c
|
||||
ap.CFLAGS += -DMAVLINK_DEV=UsbS
|
||||
ap.CFLAGS += -DMAVLINK_DEV=usb_serial
|
||||
else
|
||||
ifeq ($(findstring UDP,$(MAVLINK_PORT)), UDP)
|
||||
include $(CFG_SHARED)/udp.makefile
|
||||
$(TARGET).CFLAGS += -DMAVLINK_DEV=$(MAVLINK_PORT_UPPER)
|
||||
$(TARGET).CFLAGS += -DMAVLINK_DEV=$(MAVLINK_PORT_LOWER)
|
||||
$(TARGET).CFLAGS += -DUSE_$(MAVLINK_PORT_UPPER)
|
||||
else
|
||||
MAVLINK_BAUD ?= B57600
|
||||
ap.CFLAGS += -DMAVLINK_DEV=$(MAVLINK_PORT_UPPER)
|
||||
ap.CFLAGS += -DMAVLINK_DEV=$(MAVLINK_PORT_LOWER)
|
||||
ap.CFLAGS += -DUSE_$(MAVLINK_PORT_UPPER)
|
||||
ap.CFLAGS += -D$(MAVLINK_PORT_UPPER)_BAUD=$(MAVLINK_BAUD)
|
||||
endif
|
||||
|
||||
@@ -11,7 +11,10 @@
|
||||
</header>
|
||||
<event fun="MavlinkDatalinkEvent()"/>
|
||||
<makefile>
|
||||
<define name="MAVLINK_UART" value="$(MAVLINK_PORT)"/>
|
||||
<raw>
|
||||
MAVLINK_PORT_LOWER=$(shell echo $(MAVLINK_PORT) | tr A-Z a-z)
|
||||
</raw>
|
||||
<define name="MAVLINK_UART" value="$(MAVLINK_PORT_LOWER)"/>
|
||||
<define name="USE_$(MAVLINK_PORT)"/>
|
||||
<define name="$(MAVLINK_PORT)_BAUD" value="$(MAVLINK_BAUD)"/>
|
||||
<file name="mavlink_decoder.c"/>
|
||||
|
||||
@@ -42,6 +42,8 @@
|
||||
|
||||
void uart_periph_set_baudrate(struct uart_periph *periph, uint32_t baud)
|
||||
{
|
||||
periph->baudrate = baud;
|
||||
|
||||
struct SerialPort *port;
|
||||
// close serial port if already open
|
||||
if (periph->reg_addr != NULL) {
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
#include "pprz_debug.h"
|
||||
#include "armVIC.h"
|
||||
|
||||
struct spi_slave_hs spi_slave_hs;
|
||||
|
||||
/* High Speed SPI Slave Circular Buffer */
|
||||
uint16_t spi_slave_hs_rx_insert_idx, spi_slave_hs_rx_extract_idx;
|
||||
@@ -103,6 +104,36 @@ static void SSP_ISR(void) __attribute__((naked));
|
||||
#endif
|
||||
|
||||
|
||||
// Functions for the generic device API
|
||||
static int spi_slave_hs_check_free_space(struct spi_slave_hs *p __attribute__((unused)), uint8_t len __attribute__((unused)))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void spi_slave_hs_transmit(struct spi_slave_hs *p __attribute__((unused)), uint8_t byte)
|
||||
{
|
||||
uint8_t temp = (spi_slave_hs_tx_insert_idx + 1) % SPI_SLAVE_HS_TX_BUFFER_SIZE;
|
||||
if (temp != spi_slave_hs_tx_extract_idx) /* there is room left */
|
||||
{
|
||||
spi_slave_hs_tx_buffer[spi_slave_hs_tx_insert_idx] = byte;
|
||||
spi_slave_hs_tx_insert_idx = temp;
|
||||
}
|
||||
}
|
||||
|
||||
static void spi_slave_hs_send(struct spi_slave_hs *p __attribute__((unused))) { }
|
||||
|
||||
static int spi_slave_hs_char_available(struct spi_slave_hs *p __attribute__((unused)))
|
||||
{
|
||||
return spi_slave_hs_rx_insert_idx != spi_slave_hs_rx_extract_idx;
|
||||
}
|
||||
|
||||
static uint8_t spi_slave_hs_getch(struct spi_slave_hs *p __attribute__((unused)))
|
||||
{
|
||||
uint8_t ret = spi_slave_hs_rx_buffer[spi_slave_hs_rx_extract_idx];
|
||||
spi_slave_hs_rx_extract_idx = (spi_slave_hs_rx_extract_idx + 1)%SPI_SLAVE_HS_RX_BUFFER_SIZE;
|
||||
return ret;
|
||||
}
|
||||
|
||||
void spi_slave_hs_init(void)
|
||||
{
|
||||
|
||||
@@ -129,6 +160,14 @@ void spi_slave_hs_init(void)
|
||||
// Enable Receive interrupt
|
||||
SetBit(SSPIMSC, RXIM);
|
||||
|
||||
// Configure generic device
|
||||
spi_slave_hs.device.periph = (void *)(&spi_slave_hs);
|
||||
spi_slave_hs.device.check_free_space = (check_free_space_t) spi_slave_hs_check_free_space;
|
||||
spi_slave_hs.device.put_byte = (put_byte_t) spi_slave_hs_transmit;
|
||||
spi_slave_hs.device.send_message = (send_message_t) spi_slave_hs_send;
|
||||
spi_slave_hs.device.char_available = (char_available_t) spi_slave_hs_char_available;
|
||||
spi_slave_hs.device.get_byte = (get_byte_t) spi_slave_hs_getch;
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -32,7 +32,14 @@
|
||||
#define SPI_SLAVE_HS_ARCH_H
|
||||
|
||||
#include "std.h"
|
||||
#include "mcu_periph/link_device.h"
|
||||
|
||||
struct spi_slave_hs {
|
||||
/** Generic device interface */
|
||||
struct link_device device;
|
||||
};
|
||||
|
||||
extern struct spi_slave_hs spi_slave_hs;
|
||||
|
||||
#define SpiEnable() { \
|
||||
SetBit(SSPCR1, SSE); \
|
||||
@@ -48,29 +55,11 @@
|
||||
extern uint16_t spi_slave_hs_rx_insert_idx, spi_slave_hs_rx_extract_idx;
|
||||
extern uint8_t spi_slave_hs_rx_buffer[SPI_SLAVE_HS_RX_BUFFER_SIZE];
|
||||
|
||||
#define SpiSlaveChAvailable() (spi_slave_hs_rx_insert_idx != spi_slave_hs_rx_extract_idx)
|
||||
|
||||
#define SpiSlaveGetch() ({\
|
||||
uint8_t ret = spi_slave_hs_rx_buffer[spi_slave_hs_rx_extract_idx]; \
|
||||
spi_slave_hs_rx_extract_idx = (spi_slave_hs_rx_extract_idx + 1)%SPI_SLAVE_HS_RX_BUFFER_SIZE; \
|
||||
ret; \
|
||||
})
|
||||
|
||||
#define SPI_SLAVE_HS_TX_BUFFER_SIZE 64
|
||||
|
||||
extern uint8_t spi_slave_hs_tx_insert_idx, spi_slave_hs_tx_extract_idx;
|
||||
extern uint8_t spi_slave_hs_tx_buffer[SPI_SLAVE_HS_TX_BUFFER_SIZE];
|
||||
|
||||
#define SpiSlaveTransmit(data) {\
|
||||
uint8_t temp = (spi_slave_hs_tx_insert_idx + 1) % SPI_SLAVE_HS_TX_BUFFER_SIZE; \
|
||||
if (temp != spi_slave_hs_tx_extract_idx) /* there is room left */ \
|
||||
{ \
|
||||
spi_slave_hs_tx_buffer[spi_slave_hs_tx_insert_idx] = (uint8_t)data; \
|
||||
spi_slave_hs_tx_insert_idx = temp; \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -48,6 +48,8 @@ static inline void uart_enable_interrupts(struct uart_periph *p)
|
||||
|
||||
static inline void uart_set_baudrate(struct uart_periph *p, uint32_t baud)
|
||||
{
|
||||
p->baudrate = baud;
|
||||
|
||||
/* calculate the baudrate */
|
||||
uint32_t _baud_reg_val = (uint16_t)((PCLK / (((float)baud) * 16.0)) + 0.5);
|
||||
/* select divisor latches */
|
||||
|
||||
@@ -565,6 +565,16 @@ void VCOM_event(void) {}
|
||||
// Empty for lpc21
|
||||
void VCOM_send_message(void) {}
|
||||
|
||||
static int usb_serial_char_available(struct usb_serial_periph *p __attribute__((unused)))
|
||||
{
|
||||
return VCOM_check_available();
|
||||
}
|
||||
|
||||
static uint8_t usb_serial_getch(struct usb_serial_periph *p __attribute__((unused)))
|
||||
{
|
||||
return (uint8_t)(VCOM_getchar());
|
||||
}
|
||||
|
||||
void VCOM_init(void)
|
||||
{
|
||||
// initialise stack
|
||||
@@ -608,6 +618,8 @@ void VCOM_init(void)
|
||||
// Configure generic device
|
||||
usb_serial.device.periph = (void *)(&usb_serial);
|
||||
usb_serial.device.check_free_space = (check_free_space_t) usb_serial_check_free_space;
|
||||
usb_serial.device.transmit = (transmit_t) usb_serial_transmit;
|
||||
usb_serial.device.put_byte = (put_byte_t) usb_serial_transmit;
|
||||
usb_serial.device.send_message = (send_message_t) usb_serial_send;
|
||||
usb_serial.device.char_available = (char_available_t) usb_serial_char_available;
|
||||
usb_serial.device.get_byte = (get_byte_t) usb_serial_getch;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
#include "firmwares/fixedwing/guidance/guidance_v.h"
|
||||
#include "subsystems/commands.h"
|
||||
#include "firmwares/fixedwing/main_ap.h"
|
||||
#include "sim_uart.h"
|
||||
#include "subsystems/datalink/datalink.h"
|
||||
#include "subsystems/datalink/telemetry.h"
|
||||
#include "generated/flight_plan.h"
|
||||
@@ -100,26 +99,6 @@ value sim_init(value unit)
|
||||
{
|
||||
init_fbw();
|
||||
init_ap();
|
||||
#ifdef SIM_UART
|
||||
/* open named pipe */
|
||||
char link_pipe_name[128];
|
||||
#ifdef SIM_XBEE
|
||||
sprintf(link_pipe_name, "/tmp/pprz_xbee");
|
||||
#else
|
||||
sprintf(link_pipe_name, "/tmp/pprz_link_%d", AC_ID);
|
||||
#endif
|
||||
struct stat st;
|
||||
if (stat(link_pipe_name, &st)) {
|
||||
if (mkfifo(link_pipe_name, 0644) == -1) {
|
||||
perror("make pipe");
|
||||
exit(10);
|
||||
}
|
||||
}
|
||||
if (!(pipe_stream = fopen(link_pipe_name, "w"))) {
|
||||
perror("open pipe");
|
||||
exit(10);
|
||||
}
|
||||
#endif
|
||||
|
||||
return unit;
|
||||
}
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
#include "sim_uart.h"
|
||||
|
||||
FILE *pipe_stream;
|
||||
@@ -1,14 +0,0 @@
|
||||
/** \file sim_uart.h
|
||||
* \brief Simulation of uart transmission on an Unix pipe
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
extern FILE *pipe_stream;
|
||||
|
||||
#define SimUartCheckFreeSpace(_) TRUE
|
||||
|
||||
#define SimUartTransmit(_x) fputc(_x, pipe_stream)
|
||||
#define SimUartPrintString(_s) fputs(_s, pipe_stream)
|
||||
#define SimUartSendMessage() fflush(pipe_stream);
|
||||
#define SimUartPrintHex16(c) _PrintHex16(SimUartTransmit, c)
|
||||
@@ -41,6 +41,7 @@
|
||||
|
||||
void uart_periph_set_baudrate(struct uart_periph *p, uint32_t baud)
|
||||
{
|
||||
p->baudrate = baud;
|
||||
|
||||
/* Configure USART baudrate */
|
||||
usart_set_baudrate((uint32_t)p->reg_addr, baud);
|
||||
|
||||
@@ -486,6 +486,16 @@ static void usb_serial_send(struct usb_serial_periph *p __attribute__((unused)))
|
||||
VCOM_send_message();
|
||||
}
|
||||
|
||||
static int usb_serial_char_available(struct usb_serial_periph *p __attribute__((unused)))
|
||||
{
|
||||
return VCOM_check_available();
|
||||
}
|
||||
|
||||
static uint8_t usb_serial_getch(struct usb_serial_periph *p __attribute__((unused)))
|
||||
{
|
||||
return (uint8_t)(VCOM_getchar());
|
||||
}
|
||||
|
||||
void VCOM_init(void)
|
||||
{
|
||||
// initialise fifos
|
||||
@@ -518,6 +528,8 @@ void VCOM_init(void)
|
||||
// Configure generic device
|
||||
usb_serial.device.periph = (void *)(&usb_serial);
|
||||
usb_serial.device.check_free_space = (check_free_space_t) usb_serial_check_free_space;
|
||||
usb_serial.device.transmit = (transmit_t) usb_serial_transmit;
|
||||
usb_serial.device.put_byte = (put_byte_t) usb_serial_transmit;
|
||||
usb_serial.device.send_message = (send_message_t) usb_serial_send;
|
||||
usb_serial.device.char_available = (char_available_t) usb_serial_char_available;
|
||||
usb_serial.device.get_byte = (get_byte_t) usb_serial_getch;
|
||||
}
|
||||
|
||||
@@ -31,38 +31,19 @@
|
||||
#include "led.h"
|
||||
|
||||
|
||||
#define __ModemLink(dev, _x) dev##_x
|
||||
#define _ModemLink(dev, _x) __ModemLink(dev, _x)
|
||||
#define ModemLink(_x) _ModemLink(MODEM_LINK, _x)
|
||||
#define ModemBuffer() ModemLink(ChAvailable())
|
||||
|
||||
|
||||
#define __AutopilotLink(dev, _x) dev##_x
|
||||
#define _AutopilotLink(dev, _x) __AutopilotLink(dev, _x)
|
||||
#define AutopilotLink(_x) _AutopilotLink(AUTOPILOT_LINK, _x)
|
||||
|
||||
#define AutopilotBuffer() AutopilotLink(ChAvailable())
|
||||
#define ModemLinkDevice (&(MODEM_LINK).device)
|
||||
#define AutopilotLinkDevice (&(AUTOPILOT_LINK).device)
|
||||
|
||||
static inline void autopilot_parse(char c)
|
||||
{
|
||||
ModemLink(Transmit(c));
|
||||
ModemLinkDevice->put_byte(ModemLinkDevice->periph, c);
|
||||
}
|
||||
|
||||
static inline void modem_parse(char c)
|
||||
{
|
||||
AutopilotLink(Transmit(c));
|
||||
AutopilotLinkDevice->put_byte(AutopilotLinkDevice->periph, c);
|
||||
}
|
||||
|
||||
#define ReadAutopilotBuffer() { \
|
||||
while (AutopilotLink(ChAvailable())) \
|
||||
autopilot_parse(AutopilotLink(Getch())); \
|
||||
}
|
||||
|
||||
#define ReadModemBuffer() { \
|
||||
while (ModemLink(ChAvailable())) \
|
||||
modem_parse(ModemLink(Getch())); \
|
||||
}
|
||||
|
||||
void fbw_datalink_periodic(void)
|
||||
{
|
||||
#ifdef MODEM_LINK_LED
|
||||
@@ -76,16 +57,19 @@ void fbw_datalink_periodic(void)
|
||||
void fbw_datalink_event(void)
|
||||
{
|
||||
#ifdef MODEM_LINK_LED
|
||||
if (ModemLink(ChAvailable())) {
|
||||
if (ModemLinkDevice->char_available(ModemLinkDevice->periph)) {
|
||||
LED_ON(MODEM_LINK_LED);
|
||||
}
|
||||
#endif
|
||||
#ifdef AUTOPILOT_LINK_LED
|
||||
if (AutopilotLink(ChAvailable())) {
|
||||
if (AutopilotLinkDevice->char_available(AutopilotLinkDevice->periph)) {
|
||||
LED_ON(AUTOPILOT_LINK_LED);
|
||||
}
|
||||
#endif
|
||||
|
||||
ReadModemBuffer();
|
||||
ReadAutopilotBuffer();
|
||||
while (ModemLinkDevice->char_available(ModemLinkDevice->periph))
|
||||
modem_parse(ModemLinkDevice->get_byte(ModemLinkDevice->periph));
|
||||
|
||||
while (AutopilotLinkDevice->char_available(AutopilotLinkDevice->periph))
|
||||
autopilot_parse(AutopilotLinkDevice->get_byte(AutopilotLinkDevice->periph));
|
||||
}
|
||||
|
||||
@@ -331,12 +331,7 @@ void periodic_task_fbw(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef MCU_UART_LINK
|
||||
inter_mcu_fill_fbw_state();
|
||||
link_mcu_periodic_task();
|
||||
#endif
|
||||
|
||||
#ifdef MCU_CAN_LINK
|
||||
#if defined MCU_UART_LINK || defined MCU_CAN_LINK
|
||||
inter_mcu_fill_fbw_state();
|
||||
link_mcu_periodic_task();
|
||||
#endif
|
||||
|
||||
@@ -29,16 +29,12 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// LINK
|
||||
|
||||
#define __InterMcuLink(dev, _x) dev##_x
|
||||
#define _InterMcuLink(dev, _x) __InterMcuLink(dev, _x)
|
||||
#define InterMcuLink(_x) _InterMcuLink(INTERMCU_LINK, _x)
|
||||
|
||||
#define InterMcuBuffer() InterMcuLink(ChAvailable())
|
||||
|
||||
#define InterMcuUartSend1(c) InterMcuLink(Transmit(c))
|
||||
#define InterMcuUartSetBaudrate(_a) InterMcuLink(SetBaudrate(_a))
|
||||
#define InterMcuUartRunning InterMcuLink(TxRunning)
|
||||
#define InterMcuUartSendMessage InterMcuLink(SendMessage)
|
||||
// Use uart interface directly
|
||||
#define InterMcuBuffer() uart_char_available(&(INTERMCU_LINK))
|
||||
#define InterMcuUartSend1(c) uart_transmit(&(INTERMCU_LINK), c)
|
||||
#define InterMcuUartSetBaudrate(_a) uart_periph_set_baudrate(&(INTERMCU_LINK), _a)
|
||||
#define InterMcuUartSendMessage() {}
|
||||
#define InterMcuUartGetch() uart_getch(&(INTERMCU_LINK))
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// PROTOCOL
|
||||
@@ -379,8 +375,8 @@ void link_mcu_event_task(void)
|
||||
{
|
||||
/* A message has been received */
|
||||
if (InterMcuBuffer()) {
|
||||
while (InterMcuLink(ChAvailable())) {
|
||||
intermcu_parse(InterMcuLink(Getch()));
|
||||
while (InterMcuBuffer()) {
|
||||
intermcu_parse(InterMcuUartGetch());
|
||||
if (intermcu_data.msg_available) {
|
||||
parse_mavpilot_msg();
|
||||
intermcu_data.msg_available = FALSE;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user