From e17ab3be585ae5eb92df7e814b995cbf05620b04 Mon Sep 17 00:00:00 2001
From: free-x <oroitburd@gmail.com>
Date: Sat, 26 Aug 2023 15:51:53 +0200
Subject: [PATCH] add atoms3 with canunit env

---
 lib/hardware/GwHardware.h | 23 +++++++++++++++++++++--
 platformio.ini            | 13 ++++++++++++-
 2 files changed, 33 insertions(+), 3 deletions(-)

diff --git a/lib/hardware/GwHardware.h b/lib/hardware/GwHardware.h
index 8b6dd9f..11e16ba 100644
--- a/lib/hardware/GwHardware.h
+++ b/lib/hardware/GwHardware.h
@@ -50,14 +50,33 @@
 //led handling
 //if we define GWLED_FASTNET the arduino fastnet lib is used
 #define GWLED_FASTLED
-#define GWLED_TYPE SK6812
+#define GWLED_TYPE WS2812
 //color schema for fastled
 #define GWLED_SCHEMA GRB
-#define GWLED_PIN  GPIO_NUM_27
+#define GWLED_PIN  GPIO_NUM_35
 //brightness 0...255
 #define GWLED_BRIGHTNESS 64
 #endif
 
+#ifdef BOARD_M5ATOMS3_CANUNIT
+#define ESP32_CAN_TX_PIN GPIO_NUM_26
+#define ESP32_CAN_RX_PIN GPIO_NUM_32
+#define GWBUTTON_PIN GPIO_NUM_41
+#define GWBUTTON_ACTIVE LOW
+//if GWBUTTON_PULLUPDOWN we enable a pulup/pulldown
+#define GWBUTTON_PULLUPDOWN 
+//led handling
+//if we define GWLED_FASTNET the arduino fastnet lib is used
+//#define GWLED_FASTLED
+//#define GWLED_TYPE SK6812
+//color schema for fastled
+#define GWLED_SCHEMA GRB
+#define GWLED_PIN  GPIO_NUM_35
+//brightness 0...255
+//#define GWLED_BRIGHTNESS 64
+#endif
+
+
 #ifdef BOARD_M5ATOM_RS232_CANUNIT
 #define ESP32_CAN_TX_PIN GPIO_NUM_26
 #define ESP32_CAN_RX_PIN GPIO_NUM_32
diff --git a/platformio.ini b/platformio.ini
index 57045ed..e01cad6 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -27,7 +27,8 @@ lib_deps =
 	ttlappalainen/NMEA0183 @ 1.7.1
 	ArduinoJson @ 6.18.5
 	ottowinter/ESPAsyncWebServer-esphome@2.0.1
-	fastled/FastLED @ 3.4.0
+	#fastled/FastLED @ 3.4.0
+        fastled/FastLED @ 3.6.0
 board_build.embed_files = 
 	lib/generated/index.html.gz
 	lib/generated/index.js.gz
@@ -62,6 +63,16 @@ build_flags =
 upload_port = /dev/esp32
 upload_protocol = esptool
 
+[env:m5stack-atoms3-canunit]
+board = m5stack-atoms3
+lib_deps = ${env.lib_deps}
+build_flags = 
+        -D BOARD_M5ATOMS3_CANUNIT
+        ${env.build_flags}
+upload_port = /dev/esp32
+upload_protocol = esptool
+
+
 [env:m5stack-atom-rs232-canunit]
 board = m5stack-atom
 lib_deps = ${env.lib_deps}