added a small skeleton of code
This commit is contained in:
parent
d45d53cff6
commit
ae95644b99
1 changed files with 57 additions and 5 deletions
58
main.c
58
main.c
|
@ -5,15 +5,67 @@
|
|||
* Author : dozed
|
||||
*/
|
||||
|
||||
#include <avr/io.h>
|
||||
#define button1 1234
|
||||
#define button2 5678
|
||||
#define button3 whatever
|
||||
|
||||
typedef enum {CLOCK_INIT = 0, CLOCK_IDLE} clock_state_e;
|
||||
|
||||
clock_state_e clock_state = CLOCK_INIT;
|
||||
clock_state_e clock_new_state = CLOCK_INIT;
|
||||
|
||||
int counter = 0; //the counter variable that is being set by the interrupt
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* Replace with your application code */
|
||||
//-----------INIT----------------
|
||||
//SETUP PINS (needs to be done)
|
||||
|
||||
//attach interrupt (needs to be done)
|
||||
|
||||
//-----------END INIT------------
|
||||
while (1)
|
||||
{
|
||||
printf("test");
|
||||
timer_state = timer_new_state;
|
||||
|
||||
switch(clock_state){
|
||||
case CLOCK_INIT:
|
||||
//do some init stuff...
|
||||
lcd.init(); //I know, it's just c but I don't care
|
||||
|
||||
//INIT done -> change to IDLE
|
||||
clock_new_state = CLOCK_IDLE;
|
||||
|
||||
break;
|
||||
|
||||
case CLOCK_IDLE:
|
||||
//IDLE MODE
|
||||
|
||||
//print the IDLE Screen
|
||||
lcd.goto(0,0);
|
||||
lcd.print(counter /*do some claculations*/);
|
||||
lcd.goto(0,1);
|
||||
lcd.print("< current time >");
|
||||
|
||||
//check buttons
|
||||
if(button_pressed(1)){
|
||||
//do something
|
||||
}
|
||||
else if(button_pressed(2){
|
||||
//do something
|
||||
}
|
||||
else if(button_pressed(3)){
|
||||
//do something
|
||||
}
|
||||
}
|
||||
//do some other stuff (like checking if an alarm has been triggered)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
bool button_pressed(int button_number)
|
||||
{
|
||||
bool button_state = /*check the state of the button here*/;
|
||||
return(button_state);
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue