Skip to content

Instantly share code, notes, and snippets.

View randrews's full-sized avatar

Ross Andrews randrews

View GitHub Profile
@randrews
randrews / rc_pwm.ino
Created February 2, 2014 08:00
Read a FULL / NONE signal from an RC airplane receiver, and control an IO pin with it
void setup(){
pinMode(4, OUTPUT);
pinMode(5, INPUT);
Serial.begin(9600);
}
void loop(){
int length = pulseIn(5, HIGH);
Serial.println(length);
if(length < 1500) digitalWrite(4, LOW); // range is about 1000-2000 microseconds
int angle = 0;
int redState = 0;
void setup() {
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
}
void loop() {
@randrews
randrews / tinysd.c
Last active August 29, 2015 14:03
Nonworking SD card code for AVR
#include <avr/io.h>
#include <util/delay.h>
// Some serial comms stuff; just using for debugging
#include "uart.h"
typedef unsigned char byte;
byte spi(byte b); // Send / receive one byte over SPI
void sd_select(int high); // Set SD CS pin high or low
# Encoding: utf-8
def find_exact str, node
if str == ""
return true
elsif !node[str[0]]
return false
else
return find_exact(str[1..-1], node[str[0]])
end
@randrews
randrews / iter.lua
Created May 16, 2015 05:19
Iterators
print("Basic for loop:\n-------------------------")
t = {'a','b','c','d','e'}
for i, v in ipairs(t) do
print(i,v)
end
--------------------------------------------------
@randrews
randrews / meta.rb
Created June 10, 2015 04:00
meta.rb
# Encoding: utf-8
# The world's worst string singularize function, because
# Strive doesn't supply active_support
class String
def singularize
if self[-1] == 's'
return self[0..-2]
else
return self
# To demo in irb:
# load 'spinner.rb' ; include Spinner ; spinner_demo
#
# To use, include this module in a class and then wrap something in with_spinner
# It has two params, both optional. See spinner_demo for usage examples.
module Spinner
def with_spinner total=nil, message="Working...", &blk
current=0
shown=buildstr(message,current,total)
importClass(Packages.java.sql.DriverManager);
importClass(Packages.java.sql.ResultSet);
// Let the classloader see it.
new Packages.com.mysql.jdbc.Driver();
var DB_BASE='kingdom';
var DB_USER='root';
var DB_PASS='';
var DB_HOST='localhost';
function monkeyRow(diff,max,op){
var a=1;
var b=a+diff;
var ret=[];
while(b<=max){
ret.push(op(a,b));
a++;
b++;
}
importClass(Packages.javax.swing.JComponent);
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.java.awt.Color);
var frame=new JFrame('Foo!');
var comp=new JComponent(){
paintComponent:function(g){
print('painted');
g.setColor(Color.RED);