mirror of
https://github.com/justcallmekoko/ESP32Marauder.git
synced 2025-12-05 20:40:25 -08:00
Port ESP32 Marauder to CYD 2432S028
This commit is contained in:
@@ -4,9 +4,53 @@
|
||||
#ifdef HAS_SCREEN
|
||||
|
||||
Display::Display()
|
||||
#ifdef HAS_CYD_TOUCH
|
||||
: touchscreenSPI(VSPI),
|
||||
touchscreen(XPT2046_CS, XPT2046_IRQ)
|
||||
#endif
|
||||
{
|
||||
}
|
||||
|
||||
uint8_t Display::updateTouch(uint16_t *x, uint16_t *y, uint16_t threshold) {
|
||||
if (!this->headless_mode)
|
||||
#ifndef HAS_CYD_TOUCH
|
||||
return this->tft.getTouch(x, y, threshold);
|
||||
#else
|
||||
if (this->touchscreen.tirqTouched() && this->touchscreen.touched()) {
|
||||
TS_Point p = this->touchscreen.getPoint();
|
||||
|
||||
//*x = map(p.x, 200, 3700, 1, TFT_WIDTH);
|
||||
//*y = map(p.y, 240, 3800, 1, TFT_HEIGHT);
|
||||
|
||||
uint8_t rot = this->tft.getRotation();
|
||||
|
||||
switch (rot) {
|
||||
case 0: // Standard Protrait
|
||||
*x = map(p.x, 200, 3700, 1, TFT_WIDTH);
|
||||
*y = map(p.y, 240, 3800, 1, TFT_HEIGHT);
|
||||
break;
|
||||
case 1:
|
||||
*x = map(p.y, 143, 3715, 0, TFT_HEIGHT); // Horizontal (Y axis in touch, X on screen)
|
||||
*y = map(p.x, 3786, 216, 0, TFT_WIDTH); // Vertical (X axis in touch, Y on screen)
|
||||
break;
|
||||
case 2:
|
||||
*x = map(p.x, 3700, 200, 1, TFT_WIDTH);
|
||||
*y = map(p.y, 3800, 240, 1, TFT_HEIGHT);
|
||||
break;
|
||||
case 3:
|
||||
*x = map(p.y, 3800, 240, 1, TFT_WIDTH);
|
||||
*y = map(p.x, 200, 3700, 1, TFT_HEIGHT);
|
||||
break;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
#endif
|
||||
else
|
||||
return !this->headless_mode;
|
||||
}
|
||||
|
||||
// Function to prepare the display and the menus
|
||||
void Display::RunSetup()
|
||||
{
|
||||
@@ -19,6 +63,12 @@ void Display::RunSetup()
|
||||
screen_buffer = new LinkedList<String>();
|
||||
#endif
|
||||
|
||||
#ifdef HAS_CYD_TOUCH
|
||||
this->touchscreenSPI.begin(XPT2046_CLK, XPT2046_MISO, XPT2046_MOSI, XPT2046_CS);
|
||||
this->touchscreen.begin(touchscreenSPI);
|
||||
this->touchscreen.setRotation(0);
|
||||
#endif
|
||||
|
||||
tft.init();
|
||||
#ifndef MARAUDER_M5STICKC
|
||||
tft.setRotation(0); // Portrait
|
||||
@@ -36,14 +86,16 @@ void Display::RunSetup()
|
||||
|
||||
#ifdef HAS_ILI9341
|
||||
|
||||
#ifndef HAS_CYD_TOUCH
|
||||
#ifdef TFT_SHIELD
|
||||
uint16_t calData[5] = { 275, 3494, 361, 3528, 4 }; // tft.setRotation(0); // Portrait with TFT Shield
|
||||
//Serial.println(F("Using TFT Shield"));
|
||||
#else if defined(TFT_DIY)
|
||||
#elif defined(TFT_DIY)
|
||||
uint16_t calData[5] = { 339, 3470, 237, 3438, 2 }; // tft.setRotation(0); // Portrait with DIY TFT
|
||||
//Serial.println(F("Using TFT DIY"));
|
||||
#endif
|
||||
tft.setTouch(calData);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -19,6 +19,10 @@
|
||||
|
||||
#include <TFT_eSPI.h>
|
||||
|
||||
#ifdef HAS_CYD_TOUCH
|
||||
#include <XPT2046_Touchscreen.h>
|
||||
#endif
|
||||
|
||||
// WiFi stuff
|
||||
#define OTA_UPDATE 100
|
||||
#define SHOW_INFO 101
|
||||
@@ -72,6 +76,11 @@ class Display
|
||||
TFT_eSPI_Button key[BUTTON_ARRAY_LEN];
|
||||
const String PROGMEM version_number = MARAUDER_VERSION;
|
||||
|
||||
#ifdef HAS_CYD_TOUCH
|
||||
SPIClass touchscreenSPI;
|
||||
XPT2046_Touchscreen touchscreen;
|
||||
#endif
|
||||
|
||||
bool printing = false;
|
||||
bool loading = false;
|
||||
bool tteBar = false;
|
||||
@@ -105,6 +114,7 @@ class Display
|
||||
// We can speed up scrolling of short text lines by just blanking the character we drew
|
||||
int blank[19]; // We keep all the strings pixel lengths to optimise the speed of the top line blanking
|
||||
|
||||
uint8_t updateTouch(uint16_t *x, uint16_t *y, uint16_t threshold = 600);
|
||||
void tftDrawRedOnOffButton();
|
||||
void tftDrawGreenOnOffButton();
|
||||
void tftDrawGraphObjects(byte x_scale);
|
||||
|
||||
@@ -18,13 +18,6 @@ MenuFunctions::MenuFunctions()
|
||||
/* Interrupt driven periodic handler */
|
||||
|
||||
#ifdef HAS_ILI9341
|
||||
uint8_t MenuFunctions::updateTouch(uint16_t *x, uint16_t *y, uint16_t threshold) {
|
||||
if (!display_obj.headless_mode)
|
||||
return display_obj.tft.getTouch(x, y, threshold);
|
||||
else
|
||||
return !display_obj.headless_mode;
|
||||
}
|
||||
|
||||
void MenuFunctions::lv_tick_handler()
|
||||
{
|
||||
lv_tick_inc(LVGL_TICK_PERIOD);
|
||||
@@ -723,13 +716,11 @@ void MenuFunctions::main(uint32_t currentTime)
|
||||
display_obj.displayBuffer();
|
||||
|
||||
|
||||
// Pressed will be set true is there is a valid touch on the screen
|
||||
int pre_getTouch = millis();
|
||||
|
||||
// getTouch causes a 10ms delay which makes beacon spam less effective
|
||||
#ifdef HAS_ILI9341
|
||||
if (!this->disable_touch)
|
||||
pressed = this->updateTouch(&t_x, &t_y);
|
||||
pressed = display_obj.updateTouch(&t_x, &t_y);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -946,7 +937,7 @@ void MenuFunctions::main(uint32_t currentTime)
|
||||
|
||||
// Menu navigation and paging
|
||||
#ifdef HAS_BUTTONS
|
||||
#if !(defined(MARAUDER_V6) || defined(MARAUDER_V6_1))
|
||||
#if !(defined(MARAUDER_V6) || defined(MARAUDER_V6_1) || defined(MARAUDER_CYD_MICRO))
|
||||
#if !defined(MARAUDER_M5STICKC) || defined(MARAUDER_M5STICKCP2)
|
||||
if (u_btn.justPressed()){
|
||||
if ((wifi_scan_obj.currentScanMode == WIFI_SCAN_OFF) ||
|
||||
@@ -1158,11 +1149,13 @@ void MenuFunctions::updateStatusBar()
|
||||
|
||||
uint16_t the_color;
|
||||
|
||||
#ifdef HAS_GPS
|
||||
if (this->old_gps_sat_count != gps_obj.getNumSats()) {
|
||||
this->old_gps_sat_count = gps_obj.getNumSats();
|
||||
display_obj.tft.fillRect(0, 0, 240, STATUS_BAR_WIDTH, STATUSBAR_COLOR);
|
||||
status_changed = true;
|
||||
}
|
||||
#endif
|
||||
|
||||
// GPS Stuff
|
||||
#ifdef HAS_GPS
|
||||
@@ -1386,6 +1379,7 @@ void MenuFunctions::orientDisplay()
|
||||
display_obj.tft.setCursor(0, 0);
|
||||
|
||||
#ifdef HAS_ILI9341
|
||||
#ifndef HAS_CYD_TOUCH
|
||||
#ifdef TFT_SHIELD
|
||||
uint16_t calData[5] = { 275, 3494, 361, 3528, 4 }; // tft.setRotation(0); // Portrait with TFT Shield
|
||||
#else if defined(TFT_DIY)
|
||||
@@ -1393,6 +1387,9 @@ void MenuFunctions::orientDisplay()
|
||||
#endif
|
||||
|
||||
display_obj.tft.setTouch(calData);
|
||||
#else
|
||||
display_obj.touchscreen.setRotation(0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
changeMenu(current_menu);
|
||||
@@ -1601,9 +1598,11 @@ void MenuFunctions::RunSetup()
|
||||
this->addNodes(&wifiMenu, text_table1[31], TFTYELLOW, NULL, SNIFFERS, [this]() {
|
||||
this->changeMenu(&wifiSnifferMenu);
|
||||
});
|
||||
#ifdef HAS_GPS
|
||||
this->addNodes(&wifiMenu, "Wardriving", TFTGREEN, NULL, BEACON_SNIFF, [this]() {
|
||||
this->changeMenu(&wardrivingMenu);
|
||||
});
|
||||
#endif
|
||||
this->addNodes(&wifiMenu, text_table1[32], TFTRED, NULL, ATTACKS, [this]() {
|
||||
this->changeMenu(&wifiAttackMenu);
|
||||
});
|
||||
@@ -1708,11 +1707,11 @@ void MenuFunctions::RunSetup()
|
||||
//#endif
|
||||
|
||||
// Build Wardriving menu
|
||||
#ifdef HAS_GPS
|
||||
wardrivingMenu.parentMenu = &wifiMenu; // Main Menu is second menu parent
|
||||
this->addNodes(&wardrivingMenu, text09, TFTLIGHTGREY, NULL, 0, [this]() {
|
||||
this->changeMenu(wardrivingMenu.parentMenu);
|
||||
});
|
||||
#ifdef HAS_GPS
|
||||
if (gps_obj.getGpsModuleStatus()) {
|
||||
this->addNodes(&wardrivingMenu, "Wardrive", TFTGREEN, NULL, BEACON_SNIFF, [this]() {
|
||||
display_obj.clearScreen();
|
||||
@@ -2274,7 +2273,7 @@ void MenuFunctions::RunSetup()
|
||||
#ifndef HAS_ILI9341
|
||||
#ifdef HAS_BUTTONS
|
||||
this->changeMenu(&sdDeleteMenu);
|
||||
#if !(defined(MARAUDER_V6) || defined(MARAUDER_V6_1))
|
||||
#if !(defined(MARAUDER_V6) || defined(MARAUDER_V6_1) || defined(MARAUDER_CYD_MICRO))
|
||||
|
||||
bool deleting = true;
|
||||
|
||||
@@ -2539,7 +2538,7 @@ void MenuFunctions::RunSetup()
|
||||
|
||||
// Button loop until hold center button
|
||||
#ifdef HAS_BUTTONS
|
||||
#if !(defined(MARAUDER_V6) || defined(MARAUDER_V6_1))
|
||||
#if !(defined(MARAUDER_V6) || defined(MARAUDER_V6_1) || defined(MARAUDER_CYD_MICRO))
|
||||
while(true) {
|
||||
// Cycle char previous
|
||||
#ifdef HAS_L
|
||||
|
||||
@@ -215,8 +215,6 @@ class MenuFunctions
|
||||
void miniKeyboard(Menu * targetMenu);
|
||||
#endif
|
||||
|
||||
uint8_t updateTouch(uint16_t *x, uint16_t *y, uint16_t threshold = 600);
|
||||
|
||||
public:
|
||||
MenuFunctions();
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ bool SDInterface::initSD() {
|
||||
pinMode(SD_CS, OUTPUT);
|
||||
|
||||
delay(10);
|
||||
#if defined(MARAUDER_M5STICKC)
|
||||
#if (defined(MARAUDER_M5STICKC)) || (defined(HAS_CYD_TOUCH))
|
||||
/* Set up SPI SD Card using external pin header
|
||||
StickCPlus Header - SPI SD Card Reader
|
||||
3v3 - 3v3
|
||||
@@ -31,7 +31,13 @@ bool SDInterface::initSD() {
|
||||
G26 - MOSI
|
||||
- CS (jumper to SD Card GND Pin)
|
||||
*/
|
||||
#if defined(MARAUDER_M5STICKC)
|
||||
enum { SPI_SCK = 0, SPI_MISO = 36, SPI_MOSI = 26 };
|
||||
#elif defined(MARAUDER_CYD_MICRO)
|
||||
enum { SPI_SCK = SD_SCK, SPI_MISO = SD_MISO, SPI_MOSI = SD_MOSI };
|
||||
#else
|
||||
enum { SPI_SCK = 0, SPI_MISO = 36, SPI_MOSI = 26 };
|
||||
#endif
|
||||
this->spiExt = new SPIClass();
|
||||
this->spiExt->begin(SPI_SCK, SPI_MISO, SPI_MOSI, SD_CS);
|
||||
if (!SD.begin(SD_CS, *(this->spiExt))) {
|
||||
|
||||
@@ -26,9 +26,9 @@ extern Settings settings_obj;
|
||||
class SDInterface {
|
||||
|
||||
private:
|
||||
#if defined(MARAUDER_M5STICKC)
|
||||
#if (defined(MARAUDER_M5STICKC) || defined(HAS_CYD_TOUCH))
|
||||
SPIClass *spiExt;
|
||||
#endif
|
||||
#endif
|
||||
bool checkDetectPin();
|
||||
|
||||
public:
|
||||
|
||||
@@ -1327,6 +1327,7 @@ void WiFiScan::RunLoadATList() {
|
||||
}
|
||||
|
||||
void WiFiScan::RunSaveATList(bool save_as) {
|
||||
#ifdef HAS_SD
|
||||
if (save_as) {
|
||||
sd_obj.removeFile("/Airtags_0.log");
|
||||
|
||||
@@ -1362,6 +1363,7 @@ void WiFiScan::RunSaveATList(bool save_as) {
|
||||
Serial.print("Saved Airtags:");
|
||||
Serial.println((String)airtags->size());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void WiFiScan::RunLoadAPList() {
|
||||
@@ -1440,6 +1442,7 @@ void WiFiScan::RunLoadAPList() {
|
||||
}
|
||||
|
||||
void WiFiScan::RunSaveAPList(bool save_as) {
|
||||
#ifdef HAS_SD
|
||||
if (save_as) {
|
||||
sd_obj.removeFile("/APs_0.log");
|
||||
|
||||
@@ -1485,6 +1488,7 @@ void WiFiScan::RunSaveAPList(bool save_as) {
|
||||
Serial.print("Saved APs:");
|
||||
Serial.println((String)access_points->size());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void WiFiScan::RunLoadSSIDList() {
|
||||
@@ -1527,6 +1531,7 @@ void WiFiScan::RunLoadSSIDList() {
|
||||
}
|
||||
|
||||
void WiFiScan::RunSaveSSIDList(bool save_as) {
|
||||
#ifdef HAS_SD
|
||||
if (save_as) {
|
||||
sd_obj.removeFile("/SSIDs_0.log");
|
||||
|
||||
@@ -1552,6 +1557,7 @@ void WiFiScan::RunSaveSSIDList(bool save_as) {
|
||||
Serial.print("Saved SSIDs: ");
|
||||
Serial.println((String)ssids->size());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void WiFiScan::RunEvilPortal(uint8_t scan_mode, uint16_t color)
|
||||
@@ -1664,6 +1670,7 @@ void WiFiScan::RunAPScan(uint8_t scan_mode, uint16_t color)
|
||||
display_obj.tft.init();
|
||||
display_obj.tft.setRotation(1);
|
||||
|
||||
#ifndef HAS_CYD_TOUCH
|
||||
#ifdef TFT_SHIELD
|
||||
uint16_t calData[5] = { 391, 3491, 266, 3505, 7 }; // Landscape TFT Shield
|
||||
Serial.println("Using TFT Shield");
|
||||
@@ -1674,6 +1681,9 @@ void WiFiScan::RunAPScan(uint8_t scan_mode, uint16_t color)
|
||||
#ifdef HAS_ILI9341
|
||||
display_obj.tft.setTouch(calData);
|
||||
#endif
|
||||
#else
|
||||
display_obj.touchscreen.setRotation(1);
|
||||
#endif
|
||||
|
||||
|
||||
lv_obj_t * scr = lv_cont_create(NULL, NULL);
|
||||
@@ -2236,6 +2246,7 @@ void WiFiScan::RunPacketMonitor(uint8_t scan_mode, uint16_t color)
|
||||
#endif
|
||||
|
||||
#ifdef HAS_SCREEN
|
||||
#ifndef HAS_CYD_TOUCH
|
||||
#ifdef TFT_SHIELD
|
||||
uint16_t calData[5] = { 391, 3491, 266, 3505, 7 }; // Landscape TFT Shield
|
||||
Serial.println("Using TFT Shield");
|
||||
@@ -2244,6 +2255,9 @@ void WiFiScan::RunPacketMonitor(uint8_t scan_mode, uint16_t color)
|
||||
Serial.println("Using TFT DIY");
|
||||
#endif
|
||||
display_obj.tft.setTouch(calData);
|
||||
#else
|
||||
//display_obj.touchscreen.setRotation(1);
|
||||
#endif
|
||||
|
||||
//display_obj.tft.setFreeFont(1);
|
||||
display_obj.tft.setFreeFont(NULL);
|
||||
@@ -2353,6 +2367,7 @@ void WiFiScan::RunEapolScan(uint8_t scan_mode, uint16_t color)
|
||||
startPcap("eapol");
|
||||
|
||||
#ifdef HAS_SCREEN
|
||||
#ifndef HAS_CYD_TOUCH
|
||||
#ifdef TFT_SHIELD
|
||||
uint16_t calData[5] = { 391, 3491, 266, 3505, 7 }; // Landscape TFT Shield
|
||||
//Serial.println("Using TFT Shield");
|
||||
@@ -2361,6 +2376,9 @@ void WiFiScan::RunEapolScan(uint8_t scan_mode, uint16_t color)
|
||||
//Serial.println("Using TFT DIY");
|
||||
#endif
|
||||
display_obj.tft.setTouch(calData);
|
||||
#else
|
||||
display_obj.touchscreen.setRotation(1);
|
||||
#endif
|
||||
|
||||
display_obj.tft.setFreeFont(NULL);
|
||||
display_obj.tft.setTextSize(1);
|
||||
@@ -5594,7 +5612,8 @@ void WiFiScan::activeEapolSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t
|
||||
|
||||
// Do the touch stuff
|
||||
#ifdef HAS_ILI9341
|
||||
pressed = display_obj.tft.getTouch(&t_x, &t_y);
|
||||
pressed = display_obj.updateTouch(&t_x, &t_y);
|
||||
//pressed = display_obj.tft.getTouch(&t_x, &t_y);
|
||||
#endif
|
||||
|
||||
// Check buttons for presses
|
||||
|
||||
@@ -21,9 +21,10 @@
|
||||
//#define MARAUDER_DEV_BOARD_PRO
|
||||
//#define XIAO_ESP32_S3
|
||||
//#define MARAUDER_REV_FEATHER
|
||||
//#define MARAUDER_CYD_MICRO // 2431S028
|
||||
//// END BOARD TARGETS
|
||||
|
||||
#define MARAUDER_VERSION "v1.4.4"
|
||||
#define MARAUDER_VERSION "v1.4.5"
|
||||
|
||||
#define GRAPH_REFRESH 100
|
||||
|
||||
@@ -44,6 +45,8 @@
|
||||
#define HARDWARE_NAME "Marauder v6"
|
||||
#elif defined(MARAUDER_V6_1)
|
||||
#define HARDWARE_NAME "Marauder v6.1"
|
||||
#elif defined(MARAUDER_CYD_MICRO)
|
||||
#define HARDWARE_NAME "CYD 2432S028"
|
||||
#elif defined(MARAUDER_KIT)
|
||||
#define HARDWARE_NAME "Marauder Kit"
|
||||
#elif defined(MARAUDER_FLIPPER)
|
||||
@@ -153,6 +156,23 @@
|
||||
#define HAS_GPS
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_CYD_MICRO
|
||||
//#define FLIPPER_ZERO_HAT
|
||||
//#define HAS_BATTERY
|
||||
#define HAS_BT
|
||||
#define HAS_BT_REMOTE
|
||||
#define HAS_BUTTONS
|
||||
#define HAS_NEOPIXEL_LED
|
||||
//#define HAS_PWR_MGMT
|
||||
#define HAS_SCREEN
|
||||
#define HAS_FULL_SCREEN
|
||||
#define HAS_SD
|
||||
#define USE_SD
|
||||
#define HAS_TEMP_SENSOR
|
||||
#define HAS_GPS
|
||||
#define HAS_CYD_TOUCH
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_KIT
|
||||
//#define FLIPPER_ZERO_HAT
|
||||
#define HAS_BATTERY
|
||||
@@ -379,6 +399,26 @@
|
||||
#define D_PULL true
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_CYD_MICRO
|
||||
#define L_BTN -1
|
||||
#define C_BTN 0
|
||||
#define U_BTN -1
|
||||
#define R_BTN -1
|
||||
#define D_BTN -1
|
||||
|
||||
//#define HAS_L
|
||||
//#define HAS_R
|
||||
//#define HAS_U
|
||||
//#define HAS_D
|
||||
#define HAS_C
|
||||
|
||||
#define L_PULL true
|
||||
#define C_PULL true
|
||||
#define U_PULL true
|
||||
#define R_PULL true
|
||||
#define D_PULL true
|
||||
#endif
|
||||
|
||||
#endif
|
||||
//// END BUTTON DEFINITIONS
|
||||
|
||||
@@ -606,7 +646,74 @@
|
||||
#define TFT_HEIGHT 320
|
||||
#endif
|
||||
|
||||
#ifndef MARAUDER_CYD_MICRO
|
||||
#define TFT_DIY
|
||||
#endif
|
||||
|
||||
#define GRAPH_VERT_LIM TFT_HEIGHT/2
|
||||
|
||||
#define EXT_BUTTON_WIDTH 20
|
||||
|
||||
#define SCREEN_BUFFER
|
||||
|
||||
#define MAX_SCREEN_BUFFER 22
|
||||
|
||||
#define CHAR_WIDTH 12
|
||||
#define SCREEN_WIDTH TFT_WIDTH
|
||||
#define SCREEN_HEIGHT TFT_HEIGHT
|
||||
#define HEIGHT_1 TFT_WIDTH
|
||||
#define WIDTH_1 TFT_HEIGHT
|
||||
#define STANDARD_FONT_CHAR_LIMIT (TFT_WIDTH/6) // number of characters on a single line with normal font
|
||||
#define TEXT_HEIGHT 16 // Height of text to be printed and scrolled
|
||||
#define BOT_FIXED_AREA 0 // Number of lines in bottom fixed area (lines counted from bottom of screen)
|
||||
#define TOP_FIXED_AREA 48 // Number of lines in top fixed area (lines counted from top of screen)
|
||||
#define YMAX 320 // Bottom of screen area
|
||||
#define minimum(a,b) (((a) < (b)) ? (a) : (b))
|
||||
//#define MENU_FONT NULL
|
||||
#define MENU_FONT &FreeMono9pt7b // Winner
|
||||
//#define MENU_FONT &FreeMonoBold9pt7b
|
||||
//#define MENU_FONT &FreeSans9pt7b
|
||||
//#define MENU_FONT &FreeSansBold9pt7b
|
||||
#define BUTTON_SCREEN_LIMIT 12
|
||||
#define BUTTON_ARRAY_LEN BUTTON_SCREEN_LIMIT
|
||||
#define STATUS_BAR_WIDTH 16
|
||||
#define LVGL_TICK_PERIOD 6
|
||||
|
||||
#define FRAME_X 100
|
||||
#define FRAME_Y 64
|
||||
#define FRAME_W 120
|
||||
#define FRAME_H 50
|
||||
|
||||
// Red zone size
|
||||
#define REDBUTTON_X FRAME_X
|
||||
#define REDBUTTON_Y FRAME_Y
|
||||
#define REDBUTTON_W (FRAME_W/2)
|
||||
#define REDBUTTON_H FRAME_H
|
||||
|
||||
// Green zone size
|
||||
#define GREENBUTTON_X (REDBUTTON_X + REDBUTTON_W)
|
||||
#define GREENBUTTON_Y FRAME_Y
|
||||
#define GREENBUTTON_W (FRAME_W/2)
|
||||
#define GREENBUTTON_H FRAME_H
|
||||
|
||||
#define STATUSBAR_COLOR 0x4A49
|
||||
|
||||
#define KIT_LED_BUILTIN 13
|
||||
#endif
|
||||
|
||||
#if defined(MARAUDER_CYD_MICRO)
|
||||
#define SCREEN_CHAR_WIDTH 40
|
||||
#define HAS_ILI9341
|
||||
|
||||
#define BANNER_TEXT_SIZE 2
|
||||
|
||||
#ifndef TFT_WIDTH
|
||||
#define TFT_WIDTH 240
|
||||
#endif
|
||||
|
||||
#ifndef TFT_HEIGHT
|
||||
#define TFT_HEIGHT 320
|
||||
#endif
|
||||
|
||||
#define GRAPH_VERT_LIM TFT_HEIGHT/2
|
||||
|
||||
@@ -974,6 +1081,25 @@
|
||||
//#define BUTTON_ARRAY_LEN 5
|
||||
#endif
|
||||
|
||||
#if defined(MARAUDER_CYD_MICRO)
|
||||
#define BANNER_TIME 100
|
||||
|
||||
#define COMMAND_PREFIX "!"
|
||||
|
||||
// Keypad start position, key sizes and spacing
|
||||
#define KEY_X 120 // Centre of key
|
||||
#define KEY_Y 50
|
||||
#define KEY_W 240 // Width and height
|
||||
#define KEY_H 22
|
||||
#define KEY_SPACING_X 0 // X and Y gap
|
||||
#define KEY_SPACING_Y 1
|
||||
#define KEY_TEXTSIZE 1 // Font size multiplier
|
||||
#define ICON_W 22
|
||||
#define ICON_H 22
|
||||
#define BUTTON_PADDING 22
|
||||
//#define BUTTON_ARRAY_LEN 5
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_V7
|
||||
#define BANNER_TIME 100
|
||||
|
||||
@@ -1082,6 +1208,10 @@
|
||||
#define SD_CS 14
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_CYD_MICRO
|
||||
#define SD_CS 5
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_KIT
|
||||
#define SD_CS 12
|
||||
#endif
|
||||
@@ -1184,6 +1314,8 @@
|
||||
#define MEM_LOWER_LIM 10000
|
||||
#elif defined(MARAUDER_V6) || defined(MARAUDER_V6_1)
|
||||
#define MEM_LOWER_LIM 10000
|
||||
#elif defined(MARAUDER_CYD_MICRO)
|
||||
#define MEM_LOWER_LIM 10000
|
||||
#elif defined(MARAUDER_KIT)
|
||||
#define MEM_LOWER_LIM 10000
|
||||
#elif defined(GENERIC_ESP32)
|
||||
@@ -1208,6 +1340,8 @@
|
||||
#define PIN 16
|
||||
#elif defined(MARAUDER_REV_FEATHER)
|
||||
#define PIN 33
|
||||
#elif defined(MARAUDER_CYD_MICRO)
|
||||
#define PIN 4
|
||||
#else
|
||||
#define PIN 25
|
||||
#endif
|
||||
@@ -1228,6 +1362,8 @@
|
||||
#define MAX_HTML_SIZE 11400
|
||||
#elif defined(MARAUDER_V6) || defined(MARAUDER_V6_1)
|
||||
#define MAX_HTML_SIZE 11400
|
||||
#elif defined(MARAUDER_CYD_MICRO)
|
||||
#define MAX_HTML_SIZE 11400
|
||||
#elif defined(MARAUDER_KIT)
|
||||
#define MAX_HTML_SIZE 11400
|
||||
#elif defined(GENERIC_ESP32)
|
||||
@@ -1252,6 +1388,11 @@
|
||||
#define GPS_TX 4
|
||||
#define GPS_RX 13
|
||||
#define mac_history_len 100
|
||||
#elif defined(MARAUDER_CYD_MICRO)
|
||||
#define GPS_SERIAL_INDEX 2
|
||||
#define GPS_TX 27 // Fits the extended I/O
|
||||
#define GPS_RX 22
|
||||
#define mac_history_len 100
|
||||
#elif defined(MARAUDER_V4)
|
||||
#define GPS_SERIAL_INDEX 2
|
||||
#define GPS_TX 4
|
||||
@@ -1343,6 +1484,8 @@
|
||||
#define MARAUDER_TITLE_BYTES 13578
|
||||
#elif defined(MARAUDER_V6) || defined(MARAUDER_V6_1)
|
||||
#define MARAUDER_TITLE_BYTES 13578
|
||||
#elif defined(MARAUDER_CYD_MICRO)
|
||||
#define MARAUDER_TITLE_BYTES 13578
|
||||
#elif defined(MARAUDER_KIT)
|
||||
#define MARAUDER_TITLE_BYTES 13578
|
||||
#elif defined(MARAUDER_MINI)
|
||||
@@ -1372,4 +1515,20 @@
|
||||
#define SNAP_LEN 2324 // max len of each recieved packet
|
||||
#endif
|
||||
//// PCAP BUFFER STUFF
|
||||
|
||||
//// STUPID CYD STUFF
|
||||
#ifdef HAS_CYD_TOUCH
|
||||
#ifdef MARAUDER_CYD_MICRO
|
||||
#define XPT2046_IRQ 36
|
||||
#define XPT2046_MOSI 32
|
||||
#define XPT2046_MISO 39
|
||||
#define XPT2046_CLK 25
|
||||
#define XPT2046_CS 33
|
||||
|
||||
#define SD_MISO 19
|
||||
#define SD_MOSI 23
|
||||
#define SD_SCK 18
|
||||
#endif
|
||||
#endif
|
||||
//// END STUPID CYD STUFF
|
||||
#endif
|
||||
|
||||
@@ -123,7 +123,6 @@ const String PROGMEM version_number = MARAUDER_VERSION;
|
||||
|
||||
uint32_t currentTime = 0;
|
||||
|
||||
|
||||
void backlightOn() {
|
||||
#ifdef HAS_SCREEN
|
||||
#ifdef MARAUDER_MINI
|
||||
@@ -166,10 +165,10 @@ void setup()
|
||||
#endif
|
||||
|
||||
backlightOff();
|
||||
#if BATTERY_ANALOG_ON == 1
|
||||
#if BATTERY_ANALOG_ON == 1
|
||||
pinMode(BATTERY_PIN, OUTPUT);
|
||||
pinMode(CHARGING_PIN, INPUT);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Preset SPI CS pins to avoid bus conflicts
|
||||
#ifdef HAS_SCREEN
|
||||
@@ -258,18 +257,9 @@ void setup()
|
||||
buffer_obj = Buffer();
|
||||
#if defined(HAS_SD)
|
||||
// Do some SD stuff
|
||||
if(sd_obj.initSD()) {
|
||||
#ifdef HAS_SCREEN
|
||||
//display_obj.tft.println(F(text_table0[3]));
|
||||
#endif
|
||||
} else {
|
||||
if(!sd_obj.initSD())
|
||||
Serial.println(F("SD Card NOT Supported"));
|
||||
#ifdef HAS_SCREEN
|
||||
//display_obj.tft.setTextColor(TFT_RED, TFT_BLACK);
|
||||
//display_obj.tft.println(F(text_table0[4]));
|
||||
//display_obj.tft.setTextColor(TFT_CYAN, TFT_BLACK);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef HAS_SCREEN
|
||||
|
||||
Reference in New Issue
Block a user