Also used recently added #define flag to disable or enable the protocol search code, based on the SDK version. Ideally this will allow the same code to compile for the legacy SDK or the latest SDK.
82 lines
2.2 KiB
C++
82 lines
2.2 KiB
C++
#include "SimpleSerialAnalyzerResults.h"
|
|
#include <AnalyzerHelpers.h>
|
|
#include "SimpleSerialAnalyzer.h"
|
|
#include "SimpleSerialAnalyzerSettings.h"
|
|
#include <iostream>
|
|
#include <fstream>
|
|
|
|
SimpleSerialAnalyzerResults::SimpleSerialAnalyzerResults( SimpleSerialAnalyzer* analyzer, SimpleSerialAnalyzerSettings* settings )
|
|
: AnalyzerResults(),
|
|
mSettings( settings ),
|
|
mAnalyzer( analyzer )
|
|
{
|
|
}
|
|
|
|
SimpleSerialAnalyzerResults::~SimpleSerialAnalyzerResults()
|
|
{
|
|
}
|
|
|
|
void SimpleSerialAnalyzerResults::GenerateBubbleText( U64 frame_index, Channel& channel, DisplayBase display_base )
|
|
{
|
|
ClearResultStrings();
|
|
Frame frame = GetFrame( frame_index );
|
|
|
|
char number_str[128];
|
|
AnalyzerHelpers::GetNumberString( frame.mData1, display_base, 8, number_str, 128 );
|
|
AddResultString( number_str );
|
|
}
|
|
|
|
void SimpleSerialAnalyzerResults::GenerateExportFile( const char* file, DisplayBase display_base, U32 export_type_user_id )
|
|
{
|
|
std::ofstream file_stream( file, std::ios::out );
|
|
|
|
U64 trigger_sample = mAnalyzer->GetTriggerSample();
|
|
U32 sample_rate = mAnalyzer->GetSampleRate();
|
|
|
|
file_stream << "Time [s],Value" << std::endl;
|
|
|
|
U64 num_frames = GetNumFrames();
|
|
for( U32 i=0; i < num_frames; i++ )
|
|
{
|
|
Frame frame = GetFrame( i );
|
|
|
|
char time_str[128];
|
|
AnalyzerHelpers::GetTimeString( frame.mStartingSampleInclusive, trigger_sample, sample_rate, time_str, 128 );
|
|
|
|
char number_str[128];
|
|
AnalyzerHelpers::GetNumberString( frame.mData1, display_base, 8, number_str, 128 );
|
|
|
|
file_stream << time_str << "," << number_str << std::endl;
|
|
|
|
if( UpdateExportProgressAndCheckForCancel( i, num_frames ) == true )
|
|
{
|
|
file_stream.close();
|
|
return;
|
|
}
|
|
}
|
|
|
|
file_stream.close();
|
|
}
|
|
|
|
void SimpleSerialAnalyzerResults::GenerateFrameTabularText( U64 frame_index, DisplayBase display_base )
|
|
{
|
|
#ifdef SUPPORTS_PROTOCOL_SEARCH
|
|
Frame frame = GetFrame( frame_index );
|
|
ClearTabularText();
|
|
|
|
char number_str[128];
|
|
AnalyzerHelpers::GetNumberString( frame.mData1, display_base, 8, number_str, 128 );
|
|
AddTabularText( number_str );
|
|
#endif
|
|
}
|
|
|
|
void SimpleSerialAnalyzerResults::GeneratePacketTabularText( U64 packet_id, DisplayBase display_base )
|
|
{
|
|
//not supported
|
|
|
|
}
|
|
|
|
void SimpleSerialAnalyzerResults::GenerateTransactionTabularText( U64 transaction_id, DisplayBase display_base )
|
|
{
|
|
//not supported
|
|
} |