29.08.2013 Views

Autonom robotväckarklocka med trådlös basstation - KTH

Autonom robotväckarklocka med trådlös basstation - KTH

Autonom robotväckarklocka med trådlös basstation - KTH

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

eciever.c – LED­kontrollern<br />

#include <br />

#include <br />

#include <br />

#include <br />

#include "LED_KLOCKA_ATMEGA16.h"<br />

#include "reciever.h"<br />

#define RECIEVER_WAITING_START 255<br />

#define RECIEVER_WAITING_DATATYPE 254<br />

#define RECIEVER_WAITING_SEC 0<br />

#define RECIEVER_WAITING_MIN 1<br />

#define RECIEVER_WAITING_HOUR 2<br />

#define RECIEVER_WAITING_MOVE 3<br />

#define PROTOCOL_START 254<br />

#define PROTOCOL_SEC 0<br />

#define PROTOCOL_MIN 1<br />

#define PROTOCOL_HOUR 2<br />

#define PROTOCOL_MOVEAROUND 3<br />

#define PROTOCOL_STOPMOVE 4<br />

#define PROTOCOL_ALARM 5<br />

#define PROTOCOL_MOVE 8<br />

#define MOVE_FORWARD 0<br />

#define MOVE_RIGHT 1<br />

#define MOVE_LEFT 2<br />

#define MOVE_BACK 3<br />

#define MOVE_STOP 4<br />

static unsigned char reciever_state=255;<br />

static unsigned char seconds=0;<br />

static unsigned char minutes=0;<br />

static unsigned char hours=0;<br />

void dataReciev ed(unsigned<br />

char data){<br />

if (data == PROTOCOL_START) {<br />

reciever_state = RECIEVER_WAITING_DATATYPE;<br />

} else {<br />

switch (reciever_state) {<br />

case RECIEVER_WAITING_DATATYPE:<br />

switch ( data)<br />

{<br />

case PROTOCOL_SEC:<br />

reciever_state = RECIEVER_WAITING_SEC;<br />

break;<br />

case PROTOCOL_MIN:<br />

reciever_state = RECIEVER_WAITING_MIN;<br />

break;<br />

case PROTOCOL_HOUR:<br />

reciever_state = RECIEVER_WAITING_HOUR;<br />

break;<br />

case PROTOCOL_MOVEAROUND:<br />

command = 1;<br />

reciever_state = RECIEVER_WAITING_START;<br />

break;<br />

case PROTOCOL_STOPMOVE:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!