X-Git-Url: https://git.rohieb.name/hackover2013-badge-firmware.git/blobdiff_plain/15e15a25d1f49a6be409006506359cab519545fe..6acd5c75b7ee5ccd0d09747661008e9edbb8945a:/main.c diff --git a/main.c b/main.c index 8b75435..dbae27d 100644 --- a/main.c +++ b/main.c @@ -43,32 +43,13 @@ #include "core/gpio/gpio.h" #include "core/systick/systick.h" +#include "drivers/lcd/tft/hw/ssd1351.h" +#include "drivers/lcd/tft/drawing.h" + #ifdef CFG_INTERFACE #include "core/cmd/cmd.h" #endif -/**************************************************************************/ -/*! - Approximates a 1 millisecond delay using "nop". This is less - accurate than a dedicated timer, but is useful in certain situations. - - The number of ticks to delay depends on the optimisation level set - when compiling (-O). Depending on the compiler settings, one of the - two defined values for 'delay' should be used. -*/ -/**************************************************************************/ -void delayms(uint32_t ms) -{ - uint32_t delay = ms * ((CFG_CPU_CCLK / 100) / 45); // Release Mode (-Os) - // uint32_t delay = ms * ((CFG_CPU_CCLK / 100) / 120); // Debug Mode (No optimisations) - - while (delay > 0) - { - __asm volatile ("nop"); - delay--; - } -} - /**************************************************************************/ /*! Main program entry point. After reset, normal code execution will @@ -82,22 +63,18 @@ int main(void) uint32_t currentSecond, lastSecond; currentSecond = lastSecond = 0; + + lcdInit(); + lcdTest(); while (1) { - // Toggle LED once per second ... rollover = 136 years :) + // Toggle LED once per second currentSecond = systickGetSecondsActive(); if (currentSecond != lastSecond) { lastSecond = currentSecond; - if (gpioGetValue(CFG_LED_PORT, CFG_LED_PIN) == CFG_LED_OFF) - { - gpioSetValue (CFG_LED_PORT, CFG_LED_PIN, CFG_LED_ON); - } - else - { - gpioSetValue (CFG_LED_PORT, CFG_LED_PIN, CFG_LED_OFF); - } + gpioSetValue(CFG_LED_PORT, CFG_LED_PIN, ~(gpioGetValue(CFG_LED_PORT, CFG_LED_PIN))); } // Poll for CLI input if CFG_INTERFACE is enabled in projectconfig.h