Skip to content

Instantly share code, notes, and snippets.

projectgus /
Created Sep 24, 2021
Quick script to check no CAN messages were dropped - see
#!/usr/bin/env python
import csv
import base64
import re
import struct
last_counter = [None, None]
lines = 0
with open("spammer.txt") as f:
projectgus /
Last active Jul 29, 2021
some python code used to explore Mitsubishi Outlander diagnostic interface
# A Python module to help explore diagnostic interfaces, read and erase DTCs on
# Mitsubishi Outlander
# SPDX-License-Identifier: MIT OR Apache-2.0
# SPDX-FileCopyrightText: 2021 Angus Gratton
# Uses and Python 3.6+
# This isn't an executable script, it's designed for interactive use. i.e:
projectgus /
Last active Oct 17, 2018
Hacky way to get a BoM text file from a Kicad Netlist
#!/usr/bin/env python3
# Quick and rough KiCAD Netlist to text & CSV BoM file converter
# Usage: <>
# Outputs:
# - project_bom.txt
# - project_bom.csv
# - project_bom_grouped.csv (has all of same value/footprint grouped on the same line)
View 0001-WIP-allow-first-128KB-of-DRAM-to-be-allocated-static.patch
From bd3a676daae9c94afda2720d2e023312cf2d019d Mon Sep 17 00:00:00 2001
From: Angus Gratton <>
Date: Tue, 11 Jul 2017 17:59:02 +0800
Subject: [PATCH] WIP allow first 128KB of DRAM to be allocated statically
- Moves stacks to end of RAM
- Doesn't yet provide a way to block out this RAM from heap
components/bootloader/src/main/bootloader_jump.S | 55 ++++++++++++++++++++++
components/bootloader/src/main/bootloader_start.c | 23 +++++----
projectgus /
Created Dec 14, 2015
kicad-regrid: Script to quantize a KiCAD eeschema schematic back onto a standard grid
#!/usr/bin/env python3
# Hacky script to quantize a KiCAD eeschema file back onto a standard grid
# Useful if someone somehow moved some components off grid and you want to clean it up.
# Usage is <schematic file>
# Outputs <schematic file>-regrid.sch. I recommend NOT OPENING the regrid file directly in KiCAD as it assumes a new project
# with that name exists, and you'll probably get a bunch of errors. Just rename it over the original schematic
projectgus /
Last active Feb 17, 2020 — forked from viking/
Bash script for i3 to run a terminal in the same working directory as the current focused application (patched for sakura which has a thread as last process in pstree output)
# i3 thread:
# Get window ID
ID=$(xdpyinfo | grep focus | cut -f4 -d " ")
# Get PID of process whose window this is
projectgus / esp8266.def
Created Jul 2, 2015
Sample simple esp8266.def file for use with scratchabit
View esp8266.def
cpu xtensa
# Show up to this many raw bytes of code/data
show bytes 4
# Load an arbitrary esp8266 ELF file
# See example.def if you want to load raw binaries instead
load /home/gus/dev/esp/rtos/open-rtos/examples/http_get/build/http_get.out elf
# First attempt at loading BootROM binary image and symbols
View gist:b5696d651b7ff3a662d4
$ cd /sys/devices/virtual/input/lge_touch
$ cat firmware
====== Firmware Info ======
manufacturer_id = 1
product_id = TM2369
fw_version = E159
fw_image_product_id = SynaReadCo
fw_image_version = ]��
$ cat platform_data
====== Platform data ======
View 0001-XTensa-call0-ABI-Reference-register-cache.patch
From b08ec678a9e4cd3cb8d41979c4049315004a94dd Mon Sep 17 00:00:00 2001
From: Angus Gratton <>
Date: Wed, 6 May 2015 11:19:42 +1000
Subject: [PATCH] XTensa call0 ABI: Reference register cache from a0 when
Fixes bug where wrong Frame Pointer value was read during backtrace,
leading to corrupt stack traces.
gdb/xtensa-tdep.c | 7 ++++---
projectgus / winleak.c
Created Apr 28, 2015
Minimal test program for libusb leaks on Windows. Relates to
View winleak.c
/* Quick sample to demonstrate Windows device leaks from libusb_get_device_list when reusing instances */
#include <stdio.h>
#include "libusb.h"
#include <assert.h>
/* Set to zero to stop after 100 iterations, for running under drmemory/other */
const int RUN_INFINITE = 0;
static libusb_device **stored = NULL;