mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-02 13:27:32 +08:00
fixed actuators_mkk and ami601 drivers on lpC21
This commit is contained in:
@@ -214,7 +214,9 @@
|
|||||||
<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_esc_mkk_simple" board="booz_1.0"/>
|
||||||
<target name="test_actuators_mkk" board="booz_1.0"/>
|
<target name="test_actuators_mkk" board="booz_1.0"/>
|
||||||
|
<target name="test_ami601" board="booz_1.0"/>
|
||||||
</firmware>
|
</firmware>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -166,6 +166,28 @@ test_rc_ppm.srcs += $(SRC_BOOZ)/booz_radio_control.c \
|
|||||||
$(SRC_BOOZ_ARCH)/radio_control/booz_radio_control_ppm_arch.c
|
$(SRC_BOOZ_ARCH)/radio_control/booz_radio_control_ppm_arch.c
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# simple test of mikrokopter motor controllers
|
||||||
|
#
|
||||||
|
test_esc_mkk_simple.ARCHDIR = $(ARCHI)
|
||||||
|
test_esc_mkk_simple.ARCH = arm7tdmi
|
||||||
|
test_esc_mkk_simple.TARGET = test_esc_mkk_simple
|
||||||
|
test_esc_mkk_simple.TARGETDIR = test_esc_mkk_simple
|
||||||
|
test_esc_mkk_simple.CFLAGS = -I$(SRC_LISA) -I$(ARCHI) -DPERIPHERALS_AUTO_INIT
|
||||||
|
test_esc_mkk_simple.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
|
||||||
|
test_esc_mkk_simple.srcs = test/test_esc_mkk_simple.c \
|
||||||
|
$(SRC_ARCH)/armVIC.c
|
||||||
|
test_esc_mkk_simple.CFLAGS += -DUSE_LED
|
||||||
|
test_esc_mkk_simple.CFLAGS += -DUSE_SYS_TIME -DSYS_TIME_LED=1
|
||||||
|
test_esc_mkk_simple.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC(1./512.)'
|
||||||
|
test_esc_mkk_simple.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
|
||||||
|
test_esc_mkk_simple.CFLAGS += -DACTUATORS_MKK_DEV=i2c0
|
||||||
|
test_esc_mkk_simple.CFLAGS += -DUSE_I2C0
|
||||||
|
test_esc_mkk_simple.CFLAGS += -DI2C0_SCLL=150 -DI2C0_SCLH=150 -DI2C0_VIC_SLOT=10
|
||||||
|
test_esc_mkk_simple.srcs += i2c.c $(SRC_ARCH)/i2c_hw.c
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# test actuators mkk
|
# test actuators mkk
|
||||||
#
|
#
|
||||||
@@ -194,5 +216,37 @@ test_actuators_mkk.srcs += $(SRC_BOOZ)/booz2_commands.c
|
|||||||
test_actuators_mkk.srcs += $(SRC_BOOZ)/actuators/booz_actuators_mkk.c
|
test_actuators_mkk.srcs += $(SRC_BOOZ)/actuators/booz_actuators_mkk.c
|
||||||
test_actuators_mkk.CFLAGS += -DACTUATORS_MKK_DEVICE=i2c0
|
test_actuators_mkk.CFLAGS += -DACTUATORS_MKK_DEVICE=i2c0
|
||||||
test_actuators_mkk.srcs += $(SRC_BOOZ)/actuators/booz_supervision.c
|
test_actuators_mkk.srcs += $(SRC_BOOZ)/actuators/booz_supervision.c
|
||||||
|
test_actuators_mkk.CFLAGS += -DACTUATORS_MKK_DEV=i2c0
|
||||||
test_actuators_mkk.CFLAGS += -DUSE_I2C0
|
test_actuators_mkk.CFLAGS += -DUSE_I2C0
|
||||||
test_actuators_mkk.srcs += i2c.c $(SRC_ARCH)/i2c_hw.c
|
test_actuators_mkk.srcs += i2c.c $(SRC_ARCH)/i2c_hw.c
|
||||||
|
test_actuators_mkk.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=150 -DI2C0_SCLH=150 -DI2C0_VIC_SLOT=10
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# test ami601
|
||||||
|
#
|
||||||
|
test_ami601.ARCHDIR = $(ARCHI)
|
||||||
|
test_ami601.ARCH = arm7tdmi
|
||||||
|
test_ami601.TARGET = test_ami601
|
||||||
|
test_ami601.TARGETDIR = test_ami601
|
||||||
|
test_ami601.CFLAGS = -I$(SRC_BOOZ) -I$(SRC_BOOZ_ARCH) -DPERIPHERALS_AUTO_INIT
|
||||||
|
test_ami601.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
|
||||||
|
test_ami601.srcs = test/peripherals/test_ami601.c \
|
||||||
|
$(SRC_ARCH)/armVIC.c
|
||||||
|
|
||||||
|
test_ami601.CFLAGS += -DUSE_LED
|
||||||
|
|
||||||
|
test_ami601.CFLAGS += -DUSE_SYS_TIME -DSYS_TIME_LED=$(SYS_TIME_LED)
|
||||||
|
test_ami601.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC(1./512.)'
|
||||||
|
test_ami601.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
|
||||||
|
|
||||||
|
test_ami601.CFLAGS += -DUSE_$(MODEM_PORT) -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
|
||||||
|
test_ami601.srcs += $(SRC_ARCH)/uart_hw.c
|
||||||
|
|
||||||
|
test_ami601.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=$(MODEM_PORT)
|
||||||
|
test_ami601.srcs += downlink.c pprz_transport.c
|
||||||
|
|
||||||
|
test_ami601.CFLAGS += -DUSE_AMI601
|
||||||
|
test_ami601.srcs += $(SRC_BOOZ)/peripherals/booz_ami601.c
|
||||||
|
test_ami601.CFLAGS += -DUSE_I2C1 -DI2C1_SCLL=150 -DI2C1_SCLH=150 -DI2C1_VIC_SLOT=11
|
||||||
|
test_ami601.srcs += i2c.c $(SRC_ARCH)/i2c_hw.c
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ ap.srcs += $(SRC_BOOZ)/peripherals/booz_max1168.c \
|
|||||||
|
|
||||||
ap.CFLAGS += -DUSE_AMI601
|
ap.CFLAGS += -DUSE_AMI601
|
||||||
ap.srcs += $(SRC_BOOZ)/peripherals/booz_ami601.c
|
ap.srcs += $(SRC_BOOZ)/peripherals/booz_ami601.c
|
||||||
ap.CFLAGS += -DUSE_I2C1 -DI2C1_SCLL=150 -DI2C1_SCLH=150 -DI2C1_VIC_SLOT=11 -DI2C1_BUF_LEN=16
|
ap.CFLAGS += -DUSE_I2C1 -DI2C1_SCLL=150 -DI2C1_SCLH=150 -DI2C1_VIC_SLOT=11
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -309,8 +309,8 @@ void i2c1_hw_init ( void ) {
|
|||||||
I2C1SCLH = I2C1_SCLH_D;
|
I2C1SCLH = I2C1_SCLH_D;
|
||||||
|
|
||||||
// initialize the interrupt vector
|
// initialize the interrupt vector
|
||||||
VICIntSelect &= ~VIC_BIT(VIC_I2C1); // I2C0 selected as IRQ
|
VICIntSelect &= ~VIC_BIT(VIC_I2C1); // I2C1 selected as IRQ
|
||||||
VICIntEnable = VIC_BIT(VIC_I2C1); // I2C0 interrupt enabled
|
VICIntEnable = VIC_BIT(VIC_I2C1); // I2C1 interrupt enabled
|
||||||
_VIC_CNTL(I2C1_VIC_SLOT) = VIC_ENABLE | VIC_I2C1;
|
_VIC_CNTL(I2C1_VIC_SLOT) = VIC_ENABLE | VIC_I2C1;
|
||||||
_VIC_ADDR(I2C1_VIC_SLOT) = (uint32_t)i2c1_ISR; // address of the ISR
|
_VIC_ADDR(I2C1_VIC_SLOT) = (uint32_t)i2c1_ISR; // address of the ISR
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ uint32_t sys_time_chrono; /* T0TC ticks */
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef USE_AMI601
|
#ifdef USE_AMI601
|
||||||
#include "peripherals/booz_ami601.h"
|
#include "booz/peripherals/booz_ami601.h"
|
||||||
#else
|
#else
|
||||||
#define AMI601_IT 0x00
|
#define AMI601_IT 0x00
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ void actuators_init(void) {
|
|||||||
actuators_mkk.trans[i].type = I2CTransTx;
|
actuators_mkk.trans[i].type = I2CTransTx;
|
||||||
actuators_mkk.trans[i].len_w = 1;
|
actuators_mkk.trans[i].len_w = 1;
|
||||||
actuators_mkk.trans[i].slave_addr = actuators_addr[i];
|
actuators_mkk.trans[i].slave_addr = actuators_addr[i];
|
||||||
|
actuators_mkk.trans[i].stop_after_transmit = TRUE;
|
||||||
actuators_mkk.trans[i].status = I2CTransSuccess;
|
actuators_mkk.trans[i].status = I2CTransSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,10 +16,11 @@ void ami601_init( void ) {
|
|||||||
ami601_values[i] = 0;
|
ami601_values[i] = 0;
|
||||||
}
|
}
|
||||||
ami601_i2c_trans.status = I2CTransSuccess;
|
ami601_i2c_trans.status = I2CTransSuccess;
|
||||||
|
ami601_i2c_trans.slave_addr = AMI601_SLAVE_ADDR;
|
||||||
|
ami601_i2c_trans.stop_after_transmit = TRUE;
|
||||||
ami601_nb_err = 0;
|
ami601_nb_err = 0;
|
||||||
ami601_status = AMI601_IDLE;
|
ami601_status = AMI601_IDLE;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ami601_read( void ) {
|
void ami601_read( void ) {
|
||||||
@@ -30,7 +31,6 @@ void ami601_read( void ) {
|
|||||||
ami601_status = AMI601_SENDING_REQ;
|
ami601_status = AMI601_SENDING_REQ;
|
||||||
ami601_i2c_trans.type = I2CTransTx;
|
ami601_i2c_trans.type = I2CTransTx;
|
||||||
ami601_i2c_trans.len_w = 3;
|
ami601_i2c_trans.len_w = 3;
|
||||||
ami601_i2c_trans.slave_addr = AMI601_SLAVE_ADDR;
|
|
||||||
ami601_i2c_trans.buf[0] = 0x55;
|
ami601_i2c_trans.buf[0] = 0x55;
|
||||||
ami601_i2c_trans.buf[1] = 0xAA;
|
ami601_i2c_trans.buf[1] = 0xAA;
|
||||||
ami601_i2c_trans.buf[2] = 0x14;
|
ami601_i2c_trans.buf[2] = 0x14;
|
||||||
|
|||||||
@@ -70,7 +70,6 @@ extern volatile uint32_t ami601_nb_err;
|
|||||||
ami601_status = AMI601_READING_MEASURE; \
|
ami601_status = AMI601_READING_MEASURE; \
|
||||||
ami601_i2c_trans.type = I2CTransRx; \
|
ami601_i2c_trans.type = I2CTransRx; \
|
||||||
ami601_i2c_trans.len_r = 15; \
|
ami601_i2c_trans.len_r = 15; \
|
||||||
ami601_i2c_trans.slave_addr = AMI601_SLAVE_ADDR; \
|
|
||||||
i2c_submit(&i2c1, &ami601_i2c_trans); \
|
i2c_submit(&i2c1, &ami601_i2c_trans); \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,9 @@ test_geodetic: test_geodetic.c ../math/pprz_geodetic_float.c ../math/pprz_geodet
|
|||||||
test_algebra: test_algebra.c ../math/pprz_trig_int.c
|
test_algebra: test_algebra.c ../math/pprz_trig_int.c
|
||||||
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
||||||
|
|
||||||
|
test_martin: test_martin.c ../math/pprz_trig_int.c
|
||||||
|
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
||||||
|
|
||||||
test_bla: test_bla.c ../math/pprz_trig_int.c
|
test_bla: test_bla.c ../math/pprz_trig_int.c
|
||||||
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,8 @@ static inline void main_periodic_task( void ) {
|
|||||||
trans.buf[0] = 0x04;
|
trans.buf[0] = 0x04;
|
||||||
trans.len_w = 1;
|
trans.len_w = 1;
|
||||||
trans.slave_addr = 0x58;
|
trans.slave_addr = 0x58;
|
||||||
i2c_submit(&i2c1,&trans);
|
trans.stop_after_transmit = TRUE;
|
||||||
|
i2c_submit(&ACTUATORS_MKK_DEV,&trans);
|
||||||
|
|
||||||
LED_PERIODIC();
|
LED_PERIODIC();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user