?? jinit.c
字號:
/******************************************************************************
*
* File Name: JInit.c
*
* Description: Basic initialization of the protocol stack
*
*
* Comments:
*
*
* Version Date Author Comments
* ------- ---------- -------------- ------------------------------
* 0.9 18.12.98 Ft Create
* 1.0 02.03.99 Ft Application specific data
* 1.1 29.04.99 Ft C167CR and Tasking compiler
* 1.2 24.08.00 Ft Ack handling
* 1.3 25.01.02 Ma changed the PG configuration
* 1.4 31.01.02 Ma new PG configuration
* 1.5 24.06.2004 Ma changed demo application
*
* Copyright (c) 1998 - 2004 Vector Informatik GmbH
*****************************************************************************/
#include "Includes.h"
#include "J1939.h"
#include "Types.h"
#include "JTimerDef.h"
#include "J1939CFG.h"
#include "J1939PGN.h"
#include "J1939TRA.h"
#include "J1939EXT.h"
/*!
\brief Initializes the user specific PGs
*/
/*!
\retval -
*/
void InitUserPGs(void)
{
/* Initialize the user PGs */
gRxPGTable[RX_PGN_FE10].mEnable = TRUE; /*!< Enable/Disable PG */
gRxPGTable[RX_PGN_FE10].mPGState = PG_RX_FREE; /*!< Object used */
gRxPGTable[RX_PGN_FE10].mTimer = 255; /*!< Timer in ms */
gRxPGTable[RX_PGN_FE10].mPDUF = 0xFE; /*!< PDU Format */
gRxPGTable[RX_PGN_FE10].mPDUS = 0x10; /*!< PG Number */
/*gRxPGTable[RX_PGN_FE10].mPage*/ /*!< Page, always 0 */
gRxPGTable[RX_PGN_FE10].mSource = 0x04; /* DeviceAddress */
gRxPGTable[RX_PGN_FE10].mPriority = 0x06; /*!< 3Bit Priority */
gRxPGTable[RX_PGN_FE10].mTransType = TT_ASYNC; /*!< TT_CYCLIC, TT_ASYNC */
gRxPGTable[RX_PGN_FE10].mTransRate = 100; /*!< Trans. rate in ms, only for cyclic */
gRxPGTable[RX_PGN_FE10].mData = &gPGN_DATA_FE10[0]; /*!< Pointer to specific data struct */
gRxPGTable[RX_PGN_FE10].mDataLength = PG_FE10_DATALEN; /*!< number of databytes */
/* Initialize the user PGs */
gRxPGTable[RX_PGN_FF17].mEnable = TRUE; /*!< Enable/Disable PG */
gRxPGTable[RX_PGN_FF17].mPGState = PG_RX_FREE; /*!< Object used */
gRxPGTable[RX_PGN_FF17].mTimer = 255; /*!< Timer in ms */
gRxPGTable[RX_PGN_FF17].mPDUF = 0xFF; /*!< PDU Format */
gRxPGTable[RX_PGN_FF17].mPDUS = 0x17; /*!< PG Number */
/*gRxPGTable[RX_PGN_FF17].mPage*/ /*!< Page, always 0 */
gRxPGTable[RX_PGN_FF17].mSource = 0x04; /* DeviceAddress */
gRxPGTable[RX_PGN_FF17].mPriority = 0x06; /*!< 3Bit Priority */
gRxPGTable[RX_PGN_FF17].mTransType = TT_CYCLIC; /*!< TT_CYCLIC, TT_ASYNC */
gRxPGTable[RX_PGN_FF17].mTransRate = 100; /*!< Trans. rate in ms, only for cyclic */
gRxPGTable[RX_PGN_FF17].mData = &gPGN_DATA_FF17[0]; /*!< Pointer to specific data struct */
gRxPGTable[RX_PGN_FF17].mDataLength = PG_FF17_DATALEN; /*!< number of databytes */
/* Initialize the user PGs */
gRxPGTable[RX_PGN_FE30].mEnable = TRUE; /*!< Enable/Disable PG */
gRxPGTable[RX_PGN_FE30].mPGState = PG_RX_FREE; /*!< Object used */
gRxPGTable[RX_PGN_FE30].mTimer = 255; /*!< Timer in ms */
gRxPGTable[RX_PGN_FE30].mPDUF = 0xFE; /*!< PDU Format */
gRxPGTable[RX_PGN_FE30].mPDUS = 0x30; /*!< PG Number */
/*gRxPGTable[RX_PGN_FE30].mPage*/ /*!< Page, always 0 */
gRxPGTable[RX_PGN_FE30].mSource = 0x04; /* DeviceAddress */
gRxPGTable[RX_PGN_FE30].mPriority = 0x06; /*!< 3Bit Priority */
gRxPGTable[RX_PGN_FE30].mTransType = TT_BAM; /*!< TT_CYCLIC, TT_ASYNC */
gRxPGTable[RX_PGN_FE30].mTransRate = 255; /*!< Trans. rate in ms, only for cyclic */
gRxPGTable[RX_PGN_FE30].mData = &gPGN_DATA_FE30[0]; /*!< Pointer to specific data struct */
gRxPGTable[RX_PGN_FE30].mDataLength = PG_FE30_DATALEN; /*!< number of databytes */
/* Initialize the user PGs */
gRxPGTable[RX_PGN_CC00].mEnable = TRUE; /*!< Enable/Disable PG */
gRxPGTable[RX_PGN_CC00].mPGState = PG_RX_FREE; /*!< Object used */
gRxPGTable[RX_PGN_CC00].mTimer = 255; /*!< Timer in ms */
gRxPGTable[RX_PGN_CC00].mPDUF = 0xCC; /*!< PDU Format */
gRxPGTable[RX_PGN_CC00].mPDUS = gDeviceAddress; /*!< PG Number */
/*gRxPGTable[RX_PGN_CC00].mPage*/ /*!< Page, always 0 */
gRxPGTable[RX_PGN_CC00].mSource = 0x04; /* DeviceAddress */
gRxPGTable[RX_PGN_CC00].mPriority = 0x06; /*!< 3Bit Priority */
gRxPGTable[RX_PGN_CC00].mTransType = TT_ASYNC; /*!< TT_CYCLIC, TT_ASYNC */
gRxPGTable[RX_PGN_CC00].mTransRate = 100; /*!< Trans. rate in ms, only for cyclic */
gRxPGTable[RX_PGN_CC00].mData = &gPGN_DATA_CC00[0]; /*!< Pointer to specific data struct */
gRxPGTable[RX_PGN_CC00].mDataLength = PG_CC00_DATALEN; /*!< number of databytes */
/* Initialize the user PGs */
gRxPGTable[RX_PGN_CB00].mEnable = TRUE; /*!< Enable/Disable PG */
gRxPGTable[RX_PGN_CB00].mPGState = PG_RX_FREE; /*!< Object used */
gRxPGTable[RX_PGN_CB00].mTimer = 255; /*!< Timer in ms */
gRxPGTable[RX_PGN_CB00].mPDUF = 0xCB; /*!< PDU Format */
gRxPGTable[RX_PGN_CB00].mPDUS = gDeviceAddress; /*!< PG Number */
/*gRxPGTable[RX_PGN_CB00].mPage*/ /*!< Page, always 0 */
gRxPGTable[RX_PGN_CB00].mSource = 0x04; /* DeviceAddress */
gRxPGTable[RX_PGN_CB00].mPriority = 0x06; /*!< 3Bit Priority */
gRxPGTable[RX_PGN_CB00].mTransType = TT_CMDT; /*!< TT_CYCLIC, TT_ASYNC */
gRxPGTable[RX_PGN_CB00].mTransRate = 255; /*!< Trans. rate in ms, only for cyclic */
gRxPGTable[RX_PGN_CB00].mData = &gPGN_DATA_CB00[0]; /*!< Pointer to specific data struct */
gRxPGTable[RX_PGN_CB00].mDataLength = PG_CB00_DATALEN; /*!< number of databytes */
/* Initialize the user PGs PG_F004*/
gRxPGTable[RX_PGN_F004].mEnable = TRUE; /*!< Enable/Disable PG */
gRxPGTable[RX_PGN_F004].mPGState = PG_RX_FREE; /*!< Object used */
gRxPGTable[RX_PGN_F004].mTimer = 40; /*!< Timer in ms */
gRxPGTable[RX_PGN_F004].mPDUF = 0xF0; /*!< PDU Format */
gRxPGTable[RX_PGN_F004].mPDUS =0x04; /*!< PG Number */
/*gRxPGTable[RX_PGN_F004].mPage*/ /*!< Page, always 0 */
gRxPGTable[RX_PGN_F004].mSource = 0x00; /* DeviceAddress */
gRxPGTable[RX_PGN_F004].mPriority = 0x03; /*!< 3Bit Priority */
gRxPGTable[RX_PGN_F004].mTransType = TT_CYCLIC; /*!< TT_CYCLIC, TT_ASYNC */
gRxPGTable[RX_PGN_F004].mTransRate = 20; /*!< Trans. rate in ms, only for cyclic */
gRxPGTable[RX_PGN_F004].mData = &gPGN_DATA_F004; /*!< Pointer to specific data struct */
gRxPGTable[RX_PGN_F004].mDataLength = PG_F004_DATALEN; /*!< number of databytes */
/* Initialize the user PGs PG_FEEF*/
gRxPGTable[RX_PGN_FEEF].mEnable = TRUE; /*!< Enable/Disable PG */
gRxPGTable[RX_PGN_FEEF].mPGState = PG_RX_FREE; /*!< Object used */
gRxPGTable[RX_PGN_FEEF].mTimer = 500; /*!< Timer in ms */
gRxPGTable[RX_PGN_FEEF].mPDUF = 0xFE; /*!< PDU Format */
gRxPGTable[RX_PGN_FEEF].mPDUS =0xEF; /*!< PG Number */
/*gRxPGTable[RX_PGN_FEEF].mPage*/ /*!< Page, always 0 */
gRxPGTable[RX_PGN_FEEF].mSource = 0x00; /* DeviceAddress */
gRxPGTable[RX_PGN_FEEF].mPriority = 0x06; /*!< 3Bit Priority */
gRxPGTable[RX_PGN_FEEF].mTransType = TT_CYCLIC; /*!< TT_CYCLIC, TT_ASYNC */
gRxPGTable[RX_PGN_FEEF].mTransRate = 500; /*!< Trans. rate in ms, only for cyclic */
gRxPGTable[RX_PGN_FEEF].mData = &gPGN_DATA_FEEF; /*!< Pointer to specific data struct */
gRxPGTable[RX_PGN_FEEF].mDataLength = PG_FEEF_DATALEN; /*!< number of databytes */
/* Initialize the user PGs PG_FEEE*/
gRxPGTable[RX_PGN_FEEE].mEnable = TRUE; /*!< Enable/Disable PG */
gRxPGTable[RX_PGN_FEEE].mPGState = PG_RX_FREE; /*!< Object used */
gRxPGTable[RX_PGN_FEEE].mTimer = 1000; /*!< Timer in ms */
gRxPGTable[RX_PGN_FEEE].mPDUF = 0xFE; /*!< PDU Format */
gRxPGTable[RX_PGN_FEEE].mPDUS =0xEE; /*!< PG Number */
/*gRxPGTable[RX_PGN_FEEE].mPage*/ /*!< Page, always 0 */
gRxPGTable[RX_PGN_FEEE].mSource = 0x0F; /* DeviceAddress */
gRxPGTable[RX_PGN_FEEE].mPriority = 0x06; /*!< 3Bit Priority */
gRxPGTable[RX_PGN_FEEE].mTransType = TT_CYCLIC; /*!< TT_CYCLIC, TT_ASYNC */
gRxPGTable[RX_PGN_FEEE].mTransRate = 1000; /*!< Trans. rate in ms, only for cyclic */
gRxPGTable[RX_PGN_FEEE].mData = &gPGN_DATA_FEEE; /*!< Pointer to specific data struct */
gRxPGTable[RX_PGN_FEEE].mDataLength = PG_FEEE_DATALEN; /*!< number of databytes */
/* Initialize the user PGs PG_FE6C*/
gRxPGTable[RX_PGN_FE6C].mEnable = TRUE; /*!< Enable/Disable PG */
gRxPGTable[RX_PGN_FE6C].mPGState = PG_RX_FREE; /*!< Object used */
gRxPGTable[RX_PGN_FE6C].mTimer = 50; /*!< Timer in ms */
gRxPGTable[RX_PGN_FE6C].mPDUF = 0xFE; /*!< PDU Format */
gRxPGTable[RX_PGN_FE6C].mPDUS =0x6C; /*!< PG Number */
/*gRxPGTable[RX_PGN_FE6C].mPage*/ /*!< Page, always 0 */
gRxPGTable[RX_PGN_FE6C].mSource = 0xEE; /* DeviceAddress */
gRxPGTable[RX_PGN_FE6C].mPriority = 0x03; /*!< 3Bit Priority */
gRxPGTable[RX_PGN_FE6C].mTransType = TT_CYCLIC; /*!< TT_CYCLIC, TT_ASYNC */
gRxPGTable[RX_PGN_FE6C].mTransRate = 50; /*!< Trans. rate in ms, only for cyclic */
gRxPGTable[RX_PGN_FE6C].mData = &gPGN_DATA_FE6C; /*!< Pointer to specific data struct */
gRxPGTable[RX_PGN_FE6C].mDataLength = PG_FE6C_DATALEN; /*!< number of databytes */
/* Initialize the user PGs PG_FEE6*/
gRxPGTable[RX_PGN_FEE6].mEnable = TRUE; /*!< Enable/Disable PG */
gRxPGTable[RX_PGN_FEE6].mPGState = PG_RX_FREE; /*!< Object used */
gRxPGTable[RX_PGN_FEE6].mTimer = 1000; /*!< Timer in ms */
gRxPGTable[RX_PGN_FEE6].mPDUF = 0xFE; /*!< PDU Format */
gRxPGTable[RX_PGN_FEE6].mPDUS =0xE6; /*!< PG Number */
/*gRxPGTable[RX_PGN_FEE6].mPage*/ /*!< Page, always 0 */
gRxPGTable[RX_PGN_FEE6].mSource = 0xEE; /* DeviceAddress */
gRxPGTable[RX_PGN_FEE6].mPriority = 0x06; /*!< 3Bit Priority */
gRxPGTable[RX_PGN_FEE6].mTransType = TT_CYCLIC; /*!< TT_CYCLIC, TT_ASYNC */
gRxPGTable[RX_PGN_FEE6].mTransRate = 1000; /*!< Trans. rate in ms, only for cyclic */
gRxPGTable[RX_PGN_FEE6].mData = &gPGN_DATA_FEE6; /*!< Pointer to specific data struct */
gRxPGTable[RX_PGN_FEE6].mDataLength = PG_FEE6_DATALEN; /*!< number of databytes */
/* Initialize the user PGs PG_FEC1*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -