Skip to content

Instantly share code, notes, and snippets.

Alasdair Allan aallan

View GitHub Profile
@aallan
aallan / widget.js
Created Dec 5, 2019
Additional code to add widgets into a Bangle.js application when using the Web IDE. Needs to be included at the top of your code.
View widget.js
var WIDGETPOS={tl:32,tr:g.getWidth()-32,bl:32,br:g.getWidth()-32};
var WIDGETS={};
function drawWidgets() { for (var w of WIDGETS) w.draw(); }
require("Storage").list().filter(a=>a[0]=='=').forEach(widget=>eval(require("Storage").read(widget)));
setTimeout(drawWidgets,100);
@aallan
aallan / simpleclock.js
Last active Dec 5, 2019
A simple clock app for the Bangle.js JavaScript-powered smart watch.
View simpleclock.js
// drawWidgets() is added by bootloader.js when loading a clock app, but when you upload via the IDE it just
// resets the watch and skips out running bootloader.js completely. So add the relevant code from the bootloader.
var WIDGETPOS={tl:32,tr:g.getWidth()-32,bl:32,br:g.getWidth()-32};
var WIDGETS={};
function drawWidgets() { for (var w of WIDGETS) w.draw(); }
require("Storage").list().filter(a=>a[0]=='=').forEach(
widget=>eval(require("Storage").read(widget)));
setTimeout(drawWidgets,100);
@aallan
aallan / creditCard.swift
Created Oct 29, 2019
Luhn algorithm implemented in Swift
View creditCard.swift
let creditCardNumbers = [
4964149475059987,
4898620401632387,
4393958570449195,
4751492711160905,
4437340772573099,
]
let valid = creditCardNumbers.filter
{ number in
@aallan
aallan / analog.ino
Last active Sep 2, 2019
Testing the analogRead() function on the SAMD21 micro-controller
View analog.ino
#define Debug Serial
float average = 0.0;
float total = 0.0;
int count = 0;
void setup() {
analogReadResolution(12);
pinMode(A0, INPUT);
Debug.begin(9600);
@aallan
aallan / cooling.py
Last active Jan 25, 2020
Toggle a cooling fan on and off to keep the Raspberry Pi between 70 and 75C
View cooling.py
#!/usr/bin/env python3
import sys
import os
import time
import vcgencmd as vc
from gpiozero import OutputDevice
def main():
fan = OutputDevice(18)
@aallan
aallan / measure.py
Last active Jul 7, 2019
Measuring the CPU temperature and clock speed of the Raspberry Pi once a second and logging it to a file.
View measure.py
#!/usr/bin/env python3
import sys
import os
import time
import vcgencmd as vc
def main():
start_time = time.time()
fb = open("/home/pi/readings.txt","a+")
@aallan
aallan / benchmark_xnor.py
Created May 23, 2019
Benchmarking script for the Xnor Platform SDK on the Raspberry Pi
View benchmark_xnor.py
#!/usr/bin/env python3
import sys
import os
import logging as log
import argparse
import subprocess
from timeit import default_timer as timer
from PIL import Image
@aallan
aallan / benchmark_tf_lite.py
Created May 8, 2019
benchmarking script for TensorFlow Lite on the Raspberry Pi
View benchmark_tf_lite.py
#!/usr/bin/env python3
import tensorflow as tf
import sys
import os
import logging as log
import argparse
import subprocess
from timeit import default_timer as timer
@aallan
aallan / benchmark_edgetpu.py
Last active Aug 14, 2019
Benchmarking script for TensorFlow Lite on EdgeTPU-based hardware
View benchmark_edgetpu.py
#!/usr/bin/env python3
import platform
PLATFORM = platform.system().lower()
GOOGLE = 'edge_tpu'
INTEL = 'ncs2'
NVIDIA = 'jetson_nano'
PI = 'raspberry_pi'
IS_LINUX = (PLATFORM == 'linux')
@aallan
aallan / benchmark_intel_ncs.py
Created Apr 26, 2019
Benchmarking script for OpenVINO IR inferencing with the Intel Neural Compute Stick
View benchmark_intel_ncs.py
#!/usr/bin/env python3
import platform
PLATFORM = platform.system().lower()
GOOGLE = 'edge_tpu'
INTEL = 'ncs2'
NVIDIA = 'jetson_nano'
PI = 'raspberry_pi'
IS_LINUX = (PLATFORM == 'linux')
You can’t perform that action at this time.