Commit ed6e10ba authored by Wenxi Xu's avatar Wenxi Xu
Browse files

Updated support for dm_mc02

parent 578302d5
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
# SPDX-License-Identifier: Apache-2.0

# keep first
board_runner_args(stm32cubeprogrammer "--port=swd" "--reset-mode=hw")
board_runner_args(openocd)
board_runner_args(stm32cubeprogrammer "--port=swd" "--reset-mode=hw")
board_runner_args(pyocd "--target=STM32H723VG")
board_runner_args(jlink "--device=STM32H723VG" "--speed=4000")

# keep first
include(${ZEPHYR_BASE}/boards/common/stm32cubeprogrammer.board.cmake)
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/stm32cubeprogrammer.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
+24 −26
Original line number Diff line number Diff line
@@ -17,13 +17,14 @@
	compatible = "damiao,dm-mc02";

	chosen {
		zephyr,console = &uart7;
		zephyr,shell-uart = &uart7;
		zephyr,console = &usart10;
		zephyr,shell-uart = &usart10;
		zephyr,sram = &sram0;
		zephyr,button = &user_button;
		zephyr,flash = &flash0;
		zephyr,canbus = &fdcan1;
		zephyr,ccm = &ccm0;
		zephyr,dtcm = &dtcm;
		zephyr,itcm = &itcm;
		sbus,uart = &uart5;
	};

@@ -201,9 +202,6 @@
	pinctrl-names = "default";
	current-speed = <115200>;
	status = "okay";
	data-bits = <8>;
	stop-bits = "1";
	hw-flow-control;
};

&usart10 {
@@ -215,15 +213,15 @@
	stop-bits = "1";
};

// zephyr_udc0: &usbotg_hs {
// 	pinctrl-0 = <&usb_otg_hs_dp_pa12 &usb_otg_hs_dm_pa11>;
// 	pinctrl-names = "default";
// 	status = "okay";
zephyr_udc0: &usbotg_hs {
	pinctrl-0 = <&usb_otg_hs_dp_pa12 &usb_otg_hs_dm_pa11>;
	pinctrl-names = "default";
	status = "okay";

// 	cdc_acm_uart0: cdc_acm_uart {
// 		compatible = "zephyr,cdc-acm-uart";
// 	};
// };
	cdc_acm_uart: cdc_acm_uart {
		compatible = "zephyr,cdc-acm-uart";
	};
};

