testManualOverride: function(test) {
        // Configure app to allow manual override
        config.pwmSettings[4][0] = 3000;
        config.pwmSettings[4][1] = 3000;
        config.manualOverridePin = "P9_22";

        // Re-init the light controller
        ctrl.init();

        var counter = 0,
            now = new Date(Date.UTC(2014, 2, 17, 6)); // Set to 11pm today

        // Start the lighting process
        ctrl.start({
            offset: now
        }, function(err, status) {
            if (err) console.error(err);

            console.log(status);
            if (status.status === "Realtime" && status.intensity[0] === 3000 && status.intensity[1] === 3000) {
                counter++;
            }
        });

        // 3 seconds in, flip the manual override switch
        setTimeout(function() {
            gpio.state = 1;
        }, 3*1000);

        // Run the process for 5 seconds
        setTimeout(function() {
            ctrl.stop();
            test.equal(counter, 4);
            test.done();
        }, 5*1000);
    }
 * Name: lightControllerTest.js
 * Copyright (c) 2014. Brian Harris
 ******************************************************************************/

/*******************************************************************************
 * AquaBeagle
 * Name: lightControllerTest.js
 * Copyright (c) 2014. Brian Harris
 * Nodeunit tests for lightController module.
 ******************************************************************************/

var config = require('aquaConfig')();
var ctrl = require('lightController');
var gpio = require('gpio');

ctrl.init();

exports.manualMode = {
    setUp: function(callback) {
        // Configure some lights
        config.controllerMode = "manual";
        config.pwmSettings[0][0] = 4095;
        config.pwmSettings[0][1] = 4095;
        config.pwmSettings[1][2] = 287;
        config.rampTime = 60;

        callback();
    },

    testDaytime: function(test) {
        console.warn('Starting testDaytime()');