diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2020-12-03 22:35:58 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2020-12-03 22:35:58 -0700 |
commit | 4466725d3facb939f60f598caa684766b50a4235 (patch) | |
tree | 6f8d912bd13239ea5ea6e03b57c11ba36faa2f62 /src | |
parent | c4cd1464e6f253a2d1d83ec93a16053c5a247b6f (diff) | |
download | stm32l4-4466725d3facb939f60f598caa684766b50a4235.tar.gz stm32l4-4466725d3facb939f60f598caa684766b50a4235.tar.bz2 stm32l4-4466725d3facb939f60f598caa684766b50a4235.zip |
Basic working example with minimal flicker and correct color.
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); |