635 + SCAB + Linux

IanB

New member
Right. After many weeks of promising something on these forums, I've decided to post what I have at present. Be warned - it's really rough stuff.

What does it do?
  • Provide a rough architecture and guide as to how the final solution will look
  • Introduce the concept of the parser syntax
  • Introduce the concept of the app and puts a stake in the ground to request all feedback
What doesn't it do?
  • Work
  • Do anything useful
At the minute, all it does is start up, parse a config file (badly), put a simple message on screen, and switches off the fans for 10 seconds. Then exits. Don't run it on a machine where you rely on having the fans up & available 100% of the time.

So what I'm asking for here is for people to say either:
  1. That's what I need
  2. Idiot - how bad an application have you written?
    [/list=1]
    If you want to look at the code, feel free: it's basically split down into the core server part, plus various plugins. Eventually, you should be able to plugin different driver libraries for different LCD manufacturers, but for now, that's just Crystalfontz. :)

    Various ideas I've had for plugins include:
    • Wrappers for Perl, PHP, etc. to allow better interface with day-to-day Linux stuff.
    • A generic "shell script" plugin.
    • Plugins that respond to keypresses and a menu system (driven in the server module). Keypress handling is demonstrated in the code already.
    I know putting things out into the open under GPL invites people to work on it for their own purpose. I will gladly take any comments you have at present, but the code really is meant as a proof-of-concept. By the time you've sent anything back to me, the code and internal interfaces will have probably changed dramatically. This code is GNU licensed. Part of that means that if you break any of your expensive hardware, then tough. It's not my fault. I've run it loads on my FC4 box with a 635 attached via USB.

    Final word: you'll need to drop the .zip extension from the file - it's really a .tar .gz in disguise.

    Any feedback you have - either PM me or consult the e-mail address found in the readme file.

    Ian.
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.
 

Attachments

IanB

New member
Oooops. Sorry, but forgot to mention that I do my dev work on Windows and compile in gcc on Linux. That's why all the source files are in DOS format. Amended .tar.gz file here.
 

Attachments

CF Mark

Administrator
Well done... the code looks very nice.

When its all working, is should be a good alternative to the rather messy LCDProc.
 

JimBowen

New member
Nice.. I like it, though perhaps just a tad overcomplicated? @_@
Though, once it is properly documented it should be a lot better.. :)

The whole plugin architecture and parser and everything is rather ambitious.. Do you plan on making this as big a project as LCDProc and LCD4Linux?
Surely it would make more sense to join one of them.. Unless you think their design sucks of course. ;)

Anyway, it looks good so far! :D

Oh, and you missed out the obj and bin directories from your archive. I had to create them before it would compile.
 

IanB

New member
Nice.. I like it, though perhaps just a tad overcomplicated? @_@
Though, once it is properly documented it should be a lot better.. :)
Over-complicated? Probably. That's just how I write things. Luckily, I'm pretty good at documentation too, though.
The whole plugin architecture and parser and everything is rather ambitious.. Do you plan on making this as big a project as LCDProc and LCD4Linux?
Surely it would make more sense to join one of them.. Unless you think their design sucks of course. ;)
For what I wanted, yes I did think they were pretty poor.

For a variety of reasons, I wanted to start my own project:
  • lcd4linux worked out of the box on my display, but only displayed text in a fairly limited way.
  • The last update on the LCDproc homepage (http://lcdproc.omnipotent.net/) was dated July 2004. That's not a good sign if I want to talk and work with the original developer.
  • There was no way of hooking up the 635 SCAB temperature sensors to the display, apart from some major surgery to either codebase.
  • Both of these seem to be mostly geared towards just displaying real-time stats. What I wanted was a system that could be interactive, so that the 6-way keypad could actually do things. As an example, probably the first thing to do will be to write a plugin that will let me detect when a CF card is inserted into the reader, then with a couple of button presses, mount the device, copy the necessary files across, and then unmount and eject. This is a headless system (see this thread: https://forum.crystalfontz.com/showthread.php?s=&threadid=4207).
  • I wanted to monitor mailboxes and flash LEDs accordingly. Again, major surgery on the codebases.
  • I like a programming challenge. :D
I never originally intended to release this as open-source, it was just that a few people on these forums were asking about Linux support and I thought I would chip in. :)
Anyway, it looks good so far! :D
Thanks :)
Oh, and you missed out the obj and bin directories from your archive. I had to create them before it would compile.
Sorry. Hopefully it wasn't too hard to spot that.

Ian.
 
Top