From 611aee73ad60be478aab962d2dbd947249a0a600 Mon Sep 17 00:00:00 2001 From: pip Date: Wed, 4 Aug 2010 17:35:48 +0000 Subject: [PATCH] Removed I2C support from PipBee as it's not used. Added 4 LED definitions. git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1208 ebee16cc-31ac-478f-84a7-5cbb03baadba --- flight/PipBee/inc/pios_board.h | 98 +++++++++------------------------ flight/PipBee/inc/pios_config.h | 1 - flight/PipBee/pipbee.c | 77 ++++++++++++++++---------- 3 files changed, 74 insertions(+), 102 deletions(-) diff --git a/flight/PipBee/inc/pios_board.h b/flight/PipBee/inc/pios_board.h index 3097cba76..2d726d1c1 100644 --- a/flight/PipBee/inc/pios_board.h +++ b/flight/PipBee/inc/pios_board.h @@ -64,13 +64,26 @@ TIM8 | | | | //------------------------ // PIOS_LED //------------------------ -#define PIOS_LED_LED1_GPIO_PORT GPIOA +#define PIOS_LED_LED1_GPIO_PORT GPIOA // USB Activity LED #define PIOS_LED_LED1_GPIO_PIN GPIO_Pin_3 #define PIOS_LED_LED1_GPIO_CLK RCC_APB2Periph_GPIOA -#define PIOS_LED_NUM 1 -#define PIOS_LED_PORTS { PIOS_LED_LED1_GPIO_PORT } -#define PIOS_LED_PINS { PIOS_LED_LED1_GPIO_PIN } -#define PIOS_LED_CLKS { PIOS_LED_LED1_GPIO_CLK } + +#define PIOS_LED_LED2_GPIO_PORT GPIOB // LINK LED +#define PIOS_LED_LED2_GPIO_PIN GPIO_Pin_5 +#define PIOS_LED_LED2_GPIO_CLK RCC_APB2Periph_GPIOB + +#define PIOS_LED_LED3_GPIO_PORT GPIOB // RX LED +#define PIOS_LED_LED3_GPIO_PIN GPIO_Pin_6 +#define PIOS_LED_LED3_GPIO_CLK RCC_APB2Periph_GPIOB + +#define PIOS_LED_LED4_GPIO_PORT GPIOB // TX LED +#define PIOS_LED_LED4_GPIO_PIN GPIO_Pin_7 +#define PIOS_LED_LED4_GPIO_CLK RCC_APB2Periph_GPIOB + +#define PIOS_LED_NUM 4 +#define PIOS_LED_PORTS { PIOS_LED_LED1_GPIO_PORT, PIOS_LED_LED2_GPIO_PORT, PIOS_LED_LED3_GPIO_PORT, PIOS_LED_LED4_GPIO_PORT } +#define PIOS_LED_PINS { PIOS_LED_LED1_GPIO_PIN, PIOS_LED_LED2_GPIO_PIN, PIOS_LED_LED3_GPIO_PIN, PIOS_LED_LED4_GPIO_PIN } +#define PIOS_LED_CLKS { PIOS_LED_LED1_GPIO_CLK, PIOS_LED_LED2_GPIO_CLK, PIOS_LED_LED3_GPIO_CLK, PIOS_LED_LED4_GPIO_CLK } //------------------------- // Delay Timer @@ -97,24 +110,6 @@ TIM8 | | | | #define PIOS_IRQ_PRIO_HIGH 5 // for SPI, ADC, I2C etc... #define PIOS_IRQ_PRIO_HIGHEST 4 // for USART etc... -//------------------------ -// PIOS_I2C -//------------------------ -#define PIOS_I2C_PORT I2C1 -#define PIOS_I2C_CLK RCC_APB1Periph_I2C1 -#define PIOS_I2C_GPIO_PORT GPIOB -#define PIOS_I2C_SCL_PIN GPIO_Pin_6 -#define PIOS_I2C_SDA_PIN GPIO_Pin_7 -#define PIOS_I2C_DUTY_CYCLE I2C_DutyCycle_2 -#define PIOS_I2C_BUS_FREQ 400000 // bit/s -#define PIOS_I2C_TIMEOUT_VALUE 50 // ms -#define PIOS_I2C_IRQ_EV_HANDLER void I2C1_EV_IRQHandler(void) -#define PIOS_I2C_IRQ_ER_HANDLER void I2C1_ER_IRQHandler(void) -#define PIOS_I2C_IRQ_EV_CHANNEL I2C1_EV_IRQn -#define PIOS_I2C_IRQ_ER_CHANNEL I2C1_EV_IRQn -#define PIOS_I2C_IRQ_EV_PRIORITY 2 -#define PIOS_I2C_IRQ_ER_PRIORITY 2 - //------------------------- // SPI // @@ -147,61 +142,19 @@ TIM8 | | | | #define PIOS_ADC_TEMP_SENSOR_ADC ADC1 #define PIOS_ADC_TEMP_SENSOR_ADC_CHANNEL 1 -#define PIOS_ADC_PIN1_GPIO_PORT GPIOA // PA0 (Accel Z) -#define PIOS_ADC_PIN1_GPIO_PIN GPIO_Pin_0 // ADC12_IN0 -#define PIOS_ADC_PIN1_GPIO_CHANNEL ADC_Channel_0 -#define PIOS_ADC_PIN1_ADC ADC1 -#define PIOS_ADC_PIN1_ADC_NUMBER 1 - -#define PIOS_ADC_PIN2_GPIO_PORT GPIOA // PA1 (Accel Y) -#define PIOS_ADC_PIN2_GPIO_PIN GPIO_Pin_1 // ADC123_IN1 -#define PIOS_ADC_PIN2_GPIO_CHANNEL ADC_Channel_1 -#define PIOS_ADC_PIN2_ADC ADC1 -#define PIOS_ADC_PIN2_ADC_NUMBER 2 - -#define PIOS_ADC_PIN3_GPIO_PORT GPIOA // PA1 (Accel X) -#define PIOS_ADC_PIN3_GPIO_PIN GPIO_Pin_2 // ADC12_IN2 -#define PIOS_ADC_PIN3_GPIO_CHANNEL ADC_Channel_2 -#define PIOS_ADC_PIN3_ADC ADC1 -#define PIOS_ADC_PIN3_ADC_NUMBER 3 - -#define PIOS_ADC_PIN4_GPIO_PORT GPIOA // PA4 (Gyro X) -#define PIOS_ADC_PIN4_GPIO_PIN GPIO_Pin_4 // ADC12_IN4 -#define PIOS_ADC_PIN4_GPIO_CHANNEL ADC_Channel_4 -#define PIOS_ADC_PIN4_ADC ADC1 -#define PIOS_ADC_PIN4_ADC_NUMBER 4 - -#define PIOS_ADC_PIN5_GPIO_PORT GPIOA // PA5 (Gyro Y) -#define PIOS_ADC_PIN5_GPIO_PIN GPIO_Pin_5 // ADC12_IN5 -#define PIOS_ADC_PIN5_GPIO_CHANNEL ADC_Channel_5 -#define PIOS_ADC_PIN5_ADC ADC2 -#define PIOS_ADC_PIN5_ADC_NUMBER 1 - -#define PIOS_ADC_PIN6_GPIO_PORT GPIOA // PA6 (XY Temp) -#define PIOS_ADC_PIN6_GPIO_PIN GPIO_Pin_6 // ADC12_IN6 -#define PIOS_ADC_PIN6_GPIO_CHANNEL ADC_Channel_6 -#define PIOS_ADC_PIN6_ADC ADC2 -#define PIOS_ADC_PIN6_ADC_NUMBER 2 - -#define PIOS_ADC_PIN7_GPIO_PORT GPIOA // PA7 (Gyro Z) -#define PIOS_ADC_PIN7_GPIO_PIN GPIO_Pin_7 // ADC12_IN7 -#define PIOS_ADC_PIN7_GPIO_CHANNEL ADC_Channel_7 -#define PIOS_ADC_PIN7_ADC ADC2 -#define PIOS_ADC_PIN7_ADC_NUMBER 3 - -#define PIOS_ADC_PIN8_GPIO_PORT GPIOB // PB1 (Z Temp) +#define PIOS_ADC_PIN8_GPIO_PORT GPIOB // PB1 (PSU Voltage) #define PIOS_ADC_PIN8_GPIO_PIN GPIO_Pin_1 // ADC12_IN9 #define PIOS_ADC_PIN8_GPIO_CHANNEL ADC_Channel_9 #define PIOS_ADC_PIN8_ADC ADC2 #define PIOS_ADC_PIN8_ADC_NUMBER 4 -#define PIOS_ADC_NUM_PINS 8 +#define PIOS_ADC_NUM_PINS 1 -#define PIOS_ADC_PORTS { PIOS_ADC_PIN1_GPIO_PORT, PIOS_ADC_PIN2_GPIO_PORT, PIOS_ADC_PIN3_GPIO_PORT, PIOS_ADC_PIN4_GPIO_PORT, PIOS_ADC_PIN5_GPIO_PORT, PIOS_ADC_PIN6_GPIO_PORT, PIOS_ADC_PIN7_GPIO_PORT, PIOS_ADC_PIN8_GPIO_PORT } -#define PIOS_ADC_PINS { PIOS_ADC_PIN1_GPIO_PIN, PIOS_ADC_PIN2_GPIO_PIN, PIOS_ADC_PIN3_GPIO_PIN, PIOS_ADC_PIN4_GPIO_PIN, PIOS_ADC_PIN5_GPIO_PIN, PIOS_ADC_PIN6_GPIO_PIN, PIOS_ADC_PIN7_GPIO_PIN, PIOS_ADC_PIN8_GPIO_PIN } -#define PIOS_ADC_CHANNELS { PIOS_ADC_PIN1_GPIO_CHANNEL, PIOS_ADC_PIN2_GPIO_CHANNEL, PIOS_ADC_PIN3_GPIO_CHANNEL, PIOS_ADC_PIN4_GPIO_CHANNEL, PIOS_ADC_PIN5_GPIO_CHANNEL, PIOS_ADC_PIN6_GPIO_CHANNEL, PIOS_ADC_PIN7_GPIO_CHANNEL, PIOS_ADC_PIN8_GPIO_CHANNEL } -#define PIOS_ADC_MAPPING { PIOS_ADC_PIN1_ADC, PIOS_ADC_PIN2_ADC, PIOS_ADC_PIN3_ADC, PIOS_ADC_PIN4_ADC, PIOS_ADC_PIN5_ADC, PIOS_ADC_PIN6_ADC, PIOS_ADC_PIN7_ADC, PIOS_ADC_PIN8_ADC } -#define PIOS_ADC_CHANNEL_MAPPING { PIOS_ADC_PIN1_ADC_NUMBER, PIOS_ADC_PIN2_ADC_NUMBER, PIOS_ADC_PIN3_ADC_NUMBER, PIOS_ADC_PIN4_ADC_NUMBER, PIOS_ADC_PIN5_ADC_NUMBER, PIOS_ADC_PIN6_ADC_NUMBER, PIOS_ADC_PIN7_ADC_NUMBER, PIOS_ADC_PIN8_ADC_NUMBER } +#define PIOS_ADC_PORTS { PIOS_ADC_PIN8_GPIO_PORT } +#define PIOS_ADC_PINS { PIOS_ADC_PIN8_GPIO_PIN } +#define PIOS_ADC_CHANNELS { PIOS_ADC_PIN8_GPIO_CHANNEL } +#define PIOS_ADC_MAPPING { PIOS_ADC_PIN8_ADC } +#define PIOS_ADC_CHANNEL_MAPPING { PIOS_ADC_PIN8_ADC_NUMBER } #define PIOS_ADC_NUM_CHANNELS (PIOS_ADC_NUM_PINS + PIOS_ADC_USE_TEMP_SENSOR) #define PIOS_ADC_NUM_ADC_CHANNELS 2 #define PIOS_ADC_USE_ADC2 1 @@ -304,6 +257,7 @@ TIM8 | | | | #define PIOS_GPIO_PINS { PIOS_GPIO_1_PIN } #define PIOS_GPIO_CLKS { PIOS_GPIO_1_GPIO_CLK } #define PIOS_GPIO_NUM 1 + #define SET_ACCEL_2G PIOS_GPIO_On(0); #define SET_ACCEL_6G PIOS_GPIO_Off(0) diff --git a/flight/PipBee/inc/pios_config.h b/flight/PipBee/inc/pios_config.h index 6f16f1371..393257123 100644 --- a/flight/PipBee/inc/pios_config.h +++ b/flight/PipBee/inc/pios_config.h @@ -31,7 +31,6 @@ /* Enable/Disable PiOS Modules */ #define PIOS_INCLUDE_ADC #define PIOS_INCLUDE_DELAY -#define PIOS_INCLUDE_I2C #define PIOS_INCLUDE_IRQ #define PIOS_INCLUDE_LED #define PIOS_INCLUDE_SPI diff --git a/flight/PipBee/pipbee.c b/flight/PipBee/pipbee.c index d6f2bd56d..10c33c8d7 100644 --- a/flight/PipBee/pipbee.c +++ b/flight/PipBee/pipbee.c @@ -38,35 +38,54 @@ */ int main() { - /* Brings up System using CMSIS functions, enables the LEDs. */ - PIOS_SYS_Init(); - - /* Delay system */ - PIOS_DELAY_Init(); - - /* Communication system */ - PIOS_COM_Init(); - - /* ADC system */ - PIOS_ADC_Init(); - - /* Magnetic sensor system */ - PIOS_I2C_Init(); - - /* SPI link to master */ - PIOS_SPI_Init(); - - // Main loop - while (1) { - uint8_t loop_ctr; + uint32_t loop_ctr = 0; + uint32_t loop_ctr2 = 0; - // Alive signal - if (loop_ctr++ > 100) { - PIOS_LED_Toggle(LED1); - loop_ctr = 0; - } - - } + // Brings up System using CMSIS functions, enables the LEDs. + PIOS_SYS_Init(); - return 0; + // Delay system + PIOS_DELAY_Init(); + + // Communication system + PIOS_COM_Init(); + + // ADC system + PIOS_ADC_Init(); + + // SPI link to master + PIOS_SPI_Init(); + + // Main loop + while (1) + { + if (++loop_ctr > 10000000) + { + loop_ctr = 0; + + if (++loop_ctr2 > 3) loop_ctr2 = 0; + + switch (loop_ctr2) + { + case 0: + PIOS_LED_Toggle(LED1); + break; + case 1: + PIOS_LED_Toggle(LED2); + break; + case 2: + PIOS_LED_Toggle(LED3); + break; + case 3: + PIOS_LED_Toggle(LED4); + break; + default: + loop_ctr2 = 0; + PIOS_LED_Toggle(LED1); + break; + } + } + } + + return 0; }