/*
Copyright (c) 2007-2013, John Ryland
*/
#include <oslayer.h>
#include <corelayer.h>
typedef struct {
int A;
int B;
int C;
} LedControls;
void ledTest(int a, int b, int c)
{
int fd = fsOpen("/dev/misc/led", O_RDWR);
LedControls vals;
vals.A = 0x01000002; vals.B = 0x00010000; vals.C = 0x01000100; // no change
vals.A = 0x00000000; vals.B = 0x00000000; vals.C = 0x00000000; // no change
vals.A = 0x02030102; vals.B = 0x28280100; vals.C = 0xFF050100; // left green, right orange
vals.A = 0x02010302; vals.B = 0x00012828; vals.C = 0x000105FF; // left green, right pulsing blue
vals.A = 0x01000002; vals.B = 0x00010000; vals.C = 0x00020100; // left green, right off
vals.A = 0x02020202; vals.B = 0x00010000; vals.C = 0x00020100; // left green, right off
vals.A = 0x02010302; vals.B = 0x00012828; vals.C = 0x000105FF; // left green, right off
// F - orange
// 8 - off
// 7 - orange
// 6 - orange
// 5 - blue
// 4 - off
// 3 - orange
// 2 - orange
// 1 - blue
// 0 - off
//
// 4 - off
// 3 - pulsing
// 2 - flashing
// 1 - normal
// 0 - off
//
// 2 - right
// 1 - top-left
vals.A = 0x02010102; vals.B = 0x00012828; vals.C = 0x000501FF; // left green, right orange
vals.A = 0x02020102; vals.B = 0x00012828; vals.C = 0x000501FF; // left green, right orange
vals.A = a; vals.B = b; vals.C = c; // left green, right orange
//fsWrite(fd, "\2\0\0\1 \0\0\1\0 \0\1\2\0", 12); // power on, wireless off
//fsWrite(fd, "\2\0\0\1 \0\0\1\0 \0\1\0\1", 12); // same
//fsWrite(fd, "\2\3\1\2 40 40 \1 \0 255 \5\1\0", 12); // power on, wireless on
fsWrite(fd, &vals, sizeof(vals)); // power on, wireless on
fsClose(fd);
}
int main(int argc, char *argv[])
{
int i;
strPrint("SONY mylo led test\n");
strPrint("Version 0.02\n");
strPrint("Copyright 2007 John Ryland\n");
strPrintf("argc: %i\n", argc);
for (i = 0; i < argc; i++) {
strPrintf("argv[%i] = %s\n", i, argv[i]);
}
i = 0;
while (environ[i]) {
strPrintf("%s\n", environ[i]);
i++;
}
ledTest(0,0,0);
// ledTest(a, b, c);
return 0;
}