From 5bc8f6a2531062e57b9abef67367a90de77f65a6 Mon Sep 17 00:00:00 2001 From: Felix Ruess Date: Thu, 10 Feb 2011 22:28:59 +0100 Subject: [PATCH] fix naming error: rename ms2001 to ms2100 --- conf/airframes/Poine/beth.xml | 4 +- conf/autopilot/lisa_l_test_progs.makefile | 4 +- .../obsolete/lisa_test_progs.makefile | 50 +++---- .../subsystems/fixedwing/imu_booz.makefile | 2 +- .../lisa_passthrough/imu_b2_v1.1.makefile | 8 +- .../lisa_passthrough/imu_b2_v1.2.makefile | 4 +- .../rotorcraft/imu_b2_v1.1.makefile | 8 +- .../rotorcraft/imu_b2_v1.2.makefile | 4 +- .../arch/lpc21/peripherals/ms2001_arch.c | 50 ------- .../arch/lpc21/peripherals/ms2100_arch.c | 50 +++++++ .../{ms2001_arch.h => ms2100_arch.h} | 44 +++---- .../arch/lpc21/subsystems/imu/imu_b2_arch.c | 14 +- sw/airborne/arch/lpc21/vic_slots.txt | 2 +- .../arch/sim/subsystems/imu/imu_b2_arch.c | 10 +- .../{ms2001_arch.c => ms2100_arch.c} | 24 ++-- .../{ms2001_arch.h => ms2100_arch.h} | 44 +++---- .../arch/stm32/subsystems/imu/imu_b2_arch.c | 10 +- sw/airborne/boards/booz_1.0.h | 30 ++--- sw/airborne/lisa/test/lisa_test_ms2001.c | 123 ------------------ sw/airborne/lisa/test/lisa_test_ms2100.c | 66 +++++----- .../peripherals/{ms2001.c => ms2100.c} | 20 +-- .../peripherals/{ms2001.h => ms2100.h} | 46 +++---- sw/airborne/subsystems/imu/imu_b2.c | 4 +- sw/airborne/subsystems/imu/imu_b2.h | 16 +-- 24 files changed, 253 insertions(+), 384 deletions(-) delete mode 100644 sw/airborne/arch/lpc21/peripherals/ms2001_arch.c create mode 100644 sw/airborne/arch/lpc21/peripherals/ms2100_arch.c rename sw/airborne/arch/lpc21/peripherals/{ms2001_arch.h => ms2100_arch.h} (68%) rename sw/airborne/arch/stm32/peripherals/{ms2001_arch.c => ms2100_arch.c} (86%) rename sw/airborne/arch/stm32/peripherals/{ms2001_arch.h => ms2100_arch.h} (84%) delete mode 100644 sw/airborne/lisa/test/lisa_test_ms2001.c rename sw/airborne/peripherals/{ms2001.c => ms2100.c} (74%) rename sw/airborne/peripherals/{ms2001.h => ms2100.h} (55%) diff --git a/conf/airframes/Poine/beth.xml b/conf/airframes/Poine/beth.xml index e8b8102ba5..aaa4ec37d5 100644 --- a/conf/airframes/Poine/beth.xml +++ b/conf/airframes/Poine/beth.xml @@ -126,12 +126,12 @@ main_stm32.srcs += lisa/lisa_overo_link.c lisa/arch/stm32/lisa_overo_link_arch.c #booz IMU #main_stm32.CFLAGS += -DIMU_TYPE_H=\"imu/imu_b2.h\" -#main_stm32.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2001 +#main_stm32.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2100 #main_stm32.srcs += $(SRC_FIRMWARE)/imu.c #main_stm32.CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ #main_stm32.srcs += $(SRC_FIRMWARE)/imu/imu_b2.c $(SRC_FIRMWARE)/imu/arch/$(ARCH)/imu_b2_arch.c #main_stm32.srcs += peripherals/max1168.c $(SRC_ARCH)/peripherals/max1168_arch.c -#main_stm32.srcs += peripherals/ms2001.c $(SRC_ARCH)/peripherals/ms2001_arch.c +#main_stm32.srcs += peripherals/ms2100.c $(SRC_ARCH)/peripherals/ms2100_arch.c #main_stm32.srcs += math/pprz_trig_int.c #crista IMU diff --git a/conf/autopilot/lisa_l_test_progs.makefile b/conf/autopilot/lisa_l_test_progs.makefile index 5f2261a54b..2a04cbbb14 100644 --- a/conf/autopilot/lisa_l_test_progs.makefile +++ b/conf/autopilot/lisa_l_test_progs.makefile @@ -335,14 +335,14 @@ test_imu_b2.srcs += downlink.c pprz_transport.c test_imu_b2.srcs += math/pprz_trig_int.c test_imu_b2.CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\" -test_imu_b2.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2001 -DIMU_B2_VERSION_1_1 +test_imu_b2.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2100 -DIMU_B2_VERSION_1_1 test_imu_b2.srcs += $(SRC_SUBSYSTEMS)/imu.c test_imu_b2.CFLAGS += -DMAX_1168_DRDY_PORT=$(MAX_1168_DRDY_PORT) test_imu_b2.CFLAGS += -DMAX_1168_DRDY_PORT_SOURCE=$(MAX_1168_DRDY_PORT_SOURCE) test_imu_b2.CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ test_imu_b2.srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c test_imu_b2.srcs += peripherals/max1168.c $(SRC_ARCH)/peripherals/max1168_arch.c -test_imu_b2.srcs += peripherals/ms2001.c $(SRC_ARCH)/peripherals/ms2001_arch.c +test_imu_b2.srcs += peripherals/ms2100.c $(SRC_ARCH)/peripherals/ms2100_arch.c # # test IMU b2 1.2 diff --git a/conf/autopilot/obsolete/lisa_test_progs.makefile b/conf/autopilot/obsolete/lisa_test_progs.makefile index 7be32e25e9..1a48c121c4 100644 --- a/conf/autopilot/obsolete/lisa_test_progs.makefile +++ b/conf/autopilot/obsolete/lisa_test_progs.makefile @@ -424,12 +424,12 @@ test_imu_b2.srcs += downlink.c pprz_transport.c test_imu_b2.srcs += math/pprz_trig_int.c test_imu_b2.CFLAGS += -DIMU_TYPE_H=\"imu/imu_b2.h\" -test_imu_b2.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2001 +test_imu_b2.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2100 test_imu_b2.srcs += $(SRC_SUBSYSTEMS)/imu.c test_imu_b2.CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ test_imu_b2.srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c $(SRC_SUBSYSTEMS)/imu/arch/$(ARCH)/imu_b2_arch.c test_imu_b2.srcs += peripherals/max1168.c $(SRC_ARCH)/peripherals/max1168_arch.c -test_imu_b2.srcs += peripherals/ms2001.c $(SRC_ARCH)/peripherals/ms2001_arch.c +test_imu_b2.srcs += peripherals/ms2100.c $(SRC_ARCH)/peripherals/ms2100_arch.c # @@ -884,33 +884,33 @@ test_max1168.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_ test_max1168.srcs += downlink.c pprz_transport.c # -# test ms2001 +# test ms2100 # -test_ms2001.ARCHDIR = $(ARCH) -test_ms2001.CFLAGS = -I$(SRC_LISA) -I$(ARCH) -I$(SRC_BOOZ) -I$(SRC_BOOZ_ARCH) -DPERIPHERALS_AUTO_INIT -test_ms2001.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG) -test_ms2001.srcs = $(SRC_LISA)/test/lisa_test_ms2001.c \ +test_ms2100.ARCHDIR = $(ARCH) +test_ms2100.CFLAGS = -I$(SRC_LISA) -I$(ARCH) -I$(SRC_BOOZ) -I$(SRC_BOOZ_ARCH) -DPERIPHERALS_AUTO_INIT +test_ms2100.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG) +test_ms2100.srcs = $(SRC_LISA)/test/lisa_test_ms2100.c \ $(SRC_ARCH)/stm32_exceptions.c \ $(SRC_ARCH)/stm32_vector_table.c -test_ms2001.CFLAGS += -DUSE_LED -test_ms2001.srcs += $(SRC_ARCH)/led_hw.c +test_ms2100.CFLAGS += -DUSE_LED +test_ms2100.srcs += $(SRC_ARCH)/led_hw.c -test_ms2001.CFLAGS += -DUSE_SYS_TIME -DSYS_TIME_LED=1 -test_ms2001.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC(1./512.)' -test_ms2001.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c +test_ms2100.CFLAGS += -DUSE_SYS_TIME -DSYS_TIME_LED=1 +test_ms2100.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC(1./512.)' +test_ms2100.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c -test_ms2001.CFLAGS += -DUSE_SPI2 -test_ms2001.CFLAGS += -DUSE_DMA1_C4_IRQ -DMS2001_HANDLES_DMA_IRQ -test_ms2001.CFLAGS += -DUSE_SPI2_IRQ -DMS2001_HANDLES_SPI_IRQ -test_ms2001.srcs += peripherals/ms2001.c \ - $(SRC_ARCH)/peripherals/ms2001_arch.c +test_ms2100.CFLAGS += -DUSE_SPI2 +test_ms2100.CFLAGS += -DUSE_DMA1_C4_IRQ -DMS2100_HANDLES_DMA_IRQ +test_ms2100.CFLAGS += -DUSE_SPI2_IRQ -DMS2100_HANDLES_SPI_IRQ +test_ms2100.srcs += peripherals/ms2100.c \ + $(SRC_ARCH)/peripherals/ms2100_arch.c -test_ms2001.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 -test_ms2001.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c +test_ms2100.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600 +test_ms2100.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c -test_ms2001.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=Uart1 -test_ms2001.srcs += downlink.c pprz_transport.c +test_ms2100.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=Uart1 +test_ms2100.srcs += downlink.c pprz_transport.c # # test adxl345 @@ -1092,12 +1092,12 @@ ptw.srcs += downlink.c pprz_transport.c # IMU ptw.CFLAGS += -DIMU_TYPE_H=\"imu/imu_b2.h\" -ptw.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2001 +ptw.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2100 ptw.srcs += $(SRC_SUBSYSTEMS)/imu.c ptw.CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ ptw.srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c $(SRC_SUBSYSTEMS)/imu/arch/$(ARCH)/imu_b2_arch.c ptw.srcs += peripherals/max1168.c $(SRC_ARCH)/peripherals/max1168_arch.c -ptw.srcs += peripherals/ms2001.c $(SRC_ARCH)/peripherals/ms2001_arch.c +ptw.srcs += peripherals/ms2100.c $(SRC_ARCH)/peripherals/ms2100_arch.c ptw.srcs += math/pprz_trig_int.c ptw.srcs += $(SRC_BOOZ)/booz2_commands.c @@ -1351,12 +1351,12 @@ hs_gyro_b2.srcs += downlink.c pprz_transport.c hs_gyro_b2.srcs += math/pprz_trig_int.c hs_gyro_b2.CFLAGS += -DIMU_TYPE_H=\"imu/imu_b2.h\" -hs_gyro_b2.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2001 +hs_gyro_b2.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2100 hs_gyro_b2.srcs += $(SRC_SUBSYSTEMS)/imu.c hs_gyro_b2.CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ hs_gyro_b2.srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c $(SRC_SUBSYSTEMS)/imu/arch/$(ARCH)/imu_b2_arch.c hs_gyro_b2.srcs += peripherals/max1168.c $(SRC_ARCH)/peripherals/max1168_arch.c -hs_gyro_b2.srcs += peripherals/ms2001.c $(SRC_ARCH)/peripherals/ms2001_arch.c +hs_gyro_b2.srcs += peripherals/ms2100.c $(SRC_ARCH)/peripherals/ms2100_arch.c # # Spits every samples of one axis of gyro on IMU crista diff --git a/conf/autopilot/subsystems/fixedwing/imu_booz.makefile b/conf/autopilot/subsystems/fixedwing/imu_booz.makefile index e4d397d37a..e6ad633f17 100644 --- a/conf/autopilot/subsystems/fixedwing/imu_booz.makefile +++ b/conf/autopilot/subsystems/fixedwing/imu_booz.makefile @@ -52,7 +52,7 @@ imu_srcs += $(SRC_ARCH)/peripherals/max1168_arch.c #ifeq ($(ARCH), lpc21) imu_CFLAGS += -DSSP_VIC_SLOT=9 imu_CFLAGS += -DMAX1168_EOC_VIC_SLOT=8 -#FIXME ms2001 not used on this imu +#FIXME ms2100 not used on this imu #else ifeq ($(ARCH), stm32) #imu_CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ #imu_CFLAGS += -DMAX_1168_DRDY_PORT=$(MAX_1168_DRDY_PORT) diff --git a/conf/autopilot/subsystems/lisa_passthrough/imu_b2_v1.1.makefile b/conf/autopilot/subsystems/lisa_passthrough/imu_b2_v1.1.makefile index 546bde2264..6bb570edb2 100644 --- a/conf/autopilot/subsystems/lisa_passthrough/imu_b2_v1.1.makefile +++ b/conf/autopilot/subsystems/lisa_passthrough/imu_b2_v1.1.makefile @@ -42,7 +42,7 @@ # imu Booz2 v1.1 imu_CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\" -imu_CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2001 +imu_CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2100 imu_CFLAGS += -DIMU_B2_VERSION_1_1 imu_srcs += $(SRC_SUBSYSTEMS)/imu.c imu_srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c @@ -51,13 +51,13 @@ imu_srcs += $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c imu_srcs += peripherals/max1168.c imu_srcs += $(SRC_ARCH)/peripherals/max1168_arch.c -imu_srcs += peripherals/ms2001.c -imu_srcs += $(SRC_ARCH)/peripherals/ms2001_arch.c +imu_srcs += peripherals/ms2100.c +imu_srcs += $(SRC_ARCH)/peripherals/ms2100_arch.c ifeq ($(ARCH), lpc21) imu_CFLAGS += -DSSP_VIC_SLOT=9 imu_CFLAGS += -DMAX1168_EOC_VIC_SLOT=8 -imu_CFLAGS += -DMS2001_DRDY_VIC_SLOT=11 +imu_CFLAGS += -DMS2100_DRDY_VIC_SLOT=11 else ifeq ($(ARCH), stm32) imu_CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ imu_CFLAGS += -DMAX_1168_DRDY_PORT=$(MAX_1168_DRDY_PORT) diff --git a/conf/autopilot/subsystems/lisa_passthrough/imu_b2_v1.2.makefile b/conf/autopilot/subsystems/lisa_passthrough/imu_b2_v1.2.makefile index 844b6c786d..1e562fcc24 100644 --- a/conf/autopilot/subsystems/lisa_passthrough/imu_b2_v1.2.makefile +++ b/conf/autopilot/subsystems/lisa_passthrough/imu_b2_v1.2.makefile @@ -57,8 +57,8 @@ imu_srcs += $(SRC_ARCH)/peripherals/hmc5843_arch.c ifeq ($(ARCH), lpc21) imu_CFLAGS += -DSSP_VIC_SLOT=9 imu_CFLAGS += -DMAX1168_EOC_VIC_SLOT=8 -#FIXME ms2001 not used on this imu -imu_CFLAGS += -DMS2001_DRDY_VIC_SLOT=11 +#FIXME ms2100 not used on this imu +imu_CFLAGS += -DMS2100_DRDY_VIC_SLOT=11 else ifeq ($(ARCH), stm32) imu_CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ imu_CFLAGS += -DMAX_1168_DRDY_PORT=$(MAX_1168_DRDY_PORT) diff --git a/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.1.makefile b/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.1.makefile index e06aeeb7df..18db231194 100644 --- a/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.1.makefile +++ b/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.1.makefile @@ -42,7 +42,7 @@ # imu Booz2 v1.1 imu_CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\" -imu_CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2001 +imu_CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2100 imu_CFLAGS += -DIMU_B2_VERSION_1_1 imu_srcs += $(SRC_SUBSYSTEMS)/imu.c imu_srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c @@ -51,13 +51,13 @@ imu_srcs += $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c imu_srcs += peripherals/max1168.c imu_srcs += $(SRC_ARCH)/peripherals/max1168_arch.c -imu_srcs += peripherals/ms2001.c -imu_srcs += $(SRC_ARCH)/peripherals/ms2001_arch.c +imu_srcs += peripherals/ms2100.c +imu_srcs += $(SRC_ARCH)/peripherals/ms2100_arch.c ifeq ($(ARCH), lpc21) imu_CFLAGS += -DSSP_VIC_SLOT=9 imu_CFLAGS += -DMAX1168_EOC_VIC_SLOT=8 -imu_CFLAGS += -DMS2001_DRDY_VIC_SLOT=11 +imu_CFLAGS += -DMS2100_DRDY_VIC_SLOT=11 else ifeq ($(ARCH), stm32) imu_CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ imu_CFLAGS += -DMAX_1168_DRDY_PORT=$(MAX_1168_DRDY_PORT) diff --git a/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.2.makefile b/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.2.makefile index e8f0930cc0..e208c41664 100644 --- a/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.2.makefile +++ b/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.2.makefile @@ -57,8 +57,8 @@ imu_srcs += $(SRC_ARCH)/peripherals/hmc5843_arch.c ifeq ($(ARCH), lpc21) imu_CFLAGS += -DSSP_VIC_SLOT=9 imu_CFLAGS += -DMAX1168_EOC_VIC_SLOT=8 -#FIXME ms2001 not used on this imu -imu_CFLAGS += -DMS2001_DRDY_VIC_SLOT=11 +#FIXME ms2100 not used on this imu +imu_CFLAGS += -DMS2100_DRDY_VIC_SLOT=11 else ifeq ($(ARCH), stm32) imu_CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ imu_CFLAGS += -DMAX_1168_DRDY_PORT=$(MAX_1168_DRDY_PORT) diff --git a/sw/airborne/arch/lpc21/peripherals/ms2001_arch.c b/sw/airborne/arch/lpc21/peripherals/ms2001_arch.c deleted file mode 100644 index 5fc87d81af..0000000000 --- a/sw/airborne/arch/lpc21/peripherals/ms2001_arch.c +++ /dev/null @@ -1,50 +0,0 @@ -/* PNI ms2001 connected on SPI1 */ -/* - IMU b2 - SS on P1.28 - RESET on P1.19 - DRDY on P0.30 ( EINT3) -*/ - -#include "peripherals/ms2001.h" - -volatile uint8_t ms2001_cur_axe; - -static void EXTINT_ISR(void) __attribute__((naked)); - -void ms2001_arch_init( void ) { - - ms2001_cur_axe = 0; - - /* configure SS pin */ - Ms2001Unselect(); /* pin idles high */ - SetBit(MS2001_SS_IODIR, MS2001_SS_PIN); /* pin is output */ - - /* configure RESET pin */ - Ms2001Reset(); /* pin idles low */ - SetBit(MS2001_RESET_IODIR, MS2001_RESET_PIN); /* pin is output */ - - /* configure DRDY pin */ - /* connected pin to EXINT */ - MS2001_DRDY_PINSEL |= MS2001_DRDY_PINSEL_VAL << MS2001_DRDY_PINSEL_BIT; - SetBit(EXTMODE, MS2001_DRDY_EINT); /* EINT is edge trigered */ - SetBit(EXTPOLAR,MS2001_DRDY_EINT); /* EINT is trigered on rising edge */ - SetBit(EXTINT,MS2001_DRDY_EINT); /* clear pending EINT */ - - /* initialize interrupt vector */ - VICIntSelect &= ~VIC_BIT( MS2001_DRDY_VIC_IT ); /* select EINT as IRQ source */ - VICIntEnable = VIC_BIT( MS2001_DRDY_VIC_IT ); /* enable it */ - _VIC_CNTL(MS2001_DRDY_VIC_SLOT) = VIC_ENABLE | MS2001_DRDY_VIC_IT; - _VIC_ADDR(MS2001_DRDY_VIC_SLOT) = (uint32_t)EXTINT_ISR; // address of the ISR - -} - -void EXTINT_ISR(void) { - ISR_ENTRY(); - /* no, we won't do anything asynchronously, so just notify */ - ms2001_status = MS2001_GOT_EOC; - /* clear EINT */ - EXTINT = (1< // for abs @@ -14,45 +14,45 @@ -extern volatile uint8_t ms2001_cur_axe; +extern volatile uint8_t ms2100_cur_axe; -#define Ms2001Select() SetBit(MS2001_SS_IOCLR,MS2001_SS_PIN) -#define Ms2001Unselect() SetBit(MS2001_SS_IOSET,MS2001_SS_PIN) +#define Ms2001Select() SetBit(MS2100_SS_IOCLR,MS2100_SS_PIN) +#define Ms2001Unselect() SetBit(MS2100_SS_IOSET,MS2100_SS_PIN) -#define Ms2001Reset() SetBit(MS2001_RESET_IOCLR,MS2001_RESET_PIN) -#define Ms2001Set() SetBit(MS2001_RESET_IOSET,MS2001_RESET_PIN) +#define Ms2001Reset() SetBit(MS2100_RESET_IOCLR,MS2100_RESET_PIN) +#define Ms2001Set() SetBit(MS2100_RESET_IOSET,MS2100_RESET_PIN) #define Ms2001OnSpiInt() { \ - switch (ms2001_status) { \ - case MS2001_SENDING_REQ: \ + switch (ms2100_status) { \ + case MS2100_SENDING_REQ: \ { \ /* read dummy control byte reply */ \ uint8_t foo __attribute__ ((unused)) = SSPDR; \ - ms2001_status = MS2001_WAITING_EOC; \ + ms2100_status = MS2100_WAITING_EOC; \ Ms2001Unselect(); \ SSP_ClearRti(); \ SSP_DisableRti(); \ SSP_Disable(); \ } \ break; \ - case MS2001_READING_RES: \ + case MS2100_READING_RES: \ { \ int16_t new_val; \ new_val = SSPDR << 8; \ new_val += SSPDR; \ if (abs(new_val) < 2000) \ - ms2001_values[ms2001_cur_axe] = new_val; \ + ms2100_values[ms2100_cur_axe] = new_val; \ Ms2001Unselect(); \ SSP_ClearRti(); \ SSP_DisableRti(); \ SSP_Disable(); \ - ms2001_cur_axe++; \ - if (ms2001_cur_axe > 2) { \ - ms2001_cur_axe = 0; \ - ms2001_status = MS2001_DATA_AVAILABLE; \ + ms2100_cur_axe++; \ + if (ms2100_cur_axe > 2) { \ + ms2100_cur_axe = 0; \ + ms2100_status = MS2100_DATA_AVAILABLE; \ } \ else \ - ms2001_status = MS2001_IDLE; \ + ms2100_status = MS2100_IDLE; \ } \ break; \ } \ @@ -61,19 +61,19 @@ extern volatile uint8_t ms2001_cur_axe; #define Ms2001SendReq() { \ Ms2001Select(); \ - ms2001_status = MS2001_SENDING_REQ; \ + ms2100_status = MS2100_SENDING_REQ; \ Ms2001Set(); \ SSP_ClearRti(); \ SSP_EnableRti(); \ Ms2001Reset(); \ - uint8_t control_byte = (ms2001_cur_axe+1) << 0 | \ - MS2001_DIVISOR << 4; \ + uint8_t control_byte = (ms2100_cur_axe+1) << 0 | \ + MS2100_DIVISOR << 4; \ SSP_Send(control_byte); \ SSP_Enable(); \ } #define Ms2001ReadRes() { \ - ms2001_status = MS2001_READING_RES; \ + ms2100_status = MS2100_READING_RES; \ Ms2001Select(); \ /* trigger 2 bytes read */ \ SSP_Send(0); \ @@ -85,4 +85,4 @@ extern volatile uint8_t ms2001_cur_axe; -#endif /* MS2001_ARCH_H */ +#endif /* MS2100_ARCH_H */ diff --git a/sw/airborne/arch/lpc21/subsystems/imu/imu_b2_arch.c b/sw/airborne/arch/lpc21/subsystems/imu/imu_b2_arch.c index 8960e4c41c..0b98aee11e 100644 --- a/sw/airborne/arch/lpc21/subsystems/imu/imu_b2_arch.c +++ b/sw/airborne/arch/lpc21/subsystems/imu/imu_b2_arch.c @@ -101,7 +101,7 @@ void imu_periodic(void) { -#if defined IMU_B2_MAG_TYPE && IMU_B2_MAG_TYPE == IMU_B2_MAG_MS2001 +#if defined IMU_B2_MAG_TYPE && IMU_B2_MAG_TYPE == IMU_B2_MAG_MS2100 static void SSP_ISR(void) { ISR_ENTRY(); @@ -109,12 +109,12 @@ static void SSP_ISR(void) { switch (imu_ssp_status) { case IMU_SSP_STA_BUSY_MAX1168: Max1168OnSpiInt(); - if (ms2001_status == MS2001_IDLE || ms2001_status == MS2001_GOT_EOC) { + if (ms2100_status == MS2100_IDLE || ms2100_status == MS2100_GOT_EOC) { ImuSetSSP8bits(); - if (ms2001_status == MS2001_IDLE) { + if (ms2100_status == MS2100_IDLE) { Ms2001SendReq(); } - else { /* MS2001_GOT_EOC */ + else { /* MS2100_GOT_EOC */ Ms2001ReadRes(); } imu_ssp_status = IMU_SSP_STA_BUSY_MS2100; @@ -125,7 +125,7 @@ static void SSP_ISR(void) { break; case IMU_SSP_STA_BUSY_MS2100: Ms2001OnSpiInt(); - if (ms2001_status == MS2001_IDLE) { + if (ms2100_status == MS2100_IDLE) { Ms2001SendReq(); imu_ssp_status = IMU_SSP_STA_BUSY_MS2100; } @@ -142,7 +142,7 @@ static void SSP_ISR(void) { ISR_EXIT(); } -#else //no IMU_B2_MAG_MS2001 +#else //no IMU_B2_MAG_MS2100 static void SSP_ISR(void) { ISR_ENTRY(); @@ -162,4 +162,4 @@ static void SSP_ISR(void) { ISR_EXIT(); } -#endif //no IMU_B2_MAG_MS2001 +#endif //no IMU_B2_MAG_MS2100 diff --git a/sw/airborne/arch/lpc21/vic_slots.txt b/sw/airborne/arch/lpc21/vic_slots.txt index f289a4f48a..c75e66ef1e 100644 --- a/sw/airborne/arch/lpc21/vic_slots.txt +++ b/sw/airborne/arch/lpc21/vic_slots.txt @@ -6,7 +6,7 @@ 9 I2C0_VIC_SLOT I2C1_VIC_SLOT 11 SSP_VIC_SLOT -11 MS2001_DRDY_VIC_SLOT +11 MS2100_DRDY_VIC_SLOT 12 MICROMAG_DRDY_VIC_SLOT 12 MAX11040_DRDY_VIC_SLOT diff --git a/sw/airborne/arch/sim/subsystems/imu/imu_b2_arch.c b/sw/airborne/arch/sim/subsystems/imu/imu_b2_arch.c index f583072488..a8035a810f 100644 --- a/sw/airborne/arch/sim/subsystems/imu/imu_b2_arch.c +++ b/sw/airborne/arch/sim/subsystems/imu/imu_b2_arch.c @@ -47,11 +47,11 @@ void imu_feed_gyro_accel(void) { void imu_feed_mag(void) { -#if defined IMU_B2_MAG_TYPE && IMU_B2_MAG_TYPE == IMU_B2_MAG_MS2001 - ms2001_values[IMU_MAG_X_CHAN] = sensors.mag.value.x; - ms2001_values[IMU_MAG_Y_CHAN] = sensors.mag.value.y; - ms2001_values[IMU_MAG_Z_CHAN] = sensors.mag.value.z; - ms2001_status = MS2001_DATA_AVAILABLE; +#if defined IMU_B2_MAG_TYPE && IMU_B2_MAG_TYPE == IMU_B2_MAG_MS2100 + ms2100_values[IMU_MAG_X_CHAN] = sensors.mag.value.x; + ms2100_values[IMU_MAG_Y_CHAN] = sensors.mag.value.y; + ms2100_values[IMU_MAG_Z_CHAN] = sensors.mag.value.z; + ms2100_status = MS2100_DATA_AVAILABLE; #elif defined IMU_B2_MAG_TYPE && IMU_B2_MAG_TYPE == IMU_B2_MAG_AMI601 ami601_values[IMU_MAG_X_CHAN] = sensors.mag.value.x; ami601_values[IMU_MAG_Y_CHAN] = sensors.mag.value.y; diff --git a/sw/airborne/arch/stm32/peripherals/ms2001_arch.c b/sw/airborne/arch/stm32/peripherals/ms2100_arch.c similarity index 86% rename from sw/airborne/arch/stm32/peripherals/ms2001_arch.c rename to sw/airborne/arch/stm32/peripherals/ms2100_arch.c index b9b91646e6..961ab71e53 100644 --- a/sw/airborne/arch/stm32/peripherals/ms2001_arch.c +++ b/sw/airborne/arch/stm32/peripherals/ms2100_arch.c @@ -21,7 +21,7 @@ * Boston, MA 02111-1307, USA. */ -#include "peripherals/ms2001.h" +#include "peripherals/ms2100.h" #include #include @@ -29,16 +29,16 @@ #include #include -uint8_t ms2001_cur_axe; -int16_t ms2001_last_reading; // can't write in place because that stupid beast +uint8_t ms2100_cur_axe; +int16_t ms2100_last_reading; // can't write in place because that stupid beast // stips stupid values once in a while that I need // to filter - high time we get rid of this crap hardware // and no, I checked with the logic analyzer, timing are // within specs -void ms2001_arch_init( void ) { +void ms2100_arch_init( void ) { - ms2001_cur_axe = 0; + ms2100_cur_axe = 0; /* set mag SS and reset as output and assert them (SS on PC12 reset on PC13) ----*/ Ms2001Unselect(); @@ -58,7 +58,7 @@ void ms2001_arch_init( void ) { GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); -#ifdef MS2001_HANDLES_DMA_IRQ +#ifdef MS2100_HANDLES_DMA_IRQ /* Enable DMA1 channel4 IRQ Channel */ NVIC_InitTypeDef NVIC_init_structure_dma = { .NVIC_IRQChannel = DMA1_Channel4_IRQn, @@ -67,9 +67,9 @@ void ms2001_arch_init( void ) { .NVIC_IRQChannelCmd = ENABLE }; NVIC_Init(&NVIC_init_structure_dma); -#endif /* MS2001_HANDLES_DMA_IRQ */ +#endif /* MS2100_HANDLES_DMA_IRQ */ -#ifdef MS2001_HANDLES_SPI_IRQ +#ifdef MS2100_HANDLES_SPI_IRQ NVIC_InitTypeDef NVIC_init_structure_spi = { .NVIC_IRQChannel = SPI2_IRQn, .NVIC_IRQChannelPreemptionPriority = 0, @@ -77,19 +77,19 @@ void ms2001_arch_init( void ) { .NVIC_IRQChannelCmd = ENABLE }; NVIC_Init(&NVIC_init_structure_spi); -#endif /* MS2001_HANDLES_SPI_IRQ */ +#endif /* MS2100_HANDLES_SPI_IRQ */ } -#ifdef MS2001_HANDLES_SPI_IRQ +#ifdef MS2100_HANDLES_SPI_IRQ void spi2_irq_handler(void) { Ms2001OnSpiIrq(); } #endif -#ifdef MS2001_HANDLES_DMA_IRQ +#ifdef MS2100_HANDLES_DMA_IRQ void dma1_c4_irq_handler(void) { Ms2001OnDmaIrq(); } -#endif /* MS2001_HANDLES_DMA_IRQ */ +#endif /* MS2100_HANDLES_DMA_IRQ */ diff --git a/sw/airborne/arch/stm32/peripherals/ms2001_arch.h b/sw/airborne/arch/stm32/peripherals/ms2100_arch.h similarity index 84% rename from sw/airborne/arch/stm32/peripherals/ms2001_arch.h rename to sw/airborne/arch/stm32/peripherals/ms2100_arch.h index 5008bc5f6c..c95a26ce84 100644 --- a/sw/airborne/arch/stm32/peripherals/ms2001_arch.h +++ b/sw/airborne/arch/stm32/peripherals/ms2100_arch.h @@ -1,5 +1,5 @@ -#ifndef MS2001_ARCH_H -#define MS2001_ARCH_H +#ifndef MS2100_ARCH_H +#define MS2100_ARCH_H /* * $Id$ @@ -27,8 +27,8 @@ #include #include -extern uint8_t ms2001_cur_axe; -extern int16_t ms2001_last_reading; +extern uint8_t ms2100_cur_axe; +extern int16_t ms2100_last_reading; #define Ms2001Select() GPIOC->BRR = GPIO_Pin_12 #define Ms2001Unselect() GPIOC->BSRR = GPIO_Pin_12 @@ -42,10 +42,10 @@ extern int16_t ms2001_last_reading; Ms2001Select(); \ __IO uint32_t nCount = 4;for(; nCount != 0; nCount--); \ Ms2001Reset(); \ - ms2001_status = MS2001_SENDING_REQ; \ + ms2100_status = MS2100_SENDING_REQ; \ nCount = 4;for(; nCount != 0; nCount--); \ Ms2001Set(); \ - uint16_t ctl_byte = ((ms2001_cur_axe+1) | (MS2001_DIVISOR << 4)); \ + uint16_t ctl_byte = ((ms2100_cur_axe+1) | (MS2100_DIVISOR << 4)); \ nCount = 20;for(; nCount != 0; nCount--); \ SPI_Cmd(SPI2, DISABLE); \ SPI_InitTypeDef SPI_InitStructure = { \ @@ -66,7 +66,7 @@ extern int16_t ms2001_last_reading; } #define Ms2001ReadRes() { \ - ms2001_status = MS2001_READING_RES; \ + ms2100_status = MS2100_READING_RES; \ Ms2001Select(); \ SPI_Cmd(SPI2, DISABLE); \ SPI_InitTypeDef SPI_InitStructure = { \ @@ -88,7 +88,7 @@ extern int16_t ms2001_last_reading; DMA_InitTypeDef DMA_InitStructure; \ DMA_DeInit(DMA1_Channel4); \ DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)(SPI2_BASE+0x0C); \ - DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)(&ms2001_last_reading); \ + DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)(&ms2100_last_reading); \ DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; \ DMA_InitStructure.DMA_BufferSize = 1; \ DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; \ @@ -102,7 +102,7 @@ extern int16_t ms2001_last_reading; /* SPI2_Tx_DMA_Channel configuration ------------------------------------*/ \ DMA_DeInit(DMA1_Channel5); \ DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)(SPI2_BASE+0x0C); \ - DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&ms2001_values; \ + DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&ms2100_values; \ DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; \ DMA_InitStructure.DMA_Priority = DMA_Priority_Medium; \ DMA_Init(DMA1_Channel5, &DMA_InitStructure); \ @@ -123,33 +123,33 @@ extern int16_t ms2001_last_reading; } #define Ms2001OnDmaIrq() { \ - /* ASSERT((ms2001_status == MS2001_READING_RES), \ - * DEBUG_MS2001, MS2001_ERR_SPURIOUS_DMA_IRQ); \ + /* ASSERT((ms2100_status == MS2100_READING_RES), \ + * DEBUG_MS2100, MS2100_ERR_SPURIOUS_DMA_IRQ); \ */ \ - if (abs(ms2001_last_reading) < 1000) \ - ms2001_values[ms2001_cur_axe] = ms2001_last_reading; \ + if (abs(ms2100_last_reading) < 1000) \ + ms2100_values[ms2100_cur_axe] = ms2100_last_reading; \ Ms2001Unselect(); \ - ms2001_cur_axe++; \ - if (ms2001_cur_axe > 2) { \ - ms2001_cur_axe = 0; \ - ms2001_status = MS2001_DATA_AVAILABLE; \ + ms2100_cur_axe++; \ + if (ms2100_cur_axe > 2) { \ + ms2100_cur_axe = 0; \ + ms2100_status = MS2100_DATA_AVAILABLE; \ } \ else \ - ms2001_status = MS2001_IDLE; \ + ms2100_status = MS2100_IDLE; \ SPI_Cmd(SPI2, DISABLE); \ DMA_ITConfig(DMA1_Channel4, DMA_IT_TC, DISABLE); \ } #define Ms2001OnSpiIrq() { \ - /* ASSERT((ms2001_status == MS2001_SENDING_REQ), \ - * DEBUG_MS2001, MS2001_ERR_SPURIOUS_SPI_IRQ); \ + /* ASSERT((ms2100_status == MS2100_SENDING_REQ), \ + * DEBUG_MS2100, MS2100_ERR_SPURIOUS_SPI_IRQ); \ */ \ /* read unused control byte reply */ \ uint8_t foo __attribute__ ((unused)) = SPI_I2S_ReceiveData(SPI2); \ Ms2001Unselect(); \ - ms2001_status = MS2001_WAITING_EOC; \ + ms2100_status = MS2100_WAITING_EOC; \ SPI_Cmd(SPI2, DISABLE); \ SPI_I2S_ITConfig(SPI2, SPI_I2S_IT_RXNE, DISABLE); \ } -#endif /* MS2001_ARCH_H */ +#endif /* MS2100_ARCH_H */ diff --git a/sw/airborne/arch/stm32/subsystems/imu/imu_b2_arch.c b/sw/airborne/arch/stm32/subsystems/imu/imu_b2_arch.c index 0ab657a5a0..0f229c3de7 100644 --- a/sw/airborne/arch/stm32/subsystems/imu/imu_b2_arch.c +++ b/sw/airborne/arch/stm32/subsystems/imu/imu_b2_arch.c @@ -91,12 +91,12 @@ void dma1_c4_irq_handler(void) { case IMU_SSP_STA_BUSY_MAX1168: Max1168OnDmaIrq(); SPI_Cmd(SPI2, DISABLE); -#if IMU_B2_MAG_TYPE == IMU_B2_MAG_MS2001 - if (ms2001_status == MS2001_IDLE) { +#if IMU_B2_MAG_TYPE == IMU_B2_MAG_MS2100 + if (ms2100_status == MS2100_IDLE) { Ms2001SendReq(); imu_ssp_status = IMU_SSP_STA_BUSY_MS2100; } - else if (ms2001_status == MS2001_WAITING_EOC && Ms2001HasEOC()) { + else if (ms2100_status == MS2100_WAITING_EOC && Ms2001HasEOC()) { Ms2001ReadRes(); imu_ssp_status = IMU_SSP_STA_BUSY_MS2100; } @@ -105,7 +105,7 @@ void dma1_c4_irq_handler(void) { imu_ssp_status = IMU_SSP_STA_IDLE; break; case IMU_SSP_STA_BUSY_MS2100: -#if IMU_B2_MAG_TYPE == IMU_B2_MAG_MS2001 +#if IMU_B2_MAG_TYPE == IMU_B2_MAG_MS2100 Ms2001OnDmaIrq(); #endif break; @@ -117,7 +117,7 @@ void dma1_c4_irq_handler(void) { void spi2_irq_handler(void) { -#if IMU_B2_MAG_TYPE == IMU_B2_MAG_MS2001 +#if IMU_B2_MAG_TYPE == IMU_B2_MAG_MS2100 Ms2001OnSpiIrq(); #endif } diff --git a/sw/airborne/boards/booz_1.0.h b/sw/airborne/boards/booz_1.0.h index 7634648333..9f44e89514 100644 --- a/sw/airborne/boards/booz_1.0.h +++ b/sw/airborne/boards/booz_1.0.h @@ -62,23 +62,23 @@ -/* MS2001 on SSP, IMU connector */ -#define MS2001_SS_PIN 28 -#define MS2001_SS_IODIR IO1DIR -#define MS2001_SS_IOSET IO1SET -#define MS2001_SS_IOCLR IO1CLR +/* MS2100 on SSP, IMU connector */ +#define MS2100_SS_PIN 28 +#define MS2100_SS_IODIR IO1DIR +#define MS2100_SS_IOSET IO1SET +#define MS2100_SS_IOCLR IO1CLR -#define MS2001_RESET_PIN 19 -#define MS2001_RESET_IODIR IO1DIR -#define MS2001_RESET_IOSET IO1SET -#define MS2001_RESET_IOCLR IO1CLR +#define MS2100_RESET_PIN 19 +#define MS2100_RESET_IODIR IO1DIR +#define MS2100_RESET_IOSET IO1SET +#define MS2100_RESET_IOCLR IO1CLR -#define MS2001_DRDY_PIN 30 -#define MS2001_DRDY_PINSEL PINSEL1 -#define MS2001_DRDY_PINSEL_BIT 28 -#define MS2001_DRDY_PINSEL_VAL 2 -#define MS2001_DRDY_EINT 3 -#define MS2001_DRDY_VIC_IT VIC_EINT3 +#define MS2100_DRDY_PIN 30 +#define MS2100_DRDY_PINSEL PINSEL1 +#define MS2100_DRDY_PINSEL_BIT 28 +#define MS2100_DRDY_PINSEL_VAL 2 +#define MS2100_DRDY_EINT 3 +#define MS2100_DRDY_VIC_IT VIC_EINT3 /* PWM5 on CAM connector */ /* P0.21 */ diff --git a/sw/airborne/lisa/test/lisa_test_ms2001.c b/sw/airborne/lisa/test/lisa_test_ms2001.c deleted file mode 100644 index 7fe419587c..0000000000 --- a/sw/airborne/lisa/test/lisa_test_ms2001.c +++ /dev/null @@ -1,123 +0,0 @@ -/* - * $Id$ - * - * Copyright (C) 2010 Antoine Drouin - * - * This file is part of paparazzi. - * - * paparazzi is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * paparazzi is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with paparazzi; see the file COPYING. If not, write to - * the Free Software Foundation, 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include -#include -#include -#include -#include -#include - -#include BOARD_CONFIG -#include "mcu.h" -#include "sys_time.h" -#include "downlink.h" -#include "peripherals/ms2001.h" - -static inline void main_init( void ); -static inline void main_periodic_task( void ); -static inline void main_event_task( void ); - -static inline void main_spi2_init(void); - -int main(void) { - main_init(); - - while(1) { - if (sys_time_periodic()) - main_periodic_task(); - main_event_task(); - } - - return 0; -} - - -static inline void main_init( void ) { - mcu_init(); - sys_time_init(); - ms2001_init(); - main_spi2_init(); -} - -static inline void main_periodic_task( void ) { - RunOnceEvery(10, - { - DOWNLINK_SEND_BOOT(DefaultChannel, &cpu_time_sec); - LED_PERIODIC(); - }); - - switch(ms2001_status) { - case MS2001_IDLE: - Ms2001SendReq(); - break; - case MS2001_WAITING_EOC: - if (Ms2001HasEOC()) { - Ms2001ReadRes(); - } - break; - } -} - -static inline void main_event_task( void ) { - if (ms2001_status == MS2001_DATA_AVAILABLE) { - RunOnceEvery(10, { - DOWNLINK_SEND_IMU_MAG_RAW(DefaultChannel, - &ms2001_values[0], - &ms2001_values[1], - &ms2001_values[2]); - }); - ms2001_status = MS2001_IDLE; - } -} - -static inline void main_spi2_init( void ) { - - /* set max1168 slave select as output and assert it ( on PB12) */ - GPIOB->BSRR = GPIO_Pin_12; - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); - GPIO_InitTypeDef GPIO_InitStructure; - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* Enable SPI2 Periph clock -------------------------------------------------*/ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE); - - /* Configure GPIOs: SCK, MISO and MOSI --------------------------------*/ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO , ENABLE); - - - /* Enable SPI_2 DMA clock ---------------------------------------------------*/ - RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); - - - -} - diff --git a/sw/airborne/lisa/test/lisa_test_ms2100.c b/sw/airborne/lisa/test/lisa_test_ms2100.c index aabd4aa9ed..1bf869b3fa 100644 --- a/sw/airborne/lisa/test/lisa_test_ms2100.c +++ b/sw/airborne/lisa/test/lisa_test_ms2100.c @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) 2009 Antoine Drouin + * Copyright (C) 2010 Antoine Drouin * * This file is part of paparazzi. * @@ -56,46 +56,51 @@ int main(void) { static inline void main_init( void ) { mcu_init(); sys_time_init(); - max1168_init(); + ms2100_init(); main_spi2_init(); } static inline void main_periodic_task( void ) { - // LED_TOGGLE(6); - max1168_read(); RunOnceEvery(10, { DOWNLINK_SEND_BOOT(DefaultChannel, &cpu_time_sec); LED_PERIODIC(); }); -} - -static inline void main_event_task( void ) { - if (max1168_status == STA_MAX1168_DATA_AVAILABLE) { - RunOnceEvery(10, { - DOWNLINK_SEND_IMU_GYRO_RAW(DefaultChannel, &max1168_values[0], &max1168_values[1], &max1168_values[2]); - DOWNLINK_SEND_IMU_ACCEL_RAW(DefaultChannel, &max1168_values[3], &max1168_values[4], &max1168_values[6]); - // DOWNLINK_SEND_BOOT(DefaultChannel, &max1168_values[7]); }); - }); - max1168_status = STA_MAX1168_IDLE; + switch(ms2100_status) { + case MS2100_IDLE: + Ms2001SendReq(); + break; + case MS2100_WAITING_EOC: + if (Ms2001HasEOC()) { + Ms2001ReadRes(); + } + break; } } +static inline void main_event_task( void ) { + if (ms2100_status == MS2100_DATA_AVAILABLE) { + RunOnceEvery(10, { + DOWNLINK_SEND_IMU_MAG_RAW(DefaultChannel, + &ms2100_values[0], + &ms2100_values[1], + &ms2100_values[2]); + }); + ms2100_status = MS2100_IDLE; + } +} static inline void main_spi2_init( void ) { - /* set mag ss as output and assert it (on PC12) ------------------------------*/ - /* set mag reset as output and assert it (on PC13) ------------------------------*/ - GPIOC->BSRR = GPIO_Pin_12; - GPIOC->BSRR = GPIO_Pin_13; - - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); + /* set max1168 slave select as output and assert it ( on PB12) */ + GPIOB->BSRR = GPIO_Pin_12; + RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13; + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOC, &GPIO_InitStructure); + GPIO_Init(GPIOB, &GPIO_InitStructure); /* Enable SPI2 Periph clock -------------------------------------------------*/ RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE); @@ -108,24 +113,11 @@ static inline void main_spi2_init( void ) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO , ENABLE); - /* SPI Master configuration --------------------------------------------------*/ - SPI_InitTypeDef SPI_InitStructure; - SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; - SPI_InitStructure.SPI_Mode = SPI_Mode_Master; - SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; - SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; - SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8; - SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; - SPI_InitStructure.SPI_CRCPolynomial = 7; - SPI_Init(SPI2, &SPI_InitStructure); - - /* Enable SPI */ - SPI_Cmd(SPI2, ENABLE); /* Enable SPI_2 DMA clock ---------------------------------------------------*/ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); + + } diff --git a/sw/airborne/peripherals/ms2001.c b/sw/airborne/peripherals/ms2100.c similarity index 74% rename from sw/airborne/peripherals/ms2001.c rename to sw/airborne/peripherals/ms2100.c index 310efe2f83..1e0940339a 100644 --- a/sw/airborne/peripherals/ms2001.c +++ b/sw/airborne/peripherals/ms2100.c @@ -21,21 +21,21 @@ * Boston, MA 02111-1307, USA. */ -#include "ms2001.h" +#include "ms2100.h" -volatile uint8_t ms2001_status; -volatile int16_t ms2001_values[MS2001_NB_AXIS]; +volatile uint8_t ms2100_status; +volatile int16_t ms2100_values[MS2100_NB_AXIS]; -void ms2001_init( void ) { +void ms2100_init( void ) { - ms2001_arch_init(); + ms2100_arch_init(); uint8_t i; - for (i=0; i