|
|
Ahmed Mohamed homage kablamage Thursday, October 1 2015
The weather remained cloudy though temperatures had become significantly cooler. Though rain was predicted, none fell today, and the Chamomile died down to less of a torrent and more of a babbling brook, though a temporary tributary to its north continued to flood about a hundred feet of the Stick Trail to ankle depth. Wearing Crocs and no socks, this wasn't much of a obstacle, and I had no trouble salvaging 126.2 pounds of firewood from the place where I'd gathered wood the day before yesterday.
I made some important improvements to my clock code today. One essential step was to break out all the default cursor positions for each of the edit "pages" (corresponding to individual things that can be changed with the button interface) so that the cursor would have a consistent place to land after each page transition. This tended to keep the editing process from crashing when, for example, the cursor fell into an undefined section of the string array for the data being displayed. Another big improvement was to ensure that the array of characters being sent to the MAX7219 display code was terminated by a zero character (which is the normal way in C to conclude a string). It's now looking like the unusual slowness that I thought might have been defective memory in an counterfeit Atmega328 was actually a side effect of that C-string not being properly terminated.
Once I had the code working almost entirely glitch-free, I added a feature in homage to Ahmed Mohamed, the boy whose clock rehousing project somehow managed to make him the subject of law enforcement. The feature is called "explosion" and it makes a momentary explosion-like effect happen on the screen using an animated series of ASCII characters and changes in brightness. For now, the explosion is the kind one would experience during a terrorist incident in outer space, since the clock has no way to produce sound. The only way to trigger it is by issuing an "ae" command in the terminal (for "animate explosion"), but I could easily write the code to trigger it with a button press as well.
Here is the state of the code as of when I went to bed tonight: ahmed-homage-clock.ino.
For linking purposes this article's URL is: http://asecular.com/blog.php?151001 feedback previous | next |