added actuators mkk test for booz boards

This commit is contained in:
Antoine Drouin
2010-09-03 15:30:48 +00:00
parent 8bbe76f6d4
commit 057d0ecfa0
4 changed files with 58 additions and 22 deletions
+6 -6
View File
@@ -203,18 +203,18 @@
</target> </target>
<subsystem name="radio_control" type="ppm"/> <subsystem name="radio_control" type="ppm"/>
<subsystem name="actuators" type="mkk"/> <subsystem name="actuators" type="mkk"/>
<subsystem name="imu" type="b2_v1.1"/> <subsystem name="imu" type="b2_v1.0"/>
<!-- <subsystem name="imu" type="b2_v1.0"/> -->
<subsystem name="gps" type="ublox"/> <subsystem name="gps" type="ublox"/>
<subsystem name="ahrs" type="cmpl"/> <subsystem name="ahrs" type="cmpl"/>
<subsystem name="ins" type="hff"/> <subsystem name="ins" type="hff"/>
</firmware> </firmware>
<firmware name="booz_test_progs"> <firmware name="booz_test_progs">
<target name="test_telemetry" board="booz_1.0"/> <target name="test_telemetry" board="booz_1.0"/>
<target name="test_baro" 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_spektrum" board="booz_1.0"/>
<target name="test_rc_ppm" board="booz_1.0"/> <target name="test_rc_ppm" board="booz_1.0"/>
<target name="test_actuators_mkk" board="booz_1.0"/>
</firmware> </firmware>
+33 -1
View File
@@ -163,4 +163,36 @@ test_rc_ppm.CFLAGS += -DRADIO_CONTROL_TYPE_H=\"radio_control/booz_radio_control_
test_rc_ppm.CFLAGS += -DRADIO_CONTROL_TYPE_PPM test_rc_ppm.CFLAGS += -DRADIO_CONTROL_TYPE_PPM
test_rc_ppm.srcs += $(SRC_BOOZ)/booz_radio_control.c \ test_rc_ppm.srcs += $(SRC_BOOZ)/booz_radio_control.c \
$(SRC_BOOZ)/radio_control/booz_radio_control_ppm.c \ $(SRC_BOOZ)/radio_control/booz_radio_control_ppm.c \
$(SRC_BOOZ_ARCH)/radio_control/booz_radio_control_ppm_arch.c $(SRC_BOOZ_ARCH)/radio_control/booz_radio_control_ppm_arch.c
#
# test actuators mkk
#
test_actuators_mkk.ARCHDIR = $(ARCHI)
test_actuators_mkk.ARCH = arm7tdmi
test_actuators_mkk.TARGET = test_actuators_mkk
test_actuators_mkk.TARGETDIR = test_actuators_mkk
test_actuators_mkk.CFLAGS = -I$(SRC_BOOZ) -I$(SRC_BOOZ_ARCH) -DPERIPHERALS_AUTO_INIT
test_actuators_mkk.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
test_actuators_mkk.srcs = test/test_actuators.c \
$(SRC_ARCH)/armVIC.c
test_actuators_mkk.CFLAGS += -DUSE_LED
test_actuators_mkk.CFLAGS += -DUSE_SYS_TIME -DSYS_TIME_LED=$(SYS_TIME_LED)
test_actuators_mkk.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC(1./512.)'
test_actuators_mkk.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
test_actuators_mkk.CFLAGS += -DUSE_$(MODEM_PORT) -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
test_actuators_mkk.srcs += $(SRC_ARCH)/uart_hw.c
test_actuators_mkk.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=$(MODEM_PORT)
test_actuators_mkk.srcs += downlink.c pprz_transport.c
test_actuators_mkk.srcs += $(SRC_BOOZ)/booz2_commands.c
test_actuators_mkk.srcs += $(SRC_BOOZ)/actuators/booz_actuators_mkk.c
test_actuators_mkk.CFLAGS += -DACTUATORS_MKK_DEVICE=i2c0
test_actuators_mkk.srcs += $(SRC_BOOZ)/actuators/booz_supervision.c
test_actuators_mkk.CFLAGS += -DUSE_I2C0
test_actuators_mkk.srcs += i2c.c $(SRC_ARCH)/i2c_hw.c
+8 -6
View File
@@ -15,7 +15,7 @@ void ami601_init( void ) {
for (i=0; i< AMI601_NB_CHAN; i++) { for (i=0; i< AMI601_NB_CHAN; i++) {
ami601_values[i] = 0; ami601_values[i] = 0;
} }
ami601_i2c_done = TRUE; ami601_i2c_trans.status = I2CTransSuccess;
ami601_nb_err = 0; ami601_nb_err = 0;
ami601_status = AMI601_IDLE; ami601_status = AMI601_IDLE;
@@ -27,11 +27,13 @@ void ami601_read( void ) {
ami601_nb_err++; ami601_nb_err++;
} }
else { else {
ami601_i2c_done = FALSE;
ami601_status = AMI601_SENDING_REQ; ami601_status = AMI601_SENDING_REQ;
i2c1_buf[0] = 0x55; ami601_i2c_trans.type = I2CTransTx;
i2c1_buf[1] = 0xAA; ami601_i2c_trans.len_w = 3;
i2c1_buf[2] = 0x14; ami601_i2c_trans.slave_addr = AMI601_SLAVE_ADDR;
i2c1_transmit(AMI601_SLAVE_ADDR, 3, &ami601_i2c_done); ami601_i2c_trans.buf[0] = 0x55;
ami601_i2c_trans.buf[1] = 0xAA;
ami601_i2c_trans.buf[2] = 0x14;
i2c_submit(&i2c1, &ami601_i2c_trans);
} }
} }
+11 -9
View File
@@ -36,7 +36,7 @@ extern volatile uint32_t ami601_nb_err;
#define AMI601Event(_handler) { \ #define AMI601Event(_handler) { \
switch (ami601_status) { \ switch (ami601_status) { \
case AMI601_SENDING_REQ : \ case AMI601_SENDING_REQ : \
if ( ami601_i2c_done ) { \ if ( ami601_i2c_trans.status == I2CTransSuccess ) { \
/* trigger delay for measurement */ \ /* trigger delay for measurement */ \
T0MR1 = T0TC + SYS_TICS_OF_USEC(12288); \ T0MR1 = T0TC + SYS_TICS_OF_USEC(12288); \
/* clear match 1 interrupt */ \ /* clear match 1 interrupt */ \
@@ -47,14 +47,14 @@ extern volatile uint32_t ami601_nb_err;
} \ } \
break; \ break; \
case AMI601_READING_MEASURE : \ case AMI601_READING_MEASURE : \
if ( ami601_i2c_done ) { \ if ( ami601_i2c_trans.status == I2CTransSuccess ) { \
ami601_foo1 = i2c1_buf[0]; /* AA ? */ \ ami601_foo1 = ami601_i2c_trans.buf[0]; /* AA ? */ \
ami601_foo2 = i2c1_buf[1]; /* 55 ? */ \ ami601_foo2 = ami601_i2c_trans.buf[1]; /* 55 ? */ \
ami601_foo3 = i2c1_buf[2]; /* ERR ? */ \ ami601_foo3 = ami601_i2c_trans.buf[2]; /* ERR ? */ \
uint8_t i; \ uint8_t i; \
for (i=0; i< AMI601_NB_CHAN; i++) { \ for (i=0; i< AMI601_NB_CHAN; i++) { \
ami601_values[i] = i2c1_buf[3 + 2 * i]; \ ami601_values[i] = ami601_i2c_trans.buf[3 + 2 * i]; \
ami601_values[i] += i2c1_buf[3 + 2 * i + 1] * 256; \ ami601_values[i] += ami601_i2c_trans.buf[3 + 2 * i + 1] * 256; \
} \ } \
ami601_status = AMI601_DATA_AVAILABLE; \ ami601_status = AMI601_DATA_AVAILABLE; \
_handler(); \ _handler(); \
@@ -67,9 +67,11 @@ extern volatile uint32_t ami601_nb_err;
#define AMI601_IT TIR_MR1I #define AMI601_IT TIR_MR1I
#define AMI601_ISR() AMI601ReadMeasure() #define AMI601_ISR() AMI601ReadMeasure()
#define AMI601ReadMeasure() { \ #define AMI601ReadMeasure() { \
ami601_i2c_done = FALSE; \
ami601_status = AMI601_READING_MEASURE; \ ami601_status = AMI601_READING_MEASURE; \
i2c1_receive(AMI601_SLAVE_ADDR, 15, &ami601_i2c_done); \ ami601_i2c_trans.type = I2CTransRx; \
ami601_i2c_trans.len_r = 15; \
ami601_i2c_trans.slave_addr = AMI601_SLAVE_ADDR; \
i2c_submit(&i2c1, &ami601_i2c_trans); \
} }
#endif /* AMI601_H */ #endif /* AMI601_H */