#include "display_basic.h"
#include "keypad.h"
#include "chime.h"
-#include "server.h"
#include "coinmech.h"
+#include "comm.h"
#include "vend.h"
-void _start() {
- set_bus_expanded();
- display_init();
- /* enable RTI & set rate */
- /* init coin mech */
- /* scan for motors */
- main();
-}
-
int main() {
+ u16 last_coin_value = coin_value;
+
+ /* init coin mech */
+ comm_init();
+ display_init();
while(1) {
- /*
- * have serial packet?
- *
- * decode msg & process:
- * - dispense motor
- * - display string
- * - give change
- * - beep
- */
-
- /*
- * have keypress?
- * - beep
- * - send via serial
- */
+ if (rx_queue_state) {
+ switch (msg_buf[0]) {
+ case 'V': /* dispense something */
+ break;
+ case 'D': /* write string to display */
+ break;
+ case 'B': /* beep */
+ break;
+ case 'U': /* query current coin balance */
+ break;
+ case 'G': /* give change */
+ break;
+ default:
+ /* shrug */
+ break;
+ }
+ msg_clr();
+ }
+ keypad_read();
+ if (keypad_pressed()) {
+ /* send packet about it */
+ /* beep? */
+ }
- /*
- * have coin balance change?
- * - send via serial
- */
+ if (coin_value != last_coin_value) {
+ /* send a packet about it */
+ }
}
}