# jebbatime jebbatime is an operating system and application suite for the PineTime watch. # Build To build. * Debian Buster (10). ## Dependenices ### Debian Packages Install dependencies from Debian repos. ``` sudo apt install \ wget git build-essential libsdl2-2.0-0 python3-click python3-gi \ python3-numpy python3-pexpect python3-pil python3-pip python3-pydbus \ python3-serial unzip \ graphviz python3-recommonmark \ python3-sphinx \ python3-cairo \ python3-ecdsa \ pkg-config \ bluez \ ntpdate \ sudo \ gcc-arm-none-eabi ccache \ fonts-lobstertwo ``` ### ccache Add to `~/.bashrc`: ``` PATH=~/.local/bin:/usr/lib/ccache:$PATH ``` ### Source Source sauce. ``` git clone git@spacecruft.org:jebbatime/jebbatime.git # Or git clone https://spacecruft.org/jebbatime/jebbatime.git cd jebbatime ./scripts/jebbatime-install-deb-deps ./scripts/jebbatime-install-py-deps ``` ### Python Manually, install Python dependencies with `pip`. ``` pip3 install --user -r wasp/requirements.txt pip3 install --user freetype-py ``` ## Bullseye Debian Bullseye (11) on ppc64le wants `rustc` to build/install `pip` package `cryptography`. ``` ./scripts/jebbatime-install-deb-deps sudo apt -y install rustc ./scripts/jebbatime-install-py-deps ``` ### Submodules Some submodules are mirrored. ``` make submodules # XXX grabs some source zips make softdevice ``` ### Compile Build thang. ``` # Blow out, rinse, repeat. Should take less than a minute or so. make mrproper make clean BOARD=pinetime make submodules make all BOARD=pinetime ``` ### Fonts HOWTO add font. ``` cd tools/micropython-font-to-py ./font_to_py.py \ /usr/share/fonts/opentype/lobstertwo/LobsterTwo-Bold.otf \ --xmap 64 \ --errchar 58 \ --smallest 48 \ --largest 58 \ lobstertwobold64.py mv lobstertwobold64.py ../../wasp/fonts/ ``` # Setup This assumes two devices, the sealed watch and the open developers watch. ``` mkdir ~/.config/ cp -p config/jebbatime.conf ~/.config/ # Adjust as needed. vim ~/.config/jebbatime.conf ``` # Use Basic scripts are in `scripts/`. # Upstream ## Fork jebbatime is a lesser fork of Daniel Thompson's Wasp-os. * Same licenses. * Renamed. * Removed more than added. * Removing bits not used on Pinetime. * Removing bits not used by me. * No step counter. * No heart rate monitor. * Etc. * Not much useful added. * Nice digital face font. Battery and BLE icon removed from main app. ## Source Upstream source code: * https://github.com/daniel-thompson/wasp-os # Non-free bits XXX Appears to include non-free "5-Clause Nordic License". `:|` * https://wasp-os.readthedocs.io/en/latest/five-clause-nordic.html * https://infocenter.nordicsemi.com/index.jsp?topic=%2Fstruct_nrf52%2Fstruct%2Fnrf52_softdevices.html "A SoftDevice is a precompiled and linked binary software implementing a wireless protocol developed by Nordic Semiconductor." * Non-free code gets pulled in via this build script: `micropython/ports/nrf/drivers/bluetooth/download_ble_stack.sh` * In `micropython/ports/nrf/drivers/bluetooth/` ``` 4. This software, with or without modification, must only be used with a Nordic Semiconductor ASA integrated circuit. ```