Skip to content

Instantly share code, notes, and snippets.

@projectgus
projectgus / rp2-semihosting-when-cdc-closed.patch
Created October 26, 2022 06:26
MicroPython patch to output stdout to semihosting whenever USB-CDC is closed
View rp2-semihosting-when-cdc-closed.patch
diff --git a/ports/rp2/CMakeLists.txt b/ports/rp2/CMakeLists.txt
index 8c8119e06..98c3de93d 100644
--- a/ports/rp2/CMakeLists.txt
+++ b/ports/rp2/CMakeLists.txt
@@ -92,6 +92,7 @@ set(MICROPY_SOURCE_LIB
${MICROPY_DIR}/shared/runtime/interrupt_char.c
${MICROPY_DIR}/shared/runtime/mpirq.c
${MICROPY_DIR}/shared/runtime/pyexec.c
+ ${MICROPY_DIR}/shared/runtime/semihosting.c
${MICROPY_DIR}/shared/runtime/stdout_helpers.c
@projectgus
projectgus / logger.py
Created October 10, 2022 00:29
Quick and dirty register logger for HL100100 DC motor controller
View logger.py
#!/usr/bin/env python
# Place in same directory as https://github.com/burpen/hl200200-controller-uart-utility code
from controller import *
import serial
import struct
import time
s = serial.Serial('/dev/ttyUSB0', 19200)
def readReg(reg, mask=0xFFF):
@projectgus
projectgus / hid_device.py
Last active October 4, 2022 05:48
MicroPython report-only HID debug Proof Of Concept
View hid_device.py
import machine
from micropython import const
_CONTROL_STAGE_IDLE = const(0)
_CONTROL_STAGE_SETUP = const(1)
_CONTROL_STAGE_DATA = const(2)
_CONTROL_STAGE_ACK = const(3)
_PACKET_SIZE = const(64)
@projectgus
projectgus / context.md
Last active November 10, 2022 07:43
Basic examples of MicroPython LoRa modem driver use
@projectgus
projectgus / check_csv.py
Created September 24, 2021 06:49
Quick script to check no CAN messages were dropped - see https://github.com/hardbyte/python-can/pull/1127
View check_csv.py
#!/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
projectgus / link.md
Last active July 6, 2022 20:05
some python code used to explore Mitsubishi Outlander diagnostic interface
@projectgus
projectgus / net2bom.py
Last active October 17, 2018 23:38
Hacky way to get a BoM text file from a Kicad Netlist
View net2bom.py
#!/usr/bin/env python3
#
# Quick and rough KiCAD Netlist to text & CSV BoM file converter
#
# Usage: net2bom.py <project.net>
#
# 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 <angus@espressif.com>
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
projectgus / kicad-regrid.py
Created December 14, 2015 05:24
kicad-regrid: Script to quantize a KiCAD eeschema schematic back onto a standard grid
View kicad-regrid.py
#!/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 kicad-regrid.py <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
projectgus / i3-shell.sh
Last active February 17, 2020 13:38 — forked from viking/i3-shell.sh
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)
View i3-shell.sh
#!/bin/bash
# i3 thread: https://faq.i3wm.org/question/150/how-to-launch-a-terminal-from-here/?answer=152#post-id-152
CMD=sakura
CWD=''
# Get window ID
ID=$(xdpyinfo | grep focus | cut -f4 -d " ")
# Get PID of process whose window this is