#include <stdint.h>
#include <stdio.h>
#include "riscy.c"
#include <spi_lcd.h>
#include "demo_happy_birthday.c"
#include "demo_spi_welcome.c"
// #include "demo_spi_programs.c"
#include "demo_prime.c"
#include "demo_fibonacci.c"
#include "spi_demo_game.c"
int main()
{
int flag = 0;
uart_init();
// spi_init();
for(int i = 0; i< 10000; i++){
printUartNewLine();
}
GPIO_WRITE(0x01000001);
delay(1000);
GPIO_WRITE(0x03000001);
delay(1000);
GPIO_WRITE(0x07000001);
delay(1000);
GPIO_WRITE(0x0F000001);
delay(1000);
GPIO_WRITE(0x1F000001);
delay(1000);
GPIO_WRITE(0x3F000001);
delay(1000);
GPIO_WRITE(0x7F000001);
delay(1000);
GPIO_WRITE(0xFF000001);
delay(1000);
lcd_init(10);
print_welcome_message();
delay(40000);
danger();
print_menu_options();
while(1){
flag = 0;
if(GPIO_READ == 0x55000000){
delay(1);
while(GPIO_READ != 0x00000000) {
if(GPIO_READ == 0xFF000000) {
// print_happy_birthday_spi();
play_happy_birthday();
flag = 1;
}
}
if(!flag){
print_prime_spi();
prime_uart();
}
print_menu_options();
}
if(GPIO_READ == 0xAA000000) {
delay(1);
while(GPIO_READ != 0x00000000) {
if(GPIO_READ == 0xFF000000) {
play_happy_birthday();
flag = 1;
}
}
if (!flag) {
//option 2
game();
}
clear();
print_menu_options();
}
if(GPIO_READ == 0xFF000000) {
//option 3
// print_happy_birthday_spi();
play_happy_birthday();
clear();
print_menu_options();
}
}
return 0;
}