116 lines
5.0 KiB
Plaintext
116 lines
5.0 KiB
Plaintext
|
attiny88:
|
||
|
- get bootloader working
|
||
|
|
||
|
[x] test i2c comms
|
||
|
[ ] test lightsensor sensitivity setting
|
||
|
[ ] test all commands
|
||
|
|
||
|
|
||
|
stm32l100:
|
||
|
- get usb comms working, to bootload attiny88
|
||
|
- get bootloader working or documented
|
||
|
|
||
|
[x] temp calibration (201407xx)
|
||
|
[x] lcd menuing
|
||
|
[x] (20140727: mostly done, still in progress)
|
||
|
[ ] menus: add name and hex value for programs editor
|
||
|
[ ] maybe an option for names longer than 8 characters?
|
||
|
[x] bone programs
|
||
|
[x] mic circuit / adc reading
|
||
|
[x] battery voltage reading
|
||
|
[x] scaler for lights - add to print function and have some per-mode defines for scaling levels
|
||
|
do shit like right shift 7 for white in darkness mode
|
||
|
figure out a way to smoothly transition between modes, maybe do both then
|
||
|
calculate how far between switching we are to figure out a value
|
||
|
|
||
|
[x] pattern/programs menu:
|
||
|
[ ] static (runs a single program)
|
||
|
[ ] iterated (runs up to X programs sequentially after a delay)
|
||
|
[ ] random (runs up to X programs, selected randomly after a delay)
|
||
|
[ ] delay (static delay of X seconds, or random delay)
|
||
|
[ ] patterns and programs are added to iterated / random menus by type, index, and with their settings
|
||
|
|
||
|
[x] add a settings reset konami code
|
||
|
(sort of. hold menu during boot to reset to defaults, hold menu+ok to reset name too)
|
||
|
|
||
|
[/] characterize attiny led reading shit (sort of done)
|
||
|
[/] light meter: characterize? calibrate? figure out sensitivity?
|
||
|
[x] light meter: add sensitivity options to menu and / or settings?
|
||
|
[x] light meter: add auto-sensitivity?
|
||
|
|
||
|
[ ] mic: get percentage, log conversion needed?
|
||
|
[ ] mic: make calibrator
|
||
|
|
||
|
[ ] programs: make bone programs slave to the skull programs - like calling with the same settings, etc
|
||
|
[ ] programs: "load defaults" for each program (making it easier to fuck with)
|
||
|
[ ] programs: either nicer configuration, or help menus describing shit?
|
||
|
[ ] programs: make a "Run only X program" setting that runs program X, enabled or disabled,
|
||
|
for all LED sets. useful for setting up a program as a one-off.
|
||
|
Or maybe force for each one, or force all or something...
|
||
|
|
||
|
[ ] bones: implement more programs
|
||
|
|
||
|
[ ] eyes: implement more programs
|
||
|
[x] eyes: add color support for candle flicker program
|
||
|
[x] eyes: add solid color with random flashes other color program (options set how often to flash)
|
||
|
[ ] eyes: add solid plain color program (or color ramp+reset? randflash does solid color already)
|
||
|
[ ] eyes: add rainbow program
|
||
|
[ ] eyes programs: setting color to 0x010101 will load the favcolor instead
|
||
|
|
||
|
[ ] bug?: attiny shit doesn't seem to update very often. should be 4x/sec, seems more like 2. why?
|
||
|
this is for things like the tempsensor and lightsensor, I think i2c is too busy
|
||
|
can maybe fix with only-update-as-necessary LCD routines?
|
||
|
|
||
|
[x] buttons: only next and prev should repeat
|
||
|
|
||
|
[x] lcd shit: set lcd variables to all spaces on startup? (so we can use CGRAM 0x00)
|
||
|
|
||
|
[x] lightscaler: fix bug where when lightscaler is turned off, no lights work
|
||
|
(not sure but I think I fixed this)
|
||
|
|
||
|
[ ] shutdown: customizable message? or different settings (threekings, name, custom)
|
||
|
[x] shutdown: needs to tell the attiny to turn off.
|
||
|
attiny can be put into a deep shutdown mode which turns off everything
|
||
|
except for TWI (in other words, i2c).
|
||
|
done but no idea if it works.
|
||
|
|
||
|
[ ] battery: add a battery-low notifier?
|
||
|
[ ] battery: add a battery-low mode (no LEDs)?
|
||
|
|
||
|
[x] profiling: fix tim6_count shit (20140727)
|
||
|
|
||
|
[x] infopirate: make it work at least with a fucking static display
|
||
|
[x] infopirate: make a fixed static mode that can be cycled through
|
||
|
[ ] infopirate: pressing a button advances to the next display type
|
||
|
[ ] infopirate: set mode (stepped, random)
|
||
|
[ ] infopirate: set enabled / disabled views
|
||
|
[ ] infopirate: editable shit? like editable text? or only hardcoded?
|
||
|
[ ] infopirate: add battery voltage and temperature to cycle, maybe at the end?
|
||
|
|
||
|
[x] eeprom: implement settings save/restore (20140727)
|
||
|
[ ] eeprom: separate programs config from settings
|
||
|
[ ] eeprom: make programs load to RAM when editing, then save back to EEPROM when done
|
||
|
[ ] eeprom: make programs look at data in EEPROM rather than data in RAM (will save ~1K RAM)
|
||
|
|
||
|
[ ] editor: add bit-editor to hex-editor?
|
||
|
|
||
|
[ ] program sets: remove dwell time, and have a "program" manager that
|
||
|
sets programs for LEDs in sync and in X order? allows not requiring
|
||
|
duplicating programs if duplicates are necessary?
|
||
|
|
||
|
[ ] i2c: in lieu of a proper interrupt-driven I2C, maybe I could do an
|
||
|
interrupt-resuming I2C. the normal waits in use now could put
|
||
|
the CPU to sleep, and a watchdog could make sure the MCU wakes
|
||
|
up enough to detect a timeout (and maybe use SysTick to determine
|
||
|
sleep time). This would save a bit of power and would be easier
|
||
|
than a fully interrupt-driven I2C on STM32.
|
||
|
[ ] i2c: basically just improve this shit
|
||
|
|
||
|
[ ] mic: shout at badge to have it change modes or something?
|
||
|
|
||
|
|
||
|
badge overall:
|
||
|
[x] write down all actual used values (wrote part designators on bags; good enough)
|
||
|
[x] sort out used values into bag
|
||
|
|
||
|
[ ] find out why there is such high power consumption when doing nothing
|