Skip to content

atellier2/open-smartwatch-os

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HowTo Run

Please read the documentation on the website!

Prerequirements

  • install Platformio Core or Platformio IDE (which installes Pio core automatically)
  • For improved LUA Script support, see env:pico32_LIGHT_EDITION_PREBUILD_LUA: install SWIG (also available in most package managers, e.g. brew install swig)
  • Then clone this repository
git clone --recurse-submodules https://github.com/Open-Smartwatch/open-smartwatch-os.git

build (Visual Studio Code)

Open the cloned repo in VSCode

code open-smartwatch-os

and rename file include/config.h.example to include/config.h and adapt the values according to your requirements and press f5 to build it.

build (CLI)

You can instead go to the repo folder with your terminal and run

pio run -e pico32_LIGHT_EDITION -t upload

respectively

pio run -e pico32_GPS_EDITION -t upload

depending on the watch model.

Creating Screen Shots of your Apps

analog analog

  • Wifi needs to be able to connect for this to work.
  • you will need bash and imagemagick for the helper scripts to work

The raw screenserver runs in the background and prints via serial:

Started Raw ScreenServer
http://<IP_OF_WATCH>:8080/screen.raw

HowTo

  • add -D RAW_SCREEN_SERVER to your build flags in `platformio.ini``
  • build + flash + reset watch
  • wait for the server to be started (see msg above)
  • run bash fetchScreen.sh <IP_OF_WATCH> screenshot.png
  • run bash composeScreen.sh screenshot.png screenshot_composed.png

The fetchScreen.sh downloads the raw image buffer from the running screen server, and converts the image to png. The composeScreen.sh creates the image with a surrounding smartwatch (light edition).

Troubleshooting

Arduino_TFT.h: No such file or directory

You did not clone the repository with the --recursive-submodules flag.

'LANG_STW_START' was not declared in this scope

You did not rename include/config.h.example

Failed to connect to ESP32: Timed out waiting for packet header

You did not hold down BTN1(FLASH) and then tap the RESET button on the watch whilst platform.io was trying to connect.

About

The Open-Smartwatch Operating System.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 86.9%
  • HTML 5.8%
  • C 2.7%
  • Python 2.1%
  • Lua 1.1%
  • SWIG 1.0%
  • Shell 0.4%