&fdcan1 {
	status = "okay";
@@ -286,23 +284,23 @@

&spi6 {
	status = "okay";

	pinctrl-0=<&spi6_mosi_pa7>;

	pinctrl-names="default";

	dmas = <&dmamux2 0 11 STM32_DMA_PERIPH_RX
			&dmamux2 1 12 STM32_DMA_PERIPH_TX>;
	dma-names = "rx", "tx";
	led_strip: ws2812@0 {
		compatible = "worldsemi,ws2812-spi";

		chain-length = <2>;

		reg = <0>;
		spi-max-frequency = <7000000U>;
		spi-max-frequency = <9000000>;

		chain-length = <1>;
		color-mapping =	<LED_COLOR_ID_GREEN>,
			<LED_COLOR_ID_RED>,
			<LED_COLOR_ID_BLUE>;
		spi-one-frame = <0XF8>;
		spi-zero-frame = <0XE0>;

		color-mapping =	<LED_COLOR_ID_RED
						 LED_COLOR_ID_GREEN
						 LED_COLOR_ID_BLUE>;
		spi-one-frame = <WS2812C_ONE_FRAME>;
		spi-zero-frame = <WS2812C_ZERO_FRAME>;
		reset-delay = <250>;
	};
};
 No newline at end of file
+17 −9
Original line number Diff line number Diff line
@@ -4,7 +4,11 @@
# Enable MPU
CONFIG_ARM_MPU=n

# Float i/o
# LOG CONFIG
CONFIG_LOG=y
CONFIG_UART_CONSOLE=y
CONFIG_CONSOLE=y
CONFIG_STDOUT_CONSOLE=y
CONFIG_CBPRINTF_FP_SUPPORT=y

# Enable HW stack protection
@@ -21,19 +25,20 @@ CONFIG_CAN_DEFAULT_BITRATE=1000000
CONFIG_SERIAL=y
CONFIG_UART_ASYNC_API=y
CONFIG_UART_INTERRUPT_DRIVEN=y

CONFIG_LOG=y
CONFIG_LOG_MODE_IMMEDIATE=y
CONFIG_UART_LINE_CTRL=y

CONFIG_SPI=y

CONFIG_DMA=y

# CONFIG_USB_DEVICE_STACK=y
# CONFIG_USB_DEVICE_PRODUCT="Zephyr CDC ACM sample"
# CONFIG_USB_DEVICE_PID=0x0001
# CONFIG_USB_DEVICE_VID=0x2FEE
# CONFIG_USB_DEVICE_INITIALIZE_AT_BOOT=y
CONFIG_USB_DEVICE_STACK=y
CONFIG_USB_DEVICE_PRODUCT="ARES CDC"
CONFIG_USB_DEVICE_PID=0x0088
CONFIG_USB_DEVICE_VID=0x2025
CONFIG_USB_CDC_ACM=y
CONFIG_USB_DRIVER_LOG_LEVEL_ERR=y
CONFIG_USB_DEVICE_LOG_LEVEL_ERR=y
CONFIG_USB_DEVICE_INITIALIZE_AT_BOOT=n

# CONFIG_MEM_ATTR=y
# CONFIG_MEM_ATTR_HEAP=y
@@ -48,6 +53,9 @@ CONFIG_LED=y
CONFIG_LED_STRIP=y
CONFIG_LED_STRIP_LOG_LEVEL_DBG=y

CONFIG_WS2812_STRIP_SPI=y
# CONFIG_SPI_STM32_INTERRUPT=y

CONFIG_SCHED_THREAD_USAGE=y

CONFIG_SENSOR=y
+39 −10
Original line number Diff line number Diff line
@@ -5,27 +5,56 @@
		id = <1>;
		rx_id = <0x201>;
		tx_id = <0x200>;
		gear_ratio = <1920>;
		gear_ratio = "15.76";
		status = "okay";
		can_channel = <&canbus1>;
		controllers = <&angle_pid_1 &speed_pid_1>;
		controllers = <&wheel_angle_pid &wheel_speed_pid>;
		capabilities = "angle", "speed";
	};
	motor_steer0: motor_steer0{
		compatible = "dji,motor";
		is_gm6020;
		id = <5>;
		rx_id = <0x209>;
		tx_id = <0x2FF>;
		gear_ratio = "1.0";
		status = "okay";
		can_channel = <&canbus1>;
		controllers = <&steer_angle_pid &steer_speed_pid>;
		capabilities = "angle", "speed";
	};

	pid {
		angle_pid_1: angle_pid_1 {
		wheel_speed_pid: wheel_speed_pid {
			#controller-cells = <0>;
			compatible = "pid,single";
			k_p = "2.65";
			k_d = "60";
			detri_lpf = "0.985";
		};

		wheel_angle_pid: wheel_angle_pid {
			#controller-cells = <0>;
			compatible = "pid,single";
			k_p = <700>;
			k_i = <3>;
			k_d = <800>;
			k_p = "3";
			k_d = "320";
			detri_lpf = "0.985";
		};
		speed_pid_1: speed_pid_1 {

		steer_speed_pid: steer_speed_pid {
			#controller-cells = <0>;
			compatible = "pid,single";
			k_p = "0.0195";
			k_d = "4.85";
			detri_lpf = "0.95";
		};

		steer_angle_pid: steer_angle_pid {
			#controller-cells = <0>;
			compatible = "pid,single";
			k_p = <180>;
			k_i = <20>;
			k_d = <20>;
			k_p = "2.0";
			k_d = "0";
			detri_lpf = "0.9985";
		};
	};
	sbus0: sbus0 {