mirror of https://github.com/sqfmi/Watchy.git
update to 1.2.3
parent
2319591449
commit
88e683931c
|
@ -1,5 +1,5 @@
|
||||||
name=Watchy
|
name=Watchy
|
||||||
version=1.2.2
|
version=1.2.3
|
||||||
author=SQFMI
|
author=SQFMI
|
||||||
maintainer=SQFMI
|
maintainer=SQFMI
|
||||||
sentence=Watchy - An Open Source E-Paper Watch by SQFMI
|
sentence=Watchy - An Open Source E-Paper Watch by SQFMI
|
||||||
|
|
|
@ -9,9 +9,26 @@ RTC_DATA_ATTR BMA423 sensor;
|
||||||
RTC_DATA_ATTR bool WIFI_CONFIGURED;
|
RTC_DATA_ATTR bool WIFI_CONFIGURED;
|
||||||
RTC_DATA_ATTR bool BLE_CONFIGURED;
|
RTC_DATA_ATTR bool BLE_CONFIGURED;
|
||||||
|
|
||||||
|
String getValue(String data, char separator, int index)
|
||||||
|
{
|
||||||
|
int found = 0;
|
||||||
|
int strIndex[] = {0, -1};
|
||||||
|
int maxIndex = data.length()-1;
|
||||||
|
|
||||||
|
for(int i=0; i<=maxIndex && found<=index; i++){
|
||||||
|
if(data.charAt(i)==separator || i==maxIndex){
|
||||||
|
found++;
|
||||||
|
strIndex[0] = strIndex[1]+1;
|
||||||
|
strIndex[1] = (i == maxIndex) ? i+1 : i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return found>index ? data.substring(strIndex[0], strIndex[1]) : "";
|
||||||
|
}
|
||||||
|
|
||||||
Watchy::Watchy(){} //constructor
|
Watchy::Watchy(){} //constructor
|
||||||
|
|
||||||
void Watchy::init(){
|
void Watchy::init(String datetime){
|
||||||
esp_sleep_wakeup_cause_t wakeup_reason;
|
esp_sleep_wakeup_cause_t wakeup_reason;
|
||||||
wakeup_reason = esp_sleep_get_wakeup_cause(); //get wake up reason
|
wakeup_reason = esp_sleep_get_wakeup_cause(); //get wake up reason
|
||||||
Wire.begin(SDA, SCL); //init i2c
|
Wire.begin(SDA, SCL); //init i2c
|
||||||
|
@ -31,7 +48,7 @@ void Watchy::init(){
|
||||||
handleButtonPress();
|
handleButtonPress();
|
||||||
break;
|
break;
|
||||||
default: //reset
|
default: //reset
|
||||||
_rtcConfig();
|
_rtcConfig(datetime);
|
||||||
_bmaConfig();
|
_bmaConfig();
|
||||||
showWatchFace(false); //full update on reset
|
showWatchFace(false); //full update on reset
|
||||||
break;
|
break;
|
||||||
|
@ -45,7 +62,21 @@ void Watchy::deepSleep(){
|
||||||
esp_deep_sleep_start();
|
esp_deep_sleep_start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Watchy::_rtcConfig(){
|
void Watchy::_rtcConfig(String datetime){
|
||||||
|
if(datetime != NULL){
|
||||||
|
const time_t FUDGE(30);//fudge factor to allow for upload time, etc. (seconds, YMMV)
|
||||||
|
tmElements_t tm;
|
||||||
|
tm.Year = getValue(datetime, ':', 0).toInt() - YEAR_OFFSET;//offset from 1970, since year is stored in uint8_t
|
||||||
|
tm.Month = getValue(datetime, ':', 1).toInt();
|
||||||
|
tm.Day = getValue(datetime, ':', 2).toInt();
|
||||||
|
tm.Hour = getValue(datetime, ':', 3).toInt();
|
||||||
|
tm.Minute = getValue(datetime, ':', 4).toInt();
|
||||||
|
tm.Second = getValue(datetime, ':', 5).toInt();
|
||||||
|
|
||||||
|
time_t t = makeTime(tm) + FUDGE;
|
||||||
|
RTC.set(t);
|
||||||
|
|
||||||
|
}
|
||||||
//https://github.com/JChristensen/DS3232RTC
|
//https://github.com/JChristensen/DS3232RTC
|
||||||
RTC.squareWave(SQWAVE_NONE); //disable square wave output
|
RTC.squareWave(SQWAVE_NONE); //disable square wave output
|
||||||
//RTC.set(compileTime()); //set RTC time to compile time
|
//RTC.set(compileTime()); //set RTC time to compile time
|
||||||
|
@ -588,7 +619,6 @@ void Watchy::_bmaConfig(){
|
||||||
remap_data.y_axis_sign = 0xFF;
|
remap_data.y_axis_sign = 0xFF;
|
||||||
remap_data.z_axis = 2;
|
remap_data.z_axis = 2;
|
||||||
remap_data.z_axis_sign = 0xFF;
|
remap_data.z_axis_sign = 0xFF;
|
||||||
|
|
||||||
// Need to raise the wrist function, need to set the correct axis
|
// Need to raise the wrist function, need to set the correct axis
|
||||||
sensor.setRemapAxes(&remap_data);
|
sensor.setRemapAxes(&remap_data);
|
||||||
|
|
||||||
|
@ -804,4 +834,4 @@ void Watchy::updateFWBegin(){
|
||||||
|
|
||||||
// time_t t = makeTime(tm);
|
// time_t t = makeTime(tm);
|
||||||
// return t + FUDGE; //add fudge factor to allow for compile time
|
// return t + FUDGE; //add fudge factor to allow for compile time
|
||||||
// }
|
// }
|
|
@ -26,7 +26,7 @@ class Watchy {
|
||||||
tmElements_t currentTime;
|
tmElements_t currentTime;
|
||||||
public:
|
public:
|
||||||
Watchy();
|
Watchy();
|
||||||
void init();
|
void init(String datetime = "");
|
||||||
void deepSleep();
|
void deepSleep();
|
||||||
float getBatteryVoltage();
|
float getBatteryVoltage();
|
||||||
void vibMotor(uint8_t intervalMs = 100, uint8_t length = 20);
|
void vibMotor(uint8_t intervalMs = 100, uint8_t length = 20);
|
||||||
|
@ -47,7 +47,7 @@ class Watchy {
|
||||||
virtual void drawWatchFace(); //override this method for different watch faces
|
virtual void drawWatchFace(); //override this method for different watch faces
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void _rtcConfig();
|
void _rtcConfig(String datetime);
|
||||||
void _bmaConfig();
|
void _bmaConfig();
|
||||||
static void _configModeCallback(WiFiManager *myWiFiManager);
|
static void _configModeCallback(WiFiManager *myWiFiManager);
|
||||||
static uint16_t _readRegister(uint8_t address, uint8_t reg, uint8_t *data, uint16_t len);
|
static uint16_t _readRegister(uint8_t address, uint8_t reg, uint8_t *data, uint16_t len);
|
||||||
|
|
Loading…
Reference in New Issue