📄 samplesource.c
字号:
short nClientID,
FILE *fp1,
FILE *fp2,
unsigned char *ucMessage,
short nLength
);
/*PROCEDURE*/ void SendJ1939PeriodicMessages (
short nClientID,
FILE *fp1,
FILE *fp2
);
/*PROCEDURE*/ void RequestPGN (
short nClientID,
int iRequestedPGN,
FILE *fp1,
FILE *fp2,
unsigned char ucSourceAddress,
unsigned char AddressRequestedFrom
);
/*FUNCTION*/ char *EngineStarterMode (
unsigned char Mode
);
/*FUNCTION*/ char *EngineRetarderAndTorqueModes (
unsigned char Mode
);
/*PROCEDURE*/ void ClaimMyJ1939Address (
FILE *fp1,
FILE *fp2
);
//-----------------------------------------------------------------------------------------------------
// CAN-related functions
//-----------------------------------------------------------------------------------------------------
/*PROCEDURE*/ void Process_CAN_Message (
short nClientID,
FILE *fp1,
FILE *fp2,
unsigned char *ucMessage,
short nLength,
short nEchoTXMsgs
);
/*PROCEDURE*/ void Print_CAN_Message (
short nClientID,
FILE *fp1,
FILE *fp2,
unsigned char *ucMessage,
short nLength,
short nEchoTXMsgs
);
/*PROCEDURE*/ void Print_Sent_CAN_Message (
short nClientID,
FILE *fp1,
FILE *fp2,
unsigned char *ucMessage,
short nLength
);
/*PROCEDURE*/ void SendCANMessage (
short nClientID,
short nExtendedCAN,
int iCANID,
FILE *fp1,
FILE *fp2,
unsigned char *ucMessage,
short nDataLen
);
/*PROCEDURE*/ void SendCANPeriodicMessages (
short nClientID ,
FILE *fp1,
FILE *fp2
);
/*PROCEDURE*/ void SendIESCANPeriodicMessages (
short nClientID ,
FILE *fp1,
FILE *fp2
);
//-----------------------------------------------------------------------------------------------------
// J1708/J1587-related functions
//-----------------------------------------------------------------------------------------------------
/*PROCEDURE*/ void Process_J1708_Message (
short nClientID,
FILE *fp1,
FILE *fp2,
unsigned char *ucMessage,
short nLength,
short nJ1708RawMode,
short nEchoTXMsgs
);
/*PROCEDURE*/ void Print_J1708_Message (
short nClientID,
FILE *fp1,
FILE *fp2,
unsigned char *ucMessage,
short nLength,
short nJ1708RawMode,
short nEchoTXMsgs
);
/*PROCEDURE*/ void Print_Sent_J1708_Message (
short nClientID,
FILE *fp,
FILE *fp1,
unsigned char *ucMessage,
short nLength,
short nJ1708RawMode
);
/*PROCEDURE*/ void RequestPID (
short nClientID,
unsigned char ucRequestedPID,
FILE *fp1,
FILE *fp2,
unsigned char ucSourceAddress
);
/*PROCEDURE*/ void SendJ1708PeriodicMessages (
short nClientID,
FILE *fp1,
FILE *fp2
);
//-----------------------------------------------------------------------------------------------------
// J1850-related functions
//-----------------------------------------------------------------------------------------------------
/*PROCEDURE*/ void Process_J1850_Message (
short nClientID,
FILE *fp1,
FILE *fp2,
unsigned char *ucMessage,
short nLength,
short nEchoTXMsgs
);
/*PROCEDURE*/ void Print_J1850_Message (
short nClientID,
FILE *fp1,
FILE *fp2,
unsigned char *ucMessage,
short nLength,
short nEchoTXMsgs
);
/*PROCEDURE*/ void Print_Sent_J1850_Message (
short nClientID,
FILE *fp1,
FILE *fp2,
unsigned char *ucMessage,
short nLength
);
/*PROCEDURE*/ void SendJ1850PeriodicMessages (
short nClientID,
FILE *fp1,
FILE *fp2
);
/*PROCEDURE*/ void SendJ1850Message (
short nClientID,
FILE *fp1,
FILE *fp2,
unsigned char *ucMessage,
short nLength
);
//-----------------------------------------------------------------------------------------------------
// Function: main
//
// Purpose: Main program entry point.
//
//-----------------------------------------------------------------------------------------------------
/*FUNCTION*/ int main( void )
{
//
// Initialize all function variables to a known state.
//
short nRetVal = -1;
char szTemp[1000] = "";
time_t tLastTimeRequestsSent = -1;
time_t tCurrentTime = -1;
time_t Timer = 0;
struct tm *TimeRecord = NULL;
short bFirst = TRUE;
FILE *fpDiskFile = NULL;
//
// Initialize all array variables to a known state of NULL.
//
memset( szTemp, 0x00, sizeof( szTemp ));
memset( ucTxRxBuffer, 0x00, sizeof( ucTxRxBuffer ));
memset( szDLLName, 0x00, sizeof( szDLLName ));
memset( szProtocolName, 0x00, sizeof( szProtocolName ));
//
// Print program information.
//
printf("-------------------------------------------------------------------------------------\n");
printf("%s\n", PROGRAM_ID );
printf("-------------------------------------------------------------------------------------\n");
//
// Have the user select the adapter they want to use and set szDLLName.
//
do
{
printf(" \n");
printf("---------------------------------------------------------------------\n");
printf(" Select Adapter To Use \n");
printf("---------------------------------------------------------------------\n");
printf(" \n");
printf(" 1 = DG DPA 4+ And Prior DPAs (DLL Name = DG121032.DLL) \n");
printf(" 2 = DG DPA 5 (DLL Name = DG1210B.DLL) \n");
printf(" \n");
printf("-> ");
iAdapter = atoi( gets( szTemp ) );
if ( iAdapter == 1 )
{
strcpy( szDLLName, "dg121032.dll" );
}
else if ( iAdapter == 2 )
{
strcpy( szDLLName, "dg1210b.dll" );
}
else
{
}
} while( iAdapter < 1 || iAdapter > 2 );
//
// Have the user select the protocol they want to use and set szProtocolName.
//
do
{
printf(" \n");
printf("---------------------------------------------------------------------\n");
printf(" Selection Protocol To Use \n");
printf("---------------------------------------------------------------------\n");
printf(" \n");
printf(" 1 = J1708 \n");
printf(" 2 = J1939 \n");
printf(" 3 = CAN \n");
printf(" 4 = IESCAN (GMLAN/CAN@500k/J2284) \n");
printf(" 5 = J1850 (J1850 VPW @10.4k) \n");
printf(" \n");
printf("-> ");
iProtocol = atoi( gets( szTemp ) );
if ( iProtocol == 1 )
{
strcpy( szProtocolName, "J1708" );
}
else if( iProtocol == 2 )
{
strcpy( szProtocolName, "J1939" );
}
else if( iProtocol == 3 )
{
strcpy( szProtocolName, "CAN" );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -