Wire the UART pins to the CH341A:
TX = SDA
RX = SCL
Power on camera and immediately start snander
within a few milliseconds:
sudo ./snander -i
for REMOTE_BRANCH in $(git branch -r | grep origin); do echo "$REMOTE_BRANCH"; git log $REMOTE_BRANCH --format='%ci|%an|%s' | grep -F -x -v -f ../"${PWD##*/}".csv >> ../"${PWD##*/}".csv; done |
Basic Manual for DaFit Fitness Tracker firmware update protocol, works for nearly any nRF52832 tracker from Company DaFit | |
The minimum size of update file is 0x10000(can be filled with garbage to get to size) and the maximum size is 0x2F000 | |
the update will first get stored onto the external flash at position 0x3D1000 by the stock firmware(not by the bootloader) | |
the size of the update will get stored at 0x3D0000 on external flash with 4 bytes uint32_t | |
when bootloader gets activated it will copy the update from external flash to 0x23000 of the nRF52 internal flash. | |
Connect to device, |
List with Compatible devices: | |
Look under About on the watch for the device Id. | |
looks something like this: | |
MOY-TEH5-1.7.7 | |
the middle section is the interesting part, if that is in this list here | |
it has the compatible bootloader and the same pinout as pinetime for Display and External Flash |
<?php | |
class 💩💩💩💩 | |
{ | |
function 💩💩💩($😎, $🐯) | |
{ | |
return $😎 + $🐯; | |
} | |
} | |
$🐔 = 3; |
$ sudo ubuntu-drivers autoinstall | |
$ lspci | |
00:00.0 Host bridge: Intel Corporation Device 4601 (rev 04) | |
00:02.0 VGA compatible controller: Intel Corporation Device 46a8 (rev 0c) | |
00:04.0 Signal processing controller: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant (rev 04) | |
00:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 04) | |
00:06.2 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #2 (rev 04) | |
00:08.0 System peripheral: Intel Corporation 12th Gen Core Processor Gaussian & Neural Accelerator (rev 04) | |
00:0d.0 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 USB Controller (rev 04) | |
00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01) |
#!/bin/bash | |
set -euo pipefail | |
IFS=$'\n\t' | |
# Ubuntu 20/22 dev Server | |
# Run like (without sudo) - bash install_lamp.sh | |
# Script should auto terminate on errors | |
export DEBIAN_FRONTEND=noninteractive |
/** | |
* This is too show the use of waiting for a jquery selector in the browser | |
* using promises. Much like how webdriverio works from outside the browser. | |
* | |
* Tested with jQuery v1.11.3 and chrome Version 48.0.* (64-bit) | |
**/ | |
/** | |
* Wait for a jquery css selector |
#!/usr/bin/env python | |
#fileencoding: utf-8 | |
#Author: Stain & Liu <knsaxena01@gmail.com & liudongmiao@gmail.com> | |
#Created : 17 Oct 2010 11:19:58 AM CST | |
#Modified : 15 Sep 2017 10:12:42 PM CST | |
import os | |
import sys | |
import mmap | |
import json |
//return an array of objects according to key, value, or key and value matching | |
function getObjects(obj, key, val) { | |
var objects = []; | |
for (var i in obj) { | |
if (!obj.hasOwnProperty(i)) continue; | |
if (typeof obj[i] == 'object') { | |
objects = objects.concat(getObjects(obj[i], key, val)); | |
} else | |
//if key matches and value matches or if key matches and value is not passed (eliminating the case where key matches but passed value does not) | |
if (i == key && obj[i] == val || i == key && val == '') { // |