triface.c

Go to the documentation of this file.
00001 
00044 #include <drv/timer.h>
00045 #include <drv/buzzer.h>
00046 #include <drv/ser.h>
00047 #include <drv/sipo.h>
00048 
00049 #include <cfg/macros.h>
00050 #include <mware/parser.h>
00051 #include <net/keytag.h>
00052 
00053 #include "protocol.h"
00054 #include "hw_input.h"
00055 #include "hw_adc.h"
00056 
00057 
00058 static KFileSerial fd_ser;
00059 
00060 int main(void)
00061 {
00062     /* SPI Port Initialization */
00063     sipo_init();
00064 
00065     kdbg_init();
00066     timer_init();
00067     adc_init();
00068     buz_init();
00069 
00070     IRQ_ENABLE;
00071     INPUT_INIT;
00072 
00073     /* Initialize Tag serial port and data structure */
00074     TagPacket pkt;
00075 
00076     /* Open the main communication port */
00077     ser_init(&fd_ser, CONFIG_SER_HOSTPORT);
00078     ser_setbaudrate(&fd_ser, CONFIG_SER_HOSTPORTBAUDRATE);
00079 
00080     ser_init(pkt.tag_ser, TAG_SER_PORT);
00081     ser_setbaudrate(pkt.tag_ser, TAG_SER_BAUDRATE);
00082 
00083     pkt.comm_ser = &fd_ser;
00084     keytag_init(&pkt);
00085 
00086     protocol_init(&fd_ser.fd);
00087 
00088     // Main loop
00089     for(;;)
00090     {
00091         protocol_run(&fd_ser.fd);
00092         keytag_poll(&pkt);
00093     }
00094 
00095     return 0;
00096 }
00097 
00098