Skip to content

Instantly share code, notes, and snippets.

View cwoodall's full-sized avatar
✈️

Christopher Woodall cwoodall

✈️
View GitHub Profile
@cwoodall
cwoodall / gist:f3180028cf689f1359da177faea782f4
Created November 4, 2020 00:49
Linker command being run debugging orangecrab
riscv64-unknown-elf-gcc -o build-orangecrab/firmware.elf -DCFG_TUD_TASK_QUEUE_SZ=32 -march=rv32im -mabi=ilp32 -DORANGECRAB -I./boards/orangecrab/generated -DCIRCUITPY_FULL_BUILD=1 -DCIRCUITPY_AESIO=0 -DCIRCUITPY_ANALOGIO=0 -DCIRCUITPY_AUDIOBUSIO=0 -DCIRCUITPY_AUDIOIO=0 -DCIRCUITPY_AUDIOPWMIO=0 -DCIRCUITPY_AUDIOCORE=0 -DCIRCUITPY_AUDIOMIXER=0 -DCIRCUITPY_AUDIOMP3=0 -DCIRCUITPY_BITBANGIO=0 -DCIRCUITPY_BLEIO=0 -DCIRCUITPY_BOARD=0 -DCIRCUITPY_BUSIO=0 -DCIRCUITPY_DIGITALIO=1 -DCIRCUITPY_COUNTIO=0 -DCIRCUITPY_DISPLAYIO=0 -DCIRCUITPY_FRAMEBUFFERIO=0 -DCIRCUITPY_VECTORIO=0 -DCIRCUITPY_FREQUENCYIO=0 -DCIRCUITPY_GAMEPAD=1 -DCIRCUITPY_GAMEPADSHIFT=0 -DCIRCUITPY_GNSS=0 -DCIRCUITPY_I2CPERIPHERAL=0 -DCIRCUITPY_MATH=1 -DCIRCUITPY__EVE=0 -DCIRCUITPY_MICROCONTROLLER=1 -DCIRCUITPY_NEOPIXEL_WRITE=0 -DCIRCUITPY_NETWORK=0 -DCIRCUITPY_NVM=0 -DCIRCUITPY_OS=1 -DCIRCUITPY_PIXELBUF=1 -DCIRCUITPY_RGBMATRIX=0 -DCIRCUITPY_PULSEIO=1 -DCIRCUITPY_PS2IO=0 -DCIRCUITPY_RANDOM=1 -DCIRCUITPY_ROTARYIO=0 -DCIRCUITPY_RTC=0 -DCIRCUITPY_SAMD=0 -DCIRC
@cwoodall
cwoodall / make_gif.sh
Created December 24, 2016 03:12
A little script for generating compressed gifs using ffmpeg from a video file (webm, or mp4)
#!/bin/bash
ORIG_DIR=`pwd`
FRAME_DIR="/tmp/gif-frames"
LOSSY=80
FPS=5
LOOP=0
SCALE=.5
COLORS=128
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
#!/bin/bash
# credit to olibre from stackoverflow (http://stackoverflow.com/questions/1861382/convert-png-to-svg)
File_png="${1?:Usage: $0 file.png}"
if [[ ! -s "$File_png" ]]; then
echo >&2 "The first argument ($File_png)"
echo >&2 "must be a file having a size greater than zero"
( set -x ; ls -s "$File_png" )
@cwoodall
cwoodall / bash_prompt.sh
Created December 20, 2016 03:17
My New Bash Prompt with Git Status
green() {
printf "\e[32m${1}\e[00m"
}
light_red() {
printf "\e[91m${1}\e[00m"
}
radioactive="\u2622"
check_mark="\u2714"
@cwoodall
cwoodall / gist:5c1db855d896d4476111f273f2f631ea
Created June 24, 2016 21:59
Intersting C++ embedded process runner
#include <iostream>
#include <stdint.h>
using namespace std;
template <uint32_t f>
bool ProcessTask(void);
template <uint32_t f>
uint32_t RunProcess(uint32_t start) {
@cwoodall
cwoodall / gist:7952754
Last active December 31, 2015 07:18
Extract data from data_file which is a "binary string". Returns it in the format (Data[31 downto 8], Data[7 downto 0]) which is technically data, ADC channel... Created this after talking to Dean DeCarli.
import struct
from itertools import izip_longest
def grouper(n, iterable, fillvalue=None):
"grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx... From stackoverflow"
args = [iter(iterable)] * n
return izip_longest(fillvalue=fillvalue, *args)
# Extract data from data_file which is a "binary string". Returns it in the format (Data[31 downto 8], Data[7 downto 0])
# which is technically data, ADC channel
@cwoodall
cwoodall / cw_fixed_point.py
Created June 28, 2012 13:50
Unsigned Fixed Point... With a little bit of work can work for signed, will convert to signed for large numbers if you try to convert to float or string... Not much interest in fixing, because it works for my little 16 bit numbers (and masks down to your
class UFixedPoint(object):
def __init__(self, num, m, n):
self.mask = 2**(m + n) - 1
self.k = (1 << (n - 1))
self.m = m
self.n = n
temp = int(num * 2**self.n)
self.value = temp & self.mask
@cwoodall
cwoodall / toggle_led_w_switch.sh
Created June 9, 2012 22:48
Toggle LED with a switch
#!/bin/sh
echo "25" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio25/direction
echo "24" > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio24/direction
OUTPUT="0"
INPUT="$(cat /sys/class/gpio/gpio24/value)"
@cwoodall
cwoodall / toggle_led.sh
Created June 9, 2012 22:13
TOGGLE AN LED ON RASPBERRY PI
#!/bin/sh
## TOGGLE LED on a RASPBERRY PI
# Christopher Woodall and Thomas Nadovich
# June 9, 2012
#
# Some reference material: http://elinux.org/RPi_Low-level_peripherals
# Done using the special made image of Debian Squeeze for the Raspberry Pi
# MUST BE ROOT:
# precede with `su -` if you trust me