There are 4 seperate boards: a controller board, an RS232 interface board, an 8-button input board, and a display board. The controller board is a very simple board with a surface mount PIC16F877A, a basic voltage regulator power supply (along with a 9V 800mA wall adapter from radio shack), an ICSP header, and a number of I/O headers. The RS232 board plugs directly into the controller board and uses the PIC's internal USART to communicate with a computer. I made it a seperate board so that I could change the electrical interface in the future. The display board has 4 LEDs and a 16x2 character LCD module.
Git repository: git://jabberwocky.ca/~git/pub/deskclock.git
|clock-2009-03-29.tar.gz||This is the code that runs on the PIC. It is written in C and compiled using SDCC.|
|osc-serial-server.c||This is a simple program that receives UDP messages and forwards them directly onto the serial port. Currently it's hardcoded to send messages received over serial to 127.0.0.1:7900. I haven't even gotten around to making it a command line option yet.|
|osc-led-test.pl||A simple demo that flashes the LEDs in various different ways. It requires the Net::OpenSoundControl perl module.|
|osc-send.pl||A perl script that sends an OSC message based on the arguments given.|
|xmms2-interface.pl||A script that connects to the xmms2 server process, reads the current song name, and prints it to the LCD on the device.|
|xmms2.py||A python script that listens for button presses and controls xmms2 via the command line xmms2 program.|