X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=src%2Fserver%2Fhandler_snack.c;h=c1100cb434e4eb4e5f84797d408b7c491527615c;hb=114f33e11226fbd4c2ad02a47829b4c44486efb5;hp=826851e31c0c11e06c22ab9e89ad7532926fbb51;hpb=51560013d0ab4c823c3d1b28a0d0485cc84b2e40;p=tpg%2Fopendispense2.git diff --git a/src/server/handler_snack.c b/src/server/handler_snack.c index 826851e..c1100cb 100644 --- a/src/server/handler_snack.c +++ b/src/server/handler_snack.c @@ -37,7 +37,13 @@ regex_t gSnack_ResponseRegex; // == CODE === int Snack_InitHandler() { - giSnack_SerialFD = open(gsSnack_SerialPort, O_RDWR); + giSnack_SerialFD = open(gsSnack_SerialPort, O_RDWR | O_NOCTTY | O_NONBLOCK); + if( giSnack_SerialFD == -1 ) { + fprintf(stderr, "ERROR: Unable to open snack serial port ('%s')\n", gsSnack_SerialPort); + } + + InitSerial(giSnack_SerialFD, 9600); + regcomp(&gSnack_ResponseRegex, "^(\\d\\d\\d)(.*)$", REG_EXTENDED); return 0; } @@ -47,7 +53,9 @@ int Snack_CanDispense(int User, int Item) // Sanity please if( Item < 0 || Item > 99 ) return -1; - return 1; + // Hmm... could we implement slot statuses? + + return 0; } /** @@ -71,5 +79,3 @@ int Snack_DoDispense(int User, int Item) return 0; } - -