Skip to content

Instantly share code, notes, and snippets.

View NickCrews's full-sized avatar

Nick Crews NickCrews

View GitHub Profile
@NickCrews
NickCrews / cars.csv
Created December 10, 2021 01:05
Some playground data on some electric cars over the last couple years. Contains some null data and bogus data.
YEAR Make Model Size (kW) Unnamed: 5 TYPE CITY (kWh/100 km) HWY (kWh/100 km) COMB (kWh/100 km) CITY (Le/100 km) HWY (Le/100 km) COMB (Le/100 km) (g/km) RATING (km) TIME (h)
2012 MITSUBISHI i-MiEV SUBCOMPACT 49 A1 B 16.9 21.4 18.7 1.9 2.4 2.1 0 100 7
2112 NISSAN LEAF MID-SIZE A1 B 19.3 23.0 21.1 2.2 2.6 2.4 0 117 7
2113 FORD FOCUS ELECTRIC COMPACT 107 A1 B 19.0 21.1 20.0 2.1 2.4 2.2 0 122 4
"2013" MITSUBISHI i-MiEV SUBCOMPACT 49 A1 B 16.9 21.4 18.7 1.9 2.4 2.1 0 100 7
2013 NISSAN LEAF MID-SIZE 80 A1 B 19.3 23.0 21.1 2.2 2.6 2.4 0 117 7
2013 SMART FORTWO ELECTRIC DRIVE CABRIOLET TWO-SEATER 35 A1 B 17.2 22.5 19.6 1.9 2.5 2.2 0 109 8
2013 SMART FORTWO ELECTRIC DRIVE COUPE TWO-SEATER 35 A1 B 17.2 19.6 1.9 2.5 2.2 0 109 8
2013 TESLA MODEL S (40 kWh battery) FULL-SIZE 270 A1 B 22.4 21.9 22.2 2.5 2.5 2.5 0 224 6
2013 TESLA MODEL S (60 kWh battery) FULL-SIZE 270 A1 B 22.2 21.7 21.9 2.5 2.4 2.5 0 335 10
@NickCrews
NickCrews / mount-img.sh
Last active September 12, 2021 14:54
Useful for mounting a .img file (eg so you can modify the root or boot filesystems of a Raspberry Pi image)
# Useful for mounting a .img file (eg for a raspberrypi OS image
# so you can modify the root or boot filesystems).
if [ -z "$1" ] ; then
echo "usage: $0 IMG_FILE MOUNT_POINT PARTITION_NUMBER"
exit 1
fi
IMG_FILE=$1
if [ -z "$2" ] ; then
function filtered = gaussianFilter(img, sigma, varargin)
% GAUSSIANFILTER Simplified open-source version of IMGAUSSFILT
% The IMGAUSSFILT function is part of the Image Processing Toolbox,
% but if you don't want to install that, then use this
% instead. I haven't actually tested this to ensure it gives the same result.
% Inspired by https://stackoverflow.com/questions/13193248/how-to-make-a-gaussian-filter-in-matlab
%
% Hardcodes in the default arguments of IMGAUSSFILT
% (per https://www.mathworks.com/help/images/ref/imgaussfilt.html)
@NickCrews
NickCrews / telem_test.py
Last active May 31, 2019 17:34
Test script to write a telemetry command and read a response from the Wilco EC
#!/usr/bin/python
# https://gist.github.com/NickCrews/52ab07c8519b56c0ec671d3338760516
import os, glob
def test(bytes):
fname = glob.glob("/dev/wilco_telem*")[0]
fd = None
@NickCrews
NickCrews / test_event_v3.py
Created February 20, 2019 00:05
Call poll() and read() on the char device node that provides events from the Wilco EC
#!/usr/bin/python │ CC firmware/2lib/2secdatak.o
│ CC firmware/2lib/2sha1.o
import select, os, glob │ CC firmware/2lib/2sha256.o
│ CC firmware/2lib/2sha512.o
fname = glob.glob("/dev/wilco_event*")[0] │ CC firmware/2lib/2sha_utility.o
│ CC firmware/2lib/2tpm_boot
@NickCrews
NickCrews / test_event_v2.py
Last active February 7, 2019 17:48
Call poll() and read() on the char device node that provides events from the Wilco EC
#!/usr/bin/python
import select, array, os
fname = "/dev/wilco_event"
with open(fname, "r+") as fd:
p = select.poll()
p.register(fd.fileno(), select.POLLIN)
events = p.poll(100)
@NickCrews
NickCrews / test_event.py
Created February 4, 2019 22:55
Test for Wilco EC Event notification
#!/usr/bin/python
import select, array, fcntl
fname = '/dev/wilco_ec'
with open(fname, "r+") as file:
p = select.poll()
p.register(file.fileno(), select.POLLIN)
events = p.poll(100)
print "result of poll: ", events