mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-01-29 14:52:12 +01:00
PiOS F2: Move IMU3000 to device dependent :(. Now they all are. Need to
abstract as much as possible out since init is almost identicalc and protocol COULD be device independent.
This commit is contained in:
parent
8c1dd7b929
commit
f247112090
@ -55,10 +55,10 @@ PIOS = ../PiOS
|
|||||||
PIOSINC = $(PIOS)/inc
|
PIOSINC = $(PIOS)/inc
|
||||||
FLIGHTLIB = ../Libraries
|
FLIGHTLIB = ../Libraries
|
||||||
FLIGHTLIBINC = ../Libraries/inc
|
FLIGHTLIBINC = ../Libraries/inc
|
||||||
PIOSSTM32FXX = $(PIOS)/STM32F2xx
|
PIOSSTM32F2XX = $(PIOS)/STM32F2xx
|
||||||
PIOSCOMMON = $(PIOS)/Common
|
PIOSCOMMON = $(PIOS)/Common
|
||||||
PIOSBOARDS = $(PIOS)/Boards
|
PIOSBOARDS = $(PIOS)/Boards
|
||||||
APPLIBDIR = $(PIOSSTM32FXX)/Libraries
|
APPLIBDIR = $(PIOSSTM32F2XX)/Libraries
|
||||||
STMLIBDIR = $(APPLIBDIR)
|
STMLIBDIR = $(APPLIBDIR)
|
||||||
STMSPDDIR = $(STMLIBDIR)/STM32F2xx_StdPeriph_Driver
|
STMSPDDIR = $(STMLIBDIR)/STM32F2xx_StdPeriph_Driver
|
||||||
STMSPDSRCDIR = $(STMSPDDIR)/src
|
STMSPDSRCDIR = $(STMSPDDIR)/src
|
||||||
@ -89,25 +89,26 @@ SRC += $(BOOT)/ahrs_slave_test.c
|
|||||||
SRC += $(BOOT)/ahrs_spi_program.c
|
SRC += $(BOOT)/ahrs_spi_program.c
|
||||||
|
|
||||||
## PIOS Hardware (STM32F2xx)
|
## PIOS Hardware (STM32F2xx)
|
||||||
SRC += $(PIOSSTM32FXX)/pios_sys.c
|
SRC += $(PIOSSTM32F2XX)/pios_sys.c
|
||||||
SRC += $(PIOSSTM32FXX)/pios_led.c
|
SRC += $(PIOSSTM32F2XX)/pios_led.c
|
||||||
SRC += $(PIOSSTM32FXX)/pios_delay.c
|
SRC += $(PIOSSTM32F2XX)/pios_delay.c
|
||||||
SRC += $(PIOSSTM32FXX)/pios_usart.c
|
SRC += $(PIOSSTM32F2XX)/pios_usart.c
|
||||||
SRC += $(PIOSSTM32FXX)/pios_irq.c
|
SRC += $(PIOSSTM32F2XX)/pios_irq.c
|
||||||
SRC += $(PIOSSTM32FXX)/pios_i2c.c
|
SRC += $(PIOSSTM32F2XX)/pios_i2c.c
|
||||||
SRC += $(PIOSSTM32FXX)/pios_debug.c
|
SRC += $(PIOSSTM32F2XX)/pios_debug.c
|
||||||
SRC += $(PIOSSTM32FXX)/pios_gpio.c
|
#SRC += $(PIOSSTM32F2XX)/pios_gpio.c
|
||||||
SRC += $(PIOSSTM32FXX)/pios_spi.c
|
SRC += $(PIOSSTM32F2XX)/pios_spi.c
|
||||||
#SRC += $(PIOSSTM32FXX)/pios_exti.c
|
#SRC += $(PIOSSTM32F2XX)/pios_exti.c
|
||||||
SRC += $(PIOSSTM32FXX)/pios_iap.c
|
SRC += $(PIOSSTM32F2XX)/pios_iap.c
|
||||||
SRC += $(PIOSSTM32FXX)/pios_bma180.c
|
SRC += $(PIOSSTM32F2XX)/pios_bma180.c
|
||||||
SRC += $(PIOSSTM32FXX)/pios_hmc5883.c
|
SRC += $(PIOSSTM32F2XX)/pios_hmc5883.c
|
||||||
SRC += $(PIOSSTM32FXX)/pios_bmp085.c
|
SRC += $(PIOSSTM32F2XX)/pios_bmp085.c
|
||||||
|
SRC += $(PIOSSTM32F2XX)/pios_imu3000.c
|
||||||
|
|
||||||
## PIOS Hardware (Common)
|
## PIOS Hardware (Common)
|
||||||
SRC += $(PIOSCOMMON)/pios_com.c
|
SRC += $(PIOSCOMMON)/pios_com.c
|
||||||
SRC += $(PIOSCOMMON)/printf-stdarg.c
|
SRC += $(PIOSCOMMON)/printf-stdarg.c
|
||||||
SRC += $(PIOSCOMMON)/pios_imu3000.c
|
|
||||||
SRC += $(PIOSCOMMON)/pios_bl_helper.c
|
SRC += $(PIOSCOMMON)/pios_bl_helper.c
|
||||||
|
|
||||||
## CMSIS for STM32
|
## CMSIS for STM32
|
||||||
@ -151,7 +152,7 @@ CPPSRCARM =
|
|||||||
# Even though the DOS/Win* filesystem matches both .s and .S the same,
|
# Even though the DOS/Win* filesystem matches both .s and .S the same,
|
||||||
# it will preserve the spelling of the filenames, and gcc itself does
|
# it will preserve the spelling of the filenames, and gcc itself does
|
||||||
# care about how the name is spelled on its command-line.
|
# care about how the name is spelled on its command-line.
|
||||||
ASRC = $(PIOSSTM32FXX)/startup_stm32f2xx.S
|
ASRC = $(PIOSSTM32F2XX)/startup_stm32f2xx.S
|
||||||
|
|
||||||
# List Assembler source files here which must be assembled in ARM-Mode..
|
# List Assembler source files here which must be assembled in ARM-Mode..
|
||||||
ASRCARM =
|
ASRCARM =
|
||||||
@ -161,7 +162,7 @@ ASRCARM =
|
|||||||
EXTRAINCDIRS += $(PIOS)
|
EXTRAINCDIRS += $(PIOS)
|
||||||
EXTRAINCDIRS += $(PIOSINC)
|
EXTRAINCDIRS += $(PIOSINC)
|
||||||
EXTRAINCDIRS += $(FLIGHTLIBINC)
|
EXTRAINCDIRS += $(FLIGHTLIBINC)
|
||||||
EXTRAINCDIRS += $(PIOSSTM32FXX)
|
EXTRAINCDIRS += $(PIOSSTM32F2XX)
|
||||||
EXTRAINCDIRS += $(PIOSCOMMON)
|
EXTRAINCDIRS += $(PIOSCOMMON)
|
||||||
EXTRAINCDIRS += $(PIOSBOARDS)
|
EXTRAINCDIRS += $(PIOSBOARDS)
|
||||||
EXTRAINCDIRS += $(STMSPDINCDIR)
|
EXTRAINCDIRS += $(STMSPDINCDIR)
|
||||||
|
@ -616,6 +616,38 @@ static const struct pios_bma180_cfg pios_bma180_cfg = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#include "pios_imu3000.h"
|
||||||
|
static const struct pios_imu3000_cfg pios_imu3000_cfg = {
|
||||||
|
.drdy = {
|
||||||
|
.gpio = GPIOB,
|
||||||
|
.init = {
|
||||||
|
.GPIO_Pin = GPIO_Pin_1,
|
||||||
|
.GPIO_Speed = GPIO_Speed_100MHz,
|
||||||
|
.GPIO_Mode = GPIO_Mode_IN,
|
||||||
|
.GPIO_OType = GPIO_OType_OD,
|
||||||
|
.GPIO_PuPd = GPIO_PuPd_NOPULL,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
.eoc_exti = {
|
||||||
|
// .pin_source = GPIO_PinSource1,
|
||||||
|
// .port_source = GPIO_PortSourceGPIOB,
|
||||||
|
.init = {
|
||||||
|
.EXTI_Line = EXTI_Line1, // matches above GPIO pin
|
||||||
|
.EXTI_Mode = EXTI_Mode_Interrupt,
|
||||||
|
.EXTI_Trigger = EXTI_Trigger_Rising,
|
||||||
|
.EXTI_LineCmd = ENABLE,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
.eoc_irq = {
|
||||||
|
.init = {
|
||||||
|
.NVIC_IRQChannel = EXTI1_IRQn,
|
||||||
|
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_HIGH,
|
||||||
|
.NVIC_IRQChannelSubPriority = 0,
|
||||||
|
.NVIC_IRQChannelCmd = ENABLE,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
#include "pios_bmp085.h"
|
#include "pios_bmp085.h"
|
||||||
static const struct pios_bmp085_cfg pios_bmp085_cfg = {
|
static const struct pios_bmp085_cfg pios_bmp085_cfg = {
|
||||||
.drdy = {
|
.drdy = {
|
||||||
@ -707,7 +739,7 @@ void PIOS_Board_Init(void) {
|
|||||||
if (PIOS_I2C_Init(&pios_i2c_gyro_adapter_id, &pios_i2c_gyro_adapter_cfg)) {
|
if (PIOS_I2C_Init(&pios_i2c_gyro_adapter_id, &pios_i2c_gyro_adapter_cfg)) {
|
||||||
PIOS_DEBUG_Assert(0);
|
PIOS_DEBUG_Assert(0);
|
||||||
}
|
}
|
||||||
PIOS_IMU3000_Init();
|
PIOS_IMU3000_Init(&pios_imu3000_cfg);
|
||||||
|
|
||||||
/* Set up the SPI interface to the accelerometer*/
|
/* Set up the SPI interface to the accelerometer*/
|
||||||
if (PIOS_SPI_Init(&pios_spi_accel_id, &pios_spi_accel_cfg)) {
|
if (PIOS_SPI_Init(&pios_spi_accel_id, &pios_spi_accel_cfg)) {
|
||||||
|
@ -143,32 +143,6 @@ extern uint32_t pios_com_aux_id;
|
|||||||
//-------------------------
|
//-------------------------
|
||||||
|
|
||||||
|
|
||||||
//-------------------------
|
|
||||||
// GPIO
|
|
||||||
// Not used, but pios_gpio.c expects something
|
|
||||||
//-------------------------
|
|
||||||
#define PIOS_GPIO_1_PORT GPIOA
|
|
||||||
#define PIOS_GPIO_1_PIN GPIO_Pin_1
|
|
||||||
#define PIOS_GPIO_1_GPIO_CLK RCC_APB2Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIOS_GPIO_PORTS { PIOS_GPIO_1_PORT }
|
|
||||||
#define PIOS_GPIO_PINS { PIOS_GPIO_1_PIN }
|
|
||||||
#define PIOS_GPIO_CLKS { PIOS_GPIO_1_GPIO_CLK }
|
|
||||||
#define PIOS_GPIO_NUM 1
|
|
||||||
|
|
||||||
//------------------------
|
|
||||||
// PIOS_IMU3000
|
|
||||||
//------------------------
|
|
||||||
#define PIOS_IMU3000_INT_GPIO_PORT GPIOB
|
|
||||||
#define PIOS_IMU3000_INT_GPIO_PIN GPIO_Pin_1
|
|
||||||
#define PIOS_IMU3000_INT_PORT_SOURCE GPIO_PortSourceGPIOB
|
|
||||||
#define PIOS_IMU3000_INT_PIN_SOURCE GPIO_PinSource1
|
|
||||||
#define PIOS_IMU3000_INT_CLK RCC_APB2Periph_GPIOB
|
|
||||||
#define PIOS_IMU3000_INT_EXTI_LINE EXTI_Line1
|
|
||||||
#define PIOS_IMU3000_INT_IRQn EXTI1_IRQn
|
|
||||||
#define PIOS_IMU3000_INT_PRIO PIOS_IRQ_PRIO_HIGH
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* STM3210E_INS_H_ */
|
#endif /* STM3210E_INS_H_ */
|
||||||
|
@ -57,34 +57,17 @@ static int32_t PIOS_IMU3000_Write(uint8_t address, uint8_t buffer);
|
|||||||
* @brief Initialize the IMU3000 3-axis gyro sensor.
|
* @brief Initialize the IMU3000 3-axis gyro sensor.
|
||||||
* @return none
|
* @return none
|
||||||
*/
|
*/
|
||||||
void PIOS_IMU3000_Init(void)
|
void PIOS_IMU3000_Init(const struct pios_imu3000_cfg * cfg)
|
||||||
{
|
{
|
||||||
GPIO_InitTypeDef GPIO_InitStructure;
|
/* Configure EOC pin as input floating */
|
||||||
EXTI_InitTypeDef EXTI_InitStructure;
|
GPIO_Init(cfg->drdy.gpio, &cfg->drdy.init);
|
||||||
NVIC_InitTypeDef NVIC_InitStructure;
|
|
||||||
|
|
||||||
/* Enable INT GPIO clock */
|
|
||||||
RCC_APB2PeriphClockCmd(PIOS_IMU3000_INT_CLK | RCC_APB2Periph_AFIO, ENABLE);
|
|
||||||
|
|
||||||
/* Configure IMU3000 interrupt pin as input floating */
|
|
||||||
GPIO_InitStructure.GPIO_Pin = PIOS_IMU3000_INT_GPIO_PIN;
|
|
||||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
|
|
||||||
GPIO_Init(PIOS_IMU3000_INT_GPIO_PORT, &GPIO_InitStructure);
|
|
||||||
|
|
||||||
/* Configure the End Of Conversion (EOC) interrupt */
|
/* Configure the End Of Conversion (EOC) interrupt */
|
||||||
GPIO_EXTILineConfig(PIOS_IMU3000_INT_PORT_SOURCE, PIOS_IMU3000_INT_PIN_SOURCE);
|
//GPIO_EXTILineConfig(cfg->eoc_exit.port_source, cfg->eoc_exit.pin_source);
|
||||||
EXTI_InitStructure.EXTI_Line = PIOS_IMU3000_INT_EXTI_LINE;
|
EXTI_Init(&cfg->eoc_exti.init);
|
||||||
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
|
|
||||||
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
|
|
||||||
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
|
|
||||||
EXTI_Init(&EXTI_InitStructure);
|
|
||||||
|
|
||||||
/* Enable and set EOC EXTI Interrupt to the lowest priority */
|
/* Enable and set EOC EXTI Interrupt to the lowest priority */
|
||||||
NVIC_InitStructure.NVIC_IRQChannel = PIOS_IMU3000_INT_IRQn;
|
NVIC_Init(&cfg->eoc_irq.init);
|
||||||
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = PIOS_IMU3000_INT_PRIO;
|
|
||||||
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
|
|
||||||
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
|
|
||||||
NVIC_Init(&NVIC_InitStructure);
|
|
||||||
|
|
||||||
/* Configure the IMU3000 Sensor */
|
/* Configure the IMU3000 Sensor */
|
||||||
PIOS_IMU3000_ConfigTypeDef IMU3000_InitStructure;
|
PIOS_IMU3000_ConfigTypeDef IMU3000_InitStructure;
|
@ -33,6 +33,8 @@
|
|||||||
#ifndef PIOS_IMU3000_H
|
#ifndef PIOS_IMU3000_H
|
||||||
#define PIOS_IMU3000_H
|
#define PIOS_IMU3000_H
|
||||||
|
|
||||||
|
#include "pios.h"
|
||||||
|
|
||||||
/* IMU3000 Addresses */
|
/* IMU3000 Addresses */
|
||||||
#define PIOS_IMU3000_I2C_ADDR 0x69
|
#define PIOS_IMU3000_I2C_ADDR 0x69
|
||||||
#define PIOS_IMU3000_I2C_READ_ADDR 0xD2
|
#define PIOS_IMU3000_I2C_READ_ADDR 0xD2
|
||||||
@ -116,8 +118,14 @@ struct pios_imu3000_data {
|
|||||||
int16_t z;
|
int16_t z;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct pios_imu3000_cfg {
|
||||||
|
struct stm32_gpio drdy;
|
||||||
|
struct stm32_exti eoc_exti;
|
||||||
|
struct stm32_irq eoc_irq;
|
||||||
|
};
|
||||||
|
|
||||||
/* Public Functions */
|
/* Public Functions */
|
||||||
extern void PIOS_IMU3000_Init(void);
|
extern void PIOS_IMU3000_Init(const struct pios_imu3000_cfg * cfg);
|
||||||
extern bool PIOS_IMU3000_NewDataAvailable(void);
|
extern bool PIOS_IMU3000_NewDataAvailable(void);
|
||||||
extern int32_t PIOS_IMU3000_ReadFifo(uint8_t * buffer, uint16_t len);
|
extern int32_t PIOS_IMU3000_ReadFifo(uint8_t * buffer, uint16_t len);
|
||||||
extern int32_t PIOS_IMU3000_ReadGyros(int16_t * data);
|
extern int32_t PIOS_IMU3000_ReadGyros(int16_t * data);
|
||||||
|
@ -2861,6 +2861,8 @@
|
|||||||
65D1FBD613F50CD5006374A6 /* pios_hmc5883.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_hmc5883.c; sourceTree = "<group>"; };
|
65D1FBD613F50CD5006374A6 /* pios_hmc5883.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_hmc5883.c; sourceTree = "<group>"; };
|
||||||
65D1FBD713F5146F006374A6 /* pios_bmp085.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_bmp085.c; sourceTree = "<group>"; };
|
65D1FBD713F5146F006374A6 /* pios_bmp085.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_bmp085.c; sourceTree = "<group>"; };
|
||||||
65D1FBD813F51865006374A6 /* pios_bmp085.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_bmp085.c; sourceTree = "<group>"; };
|
65D1FBD813F51865006374A6 /* pios_bmp085.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_bmp085.c; sourceTree = "<group>"; };
|
||||||
|
65D1FBD913F51AB7006374A6 /* pios_imu3000.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pios_imu3000.c; sourceTree = "<group>"; };
|
||||||
|
65D1FBDA13F51AE1006374A6 /* pios_imu3000.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pios_imu3000.h; sourceTree = "<group>"; };
|
||||||
65D2CA841248F9A400B1E7D6 /* mixersettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = mixersettings.xml; sourceTree = "<group>"; };
|
65D2CA841248F9A400B1E7D6 /* mixersettings.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = mixersettings.xml; sourceTree = "<group>"; };
|
||||||
65D2CA851248F9A400B1E7D6 /* mixerstatus.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = mixerstatus.xml; sourceTree = "<group>"; };
|
65D2CA851248F9A400B1E7D6 /* mixerstatus.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = mixerstatus.xml; sourceTree = "<group>"; };
|
||||||
65DEA78513F0FE6000095B06 /* stm32f2xx_conf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stm32f2xx_conf.h; sourceTree = "<group>"; };
|
65DEA78513F0FE6000095B06 /* stm32f2xx_conf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stm32f2xx_conf.h; sourceTree = "<group>"; };
|
||||||
@ -3734,6 +3736,7 @@
|
|||||||
6560A38013EE26B700105DA5 /* pios_gpio.c */,
|
6560A38013EE26B700105DA5 /* pios_gpio.c */,
|
||||||
65D1FBD613F50CD5006374A6 /* pios_hmc5883.c */,
|
65D1FBD613F50CD5006374A6 /* pios_hmc5883.c */,
|
||||||
6560A38113EE26B700105DA5 /* pios_i2c.c */,
|
6560A38113EE26B700105DA5 /* pios_i2c.c */,
|
||||||
|
65D1FBD913F51AB7006374A6 /* pios_imu3000.c */,
|
||||||
6560A38213EE26B700105DA5 /* pios_iap.c */,
|
6560A38213EE26B700105DA5 /* pios_iap.c */,
|
||||||
6560A38313EE26B700105DA5 /* pios_irq.c */,
|
6560A38313EE26B700105DA5 /* pios_irq.c */,
|
||||||
6560A38413EE26B700105DA5 /* pios_led.c */,
|
6560A38413EE26B700105DA5 /* pios_led.c */,
|
||||||
@ -4056,11 +4059,11 @@
|
|||||||
65632DF41251650300469B77 /* Boards */ = {
|
65632DF41251650300469B77 /* Boards */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
65D1FBD313F4FF1D006374A6 /* STM32F2xx_INS.h */,
|
|
||||||
65632DF51251650300469B77 /* pios_board.h */,
|
65632DF51251650300469B77 /* pios_board.h */,
|
||||||
65632DF71251650300469B77 /* STM3210E_OP.h */,
|
65632DF71251650300469B77 /* STM3210E_OP.h */,
|
||||||
65632DF61251650300469B77 /* STM32103CB_AHRS.h */,
|
65632DF61251650300469B77 /* STM32103CB_AHRS.h */,
|
||||||
65E6E06112E031E300058553 /* STM32103CB_CC_Rev1.h */,
|
65E6E06112E031E300058553 /* STM32103CB_CC_Rev1.h */,
|
||||||
|
65D1FBD313F4FF1D006374A6 /* STM32F2xx_INS.h */,
|
||||||
65E6E06212E031E300058553 /* STM32103CB_PIPXTREME_Rev1.h */,
|
65E6E06212E031E300058553 /* STM32103CB_PIPXTREME_Rev1.h */,
|
||||||
);
|
);
|
||||||
path = Boards;
|
path = Boards;
|
||||||
@ -8206,6 +8209,7 @@
|
|||||||
65D1FBD413F504C9006374A6 /* pios_hmc5883.h */,
|
65D1FBD413F504C9006374A6 /* pios_hmc5883.h */,
|
||||||
65E8F04311EFF25C00BBF654 /* pios_i2c.h */,
|
65E8F04311EFF25C00BBF654 /* pios_i2c.h */,
|
||||||
6526645A122DF972006F9A3C /* pios_i2c_priv.h */,
|
6526645A122DF972006F9A3C /* pios_i2c_priv.h */,
|
||||||
|
65D1FBDA13F51AE1006374A6 /* pios_imu3000.h */,
|
||||||
65E8F04411EFF25C00BBF654 /* pios_irq.h */,
|
65E8F04411EFF25C00BBF654 /* pios_irq.h */,
|
||||||
65E8F04511EFF25C00BBF654 /* pios_led.h */,
|
65E8F04511EFF25C00BBF654 /* pios_led.h */,
|
||||||
65E8F04611EFF25C00BBF654 /* pios_opahrs.h */,
|
65E8F04611EFF25C00BBF654 /* pios_opahrs.h */,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user