- Added devicetree overlay for VND7050AJ with GPIO and ADC configuration - Created custom devicetree binding for VND7050AJ valve controller - Implemented valve_get_supply_voltage() function with proper pin control: - RST=HIGH to enable VND7050AJ - S0=1, S1=1 for supply voltage sensing mode - SEN=1 to enable MULTISENSE output - ADC reading on PA0 (ADC1_IN1) with 12-bit resolution - Fixed supply voltage calculation (VCC/8 per datasheet) - Added comprehensive debug logging for all steps - Tested and verified ADC functionality - Current reading: 5.1V (may be limited by hardware power supply) Files modified: - software/lib/valve/valve.c: Main implementation - software/apps/slave_node/boards/weact_stm32g431_core.overlay: DT config - software/apps/slave_node/dts/bindings/vnd7050aj-valve-controller.yaml: DT binding - software/apps/slave_node/src/main.c: Test code - software/apps/slave_node/prj.conf: ADC driver enablement
28 lines
468 B
Plaintext
28 lines
468 B
Plaintext
# Enable Console and printk for logging
|
|
CONFIG_CONSOLE=y
|
|
CONFIG_LOG=y
|
|
|
|
# Enable Shell
|
|
CONFIG_SHELL=y
|
|
CONFIG_REBOOT=y
|
|
|
|
# Enable Settings Subsystem
|
|
CONFIG_SETTINGS=y
|
|
CONFIG_SETTINGS_NVS=y
|
|
CONFIG_NVS=y
|
|
CONFIG_FLASH=y
|
|
CONFIG_FLASH_MAP=y
|
|
CONFIG_FLASH_PAGE_LAYOUT=y
|
|
CONFIG_SETTINGS_LOG_LEVEL_DBG=y
|
|
|
|
# Config modbus
|
|
CONFIG_UART_INTERRUPT_DRIVEN=y
|
|
CONFIG_MODBUS=y
|
|
CONFIG_MODBUS_ROLE_SERVER=y
|
|
CONFIG_MODBUS_BUFFER_SIZE=256
|
|
|
|
# Enable ADC driver
|
|
CONFIG_ADC=y
|
|
CONFIG_ADC_STM32=y
|
|
|