aboutsummaryrefslogtreecommitdiff
path: root/kernel/rgb.c
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2012-03-19 14:11:43 +0000
committerDimitri Sokolyuk <demon@dim13.org>2012-03-19 14:11:43 +0000
commit94cf578cc32db53c1b1a7d59b2e4e9a85e37b375 (patch)
treed54619759bfa17ab68b5c1dcc7751b250ed01be5 /kernel/rgb.c
parentcdb35c11372e919334042c0c4ec3aaeb8ed721a2 (diff)
replace interrupt blocking with semaphore
Diffstat (limited to 'kernel/rgb.c')
-rw-r--r--kernel/rgb.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/rgb.c b/kernel/rgb.c
index 9f8093f..c8d6225 100644
--- a/kernel/rgb.c
+++ b/kernel/rgb.c
@@ -32,6 +32,10 @@ rgb(void *arg)
uint8_t r, g, b, v = 0;
for (;;) {
+ wait(Adc);
+ v = *a->v; /* 8bit */
+ signal(Adc);
+
i = (i + 1) % 360;
hsv(&r, &g, &b, i, 255, v);
@@ -39,7 +43,6 @@ rgb(void *arg)
a->r = r;
a->g = g;
a->b = b;
- v = *a->v; /* 10bit to 8bit */
signal(RGB);
sleep(0, 40000);