@@ -56,15 +56,15 @@ void CANMolinaroAnalyzer::WorkerThread () {
56
56
mFrameFieldEngineState = IDLE ;
57
57
mUnstuffingActive = false ;
58
58
// --- Loop util the end of the frame (11 consecutive high bits)
59
- bool currentBitState = true ;
59
+ bool currentBitValue = true ;
60
60
do {
61
61
mSerial ->AdvanceToNextEdge () ;
62
- currentBitState ^= true ;
62
+ currentBitValue ^= true ;
63
63
const U64 start = mSerial ->GetSampleNumber () ;
64
64
const U64 nextEdge = mSerial ->GetSampleOfNextEdge () ;
65
65
const U64 bitCount = (nextEdge - start + samplesPerBit / 2 ) / samplesPerBit ;
66
66
for (U64 i=0 ; i<bitCount ; i++) {
67
- enterBit (currentBitState , start + samplesPerBit / 2 + i * samplesPerBit ) ;
67
+ enterBit (currentBitValue , start + i * samplesPerBit + samplesPerBit / 2 ) ;
68
68
}
69
69
}while (mFrameFieldEngineState != IDLE) ;
70
70
// ---
@@ -126,80 +126,80 @@ void DestroyAnalyzer (Analyzer* analyzer) {
126
126
// CAN FRAME DECODER
127
127
// --------------------------------------------------------------------------------------------------
128
128
129
- void CANMolinaroAnalyzer::enterBit (const bool inBit , const U64 inSampleNumber) {
129
+ void CANMolinaroAnalyzer::enterBit (const bool inBitValue , const U64 inSampleNumber) {
130
130
if (!mUnstuffingActive ) {
131
- decodeFrameBit (inBit , inSampleNumber) ;
132
- }else if ((mConsecutiveBitCountOfSamePolarity == 5 ) && (inBit != mPreviousBit )) {
131
+ decodeFrameBit (inBitValue , inSampleNumber) ;
132
+ }else if ((mConsecutiveBitCountOfSamePolarity == 5 ) && (inBitValue != mPreviousBit )) {
133
133
// Stuff bit - discarded
134
134
addMark (inSampleNumber, AnalyzerResults::X);
135
135
mConsecutiveBitCountOfSamePolarity = 1 ;
136
- mPreviousBit = inBit ;
136
+ mPreviousBit = inBitValue ;
137
137
mStuffBitCount += 1 ;
138
- }else if ((mConsecutiveBitCountOfSamePolarity == 5 ) && (mPreviousBit == inBit )) { // Stuff Error
138
+ }else if ((mConsecutiveBitCountOfSamePolarity == 5 ) && (mPreviousBit == inBitValue )) { // Stuff Error
139
139
addMark (inSampleNumber, AnalyzerResults::ErrorX);
140
140
const U32 samplesPerBit = mSampleRateHz / mSettings ->mBitRate ;
141
141
enterInErrorMode (inSampleNumber + samplesPerBit / 2 ) ;
142
142
mConsecutiveBitCountOfSamePolarity += 1 ;
143
- }else if (mPreviousBit == inBit ) {
143
+ }else if (mPreviousBit == inBitValue ) {
144
144
mConsecutiveBitCountOfSamePolarity += 1 ;
145
- decodeFrameBit (inBit , inSampleNumber) ;
145
+ decodeFrameBit (inBitValue , inSampleNumber) ;
146
146
}else {
147
147
mConsecutiveBitCountOfSamePolarity = 1 ;
148
- mPreviousBit = inBit ;
149
- decodeFrameBit (inBit , inSampleNumber) ;
148
+ mPreviousBit = inBitValue ;
149
+ decodeFrameBit (inBitValue , inSampleNumber) ;
150
150
}
151
151
}
152
152
153
153
// --------------------------------------------------------------------------------------------------
154
154
155
- void CANMolinaroAnalyzer::decodeFrameBit (const bool inBit , const U64 inSampleNumber) {
155
+ void CANMolinaroAnalyzer::decodeFrameBit (const bool inBitValue , const U64 inSampleNumber) {
156
156
switch (mFrameFieldEngineState ) {
157
157
case IDLE :
158
- handle_IDLE_state (inBit , inSampleNumber) ;
158
+ handle_IDLE_state (inBitValue , inSampleNumber) ;
159
159
break ;
160
160
case IDENTIFIER :
161
- handle_IDENTIFIER_state (inBit , inSampleNumber) ;
161
+ handle_IDENTIFIER_state (inBitValue , inSampleNumber) ;
162
162
break ;
163
163
case EXTENDED_IDF :
164
- handle_EXTENDED_IDF_state (inBit , inSampleNumber) ;
164
+ handle_EXTENDED_IDF_state (inBitValue , inSampleNumber) ;
165
165
break ;
166
166
case CONTROL :
167
- handle_CONTROL_state (inBit , inSampleNumber) ;
167
+ handle_CONTROL_state (inBitValue , inSampleNumber) ;
168
168
break ;
169
169
case DATA :
170
- handle_DATA_state (inBit , inSampleNumber) ;
170
+ handle_DATA_state (inBitValue , inSampleNumber) ;
171
171
break ;
172
172
case CRC15 :
173
- handle_CRC15_state (inBit , inSampleNumber) ;
173
+ handle_CRC15_state (inBitValue , inSampleNumber) ;
174
174
break ;
175
175
case CRC_DEL :
176
- handle_CRCDEL_state (inBit , inSampleNumber) ;
176
+ handle_CRCDEL_state (inBitValue , inSampleNumber) ;
177
177
break ;
178
178
case ACK :
179
- handle_ACK_state (inBit , inSampleNumber) ;
179
+ handle_ACK_state (inBitValue , inSampleNumber) ;
180
180
break ;
181
181
case END_OF_FRAME :
182
- handle_ENDOFFRAME_state (inBit , inSampleNumber) ;
182
+ handle_ENDOFFRAME_state (inBitValue , inSampleNumber) ;
183
183
break ;
184
184
case INTERMISSION :
185
- handle_INTERMISSION_state (inBit , inSampleNumber) ;
185
+ handle_INTERMISSION_state (inBitValue , inSampleNumber) ;
186
186
break ;
187
187
case DECODER_ERROR :
188
- handle_DECODER_ERROR_state (inBit , inSampleNumber) ;
188
+ handle_DECODER_ERROR_state (inBitValue , inSampleNumber) ;
189
189
break ;
190
190
}
191
191
}
192
192
193
193
// --------------------------------------------------------------------------------------------------
194
194
195
- void CANMolinaroAnalyzer::handle_IDLE_state (const bool inBit , const U64 inSampleNumber) {
195
+ void CANMolinaroAnalyzer::handle_IDLE_state (const bool inBitValue , const U64 inSampleNumber) {
196
196
const U32 samplesPerBit = mSampleRateHz / mSettings ->mBitRate ;
197
- if (!inBit ) {
197
+ if (!inBitValue ) {
198
198
mUnstuffingActive = true ;
199
199
mCRC15Accumulator = 0 ;
200
200
mConsecutiveBitCountOfSamePolarity = 1 ;
201
201
mPreviousBit = false ;
202
- enterBitInCRC15 (inBit ) ;
202
+ enterBitInCRC15 (inBitValue ) ;
203
203
addMark (inSampleNumber, AnalyzerResults::Start) ;
204
204
mFieldBitIndex = 0 ;
205
205
mIdentifier = 0 ;
@@ -212,20 +212,20 @@ void CANMolinaroAnalyzer::handle_IDLE_state (const bool inBit, const U64 inSampl
212
212
213
213
// --------------------------------------------------------------------------------------------------
214
214
215
- void CANMolinaroAnalyzer::handle_IDENTIFIER_state (const bool inBit , const U64 inSampleNumber) {
215
+ void CANMolinaroAnalyzer::handle_IDENTIFIER_state (const bool inBitValue , const U64 inSampleNumber) {
216
216
const U32 samplesPerBit = mSampleRateHz / mSettings ->mBitRate ;
217
- enterBitInCRC15 (inBit ) ;
217
+ enterBitInCRC15 (inBitValue ) ;
218
218
mFieldBitIndex ++ ;
219
219
if (mFieldBitIndex <= 11 ) { // Standard identifier
220
220
addMark (inSampleNumber, AnalyzerResults::Dot);
221
221
mIdentifier <<= 1 ;
222
- mIdentifier |= inBit ;
222
+ mIdentifier |= inBitValue ;
223
223
}else if (mFieldBitIndex == 12 ) { // RTR bit
224
- addMark (inSampleNumber, inBit ? AnalyzerResults::UpArrow : AnalyzerResults::DownArrow) ;
225
- mFrameType = inBit ? remoteFrame : dataFrame ;
224
+ addMark (inSampleNumber, inBitValue ? AnalyzerResults::UpArrow : AnalyzerResults::DownArrow) ;
225
+ mFrameType = inBitValue ? remoteFrame : dataFrame ;
226
226
}else { // IDE
227
227
addMark (inSampleNumber, AnalyzerResults::Dot);
228
- if (inBit ) {
228
+ if (inBitValue ) {
229
229
mFrameFieldEngineState = EXTENDED_IDF ;
230
230
mFieldBitIndex = 0 ;
231
231
}else {
@@ -242,24 +242,24 @@ void CANMolinaroAnalyzer::handle_IDENTIFIER_state (const bool inBit, const U64 i
242
242
243
243
// --------------------------------------------------------------------------------------------------
244
244
245
- void CANMolinaroAnalyzer::handle_EXTENDED_IDF_state (const bool inBit , const U64 inSampleNumber) {
245
+ void CANMolinaroAnalyzer::handle_EXTENDED_IDF_state (const bool inBitValue , const U64 inSampleNumber) {
246
246
const U32 samplesPerBit = mSampleRateHz / mSettings ->mBitRate ;
247
- enterBitInCRC15 (inBit ) ;
247
+ enterBitInCRC15 (inBitValue ) ;
248
248
mFieldBitIndex ++ ;
249
249
if (mFieldBitIndex <= 18 ) { // Extended identifier
250
250
addMark (inSampleNumber, AnalyzerResults::Dot);
251
251
mIdentifier <<= 1 ;
252
- mIdentifier |= inBit ;
252
+ mIdentifier |= inBitValue ;
253
253
}else if (mFieldBitIndex == 19 ) { // RTR bit
254
- addMark (inSampleNumber, inBit ? AnalyzerResults::UpArrow : AnalyzerResults::DownArrow) ;
255
- mFrameType = inBit ? remoteFrame : dataFrame ;
254
+ addMark (inSampleNumber, inBitValue ? AnalyzerResults::UpArrow : AnalyzerResults::DownArrow) ;
255
+ mFrameType = inBitValue ? remoteFrame : dataFrame ;
256
256
}else { // R1: should be dominant
257
- addMark (inSampleNumber, inBit ? AnalyzerResults::ErrorX : AnalyzerResults::Zero) ;
257
+ addMark (inSampleNumber, inBitValue ? AnalyzerResults::ErrorX : AnalyzerResults::Zero) ;
258
258
addBubble (EXTENDED_IDENTIFIER_FIELD_RESULT,
259
259
mIdentifier ,
260
260
mFrameType == dataFrame, // 0 -> remote, 1 -> data
261
261
inSampleNumber - samplesPerBit / 2 ) ;
262
- if (inBit ) {
262
+ if (inBitValue ) {
263
263
enterInErrorMode (inSampleNumber + samplesPerBit / 2 ) ;
264
264
}else {
265
265
mFrameFieldEngineState = CONTROL ;
@@ -271,19 +271,19 @@ void CANMolinaroAnalyzer::handle_EXTENDED_IDF_state (const bool inBit, const U64
271
271
272
272
// --------------------------------------------------------------------------------------------------
273
273
274
- void CANMolinaroAnalyzer::handle_CONTROL_state (const bool inBit , const U64 inSampleNumber) {
274
+ void CANMolinaroAnalyzer::handle_CONTROL_state (const bool inBitValue , const U64 inSampleNumber) {
275
275
const U32 samplesPerBit = mSampleRateHz / mSettings ->mBitRate ;
276
- enterBitInCRC15 (inBit ) ;
276
+ enterBitInCRC15 (inBitValue ) ;
277
277
mFieldBitIndex ++ ;
278
278
if (mFieldBitIndex == 2 ) { // R0
279
- addMark (inSampleNumber, inBit ? AnalyzerResults::ErrorX : AnalyzerResults::Zero) ;
280
- if (inBit ) {
279
+ addMark (inSampleNumber, inBitValue ? AnalyzerResults::ErrorX : AnalyzerResults::Zero) ;
280
+ if (inBitValue ) {
281
281
enterInErrorMode (inSampleNumber + samplesPerBit / 2 ) ;
282
282
}
283
283
}else {
284
284
addMark (inSampleNumber, AnalyzerResults::Dot);
285
285
mDataCodeLength <<= 1 ;
286
- mDataCodeLength |= inBit ;
286
+ mDataCodeLength |= inBitValue ;
287
287
if (mFieldBitIndex == 6 ) {
288
288
addBubble (CONTROL_FIELD_RESULT, mDataCodeLength , 0 , inSampleNumber + samplesPerBit / 2 ) ;
289
289
mFieldBitIndex = 0 ;
@@ -301,12 +301,12 @@ void CANMolinaroAnalyzer::handle_CONTROL_state (const bool inBit, const U64 inSa
301
301
302
302
// --------------------------------------------------------------------------------------------------
303
303
304
- void CANMolinaroAnalyzer::handle_DATA_state (const bool inBit , const U64 inSampleNumber) {
304
+ void CANMolinaroAnalyzer::handle_DATA_state (const bool inBitValue , const U64 inSampleNumber) {
305
305
const U32 samplesPerBit = mSampleRateHz / mSettings ->mBitRate ;
306
- enterBitInCRC15 (inBit ) ;
306
+ enterBitInCRC15 (inBitValue ) ;
307
307
addMark (inSampleNumber, AnalyzerResults::Dot);
308
308
mData [mFieldBitIndex / 8 ] <<= 1 ;
309
- mData [mFieldBitIndex / 8 ] |= inBit ;
309
+ mData [mFieldBitIndex / 8 ] |= inBitValue ;
310
310
mFieldBitIndex ++ ;
311
311
if ((mFieldBitIndex % 8 ) == 0 ) {
312
312
const U32 dataIndex = (mFieldBitIndex - 1 ) / 8 ;
@@ -321,9 +321,9 @@ void CANMolinaroAnalyzer::handle_DATA_state (const bool inBit, const U64 inSampl
321
321
322
322
// --------------------------------------------------------------------------------------------------
323
323
324
- void CANMolinaroAnalyzer::handle_CRC15_state (const bool inBit , const U64 inSampleNumber) {
324
+ void CANMolinaroAnalyzer::handle_CRC15_state (const bool inBitValue , const U64 inSampleNumber) {
325
325
const U32 samplesPerBit = mSampleRateHz / mSettings ->mBitRate ;
326
- enterBitInCRC15 (inBit ) ;
326
+ enterBitInCRC15 (inBitValue ) ;
327
327
addMark (inSampleNumber, AnalyzerResults::Dot);
328
328
mFieldBitIndex ++ ;
329
329
if (mFieldBitIndex == 15 ) {
@@ -338,10 +338,10 @@ void CANMolinaroAnalyzer::handle_CRC15_state (const bool inBit, const U64 inSamp
338
338
339
339
// --------------------------------------------------------------------------------------------------
340
340
341
- void CANMolinaroAnalyzer::handle_CRCDEL_state (const bool inBit , const U64 inSampleNumber) {
341
+ void CANMolinaroAnalyzer::handle_CRCDEL_state (const bool inBitValue , const U64 inSampleNumber) {
342
342
const U32 samplesPerBit = mSampleRateHz / mSettings ->mBitRate ;
343
343
mUnstuffingActive = false ;
344
- if (inBit ) {
344
+ if (inBitValue ) {
345
345
addMark (inSampleNumber, AnalyzerResults::One) ;
346
346
}else {
347
347
enterInErrorMode (inSampleNumber) ;
@@ -352,28 +352,29 @@ void CANMolinaroAnalyzer::handle_CRCDEL_state (const bool inBit, const U64 inSam
352
352
353
353
// --------------------------------------------------------------------------------------------------
354
354
355
- void CANMolinaroAnalyzer::handle_ACK_state (const bool inBit , const U64 inSampleNumber) {
355
+ void CANMolinaroAnalyzer::handle_ACK_state (const bool inBitValue , const U64 inSampleNumber) {
356
356
const U32 samplesPerBit = mSampleRateHz / mSettings ->mBitRate ;
357
357
mFieldBitIndex ++ ;
358
358
if (mFieldBitIndex == 1 ) { // ACK SLOT
359
- addMark (inSampleNumber, inBit ? AnalyzerResults::ErrorSquare : AnalyzerResults::DownArrow);
359
+ addMark (inSampleNumber, inBitValue ? AnalyzerResults::ErrorSquare : AnalyzerResults::DownArrow);
360
360
}else { // ACK DELIMITER
361
361
addBubble (ACK_FIELD_RESULT, 0 , 0 , inSampleNumber + samplesPerBit / 2 ) ;
362
- if (inBit) {
362
+ mFrameFieldEngineState = END_OF_FRAME ;
363
+ if (inBitValue) {
363
364
addMark (inSampleNumber, AnalyzerResults::One) ;
364
365
}else {
366
+ addMark (inSampleNumber, AnalyzerResults::ErrorDot) ;
365
367
enterInErrorMode (inSampleNumber) ;
366
368
}
367
369
mFieldBitIndex = 0 ;
368
- mFrameFieldEngineState = END_OF_FRAME ;
369
370
}
370
371
}
371
372
372
373
// --------------------------------------------------------------------------------------------------
373
374
374
- void CANMolinaroAnalyzer::handle_ENDOFFRAME_state (const bool inBit , const U64 inSampleNumber) {
375
+ void CANMolinaroAnalyzer::handle_ENDOFFRAME_state (const bool inBitValue , const U64 inSampleNumber) {
375
376
const U32 samplesPerBit = mSampleRateHz / mSettings ->mBitRate ;
376
- if (inBit ) {
377
+ if (inBitValue ) {
377
378
addMark (inSampleNumber, AnalyzerResults::One) ;
378
379
}else {
379
380
enterInErrorMode (inSampleNumber) ;
@@ -388,9 +389,9 @@ void CANMolinaroAnalyzer::handle_ENDOFFRAME_state (const bool inBit, const U64 i
388
389
389
390
// --------------------------------------------------------------------------------------------------
390
391
391
- void CANMolinaroAnalyzer::handle_INTERMISSION_state (const bool inBit , const U64 inSampleNumber) {
392
+ void CANMolinaroAnalyzer::handle_INTERMISSION_state (const bool inBitValue , const U64 inSampleNumber) {
392
393
const U32 samplesPerBit = mSampleRateHz / mSettings ->mBitRate ;
393
- if (inBit ) {
394
+ if (inBitValue ) {
394
395
addMark (inSampleNumber, AnalyzerResults::One) ;
395
396
}else {
396
397
enterInErrorMode (inSampleNumber) ;
@@ -409,14 +410,14 @@ void CANMolinaroAnalyzer::handle_INTERMISSION_state (const bool inBit, const U64
409
410
410
411
// --------------------------------------------------------------------------------------------------
411
412
412
- void CANMolinaroAnalyzer::handle_DECODER_ERROR_state (const bool inBit , const U64 inSampleNumber) {
413
+ void CANMolinaroAnalyzer::handle_DECODER_ERROR_state (const bool inBitValue , const U64 inSampleNumber) {
413
414
const U32 samplesPerBit = mSampleRateHz / mSettings ->mBitRate ;
414
415
mUnstuffingActive = false ;
415
416
addMark (inSampleNumber, AnalyzerResults::ErrorDot);
416
- if (mPreviousBit != inBit ) {
417
+ if (mPreviousBit != inBitValue ) {
417
418
mConsecutiveBitCountOfSamePolarity = 1 ;
418
- mPreviousBit = inBit ;
419
- }else if (inBit ) {
419
+ mPreviousBit = inBitValue ;
420
+ }else if (inBitValue ) {
420
421
mConsecutiveBitCountOfSamePolarity += 1 ;
421
422
if (mConsecutiveBitCountOfSamePolarity == 11 ) {
422
423
addBubble (CAN_ERROR_RESULT, 0 , 0 , inSampleNumber + samplesPerBit / 2 ) ;
@@ -427,9 +428,9 @@ void CANMolinaroAnalyzer::handle_DECODER_ERROR_state (const bool inBit, const U6
427
428
428
429
// --------------------------------------------------------------------------------------------------
429
430
430
- void CANMolinaroAnalyzer::enterBitInCRC15 (const bool inBit ) {
431
+ void CANMolinaroAnalyzer::enterBitInCRC15 (const bool inBitValue ) {
431
432
const bool bit14 = (mCRC15Accumulator & (1 << 14 )) != 0 ;
432
- const bool crc_nxt = inBit ^ bit14 ;
433
+ const bool crc_nxt = inBitValue ^ bit14 ;
433
434
mCRC15Accumulator <<= 1 ;
434
435
mCRC15Accumulator &= 0x7FFF ;
435
436
if (crc_nxt) {
0 commit comments