Skip to content

Instantly share code, notes, and snippets.

View tcr's full-sized avatar
🚮
bad command or file name

Tim Ryan tcr

🚮
bad command or file name
View GitHub Profile
@tcr
tcr / dist_static_lib.sh
Created February 10, 2014 05:26
Creating distributable, flattened static libraries for distribution with gyp
#!/bin/bash
set -e
cd out/ARM
node -e "console.log('CREATE ' + process.argv[1]); console.log('ADDLIB', 'obj/lib' + process.argv.slice(2).join('.a\nADDLIB obj/lib') + '.a'); console.log('SAVE\nEND')" $@
node -e "console.log('CREATE ' + process.argv[1]); console.log('ADDLIB', 'obj/lib' + process.argv.slice(2).join('.a\nADDLIB obj/lib') + '.a'); console.log('SAVE\nEND')" $@ | arm-none-eabi-ar -M
@tcr
tcr / README.md
Last active August 29, 2015 14:03 — forked from kevinmehall/README.md

Setup

  1. Install OpenOCD. You need version >= 0.8.0.
  1. Acquire a configuration script for your Bus Blaster. Included in the firmware repo is tools/tessel-busblaster.cfg.

  2. Plug the JTAG cable into the Bus Blaster's adapter board and the Tessel. Pin one is towards the USB port; the cable goes over the center of the board.

  3. Run

--- hw/arm/stellaris.c.orig 2014-04-17 13:44:44.000000000 +0000
+++ hw/arm/stellaris.c 2014-04-17 13:44:44.000000000 +0000
@@ -1186,7 +1186,7 @@
{ "LM3S6965EVB",
0x10010002,
0x1073402e,
- 0x00ff007f, /* dc0 */
+ 0x0fff007f, /* dc0 */
0x001133ff,
0x030f5317,
@tcr
tcr / gist:53226a6e88a00cd42a4f
Created October 8, 2014 02:39
Uppercase/lowercase lookup tables in gcc
Cool!
@tcr
tcr / one.lua
Last active August 29, 2015 14:07
-- match regex /a*b/
print('/a*b/')
-- Lua wrapper to extract a character from a string
-- at the indexth position (starting from 0)
-- This is just a helper since Lua is 1-indexed which
-- is insane. You can just copy this out.
function charat (str, index)
return string.sub(str, index + 1, index + 1)
end
@tcr
tcr / Vagrantfile
Last active August 29, 2015 14:19
Tessel 2 VM
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.ssh.username = "root"
config.ssh.password = "tessel2"
config.ssh.shell = "ash"
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.box = "technicalmachine/tessel2"
@tcr
tcr / .gitignore
Last active August 29, 2015 14:22
Hello World for Node
node_modules
out
from __future__ import print_function
import sys
import six
from gevent import socket
from gevent.queue import Queue
from gevent.socket import wait_read
import gevent
def parse_arg(arg):
(proto, role, port) = arg.split(':')
@tcr
tcr / info.md
Last active August 29, 2015 14:26 — forked from tcr3dr/info.md
Tessel 2 FCC Approval

Tessel 2 is seeking FCC approval. Tessel 2 runs OpenWRT, a distribution of Linux designed as open firmware for routers with very granular control over wireless capabilities. Currently Tessel 2 is stuck in FCC approval pending its demonstration of being able to generate packets in the 802.11n range.

Testing instructions

Installation on a Tessel 2:

opkg update
opkg install tcpdump
wget https://kevinmehall.net/tmp/packetspammer -O /usr/bin/packetspammer
import urllib
import urllib.parse
import urllib.request
import sys
ip = input('Enter IP address: ')
path = input('Enter path to save data to (with trailing \): ')
while 1:
print('')