From 661a1fb2628e6030157dedb316cca52a0d3167ed Mon Sep 17 00:00:00 2001 From: Peter van der Perk Date: Sun, 22 Dec 2024 23:03:02 +0100 Subject: [PATCH] Enable 5V rail adc --- boards/nxp/mr-tropic/default.px4board | 1 + boards/nxp/mr-tropic/init/rc.board_sensors | 6 +----- boards/nxp/mr-tropic/src/board_config.h | 24 ++++++++++++++-------- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/boards/nxp/mr-tropic/default.px4board b/boards/nxp/mr-tropic/default.px4board index 6be9d0d345..38665129aa 100644 --- a/boards/nxp/mr-tropic/default.px4board +++ b/boards/nxp/mr-tropic/default.px4board @@ -6,6 +6,7 @@ CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS2" CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS4" CONFIG_BOARD_SERIAL_TEL3="/dev/ttyS3" CONFIG_BOARD_PARAM_FILE="/fs/microsd/mtd_params" +CONFIG_DRIVERS_ADC_BOARD_ADC=y CONFIG_DRIVERS_BAROMETER_BMP388=y CONFIG_DRIVERS_BAROMETER_INVENSENSE_ICP201XX=y CONFIG_DRIVERS_BAROMETER_MS5611=y diff --git a/boards/nxp/mr-tropic/init/rc.board_sensors b/boards/nxp/mr-tropic/init/rc.board_sensors index d93a481491..51380e1b11 100644 --- a/boards/nxp/mr-tropic/init/rc.board_sensors +++ b/boards/nxp/mr-tropic/init/rc.board_sensors @@ -15,11 +15,7 @@ set INA_CONFIGURED no -if param compare -s ADC_ADS1115_EN 1 -then - ads1115 start -X -fi - +board_adc start if param compare SENS_EN_INA226 1 then diff --git a/boards/nxp/mr-tropic/src/board_config.h b/boards/nxp/mr-tropic/src/board_config.h index bc8d19d6b3..f31920ab56 100644 --- a/boards/nxp/mr-tropic/src/board_config.h +++ b/boards/nxp/mr-tropic/src/board_config.h @@ -112,9 +112,21 @@ #define GPIO_DRDY_OFF_SPI4_DRDY7_EXTERNAL1 _PIN_OFF(GPIO_SPI4_DRDY7_EXTERNAL1) -/* HW has to large of R termination on ADC todo:change when HW value is chosen */ +#define ADC_IOMUX (IOMUX_CMOS_INPUT | IOMUX_PULL_NONE | IOMUX_DRIVE_HIZ) -//#define BOARD_ADC_OPEN_CIRCUIT_V (5.6f) +#define ADC1_CH(n) (n) +#define ADC1_GPIO(n, p) (GPIO_PORT1 | GPIO_PIN##p | ADC_IOMUX) // + +/* Define GPIO pins used as ADC N.B. Channel numbers are for reference, */ + +#define PX4_ADC_GPIO \ + /* ADC_5V_RAIL_SENSE GPIO_AD_B1_11 GPIO1 Pin 27 */ ADC1_GPIO(0, 27) + +/* Define Channel numbers must match above GPIO pin IN(n)*/ + +#define ADC_5V_RAIL_SENSE /* GPIO_AD_B1_11 GPIO1 Pin 27 */ ADC1_CH(0) + +#define ADC_CHANNELS (1 << ADC_5V_RAIL_SENSE) /* Power supply control and monitoring GPIOs */ @@ -214,13 +226,7 @@ #define BOARD_NUMBER_BRICKS 1 #define BOARD_NUMBER_DIGITAL_BRICKS 1 -/* Use USB2 VBUS 4.7V comparator for valid check */ -static inline int board_read_usb2_vbus_state(void) -{ - return (getreg32(IMXRT_USB_ANALOG_USB2_VBUS_DETECT_STAT) & USB_ANALOG_USB_VBUS_DETECT_STAT_VBUS_VALID) ? 0 : 1; -} - -#define BOARD_ADC_BRICK_VALID (board_read_usb2_vbus_state() == 0) +#define BOARD_ADC_BRICK_VALID 1 #define BOARD_ADC_USB_CONNECTED (board_read_VBUS_state() == 0)