-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathIRAnalyzerResults.cpp
More file actions
125 lines (101 loc) · 3.01 KB
/
IRAnalyzerResults.cpp
File metadata and controls
125 lines (101 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include "IRAnalyzerResults.h"
#include <AnalyzerHelpers.h>
#include "IRAnalyzer.h"
#include "IRAnalyzerSettings.h"
#include <iostream>
#include <fstream>
#include <cstring>
#include <bitset>
IRAnalyzerResults::IRAnalyzerResults( IRAnalyzer* analyzer, IRAnalyzerSettings* settings )
: AnalyzerResults(),
mSettings( settings ),
mAnalyzer( analyzer )
{
}
IRAnalyzerResults::~IRAnalyzerResults()
{
}
void IRAnalyzerResults::GenerateBubbleText( U64 frame_index, Channel& channel, DisplayBase display_base )
{
ClearResultStrings();
char b_string[128] = "";
Frame frame = GetFrame( frame_index );
if (frame.mData1 == 0x1)
{
sprintf( b_string, "Leading burst");
AddResultString(b_string);
}
if (frame.mData1 == 0x2)
{
sprintf( b_string, "Space");
AddResultString(b_string);
}
if (frame.mData1 == 0x4)
{
sprintf( b_string, "Repeat");
AddResultString(b_string);
}
switch (frame.mData1 & 0xF0)
{
case (IRAnalyzerResults::ADDR):
sprintf(b_string, "ADDR: ");
break;
case (IRAnalyzerResults::CMD):
sprintf(b_string, "CMD: ");
break;
case (IRAnalyzerResults::ICMD):
sprintf(b_string, "ICMD: ");
break;
case (IRAnalyzerResults::IADDR):
sprintf(b_string, "IADDR: ");
break;
}
frame.mData1 &= U64(0xF);
if (frame.mData1 == 0x8)
{
U8 addr = frame.mData2;
AnalyzerHelpers::GetNumberString( frame.mData2, display_base, 8, b_string+strlen(b_string), 128 );
AddResultString( b_string );
}
}
void IRAnalyzerResults::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 IRAnalyzerResults::GenerateFrameTabularText( U64 frame_index, DisplayBase display_base )
{
Frame frame = GetFrame( frame_index );
ClearResultStrings();
/*char number_str[128];
AnalyzerHelpers::GetNumberString( frame.mData1, display_base, 8, number_str, 128 );
AddResultString( number_str );*/
}
void IRAnalyzerResults::GeneratePacketTabularText( U64 packet_id, DisplayBase display_base )
{
ClearResultStrings();
AddResultString( "not supported" );
}
void IRAnalyzerResults::GenerateTransactionTabularText( U64 transaction_id, DisplayBase display_base )
{
ClearResultStrings();
AddResultString( "not supported" );
}