diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/fox1ihu/ao_pins.h | 189 | 
1 files changed, 117 insertions, 72 deletions
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 */  | 
