diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/kern/main.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/kern/main.c b/src/kern/main.c index 4acdedb..9d93247 100644 --- a/src/kern/main.c +++ b/src/kern/main.c @@ -8,6 +8,7 @@ #include "arch/stm32l4xxx/peripherals/system.h" #include "drv/ws2812B/ws2812b.h" #include "kern/delay.h" +#include "kern/systick/systick_manager.h" #include "kern/dma/dma_manager.h" #include "kern/gpio/gpio_manager.h" #include "kern/gpio/sysled.h" @@ -87,7 +88,7 @@ extern uint8_t sintable[256]; static uint32_t time; -void on_systick() +static void on_systick(void* nil) { // klogf("Systick.\n"); ++time; @@ -177,7 +178,8 @@ int main() klogf("sintable[5]: %d\n", sintable[5]); klogf("Flashed with OpenOCD!\n"); - SCB.strv_r = 1000; + systick_add_callback(on_systick, NULL); + enable_systick(1000); /* Enable interrupts. */ regset(SCB.stcs_r, scb_tickint, 1); @@ -217,7 +219,8 @@ int main() for (i = 0; i < SIZE; ++i) { red = byte_sin((i * 4 * 2 + time / 1000) & 0xff) / 2; green = byte_sin((i * 4 * 3 + time / 1000) & 0xff) / 2; - blue = amp(byte_sin((i * 2 * 3 + time / 1000) & 0xff)) / 2; + blue = 0; + // blue = amp(byte_sin((i * 2 * 3 + time / 1000) & 0xff)) / 2; // uint8_t red = byte_sin((i * 8 + 64 + time / 100) & 0xff); // uint8_t green = byte_sin((i * 8 + 0 + time / 100) & 0xff); |