My Arduino software.

SoftTimer - Easy to use timer objects library.
Uses software timing with millis(), no hardware timer needed.
Far better than peppering millis() everywhere.
Optionally prints switch events (for development).
Tested with Arduino IDE 1.6.10.

PushButton - Buttons/switches + rotary encoders library.
De-bouncing, functions that return an event only once a button is pushed,
long button presses. Simple rotary encoder handling.
Uses polling, requires no hardware timer (but one could be used).
Tested with Arduino IDE 1.6.10.

EEsettings - Run-time settings in EEPROM.
Store run-time configuration settings in EEPROM.
Load default values if EEPROM checksum is bad.
Tested with Arduino IDE 1.6.12.

RTC_DS3232 - Real-Time Clock library.
Supports DS3231, DS3232, DS3234.
Tested with Arduino IDE 1.6.12.

PrintExt - Fixed-width integer (hex, bin) formatting with streaming support.
2-, 4-, 8-digit fixed-width hex numbers, 8-,16-,32-digit fixed-width binary
numbers. Print flash-memory strings.
Tested with Arduino IDE 1.6.12.

night-light-PIR - Automatic night light
Motion detector, turn light on/off slowly, lots of settings that can be changed
at run-time and stored in non-volatile memory.

MemoryFree - Get free bytes of RAM.
Works with Arduino 0.22+ and 1.0.

lis3lv02 - Handle an ST LIS3LV02DL 3-axis accelerometer.
Complete with extensive documentation (PDF, HTML, man).
Works with Arduino 0.22+ and 1.0. Fully tested.
Should also work on a PIC32 Arduino.
Note this chip is 3.3V max, 5V will let the smoke out!

SRAM23K256 - Access Microchip 23K256 SRAM (static RAM).
Good for temporary data storage.
Needs an update for Arduino 1.0.
Note this chip is 3.3V max, 5V will let the smoke out!

Makefile-Arduino - Makefile for building/uploading Arduino programs.
Build and upload Arduino programs that use the Arduino core, and any number of
Arduino and any number of other libraries.
Runs inside the Arduino sketch directory.
Works for Arduino 0.22/0.23 and 1.0.
I am in the process of updating it for 1.6.x, which need significant changes,
and splitting it into a static and project-specific part.

udev rules
Give each of your Arduinos its own device node for programming,
like /dev/ttyUSB_XYZ, and never mix them up again.
(Note: Perfect with FTDI, doesn't work with lousy chips like CH340G.)

More to come.

Feel free to send me comments and suggestions!

Icon  Name                                  Last modified      Size  Description
[DIR] Parent Directory - [DIR] archive/ 23-Sep-2016 21:57 - Old releases [DIR] patch/ 21-Oct-2013 11:47 - Patches [DIR] spec/ 21-Oct-2013 11:47 - Spec files for rpm [DIR] tools/ 23-Oct-2013 16:56 - Tools useful for AVR projects [TXT] 97-avr-ftdi.rules 18-Oct-2013 11:03 6.1K udev rules [   ] lis3lv02-1.4.1.tar.lzma 15-Jan-2012 15:37 870K Library: ST LIS3LV02DL 3-axis accelerometer [   ] Makefile-Arduino-v1.8 20-Oct-2013 21:14 31K Makefile for Arduino projects [Compressed] MemoryFree-1.3.tar.gz 29-Dec-2011 14:06 1.9K Library: Get amount of free RAM [   ] night-light-PIR-1.8_dist-nodoc.tar.xz 26-Sep-2016 13:09 54K Automatic night light (code only) [   ] night-light-PIR-1.8_dist.tar.xz 26-Sep-2016 13:09 1.6M Automatic night light (with documentation) [   ] PrintExt-2.1_dist.tar.xz 04-Oct-2016 17:16 317K [   ] PushButton-1.6_dist-nodoc.tar.xz 18-Sep-2016 20:41 29K Library: Buttons/switches + rotary encoders [   ] RTC_DS3232-2.0_dist.tar.xz 03-Oct-2016 19:43 609K [   ] SoftTimer-1.4_dist.tar.xz 14-Sep-2016 14:26 446K Library: Easy to use timer objects [Compressed] SRAM23K256-1.1.tar.gz 08-Jan-2011 16:48 4.0K Library: Microchip 23K256 SPI SRAM
Apache/2.2.29 (Linux/SUSE) Server at Port 80