#include <string.h>
static int16_t ECU_Pgn00000(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn61440(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn61443(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn61444(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn65240(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn65242(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn65247(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn65251(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn65253(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn65260(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn65262(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn65263(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn65265(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn65266(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn65269(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn65270(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
static int16_t ECU_Pgn65271(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV);
#define PGN_TRANSMISSION_RATE 10
static const char szSoftwareVersionT[] = "Version 4.16*";
static const char szSoftwareDateT[] = "09/30/2024*";
typedef struct ECU_Control_s {
uint8_t ubDevice;
uint8_t ubMode;
uint8_t ubTorque;
uint16_t uwSpeed;
} ECU_Control_ts;
static ECU_Control_ts tsECU_ControlS;
(uint32_t) 0,
(uint16_t) 2000,
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
ECU_Pgn00000
},
(uint32_t) 57088,
(uint16_t) 0,
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
},
(uint32_t) 61440,
(uint16_t) (PGN_TRANSMISSION_RATE * 10),
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
ECU_Pgn61440
},
(uint32_t) 61443,
(uint16_t) (PGN_TRANSMISSION_RATE),
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
ECU_Pgn61443
},
(uint32_t) 61444,
(uint16_t) (PGN_TRANSMISSION_RATE),
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
ECU_Pgn61444
},
(uint32_t) 65226,
(uint16_t) 0,
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
},
(uint32_t) 65227,
(uint16_t) 0,
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
},
(uint32_t) 65240,
(uint16_t) 0,
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 9,
ECU_Pgn65240
},
(uint32_t) 65242,
(uint16_t) 0,
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 25,
ECU_Pgn65242
},
(uint32_t) 65247,
(uint16_t) (PGN_TRANSMISSION_RATE * 25),
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
ECU_Pgn65247
},
(uint32_t) 65251,
(uint16_t) (PGN_TRANSMISSION_RATE * 500),
(uint16_t) 0,
(uint8_t) 255,
(uint8_t) 0,
(uint16_t) 40,
ECU_Pgn65251
},
(uint32_t) 65253,
(uint16_t) 0,
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
ECU_Pgn65253
},
(uint32_t) 65260,
(uint16_t) 0,
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
ECU_Pgn65260
},
(uint32_t) 65262,
(uint16_t) (PGN_TRANSMISSION_RATE * 100),
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
ECU_Pgn65262
},
(uint32_t) 65263,
(uint16_t) (PGN_TRANSMISSION_RATE * 50),
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
ECU_Pgn65263
},
(uint32_t) 65265,
(uint16_t) (PGN_TRANSMISSION_RATE * 10),
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
ECU_Pgn65265
},
(uint32_t) 65266,
(uint16_t) (PGN_TRANSMISSION_RATE * 10),
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
ECU_Pgn65266
},
(uint32_t) 65269,
(uint16_t) (PGN_TRANSMISSION_RATE * 100),
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
ECU_Pgn65269
},
(uint32_t) 65270,
(uint16_t) (PGN_TRANSMISSION_RATE * 50),
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
ECU_Pgn65270
},
(uint32_t) 65271,
(uint16_t) (PGN_TRANSMISSION_RATE * 100),
(uint16_t) 0,
(uint8_t) 0,
(uint8_t) 0,
(uint16_t) 8,
ECU_Pgn65271
},
{ (uint16_t) 0xFFFF, 0, 0, 0, 0, 0, 0, 0L }
};
static int16_t ECU_Pgn00000(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
J1939_Payload_ts *ptsPayloadT = (J1939_Payload_ts *) pubDataV;
uint16_t uwSpeedT;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
uwSpeedT = ptsPayloadT->aubByte[2];
uwSpeedT <<= 8;
uwSpeedT += ptsPayloadT->aubByte[1];
tsECU_ControlS.ubDevice = ubSrcAddrV;
tsECU_ControlS.ubMode = ptsPayloadT->aubByte[0];
tsECU_ControlS.uwSpeed = uwSpeedT;
tsECU_ControlS.ubTorque = ptsPayloadT->aubByte[3];
}
static int16_t ECU_Pgn61440(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
J1939_Payload_ts *ptsPayloadT = (J1939_Payload_ts *) pubDataV;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
ptsPayloadT->aubByte[0] = (uint8_t) 0x52;
ptsPayloadT->aubByte[1] = (uint8_t) 125;
ptsPayloadT->aubByte[2] = (uint8_t) 125;
ptsPayloadT->aubByte[3] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[4] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[5] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[6] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[7] = J1939_UNUSED_UINT8;
}
static int16_t ECU_Pgn61443(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
J1939_Payload_ts *ptsPayloadT = (J1939_Payload_ts *) pubDataV;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
ptsPayloadT->aubByte[0] = 0x00;
ptsPayloadT->aubByte[1] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[2] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[3] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[4] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[5] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[6] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[7] = J1939_UNUSED_UINT8;
}
static int16_t ECU_Pgn61444(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
J1939_Payload_ts *ptsPayloadT = (J1939_Payload_ts *) pubDataV;
static uint16_t uwSpeedS = 200 * 8;
static uint8_t ubTorqueS = (uint8_t) 125;
static uint8_t ubSimDirS = 1;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
ubTorqueS += (uint8_t) 1;
if (ubTorqueS > ((uint8_t) 200))
{
ubTorqueS = (uint8_t) 125;
}
if (tsECU_ControlS.uwSpeed == (uint16_t) 0)
{
if (ubSimDirS == (uint8_t) 1)
{
uwSpeedS = uwSpeedS + (uint16_t) 8;
if (uwSpeedS / (uint16_t) 8 > (uint16_t) 2200)
{
ubSimDirS = 0;
}
}
else
{
uwSpeedS = uwSpeedS - (uint16_t) 8;
if (uwSpeedS / (uint16_t) 8 < (uint16_t) 200)
{
ubSimDirS = 1;
}
}
}
else
{
if (tsECU_ControlS.uwSpeed > uwSpeedS)
{
uwSpeedS = uwSpeedS + (uint16_t) 8;
}
if (tsECU_ControlS.uwSpeed < uwSpeedS)
{
uwSpeedS = uwSpeedS - (uint16_t) 8;
}
}
ptsPayloadT->aubByte[0] = 0x01;
ptsPayloadT->aubByte[1] = ubTorqueS;
ptsPayloadT->aubByte[2] = ubTorqueS;
ptsPayloadT->aubByte[3] = (uint8_t) uwSpeedS;
ptsPayloadT->aubByte[4] = (uint8_t) (uwSpeedS >> 8);
ptsPayloadT->aubByte[5] = tsECU_ControlS.ubDevice;
ptsPayloadT->aubByte[6] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[7] = J1939_UNUSED_UINT8;
}
static int16_t ECU_Pgn65240(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
uint8_t ubNewAddressT;
(void) ubSrcAddrV;
(void) ubNetV;
if( (J1939_NmtCompareName(ubNetV, pubDataV) == (uint8_t)
eJ1939_NAME_EQUAL) && (uwSizeV == (uint16_t) 9) )
{
ubNewAddressT = *(pubDataV + 8);
{
(void) J1939_MgrInitMsgBuffer(ubNetV, ubNewAddressT);
J1939_NmtClaimAddress(ubNetV);
}
}
}
static int16_t ECU_Pgn65242(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
uint8_t ubNumOfFieldsT = 2;
uint8_t ubDataCntT;
uint16_t uwSizeT;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
uwSizeT = (uint16_t) (strlen(&szSoftwareVersionT[0]));
uwSizeT += (uint16_t) (strlen(&szSoftwareDateT[0]));
uwSizeT += (uint16_t) 1;
*pubDataV = ubNumOfFieldsT;
pubDataV++;
for (ubDataCntT = 0; ubDataCntT < strlen(&szSoftwareVersionT[0]); ubDataCntT++)
{
*pubDataV = (uint8_t) (szSoftwareVersionT[ubDataCntT]);
pubDataV++;
}
for(ubDataCntT = 0; ubDataCntT < strlen(&szSoftwareDateT[0]); ubDataCntT++)
{
*pubDataV = (uint8_t) (szSoftwareDateT[ubDataCntT]);
pubDataV++;
}
}
static int16_t ECU_Pgn65247(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
J1939_Payload_ts *ptsPayloadT = (J1939_Payload_ts *) pubDataV;
uint16_t uwSpeedT;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
ptsPayloadT->aubByte[0] = (uint8_t) 125;
uwSpeedT = tsECU_ControlS.uwSpeed;
ptsPayloadT->aubByte[1] = (uint8_t) uwSpeedT;
uwSpeedT >>= 8;
ptsPayloadT->aubByte[2] = (uint8_t) uwSpeedT;
ptsPayloadT->aubByte[3] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[4] = (uint8_t)(125 + 10);
ptsPayloadT->aubByte[5] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[6] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[7] = J1939_UNUSED_UINT8;
}
static int16_t ECU_Pgn65251(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
static uint8_t aubEngineConfigS[40];
uint8_t ubCntT;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
(void) memset(&aubEngineConfigS[0], J1939_UNUSED_UINT8, 40);
aubEngineConfigS[0] = 0x00;
aubEngineConfigS[1] = 0x19;
for (ubCntT = 0; ubCntT < (uint8_t) 40; ubCntT++)
{
*pubDataV = aubEngineConfigS[ubCntT];
pubDataV++;
}
}
static int16_t ECU_Pgn65253(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
static uint32_t ulHoursS;
static uint32_t ulRevolutionsS;
uint32_t ulDataT;
J1939_Payload_ts *ptsPayloadT = (J1939_Payload_ts *) pubDataV;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
ulRevolutionsS++;
ulRevolutionsS++;
ulHoursS++;
ulDataT = ulHoursS;
ptsPayloadT->aubByte[0] = (uint8_t) ulDataT;
ulDataT = ulDataT >> 8;
ptsPayloadT->aubByte[1] = (uint8_t) ulDataT;
ulDataT = ulDataT >> 8;
ptsPayloadT->aubByte[2] = (uint8_t) ulDataT;
ulDataT = ulDataT >> 8;
ptsPayloadT->aubByte[3] = (uint8_t) ulDataT;
ulDataT = ulRevolutionsS;
ptsPayloadT->aubByte[4] = (uint8_t) ulDataT;
ulDataT = ulDataT >> 8;
ptsPayloadT->aubByte[5] = (uint8_t) ulDataT;
ulDataT = ulDataT >> 8;
ptsPayloadT->aubByte[6] = (uint8_t) ulDataT;
ulDataT = ulDataT >> 8;
ptsPayloadT->aubByte[7] = (uint8_t) ulDataT;
}
static int16_t ECU_Pgn65260(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
const char szVehicleIdS[] = "SAE J1939 Stack*";
static uint16_t uwDataSizeT;
(void) uwSizeV;
(void) ubSrcAddrV;
uwDataSizeT = (uint16_t) strlen(szVehicleIdS);
(void) strncpy((char *) pubDataV, szVehicleIdS, uwDataSizeT);
}
static int16_t ECU_Pgn65262(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
J1939_Payload_ts *ptsPayloadT = (J1939_Payload_ts *) pubDataV;
static uint8_t ubCoolantTempS = (uint8_t) 80;
static uint8_t ubFuelTempS = (uint8_t) 60;
static uint16_t uwOilTempS = (uint16_t)(10016);
static uint8_t ubIncrementS = (uint8_t) 1;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
if (ubCoolantTempS > (uint8_t) 120)
{
ubIncrementS = 0;
}
if (ubCoolantTempS < (uint8_t) 100)
{
ubIncrementS = 1;
}
if (ubIncrementS > (uint8_t) 0)
{
ubCoolantTempS++;
uwOilTempS += (uint16_t) 16;
}
else
{
ubCoolantTempS--;
uwOilTempS -= (uint16_t) 16;
}
ptsPayloadT->aubByte[0] = ubCoolantTempS;
ptsPayloadT->aubByte[1] = ubFuelTempS;
ptsPayloadT->aubByte[2] = (uint8_t) uwOilTempS;
uwOilTempS >>= 8;
ptsPayloadT->aubByte[3] = (uint8_t) uwOilTempS;
ptsPayloadT->aubByte[4] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[5] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[6] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[7] = J1939_UNUSED_UINT8;
}
static int16_t ECU_Pgn65263(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
J1939_Payload_ts *ptsPayloadT = (J1939_Payload_ts *) pubDataV;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
ptsPayloadT->aubByte[0] = (uint8_t) 10;
ptsPayloadT->aubByte[1] = (uint8_t) 10;
ptsPayloadT->aubByte[2] = (uint8_t) 250;
ptsPayloadT->aubByte[3] = (uint8_t) 5;
ptsPayloadT->aubByte[4] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[5] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[6] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[7] = J1939_UNUSED_UINT8;
}
static int16_t ECU_Pgn65265(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
J1939_Payload_ts *ptsPayloadT = (J1939_Payload_ts *) pubDataV;
uint16_t uwWheelSpeedT;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
ptsPayloadT->aubByte[0] = (uint8_t) 0xC3;
uwWheelSpeedT = tsECU_ControlS.uwSpeed / ((uint16_t) 7);
ptsPayloadT->aubByte[2] = (uint8_t) uwWheelSpeedT;
uwWheelSpeedT >>= 8;
ptsPayloadT->aubByte[3] = (uint8_t) uwWheelSpeedT;
ptsPayloadT->aubByte[4] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[5] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[6] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[7] = J1939_UNUSED_UINT8;
}
static int16_t ECU_Pgn65266(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
J1939_Payload_ts *ptsPayloadT = (J1939_Payload_ts *) pubDataV;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
ptsPayloadT->aubByte[0] = 0x06;
ptsPayloadT->aubByte[1] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[2] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[3] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[4] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[5] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[6] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[7] = J1939_UNUSED_UINT8;
}
static int16_t ECU_Pgn65269(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
J1939_Payload_ts *ptsPayloadT = (J1939_Payload_ts *) pubDataV;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
ptsPayloadT->aubByte[0] = 0x09;
ptsPayloadT->aubByte[1] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[2] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[3] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[4] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[5] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[6] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[7] = J1939_UNUSED_UINT8;
}
static int16_t ECU_Pgn65270(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
J1939_Payload_ts *ptsPayloadT = (J1939_Payload_ts *) pubDataV;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
ptsPayloadT->aubByte[0] = (uint8_t)50;
ptsPayloadT->aubByte[1] = (uint8_t)50;
ptsPayloadT->aubByte[2] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[3] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[4] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[5] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[6] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[7] = J1939_UNUSED_UINT8;
}
static int16_t ECU_Pgn65271(uint8_t * pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
{
J1939_Payload_ts *ptsPayloadT = (J1939_Payload_ts *) pubDataV;
uint16_t uwVoltageT;
(void) uwSizeV;
(void) ubSrcAddrV;
(void) ubNetV;
ptsPayloadT->aubByte[0] = (uint8_t) 124;
ptsPayloadT->aubByte[1] = (uint8_t) 8;
uwVoltageT = (uint16_t) 276;
ptsPayloadT->aubByte[2] = (uint8_t) uwVoltageT;
uwVoltageT >>= 8;
ptsPayloadT->aubByte[3] = (uint8_t) uwVoltageT;
uwVoltageT = (uint16_t) 255;
ptsPayloadT->aubByte[4] = (uint8_t) uwVoltageT;
uwVoltageT >>= 8;
ptsPayloadT->aubByte[5] = (uint8_t) uwVoltageT;
ptsPayloadT->aubByte[6] = J1939_UNUSED_UINT8;
ptsPayloadT->aubByte[7] = J1939_UNUSED_UINT8;
}
{
(void) ubNetV;
tsECU_ControlS.ubMode = 0;
tsECU_ControlS.ubTorque = 0;
tsECU_ControlS.uwSpeed = 0;
}
#define J1939_PRIORITY_INFO
Definition j1939_defs.h:231
#define J1939_MSG_TRM
Definition j1939_defs.h:257
#define J1939_MSG_RCV
Definition j1939_defs.h:248
#define J1939_PRIORITY_CTRL
Definition j1939_defs.h:222
#define J1939_ADDR_NULL
Definition j1939_defs.h:286
@ eJ1939_HANDLER_RESULT_OK
Definition j1939_defs.h:515
#define J1939_PGN_HANDLER_SIZE_MASK
Definition j1939_defs.h:334
J1939_PGN_Entry_ts atsPgnListEcu1[]
J1939 Diagnostic Functions .
int16_t ECU_Pgn57088(uint8_t *pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
int16_t ECU_Pgn65226(uint8_t *pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
int16_t ECU_Pgn65227(uint8_t *pubDataV, uint16_t uwSizeV, uint8_t ubSrcAddrV, uint8_t ubNetV)
J1939 Management Functions .
J1939 Network management .
@ eJ1939_NAME_EQUAL
Definition j1939_nmt.h:125
void J1939_PgnListUserInit(uint8_t ubNetV)
J1939_Status_tv J1939_PgnSetDataSize(uint8_t ubNetV, uint32_t ulPgnV, uint16_t uwSizeV)
Manage a single PGN.
Definition j1939_defs.h:572