feat(project): Restructure software for multi-app setup
- Reorganize the software directory to support multiple Zephyr applications (gateway, slave_node). - Create a clear separation between applications and shared libraries. - Add placeholder files for gateway and slave_node applications.
This commit is contained in:
@@ -1,58 +0,0 @@
|
||||
config BOARD_VALVE_NODE
|
||||
select SOC_STM32F103XB
|
||||
|
||||
mainmenu "APP CAN Settings"
|
||||
config LOOPBACK_MODE
|
||||
bool "Loopback LOOPBACK_MODE"
|
||||
default n
|
||||
help
|
||||
Set the can controller to loopback mode.
|
||||
This allows testing without a second board.
|
||||
|
||||
mainmenu "APP Logging Settings"
|
||||
config LOG_CAN_LEVEL
|
||||
int "Log level for CAN"
|
||||
default 3
|
||||
range 0 7
|
||||
help
|
||||
Set the log level for CAN messages.
|
||||
0 = None, 1 = Error, 2 = Warning, 3 = Info, 4 = Debug, 5 = Trace, 6 = Debug2, 7 = Debug3
|
||||
|
||||
config LOG_SETTINGS_LEVEL
|
||||
int "Log level for settings"
|
||||
default 3
|
||||
range 0 7
|
||||
help
|
||||
Set the log level for CAN messages.
|
||||
0 = None, 1 = Error, 2 = Warning, 3 = Info, 4 = Debug, 5 = Trace, 6 = Debug2, 7 = Debug3
|
||||
|
||||
config LOG_WATERLEVELSENSOR_LEVEL
|
||||
int "Log level for waterlevel sensor"
|
||||
default 3
|
||||
range 0 7
|
||||
help
|
||||
Set the log level for CAN messages.
|
||||
0 = None, 1 = Error, 2 = Warning, 3 = Info, 4 = Debug, 5 = Trace, 6 = Debug2, 7 = Debug3
|
||||
|
||||
config LOG_VALVE_LEVEL
|
||||
int "Log level for valve control"
|
||||
default 3
|
||||
range 0 7
|
||||
help
|
||||
Set the log level for valve control messages.
|
||||
0 = None, 1 = Error, 2 = Warning, 3 = Info, 4 = Debug, 5 = Trace, 6 = Debug2, 7 = Debug3
|
||||
|
||||
mainmenu "Irrigation controller node configuration"
|
||||
config HAS_MODBUS_WATERLEVEL_SENSOR
|
||||
bool "Has modbus water level sensor"
|
||||
default n
|
||||
help
|
||||
Enable modbus water level sensor support.
|
||||
This allows reading the water level from a modbus device.
|
||||
|
||||
config HAS_VALVE
|
||||
bool "Has valve control"
|
||||
default n
|
||||
help
|
||||
Enable valve control support.
|
||||
This allows controlling valves via CAN messages.
|
||||
@@ -1,11 +0,0 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# keep first
|
||||
board_runner_args(stm32cubeprogrammer "--port=swd" "--reset-mode=hw")
|
||||
board_runner_args(jlink "--device=STM32F103RB" "--speed=4000")
|
||||
|
||||
# keep first
|
||||
include(${ZEPHYR_BASE}/boards/common/stm32cubeprogrammer.board.cmake)
|
||||
include(${ZEPHYR_BASE}/boards/common/openocd-stm32.board.cmake)
|
||||
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
||||
include(${ZEPHYR_BASE}/boards/common/blackmagicprobe.board.cmake)
|
||||
@@ -1,10 +0,0 @@
|
||||
board:
|
||||
name: valve_node
|
||||
full_name: Irrigation system CANbus valve node
|
||||
socs:
|
||||
- name: stm32f103xb
|
||||
# revision:
|
||||
# format: number
|
||||
# default: "1"
|
||||
# revisions:
|
||||
# -name: "1"
|
||||
@@ -1,206 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017 Linaro Limited
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <st/f1/stm32f1.dtsi>
|
||||
#include <st/f1/stm32f103Xb.dtsi>
|
||||
#include <st/f1/stm32f103r(8-b)tx-pinctrl.dtsi>
|
||||
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||
|
||||
/ {
|
||||
model = "Iten engineering Valve Node";
|
||||
compatible = "st,stm32f103rb";
|
||||
|
||||
can_loopback0: can_loopback0 {
|
||||
status = "disabled";
|
||||
compatible = "zephyr,can-loopback";
|
||||
};
|
||||
|
||||
chosen {
|
||||
zephyr,console = &usart1;
|
||||
zephyr,shell-uart = &usart1;
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,flash = &flash0;
|
||||
zephyr,canbus = &can1;
|
||||
};
|
||||
|
||||
leds: leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
green_led_2: led_2 {
|
||||
gpios = <&gpiob 2 GPIO_ACTIVE_HIGH>;
|
||||
label = "User LD2";
|
||||
};
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
user_button: button {
|
||||
label = "User";
|
||||
gpios = <&gpioc 13 GPIO_ACTIVE_LOW>;
|
||||
zephyr,code = <INPUT_KEY_0>;
|
||||
};
|
||||
|
||||
endstopopen: endstop_open {
|
||||
gpios = <&gpiob 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
||||
label = "Endstop Open";
|
||||
};
|
||||
|
||||
endstopclose: endstop_closed {
|
||||
gpios = <&gpiob 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
||||
label = "Endstop Close";
|
||||
};
|
||||
|
||||
statusopen: status_open {
|
||||
gpios = <&gpiob 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
||||
label = "Status Open";
|
||||
};
|
||||
|
||||
statusclose: status_close {
|
||||
gpios = <&gpioa 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
||||
label = "Status Close";
|
||||
};
|
||||
};
|
||||
|
||||
aliases {
|
||||
led0 = &green_led_2;
|
||||
sw0 = &user_button;
|
||||
watchdog0 = &iwdg;
|
||||
die-temp0 = &die_temp;
|
||||
adc-motor-current = &motor_current_channel;
|
||||
adc-vref = &vref_channel;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&clk_lsi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&clk_hse {
|
||||
clock-frequency = <DT_FREQ_M(8)>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pll {
|
||||
mul = <9>;
|
||||
clocks = <&clk_hse>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rcc {
|
||||
clocks = <&pll>;
|
||||
clock-frequency = <DT_FREQ_M(72)>;
|
||||
ahb-prescaler = <1>;
|
||||
apb1-prescaler = <2>;
|
||||
apb2-prescaler = <1>;
|
||||
adc-prescaler = <6>;
|
||||
};
|
||||
|
||||
&usart1 {
|
||||
pinctrl-0 = <&usart1_tx_pa9 &usart1_rx_pa10>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
current-speed = <115200>;
|
||||
};
|
||||
|
||||
&usart2 {
|
||||
pinctrl-0 = <&usart2_tx_pa2 &usart2_rx_pa3>;
|
||||
current-speed = <9600>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
modbus0 {
|
||||
compatible = "zephyr,modbus-serial";
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&usart3 {
|
||||
pinctrl-0 = <&usart3_tx_pb10 &usart3_rx_pb11>;
|
||||
current-speed = <115200>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-0 = <&i2c1_scl_remap1_pb8 &i2c1_sda_remap1_pb9>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
clock-frequency = <I2C_BITRATE_FAST>;
|
||||
};
|
||||
|
||||
&iwdg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rtc {
|
||||
clocks = <&rcc STM32_CLOCK_BUS_APB1 0x10000000>,
|
||||
<&rcc STM32_SRC_LSI RTC_SEL(2)>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&adc1 {
|
||||
pinctrl-0 = <&adc_pb1_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
motor_current_channel: channel@9 {
|
||||
reg = <0x9>;
|
||||
zephyr,gain = "ADC_GAIN_1";
|
||||
zephyr,reference = "ADC_REF_VDD_1";
|
||||
zephyr,acquisition-time = <49159>;
|
||||
zephyr,resolution = <12>;
|
||||
};
|
||||
|
||||
vref_channel: channel@11 { /* 17 dezimal = 11 hex */
|
||||
reg = <0x11>;
|
||||
zephyr,gain = "ADC_GAIN_1";
|
||||
zephyr,reference = "ADC_REF_VDD_1";
|
||||
zephyr,acquisition-time = <49159>;
|
||||
zephyr,resolution = <12>;
|
||||
};
|
||||
};
|
||||
|
||||
&die_temp {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dma1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&flash0 {
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
storage_partition: partition@1f800 {
|
||||
label = "storage";
|
||||
reg = <0x0001f800 DT_SIZE_K(2)>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&can1 {
|
||||
pinctrl-0 = <&can_rx_pa11 &can_tx_pa12>;
|
||||
pinctrl-names = "default";
|
||||
status= "okay";
|
||||
bitrate = <125000>;
|
||||
};
|
||||
|
||||
&exti {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
adc_pb1_pins: adc_pb1_pins {
|
||||
pinmux = <STM32F1_PINMUX('B', 1, ANALOG, NO_REMAP)>;
|
||||
};
|
||||
};
|
||||
@@ -1,31 +0,0 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# enable uart driver
|
||||
CONFIG_SERIAL=y
|
||||
# enable console
|
||||
CONFIG_CONSOLE=y
|
||||
|
||||
# enable GPIO
|
||||
CONFIG_GPIO=y
|
||||
|
||||
# modbus config
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=y
|
||||
CONFIG_UART_LINE_CTRL=n
|
||||
CONFIG_MODBUS=y
|
||||
CONFIG_MODBUS_ROLE_CLIENT=y
|
||||
|
||||
# can config
|
||||
CONFIG_CAN=y
|
||||
CONFIG_CAN_INIT_PRIORITY=80
|
||||
#CONFIG_CAN_MAX_FILTER=5
|
||||
CONFIG_CAN_ACCEPT_RTR=y
|
||||
|
||||
# settings
|
||||
CONFIG_FLASH=y
|
||||
CONFIG_FLASH_MAP=y
|
||||
CONFIG_SETTINGS=y
|
||||
CONFIG_SETTINGS_RUNTIME=y
|
||||
CONFIG_NVS=y
|
||||
CONFIG_SETTINGS_NVS=y
|
||||
CONFIG_HEAP_MEM_POOL_SIZE=256
|
||||
CONFIG_MPU_ALLOW_FLASH_WRITE=y
|
||||
Reference in New Issue
Block a user