aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2011-11-06 20:30:11 +0000
committerDimitri Sokolyuk <demon@dim13.org>2011-11-06 20:30:11 +0000
commit0cf55b3bda5e2690c1c080ec212141527caf1652 (patch)
tree0ae92d9e059947d7897ab9c0d8947c015a603dbd
parent0137b9fed4b75376e108e6182a99f1cce6767747 (diff)
switch to library func _NOP()
-rw-r--r--kernel/dmx.c6
-rw-r--r--kernel/kernel.h5
-rw-r--r--kernel/lcd3.c3
-rw-r--r--kernel/rgb.c2
4 files changed, 7 insertions, 9 deletions
diff --git a/kernel/dmx.c b/kernel/dmx.c
index 69e8115..ba5638b 100644
--- a/kernel/dmx.c
+++ b/kernel/dmx.c
@@ -17,6 +17,7 @@
#include <stdint.h>
#include <avr/io.h>
+#include <avr/cpufunc.h>
#include "kernel.h"
#include "tasks.h"
@@ -46,7 +47,7 @@ main()
#endif
#if 1
- exec(rgb, STACK, &rgbargs);
+ exec(rgb, STACK + 16, &rgbargs);
exec(pwm, STACK, &pwmargs[0]);
exec(pwm, STACK, &pwmargs[1]);
exec(pwm, STACK, &pwmargs[2]);
@@ -62,7 +63,8 @@ main()
exec(cmd, STACK, &rgbargs);
#endif
- IDLE();
+ for (;;)
+ _NOP();
return 0;
}
diff --git a/kernel/kernel.h b/kernel/kernel.h
index d4c699c..74e8444 100644
--- a/kernel/kernel.h
+++ b/kernel/kernel.h
@@ -89,8 +89,6 @@
#define SEC1(T) ((uint32_t)(T) * ((F_CPU / 10) / PRESCALE))
#define SEC0(T) ((uint32_t)(T) * ((F_CPU / 1) / PRESCALE))
-#define IDLE() do { asm volatile ("nop"); } while (1)
-
/* __BEGIN_DECLS */
void init(uint8_t stack);
@@ -103,9 +101,6 @@ void suspend(void);
void set(uint32_t release, uint32_t deadline);
void update(uint32_t release, uint32_t deadline);
-enum Sleep { SOFT, HARD };
-enum Critical { ON, OFF };
-void sleep(enum Sleep, uint32_t);
uint32_t now(void);
uint32_t release(void);
diff --git a/kernel/lcd3.c b/kernel/lcd3.c
index f6ef039..863e1d4 100644
--- a/kernel/lcd3.c
+++ b/kernel/lcd3.c
@@ -19,6 +19,7 @@
#include <stdint.h>
#include <avr/io.h>
+#include <avr/cpufunc.h>
#include <util/delay.h>
#include "kernel.h"
#include "tasks.h"
@@ -66,7 +67,7 @@
/* recomended cycle 1us: 450ns on, 450ns off. this is beyond our resolution */
-#define wait_short() do { asm volatile ("nop"); } while (0)
+#define wait_short() do { _NOP(); } while (0)
#define strobe(port, bit) do { port |= _BV(bit); wait_short(); port &= ~_BV(bit); } while (0)
#define setif(cond, port, bit) do { if (cond) port |= _BV(bit); else port &= ~_BV(bit); } while (0)
diff --git a/kernel/rgb.c b/kernel/rgb.c
index 06ff2e1..79b52f6 100644
--- a/kernel/rgb.c
+++ b/kernel/rgb.c
@@ -28,7 +28,7 @@ rgb(void *arg)
{
struct rgbarg *a = (struct rgbarg *)arg;
uint16_t i = 0;
- uint8_t r, g, b, v;
+ uint8_t r, g, b, v = 255;
#define SCALE 1