GithubHelp home page GithubHelp logo

spaceangel / cyberwatch Goto Github PK

View Code? Open in Web Editor NEW
32.0 5.0 9.0 898 KB

simple OS for LillyGO T-Watch V3

Home Page: https://cyberwatch.cyberdeck.cz

License: GNU General Public License v3.0

C++ 7.43% C 92.53% Python 0.04%
arduino arduino-sketch esp32 esp32-arduino operation-systems smart-watch smartwatch ttgo twatch lilygo

cyberwatch's People

Contributors

spaceangel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cyberwatch's Issues

Errors in compilation

Hi I have compilation errors. I have a clean install of VSC and I'm a complete noob :)
image

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 :)

How to set correct time?

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

Compilation Failed

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]);
^

Continous reboots with Guru Meditation Error

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?

T watch v2

Is it possible to use this code with the t-watch 2020v2?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.