X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=src%2Fserver%2Fhandler_coke.c;h=ff051c8400b283f9a4239b85f824784bd03220e4;hb=008596161453e64354973268125058b49aee60d3;hp=6908aece32c55129f31643237acb44d69bd6cde7;hpb=15038b1c31d2912682dccdc553258f6431952105;p=tpg%2Fopendispense2.git diff --git a/src/server/handler_coke.c b/src/server/handler_coke.c index 6908aec..ff051c8 100644 --- a/src/server/handler_coke.c +++ b/src/server/handler_coke.c @@ -107,9 +107,9 @@ int Coke_DoDispense(int UNUSED(User), int Item) if( time(NULL) - gtCoke_LastDispenseTime < ciCoke_MinPeriod ) { int delay = ciCoke_MinPeriod - (time(NULL) - gtCoke_LastDispenseTime); - printf("Wait %i seconds?\n", delay); + Debug_Debug("Waiting for %i seconds (rate limit)", delay); sleep( delay ); - printf("wait done\n"); + Debug_Debug("wait done"); } gtCoke_LastDispenseTime = time(NULL); @@ -133,8 +133,11 @@ int Coke_int_ConnectToPLC(void) return 1; } } - printf("Connecting to coke PLC machine on '%s'\n", gsCoke_ModbusAddress); - fprintf(stderr, "Connecting to coke PLC machine on '%s'\n", gsCoke_ModbusAddress); + else { + // Preven resource leaks + modbus_close(gCoke_Modbus); + } + Debug_Notice("Connecting to coke PLC machine on '%s'\n", gsCoke_ModbusAddress); if( modbus_connect(gCoke_Modbus) ) { @@ -227,7 +230,8 @@ int Coke_int_DropSlot(int Slot) if( res == 0 ) { // Oops!, no drink - printf("Drink dispense failed, bit lowered too quickly\n"); + Log_Error("Drink dispense failed, bit lowered too quickly"); + Debug_Notice("Drink dispense failed, bit lowered too quickly"); return 1; } @@ -255,6 +259,7 @@ int _WriteBit(int BitNum, uint8_t Value) return -1; if( modbus_write_bit( gCoke_Modbus, BitNum, Value != 0 ) >= 0 ) return 0; + // Error case if( Coke_int_ConnectToPLC() ) return -1; if( modbus_write_bit( gCoke_Modbus, BitNum, Value != 0 ) >= 0 )