/gadgets

Client programs for using several hardware gadgets I built.

Primary LanguageCOtherNOASSERTION

What is this?

This is a collection of code for various one of a kind hardware devices built by Boris Gjenero. It is all together in one Git repository due to interdependencies. Gadget microcontroller firmware is distributed separately. See the links below.

While the devices themselves and their interface libraries are one of a kind, some parts of this may be interesting to others. I think the most interesting part is the RGB lamp music visualizer. You may also be interested in the serial interfacing library. Some other parts are ancient and probably uninteresting.

Contents

  • build : Makefile parts included from various places

  • common : Files used by multiple components

  • serio : The serial port library used by all direct interfacing libraries for using the serial port in a platform-independent way. It is the oldest component here. Internally, global variables are used, so one copy of serio can only be used by one application at a time. Serio supports Windows and Unix serial ports, and now it also supports TCP connections in Unix.

  • pluginapi/winamp : Winamp API headers

  • signd : Common TCP daemon code for signs, used by lsd and vfdd. In Windows it runs as a tray application via tray42 by Michael T. Smith.

  • ledsign : Code for my LED sign

    • libledsign : Direct interfacing library for the LED sign
    • lsd : TCP daemon for controlling LED sign and client library for using the daemon
    • gen_led : Winamp plugin showing titles on the LED sign
    • lsp : CGI program with a web interface for displaying text messages on the LED sign. Requires cgic library
    • JSDraw : Old JavaScript program for drawing on the LED sign. Very inefficient, and there is no program for uploading images.
  • rgblamp : Code for my RGB lamp

    • librgblamp : Direct interfacing library for RGB lamp
    • vis_rgb : Music visualization program for RGB lamp It can be built for Winamp, Audacious, and stand-alone. There is a version which changes the colour of a window on the screen instead of using the light. Ruby is required for building. One file is built via GNU Octave, but the output file is in the repository so GNU Octave is not required.
    • winrgbchoose : Windows colour chooser for the RGB lamp.
    • rgbmacpick : Mac OS colour chooser for the RGB lamp. This does not include other Xcode generated stuff needed to build.
  • vfd : Code for my VFD display

    • libvfd : Direct interfacing library for VFD display
    • vfd_plugin : Winamp and Audacious plugin showing music player and system info. Supports system info for both Linux and Windows.
    • vfdd : TCP daemon for controlling VFD display