Add support for the M5StickC LED

This commit is contained in:
Noah Axon
2023-10-28 23:12:10 -05:00
parent 706e2d6591
commit 21b5c4fcc6
6 changed files with 117 additions and 3 deletions

View File

@@ -555,6 +555,8 @@ void WiFiScan::startWiFiAttacks(uint8_t scan_mode, uint16_t color, String title_
flipper_led.attackLED(); flipper_led.attackLED();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.attackLED(); xiao_led.attackLED();
#elif defined(MARAUDER_M5STICKC)
stickc_led.attackLED();
#else #else
led_obj.setMode(MODE_ATTACK); led_obj.setMode(MODE_ATTACK);
#endif #endif
@@ -578,6 +580,8 @@ bool WiFiScan::shutdownWiFi() {
flipper_led.offLED(); flipper_led.offLED();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.offLED(); xiao_led.offLED();
#elif defined(MARAUDER_M5STICKC)
stickc_led.offLED();
#else #else
led_obj.setMode(MODE_OFF); led_obj.setMode(MODE_OFF);
#endif #endif
@@ -603,6 +607,8 @@ bool WiFiScan::shutdownBLE() {
flipper_led.offLED(); flipper_led.offLED();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.offLED(); xiao_led.offLED();
#elif defined(MARAUDER_M5STICKC)
stickc_led.offLED();
#else #else
led_obj.setMode(MODE_OFF); led_obj.setMode(MODE_OFF);
#endif #endif
@@ -839,6 +845,8 @@ void WiFiScan::RunEvilPortal(uint8_t scan_mode, uint16_t color)
flipper_led.sniffLED(); flipper_led.sniffLED();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.sniffLED(); xiao_led.sniffLED();
#elif defined(MARAUDER_M5STICKC)
stickc_led.sniffLED();
#else #else
led_obj.setMode(MODE_SNIFF); led_obj.setMode(MODE_SNIFF);
#endif #endif
@@ -886,6 +894,8 @@ void WiFiScan::RunAPScan(uint8_t scan_mode, uint16_t color)
flipper_led.sniffLED(); flipper_led.sniffLED();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.sniffLED(); xiao_led.sniffLED();
#elif defined(MARAUDER_M5STICKC)
stickc_led.sniffLED();
#else #else
led_obj.setMode(MODE_SNIFF); led_obj.setMode(MODE_SNIFF);
#endif #endif
@@ -1169,6 +1179,8 @@ void WiFiScan::RunPacketMonitor(uint8_t scan_mode, uint16_t color)
flipper_led.sniffLED(); flipper_led.sniffLED();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.sniffLED(); xiao_led.sniffLED();
#elif defined(MARAUDER_M5STICKC)
stickc_led.sniffLED();
#else #else
led_obj.setMode(MODE_SNIFF); led_obj.setMode(MODE_SNIFF);
#endif #endif
@@ -1252,6 +1264,8 @@ void WiFiScan::RunEapolScan(uint8_t scan_mode, uint16_t color)
flipper_led.sniffLED(); flipper_led.sniffLED();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.sniffLED(); xiao_led.sniffLED();
#elif defined(MARAUDER_M5STICKC)
stickc_led.sniffLED();
#else #else
led_obj.setMode(MODE_SNIFF); led_obj.setMode(MODE_SNIFF);
#endif #endif
@@ -1407,6 +1421,8 @@ void WiFiScan::RunPwnScan(uint8_t scan_mode, uint16_t color)
flipper_led.sniffLED(); flipper_led.sniffLED();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.sniffLED(); xiao_led.sniffLED();
#elif defined(MARAUDER_M5STICKC)
stickc_led.sniffLED();
#else #else
led_obj.setMode(MODE_SNIFF); led_obj.setMode(MODE_SNIFF);
#endif #endif
@@ -1591,6 +1607,8 @@ void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color)
flipper_led.sniffLED(); flipper_led.sniffLED();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.sniffLED(); xiao_led.sniffLED();
#elif defined(MARAUDER_M5STICKC)
stickc_led.sniffLED();
#else #else
led_obj.setMode(MODE_SNIFF); led_obj.setMode(MODE_SNIFF);
#endif #endif
@@ -1654,6 +1672,8 @@ void WiFiScan::RunStationScan(uint8_t scan_mode, uint16_t color)
flipper_led.sniffLED(); flipper_led.sniffLED();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.sniffLED(); xiao_led.sniffLED();
#elif defined(MARAUDER_M5STICKC)
stickc_led.sniffLED();
#else #else
led_obj.setMode(MODE_SNIFF); led_obj.setMode(MODE_SNIFF);
#endif #endif
@@ -1702,6 +1722,8 @@ void WiFiScan::RunRawScan(uint8_t scan_mode, uint16_t color)
flipper_led.sniffLED(); flipper_led.sniffLED();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.sniffLED(); xiao_led.sniffLED();
#elif defined(MARAUDER_M5STICKC)
stickc_led.sniffLED();
#else #else
led_obj.setMode(MODE_SNIFF); led_obj.setMode(MODE_SNIFF);
#endif #endif
@@ -1752,6 +1774,8 @@ void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color)
flipper_led.sniffLED(); flipper_led.sniffLED();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.sniffLED(); xiao_led.sniffLED();
#elif defined(MARAUDER_M5STICKC)
stickc_led.sniffLED();
#else #else
led_obj.setMode(MODE_SNIFF); led_obj.setMode(MODE_SNIFF);
#endif #endif
@@ -1811,6 +1835,8 @@ void WiFiScan::RunProbeScan(uint8_t scan_mode, uint16_t color)
flipper_led.sniffLED(); flipper_led.sniffLED();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.sniffLED(); xiao_led.sniffLED();
#elif defined(MARAUDER_M5STICKC)
stickc_led.sniffLED();
#else #else
led_obj.setMode(MODE_SNIFF); led_obj.setMode(MODE_SNIFF);
#endif #endif

View File

@@ -36,6 +36,8 @@
#include "flipperLED.h" #include "flipperLED.h"
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
#include "xiaoLED.h" #include "xiaoLED.h"
#elif defined(MARAUDER_M5STICKC)
#include "stickcLED.h"
#else #else
#include "LedInterface.h" #include "LedInterface.h"
#endif #endif
@@ -108,6 +110,8 @@ extern Settings settings_obj;
extern flipperLED flipper_led; extern flipperLED flipper_led;
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
extern xiaoLED xiao_led; extern xiaoLED xiao_led;
#elif defined(MARAUDER_M5STICKC)
extern stickcLED stickc_led;
#else #else
extern LedInterface led_obj; extern LedInterface led_obj;
#endif #endif

View File

@@ -30,7 +30,7 @@
#define HAS_BATTERY #define HAS_BATTERY
#define HAS_BT #define HAS_BT
#define HAS_BUTTONS #define HAS_BUTTONS
#define HAS_NEOPIXEL_LED //#define HAS_NEOPIXEL_LED
#define HAS_PWR_MGMT #define HAS_PWR_MGMT
#define HAS_SCREEN #define HAS_SCREEN
#define HAS_SD #define HAS_SD
@@ -238,8 +238,8 @@
#define TFT_CS 5 #define TFT_CS 5
#define TFT_DC 23 #define TFT_DC 23
#define TFT_RST 18 #define TFT_RST 18
#define TFT_BL 10 #define TFT_BL -1
#define TOUCH_CS 10 #define TOUCH_CS -1
//#define SD_CS 1 //#define SD_CS 1
#define SCREEN_BUFFER #define SCREEN_BUFFER

View File

@@ -39,6 +39,8 @@ https://www.online-utility.org/image/convert/to/XBM
#include "flipperLED.h" #include "flipperLED.h"
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
#include "xiaoLED.h" #include "xiaoLED.h"
#elif defined(MARAUDER_M5STICKC)
#include "stickcLED.h"
#else #else
#include "LedInterface.h" #include "LedInterface.h"
#endif #endif
@@ -121,6 +123,8 @@ CommandLine cli_obj;
flipperLED flipper_led; flipperLED flipper_led;
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiaoLED xiao_led; xiaoLED xiao_led;
#elif defined(MARAUDER_M5STICKC)
stickcLED stickc_led;
#else #else
LedInterface led_obj; LedInterface led_obj;
#endif #endif
@@ -339,6 +343,8 @@ void setup()
flipper_led.RunSetup(); flipper_led.RunSetup();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.RunSetup(); xiao_led.RunSetup();
#elif defined(MARAUDER_M5STICKC)
stickc_led.RunSetup();
#else #else
led_obj.RunSetup(); led_obj.RunSetup();
#endif #endif
@@ -435,6 +441,8 @@ void loop()
flipper_led.main(); flipper_led.main();
#elif defined(XIAO_ESP32_S3) #elif defined(XIAO_ESP32_S3)
xiao_led.main(); xiao_led.main();
#elif defined(MARAUDER_M5STICKC)
stickc_led.main();
#else #else
led_obj.main(currentTime); led_obj.main(currentTime);
#endif #endif

View File

@@ -0,0 +1,53 @@
#include "stickcLED.h"
// NB M5Stick C Plus LED is active low, so digitalWrite() calls are inverted
void stickcLED::RunSetup() {
pinMode(STICKC_LED_PIN, OUTPUT);
if (!settings_obj.loadSetting<bool>("EnableLED")) {
digitalWrite(STICKC_LED_PIN, HIGH);
return;
}
delay(50);
digitalWrite(STICKC_LED_PIN, LOW);
delay(500);
digitalWrite(STICKC_LED_PIN, HIGH);
delay(250);
digitalWrite(STICKC_LED_PIN, LOW);
delay(500);
digitalWrite(STICKC_LED_PIN, HIGH);
delay(250);
digitalWrite(STICKC_LED_PIN, LOW);
delay(500);
digitalWrite(STICKC_LED_PIN, HIGH);
}
void stickcLED::attackLED() {
if (!settings_obj.loadSetting<bool>("EnableLED"))
return;
digitalWrite(STICKC_LED_PIN, LOW);
delay(300);
digitalWrite(STICKC_LED_PIN, HIGH);
}
void stickcLED::sniffLED() {
if (!settings_obj.loadSetting<bool>("EnableLED"))
return;
digitalWrite(STICKC_LED_PIN, LOW);
delay(300);
digitalWrite(STICKC_LED_PIN, HIGH);
}
void stickcLED::offLED() {
if (!settings_obj.loadSetting<bool>("EnableLED"))
return;
digitalWrite(STICKC_LED_PIN, HIGH);
}
void stickcLED::main() {
// do nothing
}

View File

@@ -0,0 +1,23 @@
#ifndef stickcLED_H
#define stickcLED_H
#include "configs.h"
#include "settings.h"
#include <Arduino.h>
#define STICKC_LED_PIN 10
extern Settings settings_obj;
class stickcLED {
public:
void RunSetup();
void main();
void attackLED();
void sniffLED();
void offLED();
};
#endif /* stickcLED_H */