1
0
Fork 0
jebbatime/README.md

157 lines
3.2 KiB
Markdown
Raw Permalink Normal View History

2021-06-12 11:53:48 -06:00
# jebbatime
2021-06-12 17:48:41 -06:00
<img src="res/jebbatime.png"/>
2021-06-12 11:53:48 -06:00
jebbatime is an operating system and application suite for the PineTime watch.
2021-06-12 12:51:15 -06:00
# 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 \
2021-06-12 13:11:44 -06:00
python3-cairo \
2021-06-12 13:32:54 -06:00
python3-ecdsa \
2021-06-12 13:11:44 -06:00
pkg-config \
2021-06-12 14:51:08 -06:00
bluez \
2021-06-12 15:03:33 -06:00
ntpdate \
2021-06-12 15:14:59 -06:00
sudo \
2021-06-12 14:51:55 -06:00
gcc-arm-none-eabi ccache \
2021-06-12 12:51:15 -06:00
fonts-lobstertwo
```
### ccache
Add to `~/.bashrc`:
```
2021-06-15 17:09:16 -06:00
PATH=~/.local/bin:/usr/lib/ccache:$PATH
2021-06-12 12:51:15 -06:00
```
2021-06-12 13:11:44 -06:00
### Source
2021-06-12 12:51:15 -06:00
Source sauce.
```
git clone git@spacecruft.org:jebbatime/jebbatime.git
# Or
git clone https://spacecruft.org/jebbatime/jebbatime.git
2021-06-12 13:11:44 -06:00
cd jebbatime
2021-06-15 17:20:09 -06:00
./scripts/jebbatime-install-deb-deps
./scripts/jebbatime-install-py-deps
2021-06-12 13:11:44 -06:00
```
### Python
2021-06-15 17:20:09 -06:00
Manually, install Python dependencies with `pip`.
2021-06-12 13:11:44 -06:00
```
pip3 install --user -r wasp/requirements.txt
pip3 install --user freetype-py
2021-06-12 12:51:15 -06:00
```
2021-06-15 17:20:09 -06:00
## 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
```
2021-06-12 13:21:25 -06:00
### 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
2021-06-12 13:36:33 -06:00
```
### 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/
2021-06-12 13:21:25 -06:00
```
2021-06-12 14:08:19 -06:00
# Setup
This assumes two devices, the sealed watch and the open developers watch.
```
mkdir ~/.config/
2021-06-12 14:09:49 -06:00
cp -p config/jebbatime.conf ~/.config/
2021-06-12 14:08:19 -06:00
# Adjust as needed.
vim ~/.config/jebbatime.conf
```
2021-06-12 15:19:17 -06:00
# Use
Basic scripts are in `scripts/`.
2021-06-12 11:53:48 -06:00
# Upstream
## Fork
jebbatime is a lesser fork of Daniel Thompson's Wasp-os.
2021-06-14 13:04:00 -06:00
* Same licenses.
2021-06-14 11:35:24 -06:00
* 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.
2021-06-12 11:53:48 -06:00
## Source
Upstream source code:
* https://github.com/daniel-thompson/wasp-os
2021-06-14 13:04:00 -06:00
# Non-free bits
2021-06-14 11:35:24 -06:00
XXX Appears to include non-free "5-Clause Nordic License". `:|`
2021-06-12 17:13:05 -06:00
* https://wasp-os.readthedocs.io/en/latest/five-clause-nordic.html
2021-06-14 11:35:24 -06:00
2021-06-14 14:04:56 -06:00
* 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`
2021-06-14 15:04:27 -06:00
* In `micropython/ports/nrf/drivers/bluetooth/`
```
4. This software, with or without modification, must only be used with a
Nordic Semiconductor ASA integrated circuit.
```