Luces is a .NET Windows service for setting up a build light, using standard Windows API calls via NUSB.
Borne out of frustration from trying to get blinky (which I truly love the simplicity of) running with libusb on Windows. I figured a pure .NET version might be simpler and gave me something to code.
It does, it's called blinky. I gave after having trouble getting it to work on Windows though. By all means though, on a UNIX-y platform, use blinky, it's great. I may also get around to trying it again on Windows down the track.
Simplest way to get started is to grab the installer from HERE which is the latest one I've bothered to produce.
Or, if you're feeling up for it, grab the whole lot and build it yourself. The dependencies are managed by NuGet, and for the moment it's a .NET 4 project, although it's quite possible it will work on earlier versions of the framework.
Configuration
On startup, Luces will look for a configuration file in the installed directory called "luces.yml". If one isn't present, it will create one with a sample configuration and close. You may supply the full path to an alternative config file as an argument to the service. Here is an example config:
# Configuration file for Luces build light tool
-
servertype: CruiseControl
url: http://10.1.1.2:8153/go/cctray.xml
username:
password:
pipelines:
-
name: "Trunk :: spec"
At this point in time it's the standard Burro configuration. Check that project for details. It will only read the configuration file on startup, so if you make any changes to the file, you will need to restart the service to pick them up. Running Luces
The intention is to run Luces as a Windows service which is how it is installed. It can also run as a standalone file just by running the executable. If any errors occur when running it, they will appear in the Windows Event log.
At this point in time it only supports USB devices, in particular the Delcom Engineering V2 light because that's all I had access to. If you would like to contribute alternate lights, by all means, the underlying NUSB library provides numerous ways of communicating with USB devices.
The types of build servers supported are again limited by whatever Burro is capable of, and as such check that project for what you can use.