@@ -14,7 +14,7 @@ Analyzer2 (),
14
14
mSettings (new CANFDMolinaroAnalyzerSettings ()),
15
15
mSimulationInitialized (false ) {
16
16
SetAnalyzerSettings (mSettings .get ()) ;
17
- // UseFrameV2 () ;
17
+ UseFrameV2 () ;
18
18
}
19
19
20
20
// --------------------------------------------------------------------------------------------------
@@ -34,10 +34,6 @@ void CANFDMolinaroAnalyzer::SetupResults (void) {
34
34
// --------------------------------------------------------------------------------------------------
35
35
36
36
void CANFDMolinaroAnalyzer::WorkerThread (void ) {
37
- mResults .reset (new CANFDMolinaroAnalyzerResults (this , mSettings .get ())) ;
38
- SetAnalyzerResults (mResults .get ()) ;
39
- mResults ->AddChannelBubblesWillAppearOn (mSettings ->mInputChannel ) ;
40
- // ---
41
37
const bool inverted = mSettings ->inverted () ;
42
38
mSampleRateHz = GetSampleRate () ;
43
39
AnalyzerChannelData * serial = GetAnalyzerChannelData (mSettings ->mInputChannel ) ;
@@ -53,13 +49,12 @@ void CANFDMolinaroAnalyzer::WorkerThread (void) {
53
49
mPreviousBit = (serial->GetBitState () == BIT_HIGH) ^ inverted ;
54
50
// ---
55
51
while (1 ) {
56
- // serial->AdvanceToNextEdge () ;
57
52
const bool currentBitValue = (serial->GetBitState () == BIT_HIGH) ^ inverted ;
58
53
const U64 start = serial->GetSampleNumber () ;
59
54
const U64 nextEdge = serial->GetSampleOfNextEdge () ;
60
55
61
56
U64 currentCenter = start + mCurrentSamplesPerBit / 2 ;
62
- while (currentCenter < ( nextEdge + mCurrentSamplesPerBit / 4 ) ) {
57
+ while (currentCenter < nextEdge) {
63
58
enterBit (currentBitValue, currentCenter) ;
64
59
currentCenter += mCurrentSamplesPerBit ;
65
60
}
@@ -711,78 +706,78 @@ void CANFDMolinaroAnalyzer::addBubble (const U8 inBubbleType,
711
706
frame.mEndingSampleInclusive = endSampleNumber ;
712
707
mResults ->AddFrame (frame) ;
713
708
714
- // FrameV2 frameV2 ;
715
- // switch (inBubbleType) {
716
- // case STANDARD_IDENTIFIER_FIELD_RESULT :
717
- // { const U8 idf [2] = { U8 (inData1 >> 8), U8 (inData1) } ;
718
- // frameV2.AddByteArray ("Value", idf, 2) ;
719
- // mResults->AddFrameV2 (frameV2, "Std Idf", mStartOfFieldSampleNumber, endSampleNumber) ;
720
- // }
721
- // break ;
722
- // case EXTENDED_IDENTIFIER_FIELD_RESULT :
723
- // { const U8 idf [4] = {
724
- // U8 (inData1 >> 24), U8 (inData1 >> 16), U8 (inData1 >> 8), U8 (inData1)
725
- // } ;
726
- // frameV2.AddByteArray ("Value", idf, 4) ;
727
- // mResults->AddFrameV2 (frameV2, "Ext Idf", mStartOfFieldSampleNumber, endSampleNumber) ;
728
- // }
729
- // break ;
730
- // case CAN20B_CONTROL_FIELD_RESULT :
731
- // frameV2.AddByte ("Value", inData1) ;
732
- // mResults->AddFrameV2 (frameV2, "Ctrl", mStartOfFieldSampleNumber, endSampleNumber) ;
733
- // break ;
734
- // case CANFD_CONTROL_FIELD_RESULT :
735
- // { frameV2.AddByte ("Value", inData1) ;
736
- // std::stringstream str ;
737
- // str << "Ctrl (FDF" ;
738
- // if ((inData2 & 1) != 0) {
739
- // str << ", BRS" ;
740
- // }
741
- // if ((inData2 & 2) != 0) {
742
- // str << ", ESI" ;
743
- // }
744
- // str << ")" ;
745
- // mResults->AddFrameV2 (frameV2, str.str ().c_str (), mStartOfFieldSampleNumber, endSampleNumber) ;
746
- // }
747
- // break ;
748
- // case DATA_FIELD_RESULT :
749
- // { frameV2.AddByte ("Value", inData1) ;
750
- // std::stringstream str ;
751
- // str << "D" << inData2 ;
752
- // mResults->AddFrameV2 (frameV2, str.str ().c_str (), mStartOfFieldSampleNumber, endSampleNumber) ;
753
- // }
754
- // break ;
755
- // case CRC15_FIELD_RESULT :
756
- // { const U8 crc [2] = { U8 (inData1 >> 8), U8 (inData1) } ;
757
- // frameV2.AddByteArray ("Value", crc, 2) ;
758
- // mResults->AddFrameV2 (frameV2, "CRC15", mStartOfFieldSampleNumber, endSampleNumber) ;
759
- // }
760
- // break ;
761
- // case CRC17_FIELD_RESULT :
762
- // { const U8 crc [3] = { U8 (inData1 >> 16), U8 (inData1 >> 8), U8 (inData1) } ;
763
- // frameV2.AddByteArray ("Value", crc, 3) ;
764
- // mResults->AddFrameV2 (frameV2, "CRC17", mStartOfFieldSampleNumber, endSampleNumber) ;
765
- // }
766
- // break ;
767
- // case CRC21_FIELD_RESULT :
768
- // { const U8 crc [3] = { U8 (inData1 >> 16), U8 (inData1 >> 8), U8 (inData1) } ;
769
- // frameV2.AddByteArray ("Value", crc, 3) ;
770
- // mResults->AddFrameV2 (frameV2, "CRC21", mStartOfFieldSampleNumber, endSampleNumber) ;
771
- // }
772
- // break ;
773
- // case ACK_FIELD_RESULT :
774
- // mResults->AddFrameV2 (frameV2, "ACK", mStartOfFieldSampleNumber, endSampleNumber) ;
775
- // break ;
776
- // case EOF_FIELD_RESULT :
777
- // mResults->AddFrameV2 (frameV2, "EOF", mStartOfFieldSampleNumber, endSampleNumber) ;
778
- // break ;
779
- // case INTERMISSION_FIELD_RESULT :
780
- // mResults->AddFrameV2 (frameV2, "IFS", mStartOfFieldSampleNumber, endSampleNumber) ;
781
- // break ;
782
- // case CAN_ERROR_RESULT :
783
- // mResults->AddFrameV2 (frameV2, "Error", mStartOfFieldSampleNumber, endSampleNumber) ;
784
- // break ;
785
- // }
709
+ FrameV2 frameV2 ;
710
+ switch (inBubbleType) {
711
+ case STANDARD_IDENTIFIER_FIELD_RESULT :
712
+ { const U8 idf [2 ] = { U8 (inData1 >> 8 ), U8 (inData1) } ;
713
+ frameV2.AddByteArray (" Value" , idf, 2 ) ;
714
+ mResults ->AddFrameV2 (frameV2, " Std Idf" , mStartOfFieldSampleNumber , endSampleNumber) ;
715
+ }
716
+ break ;
717
+ case EXTENDED_IDENTIFIER_FIELD_RESULT :
718
+ { const U8 idf [4 ] = {
719
+ U8 (inData1 >> 24 ), U8 (inData1 >> 16 ), U8 (inData1 >> 8 ), U8 (inData1)
720
+ } ;
721
+ frameV2.AddByteArray (" Value" , idf, 4 ) ;
722
+ mResults ->AddFrameV2 (frameV2, " Ext Idf" , mStartOfFieldSampleNumber , endSampleNumber) ;
723
+ }
724
+ break ;
725
+ case CAN20B_CONTROL_FIELD_RESULT :
726
+ frameV2.AddByte (" Value" , inData1) ;
727
+ mResults ->AddFrameV2 (frameV2, " Ctrl" , mStartOfFieldSampleNumber , endSampleNumber) ;
728
+ break ;
729
+ case CANFD_CONTROL_FIELD_RESULT :
730
+ { frameV2.AddByte (" Value" , inData1) ;
731
+ std::stringstream str ;
732
+ str << " Ctrl (FDF" ;
733
+ if ((inData2 & 1 ) != 0 ) {
734
+ str << " , BRS" ;
735
+ }
736
+ if ((inData2 & 2 ) != 0 ) {
737
+ str << " , ESI" ;
738
+ }
739
+ str << " )" ;
740
+ mResults ->AddFrameV2 (frameV2, str.str ().c_str (), mStartOfFieldSampleNumber , endSampleNumber) ;
741
+ }
742
+ break ;
743
+ case DATA_FIELD_RESULT :
744
+ { frameV2.AddByte (" Value" , inData1) ;
745
+ std::stringstream str ;
746
+ str << " D" << inData2 ;
747
+ mResults ->AddFrameV2 (frameV2, str.str ().c_str (), mStartOfFieldSampleNumber , endSampleNumber) ;
748
+ }
749
+ break ;
750
+ case CRC15_FIELD_RESULT :
751
+ { const U8 crc [2 ] = { U8 (inData1 >> 8 ), U8 (inData1) } ;
752
+ frameV2.AddByteArray (" Value" , crc, 2 ) ;
753
+ mResults ->AddFrameV2 (frameV2, " CRC15" , mStartOfFieldSampleNumber , endSampleNumber) ;
754
+ }
755
+ break ;
756
+ case CRC17_FIELD_RESULT :
757
+ { const U8 crc [3 ] = { U8 (inData1 >> 16 ), U8 (inData1 >> 8 ), U8 (inData1) } ;
758
+ frameV2.AddByteArray (" Value" , crc, 3 ) ;
759
+ mResults ->AddFrameV2 (frameV2, " CRC17" , mStartOfFieldSampleNumber , endSampleNumber) ;
760
+ }
761
+ break ;
762
+ case CRC21_FIELD_RESULT :
763
+ { const U8 crc [3 ] = { U8 (inData1 >> 16 ), U8 (inData1 >> 8 ), U8 (inData1) } ;
764
+ frameV2.AddByteArray (" Value" , crc, 3 ) ;
765
+ mResults ->AddFrameV2 (frameV2, " CRC21" , mStartOfFieldSampleNumber , endSampleNumber) ;
766
+ }
767
+ break ;
768
+ case ACK_FIELD_RESULT :
769
+ mResults ->AddFrameV2 (frameV2, " ACK" , mStartOfFieldSampleNumber , endSampleNumber) ;
770
+ break ;
771
+ case EOF_FIELD_RESULT :
772
+ mResults ->AddFrameV2 (frameV2, " EOF" , mStartOfFieldSampleNumber , endSampleNumber) ;
773
+ break ;
774
+ case INTERMISSION_FIELD_RESULT :
775
+ mResults ->AddFrameV2 (frameV2, " IFS" , mStartOfFieldSampleNumber , endSampleNumber) ;
776
+ break ;
777
+ case CAN_ERROR_RESULT :
778
+ mResults ->AddFrameV2 (frameV2, " Error" , mStartOfFieldSampleNumber , endSampleNumber) ;
779
+ break ;
780
+ }
786
781
787
782
mResults ->CommitResults () ;
788
783
ReportProgress (frame.mEndingSampleInclusive ) ;
0 commit comments