Blinkenlights plus

Ok, so it’s a far cry from a preamp controller board, but I got a simple character-based LCD hooked up to the AVR and managed to display some (shockingly original) text (not actually that difficult once you understand the principles). Also note the ’80s HP inkjet printer stand. The final preamp controller will probably use a . . . → Read More: Blinkenlights plus

11 Programmer Time Wasters

…that could have easily been avoided (note: compiler warnings are friends. They are not food) and would have saved me lots and lots of (compile) time. Working on somebody else’s codebase is always an adventure, but if these three points had been followed, my week in C++ would have been much less painful.
Clumsy array template declaration

Now . . . → Read More: 11 Programmer Time Wasters

Old Skool

As expected, “hello world” on the Atmel board was basically just a bunch o’blinking LEDs, although it’s still debatable whether the end result will be a K.I.T.T. or a Cylon. It’s been a very long time since I’ve written anything in assembler, and I had pretty much forgotten just how fiddly it can be, but writing . . . → Read More: Old Skool

Layers of Abstraction

AVR Studio running on Windows XP within VMWare Fusion on a MacBook Pro connected to an STK500 with an ATS908515¬†through a USB/serial adapter… that’s a long way from the development IDE to the target. I think the included gcc compiler¬†(please bring your PIN number to the ATM machine with the LCD display in the department of . . . → Read More: Layers of Abstraction

Reading the fine print(f)

While using a custom logging function, I always wondered why gcc wouldn’t complain when parameters didn’t match the format string. An eagle-eyed colleague actually found almost every single mismatch during a code review, but I was certain that there was a flag to enable these checks, and there it was: -Wformat. The only problem was, it . . . → Read More: Reading the fine print(f)