diff --git a/README.md b/README.md index 4bb5213..a796453 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,12 @@ where they state that their product is compliant with the RemoteID regulation. ## Hardware Supported The firmware currently supports the ESP32-S3 and ESP32-C3 chips. There -are 4 boards supported so far with more to come: +are 7 boards supported so far with more to come: - the ESP32-S3 dev board: https://au.mouser.com/ProductDetail/356-ESP32S3DEVKTM1N8 - the ESP32-C3 dev board: https://au.mouser.com/ProductDetail/Espressif-Systems/ESP32-C3-DevKitM-1 - a Bluemark DB110 (legacy) from https://bluemark.io/ ([product page](https://dronescout.co/dronebeacon-mavlink-remote-id-transponder/)) - - a Bluemark DB200 from https://bluemark.io/ ([product page](https://dronescout.co/dronebeacon-mavlink-remote-id-transponder/) | [buy](https://dronescout.co/product/dronebeacon-mavlink-db200-transponder/)) + - a Bluemark DB200 from https://bluemark.io/ ([product page](https://dronescout.co/dronebeacon-mavlink-remote-id-transponder/) | replaced by the db201)) - a Bluemark DB201 from https://bluemark.io/ ([product page](https://dronescout.co/dronebeacon-mavlink-remote-id-transponder/) | [buy](https://dronescout.co/product/dronebeacon-mavlink-db201-transponder/)) - a Bluemark DB202mav from https://bluemark.io/ ([product page](https://dronescout.co/dronebeacon-mavlink-remote-id-transponder/) | [buy](https://dronescout.co/product/dronebeacon-mavlink-db202mav-transponder/)) - a Bluemark DB210pro from https://bluemark.io/ ([product page](https://dronescout.co/dronebeacon-mavlink-remote-id-transponder/) | [buy](https://dronescout.co/product/dronebeacon-mavlink-dronecan-db210pro-transponder/)) diff --git a/RemoteIDModule/Makefile b/RemoteIDModule/Makefile index 4137030..1ef350d 100644 --- a/RemoteIDModule/Makefile +++ b/RemoteIDModule/Makefile @@ -15,7 +15,7 @@ export PATH := $(HOME)/.local/bin:$(PATH) .PHONY: headers -all: headers esp32s3dev esp32c3dev bluemark-db200 bluemark-db110 jw-tbd mro-rid jwrid-esp32s3 bluemark-db202 bluemark-db210 +all: headers esp32s3dev esp32c3dev bluemark-db200 bluemark-db110 jw-tbd mro-rid jwrid-esp32s3 bluemark-db202 bluemark-db210 bluemark-db203 esp32s3dev: CHIP=esp32s3 esp32s3dev: ArduRemoteID-ESP32S3_DEV.bin @@ -44,6 +44,9 @@ bluemark-db202: ArduRemoteID-BLUEMARK_DB202.bin bluemark-db210: CHIP=esp32s3 bluemark-db210: ArduRemoteID-BLUEMARK_DB210.bin +bluemark-db203: CHIP=esp32c3 +bluemark-db203: ArduRemoteID-BLUEMARK_DB203.bin + setup: @echo "Installing ESP32 support" $(ARDUINO_CLI) core update-index --config-file arduino-cli.yaml diff --git a/RemoteIDModule/board_config.h b/RemoteIDModule/board_config.h index 0751008..a417988 100644 --- a/RemoteIDModule/board_config.h +++ b/RemoteIDModule/board_config.h @@ -123,6 +123,22 @@ #define CAN_APP_NODE_NAME "BlueMark DB210PRO" //#define PIN_CAN_TERM GPIO_NUM_42 // if set to ON, the termination resistors of the CAN bus are enabled +#elif defined(BOARD_BLUEMARK_DB203) +#define BOARD_ID 9 + +#define PIN_CAN_TX GPIO_NUM_6 +#define PIN_CAN_RX GPIO_NUM_7 + +#define PIN_UART_TX 5 // not used, but needed to avoid compilation errors +#define PIN_UART_RX 4 // not used, but needed to avoid compilation errors + +#define CAN_APP_NODE_NAME "BlueMark DB203" + + +#define PIN_STATUS_LED GPIO_NUM_8 // LED to signal the status +// LED off when ready to arm +#define STATUS_LED_OK 0 + #else #error "unsupported board" #endif diff --git a/RemoteIDModule/parameters.cpp b/RemoteIDModule/parameters.cpp index 218b347..819a167 100644 --- a/RemoteIDModule/parameters.cpp +++ b/RemoteIDModule/parameters.cpp @@ -346,7 +346,7 @@ void Parameters::init(void) // setup public keys set_by_name_char64("PUBLIC_KEY1", ROMFS::find_string("public_keys/ArduPilot_public_key1.dat")); set_by_name_char64("PUBLIC_KEY2", ROMFS::find_string("public_keys/ArduPilot_public_key2.dat")); -#if defined(BOARD_BLUEMARK_DB200) || defined(BOARD_BLUEMARK_DB110) || defined(BOARD_BLUEMARK_DB202) || defined(BOARD_BLUEMARK_DB210) +#if defined(BOARD_BLUEMARK_DB200) || defined(BOARD_BLUEMARK_DB110) || defined(BOARD_BLUEMARK_DB202) || defined(BOARD_BLUEMARK_DB210) || defined(BOARD_BLUEMARK_DB203) set_by_name_char64("PUBLIC_KEY3", ROMFS::find_string("public_keys/BlueMark_public_key1.dat")); #else set_by_name_char64("PUBLIC_KEY3", ROMFS::find_string("public_keys/ArduPilot_public_key3.dat")); diff --git a/RemoteIDModule/web/js/tools.js b/RemoteIDModule/web/js/tools.js index bbbc081..ff8978e 100644 --- a/RemoteIDModule/web/js/tools.js +++ b/RemoteIDModule/web/js/tools.js @@ -47,7 +47,7 @@ function page_fill_json_html(json) { document.getElementById("logo").src="images/bluemark.png"; document.getElementById("logo").alt="BlueMark"; document.getElementById("STATUS:BOARD").innerText = "BlueMark db200"; - document.getElementById("documentation").innerHTML = ""; + document.getElementById("documentation").innerHTML = ""; document.body.style.background = "#fafafa"; } else if (json[v] == "4") { document.getElementById("logo").src="images/bluemark.png"; @@ -60,6 +60,17 @@ function page_fill_json_html(json) { document.getElementById("logo").alt="BlueMark"; document.getElementById("STATUS:BOARD").innerText = "BlueMark db210pro"; document.getElementById("documentation").innerHTML = ""; + } else if (json[v] == "8") { + document.getElementById("logo").src="images/bluemark.png"; + document.getElementById("logo").alt="BlueMark"; + document.getElementById("STATUS:BOARD").innerText = "BlueMark db202mav"; + document.getElementById("documentation").innerHTML = ""; + document.body.style.background = "#fafafa"; + } else if (json[v] == "9") { + document.getElementById("logo").src="images/bluemark.png"; + document.getElementById("logo").alt="BlueMark"; + document.getElementById("STATUS:BOARD").innerText = "BlueMark db203can"; + document.getElementById("documentation").innerHTML = ""; document.body.style.background = "#fafafa"; } else { document.getElementById("logo").src="images/logo.jpg";