From: Keith Packard Date: Sat, 1 Feb 2014 06:39:58 +0000 (-0800) Subject: altos/fox: Update ADC to fox-1 IHU Revision 2 X-Git-Tag: 1.8.6~1^2~83 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=04aa1dfa7918dcf4eea9ec4cef5a31ac2a61a00d altos/fox: Update ADC to fox-1 IHU Revision 2 Change ADC pin definitions to match new hardware. Signed-off-by: Keith Packard --- diff --git a/src/fox1ihu/ao_pins.h b/src/fox1ihu/ao_pins.h index 028360a5..b5dd7283 100644 --- a/src/fox1ihu/ao_pins.h +++ b/src/fox1ihu/ao_pins.h @@ -120,42 +120,58 @@ * ADC */ #define AO_DATA_RING 32 -#define AO_ADC_NUM_SENSE 6 struct ao_adc { int16_t tx_pa_current; /* 0 ADC_IN0 */ - int16_t tx_pa_temp; /* 1 ADC_IN1 */ - int16_t tx_xo_temp; /* 2 ADC_IN2 */ - int16_t rx_xo_temp; /* 3 ADC_IN3 */ - int16_t ihu_current; /* 4 ADC_IN8 */ - int16_t rx_cd; /* 5 ADC_IN9 */ - int16_t ant_sense_1; /* 6 ADC_IN10 */ - int16_t ant_sense_2; /* 7 ADC_IN11 */ - int16_t gyro_x_1; /* 8 ADC_IN12 */ - int16_t gyro_z_1; /* 9 ADC_IN13 */ - int16_t gyro_x_2; /* 10 ADC_IN14 */ - int16_t gyro_z_2; /* 11 ADC_IN15 */ + int16_t tx_temp; /* 1 ADC_IN1 */ + int16_t exp4_temp; /* 2 ADC_IN2 */ + int16_t rx_temp; /* 3 ADC_IN3 */ + int16_t tx_analog_1; /* 4 ADC_IN4 */ + int16_t sense_batt; /* 5 ADC_IN5 */ + int16_t rx_analog_1; /* 6 ADC_IN6 */ + int16_t rx_rssi; /* 7 ADC_IN8 */ + int16_t rx_cd; /* 8 ADC_IN9 */ + int16_t ant_sense_1; /* 9 ADC_IN10 */ + int16_t ant_sense_2; /* 10 ADC_IN11 */ + int16_t gyro_x_1; /* 11 ADC_IN12 */ + int16_t gyro_z_1; /* 12 ADC_IN13 */ + int16_t gyro_vref_1; /* 13 ADC_IN24 */ + int16_t gyro_x_2; /* 14 ADC_IN14 */ + int16_t gyro_z_2; /* 15 ADC_IN15 */ + int16_t gyro_vref_2; /* 16 ADC_IN25 */ }; #define AO_ADC_TX_PA_CURRENT 0 #define AO_ADC_TX_PA_CURRENT_PORT (&stm_gpioa) #define AO_ADC_TX_PA_CURRENT_PIN 0 -#define AO_ADC_TX_PA_TEMP 1 -#define AO_ADC_TX_PA_TEMP_PORT (&stm_gpioa) -#define AO_ADC_TX_PA_TEMP_PIN 1 +#define AO_ADC_TX_TEMP 1 +#define AO_ADC_TX_TEMP_PORT (&stm_gpioa) +#define AO_ADC_TX_TEMP_PIN 1 -#define AO_ADC_TX_XO_TEMP 2 -#define AO_ADC_TX_XO_TEMP_PORT (&stm_gpioa) -#define AO_ADC_TX_XO_TEMP_PIN 2 +#define AO_ADC_EXP4_TEMP 2 +#define AO_ADC_EXP4_TEMP_PORT (&stm_gpioa) +#define AO_ADC_EXP4_TEMP_PIN 2 -#define AO_ADC_RX_XO_TEMP 3 -#define AO_ADC_RX_XO_TEMP_PORT (&stm_gpioa) -#define AO_ADC_RX_XO_TEMP_PIN 3 +#define AO_ADC_RX_TEMP 3 +#define AO_ADC_RX_TEMP_PORT (&stm_gpioa) +#define AO_ADC_RX_TEMP_PIN 3 -#define AO_ADC_IHU_CURRENT 8 -#define AO_ADC_IHU_CURRENT_PORT (&stm_gpiob) -#define AO_ADC_IHU_CURRENT_PIN 0 +#define AO_ADC_TX_ANALOG_1 4 +#define AO_ADC_TX_ANALOG_1_PORT (&stm_gpioa) +#define AO_ADC_TX_ANALOG_1_PIN 4 + +#define AO_ADC_SENSE_BATT 5 +#define AO_ADC_SENSE_BATT_PORT (&stm_gpioa) +#define AO_ADC_SENSE_BATT_PIN 5 + +#define AO_ADC_RX_ANALOG_1 6 +#define AO_ADC_RX_ANALOG_1_PORT (&stm_gpioa) +#define AO_ADC_RX_ANALOG_1_PIN 6 + +#define AO_ADC_RX_RSSI 8 +#define AO_ADC_RX_RSSI_PORT (&stm_gpiob) +#define AO_ADC_RX_RSSI_PIN 0 #define AO_ADC_RX_CD 9 #define AO_ADC_RX_CD_PORT (&stm_gpiob) @@ -177,6 +193,10 @@ struct ao_adc { #define AO_ADC_GYRO_Z_1_PORT (&stm_gpioc) #define AO_ADC_GYRO_Z_1_PIN 3 +#define AO_ADC_GYRO_VREF_1 24 +#define AO_ADC_GYRO_VREF_1_PORT (&stm_gpioe) +#define AO_ADC_GYRO_VREF_1_PIN 9 + #define AO_ADC_GYRO_X_2 14 #define AO_ADC_GYRO_X_2_PORT (&stm_gpioc) #define AO_ADC_GYRO_X_2_PIN 4 @@ -185,67 +205,92 @@ struct ao_adc { #define AO_ADC_GYRO_Z_2_PORT (&stm_gpioc) #define AO_ADC_GYRO_Z_2_PIN 5 +#define AO_ADC_GYRO_VREF_2 25 +#define AO_ADC_GYRO_VREF_2_PORT (&stm_gpioe) +#define AO_ADC_GYRO_VREF_2_PIN 10 + #define AO_ADC_TEMP 16 #define AO_ADC_RCC_AHBENR ((1 << STM_RCC_AHBENR_GPIOAEN) | \ (1 << STM_RCC_AHBENR_GPIOBEN) | \ - (1 << STM_RCC_AHBENR_GPIOCEN)) + (1 << STM_RCC_AHBENR_GPIOCEN) | \ + (1 << STM_RCC_AHBENR_GPIOEEN)) -#define AO_NUM_ADC_PIN (12) +#define AO_NUM_ADC_PIN (17) #define AO_ADC_PIN0_PORT AO_ADC_TX_PA_CURRENT_PORT #define AO_ADC_PIN0_PIN AO_ADC_TX_PA_CURRENT_PIN -#define AO_ADC_PIN1_PORT AO_ADC_TX_PA_TEMP_PORT -#define AO_ADC_PIN1_PIN AO_ADC_TX_PA_TEMP_PIN -#define AO_ADC_PIN2_PORT AO_ADC_TX_XO_TEMP_PORT -#define AO_ADC_PIN2_PIN AO_ADC_TX_XO_TEMP_PIN -#define AO_ADC_PIN3_PORT AO_ADC_RX_XO_TEMP_PORT -#define AO_ADC_PIN3_PIN AO_ADC_RX_XO_TEMP_PIN -#define AO_ADC_PIN4_PORT AO_ADC_IHU_CURRENT_PORT -#define AO_ADC_PIN4_PIN AO_ADC_IHU_CURRENT_PIN -#define AO_ADC_PIN5_PORT AO_ADC_RX_CD_PORT -#define AO_ADC_PIN5_PIN AO_ADC_RX_CD_PIN -#define AO_ADC_PIN6_PORT AO_ADC_ANT_SENSE_1_PORT -#define AO_ADC_PIN6_PIN AO_ADC_ANT_SENSE_1_PIN -#define AO_ADC_PIN7_PORT AO_ADC_ANT_SENSE_2_PORT -#define AO_ADC_PIN7_PIN AO_ADC_ANT_SENSE_2_PIN -#define AO_ADC_PIN8_PORT AO_ADC_GYRO_X_1_PORT -#define AO_ADC_PIN8_PIN AO_ADC_GYRO_X_1_PIN -#define AO_ADC_PIN9_PORT AO_ADC_GYRO_Z_1_PORT -#define AO_ADC_PIN9_PIN AO_ADC_GYRO_Z_1_PIN -#define AO_ADC_PIN10_PORT AO_ADC_GYRO_X_2_PORT -#define AO_ADC_PIN10_PIN AO_ADC_GYRO_X_2_PIN -#define AO_ADC_PIN11_PORT AO_ADC_GYRO_Z_2_PORT -#define AO_ADC_PIN11_PIN AO_ADC_GYRO_Z_2_PIN +#define AO_ADC_PIN1_PORT AO_ADC_TX_TEMP_PORT +#define AO_ADC_PIN1_PIN AO_ADC_TX_TEMP_PIN +#define AO_ADC_PIN2_PORT AO_ADC_EXP4_TEMP_PORT +#define AO_ADC_PIN2_PIN AO_ADC_EXP4_TEMP_PIN +#define AO_ADC_PIN3_PORT AO_ADC_RX_TEMP_PORT +#define AO_ADC_PIN3_PIN AO_ADC_RX_TEMP_PIN +#define AO_ADC_PIN4_PORT AO_ADC_TX_ANALOG_1_PORT +#define AO_ADC_PIN4_PIN AO_ADC_TX_ANALOG_1_PIN +#define AO_ADC_PIN5_PORT AO_ADC_SENSE_BATT_PORT +#define AO_ADC_PIN5_PIN AO_ADC_SENSE_BATT_PIN +#define AO_ADC_PIN6_PORT AO_ADC_RX_ANALOG_1_PORT +#define AO_ADC_PIN6_PIN AO_ADC_RX_ANALOG_1_PIN +#define AO_ADC_PIN7_PORT AO_ADC_RX_RSSI_PORT +#define AO_ADC_PIN7_PIN AO_ADC_RX_RSSI_PIN +#define AO_ADC_PIN8_PORT AO_ADC_RX_CD_PORT +#define AO_ADC_PIN8_PIN AO_ADC_RX_CD_PIN +#define AO_ADC_PIN9_PORT AO_ADC_ANT_SENSE_1_PORT +#define AO_ADC_PIN9_PIN AO_ADC_ANT_SENSE_1_PIN +#define AO_ADC_PIN10_PORT AO_ADC_ANT_SENSE_2_PORT +#define AO_ADC_PIN10_PIN AO_ADC_ANT_SENSE_2_PIN +#define AO_ADC_PIN11_PORT AO_ADC_GYRO_X_1_PORT +#define AO_ADC_PIN11_PIN AO_ADC_GYRO_X_1_PIN +#define AO_ADC_PIN12_PORT AO_ADC_GYRO_Z_1_PORT +#define AO_ADC_PIN12_PIN AO_ADC_GYRO_Z_1_PIN +#define AO_ADC_PIN13_PORT AO_ADC_GYRO_VREF_1_PORT +#define AO_ADC_PIN13_PIN AO_ADC_GYRO_VREF_1_PIN +#define AO_ADC_PIN14_PORT AO_ADC_GYRO_X_2_PORT +#define AO_ADC_PIN14_PIN AO_ADC_GYRO_X_2_PIN +#define AO_ADC_PIN15_PORT AO_ADC_GYRO_Z_2_PORT +#define AO_ADC_PIN15_PIN AO_ADC_GYRO_Z_2_PIN +#define AO_ADC_PIN16_PORT AO_ADC_GYRO_VREF_2_PORT +#define AO_ADC_PIN16_PIN AO_ADC_GYRO_VREF_2_PIN #define AO_NUM_ADC (AO_NUM_ADC_PIN + 1) /* Add internal temp sensor */ #define AO_ADC_SQ1 AO_ADC_TX_PA_CURRENT #define AO_ADC_SQ1_NAME "tx_pa_current" -#define AO_ADC_SQ2 AO_ADC_TX_PA_TEMP -#define AO_ADC_SQ2_NAME "tx_pa_temp" -#define AO_ADC_SQ3 AO_ADC_TX_XO_TEMP -#define AO_ADC_SQ3_NAME "tx_xo_temp" -#define AO_ADC_SQ4 AO_ADC_RX_XO_TEMP -#define AO_ADC_SQ4_NAME "rx_xo_temp" -#define AO_ADC_SQ5 AO_ADC_IHU_CURRENT -#define AO_ADC_SQ5_NAME "ihu_current" -#define AO_ADC_SQ6 AO_ADC_RX_CD -#define AO_ADC_SQ6_NAME "rx_cd" -#define AO_ADC_SQ7 AO_ADC_ANT_SENSE_1 -#define AO_ADC_SQ7_NAME "ant_sense_1" -#define AO_ADC_SQ8 AO_ADC_ANT_SENSE_2 -#define AO_ADC_SQ8_NAME "ant_sense_2" -#define AO_ADC_SQ9 AO_ADC_GYRO_X_1 -#define AO_ADC_SQ9_NAME "gyro_x_1" -#define AO_ADC_SQ10 AO_ADC_GYRO_Z_1 -#define AO_ADC_SQ10_NAME "gyro_z_1" -#define AO_ADC_SQ11 AO_ADC_GYRO_X_2 -#define AO_ADC_SQ11_NAME "gyro_x_2" -#define AO_ADC_SQ12 AO_ADC_GYRO_Z_2 -#define AO_ADC_SQ12_NAME "gyro_z_2" -#define AO_ADC_SQ13 AO_ADC_TEMP -#define AO_ADC_SQ13_NAME "temp" +#define AO_ADC_SQ2 AO_ADC_TX_TEMP +#define AO_ADC_SQ2_NAME "tx_temp" +#define AO_ADC_SQ3 AO_ADC_EXP4_TEMP +#define AO_ADC_SQ3_NAME "expr_temp" +#define AO_ADC_SQ4 AO_ADC_RX_TEMP +#define AO_ADC_SQ4_NAME "rx_temp" +#define AO_ADC_SQ5 AO_ADC_TX_ANALOG_1 +#define AO_ADC_SQ5_NAME "tx_analog_1" +#define AO_ADC_SQ6 AO_ADC_SENSE_BATT +#define AO_ADC_SQ6_NAME "sense_batt" +#define AO_ADC_SQ7 AO_ADC_RX_ANALOG_1 +#define AO_ADC_SQ7_NAME "rx_analog_1" +#define AO_ADC_SQ8 AO_ADC_RX_RSSI +#define AO_ADC_SQ8_NAME "rx_rssi" +#define AO_ADC_SQ9 AO_ADC_RX_CD +#define AO_ADC_SQ9_NAME "rx_cd" +#define AO_ADC_SQ10 AO_ADC_ANT_SENSE_1 +#define AO_ADC_SQ10_NAME "ant_sense_1" +#define AO_ADC_SQ11 AO_ADC_ANT_SENSE_2 +#define AO_ADC_SQ11_NAME "ant_sense_2" +#define AO_ADC_SQ12 AO_ADC_GYRO_X_1 +#define AO_ADC_SQ12_NAME "gyro_x_1" +#define AO_ADC_SQ13 AO_ADC_GYRO_Z_1 +#define AO_ADC_SQ13_NAME "gyro_z_1" +#define AO_ADC_SQ14 AO_ADC_GYRO_VREF_1 +#define AO_ADC_SQ14_NAME "gyro_vref_1" +#define AO_ADC_SQ15 AO_ADC_GYRO_X_2 +#define AO_ADC_SQ15_NAME "gyro_x_2" +#define AO_ADC_SQ16 AO_ADC_GYRO_Z_2 +#define AO_ADC_SQ16_NAME "gyro_z_2" +#define AO_ADC_SQ17 AO_ADC_GYRO_VREF_2 +#define AO_ADC_SQ17_NAME "gyro_vref_2" +#define AO_ADC_SQ18 AO_ADC_TEMP +#define AO_ADC_SQ18_NAME "temp" /* Watchdog timer */