Long story short… bzr (bazaar) has become brz (breezy).
Longer version: Most of bzr’s development was funded by Canonical, and the company’s entire development process was built on bzr and Launchpad. Around 2010, the company changed priorities from a community-first approach to a profit-based approach. Lots of things changed over the years, and development for Launchpad and bzr was scaled back to just a few people. They also started adding support for Git, and some of the newer developers switched to GitHub instead of using the company’s own system. In 2017, after several failed attempts at profitable projects, the company laid off most of its developers. Soon after, some of the original bzr devs then continued to work on bzr in their own time, but renamed it to brz to signal a new direction… and they were much more free to do what they wanted with it. It was a labor of love again, not tied to a company. The original bzr is effectively dead, replaced by brz.
Yeah, prioritizing the path to battcheck would mean adding a delay at each normal activation… so it seems like spending $20 to save $5.
However, there are two ways to solve it… the user could build a customized verison with “B_TIMING_ON” set to “B_TIMEOUT_T” to make it wait until inputs are fully resolved before responding. Or if a “soft start” is ever added, that might reduce the pre-flash too.
I tried adding a soft start once though, and it added a lot of complication and potential for bugs, since it didn’t react well to being interrupted. But perhaps I could try again after doing some refactoring.
all flashlights have slightly different coding? So I can’t just adjust 1 code and upload it to several Anduril lights I own, for example: Noctigon D18, Lumintop FW3A etc.
The code is structured to make the hardware details and UI details separate. If you change the UI, it generally should work on each supported device… and if you change the code for a supported device, it generally won’t affect the UI or any other devices.
For the most part, the code for each specific device is limited to only a hardware definition file (MCU pinouts, hardware features) and a UI config file (ramp shape, interface options). The rest is shared across all devices.
It’s very similar to how a regular computer works… there is an operating system and there are applications. But in this case, there’s a microkernel and a user interface… and they’re compiled into a single file to save space.
After making UI changes, it’s normally recommended to run “make”, which builds the firmware for every supported device. Then match up the .hex files with the devices you want to flash.
when I go to this overview:
https://bazaar.launchpad.net/~toykeeper/flashlight-firmware/trunk/files/head:/ToyKeeperI’m trying to download but get errors each time.
That should be resolved very soon. A bug popped up in Launchpad a couple days ago, I reported it yesterday, and a fix was committed today. So it should be in the next site update, and the updates happen frequently.
(edit: it’s fixed now)