Moved setclock to API
This commit is contained in:
+1
-10
@@ -124,7 +124,6 @@ byte menupagestotal = 4;
|
|||||||
byte MSold;
|
byte MSold;
|
||||||
byte optenc;
|
byte optenc;
|
||||||
byte rdsblockold;
|
byte rdsblockold;
|
||||||
byte rds_minuteold = 254;
|
|
||||||
byte region;
|
byte region;
|
||||||
byte regionold;
|
byte regionold;
|
||||||
byte rotarymode;
|
byte rotarymode;
|
||||||
@@ -3275,22 +3274,14 @@ void ShowAdvancedRDS() {
|
|||||||
MSold = radio.rds.MS;
|
MSold = radio.rds.MS;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (radio.rds.hasCT == true && radio.rds.minutes != rds_minuteold) {
|
|
||||||
int timeoffset;
|
|
||||||
if (radio.rds.offsetplusmin == true) timeoffset = (-1 * radio.rds.offset) / 2; else timeoffset = radio.rds.offset / 2;
|
|
||||||
uint16_t rdshour = radio.rds.hour + timeoffset;
|
|
||||||
rdshour = (((int)rdshour + 24) % 24);
|
|
||||||
setTime(rdshour, radio.rds.minutes, 0, 0, 0, 0);
|
|
||||||
rds_clock = ((hour() < 10 ? "0" : "") + String(hour()) + ":" + (minute() < 10 ? "0" : "") + String(minute()));
|
rds_clock = ((hour() < 10 ? "0" : "") + String(hour()) + ":" + (minute() < 10 ? "0" : "") + String(minute()));
|
||||||
|
if (radio.rds.hasCT == true && rds_clock != rds_clockold) {
|
||||||
|
|
||||||
tft.setFreeFont(FONT7);
|
tft.setFreeFont(FONT7);
|
||||||
tft.setTextColor(BackgroundColor);
|
tft.setTextColor(BackgroundColor);
|
||||||
tft.drawRightString(rds_clockold, 205, 105, GFXFF);
|
tft.drawRightString(rds_clockold, 205, 105, GFXFF);
|
||||||
if (radio.rds.hasCT == true) tft.setTextColor(SecondaryColor); else tft.setTextColor(GreyoutColor); tft.drawString("CT", 62, 45, GFXFF);
|
if (radio.rds.hasCT == true) tft.setTextColor(SecondaryColor); else tft.setTextColor(GreyoutColor); tft.drawString("CT", 62, 45, GFXFF);
|
||||||
tft.drawRightString(rds_clock, 205, 105, GFXFF);
|
tft.drawRightString(rds_clock, 205, 105, GFXFF);
|
||||||
rds_clockold = rds_clock;
|
rds_clockold = rds_clock;
|
||||||
rds_minuteold = radio.rds.minutes;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rdsblockold != radio.rdsblock) {
|
if (rdsblockold != radio.rdsblock) {
|
||||||
|
|||||||
+7
-4
@@ -1,6 +1,7 @@
|
|||||||
#include "TEF6686.h"
|
#include "TEF6686.h"
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
#include <TimeLib.h> // https://github.com/PaulStoffregen/Time
|
||||||
|
|
||||||
unsigned long rdstimer = 0;
|
unsigned long rdstimer = 0;
|
||||||
|
|
||||||
@@ -539,17 +540,19 @@ void TEF6686::readRDS(bool showrdserrors)
|
|||||||
J = J - 1461 * Y / 4 + 31;
|
J = J - 1461 * Y / 4 + 31;
|
||||||
M = 80 * (J + 0) / 2447;
|
M = 80 * (J + 0) / 2447;
|
||||||
|
|
||||||
rds.days = J - 2447 * M / 80;
|
rds.day = J - 2447 * M / 80;
|
||||||
J = M / 11;
|
J = M / 11;
|
||||||
|
|
||||||
rds.months = M + 2 - (12 * J);
|
rds.month = M + 2 - (12 * J);
|
||||||
rds.years = 100 * (C - 49) + Y + J;
|
rds.year = 100 * (C - 49) + Y + J;
|
||||||
rds.hour = ((rds.rdsD >> 12) & 0x0f);
|
rds.hour = ((rds.rdsD >> 12) & 0x0f);
|
||||||
rds.hour += ((rds.rdsC << 4) & 0x0010);
|
rds.hour += ((rds.rdsC << 4) & 0x0010);
|
||||||
rds.minutes = (rds.rdsD >> 6) & 0x3f;
|
rds.minute = (rds.rdsD >> 6) & 0x3f;
|
||||||
rds.offsetplusmin = bitRead(rds.rdsD, 5);
|
rds.offsetplusmin = bitRead(rds.rdsD, 5);
|
||||||
rds.offset = (rds.rdsD & 0x3f);
|
rds.offset = (rds.rdsD & 0x3f);
|
||||||
rds.hasCT = true;
|
rds.hasCT = true;
|
||||||
|
setTime(rds.hour, rds.minute, 0, rds.day, rds.month, rds.year);
|
||||||
|
adjustTime((((rds.offsetplusmin ? -rds.offset : rds.offset) / 2) * 3600));
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -107,7 +107,7 @@ typedef struct _rds_ {
|
|||||||
String PTYN;
|
String PTYN;
|
||||||
char stationType[18];
|
char stationType[18];
|
||||||
char picode[6];
|
char picode[6];
|
||||||
uint16_t hour, minutes, days, months, years, offsetplusmin, rdsA, rdsB, rdsC, rdsD, rdsErr;
|
uint16_t hour, minutes, day, month, year, offsetplusmin, rdsA, rdsB, rdsC, rdsD, rdsErr;
|
||||||
int8_t offset;
|
int8_t offset;
|
||||||
unsigned int ECC;
|
unsigned int ECC;
|
||||||
unsigned int LIC;
|
unsigned int LIC;
|
||||||
|
|||||||
Reference in New Issue
Block a user