This is the journal for week Y. As in “Y won’t this #*&@ code work properly?” I’m writing this as much for credit as I am for cathartic reasons.
I handled all the programming for our project, and while I “know” programming I’m hardly a programmer. I haven’t done it enough to actually get even moderately skilled at it. Much of my time is spent in the “compiler error, Google error, try 5 different things before error is solved” stage. It’s hard to feel productive in such a stage.
Unfortunately, far, far too much of that kind of time was the case for this project, especially today, in which I attempted to create specific “looks” for the lights on our jacket. Using a library provided by Adafruit I had been quickly able to throw up a few generic looks, which were fine for testing, and even for “general purpose” use while wearing the jacket. But we wanted some specific looks for the video.
It quickly became obvious that using the default library the way it was initially designed was going to be incredibly inefficient and result in huge amounts of code. It wouldn’t have been a problem if we had only one “set” of lights to program, but we had the lights broken into four segments of lights, with individual control over each segment.
I spent a fair amount of time refactoring the library code so I could get it into a framework that would better manage multiple segments. I was (and still am, to a point) proud of how I taught myself new techniques and slowly but surely whittled down the numerous compiler errors. But finally I hit one error that I just could not get past. I eventually had to give up on the refactored code and go back to the original.
But then I ran into logic errors that I just could not get past. Debouncing button pushes is a standard thing that you learn in Button Control 101. But I couldn’t get it to work (granted, I only started on it after 10 hours of other programming..). A “look” I had created kept automatically jumping into a different look, for no reason I can find. These are logic errors, not compiler errors. So I KNOW it can be done right, I just can’t do it.
So overall I have mixed feelings on the programming. I enjoyed all the work, but I’m frustrated at the problems. And I’m frustrated that I wasn’t able to show some of the really cool stuff the coat is capable of.
Perhaps, after taking a good break, I’ll return and see if I can unlock all that potential…