Merge branch 'dev' into 4.0_beta

This commit is contained in:
Felix Ruess
2012-02-25 15:46:22 +01:00
44 changed files with 78 additions and 189 deletions
+1 -1
View File
@@ -260,7 +260,7 @@ ab_clean:
find sw/airborne -name '*~' -exec rm -f {} \; find sw/airborne -name '*~' -exec rm -f {} \;
test_all_example_airframes: replace_current_conf_xml test_all_example_airframes: replace_current_conf_xml
for ap in `grep name conf/conf.xml.example | sed -e 's/.*name=\"//' | sed -e 's/"//'`; do echo "Making $$ap"; make -C ./ AIRCRAFT=$$ap clean_ac ap.compile || exit 1; done for ap in `grep name conf/conf.xml.example | sed -e 's/.*name=\"//' | sed -e 's/".*//'`; do for airframe in `grep $$ap conf/conf.xml.example | sed -e 's/.*airframe=\"//' | sed -e 's/".*//'`; do for target in `grep target conf/$$airframe | grep name | sed -e 's/.*name=\"//' | sed -e 's/\".*//'`; do echo "Making $$ap $$target"; make -C ./ AIRCRAFT=$$ap clean_ac $$target.compile || exit 1; done; done; done
replace_current_conf_xml: replace_current_conf_xml:
test conf/conf.xml || mv conf/conf.xml conf/conf.xml.backup.`date +%Y%m%d-%H%M%s` test conf/conf.xml || mv conf/conf.xml conf/conf.xml.backup.`date +%Y%m%d-%H%M%s`
-10
View File
@@ -209,15 +209,5 @@
<subsystem name="ins" type="hff"/> <subsystem name="ins" type="hff"/>
</firmware> </firmware>
<firmware name="booz_test_progs">
<target name="test_telemetry" board="booz_1.0"/>
<target name="test_baro" board="booz_1.0"/>
<target name="test_rc_spektrum" board="booz_1.0"/>
<target name="test_rc_ppm" board="booz_1.0"/>
<target name="test_esc_mkk_simple" board="booz_1.0"/>
<target name="test_actuators_mkk" board="booz_1.0"/>
<target name="test_ami601" board="booz_1.0"/>
</firmware>
</airframe> </airframe>
-5
View File
@@ -174,11 +174,6 @@
<subsystem name="radio_control" type="spektrum"/> <subsystem name="radio_control" type="spektrum"/>
<subsystem name="actuators" type="mkk"/> <subsystem name="actuators" type="mkk"/>
</target> </target>
<target name="sim" board="pc">
<subsystem name="fdm" type="nps"/>
<subsystem name="radio_control" type="ppm"/>
<subsystem name="actuators" type="mkk"/>
</target>
<subsystem name="telemetry" type="transparent"/> <subsystem name="telemetry" type="transparent"/>
<!-- <subsystem name="imu" type="b2_v1.1"/> --> <!-- <subsystem name="imu" type="b2_v1.1"/> -->
<subsystem name="imu" type="aspirin_v1.0"/> <subsystem name="imu" type="aspirin_v1.0"/>
+1 -1
View File
@@ -22,7 +22,7 @@
</firmware> </firmware>
<firmware name="booz2_test_progs"> <firmware name="booz2_test_progs">
<target name="test_telemetry" board="booz_1.0"/> <target name="test_downlink" board="booz_1.0"/>
<target name="test_baro" board="booz_1.0"/> <target name="test_baro" board="booz_1.0"/>
<target name="test_spektrum" board="booz_1.0"/> <target name="test_spektrum" board="booz_1.0"/>
<target name="tunnel" board="booz_1.0"/> <target name="tunnel" board="booz_1.0"/>
@@ -28,7 +28,6 @@
<firmware name="setup"> <firmware name="setup">
<target name="tunnel" board="tiny_2.11"/> <target name="tunnel" board="tiny_2.11"/>
<target name="setup_actuators" board="tiny_2.11"/>
</firmware> </firmware>
<servos> <servos>
-1
View File
@@ -171,7 +171,6 @@
<firmware name="setup"> <firmware name="setup">
<target name="tunnel" board="tiny_0.99" /> <target name="tunnel" board="tiny_0.99" />
<target name="setup_actuators" board="tiny_0.99" />
</firmware> </firmware>
<modules> <modules>
-1
View File
@@ -31,7 +31,6 @@
<firmware name="setup"> <firmware name="setup">
<target name="tunnel" board="twog_1.0" /> <target name="tunnel" board="twog_1.0" />
<target name="setup_actuators" board="twog_1.0" />
</firmware> </firmware>
<modules> <modules>
-1
View File
@@ -30,7 +30,6 @@
<firmware name="setup"> <firmware name="setup">
<target name="tunnel" board="twog_1.0"/> <target name="tunnel" board="twog_1.0"/>
<target name="setup_actuators" board="twog_1.0"/>
</firmware> </firmware>
<!-- commands section --> <!-- commands section -->
-13
View File
@@ -225,18 +225,5 @@
<target name="test_actuators_asctecv1" board="lisa_l_1.1"/> <target name="test_actuators_asctecv1" board="lisa_l_1.1"/>
</firmware> </firmware>
<firmware name="lisa_passthrough">
<target name="overo_test_passthrough" board="lisa_l_1.1" >
<configure name="HOST" value="A7"/>
<configure name="USER" value=""/>
<configure name="TARGET_DIR" value="~"/>
<configure name="PERIODIC_FREQ" value="512"/>
</target>
<target name="stm_passthrough" board="lisa_l_1.1">
<subsystem name="radio_control" type="spektrum"/>
<subsystem name="imu" type="b2_v1.1"/>
</target>
</firmware>
</airframe> </airframe>
-1
View File
@@ -56,7 +56,6 @@ http://paparazzi.enac.fr/w/index.php?title=Theory_of_Operation
<firmware name="setup"> <firmware name="setup">
<target name="tunnel" board="twog_1.0" /> <target name="tunnel" board="twog_1.0" />
<target name="usb_tunnel_0" board="twog_1.0" /> <target name="usb_tunnel_0" board="twog_1.0" />
<target name="setup_actuators" board="twog_1.0" />
</firmware> </firmware>
-1
View File
@@ -36,7 +36,6 @@
<firmware name="setup"> <firmware name="setup">
<target name="tunnel" board="tiny_2.11"/> <target name="tunnel" board="tiny_2.11"/>
<target name="setup_actuators" board="tiny_2.11"/>
</firmware> </firmware>
<modules main_freq="60"> <modules main_freq="60">
-1
View File
@@ -39,7 +39,6 @@
<firmware name="setup"> <firmware name="setup">
<target name="tunnel" board="tiny_2.11"/> <target name="tunnel" board="tiny_2.11"/>
<target name="setup_actuators" board="tiny_2.11"/>
</firmware> </firmware>
<!-- commands section --> <!-- commands section -->
-1
View File
@@ -31,7 +31,6 @@
<firmware name="setup"> <firmware name="setup">
<target name="tunnel" board="twog_1.0" /> <target name="tunnel" board="twog_1.0" />
<target name="usb_tunnel_0" board="twog_1.0" /> <target name="usb_tunnel_0" board="twog_1.0" />
<target name="setup_actuators" board="twog_1.0" />
</firmware> </firmware>
<modules main_freq="60"> <modules main_freq="60">
-1
View File
@@ -202,7 +202,6 @@
<target name="tunnel" board="tiny_1.1" /> <target name="tunnel" board="tiny_1.1" />
<target name="usb_tunnel_0" board="tiny_1.1" /> <target name="usb_tunnel_0" board="tiny_1.1" />
<target name="usb_tunnel_1" board="tiny_1.1" /> <target name="usb_tunnel_1" board="tiny_1.1" />
<target name="setup_actuators" board="tiny_1.1" />
</firmware> </firmware>
</airframe> </airframe>
-1
View File
@@ -33,7 +33,6 @@
<target name="tunnel" board="twog_1.0" /> <target name="tunnel" board="twog_1.0" />
<target name="usb_tunnel_0" board="twog_1.0" /> <target name="usb_tunnel_0" board="twog_1.0" />
<target name="usb_tunnel_1" board="twog_1.0" /> <target name="usb_tunnel_1" board="twog_1.0" />
<target name="setup_actuators" board="twog_1.0" />
</firmware> </firmware>
<modules> <modules>
-1
View File
@@ -32,7 +32,6 @@
<firmware name="setup"> <firmware name="setup">
<target name="tunnel" board="twog_1.0" /> <target name="tunnel" board="twog_1.0" />
<target name="setup_actuators" board="twog_1.0" />
</firmware> </firmware>
<modules> <modules>
-1
View File
@@ -29,7 +29,6 @@
<firmware name="setup"> <firmware name="setup">
<target name="tunnel" board="twog_1.0"/> <target name="tunnel" board="twog_1.0"/>
<target name="setup_actuators" board="twog_1.0"/>
</firmware> </firmware>
<modules> <modules>
+1
View File
@@ -528,6 +528,7 @@ test_actuators_asctecv1.srcs = $(COMMON_TEST_SRCS)
test_actuators_asctecv1.CFLAGS += $(COMMON_TELEMETRY_CFLAGS) test_actuators_asctecv1.CFLAGS += $(COMMON_TELEMETRY_CFLAGS)
test_actuators_asctecv1.srcs += $(COMMON_TELEMETRY_SRCS) test_actuators_asctecv1.srcs += $(COMMON_TELEMETRY_SRCS)
test_actuators_asctecv1.srcs += test/test_actuators.c
test_actuators_asctecv1.srcs += $(SRC_FIRMWARE)/commands.c test_actuators_asctecv1.srcs += $(SRC_FIRMWARE)/commands.c
test_actuators_asctecv1.CFLAGS += -DACTUATORS_ASCTEC_DEVICE=i2c1 test_actuators_asctecv1.CFLAGS += -DACTUATORS_ASCTEC_DEVICE=i2c1
test_actuators_asctecv1.srcs += $(SRC_FIRMWARE)/actuators/actuators_asctec.c test_actuators_asctecv1.srcs += $(SRC_FIRMWARE)/actuators/actuators_asctec.c
+6 -1
View File
@@ -97,11 +97,16 @@ endif
# a test program to setup actuators # a test program to setup actuators
ifeq ($(ARCH), lpc21) ifeq ($(ARCH), lpc21)
setup_actuators.CFLAGS += -DFBW -DUSE_LED -DSYS_TIME_LED=1 setup_actuators.CFLAGS += -DFBW -DUSE_LED -DPERIPHERALS_AUTO_INIT
setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1 setup_actuators.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -DDOWNLINK_DEVICE=Uart1 -DPPRZ_UART=Uart1
setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ
setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1 setup_actuators.CFLAGS += -DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1
setup_actuators.CFLAGS += $(SETUP_INC) -Ifirmwares/fixedwing setup_actuators.CFLAGS += $(SETUP_INC) -Ifirmwares/fixedwing
ifneq ($(SYS_TIME_LED),none)
setup_actuators.CFLAGS += -DSYS_TIME_LED=$(SYS_TIME_LED)
endif
setup_actuators.CFLAGS += -DPERIODIC_FREQUENCY='60'
setup_actuators.CFLAGS += -DUSE_SYS_TIME
setup_actuators.srcs += mcu_periph/sys_time.c $(SRC_ARCH)/mcu_periph/sys_time_arch.c $(SRC_ARCH)/armVIC.c subsystems/datalink/pprz_transport.c subsystems/datalink/downlink.c $(SRC_FIRMWARE)/setup_actuators.c mcu_periph/uart.c $(SRC_ARCH)/mcu_periph/uart_arch.c firmwares/fixedwing/main.c mcu.c $(SRC_ARCH)/mcu_arch.c setup_actuators.srcs += mcu_periph/sys_time.c $(SRC_ARCH)/mcu_periph/sys_time_arch.c $(SRC_ARCH)/armVIC.c subsystems/datalink/pprz_transport.c subsystems/datalink/downlink.c $(SRC_FIRMWARE)/setup_actuators.c mcu_periph/uart.c $(SRC_ARCH)/mcu_periph/uart_arch.c firmwares/fixedwing/main.c mcu.c $(SRC_ARCH)/mcu_arch.c
else ifeq ($(TARGET),setup_actuators) else ifeq ($(TARGET),setup_actuators)
$(error setup_actuators currently only implemented for the lpc21) $(error setup_actuators currently only implemented for the lpc21)
+9 -80
View File
@@ -2,92 +2,21 @@
<conf> <conf>
<!-- NOTE: All targets in the example config need to be on single lines so that the "make test_all_example_airframes" target can build all targets for each aircraft airframe -->
<!-- arm7 aircrafts --> <!-- arm7 aircrafts -->
<!-- booz2 --> <!-- booz2 -->
<aircraft <aircraft name="BOOZ2_A1" ac_id="150" airframe="airframes/Poine/booz2_a1.xml" radio="radios/cockpitSX.xml" telemetry="telemetry/telemetry_booz2.xml" flight_plan="flight_plans/dummy.xml" settings="settings/settings_booz2.xml settings/settings_booz2_ahrs_cmpl.xml" gui_color="white" />
name="BOOZ2_A1"
ac_id="150"
airframe="airframes/Poine/booz2_a1.xml"
radio="radios/cockpitSX.xml"
telemetry="telemetry/default_rotorcraft.xml"
flight_plan="flight_plans/dummy.xml"
settings="settings/settings_booz2.xml settings/settings_booz2_ahrs_cmpl.xml"
gui_color="white"
/>
<!-- LISA --> <!-- LISA -->
<aircraft <aircraft name="Hexa_LisaL" ac_id="153" airframe="airframes/Poine/h_hex.xml" radio="radios/cockpitSX.xml" telemetry="telemetry/telemetry_booz2.xml" flight_plan="flight_plans/dummy.xml" settings="settings/settings_booz2.xml" gui_color="white" />
name="Hexa_LisaL" <aircraft name="LISA_ASCTEC_PIOTR" ac_id="161" airframe="airframes/esden/lisa_asctec.xml" radio="radios/cockpitSX.xml" telemetry="telemetry/telemetry_booz2.xml" flight_plan="flight_plans/dummy.xml" settings="settings/settings_booz2.xml settings/settings_booz2_ahrs_cmpl.xml" gui_color="white" />
ac_id="153"
airframe="airframes/Poine/h_hex.xml"
radio="radios/cockpitSX.xml"
telemetry="telemetry/default_rotorcraft.xml"
flight_plan="flight_plans/dummy.xml"
settings="settings/settings_booz2.xml"
gui_color="white"
/>
<aircraft
name="BOOZ2_A7"
ac_id="159"
airframe="airframes/Poine/booz2_a7.xml"
radio="radios/cockpitSX.xml"
telemetry="telemetry/default_rotorcraft.xml"
flight_plan="flight_plans/dummy.xml"
settings="settings/settings_booz2.xml"
gui_color="white"
/>
<aircraft
name="LISA_ASCTEC_PIOTR"
ac_id="161"
airframe="airframes/esden/lisa_asctec.xml"
radio="radios/cockpitSX.xml"
telemetry="telemetry/default_rotorcraft.xml"
flight_plan="flight_plans/dummy.xml"
settings="settings/settings_booz2.xml settings/settings_booz2_ahrs_cmpl.xml"
gui_color="white"
/>
<!-- tiny --> <!-- tiny -->
<aircraft <aircraft name="Microjet" ac_id="5" airframe="airframes/microjet_example.xml" radio="radios/cockpitMM.xml" telemetry="telemetry/default.xml" flight_plan="flight_plans/basic.xml" settings="settings/basic_infrared.xml" gui_color="#6293ba" />
name="Microjet" <aircraft name="Tiny_IMU" ac_id="7" airframe="airframes/example_twog_analogimu.xml" radio="radios/cockpitSX.xml" telemetry="telemetry/default_fixedwing_imu.xml" flight_plan="flight_plans/versatile.xml" settings="settings/tuning_ins.xml" gui_color="blue" />
ac_id="5" <aircraft name="Twinjet" ac_id="6" airframe="airframes/twinjet_example.xml" radio="radios/cockpitMM.xml" telemetry="telemetry/default.xml" flight_plan="flight_plans/versatile.xml" settings="settings/tuning.xml settings/infrared.xml" gui_color="#ba6293" />
airframe="airframes/microjet_example.xml" <aircraft name="EasyStar_ETS" ac_id="8" airframe="airframes/easystar_ets_example.xml" radio="radios/cockpitSX.xml" telemetry="telemetry/default.xml" flight_plan="flight_plans/versatile.xml" settings="settings/tuning.xml settings/infrared.xml" gui_color="red" />
radio="radios/cockpitMM.xml"
telemetry="telemetry/default_fixedwing.xml"
flight_plan="flight_plans/basic.xml"
settings="settings/basic_infrared.xml"
gui_color="#6293ba"
/>
<aircraft
name="Tiny_IMU"
ac_id="7"
airframe="airframes/example_twog_analogimu.xml"
radio="radios/cockpitSX.xml"
telemetry="telemetry/default_fixedwing_imu.xml"
flight_plan="flight_plans/versatile.xml"
settings="settings/tuning_ins.xml"
gui_color="blue"
/>
<aircraft
name="Twinjet"
ac_id="6"
airframe="airframes/twinjet_example.xml"
radio="radios/cockpitMM.xml"
telemetry="telemetry/default_fixedwing.xml"
flight_plan="flight_plans/versatile.xml"
settings="settings/tuning.xml settings/infrared.xml"
gui_color="#ba6293"
/>
<aircraft
name="EasyStar_ETS"
ac_id="8"
airframe="airframes/easystar_ets_example.xml"
radio="radios/cockpitSX.xml"
telemetry="telemetry/default_fixedwing.xml"
flight_plan="flight_plans/versatile.xml"
settings="settings/tuning.xml settings/infrared.xml"
gui_color="red"
/>
</conf> </conf>
+1 -2
View File
@@ -80,7 +80,6 @@ static inline void abort_and_reset(struct i2c_periph *p) {
end_of_transaction(p); end_of_transaction(p);
} }
#ifdef USE_I2C2
static inline void on_status_start_requested(struct i2c_periph *periph, struct i2c_transaction* trans, uint32_t event); static inline void on_status_start_requested(struct i2c_periph *periph, struct i2c_transaction* trans, uint32_t event);
static inline void on_status_addr_wr_sent(struct i2c_periph *periph, struct i2c_transaction* trans, uint32_t event); static inline void on_status_addr_wr_sent(struct i2c_periph *periph, struct i2c_transaction* trans, uint32_t event);
static inline void on_status_sending_byte(struct i2c_periph *periph, struct i2c_transaction* trans, uint32_t event); static inline void on_status_sending_byte(struct i2c_periph *periph, struct i2c_transaction* trans, uint32_t event);
@@ -439,7 +438,7 @@ static inline void i2c_reset_init(struct i2c_periph *p)
// enable error interrupts // enable error interrupts
I2C_ITConfig(p->reg_addr, I2C_IT_ERR, ENABLE); I2C_ITConfig(p->reg_addr, I2C_IT_ERR, ENABLE);
} }
#endif /* USE_I2C2 */
#ifdef USE_I2C1 #ifdef USE_I2C1
+2 -2
View File
@@ -47,7 +47,7 @@ int main(void) {
main_init(); main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic_task(); main_periodic_task();
main_event_task(); main_event_task();
} }
@@ -57,7 +57,7 @@ int main(void) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
booz2_analog_init(); booz2_analog_init();
baro_init(); baro_init();
mcu_int_enable(); mcu_int_enable();
+4 -2
View File
@@ -33,6 +33,8 @@
#include "mcu_periph/sys_time.h" #include "mcu_periph/sys_time.h"
#include "mcu_periph/uart.h" #include "mcu_periph/uart.h"
#include "led.h"
#include "subsystems/datalink/downlink.h" #include "subsystems/datalink/downlink.h"
#include "subsystems/sensors/baro.h" #include "subsystems/sensors/baro.h"
@@ -50,7 +52,7 @@ int main(void) {
main_init(); main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic_task(); main_periodic_task();
main_event_task(); main_event_task();
} }
@@ -60,7 +62,7 @@ int main(void) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
baro_init(); baro_init();
// DEBUG_SERVO1_INIT(); // DEBUG_SERVO1_INIT();
@@ -51,7 +51,7 @@ static inline void main_event_task( void );
int main( void ) { int main( void ) {
main_init(); main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic_task(); main_periodic_task();
main_event_task(); main_event_task();
} }
@@ -60,7 +60,7 @@ int main( void ) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
mcu_int_enable(); mcu_int_enable();
} }
+2 -2
View File
@@ -45,7 +45,7 @@ static inline void on_imu_event(void);
int main( void ) { int main( void ) {
main_init(); main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic_task(); main_periodic_task();
main_event_task(); main_event_task();
} }
@@ -54,7 +54,7 @@ int main( void ) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
led_init(); led_init();
/* LED_ON(4); */ /* LED_ON(4); */
+2 -2
View File
@@ -39,7 +39,7 @@ static void on_gps_sol(void);
int main( void ) { int main( void ) {
main_init(); main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic_task(); main_periodic_task();
main_event_task(); main_event_task();
} }
@@ -48,7 +48,7 @@ int main( void ) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
led_init(); led_init();
gps_init(); gps_init();
mcu_int_enable(); mcu_int_enable();
+2 -2
View File
@@ -48,7 +48,7 @@ static void SSP_ISR(void) __attribute__((naked));
int main( void ) { int main( void ) {
main_init(); main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic_task(); main_periodic_task();
main_event_task(); main_event_task();
} }
@@ -57,7 +57,7 @@ int main( void ) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
main_init_ssp(); main_init_ssp();
max1168_init(); max1168_init();
+2 -2
View File
@@ -50,7 +50,7 @@ static void SSP_ISR(void) __attribute__((naked));
int main( void ) { int main( void ) {
main_init(); main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic_task(); main_periodic_task();
main_event_task(); main_event_task();
} }
@@ -59,7 +59,7 @@ int main( void ) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
led_init(); led_init();
uart1_init_tx(); uart1_init_tx();
+2 -2
View File
@@ -43,7 +43,7 @@ static inline void main_event_task( void );
int main( void ) { int main( void ) {
main_init(); main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic_task(); main_periodic_task();
main_event_task(); main_event_task();
} }
@@ -52,7 +52,7 @@ int main( void ) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
led_init(); led_init();
VCOM_init(); VCOM_init();
+2 -2
View File
@@ -142,7 +142,7 @@ static void on_gpspos_cmd( struct CscGPSPosMsg *msg )
static void csc_main_init( void ) { static void csc_main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
led_init(); led_init();
Uart0Init(); Uart0Init();
@@ -213,7 +213,7 @@ static void csc_main_event( void )
int main( void ) { int main( void ) {
csc_main_init(); csc_main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
csc_main_periodic(); csc_main_periodic();
csc_main_event(); csc_main_event();
} }
+2 -2
View File
@@ -67,7 +67,7 @@ struct NedCoor_i booz_ins_gps_speed_cm_s_ned;
static void csc_main_init( void ) { static void csc_main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
led_init(); led_init();
#ifdef USE_UART0 #ifdef USE_UART0
@@ -219,7 +219,7 @@ static inline void on_motor_cmd(struct CscMotorMsg *msg)
int main( void ) { int main( void ) {
csc_main_init(); csc_main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
csc_main_periodic(); csc_main_periodic();
csc_main_event(); csc_main_event();
} }
+2 -2
View File
@@ -81,7 +81,7 @@ static uint32_t can_msg_count = 0;
static void csc_main_init( void ) { static void csc_main_init( void ) {
hw_init(); hw_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
led_init(); led_init();
actuators_init(); actuators_init();
@@ -252,7 +252,7 @@ int main( void ) {
csc_main_init(); csc_main_init();
// Uart0PrintString("Hello"); // Uart0PrintString("Hello");
while(1) { while(1) {
if (sys_time_periodic()) { if (sys_time_check_and_ack_timer(0)) {
csc_main_periodic(); csc_main_periodic();
} }
csc_main_event(); csc_main_event();
+2 -2
View File
@@ -74,7 +74,7 @@ static inline void csc_main_event( void );
int main( void ) { int main( void ) {
csc_main_init(); csc_main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
csc_main_periodic(); csc_main_periodic();
csc_main_event(); csc_main_event();
} }
@@ -106,7 +106,7 @@ static void on_rc_cmd(struct CscRCMsg *msg)
static inline void csc_main_init( void ) { static inline void csc_main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
led_init(); led_init();
Uart0Init(); Uart0Init();
+2 -2
View File
@@ -53,7 +53,7 @@ static uint16_t cpu_time = 0;
static void csc_main_init( void ) { static void csc_main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
led_init(); led_init();
Uart0Init(); Uart0Init();
@@ -123,7 +123,7 @@ static void csc_main_event( void )
int main( void ) { int main( void ) {
csc_main_init(); csc_main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
csc_main_periodic(); csc_main_periodic();
csc_main_event(); csc_main_event();
} }
+2 -2
View File
@@ -17,7 +17,7 @@ static inline void main_on_bench_sensors( void );
int main( void ) { int main( void ) {
main_init(); main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic_task(); main_periodic_task();
} }
return 0; return 0;
@@ -25,7 +25,7 @@ int main( void ) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
mcu_int_enable(); mcu_int_enable();
} }
+2 -2
View File
@@ -64,7 +64,7 @@ int main(void) {
servos[3] = 4; servos[3] = 4;
while (1) { while (1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic(); main_periodic();
main_event(); main_event();
} }
@@ -74,7 +74,7 @@ int main(void) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
main_init_adc(); main_init_adc();
bench_sensors_init(); bench_sensors_init();
mcu_int_enable(); mcu_int_enable();
+2 -2
View File
@@ -54,7 +54,7 @@ int main(void) {
main_init(); main_init();
while (1) { while (1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic(); main_periodic();
main_event(); main_event();
} }
@@ -63,7 +63,7 @@ int main(void) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
actuators_init(); actuators_init();
//radio_control_init(); //radio_control_init();
imu_init(); imu_init();
@@ -22,6 +22,9 @@ void sys_time_arch_init( void ) {
/* enable timer 0 */ /* enable timer 0 */
T0TCR = TCR_ENABLE; T0TCR = TCR_ENABLE;
/* set first sys tick interrupt */
T0MR0 = SYS_TIME_RESOLUTION_CPU_TICKS;
/* select TIMER0 as IRQ */ /* select TIMER0 as IRQ */
VICIntSelect &= ~VIC_BIT(VIC_TIMER0); VICIntSelect &= ~VIC_BIT(VIC_TIMER0);
/* enable TIMER0 interrupt */ /* enable TIMER0 interrupt */
@@ -30,9 +33,6 @@ void sys_time_arch_init( void ) {
_VIC_CNTL(TIMER0_VIC_SLOT) = VIC_ENABLE | VIC_TIMER0; _VIC_CNTL(TIMER0_VIC_SLOT) = VIC_ENABLE | VIC_TIMER0;
/* address of the ISR */ /* address of the ISR */
_VIC_ADDR(TIMER0_VIC_SLOT) = (uint32_t)TIMER0_ISR; _VIC_ADDR(TIMER0_VIC_SLOT) = (uint32_t)TIMER0_ISR;
/* set first sys tick interrupt */
T0MR1 = SYS_TIME_RESOLUTION_CPU_TICKS;
} }
static inline void sys_tick_irq_handler(void) { static inline void sys_tick_irq_handler(void) {
+13 -20
View File
@@ -7,12 +7,12 @@
#include "generated/airframe.h" #include "generated/airframe.h"
#define DATALINK_C #define DATALINK_C
#include "subsystems/datalink/datalink.h" #include "subsystems/datalink/datalink.h"
#include "mcu_periph/uart.h"
#include "subsystems/datalink/pprz_transport.h" #include "subsystems/datalink/pprz_transport.h"
#include "firmwares/fixedwing/main_fbw.h" #include "mcu_periph/uart.h"
#include "subsystems/datalink/downlink.h" #include "subsystems/datalink/downlink.h"
#include "generated/settings.h" #include "firmwares/fixedwing/main_fbw.h"
#include "generated/settings.h"
#define IdOfMsg(x) (x[1]) #define IdOfMsg(x) (x[1])
@@ -44,14 +44,9 @@ void dl_parse_msg( void ) {
#endif #endif
} }
#define PprzUartInit() Link(Init())
void init_fbw( void ) { void init_fbw( void ) {
mcu_init(); mcu_init();
sys_time_init();
led_init();
PprzUartInit();
actuators_init(); actuators_init();
@@ -62,9 +57,18 @@ void init_fbw( void ) {
// SetServo(SERVO_GAZ, SERVO_GAZ_MIN); // SetServo(SERVO_GAZ, SERVO_GAZ_MIN);
sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
mcu_int_enable(); mcu_int_enable();
} }
void handle_periodic_tasks_fbw(void) {
if (sys_time_check_and_ack_timer(0))
periodic_task_fbw();
}
void periodic_task_fbw(void) { void periodic_task_fbw(void) {
/* static float t; */ /* static float t; */
/* t += 1./60.; */ /* t += 1./60.; */
@@ -76,16 +80,5 @@ void periodic_task_fbw(void) {
} }
void event_task_fbw(void) { void event_task_fbw(void) {
if (PprzBuffer()) { DatalinkEvent();
ReadPprzBuffer();
}
if (pprz_msg_received) {
pprz_msg_received = FALSE;
pprz_parse_payload();
LED_TOGGLE(3);
}
if (dl_msg_available) {
dl_parse_msg();
dl_msg_available = FALSE;
}
} }
+2 -2
View File
@@ -30,7 +30,7 @@ uint16_t datalink_time;
int main( void ) { int main( void ) {
main_init(); main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic_task(); main_periodic_task();
main_event_task( ); main_event_task( );
} }
@@ -39,7 +39,7 @@ int main( void ) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
led_init(); led_init();
uart0_init(); uart0_init();
+2 -2
View File
@@ -29,7 +29,7 @@ uint16_t datalink_time;
int main( void ) { int main( void ) {
main_init(); main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic_task(); main_periodic_task();
main_event_task( ); main_event_task( );
} }
@@ -38,7 +38,7 @@ int main( void ) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
led_init(); led_init();
uart0_init(); uart0_init();
+2 -2
View File
@@ -42,7 +42,7 @@ static void SPI0_ISR(void) __attribute__((naked));
int main( void ) { int main( void ) {
main_init(); main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic_task(); main_periodic_task();
main_event_task(); main_event_task();
} }
@@ -51,7 +51,7 @@ int main( void ) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
main_spi_init(); main_spi_init();
mcu_int_enable(); mcu_int_enable();
} }
+2 -2
View File
@@ -26,7 +26,7 @@ uint16_t datalink_time;
int main( void ) { int main( void ) {
main_init(); main_init();
while(1) { while(1) {
if (sys_time_periodic()) if (sys_time_check_and_ack_timer(0))
main_periodic_task(); main_periodic_task();
main_event_task( ); main_event_task( );
} }
@@ -35,7 +35,7 @@ int main( void ) {
static inline void main_init( void ) { static inline void main_init( void ) {
mcu_init(); mcu_init();
sys_time_init(); sys_time_register_timer((1./PERIODIC_FREQUENCY), NULL);
led_init(); led_init();
Uart0Init(); Uart0Init();
+1 -1
View File
@@ -39,7 +39,7 @@ void imu_init(void) {
#if defined IMU_MAG_X_NEUTRAL && defined IMU_MAG_Y_NEUTRAL && defined IMU_MAG_Z_NEUTRAL #if defined IMU_MAG_X_NEUTRAL && defined IMU_MAG_Y_NEUTRAL && defined IMU_MAG_Z_NEUTRAL
VECT3_ASSIGN(imu.mag_neutral, IMU_MAG_X_NEUTRAL, IMU_MAG_Y_NEUTRAL, IMU_MAG_Z_NEUTRAL); VECT3_ASSIGN(imu.mag_neutral, IMU_MAG_X_NEUTRAL, IMU_MAG_Y_NEUTRAL, IMU_MAG_Z_NEUTRAL);
#else #else
#warning Info: Magnetomter neutrals are set to zero. #pragma message "Info: Magnetomter neutrals are set to zero."
INT_VECT3_ZERO(imu.mag_neutral); INT_VECT3_ZERO(imu.mag_neutral);
#endif #endif