Files
multithread_experiments/experiments/can/can_send.h
2020-09-01 16:32:26 +03:00

24 lines
695 B
C++

#ifndef MULTITHREAD_EXPERIMENTS_CAN_SEND_H
#define MULTITHREAD_EXPERIMENTS_CAN_SEND_H
#include "pcan/peakcandevice.h"
#include <chrono>
float test_send(int device_id) {
PeakCANDevice canDevice(PeakCANDevice::CAN_SPEED_500K, device_id);
if (!canDevice.open()) {
return 0.f;
}
auto start = std::chrono::high_resolution_clock::now();
CAN_Raw msg = { .Id = 0x72, .Size = 8, .Data = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 } };
for (int i = 0; i < 30 * 1000; ++i) {
canDevice.send(msg);
}
auto end = std::chrono::high_resolution_clock::now();
return std::chrono::duration_cast<std::chrono::microseconds>(end - start).count() / 1000.f;
}
#endif //MULTITHREAD_EXPERIMENTS_CAN_SEND_H