X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=src%2Fserver%2Fhandler_snack.c;h=0a34a7130a07956ba54c0790a0783f0705324628;hb=351184b3a2b597193234d09090281b8501f659c6;hp=826851e31c0c11e06c22ab9e89ad7532926fbb51;hpb=cbc8b9bd4b01261475453a5dfbecf2d508edc730;p=tpg%2Fopendispense2.git diff --git a/src/server/handler_snack.c b/src/server/handler_snack.c index 826851e..0a34a71 100644 --- a/src/server/handler_snack.c +++ b/src/server/handler_snack.c @@ -31,36 +31,47 @@ tHandler gSnack_Handler = { Snack_DoDispense }; char *gsSnack_SerialPort = "/dev/ttyS1"; +#if 0 int giSnack_SerialFD; regex_t gSnack_ResponseRegex; +#endif // == CODE === int Snack_InitHandler() { - giSnack_SerialFD = open(gsSnack_SerialPort, O_RDWR); +#if 0 + giSnack_SerialFD = InitSerial(gsSnack_SerialPort, 9600); + if( giSnack_SerialFD == -1 ) { + fprintf(stderr, "ERROR: Unable to open snack serial port ('%s')\n", gsSnack_SerialPort); + } + regcomp(&gSnack_ResponseRegex, "^(\\d\\d\\d)(.*)$", REG_EXTENDED); +#endif return 0; } -int Snack_CanDispense(int User, int Item) +int Snack_CanDispense(int UNUSED(User), int Item) { // Sanity please if( Item < 0 || Item > 99 ) return -1; - return 1; + // Hmm... could we implement slot statuses? + + return 0; } /** * \brief Actually do a dispense from the coke machine */ -int Snack_DoDispense(int User, int Item) +int Snack_DoDispense(int UNUSED(User), int Item) { - char tmp[32]; - regmatch_t matches[4]; - // Sanity please if( Item < 0 || Item > 99 ) return -1; +#if 0 + char tmp[32]; + regmatch_t matches[4]; + // Dispense sprintf(tmp, "V%02i\n", Item); write(giSnack_SerialFD, tmp, 2); @@ -68,8 +79,7 @@ int Snack_DoDispense(int User, int Item) // Get status read(giSnack_SerialFD, tmp, sizeof(tmp)-1); regexec(&gSnack_ResponseRegex, tmp, sizeof(matches)/sizeof(matches[0]), matches, 0); +#endif return 0; } - -