aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2020-12-03 22:35:58 -0700
committerJosh Rahm <joshuarahm@gmail.com>2020-12-03 22:35:58 -0700
commit4466725d3facb939f60f598caa684766b50a4235 (patch)
tree6f8d912bd13239ea5ea6e03b57c11ba36faa2f62 /src
parentc4cd1464e6f253a2d1d83ec93a16053c5a247b6f (diff)
downloadstm32l4-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.c9
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);