X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=src%2Fserver%2Fhandler_coke.c;h=fffa7b663d60f18bb09987a18a1aca4d56916671;hb=989710c614c291be681e272d96a0b65eb164232c;hp=fb58f799b337307d0964ba6a85b73f158b4d2931;hpb=0e15ed888a4d398530a74a6b713414e649767358;p=tpg%2Fopendispense2.git diff --git a/src/server/handler_coke.c b/src/server/handler_coke.c index fb58f79..fffa7b6 100644 --- a/src/server/handler_coke.c +++ b/src/server/handler_coke.c @@ -73,6 +73,8 @@ int Coke_InitHandler() // Reset the slot names. // - Dunno why this is needed, but the machine plays silly // sometimes. + Writef("\r\n\r\n"); + WaitForColon(); Writef("n0 Slot0\r\n"); if( !WaitForColon() ) { @@ -186,7 +188,11 @@ int Coke_CanDispense(int UNUSED(User), int Item) // Can't dispense if the machine is not connected if( giCoke_SerialFD == -1 ) return -2; - + + // HACK! + // 2011-10-21: The sensors in slot 1 and 3 a bad, just ignore the sensor result + if( Item == 1 || Item == 3 ) return 0; + return gaCoke_CachedStatus[Item]; } @@ -304,7 +310,10 @@ char ReadChar() FD_SET(giCoke_SerialFD, &readfs); ret = select(giCoke_SerialFD+1, &readfs, NULL, NULL, &timeout); - if( ret == 0 ) return 0; // Timeout + if( ret == 0 ) { + fprintf(stderr, "ReadChar: Timeout of %is expired\n", READ_TIMEOUT); + return 0; // Timeout + } if( ret != 1 ) { printf("ReadChar: select return %i\n", ret); return 0;