lslah

xcp test session

Jul 26th, 2013
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. void
  2. PXCPTest::initTestCase()
  3. {
  4.     InitErrorCodes();
  5.  
  6.     m_can_handle = PCAN_PCIBUS1;
  7.     m_can_baudrate = PCAN_BAUD_1M;
  8.        
  9. }
  10.  
  11. void
  12. PXCPTest::TestXCPInitializeCanChannel()
  13. {
  14.     m_result = XCP_InitializeCanChannel(&m_xcp_channel,
  15.             m_can_handle,
  16.             m_can_baudrate,
  17.             0,0,0);
  18.  
  19.     GetErrorMessage();
  20.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  21.  
  22. }
  23.  
  24. void
  25. PXCPTest::TestXCPAddSlave()
  26. {
  27.     FillLayerDataAndConfig();
  28.     m_result = XCP_AddSlaveOnCAN(m_xcp_channel,
  29.             m_layer_data,
  30.             m_layer_config,
  31.             &m_xcp_handle);
  32.  
  33.  
  34.     GetErrorMessage();
  35.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  36.  
  37. }
  38.  
  39. void PXCPTest::FillLayerDataAndConfig()
  40. {
  41.     m_layer_data.BroadcastID = 0;
  42.     m_layer_data.MasterID = 0x078A;
  43.     m_layer_data.SlaveID = 0x0791;
  44.     m_layer_data.IncrementalIdUsed = false;
  45.  
  46.     m_layer_config.MotorolaFormat = true;
  47.     m_layer_config.T1 = 2000;
  48.     m_layer_config.T2 = 2000;
  49.     m_layer_config.T3 = 2000;
  50.     m_layer_config.T4 = 65535;
  51.     m_layer_config.T5 = 2000;
  52.     m_layer_config.T6 = 5;
  53.     m_layer_config.T7 = 5;
  54.     m_layer_config.AddressGranularity = 1;
  55. }
  56.  
  57. void
  58. PXCPTest::TestXCPConnect()
  59. {
  60.     m_result = XCP_Connect(m_xcp_handle, 0, m_cto_buffer, m_cto_buffer_length);
  61.     GetErrorMessage();
  62.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  63.  
  64.  
  65.     BYTE resource_byte = m_cto_buffer[1];
  66.     QVERIFY2(resource_byte & (1 << 2), "DAQ lists not available.");
  67. }
  68.  
  69. void
  70. PXCPTest::TestXCPFreeDAQLists()
  71. {
  72.     m_result =
  73.         XCP_FreeDAQLists(m_xcp_handle, m_cto_buffer, m_cto_buffer_length);
  74.     GetErrorMessage();
  75.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  76. }
  77.  
  78. void
  79. PXCPTest::TestXCPAllocateDAQList()
  80. {
  81.     m_result =
  82.         XCP_AllocateDAQLists(m_xcp_handle,
  83.                 m_daq_list_number,
  84.                 m_cto_buffer,
  85.                 m_cto_buffer_length);
  86.     GetErrorMessage();
  87.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  88. }
  89.  
  90. void
  91. PXCPTest::TestXCPAllocateODT()
  92. {
  93.     m_result =
  94.         XCP_AllocateODT(m_xcp_handle,
  95.                 m_daq_list_number,
  96.                 1, // number of dtos
  97.                 m_cto_buffer,
  98.                 m_cto_buffer_length);
  99.     GetErrorMessage();
  100.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  101. }
  102.  
  103. void
  104. PXCPTest::TestXCPAllocateODTEntry()
  105. {
  106.     m_result =
  107.         XCP_AllocateODTEntry(m_xcp_handle,
  108.                 m_daq_list_number,
  109.                 0, // dto number
  110.                 1, // number of dto entries
  111.                 m_cto_buffer,
  112.                 m_cto_buffer_length);
  113.     GetErrorMessage();
  114.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  115. }
  116.  
  117. void
  118. PXCPTest::TestXCPSetDAQListPointer()
  119. {
  120.  
  121.     m_result = XCP_SetDAQListPointer(
  122.             m_xcp_handle,
  123.             m_daq_list_number,
  124.             0, // dto number
  125.             0, // dto_entry number
  126.             m_cto_buffer,
  127.             m_cto_buffer_length);
  128.  
  129.     GetErrorMessage();
  130.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  131.  
  132. }
  133.  
  134. void
  135. PXCPTest::TestXCPWriteDAQListEntry()
  136. {
  137.     TXCPODTEntry odt_entry;
  138.     odt_entry.BitOffset = 0;
  139.     odt_entry.DAQSize = sizeof(float);
  140.     odt_entry.DAQAddressExtension = 0;
  141.     odt_entry.DAQAddress = 0xD0010FF0;
  142.  
  143.     m_result = XCP_WriteDAQListEntry(m_xcp_handle,
  144.             odt_entry,
  145.             m_cto_buffer,
  146.             m_cto_buffer_length);
  147.  
  148.     GetErrorMessage();
  149.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  150. }
  151.  
  152. void
  153. PXCPTest::TestXCPGetAndSetDAQListMode()
  154. {
  155.     m_result = XCP_GetDAQListMode(m_xcp_handle,
  156.             m_daq_list_number,
  157.             m_cto_buffer,
  158.             m_cto_buffer_length);
  159.     GetErrorMessage();
  160.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  161.  
  162.     BYTE mode = m_cto_buffer[1];
  163.  
  164.     mode = 00000000;
  165.  
  166.     TXCPDAQListConfig daq_list_config;
  167.     daq_list_config.DAQListNumber = m_daq_list_number;
  168.     daq_list_config.EventChannelNumber = 0;
  169.     daq_list_config.TransmissionRate = 1;
  170.     daq_list_config.DAQPriority = 0;
  171.  
  172.     m_result = XCP_SetDAQListMode(m_xcp_handle,
  173.             mode,
  174.             daq_list_config,
  175.             m_cto_buffer,
  176.             m_cto_buffer_length);
  177.  
  178.     GetErrorMessage();
  179.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  180.  
  181. }
  182.  
  183. void
  184. PXCPTest::TestXCPStartStopDAQList()
  185. {
  186.     m_result = XCP_StartStopDAQList(m_xcp_handle,
  187.             2, // Mode: 0-stop, 1-start, 2-select
  188.             m_daq_list_number, // list number
  189.             m_cto_buffer,
  190.             m_cto_buffer_length);
  191.     GetErrorMessage();
  192.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  193. }
  194.  
  195. void
  196. PXCPTest::TestXCPStartStopSynchronizedDAQList()
  197. {
  198.     m_result = XCP_StartStopSynchronizedDAQList(m_xcp_handle,
  199.             1, // 0-stop all, 1-start selected, 2-stop selected
  200.             m_cto_buffer,
  201.             m_cto_buffer_length);
  202.  
  203.     GetErrorMessage();
  204.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  205.  
  206.     QTest::qSleep(1000);
  207. }
  208.  
  209. void
  210. PXCPTest::TestXCPDequeuePacket()
  211. {
  212.     WORD packet_buffer_length = 8;
  213.     BYTE packet_buffer[packet_buffer_length];
  214.     m_result = XCP_DequeuePacket(m_xcp_handle,
  215.             XCP_DTO_QUEUE,
  216.             packet_buffer,
  217.             packet_buffer_length);
  218.     GetErrorMessage();
  219.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  220.  
  221.     float value;
  222.     std::memcpy(&value, &(packet_buffer[1]), sizeof(float));
  223.     qDebug() << QString("%1").arg(value);
  224. }
  225.  
  226. void
  227. PXCPTest::TestXCPDisconnect()
  228. {
  229.     m_result = XCP_Disconnect(m_xcp_handle, m_cto_buffer, m_cto_buffer_length);
  230.     GetErrorMessage();
  231.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  232.  
  233. }
  234.  
  235. void
  236. PXCPTest::TestXCPRemoveSlave()
  237. {
  238.     m_result = XCP_RemoveSlave(m_xcp_handle);
  239.     GetErrorMessage();
  240.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  241.  
  242. }
  243.  
  244. void
  245. PXCPTest::TestXCPUninitializeChannel()
  246. {
  247.     m_result = XCP_UninitializeChannel(m_xcp_channel);
  248.     GetErrorMessage();
  249.     QVERIFY2(m_result == XCP_ERR_OK, m_error_message);
  250.  
  251. }
Advertisement
Add Comment
Please, Sign In to add comment