Flashlight Firmware Repository

Okay, I’m terrible at keeping up with my todo list. I’m putting it out in public in hopes that more of it will get done, faster. Help is welcome but not expected; I’m putting it here more for my own accoutability. :slight_smile:

I’m not sure if this is a good place for it or if perhaps I should track each of these as bugs on Launchpad. The bug tracker there is very nice, and works well as a task list.

  • Figure out an easy way for people to build these projects in Windows. Template WinAVR project or something, I don’t know. Help would be very appreciated.
  • Make periodic full-repository .zip releases, maybe, to make things easier for people who don’t have bzr?
  • Pull in pd68’s tripledown code.
  • Test LVP in tripledown.
  • Pull in mk2’s code.
  • Pull in guardior’s sharkdrv and possibly other code.
  • Update alexvh’s code.
  • Finish merging some of Tom E’s code (PM thread), which I started but never finished.
  • Pull in chouster’s code.
  • Pull in 3-channel version of blf-a6, and investigate pd68’s other two requests at the same link.
  • Pull in CK’s code?
  • Document Mike C’s awesome trick for putting multiple functions on a single pin.
  • Check the license in each project and tag it in the project’s “meta” file.
  • Test LVP in each project and tag working ones with “LVP” in the project’s “meta” file.
  • Describe each project in more detail in the “meta” files, and copy the summaries into a project list in this thread.
  • Add homepage / URL info to each project’s “meta” file.
  • Investigate, measure, and document ultra-low-power sleep modes. (Crux’s posts here and here, ideas here and here and here)
  • Investigate brownout detection behavior in more detail to determine its actual effects.
  • Test how long the MCU can run after power is disconnected, in its absolute lowest-power mode.
  • Document how to make firmwares work on zener-modded drivers.
  • Document the exact components used on popular drivers.
  • Check if _delay_5ms() is worth using.
  • On super-fast strobes, try using digital pin state instead of PWM, for more fine-grained timing control. (60Hz strobe looks erratic)
  • Check if TheStar has any updates.
  • Make BLF-A6 (and tk-otc.c) easier to convert to single-channel.
  • Make Bistro easier to convert to single-channel.
  • Attempt to write a more robust code base for e-switch (and maybe dual-switch) drivers, using a state change table to define the interface.
  • X6R-compatible firmware.
  • Test the fancy lighted tailcap code and merge it into trunk after it’s verified.
  • Make blf-a6 and bistro and related tools more zener-friendly. For example, voltage_blinks uses a 3.5-bit voltage value but needs to be 4.4 to allow voltages higher than 7.9V.
  • Pull in Tom E’s latest Narsil code. (done 2016-03-22)

Looking at this list, I’m thinking it might be best to actually track each as a separate bug on Launchpad. It’s a mess in the form of a simple list.