21844bc3a695f4d99fdfbbb98648021c6835a67f
[uccvend-snackrom.git] / ROM2 / main_basic.c
1 /*
2  * main_basic.c - a simplified main procedure that relies upon a ersver to do
3  * anything smart. Just be a dumb interface to a display, keypad, coin mech
4  * and snacks.
5  */
6
7 #include "display_basic.h"
8 #include "keypad.h"
9 #include "chime.h"
10 #include "coinmech.h"
11 #include "comm.h"
12 #include "vend.h"
13
14 int main() {
15         u16 last_coin_value = coin_value;
16
17         /* init coin mech */
18         comm_init();
19         display_init();
20         while(1) {
21                 if (rx_queue_state) {
22                         switch (msg_buf[0]) {
23                                 case 'V': /* dispense something */
24                                         break;
25                                 case 'D': /* write string to display */
26                                         break;
27                                 case 'B': /* beep */
28                                         break;
29                                 case 'U': /* query current coin balance */
30                                         break;
31                                 case 'G': /* give change */
32                                         break;
33                                 default:
34                                 /* shrug */
35                                         break;
36                         }
37                         msg_clr();
38                 }
39                 keypad_read();
40                 if (keypad_pressed()) {
41                         /* send packet about it */
42                         /* beep? */
43                 }
44
45                 if (coin_value != last_coin_value) {
46                         /* send a packet about it */
47                 }
48         }
49 }
50
51 void rti() {
52         chime(); /* turn chime on or off as need be */
53 }

UCC git Repository :: git.ucc.asn.au