Difference between revisions of "User/AirborneCodeReorg"
Jump to navigation
Jump to search
(moved the available susbsytem table to the dev page - let's keep this page as simple as possible to ensure success - we'll add subsystem as they become available) |
|||
Line 1: | Line 1: | ||
This page summarizes the changes needed to switch from the "raw makefile in airframes" to a new "xml only aiframes" syntax | This page summarizes the changes needed to switch from the "raw makefile in airframes" to a new "xml only aiframes" syntax | ||
== | ==FixedWing== | ||
The idea is to replace the '''<makefile>''' section with a '''<target>''' section | |||
Typicaly, replace: | |||
<makefile> | |||
CONFIG=\"tiny_0_99.h\" | |||
include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile | |||
FLASH_MODE=IAP | |||
ap.CFLAGS += -DFBW -DAP -DBOARD_CONFIG=$(CONFIG) -DLED -DTIME_LED=1 | |||
ap.srcs = sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c main_fbw.c main_ap.c main.c | |||
ap.srcs += commands.c | |||
ap.CFLAGS += -DACTUATORS=\"servos_4015_MAT_hw.h\" -DSERVOS_4015_MAT | |||
ap.srcs += $(SRC_ARCH)/servos_4015_MAT_hw.c actuators.c | |||
ap.CFLAGS += -DRADIO_CONTROL | |||
ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c | |||
ap.CFLAGS += -DDOWNLINK -DUSE_UART0 -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_FBW_DEVICE=Uart0 -DDOWNLINK_AP_DEVICE=Uart0 -DPPRZ_UART=Uart0 -DDATALINK=PPRZ -DUART0_BAUD=B9600 | |||
ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c pprz_transport.c | |||
ap.CFLAGS += -DINTER_MCU | |||
ap.srcs += inter_mcu.c | |||
ap.CFLAGS += -DADC -DUSE_ADC_0 -DUSE_ADC_1 -DUSE_ADC_2 -DUSE_ADC_3 | |||
ap.srcs += $(SRC_ARCH)/adc_hw.c | |||
ap.CFLAGS += -DGPS -DUBX -DUSE_UART1 -DGPS_LINK=Uart1 -DUART1_BAUD=B38400 | |||
ap.CFLAGS += -DGPS_CONFIGURE -DGPS_BAUD=38400 | |||
ap.srcs += gps_ubx.c gps.c latlong.c | |||
ap.CFLAGS += -DINFRARED | |||
ap.srcs += infrared.c estimator.c | |||
ap.CFLAGS += -DNAV -DAGR_CLIMB -DLOITER_TRIM -DALT_KALMAN -DWIND_INFO | |||
ap.srcs += nav.c fw_h_ctl.c fw_v_ctl.c | |||
ap.srcs += nav_line.c nav_survey_rectangle.c | |||
</makefile> | |||
with | |||
<target name="fixedwing" board="tiny_2.11"> | |||
<param name="FLASH_MODE" value="IAP"/> | |||
<subsystem name="autopilot"/> | |||
<subsystem name="testing"/> | |||
<subsystem name="radio_control" type="ppm"/> | |||
<!-- Communication --> | |||
<subsystem name="telemetry" type="transparent"> | |||
<param name="MODEM_BAUD" value="9600"/> | |||
</subsystem> | |||
<!-- Actuators --> | |||
<subsystem name="actuators" type="4017"/> | |||
<!-- Sensors --> | |||
<subsystem name="gyro"/> | |||
<subsystem name="attitude" type="infrared"/> | |||
<subsystem name="gps" type="ublox_lea4p"/> | |||
<subsystem name="navigation"> | |||
<define name="AGR_CLIMB" value="1" /> | |||
<define name="LOITER_TRIM" value="1" /> | |||
<define name="WIND_INFO" value="1" /> | |||
</subsystem> | |||
</target> | |||
Let's look in more detail how this is done | |||
Comment out or remove the following lines in the makefile section of your airframe.xml | Comment out or remove the following lines in the makefile section of your airframe.xml |
Revision as of 23:06, 18 August 2010
This page summarizes the changes needed to switch from the "raw makefile in airframes" to a new "xml only aiframes" syntax
FixedWing
The idea is to replace the <makefile> section with a <target> section
Typicaly, replace:
<makefile> CONFIG=\"tiny_0_99.h\" include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile FLASH_MODE=IAP ap.CFLAGS += -DFBW -DAP -DBOARD_CONFIG=$(CONFIG) -DLED -DTIME_LED=1 ap.srcs = sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c main_fbw.c main_ap.c main.c ap.srcs += commands.c ap.CFLAGS += -DACTUATORS=\"servos_4015_MAT_hw.h\" -DSERVOS_4015_MAT ap.srcs += $(SRC_ARCH)/servos_4015_MAT_hw.c actuators.c ap.CFLAGS += -DRADIO_CONTROL ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c ap.CFLAGS += -DDOWNLINK -DUSE_UART0 -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_FBW_DEVICE=Uart0 -DDOWNLINK_AP_DEVICE=Uart0 -DPPRZ_UART=Uart0 -DDATALINK=PPRZ -DUART0_BAUD=B9600 ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c pprz_transport.c ap.CFLAGS += -DINTER_MCU ap.srcs += inter_mcu.c ap.CFLAGS += -DADC -DUSE_ADC_0 -DUSE_ADC_1 -DUSE_ADC_2 -DUSE_ADC_3 ap.srcs += $(SRC_ARCH)/adc_hw.c ap.CFLAGS += -DGPS -DUBX -DUSE_UART1 -DGPS_LINK=Uart1 -DUART1_BAUD=B38400 ap.CFLAGS += -DGPS_CONFIGURE -DGPS_BAUD=38400 ap.srcs += gps_ubx.c gps.c latlong.c ap.CFLAGS += -DINFRARED ap.srcs += infrared.c estimator.c ap.CFLAGS += -DNAV -DAGR_CLIMB -DLOITER_TRIM -DALT_KALMAN -DWIND_INFO ap.srcs += nav.c fw_h_ctl.c fw_v_ctl.c ap.srcs += nav_line.c nav_survey_rectangle.c </makefile>
with
<target name="fixedwing" board="tiny_2.11"> <param name="FLASH_MODE" value="IAP"/> <subsystem name="autopilot"/> <subsystem name="testing"/> <subsystem name="radio_control" type="ppm"/> <subsystem name="telemetry" type="transparent"> <param name="MODEM_BAUD" value="9600"/> </subsystem> <subsystem name="actuators" type="4017"/> <subsystem name="gyro"/> <subsystem name="attitude" type="infrared"/> <subsystem name="gps" type="ublox_lea4p"/> <subsystem name="navigation"> <define name="AGR_CLIMB" value="1" /> <define name="LOITER_TRIM" value="1" /> <define name="WIND_INFO" value="1" /> </subsystem> </target>
Let's look in more detail how this is done
Comment out or remove the following lines in the makefile section of your airframe.xml
ap.CFLAGS += -DRADIO_CONTROL ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c
Add a new xml section like this:
<target name="fixed_wings" board="tiny_2.11"> <subsystem name="radio_control" type="ppm"/> </target>
you can look in conf/airframes/microjet5.xml to see how it's done. The list of supported boards is
- "twog_1"
- "tiny_2.11"
- "tiny_2.1"
- "tiny_1.1"
- "tiny_0.99"
- "booz"
- "lisa_l_1.0"