diff --git a/dispsrv.conf b/dispsrv.conf index ae1d954b9b5b95debb2e4698266c0514c6c3d2f8..c9aa947034641876b62491f8b2092f961da68705 100644 --- a/dispsrv.conf +++ b/dispsrv.conf @@ -9,6 +9,8 @@ items_file items.cfg # PLC - coke brain #coke_modbus_address 130.95.13.73 coke_modbus_address 0.0.0.0 +# 502 is default modbus port, virtualcoke uses 1502 +coke_modbus_port 502 # Zero price items, defaults to off test_mode no diff --git a/src/server/handler_coke.c b/src/server/handler_coke.c index b9a9cf3271bbbd6e0a30e8441d7eee1ef165855b..a52e373852d4c4e1df6be3664683c552f51c0cf9 100644 --- a/src/server/handler_coke.c +++ b/src/server/handler_coke.c @@ -49,6 +49,7 @@ tHandler gCoke_Handler = { Coke_DoDispense }; const char *gsCoke_ModbusAddress = "130.95.13.73"; + int giCoke_ModbusPort = 502; modbus_t *gCoke_Modbus; time_t gtCoke_LastDispenseTime; time_t gtCoke_LastReconnectTime; @@ -126,7 +127,7 @@ int Coke_int_ConnectToPLC(void) if( !gCoke_Modbus ) { - gCoke_Modbus = modbus_new_tcp(gsCoke_ModbusAddress, 502); + gCoke_Modbus = modbus_new_tcp(gsCoke_ModbusAddress, giCoke_ModbusPort); if( !gCoke_Modbus ) { perror("coke - modbus_new_tcp"); diff --git a/src/server/main.c b/src/server/main.c index cbebee28e92f2de0bc0a4979a60b4cef3ec61b6a..efa354e2f99ad5eff9f1748716736f85c7e2724d 100644 --- a/src/server/main.c +++ b/src/server/main.c @@ -31,6 +31,7 @@ extern int gbServer_RunInBackground; extern int giServer_Port; extern const char *gsItemListFile; extern const char *gsCoke_ModbusAddress; +extern int giCoke_ModbusPort; extern const char *gsDoor_SerialPort; extern bool gbSyslogEnabled; @@ -126,13 +127,15 @@ int main(int argc, char *argv[]) gbServer_RunInBackground = Config_GetValue_Bool("daemonise", 0); gsCokebankPath = Config_GetValue("cokebank_database", 0); gsDoor_SerialPort = Config_GetValue("door_serial_port", 0); - gsCoke_ModbusAddress = Config_GetValue("coke_modbus_address", 0); giServer_Port = Config_GetValue_Int("server_port", 0); gsItemListFile = Config_GetValue("items_file", 0); gbNoCostMode = (Config_GetValue_Bool("test_mode", 0) == 1); gbSyslogEnabled = (Config_GetValue_Bool("disable_syslog", 0) == 0); + gsCoke_ModbusAddress = Config_GetValue("coke_modbus_address", 0); + giCoke_ModbusPort = Config_GetValue_Int("coke_modbus_port", 0); + signal(SIGINT, sigint_handler); signal(SIGTERM, sigint_handler);