MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / SaveFlexRayMessage

Method SaveFlexRayMessage

lib/mdflib/mdflib/src/samplequeue.cpp:339–387  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

337}
338
339void SampleQueue::SaveFlexRayMessage(const IChannelGroup& group, uint64_t time,
340 const IFlexRayEvent& msg) {
341 switch (msg.MessageType()) {
342 case FlexRayMessageType::Frame:
343 if (group.Name().find("_Frame") == std::string::npos) {
344 return;
345 }
346 break;
347
348 case FlexRayMessageType::Pdu:
349 if (group.Name().find("_Pdu") == std::string::npos) {
350 return;
351 }
352 break;
353
354 case FlexRayMessageType::FrameHeader:
355 if (group.Name().find("_FrameHeader") == std::string::npos) {
356 return;
357 }
358 break;
359
360 case FlexRayMessageType::NullFrame:
361 if (group.Name().find("_NullFrame") == std::string::npos) {
362 return;
363 }
364 break;
365
366 case FlexRayMessageType::ErrorFrame:
367 if (group.Name().find("_ErrorFrame") == std::string::npos) {
368 return;
369 }
370 break;
371
372 case FlexRayMessageType::Symbol:
373 if (group.Name().find("_Symbol") == std::string::npos) {
374 return;
375 }
376 break;
377
378 default:
379 return;
380 }
381
382 SampleRecord sample = group.GetSampleRecord();
383 sample.timestamp = time;
384 RecalculateTime(group.RecordId(), sample);
385 msg.ToRaw(sample);
386 AddSample(std::move(sample));
387}
388
389void SampleQueue::RecalculateTime(uint64_t record_id, SampleRecord& sample) {
390 const auto itr_master = master_channels_.find(record_id);

Callers

nothing calls this directly

Calls 6

findMethod · 0.80
GetSampleRecordMethod · 0.80
MessageTypeMethod · 0.45
NameMethod · 0.45
RecordIdMethod · 0.45
ToRawMethod · 0.45

Tested by

no test coverage detected