spaceangel / cyberwatch Goto Github PK
View Code? Open in Web Editor NEWsimple OS for LillyGO T-Watch V3
Home Page: https://cyberwatch.cyberdeck.cz
License: GNU General Public License v3.0
simple OS for LillyGO T-Watch V3
Home Page: https://cyberwatch.cyberdeck.cz
License: GNU General Public License v3.0
Hi I have compilation errors. I have a clean install of VSC and I'm a complete noob :)
Compiling .pio\build\ttgo-t-watch\src\UserInterface\WatchFaces\KnightRiderComponents\KnightRiderBatteryBar.cpp.o
Compiling .pio\build\ttgo-t-watch\src\UserInterface\WatchFaces\KnightRiderComponents\KnightRiderButton.cpp.o
In file included from src\UserInterface\Apps\SettingsPanel.h:6:0,
from src\UserInterface\Apps\SettingsPanel.cpp:3:
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:15:9: error: 'std::function' has not been declared
std::function<bool(void)> isActiveFunc,
^
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:15:17: error: expected ',' or '...' before '<' token
std::function<bool(void)> isActiveFunc,
^
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:31:8: error: 'function' in namespace 'std' does not name a template type
std::function<bool()> isActiveFunc;
^
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:32:8: error: 'function' in namespace 'std' does not name a template type
std::function<void()> handleTouchFunc;
^
In file included from src\UserInterface\Apps\SettingsPanel.cpp:3:0:
src\UserInterface\Apps\SettingsPanel.h: In constructor 'SettingsPanel::SettingsPanel()':
src\UserInterface\Apps\SettingsPanel.h:24:4: error: no matching function for call to 'SettingsPanelButton::SettingsPanelButton(const char [8], int, int, SettingsPanel::SettingsPanel()::<lambda()>, SettingsPanel::SettingsPanel()::<lambda()>)'
);
^
In file included from src\UserInterface\Apps\SettingsPanel.h:6:0,
from src\UserInterface\Apps\SettingsPanel.cpp:3:
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:11:3: note: candidate: SettingsPanelButton::SettingsPanelButton(char*, uint8_t, uint8_t, int)
SettingsPanelButton(
^
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:11:3: note: candidate expects 4 arguments, 5 provided
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate: constexpr SettingsPanelButton::SettingsPanelButton(const SettingsPanelButton&)
class SettingsPanelButton : public Component {
^
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate expects 1 argument, 5 provided
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate: constexpr SettingsPanelButton::SettingsPanelButton(SettingsPanelButton&&)
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate expects 1 argument, 5 provided
In file included from src\UserInterface\Apps\SettingsPanel.cpp:3:0:
src\UserInterface\Apps\SettingsPanel.h:29:4: error: no matching function for call to 'SettingsPanelButton::SettingsPanelButton(const char [5], int, int, SettingsPanel::SettingsPanel()::<lambda()>, SettingsPanel::SettingsPanel()::<lambda()>)'
);
^
In file included from src\UserInterface\Apps\SettingsPanel.h:6:0,
from src\UserInterface\Apps\SettingsPanel.cpp:3:
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:11:3: note: candidate: SettingsPanelButton::SettingsPanelButton(char*, uint8_t, uint8_t, int)
SettingsPanelButton(
^
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:11:3: note: candidate expects 4 arguments, 5 provided
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate: constexpr SettingsPanelButton::SettingsPanelButton(const SettingsPanelButton&)
class SettingsPanelButton : public Component {
^
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate expects 1 argument, 5 provided
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate: constexpr SettingsPanelButton::SettingsPanelButton(SettingsPanelButton&&)
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate expects 1 argument, 5 provided
In file included from src\UserInterface\Apps\SettingsPanel.cpp:3:0:
src\UserInterface\Apps\SettingsPanel.h:34:4: error: no matching function for call to 'SettingsPanelButton::SettingsPanelButton(const char [8], int, int, SettingsPanel::SettingsPanel()::<lambda()>, SettingsPanel::SettingsPanel()::<lambda()>)'
);
^
In file included from src\UserInterface\Apps\SettingsPanel.h:6:0,
from src\UserInterface\Apps\SettingsPanel.cpp:3:
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:11:3: note: candidate: SettingsPanelButton::SettingsPanelButton(char*, uint8_t, uint8_t, int)
SettingsPanelButton(
^
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:11:3: note: candidate expects 4 arguments, 5 provided
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate: constexpr SettingsPanelButton::SettingsPanelButton(const SettingsPanelButton&)
class SettingsPanelButton : public Component {
^
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate expects 1 argument, 5 provided
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate: constexpr SettingsPanelButton::SettingsPanelButton(SettingsPanelButton&&)
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate expects 1 argument, 5 provided
In file included from src\UserInterface\Apps\SettingsPanel.cpp:3:0:
src\UserInterface\Apps\SettingsPanel.h:35:91: error: no matching function for call to 'SettingsPanelButton::SettingsPanelButton(const char [6], int, int, SettingsPanel::SettingsPanel()::<lambda()>, SettingsPanel::SettingsPanel()::<lambda()>)'
this->buttons[3] = new SettingsPanelButton("Sound", 2, 2, {return false;}, {});
^
In file included from src\UserInterface\Apps\SettingsPanel.h:6:0,
from src\UserInterface\Apps\SettingsPanel.cpp:3:
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:11:3: note: candidate: SettingsPanelButton::SettingsPanelButton(char*, uint8_t, uint8_t, int)
SettingsPanelButton(
^
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:11:3: note: candidate expects 4 arguments, 5 provided
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate: constexpr SettingsPanelButton::SettingsPanelButton(const SettingsPanelButton&)
class SettingsPanelButton : public Component {
^
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate expects 1 argument, 5 provided
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate: constexpr SettingsPanelButton::SettingsPanelButton(SettingsPanelButton&&)
src/UserInterface/Components/MainPanel/SubComponents/SettingsPanelButton.h:7:7: note: candidate expects 1 argument, 5 provided
In file included from src\UserInterface\Components\MainPanel\SubComponents\SettingsPanelButton.cpp:3:0:
src\UserInterface\Components\MainPanel\SubComponents\SettingsPanelButton.h:15:9: error: 'std::function' has not been declared
std::function<bool(void)> isActiveFunc,
^
src\UserInterface\Components\MainPanel\SubComponents\SettingsPanelButton.h:15:17: error: expected ',' or '...' before '<' token
std::function<bool(void)> isActiveFunc,
^
src\UserInterface\Components\MainPanel\SubComponents\SettingsPanelButton.h:31:8: error: 'function' in namespace 'std' does not name a template type
std::function<bool()> isActiveFunc;
^
src\UserInterface\Components\MainPanel\SubComponents\SettingsPanelButton.h:32:8: error: 'function' in namespace 'std' does not name a template type
std::function<void()> handleTouchFunc;
^
In file included from src/UserInterface/Screens/MainScreen.h:8:0,
from src\UserInterface\Apps\AboutPanel.cpp:8:
src/UserInterface/Apps/SettingsPanel.h: In constructor 'SettingsPanel::SettingsPanel()':
src/UserInt
Thanks :)
I am curious, what is the meaning of PEKshort inside CyberWatch.cpp?
Love the cyberwatch OS btw
I love the cyberwatch interface, however my watch is always set to a DateTime from 2019.
I've looked through the code to make a contribution that grabs the DateTime from the compiling computer and set the RTC appropriately but have not managed to figure it out.
How have you managed to set your correct time/date so far?
Thanks
Hi,
Fresh install on x86 Linux Ubuntu 20.04.1 LTS, of Platformio and VS Code. Cloned this repo, imported the project (and folder), and compiled it with ESP32 toolchain.
Fails to compile with following errors
In file included from src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.cpp:3:0:
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.h:17:9: error: 'std::function' has not been declared
std::function<uint8_t()> getter,
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.h:17:17: error: expected ',' or '...' before '<' token
std::function<uint8_t()> getter,
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.h:34:8: error: 'function' in namespace 'std' does not name a template type
std::function<uint8_t()> getter;
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.h:35:8: error: 'function' in namespace 'std' does not name a template type
std::function<void(uint8_t)> setter;
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.h: In constructor 'AlarmSettingsTimeSpinner::AlarmSettingsTimeSpinner(uint8_t, uint8_t, int)':
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.h:21:10: error: 'class AlarmSettingsTimeSpinner' has no member named 'getter'
this->getter = getter;
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.h:21:19: error: 'getter' was not declared in this scope
this->getter = getter;
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.h:22:10: error: 'class AlarmSettingsTimeSpinner' has no member named 'setter'
this->setter = setter;
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.h:22:19: error: 'setter' was not declared in this scope
this->setter = setter;
^
src/Apps/Alarm/AlarmListener.cpp: In member function 'virtual void AlarmListener::handle()':
src/Apps/Alarm/AlarmListener.cpp:28:33: warning: statement has no effect [-Wunused-value]
if (dayInWeek == 0) {dayInWeek == 6;}
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.cpp: In member function 'virtual void AlarmSettingsTimeSpinner::render()':
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.cpp:20:60: error: 'class AlarmSettingsTimeSpinner' has no member named 'getter'
(void)snprintf(valueStr, sizeof(valueStr), "%02d", this->getter());
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.cpp: In member function 'virtual bool AlarmSettingsTimeSpinner::handleTouch(uint8_t, uint8_t)':
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.cpp:40:13: error: 'class AlarmSettingsTimeSpinner' has no member named 'getter'
if (this->getter() == 0) {
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.cpp:41:10: error: 'class AlarmSettingsTimeSpinner' has no member named 'setter'
this->setter(this->maxValue);
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.cpp:43:10: error: 'class AlarmSettingsTimeSpinner' has no member named 'setter'
this->setter(this->getter() - 1);
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.cpp:43:23: error: 'class AlarmSettingsTimeSpinner' has no member named 'getter'
this->setter(this->getter() - 1);
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.cpp:52:13: error: 'class AlarmSettingsTimeSpinner' has no member named 'getter'
if (this->getter() == this->maxValue) {
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.cpp:53:10: error: 'class AlarmSettingsTimeSpinner' has no member named 'setter'
this->setter(0);
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.cpp:55:10: error: 'class AlarmSettingsTimeSpinner' has no member named 'setter'
this->setter(this->getter() + 1);
^
src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.cpp:55:23: error: 'class AlarmSettingsTimeSpinner' has no member named 'getter'
this->setter(this->getter() + 1);
^
*** [.pio/build/ttgo-t-watch/src/Apps/Alarm/Components/Settings/AlarmSettingsTimeSpinner.cpp.o] Error 1
src/Apps/Alarm/Components/AlarmDisplay.cpp: In member function 'virtual void AlarmDisplay::render()':
src/Apps/Alarm/Components/AlarmDisplay.cpp:56:63: warning: 'prevX' may be used uninitialized in this function [-Wmaybe-uninitialized]
prevX += 4 + TTGOClass::getWatch()->tft->textWidth(days[i]);
^
The watch gets in a continuous boot loop. After the "cyberWatch starting" message on Serial Monitor the watch reboots with serial monitor message "guru meditation error: core 1 panic'ed (cache disabled but cached memory region accessed)".
See full message below:
cyberWatch starting
Guru Meditation Error: Core 1 panic'ed (Cache disabled but cached memory region accessed)
Core 1 register dump:
PC : 0x400d4a4c PS : 0x00060034 A0 : 0x80082018 A1 : 0x3ffbff40
A2 : 0x3ffbdcf0 A3 : 0x20000000 A4 : 0x00000400 A5 : 0x3ffb19a0
A6 : 0x00000000 A7 : 0x3ffb19dc A8 : 0x80081419 A9 : 0x00000000
A10 : 0x00000000 A11 : 0x3ffb1b20 A12 : 0x00000000 A13 : 0x3ffb1980
A14 : 0x00000000 A15 : 0x00000005 SAR : 0x0000001d EXCCAUSE: 0x00000007
EXCVADDR: 0x00000000 LBEG : 0x4008cabc LEND : 0x4008cad8 LCOUNT : 0x00000000
Core 1 was running in ISR context:
EPC1 : 0x4009589f EPC2 : 0x00000000 EPC3 : 0x00000000 EPC4 : 0x400d4a4c
ELF file SHA256: 0000000000000000
Backtrace: 0x400d4a4c:0x3ffbff40 0x40082015:0x3ffbff60 0x4008a809:0x3ffbff80 0x4009589c:0x3ffb1a00 0x400960b9:0x3ffb1a20 0x4008b70c:0x3ffb1a40 0x40154137:0x3ffb1ab0 0x40122d1e:0x3ffb1ae0 0x40122f3a:0x3ffb1b10 0x401243d7:0x3ffb1b40 0x40125db9:0x3ffb1b80 0x401227d6:0x3ffb1bc0 0x40121580:0x3ffb1bf0 0x40145f71:0x3ffb1c50 0x4000bcc5:0x3ffb1c70 0x4017a579:0x3ffb1c90 0x40175e90:0x3ffb1cb0 0x400d9072:0x3ffb1d30 0x400d19b6:0x3ffb1d60 0x400d1c4f:0x3ffb1df0 0x400d1c6b:0x3ffb1e10 0x400d167f:0x3ffb1e30 0x4017df75:0x3ffb1e70 0x400d4199:0x3ffb1e90 0x400d41a5:0x3ffb1ec0 0x400d44a2:0x3ffb1ef0 0x400d4730:0x3ffb1f50 0x4017df23:0x3ffb1f70 0x400d8b45:0x3ffb1f90 0x400e2c59:0x3ffb1fb0 0x4008fcde:0x3ffb1fd0
Rebooting...
cyberWatch starting
Any idea what could cause this problem?
Is it possible to use this code with the t-watch 2020v2?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.