mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-05 15:30:08 +08:00
added actuators mkk test for booz boards
This commit is contained in:
@@ -203,18 +203,18 @@
|
||||
</target>
|
||||
<subsystem name="radio_control" type="ppm"/>
|
||||
<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="ahrs" type="cmpl"/>
|
||||
<subsystem name="ins" type="hff"/>
|
||||
</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_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_actuators_mkk" board="booz_1.0"/>
|
||||
</firmware>
|
||||
|
||||
|
||||
|
||||
@@ -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.srcs += $(SRC_BOOZ)/booz_radio_control.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
|
||||
@@ -15,7 +15,7 @@ void ami601_init( void ) {
|
||||
for (i=0; i< AMI601_NB_CHAN; i++) {
|
||||
ami601_values[i] = 0;
|
||||
}
|
||||
ami601_i2c_done = TRUE;
|
||||
ami601_i2c_trans.status = I2CTransSuccess;
|
||||
ami601_nb_err = 0;
|
||||
ami601_status = AMI601_IDLE;
|
||||
|
||||
@@ -27,11 +27,13 @@ void ami601_read( void ) {
|
||||
ami601_nb_err++;
|
||||
}
|
||||
else {
|
||||
ami601_i2c_done = FALSE;
|
||||
ami601_status = AMI601_SENDING_REQ;
|
||||
i2c1_buf[0] = 0x55;
|
||||
i2c1_buf[1] = 0xAA;
|
||||
i2c1_buf[2] = 0x14;
|
||||
i2c1_transmit(AMI601_SLAVE_ADDR, 3, &ami601_i2c_done);
|
||||
ami601_i2c_trans.type = I2CTransTx;
|
||||
ami601_i2c_trans.len_w = 3;
|
||||
ami601_i2c_trans.slave_addr = AMI601_SLAVE_ADDR;
|
||||
ami601_i2c_trans.buf[0] = 0x55;
|
||||
ami601_i2c_trans.buf[1] = 0xAA;
|
||||
ami601_i2c_trans.buf[2] = 0x14;
|
||||
i2c_submit(&i2c1, &ami601_i2c_trans);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ extern volatile uint32_t ami601_nb_err;
|
||||
#define AMI601Event(_handler) { \
|
||||
switch (ami601_status) { \
|
||||
case AMI601_SENDING_REQ : \
|
||||
if ( ami601_i2c_done ) { \
|
||||
if ( ami601_i2c_trans.status == I2CTransSuccess ) { \
|
||||
/* trigger delay for measurement */ \
|
||||
T0MR1 = T0TC + SYS_TICS_OF_USEC(12288); \
|
||||
/* clear match 1 interrupt */ \
|
||||
@@ -47,14 +47,14 @@ extern volatile uint32_t ami601_nb_err;
|
||||
} \
|
||||
break; \
|
||||
case AMI601_READING_MEASURE : \
|
||||
if ( ami601_i2c_done ) { \
|
||||
ami601_foo1 = i2c1_buf[0]; /* AA ? */ \
|
||||
ami601_foo2 = i2c1_buf[1]; /* 55 ? */ \
|
||||
ami601_foo3 = i2c1_buf[2]; /* ERR ? */ \
|
||||
if ( ami601_i2c_trans.status == I2CTransSuccess ) { \
|
||||
ami601_foo1 = ami601_i2c_trans.buf[0]; /* AA ? */ \
|
||||
ami601_foo2 = ami601_i2c_trans.buf[1]; /* 55 ? */ \
|
||||
ami601_foo3 = ami601_i2c_trans.buf[2]; /* ERR ? */ \
|
||||
uint8_t i; \
|
||||
for (i=0; i< AMI601_NB_CHAN; i++) { \
|
||||
ami601_values[i] = i2c1_buf[3 + 2 * i]; \
|
||||
ami601_values[i] += i2c1_buf[3 + 2 * i + 1] * 256; \
|
||||
ami601_values[i] = ami601_i2c_trans.buf[3 + 2 * i]; \
|
||||
ami601_values[i] += ami601_i2c_trans.buf[3 + 2 * i + 1] * 256; \
|
||||
} \
|
||||
ami601_status = AMI601_DATA_AVAILABLE; \
|
||||
_handler(); \
|
||||
@@ -67,9 +67,11 @@ extern volatile uint32_t ami601_nb_err;
|
||||
#define AMI601_IT TIR_MR1I
|
||||
#define AMI601_ISR() AMI601ReadMeasure()
|
||||
#define AMI601ReadMeasure() { \
|
||||
ami601_i2c_done = FALSE; \
|
||||
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 */
|
||||
|
||||
Reference in New Issue
Block a user