Skip to content

Instantly share code, notes, and snippets.

> ulimit -n
256
> ulimit -n 512
> ulimit -n
512
@funkfinger
funkfinger / gist:1028804
Created June 16, 2011 06:55
AVR Makefile
DEVICE = attiny2313
#DEVICE = attiny85
CLOCK = 1000000
PROGRAMMER = -c usbtiny
#PROGRAMMER = -c dragon_hvsp -P usb
# attiny2313 doesn't like dragon_hvsp setting...
#PROGRAMMER = -c dragon_pp -P usb
OBJECTS = main.o
@funkfinger
funkfinger / sine.c
Created May 11, 2011 04:00
8-bit sine wave table
/* ripped from http://aquaticus.info/pwm-sine-wave */
uint8_t sine_wave[256] = {
0x80, 0x83, 0x86, 0x89, 0x8C, 0x90, 0x93, 0x96,
0x99, 0x9C, 0x9F, 0xA2, 0xA5, 0xA8, 0xAB, 0xAE,
0xB1, 0xB3, 0xB6, 0xB9, 0xBC, 0xBF, 0xC1, 0xC4,
0xC7, 0xC9, 0xCC, 0xCE, 0xD1, 0xD3, 0xD5, 0xD8,
0xDA, 0xDC, 0xDE, 0xE0, 0xE2, 0xE4, 0xE6, 0xE8,
0xEA, 0xEB, 0xED, 0xEF, 0xF0, 0xF1, 0xF3, 0xF4,
0xF5, 0xF6, 0xF8, 0xF9, 0xFA, 0xFA, 0xFB, 0xFC,
@funkfinger
funkfinger / main.c
Created May 4, 2011 07:23
ATTiny85 3 channel software PWM to drive RGB LED
// based largely on Atmel's AVR136: Low-Jitter Multi-Channel Software PWM Application Note:
// http://www.atmel.com/dyn/resources/prod_documents/doc8020.pdf
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#define CHMAX 3 // maximum number of PWM channels
#define PWMDEFAULT 0x00 // default PWM value at start up for all channels
@funkfinger
funkfinger / Makefile
Created April 27, 2011 02:13
My AVR ATTiny85 Makefile
DEVICE = attiny85
CLOCK = 1000000
PROGRAMMER = -c usbtiny
OBJECTS = main.o
FUSES = -U lfuse:w:0x62:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m
# generated by http://www.engbedded.com/fusecalc/
AVRDUDE = avrdude $(PROGRAMMER) -p $(DEVICE)
COMPILE = avr-gcc -Wall -Os -DF_CPU=$(CLOCK) -mmcu=$(DEVICE)
before do
# remove and grab the file extension
request.path_info.sub! %r{\.([^\./]+)$}, ''
@format=$1 || 'html'
@charset=mime_type($1) || 'text/html'
content_type @charset, :charset => 'utf-8'
end