Skip to content

Commit ec98f2d

Browse files
Oliver Stäblerdeadprogram
authored andcommitted
vl53l1x: Fix switch-case semantics
The source code has been ported from C. It seems, the different semantics of switch-case in Go has not been ported properly. To fix this, remove 'break' statements and introduce 'fallthrough' where necessary. Signed-off-by: Oliver Stäbler <[email protected]>
1 parent 2476cd7 commit ec98f2d

File tree

1 file changed

+4
-17
lines changed

1 file changed

+4
-17
lines changed

vl53l1x/vl53l1x.go

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,6 @@ func (d *Device) SetDistanceMode(mode DistanceMode) bool {
157157
d.writeReg(SD_CONFIG_WOI_SD1, 0x05)
158158
d.writeReg(SD_CONFIG_INITIAL_PHASE_SD0, 6)
159159
d.writeReg(SD_CONFIG_INITIAL_PHASE_SD1, 6)
160-
break
161160
case MEDIUM:
162161
// timing config
163162
d.writeReg(RANGE_CONFIG_VCSEL_PERIOD_A, 0x0B)
@@ -169,7 +168,6 @@ func (d *Device) SetDistanceMode(mode DistanceMode) bool {
169168
d.writeReg(SD_CONFIG_WOI_SD1, 0x09)
170169
d.writeReg(SD_CONFIG_INITIAL_PHASE_SD0, 10)
171170
d.writeReg(SD_CONFIG_INITIAL_PHASE_SD1, 10)
172-
break
173171
case LONG:
174172
// timing config
175173
d.writeReg(RANGE_CONFIG_VCSEL_PERIOD_A, 0x0F)
@@ -181,7 +179,6 @@ func (d *Device) SetDistanceMode(mode DistanceMode) bool {
181179
d.writeReg(SD_CONFIG_WOI_SD1, 0x0D)
182180
d.writeReg(SD_CONFIG_INITIAL_PHASE_SD0, 14)
183181
d.writeReg(SD_CONFIG_INITIAL_PHASE_SD1, 14)
184-
break
185182
default:
186183
return false
187184
}
@@ -333,52 +330,42 @@ func (d *Device) AmbientRate() int32 {
333330
func (d *Device) getRangingData() {
334331
d.rangingData.mm = uint16((uint32(d.results.mmCrosstalkSD0)*2011 + 0x0400) / 0x0800)
335332
switch d.results.status {
336-
case 17: // MULTCLIPFAIL
337-
case 2: // VCSELWATCHDOGTESTFAILURE
338-
case 1: // VCSELCONTINUITYTESTFAILURE
339-
case 3: // NOVHVVALUEFOUND
333+
case 1, // VCSELCONTINUITYTESTFAILURE
334+
2, // VCSELWATCHDOGTESTFAILURE
335+
3, // NOVHVVALUEFOUND
336+
17: // MULTCLIPFAIL
340337
d.rangingData.status = HardwareFail
341-
break
342338

343339
case 13: // USERROICLIP
344340
d.rangingData.status = MinRangeFail
345-
break
346341

347342
case 18: // GPHSTREAMCOUNT0READY
348343
d.rangingData.status = SynchronizationInt
349-
break
350344

351345
case 5: // RANGEPHASECHECK
352346
d.rangingData.status = OutOfBoundsFail
353-
break
354347

355348
case 4: // MSRCNOTARGET
356349
d.rangingData.status = SignalFail
357-
break
358350

359351
case 6: // SIGMATHRESHOLDCHECK
360352
d.rangingData.status = SignalFail
361-
break
362353

363354
case 7: // PHASECONSISTENCY
364355
d.rangingData.status = WrapTargetFail
365-
break
366356

367357
case 12: // RANGEIGNORETHRESHOLD
368358
d.rangingData.status = XtalkSignalFail
369-
break
370359

371360
case 8: // MINCLIP
372361
d.rangingData.status = RangeValidMinRangeClipped
373-
break
374362

375363
case 9: // RANGECOMPLETE
376364
if d.results.streamCount == 0 {
377365
d.rangingData.status = RangeValidNoWrapCheckFail
378366
} else {
379367
d.rangingData.status = RangeValid
380368
}
381-
break
382369

383370
default:
384371
d.rangingData.status = None

0 commit comments

Comments
 (0)