woodward.org - a site mostly about computer stuff


Microstamp11 GNU-C Runtime

Once upon a time I was looking for a microcontroller I could program using gcc. One that was on a board with an edge connector that I could easily power with a wall wart. One that had a serial port I could hook up to communicate with. One that had ram and an eeprom I could program without an external programmer. I found the Microstamp11, GNU-C binaries ready to go, and then I wrote this little runtime for it that sports the following features:

- Runs in 192 bytes of RAM
- Compiles straight with no board support package required.
- Interrupt dispatch to C with context preservation
- Tiny serial I/O
- High Precision Sleep() and GetKernelTime() functions
- Stack Overflow detection
- Command line shell with inbuilt commands:
     types - report runtime C type sizes
     stack - displays stack and memory section usage stats
     uptime - reports system uptime in seconds and milliseconds


   Download the GPL'd Microstamp 11 GNU-C Runtime source code.

Panasonic Plasma Serial Control with Sony IR decode

Once I had the GNU-C runtime for the Microstamp11 written, it was time to embark on a real project. Building on top of the runtime, I added interrupt driven Sony IR key decode and Panasonic Plasma serial command and macro dispatch. This code has been running my TV set for 2 years now with no problems. The Sony IR decoding handles multiple devices and code-sets. In my solution I chose to map Sony Laserdisc IR commands (since I don't own a Sony Laserdisc player) to Panasonic macro sequences.

The hardware consists of a 38 Khz IR receiver module connected directly to the HC11's TIC1 pin on the Microstamp11 for IR reception and a ComStamp232 for serial output.

   Download the GPL'd Panasonic Control Program source code.