From a155f592a438cd1ed1e88230c6dc36b6b3b738e1 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 15 Jan 2024 15:16:48 +1100 Subject: [PATCH] hwdef: added CubePilot PPPGW builds --- .../hwdef/CubePilot-PPPGW/defaults.parm | 9 +++ .../hwdef/CubePilot-PPPGW/hwdef-bl.dat | 34 ++++++++++ .../hwdef/CubePilot-PPPGW/hwdef.dat | 2 + .../hwdef/CubeRedPrimary-PPPGW/defaults.parm | 14 ++++ .../hwdef/CubeRedPrimary-PPPGW/hwdef-bl.dat | 53 +++++++++++++++ .../hwdef/CubeRedPrimary-PPPGW/hwdef.dat | 65 +++++++++++++++++++ 6 files changed, 177 insertions(+) create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/CubeRedPrimary-PPPGW/defaults.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/CubeRedPrimary-PPPGW/hwdef-bl.dat create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/CubeRedPrimary-PPPGW/hwdef.dat diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CubePilot-PPPGW/defaults.parm b/libraries/AP_HAL_ChibiOS/hwdef/CubePilot-PPPGW/defaults.parm index a10bbb4937..89ab4beebb 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/CubePilot-PPPGW/defaults.parm +++ b/libraries/AP_HAL_ChibiOS/hwdef/CubePilot-PPPGW/defaults.parm @@ -1,5 +1,14 @@ NET_ENABLED 1 +NET_OPTIONS 1 # enable hw flow control UART1_RTSCTS 1 +# swap TX and RX +UART1_OPTIONS 8 + +SCR_ENABLE 1 +SCR_VM_I_COUNT 1000000 + +WEB_ENABLE 1 +WEB_PORT 80 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CubePilot-PPPGW/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/CubePilot-PPPGW/hwdef-bl.dat index dbde2799b7..23470eeecb 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/CubePilot-PPPGW/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/CubePilot-PPPGW/hwdef-bl.dat @@ -1 +1,35 @@ include ../CubePilot-CANMod/hwdef-bl.dat + +# Ethernet +PC1 ETH_MDC ETH1 +PA2 ETH_MDIO ETH1 +PC4 ETH_RMII_RXD0 ETH1 +PC5 ETH_RMII_RXD1 ETH1 +PB12 ETH_RMII_TXD0 ETH1 +PB13 ETH_RMII_TXD1 ETH1 +PB11 ETH_RMII_TX_EN ETH1 +PA7 ETH_RMII_CRS_DV ETH1 +PA1 ETH_RMII_REF_CLK ETH1 + +define BOARD_PHY_ID MII_LAN8720_ID +define BOARD_PHY_RMII + +define CH_CFG_USE_EVENTS 1 +undef CH_CFG_USE_SEMAPHORES +define CH_CFG_USE_SEMAPHORES 1 +undef CH_CFG_USE_MUTEXES +define CH_CFG_USE_MUTEXES 1 +undef CH_CFG_USE_HEAP +define CH_CFG_USE_MEMCORE 1 +define CH_CFG_USE_HEAP 1 +define CH_CFG_USE_REGISTRY 1 +define CH_CFG_USE_DYNAMIC 1 +define CH_CFG_USE_WAITEXIT 1 + +define AP_NETWORKING_ENABLED 1 + +undef SERIAL_ORDER +SERIAL_ORDER + +ROMFS_WILDCARD Tools/AP_Bootloader/Web/*.html +env ROMFS_UNCOMPRESSED True diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CubePilot-PPPGW/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/CubePilot-PPPGW/hwdef.dat index b221026451..630087bb60 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/CubePilot-PPPGW/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/CubePilot-PPPGW/hwdef.dat @@ -31,3 +31,5 @@ define AP_FILESYSTEM_ROMFS_ENABLED 1 // allow scripts to add parameters define AP_PARAM_DYNAMIC_ENABLED 1 + +ROMFS_DIRECTORY Tools/AP_Periph/Web diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CubeRedPrimary-PPPGW/defaults.parm b/libraries/AP_HAL_ChibiOS/hwdef/CubeRedPrimary-PPPGW/defaults.parm new file mode 100644 index 0000000000..89ab4beebb --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/CubeRedPrimary-PPPGW/defaults.parm @@ -0,0 +1,14 @@ +NET_ENABLED 1 +NET_OPTIONS 1 + +# enable hw flow control +UART1_RTSCTS 1 + +# swap TX and RX +UART1_OPTIONS 8 + +SCR_ENABLE 1 +SCR_VM_I_COUNT 1000000 + +WEB_ENABLE 1 +WEB_PORT 80 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CubeRedPrimary-PPPGW/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/CubeRedPrimary-PPPGW/hwdef-bl.dat new file mode 100644 index 0000000000..061cd14624 --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/CubeRedPrimary-PPPGW/hwdef-bl.dat @@ -0,0 +1,53 @@ +include ../CubeRedPrimary/hwdef-bl.dat + +# setup build for a peripheral bootloader +env AP_PERIPH 1 + +# board ID for firmware load +APJ_BOARD_ID AP_HW_CUBERED_PERIPH + +# CAN config +PE10 GPIOCAN1_TERM OUTPUT HIGH +PG4 GPIOCAN2_TERM OUTPUT HIGH + +PB8 CAN1_RX CAN1 +PB9 CAN1_TX CAN1 + +PB5 CAN2_RX CAN2 +PB6 CAN2_TX CAN2 + +# Ethernet +PC1 ETH_MDC ETH1 +PA2 ETH_MDIO ETH1 +PC4 ETH_RMII_RXD0 ETH1 +PC5 ETH_RMII_RXD1 ETH1 +PB12 ETH_RMII_TXD0 ETH1 +PB13 ETH_RMII_TXD1 ETH1 +PB11 ETH_RMII_TX_EN ETH1 +PA7 ETH_RMII_CRS_DV ETH1 +PA1 ETH_RMII_REF_CLK ETH1 + +define BOARD_PHY_ID MII_LAN8720_ID +define BOARD_PHY_RMII + +# Refer to https://maclookup.app/vendors/cubepilot-pty-ltd +# Note, lower 3 bytes (ADDR3,4,5) will be replaced with the platform UUID +define AP_NETWORKING_DEFAULT_MAC_ADDR "A8:B0:28:00:00:00" + +define CH_CFG_USE_EVENTS 1 +undef CH_CFG_USE_SEMAPHORES +define CH_CFG_USE_SEMAPHORES 1 +define AP_NETWORKING_ENABLED 1 + +define CH_CFG_USE_MEMCORE 1 +define CH_CFG_USE_HEAP 1 +define CH_CFG_USE_MUTEXES 1 +define CH_CFG_USE_DYNAMIC 1 +define CH_CFG_USE_WAITEXIT 1 +define CH_CFG_USE_REGISTRY 1 + +undef SERIAL_ORDER +SERIAL_ORDER + +ROMFS_WILDCARD Tools/AP_Bootloader/Web/*.html +env ROMFS_UNCOMPRESSED True diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CubeRedPrimary-PPPGW/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/CubeRedPrimary-PPPGW/hwdef.dat new file mode 100644 index 0000000000..1c0143664b --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/CubeRedPrimary-PPPGW/hwdef.dat @@ -0,0 +1,65 @@ +include ../CubeRedPrimary/hwdef.dat + +undef ROMFS +undef HAL_HAVE_SAFETY_SWITCH +undef HAL_WITH_IO_MCU_BIDIR_DSHOT +undef COMPASS +undef BARO +undef DEFAULT_SERIAL7_PROTOCOL + +define AP_ADVANCEDFAILSAFE_ENABLED 0 + + +# board ID for firmware load +APJ_BOARD_ID AP_HW_CUBERED_PERIPH + +# setup build for a peripheral firmware +env AP_PERIPH 1 + +define AP_CAN_SLCAN_ENABLED 0 + +define HAL_PERIPH_ENABLE_NETWORKING +define HAL_PERIPH_ENABLE_SERIAL_OPTIONS + +define AP_NETWORKING_BACKEND_PPP 1 + +define HAL_NO_MONITOR_THREAD +define HAL_DISABLE_LOOP_DELAY + +define HAL_USE_RTC FALSE +define DISABLE_SERIAL_ESC_COMM TRUE + +define HAL_NO_RCIN_THREAD + +# use amber LED +define HAL_GPIO_PIN_LED HAL_GPIO_PIN_FMU_LED_AMBER + +undef HAL_OS_FATFS_IO + +undef SDMMC1 + +MAIN_STACK 0x2000 +PROCESS_STACK 0x6000 + +define HAL_CAN_DRIVER_DEFAULT 1 + +# listen for reboot command from uploader.py script +# undefine to disable. Use -1 to allow on all ports, otherwise serial number index defined in SERIAL_ORDER starting at 0 +define HAL_PERIPH_LISTEN_FOR_SERIAL_UART_REBOOT_CMD_PORT 0 + +// use main fw bootloader +define AP_BOOTLOADER_FLASHING_ENABLED 0 + +define AP_PERIPH_NET_PPP_PORT_DEFAULT 1 +define AP_PERIPH_NET_PPP_BAUD_DEFAULT 12500000 + +// add scripting for web interface +define AP_SCRIPTING_ENABLED 1 + +// ROMFS filesystem only +define AP_FILESYSTEM_ROMFS_ENABLED 1 + +// allow scripts to add parameters +define AP_PARAM_DYNAMIC_ENABLED 1 + +ROMFS_DIRECTORY Tools/AP_Periph/Web