/*! @file Main.c @brief app main @author Hendrik Schutter @version V1.0 @date 14.11.2020 This file contains the main app function and init. */ #include "Welcome.h" //25x25 Dot Qr Code, 25bits per line (x) uint32_t au32QrCode[25] = { 0x1FC897F, 0x105BE41, 0x174E55D, 0x175A85D, 0x174555D, 0x1054B41, 0x1FD557F, 0x1400, 0x1F7DBAA, 0xF08422, 0x15B31B, 0x48E1C1, 0xEFA8D7, 0x15BDCAA, 0x12703FB, 0x1589271, 0x1161DF4, 0x1C918, 0x1FDB557, 0x1042118, 0x175E3F7, 0x1759A5F, 0x1758D0D, 0x1055BB9, 0x1FDD43F }; static void vMainInitApp(void); static void vPrintQr(void); /** * @fn int main (void) * @brief app entry point * @param void * @return int * @author hendrik schutter * @date 14.11.2020 */ int main (void) { vMainInitApp(); //init app vPrintQr(); //print Qr while(1) { //calculate important things (Artificial neural network) } } /** * @fn void vMainInitApp(void) * @brief initialize app * @param void * @return void * @author hendrik schutter * @date 14.11.2020 */ static void vMainInitApp(void) { // Init GLCD GLCD_Initialize (); GLCD_SetForegroundColor (GLCD_COLOR_BLACK); GLCD_SetBackgroundColor (GLCD_COLOR_WHITE); GLCD_ClearScreen (); GLCD_SetFont(&GLCD_Font_16x24); // declared as extern in externals.h GLCD_DrawString (4*GLCD_Font_16x24.width, 5,"fckaf.de/BXm"); // Init LED LED_Initialize(); } /** * @fn static void vPrintQr(void) * @brief print Qr code from array * @param void * @return void * @author hendrik schutter * @date 14.11.2020 */ static void vPrintQr(void) { uint8_t u8DotSize = 8U; uint8_t u8Yoffset = 30U; uint8_t u8Xoffset = 60U; for(uint8_t y = 0; y < 25; y++) { for(int8_t x = 0; x < 25; x++) { if(au32QrCode[y] & (1 << x)) { //print dots u8DotSize X u8DotSize for(uint8_t u8DotLine = 0; u8DotLine < u8DotSize; u8DotLine++) { //print horizontal line, swap left to right GLCD_DrawHLine (-(x-24)*u8DotSize+u8Xoffset, y*u8DotSize+u8DotLine+u8Yoffset, u8DotSize); } } } } }