MakeConfig.can
Added OnModbusClientPanics() better output Common.cin Changed output sink to CAPL
This commit is contained in:
parent
3d9c1cca10
commit
7fc38537b3
5 changed files with 46 additions and 35 deletions
|
@ -1,4 +1,4 @@
|
||||||
;CANoe Version |4|7|1|52133 MakeConfig
|
;CANoe Version |4|7|1|35748 MakeConfig
|
||||||
Version: 8.2.40 Build 40
|
Version: 8.2.40 Build 40
|
||||||
32 PRO
|
32 PRO
|
||||||
5
|
5
|
||||||
|
@ -2933,7 +2933,7 @@ End_Of_Object VGrMnBox 3
|
||||||
VDOLocalInfoStruct 3 Begin_Of_Object
|
VDOLocalInfoStruct 3 Begin_Of_Object
|
||||||
3
|
3
|
||||||
1
|
1
|
||||||
74
|
77
|
||||||
VDAOBus 4 Begin_Of_Object
|
VDAOBus 4 Begin_Of_Object
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
@ -3063,7 +3063,7 @@ VSimulinkModelViewerConfiguration 7 Begin_Of_Object
|
||||||
End_Of_Object VSimulinkModelViewerConfiguration 7
|
End_Of_Object VSimulinkModelViewerConfiguration 7
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
3737284963
|
566845561
|
||||||
0
|
0
|
||||||
NodeSignalPanelBustypeCount 0
|
NodeSignalPanelBustypeCount 0
|
||||||
End_Of_Object VSimulationNode 6
|
End_Of_Object VSimulationNode 6
|
||||||
|
@ -3101,7 +3101,7 @@ NULL
|
||||||
End_Of_Object VDOLocalInfoStruct 3
|
End_Of_Object VDOLocalInfoStruct 3
|
||||||
0.000000
|
0.000000
|
||||||
0 0
|
0 0
|
||||||
1 1 0 59420 1 233 1 2882400001 98 331 309 611 2882400002 0 0 0 0 0 0 1 2882400001 1270 1270 311 311 2882400002 0 0 0 526434840 0 526135044 3
|
1 1 0 59420 1 233 1 2882400001 98 331 309 611 2882400002 0 0 0 0 0 0 1 2882400001 1270 1270 311 311 2882400002 0 0 0 528538608 0 526135044 3
|
||||||
SS_BEGIN_COMMON_INFO
|
SS_BEGIN_COMMON_INFO
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
|
@ -3113,7 +3113,7 @@ Ethernet
|
||||||
11
|
11
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
345908232 1 0 1 0 0 1 0 0 0 2000 1
|
345965688 1 0 1 0 0 1 0 0 0 2000 1
|
||||||
SS_BEGIN_COMMON_INFO
|
SS_BEGIN_COMMON_INFO
|
||||||
1
|
1
|
||||||
3
|
3
|
||||||
|
@ -3224,7 +3224,7 @@ End_Of_Serialized_Data 2
|
||||||
End_Of_Object VWriteBox 2
|
End_Of_Object VWriteBox 2
|
||||||
VWinStore 2 Begin_Of_Object
|
VWinStore 2 Begin_Of_Object
|
||||||
1
|
1
|
||||||
22 2 3 -1 -1 -1 -1 -10088 -10000 -9070 -9233
|
22 2 3 -32088 -32000 -1 -1 0 0 930 767
|
||||||
End_Of_Child_List
|
End_Of_Child_List
|
||||||
End_Of_Object VWinStore 2
|
End_Of_Object VWinStore 2
|
||||||
VWinStore 2 Begin_Of_Object
|
VWinStore 2 Begin_Of_Object
|
||||||
|
|
|
@ -48,7 +48,7 @@ on preStart
|
||||||
|
|
||||||
// Scan a range of IPs for devices. Start and Stop go here
|
// Scan a range of IPs for devices. Start and Stop go here
|
||||||
// Please note: Currelty .255 will be skipped!
|
// Please note: Currelty .255 will be skipped!
|
||||||
strncpy(gScanFirstIp, "192.168.1.1", 16);
|
strncpy(gScanFirstIp, "192.168.1.2", 16);
|
||||||
strncpy(gScanLastIp, "192.168.1.10", 16);
|
strncpy(gScanLastIp, "192.168.1.10", 16);
|
||||||
|
|
||||||
// Name of the project
|
// Name of the project
|
||||||
|
@ -56,6 +56,8 @@ on preStart
|
||||||
// Paths to the generated files relative to .cfg
|
// Paths to the generated files relative to .cfg
|
||||||
strncpy(fnSysvar, "include/SysVars/generated.vsysvar", elCount(fnSysvar));
|
strncpy(fnSysvar, "include/SysVars/generated.vsysvar", elCount(fnSysvar));
|
||||||
strncpy(fnDbc, "include/DBC/generated.dbc", elCount(fnDbc));
|
strncpy(fnDbc, "include/DBC/generated.dbc", elCount(fnDbc));
|
||||||
|
|
||||||
|
OutputDebugLevel = Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
on start
|
on start
|
||||||
|
@ -96,6 +98,7 @@ void DetectDevices()
|
||||||
write("Scanning from %s to %s with timeout of %d ms", gScanFirstIp, gScanLastIp, @sysvar::Config::Modbus::RequestTimeout);
|
write("Scanning from %s to %s with timeout of %d ms", gScanFirstIp, gScanLastIp, @sysvar::Config::Modbus::RequestTimeout);
|
||||||
gScanFirst = ipGetAddressAsNumber(gScanFirstIp);
|
gScanFirst = ipGetAddressAsNumber(gScanFirstIp);
|
||||||
gScanLast = ipGetAddressAsNumber(gScanLastIp);
|
gScanLast = ipGetAddressAsNumber(gScanLastIp);
|
||||||
|
write("%d.%d.%d.%d ", gScanFirst & 0xFF, (gScanFirst >> 8) & 0xFF, (gScanFirst >> 16) & 0xFF, gScanFirst >> 24);
|
||||||
ModbusConnectTo(gScanFirst, @sysvar::Config::Modbus::Port);
|
ModbusConnectTo(gScanFirst, @sysvar::Config::Modbus::Port);
|
||||||
ModbusReadBits(0, 1);
|
ModbusReadBits(0, 1);
|
||||||
}
|
}
|
||||||
|
@ -133,7 +136,7 @@ void DetectDevicesNext()
|
||||||
MakeIpNets();
|
MakeIpNets();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
writeEx(0, 1, ".");
|
writeEx(1, 1, ".");
|
||||||
gRemoteIP = gScanFirst; // Don't open new socket, it takes too much time.
|
gRemoteIP = gScanFirst; // Don't open new socket, it takes too much time.
|
||||||
ModbusReadBits(0, 1);
|
ModbusReadBits(0, 1);
|
||||||
}
|
}
|
||||||
|
@ -143,7 +146,7 @@ void OnModbusReadBitsFailed(enum ModbusRequestError error, enum ModbusException
|
||||||
DetectDevicesNext();
|
DetectDevicesNext();
|
||||||
}
|
}
|
||||||
/// <Step1>
|
/// <Step1>
|
||||||
void OnModbusReadBitsSuccess(struct ModbusResReceiveBits mbr, byte bitStatus[], word numBits)
|
void OnModbusReadBitsSuccess(struct ModbusResReceiveBits mbres, byte bitStatus[], struct ModbusReqRead mbreq)
|
||||||
{
|
{
|
||||||
ipGetAddressAsString(gScanFirst, gIps[gScanFirst], 16);
|
ipGetAddressAsString(gScanFirst, gIps[gScanFirst], 16);
|
||||||
DetectDevicesNext();
|
DetectDevicesNext();
|
||||||
|
@ -245,33 +248,27 @@ void OnModbusReadRegistersFailed(enum ModbusRequestError error, enum ModbusExcep
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <Step3>
|
/// <Step3>
|
||||||
void OnModbusReadRegistersSuccess(struct ModbusResReceiveRegisters mbr, word numRegs)
|
void OnModbusReadRegistersSuccess(struct ModbusResReceiveRegisters mbres, struct ModbusReqRead mbreq)
|
||||||
{
|
{
|
||||||
byte i;
|
byte i;
|
||||||
struct ModbusReqRead mbrq;
|
|
||||||
|
|
||||||
if (!gQueueAck.ContainsKey(mbr.Header.TxID))
|
switch (mbreq.Address)
|
||||||
return;
|
|
||||||
|
|
||||||
memcpy_n2h(mbrq, gQueueAck[mbr.Header.TxID].Buffer);
|
|
||||||
|
|
||||||
switch (mbrq.Address)
|
|
||||||
{
|
{
|
||||||
case 0x2011:
|
case 0x2011:
|
||||||
gIpsSorted[ips[ADi]].serialCode = mbr.Data[0];
|
gIpsSorted[ips[ADi]].serialCode = mbres.Data[0];
|
||||||
break;
|
break;
|
||||||
case 0x2012:
|
case 0x2012:
|
||||||
gIpsSorted[ips[ADi]].deviceCode = mbr.Data[0];
|
gIpsSorted[ips[ADi]].deviceCode = mbres.Data[0];
|
||||||
break;
|
break;
|
||||||
case 0x2030:
|
case 0x2030:
|
||||||
case 0x2031:
|
case 0x2031:
|
||||||
case 0x2032:
|
case 0x2032:
|
||||||
case 0x2033:
|
case 0x2033:
|
||||||
for (i = 0; i < 65; i++)
|
for (i = 0; i < mbreq.Count; i++)
|
||||||
{
|
{
|
||||||
if (mbr.Data[i] == 0x0000)
|
if (mbres.Data[i] == 0x0000)
|
||||||
break;
|
break;
|
||||||
ParseDeviceCode(mbr.Data[i], gIpsSorted[ips[ADi]].Vendor, gIpsSorted[ips[ADi]].DeviceIOs);
|
ParseDeviceCode(mbres.Data[i], gIpsSorted[ips[ADi]].Vendor, gIpsSorted[ips[ADi]].DeviceIOs);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -493,6 +490,21 @@ void GenDbc()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <zzzModbus>
|
||||||
|
void OnModbusClientPanics(enum FatalErrors reason)
|
||||||
|
{
|
||||||
|
writeLineEx(0, 4, "<%NODE_NAME%> FATAL! %d", reason);
|
||||||
|
switch(reason)
|
||||||
|
{
|
||||||
|
case ParsingBuffer:
|
||||||
|
case ModbusPackageWasSplit:
|
||||||
|
case DeviceCodeUnknown:
|
||||||
|
case VendorIdUnknown:
|
||||||
|
case ConnectionError:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
/// <zzzModbus>
|
/// <zzzModbus>
|
||||||
void OnModbusWriteBitFailed(enum ModbusRequestError error, enum ModbusException ex, struct ModbusApHeader mbap){}
|
void OnModbusWriteBitFailed(enum ModbusRequestError error, enum ModbusException ex, struct ModbusApHeader mbap){}
|
||||||
/// <zzzModbus>
|
/// <zzzModbus>
|
||||||
|
|
|
@ -46,7 +46,7 @@ void writeDbg(enum DebugLvl lvl, char format[])
|
||||||
lVl = (byte)lvl >> 4;
|
lVl = (byte)lvl >> 4;
|
||||||
|
|
||||||
writeDbgFormat(lVl, msg, format);
|
writeDbgFormat(lVl, msg, format);
|
||||||
writeLineEx(0, lVl, msg);
|
writeLineEx(1, lVl, msg);
|
||||||
}
|
}
|
||||||
/// <writeDbg>
|
/// <writeDbg>
|
||||||
void writeDbg(enum DebugLvl lvl, char format[], char string[])
|
void writeDbg(enum DebugLvl lvl, char format[], char string[])
|
||||||
|
@ -59,7 +59,7 @@ void writeDbg(enum DebugLvl lvl, char format[], char string[])
|
||||||
lVl = (byte)lvl >> 4;
|
lVl = (byte)lvl >> 4;
|
||||||
|
|
||||||
writeDbgFormat(lVl, msg, format);
|
writeDbgFormat(lVl, msg, format);
|
||||||
writeLineEx(0, lVl, msg, string);
|
writeLineEx(1, lVl, msg, string);
|
||||||
}
|
}
|
||||||
/// <writeDbg>
|
/// <writeDbg>
|
||||||
void writeDbg(enum DebugLvl lvl, char format[], char string1[], char string2[])
|
void writeDbg(enum DebugLvl lvl, char format[], char string1[], char string2[])
|
||||||
|
@ -72,7 +72,7 @@ void writeDbg(enum DebugLvl lvl, char format[], char string1[], char string2[])
|
||||||
lVl = (byte)lvl >> 4;
|
lVl = (byte)lvl >> 4;
|
||||||
|
|
||||||
writeDbgFormat(lVl, msg, format);
|
writeDbgFormat(lVl, msg, format);
|
||||||
writeLineEx(0, lVl, msg, string1, string2);
|
writeLineEx(1, lVl, msg, string1, string2);
|
||||||
}
|
}
|
||||||
/// <writeDbg>
|
/// <writeDbg>
|
||||||
void writeDbg(enum DebugLvl lvl, char format[], long num, char string[])
|
void writeDbg(enum DebugLvl lvl, char format[], long num, char string[])
|
||||||
|
@ -85,7 +85,7 @@ void writeDbg(enum DebugLvl lvl, char format[], long num, char string[])
|
||||||
lVl = (byte)lvl >> 4;
|
lVl = (byte)lvl >> 4;
|
||||||
|
|
||||||
writeDbgFormat(lVl, msg, format);
|
writeDbgFormat(lVl, msg, format);
|
||||||
writeLineEx(0, lVl, msg, num, string);
|
writeLineEx(1, lVl, msg, num, string);
|
||||||
}
|
}
|
||||||
/// <writeDbg>
|
/// <writeDbg>
|
||||||
void writeDbg(enum DebugLvl lvl, char format[], char string[], long num)
|
void writeDbg(enum DebugLvl lvl, char format[], char string[], long num)
|
||||||
|
@ -98,7 +98,7 @@ void writeDbg(enum DebugLvl lvl, char format[], char string[], long num)
|
||||||
lVl = (byte)lvl >> 4;
|
lVl = (byte)lvl >> 4;
|
||||||
|
|
||||||
writeDbgFormat(lVl, msg, format);
|
writeDbgFormat(lVl, msg, format);
|
||||||
writeLineEx(0, lVl, msg, string, num);
|
writeLineEx(1, lVl, msg, string, num);
|
||||||
}
|
}
|
||||||
/// <writeDbg>
|
/// <writeDbg>
|
||||||
void writeDbg(enum DebugLvl lvl, char format[], long num1)
|
void writeDbg(enum DebugLvl lvl, char format[], long num1)
|
||||||
|
@ -111,7 +111,7 @@ void writeDbg(enum DebugLvl lvl, char format[], long num1)
|
||||||
lVl = (byte)lvl >> 4;
|
lVl = (byte)lvl >> 4;
|
||||||
|
|
||||||
writeDbgFormat(lVl, msg, format);
|
writeDbgFormat(lVl, msg, format);
|
||||||
writeLineEx(0, lVl, msg, num1);
|
writeLineEx(1, lVl, msg, num1);
|
||||||
}
|
}
|
||||||
/// <writeDbg>
|
/// <writeDbg>
|
||||||
void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2, char string[])
|
void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2, char string[])
|
||||||
|
@ -124,7 +124,7 @@ void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2, char strin
|
||||||
lVl = (byte)lvl >> 4;
|
lVl = (byte)lvl >> 4;
|
||||||
|
|
||||||
writeDbgFormat(lVl, msg, format);
|
writeDbgFormat(lVl, msg, format);
|
||||||
writeLineEx(0, lVl, msg, num1, num2, string);
|
writeLineEx(1, lVl, msg, num1, num2, string);
|
||||||
}
|
}
|
||||||
/// <writeDbg>
|
/// <writeDbg>
|
||||||
void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2)
|
void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2)
|
||||||
|
@ -137,7 +137,7 @@ void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2)
|
||||||
lVl = (byte)lvl >> 4;
|
lVl = (byte)lvl >> 4;
|
||||||
|
|
||||||
writeDbgFormat(lVl, msg, format);
|
writeDbgFormat(lVl, msg, format);
|
||||||
writeLineEx(0, lVl, msg, num1, num2);
|
writeLineEx(1, lVl, msg, num1, num2);
|
||||||
}
|
}
|
||||||
/// <writeDbg>
|
/// <writeDbg>
|
||||||
void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2, long num3)
|
void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2, long num3)
|
||||||
|
@ -150,7 +150,7 @@ void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2, long num3)
|
||||||
lVl = (byte)lvl >> 4;
|
lVl = (byte)lvl >> 4;
|
||||||
|
|
||||||
writeDbgFormat(lVl, msg, format);
|
writeDbgFormat(lVl, msg, format);
|
||||||
writeLineEx(0, lVl, msg, num1, num2, num3);
|
writeLineEx(1, lVl, msg, num1, num2, num3);
|
||||||
}
|
}
|
||||||
/// <writeDbg>
|
/// <writeDbg>
|
||||||
void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2, long num3, long num4)
|
void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2, long num3, long num4)
|
||||||
|
@ -163,7 +163,7 @@ void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2, long num3,
|
||||||
lVl = (byte)lvl >> 4;
|
lVl = (byte)lvl >> 4;
|
||||||
|
|
||||||
writeDbgFormat(lVl, msg, format);
|
writeDbgFormat(lVl, msg, format);
|
||||||
writeLineEx(0, lVl, msg, num1, num2, num3, num4);
|
writeLineEx(1, lVl, msg, num1, num2, num3, num4);
|
||||||
}
|
}
|
||||||
/// <writeDbg>
|
/// <writeDbg>
|
||||||
void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2, long num3, long num4, long num5, long num6)
|
void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2, long num3, long num4, long num5, long num6)
|
||||||
|
@ -176,7 +176,7 @@ void writeDbg(enum DebugLvl lvl, char format[], long num1, long num2, long num3,
|
||||||
lVl = (byte)lvl >> 4;
|
lVl = (byte)lvl >> 4;
|
||||||
|
|
||||||
writeDbgFormat(lVl, msg, format);
|
writeDbgFormat(lVl, msg, format);
|
||||||
writeLineEx(0, lVl, msg, num1, num2, num3, num4, num5, num6);
|
writeLineEx(1, lVl, msg, num1, num2, num3, num4, num5, num6);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
includes
|
includes
|
||||||
{
|
{
|
||||||
#include "ModbusCommonStructs.cin"
|
#include "ModbusCommonStructs.cin"
|
||||||
#include "Common.cin"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
variables
|
variables
|
||||||
|
|
|
@ -111,7 +111,7 @@ void UdpRecv()
|
||||||
if (gIpLastErr != WSA_IO_PENDING) // Calling OnUdpReceive otherwise
|
if (gIpLastErr != WSA_IO_PENDING) // Calling OnUdpReceive otherwise
|
||||||
{
|
{
|
||||||
gSocket.GetLastSocketErrorAsString(gIpLastErrStr, elCount(gIpLastErrStr));
|
gSocket.GetLastSocketErrorAsString(gIpLastErrStr, elCount(gIpLastErrStr));
|
||||||
writeDbg(ConnError, "UdpReceiveFrom Error (%d): %s", gIpLastErr, gIpLastErrStr);
|
writeDbg(ConnError, "UdpReceiveFrom: (%d) %s", gIpLastErr, gIpLastErrStr);
|
||||||
UdpDisconnect();
|
UdpDisconnect();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue