Description |
Version |
Files |
Analog-to-Digital Peripheral Driver. Interrupt based. Rolling Average filter - size controlled by a #define. 8 channels. | 1.1 |
adc.c adc.h |
EEprom polled read / write
Driver. Block Writes Interrupt based. |
1.1 |
eeprom.c eeprom.h |
System Timers Module.
Acquire, Check and Release timers. Tick time selectable by a
#define. Max time = 0xFFFF * tick time. Timers
automatically release after 3x the maximum time. |
1.3 |
tim.c tim.h |
Timer / Counter1 Driver. Input
Capture pulse width measurement and pulse counting. PWM for
OCR A,B,C. Three selectable pwm frequencies. |
1.0 |
timer1.c timer1.h |
UART Interrupt based Driver.
Functions for communicating with a Terminal (HyperTerminal).
Print Strings, signed and unsigned numbers. |
2.0 |
uart.c uart.h |
Input Debounce Filter.
Debounce filtering can be on the rising or falling edge, or both.
Debounce time can be pin specific or Global. |
1.0 |
debounce.c debounce.h |
Watchdog Driver.
Functions for servicing "kicking" the AVR internal watchdog. |
1.0 |
watchdog.c watchdog.h |
Simple CAN bus Driver.
Functions to send and receive CAN messages. It uses two interrupt
based FIFO buffers for RX and TX.. |
1.0 |
can.c can.h can_readme.txt |
Description |
Version |
Files |
Functions for controlling a text
16x2 LCD. Architecture is state-machine based, so time is not
lost waiting for the LCD. Can be easily adapted for other
sizes of LCDs. Uses 1 full 8-bit port plus 2 extra IO
pins. Requires above Timer Module. |
1.0 |
lcd.c lcd.h |
Functions for reading from a 4x4 keypad. Architecture is state-machine based, so time is not lost waiting for button debonce filtering. Uses 1 full 8-bit port. Requires above Timer Module. Requires pull-ups on all 8 IO lines. (~10K) | 1.0 |
keypad.c keypad.h key_example.zip |
Proportional, Integral, and
Derivative Controller. #define selects between floating point
or char PID gains. Execution Time at 15.36 Mhz is 24uS for
char gains and 385uS for float gains. To learn more about PID
control, see Control
Tutorials for Matlab. |
1.1 |
pid.c pid.h |
RF Communications Module Driver
for the BiM2 or BiM3 by Radiometrix.
Uses UART and two IO pins. Encodes / Decode packets with
checksum, even 01 balance, TX and RX buffers, Interrupt
Based. Typical Baud rate of 19,200 kbps. See the header
file for a detailed description of the Packet Structure. |
1.0 |
rf.c rf.h |