triface.c

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