1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
ToyKeeper's flashlight firmware repository
==========================================
This is a collection of firmware for flashlights or torches, mostly
collected from BLF (http://budgetlightforum.com/). It's collected
here mostly for convenience, and to provide bug tracking and revision
control services for the code.
Getting Started
===============
A general overview of what you need to get going is here:
http://flashlightwiki.com/AVR_Drivers
Some useful hardware for flashing firmware:
http://www.fasttech.com/product/1002900-atmega-attiny-51-avr-isp-usbasp-usb-programmer
http://www.fasttech.com/product/1011800-40-pin-splittable-ribbon-cable-20cm
http://www.digikey.com/product-detail/en/5250/501-1311-ND/745102
To set up an attiny dev environment on Ubuntu (13.10):
sudo apt-get install flex byacc bison gcc libusb-dev libc6-dev
sudo apt-get install gcc-avr avr-libc binutils-avr
sudo apt-get install avrdude avrdude-doc
Installing attiny dev tools on UNIX systems in general:
http://www.ladyada.net/learn/avr/setup-unix.html
To build a .hex file from a .c file, in Windows:
http://budgetlightforum.com/node/29081
After wiring everything up, this tests the connection to the ATTINY13A chip:
avrdude -p t13 -c usbasp -n
(you may need to put 'sudo' in front, on UNIX systems...
or set the suid bit on the avrdude binary, which is convenient but a
potential security risk)
To test if you can flash firmware correctly, or to restore a light to something
like a default state, try flashing the NLITE driver from DrJones. It's similar
to the default nanjg / qlite firmware, but better.
./bin/flash.sh DrJones/NLITE/nlite.hex
For a quick test to make sure your tool chain works and your flashing tools
are working, try the 'hello world' program:
cd hello_world
make
make flash
If that works, you should be ready to start making changes to the code, or
flashing any of the pre-built firmwares.
|