2020-11-14 22:50:55 +01:00
/*! @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"
2020-11-14 23:10:32 +01:00
//25x25 Dot Qr Code, 25bits per line (x)
2020-11-14 22:50:55 +01:00
uint32_t au32QrCode [ 25 ] =
{
2020-11-14 23:10:32 +01:00
0x1FC897F ,
0x105BE41 ,
0x174E55D ,
0x175A85D ,
0x174555D ,
0x1054B41 ,
0x1FD557F ,
0x1400 ,
0x1F7DBAA ,
0xF08422 ,
0x15B31B ,
0x48E1C1 ,
0xEFA8D7 ,
0x15BDCAA ,
0x12703FB ,
0x1589271 ,
0x1161DF4 ,
0x1C918 ,
0x1FDB557 ,
0x1042118 ,
2020-11-15 11:19:55 +01:00
0x175E3F7 ,
2020-11-14 23:10:32 +01:00
0x1759A5F ,
0x1758D0D ,
0x1055BB9 ,
0x1FDD43F
2020-11-14 22:50:55 +01:00
} ;
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
2020-11-14 23:10:32 +01:00
vPrintQr ( ) ; //print Qr
while ( 1 ) {
//calculate important things (Artificial neural network)
}
2020-11-14 22:50:55 +01:00
}
/**
* @ 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
*/
2020-11-14 23:10:32 +01:00
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 ) ;
}
}
}
}
2020-11-14 22:50:55 +01:00
}