mirror of
https://github.com/justcallmekoko/ESP32Marauder.git
synced 2025-12-05 20:40:25 -08:00
Refactor Code + XIAO-ESP32-S3 Support
Refactoring / pre-processor optimizations to only include files if specified in the `configs.h` file. Also adds support for the XIAO-ESP32-S3 small board from Seeed Studio.
This commit is contained in:
@@ -5,45 +5,39 @@ BatteryInterface::BatteryInterface() {
|
||||
}
|
||||
|
||||
void BatteryInterface::main(uint32_t currentTime) {
|
||||
#ifndef MARAUDER_FLIPPER || XIAO_ESP32_S3
|
||||
if (currentTime != 0) {
|
||||
if (currentTime - initTime >= 3000) {
|
||||
//Serial.println("Checking Battery Level");
|
||||
this->initTime = millis();
|
||||
int8_t new_level = this->getBatteryLevel();
|
||||
//this->battery_level = this->getBatteryLevel();
|
||||
if (this->battery_level != new_level) {
|
||||
Serial.println(text00 + (String)new_level);
|
||||
this->battery_level = new_level;
|
||||
}
|
||||
if (currentTime != 0) {
|
||||
if (currentTime - initTime >= 3000) {
|
||||
//Serial.println("Checking Battery Level");
|
||||
this->initTime = millis();
|
||||
int8_t new_level = this->getBatteryLevel();
|
||||
//this->battery_level = this->getBatteryLevel();
|
||||
if (this->battery_level != new_level) {
|
||||
Serial.println(text00 + (String)new_level);
|
||||
this->battery_level = new_level;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void BatteryInterface::RunSetup() {
|
||||
#ifndef MARAUDER_FLIPPER || XIAO_ESP32_S3
|
||||
Wire.begin(I2C_SDA, I2C_SCL);
|
||||
this->initTime = millis();
|
||||
#endif
|
||||
Wire.begin(I2C_SDA, I2C_SCL);
|
||||
this->initTime = millis();
|
||||
}
|
||||
|
||||
int8_t BatteryInterface::getBatteryLevel() {
|
||||
#ifndef MARAUDER_FLIPPER || XIAO_ESP32_S3
|
||||
Wire.beginTransmission(IP5306_ADDR);
|
||||
Wire.write(0x78);
|
||||
if (Wire.endTransmission(false) == 0 &&
|
||||
Wire.requestFrom(0x75, 1)) {
|
||||
this->i2c_supported = true;
|
||||
switch (Wire.read() & 0xF0) {
|
||||
case 0xE0: return 25;
|
||||
case 0xC0: return 50;
|
||||
case 0x80: return 75;
|
||||
case 0x00: return 100;
|
||||
default: return 0;
|
||||
}
|
||||
Wire.beginTransmission(IP5306_ADDR);
|
||||
Wire.write(0x78);
|
||||
if (Wire.endTransmission(false) == 0 &&
|
||||
Wire.requestFrom(0x75, 1)) {
|
||||
this->i2c_supported = true;
|
||||
switch (Wire.read() & 0xF0) {
|
||||
case 0xE0: return 25;
|
||||
case 0xC0: return 50;
|
||||
case 0x80: return 75;
|
||||
case 0x00: return 100;
|
||||
default: return 0;
|
||||
}
|
||||
this->i2c_supported = false;
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
this->i2c_supported = false;
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -5,9 +5,7 @@
|
||||
|
||||
#include "configs.h"
|
||||
|
||||
#ifndef MARAUDER_FLIPPER || XIAO_ESP32_S3
|
||||
#include <Wire.h>
|
||||
#endif
|
||||
#include <Wire.h>
|
||||
|
||||
#define I2C_SDA 33
|
||||
#define I2C_SCL 22
|
||||
|
||||
@@ -270,12 +270,15 @@ void CommandLine::runCommand(String input) {
|
||||
#endif
|
||||
}
|
||||
// ls command
|
||||
else if (cmd_args.get(0) == LS_CMD) {
|
||||
if (cmd_args.size() > 1)
|
||||
sd_obj.listDir(cmd_args.get(1));
|
||||
else
|
||||
Serial.println("You did not provide a dir to list");
|
||||
}
|
||||
#ifdef HAS_SD
|
||||
else if (cmd_args.get(0) == LS_CMD) {
|
||||
if (cmd_args.size() > 1)
|
||||
sd_obj.listDir(cmd_args.get(1));
|
||||
else
|
||||
Serial.println("You did not provide a dir to list");
|
||||
}
|
||||
#endif
|
||||
|
||||
// Channel command
|
||||
else if (cmd_args.get(0) == CH_CMD) {
|
||||
// Search for channel set arg
|
||||
|
||||
@@ -10,7 +10,9 @@
|
||||
|
||||
#include "WiFiScan.h"
|
||||
#include "Web.h"
|
||||
#include "SDInterface.h"
|
||||
#ifdef HAS_SD
|
||||
#include "SDInterface.h"
|
||||
#endif
|
||||
#include "settings.h"
|
||||
|
||||
#ifdef HAS_SCREEN
|
||||
@@ -20,12 +22,15 @@
|
||||
|
||||
extern WiFiScan wifi_scan_obj;
|
||||
extern Web web_obj;
|
||||
extern SDInterface sd_obj;
|
||||
#ifdef HAS_SD
|
||||
extern SDInterface sd_obj;
|
||||
#endif
|
||||
extern Settings settings_obj;
|
||||
extern LinkedList<AccessPoint>* access_points;
|
||||
extern LinkedList<ssid>* ssids;
|
||||
extern LinkedList<Station>* stations;
|
||||
extern const String PROGMEM version_number;
|
||||
extern const String PROGMEM board_target;
|
||||
|
||||
//// Commands
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "LedInterface.h"
|
||||
|
||||
LedInterface::LedInterface() {
|
||||
|
||||
|
||||
}
|
||||
|
||||
void LedInterface::RunSetup() {
|
||||
@@ -61,10 +61,10 @@ void LedInterface::ledOff() {
|
||||
strip.show();
|
||||
}
|
||||
|
||||
void LedInterface::rainbow() {
|
||||
void LedInterface::rainbow() {
|
||||
strip.setPixelColor(0, this->Wheel((0 * 256 / 100 + this->wheel_pos) % 256));
|
||||
strip.show();
|
||||
|
||||
|
||||
this->current_fade_itter++;
|
||||
|
||||
this->wheel_pos = this->wheel_pos - this->wheel_speed;
|
||||
@@ -83,4 +83,4 @@ uint32_t LedInterface::Wheel(byte WheelPos) {
|
||||
}
|
||||
WheelPos -= 170;
|
||||
return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
|
||||
}
|
||||
}
|
||||
@@ -1,254 +1,258 @@
|
||||
#include "SDInterface.h"
|
||||
#include "lang_var.h"
|
||||
#ifdef HAS_SD
|
||||
|
||||
bool SDInterface::initSD() {
|
||||
String display_string = "";
|
||||
|
||||
#ifdef KIT
|
||||
pinMode(SD_DET, INPUT);
|
||||
if (digitalRead(SD_DET) == LOW) {
|
||||
Serial.println(F("SD Card Detect Pin Detected"));
|
||||
}
|
||||
else {
|
||||
Serial.println(F("SD Card Detect Pin Not Detected"));
|
||||
#include "SDInterface.h"
|
||||
#include "lang_var.h"
|
||||
|
||||
bool SDInterface::initSD() {
|
||||
String display_string = "";
|
||||
|
||||
#ifdef KIT
|
||||
pinMode(SD_DET, INPUT);
|
||||
if (digitalRead(SD_DET) == LOW) {
|
||||
Serial.println(F("SD Card Detect Pin Detected"));
|
||||
}
|
||||
else {
|
||||
Serial.println(F("SD Card Detect Pin Not Detected"));
|
||||
this->supported = false;
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
pinMode(SD_CS, OUTPUT);
|
||||
|
||||
delay(10);
|
||||
|
||||
if (!SD.begin(SD_CS)) {
|
||||
Serial.println(F("Failed to mount SD Card"));
|
||||
this->supported = false;
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
pinMode(SD_CS, OUTPUT);
|
||||
|
||||
delay(10);
|
||||
else {
|
||||
this->supported = true;
|
||||
this->cardType = SD.cardType();
|
||||
//if (cardType == CARD_MMC)
|
||||
// Serial.println(F("SD: MMC Mounted"));
|
||||
//else if(cardType == CARD_SD)
|
||||
// Serial.println(F("SD: SDSC Mounted"));
|
||||
//else if(cardType == CARD_SDHC)
|
||||
// Serial.println(F("SD: SDHC Mounted"));
|
||||
//else
|
||||
// Serial.println(F("SD: UNKNOWN Card Mounted"));
|
||||
|
||||
if (!SD.begin(SD_CS)) {
|
||||
Serial.println(F("Failed to mount SD Card"));
|
||||
this->supported = false;
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
this->supported = true;
|
||||
this->cardType = SD.cardType();
|
||||
//if (cardType == CARD_MMC)
|
||||
// Serial.println(F("SD: MMC Mounted"));
|
||||
//else if(cardType == CARD_SD)
|
||||
// Serial.println(F("SD: SDSC Mounted"));
|
||||
//else if(cardType == CARD_SDHC)
|
||||
// Serial.println(F("SD: SDHC Mounted"));
|
||||
//else
|
||||
// Serial.println(F("SD: UNKNOWN Card Mounted"));
|
||||
|
||||
this->cardSizeMB = SD.cardSize() / (1024 * 1024);
|
||||
this->cardSizeMB = SD.cardSize() / (1024 * 1024);
|
||||
|
||||
//Serial.printf("SD Card Size: %lluMB\n", this->cardSizeMB);
|
||||
|
||||
if (this->supported) {
|
||||
const int NUM_DIGITS = log10(this->cardSizeMB) + 1;
|
||||
|
||||
char sz[NUM_DIGITS + 1];
|
||||
|
||||
sz[NUM_DIGITS] = 0;
|
||||
for ( size_t i = NUM_DIGITS; i--; this->cardSizeMB /= 10)
|
||||
{
|
||||
sz[i] = '0' + (this->cardSizeMB % 10);
|
||||
display_string.concat((String)sz[i]);
|
||||
}
|
||||
|
||||
//Serial.printf("SD Card Size: %lluMB\n", this->cardSizeMB);
|
||||
|
||||
this->card_sz = sz;
|
||||
}
|
||||
|
||||
buffer_obj = Buffer();
|
||||
|
||||
if (!SD.exists("/SCRIPTS")) {
|
||||
Serial.println("/SCRIPTS does not exist. Creating...");
|
||||
|
||||
SD.mkdir("/SCRIPTS");
|
||||
Serial.println("/SCRIPTS created");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
void SDInterface::listDir(String str_dir){
|
||||
if (this->supported) {
|
||||
const int NUM_DIGITS = log10(this->cardSizeMB) + 1;
|
||||
|
||||
char sz[NUM_DIGITS + 1];
|
||||
|
||||
sz[NUM_DIGITS] = 0;
|
||||
for ( size_t i = NUM_DIGITS; i--; this->cardSizeMB /= 10)
|
||||
File dir = SD.open(str_dir);
|
||||
while (true)
|
||||
{
|
||||
sz[i] = '0' + (this->cardSizeMB % 10);
|
||||
display_string.concat((String)sz[i]);
|
||||
File entry = dir.openNextFile();
|
||||
if (! entry)
|
||||
{
|
||||
break;
|
||||
}
|
||||
//for (uint8_t i = 0; i < numTabs; i++)
|
||||
//{
|
||||
// Serial.print('\t');
|
||||
//}
|
||||
Serial.print(entry.name());
|
||||
Serial.print("\t");
|
||||
Serial.println(entry.size());
|
||||
entry.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this->card_sz = sz;
|
||||
}
|
||||
|
||||
buffer_obj = Buffer();
|
||||
|
||||
if (!SD.exists("/SCRIPTS")) {
|
||||
Serial.println("/SCRIPTS does not exist. Creating...");
|
||||
|
||||
SD.mkdir("/SCRIPTS");
|
||||
Serial.println("/SCRIPTS created");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
void SDInterface::listDir(String str_dir){
|
||||
if (this->supported) {
|
||||
File dir = SD.open(str_dir);
|
||||
while (true)
|
||||
{
|
||||
File entry = dir.openNextFile();
|
||||
if (! entry)
|
||||
{
|
||||
break;
|
||||
}
|
||||
//for (uint8_t i = 0; i < numTabs; i++)
|
||||
//{
|
||||
// Serial.print('\t');
|
||||
//}
|
||||
Serial.print(entry.name());
|
||||
Serial.print("\t");
|
||||
Serial.println(entry.size());
|
||||
entry.close();
|
||||
void SDInterface::addPacket(uint8_t* buf, uint32_t len) {
|
||||
if ((this->supported) && (this->do_save)) {
|
||||
buffer_obj.addPacket(buf, len);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SDInterface::addPacket(uint8_t* buf, uint32_t len) {
|
||||
if ((this->supported) && (this->do_save)) {
|
||||
buffer_obj.addPacket(buf, len);
|
||||
}
|
||||
}
|
||||
|
||||
void SDInterface::openCapture(String file_name) {
|
||||
bool save_pcap = settings_obj.loadSetting<bool>("SavePCAP");
|
||||
if ((this->supported) && (save_pcap)) {
|
||||
buffer_obj.createPcapFile(&SD, file_name);
|
||||
buffer_obj.open();
|
||||
}
|
||||
}
|
||||
|
||||
void SDInterface::runUpdate() {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.setTextWrap(false);
|
||||
display_obj.tft.setFreeFont(NULL);
|
||||
display_obj.tft.setCursor(0, 100);
|
||||
display_obj.tft.setTextSize(1);
|
||||
display_obj.tft.setTextColor(TFT_WHITE);
|
||||
|
||||
display_obj.tft.println(F(text15));
|
||||
#endif
|
||||
File updateBin = SD.open("/update.bin");
|
||||
if (updateBin) {
|
||||
if(updateBin.isDirectory()){
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.setTextColor(TFT_RED);
|
||||
display_obj.tft.println(F(text_table2[0]));
|
||||
#endif
|
||||
Serial.println(F("Error, could not find \"update.bin\""));
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.setTextColor(TFT_WHITE);
|
||||
#endif
|
||||
updateBin.close();
|
||||
return;
|
||||
void SDInterface::openCapture(String file_name) {
|
||||
bool save_pcap = settings_obj.loadSetting<bool>("SavePCAP");
|
||||
if ((this->supported) && (save_pcap)) {
|
||||
buffer_obj.createPcapFile(&SD, file_name);
|
||||
buffer_obj.open();
|
||||
}
|
||||
|
||||
size_t updateSize = updateBin.size();
|
||||
|
||||
if (updateSize > 0) {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(F(text_table2[1]));
|
||||
#endif
|
||||
Serial.println(F("Starting update over SD. Please wait..."));
|
||||
this->performUpdate(updateBin, updateSize);
|
||||
}
|
||||
else {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.setTextColor(TFT_RED);
|
||||
display_obj.tft.println(F(text_table2[2]));
|
||||
#endif
|
||||
Serial.println(F("Error, file is empty"));
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.setTextColor(TFT_WHITE);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
updateBin.close();
|
||||
|
||||
// whe finished remove the binary from sd card to indicate end of the process
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(F(text_table2[3]));
|
||||
#endif
|
||||
Serial.println(F("rebooting..."));
|
||||
//SD.remove("/update.bin");
|
||||
delay(1000);
|
||||
ESP.restart();
|
||||
}
|
||||
else {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.setTextColor(TFT_RED);
|
||||
display_obj.tft.println(F(text_table2[4]));
|
||||
#endif
|
||||
Serial.println(F("Could not load update.bin from sd root"));
|
||||
|
||||
void SDInterface::runUpdate() {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.setTextWrap(false);
|
||||
display_obj.tft.setFreeFont(NULL);
|
||||
display_obj.tft.setCursor(0, 100);
|
||||
display_obj.tft.setTextSize(1);
|
||||
display_obj.tft.setTextColor(TFT_WHITE);
|
||||
|
||||
display_obj.tft.println(F(text15));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void SDInterface::performUpdate(Stream &updateSource, size_t updateSize) {
|
||||
if (Update.begin(updateSize)) {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table2[5] + String(updateSize));
|
||||
display_obj.tft.println(F(text_table2[6]));
|
||||
#endif
|
||||
size_t written = Update.writeStream(updateSource);
|
||||
if (written == updateSize) {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table2[7] + String(written) + text_table2[10]);
|
||||
#endif
|
||||
Serial.println("Written : " + String(written) + " successfully");
|
||||
}
|
||||
else {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table2[8] + String(written) + "/" + String(updateSize) + text_table2[9]);
|
||||
#endif
|
||||
Serial.println("Written only : " + String(written) + "/" + String(updateSize) + ". Retry?");
|
||||
}
|
||||
if (Update.end()) {
|
||||
Serial.println("OTA done!");
|
||||
if (Update.isFinished()) {
|
||||
File updateBin = SD.open("/update.bin");
|
||||
if (updateBin) {
|
||||
if(updateBin.isDirectory()){
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(F(text_table2[11]));
|
||||
display_obj.tft.setTextColor(TFT_RED);
|
||||
display_obj.tft.println(F(text_table2[0]));
|
||||
#endif
|
||||
Serial.println(F("Update successfully completed. Rebooting."));
|
||||
Serial.println(F("Error, could not find \"update.bin\""));
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.setTextColor(TFT_WHITE);
|
||||
#endif
|
||||
updateBin.close();
|
||||
return;
|
||||
}
|
||||
|
||||
size_t updateSize = updateBin.size();
|
||||
|
||||
if (updateSize > 0) {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(F(text_table2[1]));
|
||||
#endif
|
||||
Serial.println(F("Starting update over SD. Please wait..."));
|
||||
this->performUpdate(updateBin, updateSize);
|
||||
}
|
||||
else {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.setTextColor(TFT_RED);
|
||||
display_obj.tft.println(text_table2[12]);
|
||||
display_obj.tft.println(F(text_table2[2]));
|
||||
#endif
|
||||
Serial.println("Update not finished? Something went wrong!");
|
||||
Serial.println(F("Error, file is empty"));
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.setTextColor(TFT_WHITE);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
updateBin.close();
|
||||
|
||||
// whe finished remove the binary from sd card to indicate end of the process
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(F(text_table2[3]));
|
||||
#endif
|
||||
Serial.println(F("rebooting..."));
|
||||
//SD.remove("/update.bin");
|
||||
delay(1000);
|
||||
ESP.restart();
|
||||
}
|
||||
else {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table2[13] + String(Update.getError()));
|
||||
display_obj.tft.setTextColor(TFT_RED);
|
||||
display_obj.tft.println(F(text_table2[4]));
|
||||
#endif
|
||||
Serial.println(F("Could not load update.bin from sd root"));
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.setTextColor(TFT_WHITE);
|
||||
#endif
|
||||
Serial.println("Error Occurred. Error #: " + String(Update.getError()));
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table2[14]);
|
||||
#endif
|
||||
Serial.println("Not enough space to begin OTA");
|
||||
}
|
||||
}
|
||||
|
||||
bool SDInterface::checkDetectPin() {
|
||||
#ifdef KIT
|
||||
if (digitalRead(SD_DET) == LOW)
|
||||
return true;
|
||||
|
||||
void SDInterface::performUpdate(Stream &updateSource, size_t updateSize) {
|
||||
if (Update.begin(updateSize)) {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table2[5] + String(updateSize));
|
||||
display_obj.tft.println(F(text_table2[6]));
|
||||
#endif
|
||||
size_t written = Update.writeStream(updateSource);
|
||||
if (written == updateSize) {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table2[7] + String(written) + text_table2[10]);
|
||||
#endif
|
||||
Serial.println("Written : " + String(written) + " successfully");
|
||||
}
|
||||
else {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table2[8] + String(written) + "/" + String(updateSize) + text_table2[9]);
|
||||
#endif
|
||||
Serial.println("Written only : " + String(written) + "/" + String(updateSize) + ". Retry?");
|
||||
}
|
||||
if (Update.end()) {
|
||||
Serial.println("OTA done!");
|
||||
if (Update.isFinished()) {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(F(text_table2[11]));
|
||||
#endif
|
||||
Serial.println(F("Update successfully completed. Rebooting."));
|
||||
}
|
||||
else {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.setTextColor(TFT_RED);
|
||||
display_obj.tft.println(text_table2[12]);
|
||||
#endif
|
||||
Serial.println("Update not finished? Something went wrong!");
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.setTextColor(TFT_WHITE);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table2[13] + String(Update.getError()));
|
||||
#endif
|
||||
Serial.println("Error Occurred. Error #: " + String(Update.getError()));
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
return false;
|
||||
#endif
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void SDInterface::main() {
|
||||
if ((this->supported) && (this->do_save)) {
|
||||
//Serial.println("Saving packet...");
|
||||
buffer_obj.forceSave(&SD);
|
||||
}
|
||||
else if (!this->supported) {
|
||||
if (checkDetectPin()) {
|
||||
delay(100);
|
||||
this->initSD();
|
||||
{
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table2[14]);
|
||||
#endif
|
||||
Serial.println("Not enough space to begin OTA");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool SDInterface::checkDetectPin() {
|
||||
#ifdef KIT
|
||||
if (digitalRead(SD_DET) == LOW)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
#endif
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void SDInterface::main() {
|
||||
if ((this->supported) && (this->do_save)) {
|
||||
//Serial.println("Saving packet...");
|
||||
buffer_obj.forceSave(&SD);
|
||||
}
|
||||
else if (!this->supported) {
|
||||
if (checkDetectPin()) {
|
||||
delay(100);
|
||||
this->initSD();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -19,10 +19,7 @@ void TemperatureInterface::RunSetup() {
|
||||
}
|
||||
|
||||
uint8_t TemperatureInterface::getCurrentTemp() {
|
||||
#ifndef MARAUDER_FLIPPER || XIAO_ESP32_S3
|
||||
return ((temprature_sens_read() - 32) / 1.8);
|
||||
#endif
|
||||
return 0;
|
||||
return ((temprature_sens_read() - 32) / 1.8);
|
||||
}
|
||||
|
||||
void TemperatureInterface::main(uint32_t currentTime) {
|
||||
|
||||
@@ -404,6 +404,8 @@ void WiFiScan::startWiFiAttacks(uint8_t scan_mode, uint16_t color, String title_
|
||||
this->wifi_initialized = true;
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.attackLED();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.attackLED();
|
||||
#else
|
||||
led_obj.setMode(MODE_ATTACK);
|
||||
#endif
|
||||
@@ -425,6 +427,8 @@ bool WiFiScan::shutdownWiFi() {
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.offLED();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.offLED();
|
||||
#else
|
||||
led_obj.setMode(MODE_OFF);
|
||||
#endif
|
||||
@@ -447,6 +451,8 @@ bool WiFiScan::shutdownBLE() {
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.offLED();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.offLED();
|
||||
#else
|
||||
led_obj.setMode(MODE_OFF);
|
||||
#endif
|
||||
@@ -580,6 +586,8 @@ void WiFiScan::RunAPScan(uint8_t scan_mode, uint16_t color)
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.sniffLED();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.sniffLED();
|
||||
#else
|
||||
led_obj.setMode(MODE_SNIFF);
|
||||
#endif
|
||||
@@ -817,20 +825,21 @@ void WiFiScan::RunInfo()
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
battery_obj.battery_level = battery_obj.getBatteryLevel();
|
||||
if (battery_obj.i2c_supported) {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table4[32]);
|
||||
display_obj.tft.println(text_table4[33] + (String)battery_obj.battery_level + "%");
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table4[34]);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef HAS_BATTERY
|
||||
battery_obj.battery_level = battery_obj.getBatteryLevel();
|
||||
if (battery_obj.i2c_supported) {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table4[32]);
|
||||
display_obj.tft.println(text_table4[33] + (String)battery_obj.battery_level + "%");
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table4[34]);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(text_table4[35] + (String)temp_obj.current_temp + " C");
|
||||
#endif
|
||||
@@ -845,6 +854,8 @@ void WiFiScan::RunEspressifScan(uint8_t scan_mode, uint16_t color) {
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.sniffLED();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.sniffLED();
|
||||
#else
|
||||
led_obj.setMode(MODE_SNIFF);
|
||||
#endif
|
||||
@@ -882,6 +893,8 @@ void WiFiScan::RunPacketMonitor(uint8_t scan_mode, uint16_t color)
|
||||
{
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.sniffLED();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.sniffLED();
|
||||
#else
|
||||
led_obj.setMode(MODE_SNIFF);
|
||||
#endif
|
||||
@@ -961,6 +974,8 @@ void WiFiScan::RunEapolScan(uint8_t scan_mode, uint16_t color)
|
||||
{
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.sniffLED();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.sniffLED();
|
||||
#else
|
||||
led_obj.setMode(MODE_SNIFF);
|
||||
#endif
|
||||
@@ -1110,6 +1125,8 @@ void WiFiScan::RunPwnScan(uint8_t scan_mode, uint16_t color)
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.sniffLED();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.sniffLED();
|
||||
#else
|
||||
led_obj.setMode(MODE_SNIFF);
|
||||
#endif
|
||||
@@ -1154,6 +1171,8 @@ void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color)
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.sniffLED();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.sniffLED();
|
||||
#else
|
||||
led_obj.setMode(MODE_SNIFF);
|
||||
#endif
|
||||
@@ -1197,6 +1216,8 @@ void WiFiScan::RunStationScan(uint8_t scan_mode, uint16_t color)
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.sniffLED();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.sniffLED();
|
||||
#else
|
||||
led_obj.setMode(MODE_SNIFF);
|
||||
#endif
|
||||
@@ -1241,6 +1262,8 @@ void WiFiScan::RunRawScan(uint8_t scan_mode, uint16_t color)
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.sniffLED();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.sniffLED();
|
||||
#else
|
||||
led_obj.setMode(MODE_SNIFF);
|
||||
#endif
|
||||
@@ -1287,6 +1310,8 @@ void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color)
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.sniffLED();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.sniffLED();
|
||||
#else
|
||||
led_obj.setMode(MODE_SNIFF);
|
||||
#endif
|
||||
@@ -1332,6 +1357,8 @@ void WiFiScan::RunProbeScan(uint8_t scan_mode, uint16_t color)
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.sniffLED();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.sniffLED();
|
||||
#else
|
||||
led_obj.setMode(MODE_SNIFF);
|
||||
#endif
|
||||
|
||||
@@ -24,14 +24,27 @@
|
||||
#ifdef HAS_SCREEN
|
||||
#include "Display.h"
|
||||
#endif
|
||||
#include "SDInterface.h"
|
||||
#ifdef HAS_SD
|
||||
#include "SDInterface.h"
|
||||
#endif
|
||||
#include "Buffer.h"
|
||||
#include "BatteryInterface.h"
|
||||
#include "TemperatureInterface.h"
|
||||
#ifdef HAS_BATTERY
|
||||
#include "BatteryInterface.h"
|
||||
#endif
|
||||
#ifdef HAS_TEMP_SENSOR
|
||||
#include "TemperatureInterface.h"
|
||||
#endif
|
||||
#include "settings.h"
|
||||
#include "Assets.h"
|
||||
#include "flipperLED.h"
|
||||
#include "LedInterface.h"
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
#include "flipperLED.h"
|
||||
#endif
|
||||
#ifdef XIAO_ESP32_S3
|
||||
#include "xiaoLED.h"
|
||||
#endif
|
||||
#ifndef MARAUDER_FLIPPER || XIAO_ESP32_S3
|
||||
#include "LedInterface.h"
|
||||
#endif
|
||||
//#include "MenuFunctions.h"
|
||||
|
||||
#define bad_list_length 3
|
||||
@@ -77,13 +90,24 @@
|
||||
#ifdef HAS_SCREEN
|
||||
extern Display display_obj;
|
||||
#endif
|
||||
extern SDInterface sd_obj;
|
||||
#ifdef HAS_SD
|
||||
extern SDInterface sd_obj;
|
||||
#endif
|
||||
extern Buffer buffer_obj;
|
||||
extern BatteryInterface battery_obj;
|
||||
extern TemperatureInterface temp_obj;
|
||||
#ifdef HAS_BATTERY
|
||||
extern BatteryInterface battery_obj;
|
||||
#endif
|
||||
#ifdef HAS_TEMP_SENSOR
|
||||
extern TemperatureInterface temp_obj;
|
||||
#endif
|
||||
extern Settings settings_obj;
|
||||
extern flipperLED flipper_led;
|
||||
extern LedInterface led_obj;
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
extern flipperLED flipper_led;
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
extern xiaoLED xiao_led;
|
||||
#else
|
||||
extern LedInterface led_obj;
|
||||
#endif
|
||||
|
||||
esp_err_t esp_wifi_80211_tx(wifi_interface_t ifx, const void *buffer, int len, bool en_sys_seq);
|
||||
//int ieee80211_raw_frame_sanity_check(int32_t arg, int32_t arg2, int32_t arg3);
|
||||
|
||||
@@ -8,347 +8,488 @@
|
||||
//If not defined, will write packages to SD card if supported
|
||||
//#define WRITE_PACKETS_SERIAL
|
||||
|
||||
//// BOARD TARGETS
|
||||
//#define MARAUDER_M5STICKC
|
||||
//#define MARAUDER_MINI
|
||||
//#define MARAUDER_V4
|
||||
//#define MARAUDER_V6
|
||||
//#define MARAUDER_KIT
|
||||
//#define GENERIC_ESP32
|
||||
#define MARAUDER_FLIPPER
|
||||
//#define MARAUDER_FLIPPER
|
||||
//#define ESP32_LDDB
|
||||
//#define MARAUDER_DEV_BOARD_PRO
|
||||
//#define XIAO_ESP32_S3
|
||||
//// END BOARD TARGETS
|
||||
|
||||
#define MARAUDER_VERSION "v0.10.7"
|
||||
|
||||
//// POWER MANAGEMENT
|
||||
//// BOARD FEATURES
|
||||
#ifdef MARAUDER_M5STICKC
|
||||
#include "AXP192.h"
|
||||
#endif
|
||||
|
||||
//// BUTTON DEFINITIONS
|
||||
#ifdef MARAUDER_MINI
|
||||
//#define FLIPPER_ZERO_HAT
|
||||
#define HAS_BATTERY
|
||||
#define HAS_BUTTONS
|
||||
|
||||
#define L_BTN 13
|
||||
#define C_BTN 34
|
||||
#define U_BTN 36
|
||||
#define R_BTN 39
|
||||
#define D_BTN 35
|
||||
//#define HAS_NEOPIXEL_LED
|
||||
#define HAS_PWR_MGMT
|
||||
#define HAS_SCREEN
|
||||
#define HAS_SD
|
||||
#define HAS_TEMP_SENSOR
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_M5STICKC
|
||||
#ifdef MARAUDER_MINI
|
||||
//#define FLIPPER_ZERO_HAT
|
||||
#define HAS_BATTERY
|
||||
#define HAS_BT
|
||||
#define HAS_BUTTONS
|
||||
|
||||
#define L_BTN -1
|
||||
#define C_BTN 37
|
||||
#define U_BTN -1
|
||||
#define R_BTN -1
|
||||
#define D_BTN 39
|
||||
#endif
|
||||
//#define HAS_NEOPIXEL_LED
|
||||
//#define HAS_PWR_MGMT
|
||||
#define HAS_SCREEN
|
||||
#define HAS_SD
|
||||
#define HAS_TEMP_SENSOR
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_V4
|
||||
//#define FLIPPER_ZERO_HAT
|
||||
#define HAS_BATTERY
|
||||
#define HAS_BT
|
||||
#define HAS_BUTTONS
|
||||
//#define HAS_NEOPIXEL_LED
|
||||
//#define HAS_PWR_MGMT
|
||||
#define HAS_SCREEN
|
||||
#define HAS_SD
|
||||
#define HAS_TEMP_SENSOR
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_V6
|
||||
//#define FLIPPER_ZERO_HAT
|
||||
#define HAS_BATTERY
|
||||
#define HAS_BT
|
||||
#define HAS_BUTTONS
|
||||
//#define HAS_NEOPIXEL_LED
|
||||
//#define HAS_PWR_MGMT
|
||||
#define HAS_SCREEN
|
||||
#define HAS_SD
|
||||
#define HAS_TEMP_SENSOR
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_KIT
|
||||
//#define FLIPPER_ZERO_HAT
|
||||
#define HAS_BATTERY
|
||||
#define HAS_BT
|
||||
#define HAS_BUTTONS
|
||||
//#define HAS_NEOPIXEL_LED
|
||||
//#define HAS_PWR_MGMT
|
||||
#define HAS_SCREEN
|
||||
#define HAS_SD
|
||||
#define HAS_TEMP_SENSOR
|
||||
#endif
|
||||
|
||||
#ifdef GENERIC_ESP32
|
||||
//#define FLIPPER_ZERO_HAT
|
||||
//#define HAS_BATTERY
|
||||
#define HAS_BT
|
||||
//#define HAS_BUTTONS
|
||||
//#define HAS_NEOPIXEL_LED
|
||||
//#define HAS_PWR_MGMT
|
||||
//#define HAS_SCREEN
|
||||
//#define HAS_SD
|
||||
//#define HAS_TEMP_SENSOR
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
#define FLIPPER_ZERO_HAT
|
||||
//#define HAS_BATTERY
|
||||
//#define HAS_BT
|
||||
//#define HAS_BUTTONS
|
||||
//#define HAS_NEOPIXEL_LED
|
||||
//#define HAS_PWR_MGMT
|
||||
//#define HAS_SCREEN
|
||||
//#define HAS_SD
|
||||
//#define HAS_TEMP_SENSOR
|
||||
#endif
|
||||
|
||||
#ifdef ESP32_LDDB
|
||||
//#define FLIPPER_ZERO_HAT
|
||||
//#define HAS_BATTERY
|
||||
//#define HAS_BT
|
||||
//#define HAS_BUTTONS
|
||||
#define HAS_NEOPIXEL_LED
|
||||
//#define HAS_PWR_MGMT
|
||||
//#define HAS_SCREEN
|
||||
#define HAS_SD
|
||||
//#define HAS_TEMP_SENSOR
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_DEV_BOARD_PRO
|
||||
//#define FLIPPER_ZERO_HAT
|
||||
//#define HAS_BATTERY
|
||||
#define HAS_BT
|
||||
//#define HAS_BUTTONS
|
||||
//#define HAS_NEOPIXEL_LED
|
||||
//#define HAS_PWR_MGMT
|
||||
//#define HAS_SCREEN
|
||||
#define HAS_SD
|
||||
//#define HAS_TEMP_SENSOR
|
||||
#endif
|
||||
|
||||
#ifdef XIAO_ESP32_S3
|
||||
#define FLIPPER_ZERO_HAT
|
||||
//#define HAS_BATTERY
|
||||
#define HAS_BT
|
||||
//#define HAS_BUTTONS
|
||||
//#define HAS_NEOPIXEL_LED
|
||||
//#define HAS_PWR_MGMT
|
||||
//#define HAS_SCREEN
|
||||
//#define HAS_SD
|
||||
//#define HAS_TEMP_SENSOR
|
||||
#endif
|
||||
//// END BOARD FEATURES
|
||||
|
||||
//// FLIPPER ZERO HAT SETTINGS
|
||||
#ifdef FLIPPER_ZERO_HAT
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
#define USE_FLIPPER_SD
|
||||
#endif
|
||||
|
||||
#ifdef XIAO_ESP32_S3
|
||||
#define USE_FLIPPER_SD
|
||||
#endif
|
||||
|
||||
#endif
|
||||
//// END FLIPPER ZERO HAT SETTINGS
|
||||
|
||||
//// POWER MANAGEMENT
|
||||
#ifdef HAS_PWR_MGMT
|
||||
#ifdef MARAUDER_M5STICKC
|
||||
#include "AXP192.h"
|
||||
#endif
|
||||
#endif
|
||||
//// END POWER MANAGEMENT
|
||||
|
||||
//// BUTTON DEFINITIONS
|
||||
#ifdef HAS_BUTTONS
|
||||
|
||||
#ifdef MARAUDER_MINI
|
||||
#define L_BTN 13
|
||||
#define C_BTN 34
|
||||
#define U_BTN 36
|
||||
#define R_BTN 39
|
||||
#define D_BTN 35
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_M5STICKC
|
||||
#define L_BTN -1
|
||||
#define C_BTN 37
|
||||
#define U_BTN -1
|
||||
#define R_BTN -1
|
||||
#define D_BTN 39
|
||||
#endif
|
||||
|
||||
#endif
|
||||
//// END BUTTON DEFINITIONS
|
||||
|
||||
//// DISPLAY DEFINITIONS
|
||||
#ifdef MARAUDER_M5STICKC
|
||||
//#define TFT_MISO 19
|
||||
#define TFT_MOSI 15
|
||||
#define TFT_SCLK 13
|
||||
#define TFT_CS 5
|
||||
#define TFT_DC 23
|
||||
#define TFT_RST 18
|
||||
#define TFT_BL 10
|
||||
#define TOUCH_CS 10
|
||||
//#define SD_CS 1
|
||||
#ifdef HAS_SCREEN
|
||||
|
||||
#define SCREEN_BUFFER
|
||||
#ifdef MARAUDER_M5STICKC
|
||||
//#define TFT_MISO 19
|
||||
#define TFT_MOSI 15
|
||||
#define TFT_SCLK 13
|
||||
#define TFT_CS 5
|
||||
#define TFT_DC 23
|
||||
#define TFT_RST 18
|
||||
#define TFT_BL 10
|
||||
#define TOUCH_CS 10
|
||||
//#define SD_CS 1
|
||||
|
||||
#define MAX_SCREEN_BUFFER 9
|
||||
#define SCREEN_BUFFER
|
||||
|
||||
#define BANNER_TEXT_SIZE 1
|
||||
#define MAX_SCREEN_BUFFER 9
|
||||
|
||||
#define BANNER_TEXT_SIZE 1
|
||||
|
||||
#ifndef TFT_WIDTH
|
||||
#define TFT_WIDTH 135
|
||||
#endif
|
||||
|
||||
#ifndef TFT_HEIGHT
|
||||
#define TFT_HEIGHT 240
|
||||
#endif
|
||||
|
||||
#define CHAR_WIDTH 6
|
||||
#define SCREEN_WIDTH TFT_HEIGHT // Originally 240
|
||||
#define SCREEN_HEIGHT TFT_WIDTH // Originally 320
|
||||
#define HEIGHT_1 TFT_WIDTH
|
||||
#define WIDTH_1 TFT_WIDTH
|
||||
#define STANDARD_FONT_CHAR_LIMIT (TFT_WIDTH/6) // number of characters on a single line with normal font
|
||||
#define TEXT_HEIGHT (TFT_HEIGHT/10) // 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 TFT_HEIGHT // 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_ARRAY_LEN 11
|
||||
#define STATUS_BAR_WIDTH (TFT_HEIGHT/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
|
||||
|
||||
#ifndef TFT_WIDTH
|
||||
#define TFT_WIDTH 135
|
||||
#endif
|
||||
|
||||
#ifndef TFT_HEIGHT
|
||||
#define TFT_HEIGHT 240
|
||||
#ifdef MARAUDER_V4
|
||||
#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 TFT_SHIELD
|
||||
|
||||
#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_ARRAY_LEN 11
|
||||
#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
|
||||
|
||||
#define CHAR_WIDTH 6
|
||||
#define SCREEN_WIDTH TFT_HEIGHT // Originally 240
|
||||
#define SCREEN_HEIGHT TFT_WIDTH // Originally 320
|
||||
#define HEIGHT_1 TFT_WIDTH
|
||||
#define WIDTH_1 TFT_WIDTH
|
||||
#define STANDARD_FONT_CHAR_LIMIT (TFT_WIDTH/6) // number of characters on a single line with normal font
|
||||
#define TEXT_HEIGHT (TFT_HEIGHT/10) // 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 TFT_HEIGHT // 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_ARRAY_LEN 11
|
||||
#define STATUS_BAR_WIDTH (TFT_HEIGHT/16)
|
||||
#define LVGL_TICK_PERIOD 6
|
||||
#ifdef MARAUDER_V6
|
||||
#define HAS_ILI9341
|
||||
|
||||
#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 BANNER_TEXT_SIZE 2
|
||||
|
||||
#endif
|
||||
#ifndef TFT_WIDTH
|
||||
#define TFT_WIDTH 240
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_V4
|
||||
#define HAS_ILI9341
|
||||
#define BANNER_TEXT_SIZE 2
|
||||
#ifndef TFT_HEIGHT
|
||||
#define TFT_HEIGHT 320
|
||||
#endif
|
||||
|
||||
#ifndef TFT_WIDTH
|
||||
#define TFT_WIDTH 240
|
||||
#define TFT_DIY
|
||||
|
||||
#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_ARRAY_LEN 11
|
||||
#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
|
||||
|
||||
#ifdef MARAUDER_KIT
|
||||
#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 TFT_DIY
|
||||
#define KIT
|
||||
|
||||
#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_ARRAY_LEN 11
|
||||
#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
|
||||
|
||||
#ifndef TFT_HEIGHT
|
||||
#define TFT_HEIGHT 320
|
||||
#endif
|
||||
|
||||
#define TFT_SHIELD
|
||||
|
||||
#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_ARRAY_LEN 11
|
||||
#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
|
||||
|
||||
#ifdef MARAUDER_V6
|
||||
#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 TFT_DIY
|
||||
|
||||
#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_ARRAY_LEN 11
|
||||
#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
|
||||
|
||||
#ifdef MARAUDER_KIT
|
||||
#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 TFT_DIY
|
||||
#define KIT
|
||||
|
||||
#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_ARRAY_LEN 11
|
||||
#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
|
||||
|
||||
#ifdef MARAUDER_MINI
|
||||
#define TFT_MISO 19
|
||||
#define TFT_MOSI 23
|
||||
#define TFT_SCLK 18
|
||||
#define TFT_CS 27
|
||||
#define TFT_DC 26
|
||||
#define TFT_RST 5
|
||||
#define TFT_BL 32
|
||||
#define TOUCH_CS 21
|
||||
#define SD_CS 4
|
||||
#ifdef MARAUDER_MINI
|
||||
#define TFT_MISO 19
|
||||
#define TFT_MOSI 23
|
||||
#define TFT_SCLK 18
|
||||
#define TFT_CS 27
|
||||
#define TFT_DC 26
|
||||
#define TFT_RST 5
|
||||
#define TFT_BL 32
|
||||
#define TOUCH_CS 21
|
||||
#define SD_CS 4
|
||||
|
||||
#define SCREEN_BUFFER
|
||||
#define SCREEN_BUFFER
|
||||
|
||||
#define MAX_SCREEN_BUFFER 9
|
||||
#define MAX_SCREEN_BUFFER 9
|
||||
|
||||
#define BANNER_TEXT_SIZE 1
|
||||
#define BANNER_TEXT_SIZE 1
|
||||
|
||||
#ifndef TFT_WIDTH
|
||||
#define TFT_WIDTH 128
|
||||
#ifndef TFT_WIDTH
|
||||
#define TFT_WIDTH 128
|
||||
#endif
|
||||
|
||||
#ifndef TFT_HEIGHT
|
||||
#define TFT_HEIGHT 128
|
||||
#endif
|
||||
|
||||
#define CHAR_WIDTH 6
|
||||
#define SCREEN_WIDTH TFT_WIDTH // Originally 240
|
||||
#define SCREEN_HEIGHT TFT_HEIGHT // Originally 320
|
||||
#define HEIGHT_1 TFT_WIDTH
|
||||
#define WIDTH_1 TFT_WIDTH
|
||||
#define STANDARD_FONT_CHAR_LIMIT (TFT_WIDTH/6) // number of characters on a single line with normal font
|
||||
#define TEXT_HEIGHT (TFT_HEIGHT/10) // 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 TFT_HEIGHT // 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_ARRAY_LEN 11
|
||||
#define STATUS_BAR_WIDTH (TFT_HEIGHT/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
|
||||
#endif
|
||||
|
||||
#ifndef TFT_HEIGHT
|
||||
#define TFT_HEIGHT 128
|
||||
#endif
|
||||
|
||||
#define CHAR_WIDTH 6
|
||||
#define SCREEN_WIDTH TFT_WIDTH // Originally 240
|
||||
#define SCREEN_HEIGHT TFT_HEIGHT // Originally 320
|
||||
#define HEIGHT_1 TFT_WIDTH
|
||||
#define WIDTH_1 TFT_WIDTH
|
||||
#define STANDARD_FONT_CHAR_LIMIT (TFT_WIDTH/6) // number of characters on a single line with normal font
|
||||
#define TEXT_HEIGHT (TFT_HEIGHT/10) // 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 TFT_HEIGHT // 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_ARRAY_LEN 11
|
||||
#define STATUS_BAR_WIDTH (TFT_HEIGHT/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
|
||||
#endif
|
||||
//// END DISPLAY DEFINITIONS
|
||||
|
||||
@@ -448,84 +589,56 @@
|
||||
//// END MENU DEFINITIONS
|
||||
|
||||
//// SD DEFINITIONS
|
||||
#ifdef MARAUDER_V4
|
||||
#define SD_CS 12
|
||||
#endif
|
||||
#ifdef FLIPPER_ZERO_HAT
|
||||
|
||||
#ifdef MARAUDER_V6
|
||||
#define SD_CS 12
|
||||
#endif
|
||||
#ifdef USE_FLIPPER_SD
|
||||
#define WRITE_PACKETS_SERIAL
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_KIT
|
||||
#define SD_CS 12
|
||||
#endif
|
||||
#elif defined(USE_SD)
|
||||
|
||||
#ifdef MARAUDER_MINI
|
||||
#define SD_CS 4
|
||||
#endif
|
||||
#ifdef MARAUDER_V4
|
||||
#define SD_CS 12
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_M5STICKC
|
||||
#define SD_CS 10
|
||||
#endif
|
||||
#ifdef MARAUDER_V6
|
||||
#define SD_CS 12
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
#define SD_CS 10
|
||||
#endif
|
||||
#ifdef MARAUDER_KIT
|
||||
#define SD_CS 12
|
||||
#endif
|
||||
|
||||
#ifdef ESP32_LDDB
|
||||
#define SD_CS 4
|
||||
#endif
|
||||
#ifdef MARAUDER_MINI
|
||||
#define SD_CS 4
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_DEV_BOARD_PRO
|
||||
#define SD_CS 4
|
||||
#endif
|
||||
#ifdef MARAUDER_M5STICKC
|
||||
#define SD_CS 10
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
#define SD_CS 10
|
||||
#endif
|
||||
|
||||
#ifdef ESP32_LDDB
|
||||
#define SD_CS 4
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_DEV_BOARD_PRO
|
||||
#define SD_CS 4
|
||||
#endif
|
||||
|
||||
#ifdef XIAO_ESP32_S3
|
||||
#define SD_CS 3
|
||||
#endif
|
||||
|
||||
#ifdef XIAO_ESP32_S3
|
||||
#define SD_CS 3
|
||||
// Override RX1+TX1 pins
|
||||
#define XIAO_RX1 1
|
||||
#define XIAO_TX1 2
|
||||
#endif
|
||||
//// END SD DEFINITIONS
|
||||
|
||||
//// SCREEN STUFF
|
||||
#ifdef MARAUDER_DEV_BOARD_PRO
|
||||
#define HAS_BT
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_MINI
|
||||
#define HAS_SCREEN
|
||||
#define HAS_BT
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_M5STICKC
|
||||
#define HAS_SCREEN
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_V4
|
||||
#define HAS_SCREEN
|
||||
#define HAS_BT
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_V6
|
||||
#define HAS_SCREEN
|
||||
#define HAS_BT
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_KIT
|
||||
#define HAS_SCREEN
|
||||
#define HAS_BT
|
||||
#endif
|
||||
|
||||
#ifdef GENERIC_ESP32
|
||||
#define HAS_BT
|
||||
#endif
|
||||
|
||||
#ifdef XIAO_ESP32_S3
|
||||
#define HAS_BT
|
||||
#endif
|
||||
|
||||
#ifndef HAS_SCREEN
|
||||
|
||||
#define TFT_WHITE 0
|
||||
#define TFT_CYAN 0
|
||||
#define TFT_BLUE 0
|
||||
@@ -545,17 +658,31 @@
|
||||
#include <LinkedList.h>
|
||||
#include "SPIFFS.h"
|
||||
#include "Assets.h"
|
||||
|
||||
#endif
|
||||
//// END SCREEN STUFF
|
||||
|
||||
//// NEOPIXEL STUFF
|
||||
#if defined(ESP32_LDDB)
|
||||
#define PIN 17
|
||||
#elif defined(MARAUDER_DEV_BOARD_PRO)
|
||||
#define PIN 16
|
||||
#else
|
||||
#define PIN 25
|
||||
#endif
|
||||
#ifdef HAS_NEOPIXEL_LED
|
||||
|
||||
#if defined(ESP32_LDDB)
|
||||
#define PIN 17
|
||||
#elif defined(MARAUDER_DEV_BOARD_PRO)
|
||||
#define PIN 16
|
||||
#else
|
||||
#define PIN 25
|
||||
#endif
|
||||
|
||||
#endif
|
||||
//// END NEOPIXEL STUFF
|
||||
|
||||
#endif
|
||||
//// BOARD PIN OVERRIDES
|
||||
#ifdef XIAO_ESP32_S3
|
||||
#ifdef USE_FLIPPER_SD
|
||||
#define XIAO_RX1 1
|
||||
#define XIAO_TX1 2
|
||||
#endif
|
||||
#endif
|
||||
//// END BOARD PIN OVERRIDES
|
||||
|
||||
#endif
|
||||
@@ -24,18 +24,32 @@ https://www.online-utility.org/image/convert/to/XBM
|
||||
|
||||
#include "Assets.h"
|
||||
#include "WiFiScan.h"
|
||||
#include "SDInterface.h"
|
||||
#ifdef HAS_SD
|
||||
#include "SDInterface.h"
|
||||
#endif
|
||||
#include "Web.h"
|
||||
#include "Buffer.h"
|
||||
#include "BatteryInterface.h"
|
||||
#include "TemperatureInterface.h"
|
||||
#include "LedInterface.h"
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
#include "flipperLED.h"
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
#include "xiaoLED.h"
|
||||
#else
|
||||
#include "LedInterface.h"
|
||||
#endif
|
||||
|
||||
#include "esp_interface.h"
|
||||
#include "settings.h"
|
||||
#include "CommandLine.h"
|
||||
#include "lang_var.h"
|
||||
#include "flipperLED.h"
|
||||
#include "xiaoLED.h"
|
||||
|
||||
#ifdef HAS_BATTERY
|
||||
#include "BatteryInterface.h"
|
||||
#endif
|
||||
|
||||
#ifdef HAS_TEMP_SENSOR
|
||||
#include "TemperatureInterface.h"
|
||||
#endif
|
||||
|
||||
#ifdef HAS_SCREEN
|
||||
#include "Display.h"
|
||||
@@ -65,17 +79,19 @@ https://www.online-utility.org/image/convert/to/XBM
|
||||
#endif
|
||||
|
||||
WiFiScan wifi_scan_obj;
|
||||
SDInterface sd_obj;
|
||||
Web web_obj;
|
||||
Buffer buffer_obj;
|
||||
BatteryInterface battery_obj;
|
||||
TemperatureInterface temp_obj;
|
||||
LedInterface led_obj;
|
||||
EspInterface esp_obj;
|
||||
Settings settings_obj;
|
||||
CommandLine cli_obj;
|
||||
flipperLED flipper_led;
|
||||
xiaoLED xiao_led;
|
||||
|
||||
#ifdef HAS_BATTERY
|
||||
BatteryInterface battery_obj;
|
||||
#endif
|
||||
|
||||
#ifdef HAS_TEMP_SENSOR
|
||||
TemperatureInterface temp_obj;
|
||||
#endif
|
||||
|
||||
#ifdef HAS_SCREEN
|
||||
Display display_obj;
|
||||
@@ -83,13 +99,28 @@ xiaoLED xiao_led;
|
||||
A32u4Interface a32u4_obj;
|
||||
#endif
|
||||
|
||||
#ifdef HAS_SD
|
||||
SDInterface sd_obj;
|
||||
#endif
|
||||
|
||||
#ifdef MARAUDER_M5STICKC
|
||||
AXP192 axp192_obj;
|
||||
#endif
|
||||
|
||||
const String PROGMEM version_number = MARAUDER_VERSION;
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipperLED flipper_led;
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiaoLED xiao_led;
|
||||
#else
|
||||
LedInterface led_obj;
|
||||
#endif
|
||||
|
||||
Adafruit_NeoPixel strip = Adafruit_NeoPixel(Pixels, PIN, NEO_GRB + NEO_KHZ800);
|
||||
const String PROGMEM version_number = MARAUDER_VERSION;
|
||||
const String PROGMEM board_target = MARAUDER_TARGET;
|
||||
|
||||
#ifdef HAS_NEOPIXEL_LED
|
||||
Adafruit_NeoPixel strip = Adafruit_NeoPixel(Pixels, PIN, NEO_GRB + NEO_KHZ800);
|
||||
#endif
|
||||
|
||||
uint32_t currentTime = 0;
|
||||
|
||||
@@ -141,20 +172,28 @@ void setup()
|
||||
#ifdef HAS_SCREEN
|
||||
digitalWrite(TFT_CS, HIGH);
|
||||
#endif
|
||||
|
||||
pinMode(SD_CS, OUTPUT);
|
||||
|
||||
delay(10);
|
||||
|
||||
digitalWrite(SD_CS, HIGH);
|
||||
#ifdef HAS_SD
|
||||
pinMode(SD_CS, OUTPUT);
|
||||
|
||||
delay(10);
|
||||
delay(10);
|
||||
|
||||
digitalWrite(SD_CS, HIGH);
|
||||
|
||||
delay(10);
|
||||
#endif
|
||||
|
||||
Serial.begin(115200);
|
||||
|
||||
// Starts a second serial channel to stream the captured packets
|
||||
#ifdef WRITE_PACKETS_SERIAL
|
||||
// Starts a second serial channel to stream the captured packets
|
||||
Serial1.begin(115200);
|
||||
|
||||
#ifdef XIAO_ESP32_S3
|
||||
Serial1.begin(115200, SERIAL_8N1, XIAO_RX1, XIAO_TX1);
|
||||
#else
|
||||
Serial1.begin(115200);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
//Serial.println("\n\nHello, World!\n");
|
||||
@@ -212,14 +251,6 @@ void setup()
|
||||
|
||||
settings_obj.begin();
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.RunSetup();
|
||||
#endif
|
||||
|
||||
#ifdef XIAO_ESP32_S3
|
||||
xiao_led.RunSetup();
|
||||
#endif
|
||||
|
||||
//Serial.println("This is a test Channel: " + (String)settings_obj.loadSetting<uint8_t>("Channel"));
|
||||
//if (settings_obj.loadSetting<bool>( "Force PMKID"))
|
||||
// Serial.println("This is a test Force PMKID: true");
|
||||
@@ -252,14 +283,16 @@ void setup()
|
||||
}
|
||||
#endif
|
||||
|
||||
battery_obj.RunSetup();
|
||||
|
||||
#ifdef HAS_BATTERY
|
||||
battery_obj.RunSetup();
|
||||
#endif
|
||||
|
||||
#ifdef HAS_SCREEN
|
||||
display_obj.tft.println(F(text_table0[5]));
|
||||
#endif
|
||||
|
||||
// Temperature stuff
|
||||
#ifndef MARAUDER_FLIPPER || XIAO_ESP32_S3
|
||||
#ifdef HAS_TEMP_SENSOR
|
||||
temp_obj.RunSetup();
|
||||
#endif
|
||||
|
||||
@@ -267,7 +300,7 @@ void setup()
|
||||
display_obj.tft.println(F(text_table0[6]));
|
||||
#endif
|
||||
|
||||
#ifndef MARAUDER_FLIPPER || XIAO_ESP32_S3
|
||||
#ifdef HAS_BATTERY
|
||||
battery_obj.battery_level = battery_obj.getBatteryLevel();
|
||||
|
||||
// if (battery_obj.i2c_supported) {
|
||||
@@ -278,7 +311,11 @@ void setup()
|
||||
#endif
|
||||
|
||||
// Do some LED stuff
|
||||
#ifndef MARAUDER_FLIPPER || XIAO_ESP32_S3
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.RunSetup();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.RunSetup();
|
||||
#else
|
||||
led_obj.RunSetup();
|
||||
#endif
|
||||
|
||||
@@ -341,7 +378,7 @@ void loop()
|
||||
sd_obj.main();
|
||||
#endif
|
||||
|
||||
#ifndef MARAUDER_FLIPPER || XIAO_ESP32_S3
|
||||
#ifdef HAS_BATTERY
|
||||
battery_obj.main(currentTime);
|
||||
temp_obj.main(currentTime);
|
||||
#endif
|
||||
@@ -353,9 +390,14 @@ void loop()
|
||||
#endif
|
||||
//cli_obj.main(currentTime);
|
||||
}
|
||||
#ifndef MARAUDER_FLIPPER || XIAO_ESP32_S3
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.main();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.main();
|
||||
#else
|
||||
led_obj.main(currentTime);
|
||||
#endif
|
||||
|
||||
if (wifi_scan_obj.currentScanMode == OTA_UPDATE)
|
||||
web_obj.main();
|
||||
#ifdef HAS_SCREEN
|
||||
@@ -376,9 +418,15 @@ void loop()
|
||||
display_obj.main(wifi_scan_obj.currentScanMode);
|
||||
menu_function_obj.main(currentTime);
|
||||
#endif
|
||||
#ifndef MARAUDER_FLIPPER || XIAO_ESP32_S3
|
||||
|
||||
#ifdef MARAUDER_FLIPPER
|
||||
flipper_led.main();
|
||||
#elif defined(XIAO_ESP32_S3)
|
||||
xiao_led.main();
|
||||
#else
|
||||
led_obj.main(currentTime);
|
||||
#endif
|
||||
|
||||
//cli_obj.main(currentTime);
|
||||
delay(1);
|
||||
}
|
||||
|
||||
@@ -55,3 +55,7 @@ void flipperLED::offLED() {
|
||||
digitalWrite(G_PIN, HIGH);
|
||||
digitalWrite(R_PIN, HIGH);
|
||||
}
|
||||
|
||||
void flipperLED::main() {
|
||||
// do nothing
|
||||
}
|
||||
@@ -16,6 +16,7 @@ class flipperLED {
|
||||
|
||||
public:
|
||||
void RunSetup();
|
||||
void main();
|
||||
void attackLED();
|
||||
void sniffLED();
|
||||
void offLED();
|
||||
|
||||
@@ -13,9 +13,11 @@ delay(50);
|
||||
digitalWrite(XIAO_LED_PIN, LOW);
|
||||
delay(500);
|
||||
digitalWrite(XIAO_LED_PIN, HIGH);
|
||||
delay(250);
|
||||
digitalWrite(XIAO_LED_PIN, LOW);
|
||||
delay(500);
|
||||
digitalWrite(XIAO_LED_PIN, HIGH);
|
||||
delay(250);
|
||||
digitalWrite(XIAO_LED_PIN, LOW);
|
||||
delay(500);
|
||||
digitalWrite(XIAO_LED_PIN, HIGH);
|
||||
@@ -26,7 +28,7 @@ void xiaoLED::attackLED() {
|
||||
return;
|
||||
|
||||
digitalWrite(XIAO_LED_PIN, HIGH);
|
||||
delay(10);
|
||||
delay(300);
|
||||
digitalWrite(XIAO_LED_PIN, LOW);
|
||||
}
|
||||
|
||||
@@ -35,7 +37,7 @@ void xiaoLED::sniffLED() {
|
||||
return;
|
||||
|
||||
digitalWrite(XIAO_LED_PIN, HIGH);
|
||||
delay(10);
|
||||
delay(300);
|
||||
digitalWrite(XIAO_LED_PIN, LOW);
|
||||
}
|
||||
|
||||
@@ -44,4 +46,8 @@ void xiaoLED::offLED() {
|
||||
return;
|
||||
|
||||
digitalWrite(XIAO_LED_PIN, HIGH);
|
||||
}
|
||||
|
||||
void xiaoLED::main() {
|
||||
// do nothing
|
||||
}
|
||||
@@ -14,6 +14,7 @@ class xiaoLED {
|
||||
|
||||
public:
|
||||
void RunSetup();
|
||||
void main();
|
||||
void attackLED();
|
||||
void sniffLED();
|
||||
void offLED();
|
||||
|
||||
Reference in New Issue
Block a user