You've already forked TEF6686_ESP32
not or it but ADD IT? THIS WAS NOT WRITTEN BY AI, THIS IS CLOWN PRODUCTION
This commit is contained in:
@@ -21,7 +21,6 @@ enum RDS_GROUPS {
|
||||
|
||||
// Fixed PI/callsign combinations for Canada
|
||||
static const uint16_t fixedPI[] = {0x4C10, 0x4C11, 0x4C12};
|
||||
static const char* fixedCalls[] = {"CBLA", "CBFM", "CBOT"};
|
||||
|
||||
static const char* const PTY_EU[] {
|
||||
"None",
|
||||
@@ -433,11 +432,9 @@ const DABFrequencyLabel DABfrequencyTable[] = {
|
||||
{1490624, "LW"}
|
||||
};
|
||||
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
typedef struct _rds_ {
|
||||
byte region;
|
||||
byte stationTypeCode;
|
||||
byte PTY;
|
||||
String stationName;
|
||||
String stationText;
|
||||
String stationText32;
|
||||
@@ -480,7 +477,7 @@ typedef struct _rds_ {
|
||||
bool hasLongPS;
|
||||
bool hasRT;
|
||||
bool hasEnhancedRT;
|
||||
bool hasTP;
|
||||
bool TP;
|
||||
bool hasTA;
|
||||
bool hasEON;
|
||||
bool hasAID;
|
||||
@@ -490,7 +487,7 @@ typedef struct _rds_ {
|
||||
bool hasPTYN;
|
||||
bool rtAB;
|
||||
bool rtAB32;
|
||||
bool hasRDSplus;
|
||||
bool hasRTplus;
|
||||
bool filter;
|
||||
bool rdsreset;
|
||||
bool pierrors;
|
||||
@@ -590,7 +587,7 @@ class TEF6686 {
|
||||
uint8_t af_counter;
|
||||
uint8_t eon_counter;
|
||||
uint8_t logbook_counter;
|
||||
uint8_t rdsblock;
|
||||
uint8_t rdsgroup;
|
||||
unsigned long processed_rdsblocks;
|
||||
bool mute;
|
||||
bool afmethodB;
|
||||
|
||||
@@ -8,15 +8,15 @@
|
||||
* GNU General Public License v3.0 licence, all text here must be included in any redistribution and you should receive a copy of the license file.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WC_AP_HTML
|
||||
#define WC_AP_HTML ///< Define to stop re-inclusion
|
||||
/*! \def char AP_HTTP_HEAD[] PROGMEM
|
||||
Start of HTML output
|
||||
*/
|
||||
const char AP_HTTP_HEAD[] PROGMEM = "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\"/><title>{v}</title>";
|
||||
/*! \def AP_HTTP_STYLE[] PROGMEM
|
||||
Style for our access point
|
||||
/*! \def AP_HTTP_STYLE[] PROGMEM
|
||||
Style for our access point
|
||||
*/
|
||||
const char AP_HTTP_STYLE[] PROGMEM = "<style type=\"text/css\">h1 { font-weight: normal; } .msgbox { font-size:1.2rem; line-height: 1.8em; padding: 0.5em; background-color: #ddffff; border-left: 6px solid #ccc; margin-bottom:1em; } .c{text-align:center}div,input{padding:5px;font-size:1em}input{width:95%;margin-top:5px;margin-bottom:10px}body{text-align:center;font-family:verdana;}button{border:0;border-radius:.3rem;background-color:#1fa3ec;color:#fff;line-height:2.6rem;font-size:1.2rem;width:100%}.q{float:right;width:64px;text-align:right}.l{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAALVBMVEX///8EBwfBwsLw8PAzNjaCg4NTVVUjJiZDRUUUFxdiZGSho6OSk5Pg4eFydHTCjaf3AAAAZElEQVQ4je2NSw7AIAhEBamKn97/uMXEGBvozkWb9C2Zx4xzWykBhFAeYp9gkLyZE0zIMno9n4g19hmdY39scwqVkOXaxph0ZCXQcqxSpgQpONa59wkRDOL93eAXvimwlbPbwwVAegLS1HGfZAAAAABJRU5ErkJggg==) no-repeat left center;background-size:1em;}.cfail,.cok{text-align:center; font-size:1.2rem; line-height: 2em; margin-top: 1em; padding: 0.7em; display:none;} .cfail{color: #FFFFFF;background-color: #ff8433;} .cok{ background-color: #6aff33;}</style>";
|
||||
/** Scripts for our page */
|
||||
@@ -40,18 +40,18 @@ const char AP_HTTP_SCAN_LINK[] PROGMEM = "<br/><div class=\"c\"><a href=\"
|
||||
// https://esprima.org/demo/validate.html
|
||||
// https://javascript-minifier.com/
|
||||
|
||||
/* Use JavaScript to ping the ESP periodically @ the AP IP address.
|
||||
* If it comes back as an AP again then we know the connection to the WiFi didn't work.
|
||||
/* Use JavaScript to ping the ESP periodically @ the AP IP address.
|
||||
* If it comes back as an AP again then we know the connection to the WiFi didn't work.
|
||||
* We wait about 30 seconds to determine this outcome. This isn't 100% foolproof, but should be good enough.
|
||||
*/
|
||||
/*
|
||||
<script type="text/javascript">
|
||||
function doPing() {
|
||||
function doPing() {
|
||||
//if ( timeout_count > 20 ) {
|
||||
if ( attempt_count > 20 ) { // wait about a minute
|
||||
window.clearInterval(myPinger), document.getElementById("conn_ok").style.display = "block"
|
||||
}
|
||||
|
||||
|
||||
var o = new XMLHttpRequest;
|
||||
o.onload = function() {
|
||||
console.log(this.responseText), document.getElementById("conn_fail").style.display = "block", window.clearInterval(myPinger)
|
||||
@@ -59,7 +59,7 @@ function doPing() {
|
||||
console.log("Timeout Counter is: " + timeout_count++)
|
||||
}, o.open("GET", "/foo"), o.timeout = 1000, o.send(null), console.log("Ping counter is: " + attempt_count++)
|
||||
}
|
||||
|
||||
|
||||
attempt_count = 0;
|
||||
timeout_count = 0;
|
||||
var myPinger = window.setInterval(doPing, 3000);
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wunused-variable"
|
||||
#define VERSION "v2.20.5b"
|
||||
|
||||
#define VERSION "v2.20.5"
|
||||
|
||||
#define ON 1
|
||||
#define OFF 0
|
||||
#define REVERSE false
|
||||
|
||||
#define ALEFT -1
|
||||
@@ -362,13 +357,6 @@
|
||||
#endif
|
||||
// End of EEPROM index defines
|
||||
|
||||
static const char* const unitString[] = {"dBμV", "dBf", "dBm"};
|
||||
static const char* const FreqFont[] = {"Classic", "Roubenstil", "Motoya", "Aura2", "Modern"};
|
||||
static const char* const Theme[] = {"Essence", "Cyan", "Crimson", "Monochrome", "Volcano", "Dendro", "Sakura", "Whiteout", "Tangerine", "Ocean", "Indigo", "Queer", "GoldBrite", "Bubblegum"};
|
||||
static const char* const Skin[] = {"Essential"};
|
||||
static const char* BWButtonLabelsFM[] = {"56 kHz", "64 kHz", "72 kHz", "84 kHz", "97 kHz", "114 kHz", "133 kHz", "151 kHz", "168 kHz", "184 kHz", "200 kHz", "217 kHz", "236 kHz", "254 kHz", "287 kHz", "311 kHz", "Auto", "iMS", "EQ"};
|
||||
static const char* BWButtonLabelsAM[] = {"3 kHz", "4 kHz", "6 kHz", "8 kHz"};
|
||||
|
||||
// Memory channel database
|
||||
typedef struct {
|
||||
byte bw;
|
||||
@@ -383,24 +371,21 @@ enum LONGBANDBUTTONPRESS {
|
||||
STANDBY = 0, SCREENOFF
|
||||
};
|
||||
|
||||
enum menupage {INDEX, MAINSETTINGS, AUDIOSETTINGS, DISPLAYSETTINGS, RDSSETTINGS, FMSETTINGS, AMSETTINGS, CONNECTIVITY, DXMODE, AUTOMEM
|
||||
};
|
||||
enum menupage {INDEX, MAINSETTINGS, AUDIOSETTINGS, DISPLAYSETTINGS, RDSSETTINGS, FMSETTINGS, AMSETTINGS, CONNECTIVITY, DXMODE, AUTOMEM};
|
||||
|
||||
enum AUTOMEMPIMODES {
|
||||
MEMPI_OFF = 0, MEMPI_RANGE, MEMPI_FULL
|
||||
};
|
||||
|
||||
enum SCAN_CANCEL {
|
||||
SCAN_CANCEL = OFF, CORRECTPI, SIGNAL
|
||||
SCAN_CANCEL = 0, CORRECTPI, SIGNAL
|
||||
};
|
||||
|
||||
// FM band: before BAND_GAP; AM band: after BAND_GAP
|
||||
enum RADIO_BAND {
|
||||
BAND_OIRT = 0, BAND_FM, BAND_GAP, BAND_LW, BAND_MW, BAND_SW, BAND_AIR
|
||||
};
|
||||
|
||||
#ifndef HAS_AIR_BAND
|
||||
// Toggle: LW -> MW -> SW
|
||||
enum RADIO_AM_BAND_SELECTION {
|
||||
AM_BAND_ALL = 0, AM_BAND_LW_MW, AM_BAND_LW_SW, AM_BAND_MW_SW,
|
||||
AM_BAND_LW, AM_BAND_MW, AM_BAND_SW, AM_BAND_NONE,
|
||||
@@ -417,9 +402,8 @@ enum RADIO_AM_BAND_SELECTION {
|
||||
AM_BAND_LW, AM_BAND_MW, AM_BAND_SW, AM_BAND_AIR, AM_BAND_NONE,
|
||||
AM_BAND_CNT
|
||||
};
|
||||
#endif /* end of HAS_AIR_BAND */
|
||||
#endif
|
||||
|
||||
// Toggle: OIRT -> FM
|
||||
enum RADIO_FM_BAND_SELECTION {
|
||||
FM_BAND_ALL = 0, FM_BAND_OIRT, FM_BAND_FM, FM_BAND_NONE,
|
||||
FM_BAND_CNT
|
||||
@@ -792,6 +776,4 @@ static const uint16_t openradiologo[] PROGMEM = {
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbdf7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x39c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42e6, 0x76ef, 0xa6cf, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7ecf, 0x5be9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x3186, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9492, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5367, 0x76ef, 0x9e6e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x1962, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31a6, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x4228, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad75, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x94b2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2183, 0x5be8, 0x76ef, 0x95ed, 0x9e8f, 0xa6ef, 0xa730, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa730, 0xa6f0, 0x9e8f, 0x962e, 0x76ef, 0x76ef, 0x3aa5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4208, 0xd6ba, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd6ba, 0x2965, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
};
|
||||
|
||||
#pragma GCC diagnostic pop
|
||||
};
|
||||
@@ -8,6 +8,13 @@
|
||||
#include "WiFiConnectParam.h"
|
||||
#include "menugraphics.h"
|
||||
|
||||
static const char* const unitString[] = {"dBμV", "dBf", "dBm"};
|
||||
static const char* const FreqFont[] = {"Classic", "Roubenstil", "Motoya", "Aura2", "Modern"};
|
||||
static const char* const Theme[] = {"Essence", "Cyan", "Crimson", "Monochrome", "Volcano", "Dendro", "Sakura", "Whiteout", "Tangerine", "Ocean", "Indigo", "Queer", "GoldBrite", "Bubblegum"};
|
||||
static const char* const Skin[] = {"Essential"};
|
||||
static const char* BWButtonLabelsFM[] = {"56 kHz", "64 kHz", "72 kHz", "84 kHz", "97 kHz", "114 kHz", "133 kHz", "151 kHz", "168 kHz", "184 kHz", "200 kHz", "217 kHz", "236 kHz", "254 kHz", "287 kHz", "311 kHz", "Auto", "iMS", "EQ"};
|
||||
static const char* BWButtonLabelsAM[] = {"3 kHz", "4 kHz", "6 kHz", "8 kHz"};
|
||||
|
||||
#define SMETERPIN 27
|
||||
#define CONTRASTPIN 2
|
||||
|
||||
|
||||
Reference in New Issue
Block a user