PineTime

From Dejvino's Knowledge Base
Revision as of 20:18, 30 August 2020 by Dejvino (talk | contribs)
Jump to navigation Jump to search

Open smartwatch from Pine64.

Hardware

TODO: Copy from the official page

Bluetooth

Time Sync

You can use 'bluetoothctl' to manually interact (connect/pair/read/write) with a bluetooth device.

# bluetoothctl
[bluetooth] power on
[bluetooth] scan on
...
[bluetooth] connect AA:BB:CC:DD:EE:FF
[PineTime] menu gatt
[PineTime] select-attribute /org/bluez/hci0/dev_AA_BB_CC_DD_EE_FF/service0015/char0016
[PineTime] write "0xe4 0x07 0x08 0x30 0x21 0x36 0x2c 0x00 0x01"
[PineTime] read

Structure of a Current Time Service packet:

          uint16_t year;
          uint8_t month;
          uint8_t dayofmonth;
          uint8_t hour;
          uint8_t minute;
          uint8_t second;
          uint8_t millis;
          uint8_t reason;

Flashing

JLinkExe without nrfjprog

#!/bin/bash
# Resources: https://www.silabs.com/community/mcu/32-bit/knowledge-base.entry.html/2014/10/22/using_jlink_commande-YYdy
#
# == Manual Steps ==
#
# (SWD mode)
# J-Link>si 1
# 
# (transfer speed)
# J-Link>speed 4000
#
# (select the PineTime CPU)
# J-Link>device NRF52832_XXAA
#
# (clear the flash)
# J-Link>erase
#
# (flash the binary image)
# J-Link>loadbin src/pinetime-app.bin
#
# (reset)
# J-Link>r
#
# (start program execution)
# J-Link>g
#

cat <<EOF | /opt/SEGGER/JLink/JLinkExe
si 1
speed 4000
device NRF52832_XXAA
erase
loadbin src/pinetime-app.bin 0x0
r
g
q
EOF

External Links