Explorar el Código

added bluemark db203

BlueMark Innovations BV hace 3 años
padre
commit
e69fcf3feb

+ 2 - 2
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/))

+ 4 - 1
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

+ 16 - 0
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

+ 1 - 1
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"));

+ 12 - 1
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 = "<ul><li><a href='https://download.bluemark.io/db200.pdf'>db200 manual</a></li><li><a href='https://ardupilot.org/ardupilot/index.html'>ArduPilot Project</a></li><li><a href='https://github.com/ArduPilot/ArduRemoteID'>ArduRemoteID Project</a></li><li><a href='https://ardupilot.org/plane/docs/common-remoteid.html'>ArduPilot RemoteID Documentation</a></li><li><a href='https://www.opendroneid.org/'>OpenDroneID Website</a></li></ul>";
+                    document.getElementById("documentation").innerHTML = "<ul><li><a href='https://download.bluemark.io/db200.pdf'>db200 series manual</a></li><li><a href='https://ardupilot.org/ardupilot/index.html'>ArduPilot Project</a></li><li><a href='https://github.com/ArduPilot/ArduRemoteID'>ArduRemoteID Project</a></li><li><a href='https://ardupilot.org/plane/docs/common-remoteid.html'>ArduPilot RemoteID Documentation</a></li><li><a href='https://www.opendroneid.org/'>OpenDroneID Website</a></li></ul>";
                     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 = "<ul><li><a href='https://download.bluemark.io/db200.pdf'>db210pro manual</a></li><li><a href='https://ardupilot.org/ardupilot/index.html'>ArduPilot Project</a></li><li><a href='https://github.com/ArduPilot/ArduRemoteID'>ArduRemoteID Project</a></li><li><a href='https://ardupilot.org/plane/docs/common-remoteid.html'>ArduPilot RemoteID Documentation</a></li><li><a href='https://www.opendroneid.org/'>OpenDroneID Website</a></li></ul>";
+                } 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 = "<ul><li><a href='https://download.bluemark.io/db200.pdf'>db200 series manual</a></li><li><a href='https://ardupilot.org/ardupilot/index.html'>ArduPilot Project</a></li><li><a href='https://github.com/ArduPilot/ArduRemoteID'>ArduRemoteID Project</a></li><li><a href='https://ardupilot.org/plane/docs/common-remoteid.html'>ArduPilot RemoteID Documentation</a></li><li><a href='https://www.opendroneid.org/'>OpenDroneID Website</a></li></ul>";
+                    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 = "<ul><li><a href='https://download.bluemark.io/db200.pdf'>db200 series manual</a></li><li><a href='https://ardupilot.org/ardupilot/index.html'>ArduPilot Project</a></li><li><a href='https://github.com/ArduPilot/ArduRemoteID'>ArduRemoteID Project</a></li><li><a href='https://ardupilot.org/plane/docs/common-remoteid.html'>ArduPilot RemoteID Documentation</a></li><li><a href='https://www.opendroneid.org/'>OpenDroneID Website</a></li></ul>";
                     document.body.style.background = "#fafafa";
                 } else {
                     document.getElementById("logo").src="images/logo.jpg";