version 1.1.2.6, 2011/10/24 13:41:48
|
version 1.1.2.9, 2011/10/24 23:14:36
|
Line 142 LED(u_char ledno, u_char state)
|
Line 142 LED(u_char ledno, u_char state)
|
} |
} |
|
|
outl(led_base[type - 1][ledno], n); |
outl(led_base[type - 1][ledno], n); |
return 0; | return (int) state; |
} |
} |
|
|
static int |
static int |
Line 166 RunCmd(u_char pin, u_int state)
|
Line 166 RunCmd(u_char pin, u_int state)
|
} |
} |
if (!*szStr) |
if (!*szStr) |
return 0; |
return 0; |
|
if (pin) |
|
snprintf(szArg, sizeof szArg, "%d=%d", pin, state); |
else |
else |
snprintf(szArg, sizeof szArg, "%d", state); |
snprintf(szArg, sizeof szArg, "%d", state); |
|
|
Line 194 Run()
|
Line 196 Run()
|
if ((ret = gpioRead(i)) == -1) |
if ((ret = gpioRead(i)) == -1) |
return 126; |
return 126; |
else |
else |
states |= (1 << i); | states |= ret ? (1 << i) : 0; |
|
|
/* state machine */ |
/* state machine */ |
while (!Kill) { |
while (!Kill) { |
Line 210 Run()
|
Line 212 Run()
|
return 127; |
return 127; |
|
|
if (ret != ((states >> i) & 0x1)) { |
if (ret != ((states >> i) & 0x1)) { |
if (!i) { | if (!i) { /* button */ |
t = 0; |
t = 0; |
do { |
do { |
t++; |
t++; |
Line 218 Run()
|
Line 220 Run()
|
if (gpioRead(i) != ret) |
if (gpioRead(i) != ret) |
break; |
break; |
} while (!Kill); |
} while (!Kill); |
} else { | } else { /* leds */ |
t = ret; |
t = ret; |
if (ret) |
if (ret) |
states |= (1 << i); |
states |= (1 << i); |
Line 229 Run()
|
Line 231 Run()
|
RunCmd(i, t); |
RunCmd(i, t); |
} |
} |
} |
} |
|
|
|
usleep(slice); |
} |
} |
|
|
return 0; |
return 0; |