git.ucc.asn.au
/
tpg
/
opendispense2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Moved serial port opening out into a helper, added delay
[tpg/opendispense2.git]
/
src
/
server
/
handler_coke.c
diff --git
a/src/server/handler_coke.c
b/src/server/handler_coke.c
index
53cbd0f
..
c937756
100644
(file)
--- a/
src/server/handler_coke.c
+++ b/
src/server/handler_coke.c
@@
-37,13
+37,12
@@
regex_t gCoke_StatusRegex;
int Coke_InitHandler()
{
printf("connecting to coke machine...\n");
int Coke_InitHandler()
{
printf("connecting to coke machine...\n");
- giCoke_SerialFD = open(gsCoke_SerialPort, O_RDWR | O_NOCTTY | O_NONBLOCK);
+
+ giCoke_SerialFD = InitSerial(gsCoke_SerialPort, 9600);
if( giCoke_SerialFD == -1 ) {
fprintf(stderr, "ERROR: Unable to open coke serial port ('%s')\n", gsCoke_SerialPort);
}
if( giCoke_SerialFD == -1 ) {
fprintf(stderr, "ERROR: Unable to open coke serial port ('%s')\n", gsCoke_SerialPort);
}
- InitSerial(giCoke_SerialFD, 9600);
-
CompileRegex(&gCoke_StatusRegex, "^slot\\s+(\\d)\\s+([^:]+):([a-zA-Z]+)\\s*", REG_EXTENDED);
return 0;
}
CompileRegex(&gCoke_StatusRegex, "^slot\\s+(\\d)\\s+([^:]+):([a-zA-Z]+)\\s*", REG_EXTENDED);
return 0;
}
@@
-61,6
+60,9
@@
int Coke_CanDispense(int User, int Item)
sprintf(tmp, "s%i\n", Item);
write(giCoke_SerialFD, tmp, 2);
sprintf(tmp, "s%i\n", Item);
write(giCoke_SerialFD, tmp, 2);
+ // Wait a little
+ sleep(250);
+
// Read the response
tmp[0] = '\0';
ret = read(giCoke_SerialFD, tmp, sizeof(tmp)-1);
// Read the response
tmp[0] = '\0';
ret = read(giCoke_SerialFD, tmp, sizeof(tmp)-1);
@@
-99,6
+101,9
@@
int Coke_DoDispense(int User, int Item)
// Dispense
sprintf(tmp, "d%i\n", Item);
write(giCoke_SerialFD, tmp, 2);
// Dispense
sprintf(tmp, "d%i\n", Item);
write(giCoke_SerialFD, tmp, 2);
+
+ // Wait a little
+ sleep(250);
// Get status
read(giCoke_SerialFD, tmp, sizeof(tmp)-1);
// Get status
read(giCoke_SerialFD, tmp, sizeof(tmp)-1);
UCC
git Repository :: git.ucc.asn.au