Saturday, May 6, 2017

Brilliant

Another minimalist show with my two Elation dimmer packs and a $100 American DJ lighting board. One of the specials is the clip light from my work bench with a 75W halogen spot in it. It's like that. My main problem with the show is having to run the board myself, which adds another 10 hours to an already crowded week. Work was busy enough I came in on what was going to be a day off.



The calf muscle is healed enough to attempt the gym again. And I somehow found time for a checkout class on a more powerful laser cutter, and cut some more Holocron parts (on May the 4th, of course. How appropriate). So I'm pretty tired and needed the weekend.

I was worried about the 1.3 revision of the Holocron lighting circuit until I tracked the problem down to the USB detector loop I'd added. After omitting that one resistor from the board it passes all tests flawlessly.



Totally sensible, then, to stop everything while I work on the software. Cue wasting most of Saturday staring at pages of code trying to make sense of them, instead of putting Holocrons in boxes to ship out to my customers.

What is unexpected is I actually got it working. I have the usual scheme of a resistor ladder connected to a bunch of tiny buttons, so an analogRead() with the right constraints will detect which button is being depressed. The fun part, though, was working up a set of EEPROM.write() and .read() lines.

And it all works. Even the detect-on-startup. How it works is this; in setup() the code reads the value for one of the variables off the EEPROM. That variable is loaded once and only once by testing for a flag also written into EEPROM.

If the INC and DEC user buttons are pressed the variable is increased or decreased, and if SEL is pressed the new value is written back into EEPROM so the new value for the variable will be set each time the circuit boots.

As a last trick, if the user holds down SEL during the boot process, the software loads the "factory" value back into the variable.

This has all taken about a third of my remaining program memory, though (the Neopixel libraries are PRAM hogs), so the number of user variables I can make accessible is limited. Fortunately, the one I really need for this project is the ability to tweak the sensitivity of the capacitance sensor (a variable known as midiclorianCount).



My last laser session I spent mostly tweaking two of the parts sets, making them fit tighter and look nicer. The next big task that isn't putting finished kits in boxes, though, is to draft up a new vector engraved layer for a variation many of my customers have been calling for; what I've been calling the Kanan Jarrus holocron, as shown in Star Wars Rebels.


So the nightmare is almost over. One or two more shows, another 20 holocrons to laser out and ship, and I'll be able to concentrate on my day job, working on new creative stuff, and getting some sleep.

Oh, yes, and getting more practice time in on my 1967 Roth-adjusted E.R. Pfretzschner Model 301.

No comments:

Post a Comment