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 / mpcadet.py
Last active August 24, 2020 14:58
Monoprice Cadet Wifi-only Upload Script in Python
# MonoPrice Cadet script for uploading .gcode files
# and listing the contents of the SD card
#
# Usage: python mpcadet.py 192.168.1.X
#
# Uploads the local CADET.gcode file in the same directory
# as your script to the device and then kicks off a build.
#
# A limited number of GCODE commands seem possible:
# https://marlinfw.org/docs/gcode/M023.html
// Type output by wasm-bindgen to the .d.ts bindings. No JS code is generated, just type definitions
export type ControllerCommand =
| { "Keypress": { key_code: number, meta_key: boolean, shift_key: boolean, alt_key: boolean, } }
| { "Button": { button: number, } }
| { "Character": { char_code: number, } }
| { "InsertText": { text: string, } }
| { "RenameGroup": { tag: string, curspan: any, } }
| { "Cursor": { focus: any, anchor: any, } }
| { "RandomTarget": { position: number, } }
@tcr
tcr / sprite
Created July 9, 2018 06:10
8bitworkshop.com {"platform":"vcs"}
processor 6502
include "vcs.h"
include "macro.h"
org $f000
; Sprites are a tricky beast on the 2600.
; You only have two of them.
; They are 8 bits wide and 1 bit high.
; There's no way to position the X or Y coordinate directly.
#![allow(unused)]
extern crate ron;
extern crate serde;
#[macro_use] extern crate serde_derive;
extern crate serde_with;
use serde::{Deserialize, Serialize, Serializer, Deserializer};
#[derive(Serialize, Deserialize)]
@tcr
tcr / rouille_with_juniper.rs
Created May 3, 2018 04:01
rouille_with_juniper.rs
#!/usr/bin/env run-cargo-script
//! ```cargo
//! [dependencies]
//! juniper = "*"
//! rouille = "*"
//! serde_json = "*"
//! serde = "*"
//! ```
#[macro_use] extern crate rouille;
make an itunes backup
Go to `~/Library/Application Support/MobileSync/Backup`
Find the backup id folder
Look up `Manifest.db` in that dir to identify Files row with `relativePath=Library/SpringBoard/IconState.plist` and its `fileID`
in the `<backup_id>/<first two digits>/<that hash>` file, run
// Declare your union variants
// Easy to name variant contructors + define tags in one place
function Age(age: number) {
return { tag: 'Age' as 'Age', age }
}
function Name(name: string) {
return { tag: 'Name' as 'Name', name }
}
processor 6502
include "vcs.h"
include "macro.h"
include "xmacro.h"
seg.u Variables
org $80
Temp byte
LoopCount byte
@tcr
tcr / gist:879012973b1e2122d321a45429ac360f
Last active September 21, 2016 18:59
Hacky tessel-rust deployment on T2

Run this somewhere:

wget https://s3.amazonaws.com/builds.tessel.io/t2/OpenWRT+SDK/OpenWrt-SDK-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Darwin-x86_64.tar.bz2
tar -xf OpenWrt-SDK-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Darwin-x86_64.tar.bz2

Change into that directory. Run mkdir -p ~/tessel/sdk/darwin/, then run cp -rf OpenWrt-SDK*/staging_dir/* ~/tessel/sdk/darwin/.

Save this as /usr/local/bin/t2-run-rust:

@tcr
tcr / t2-fix-windows.md
Last active August 19, 2016 10:54
Fix for Tessel 2 on Windows