@@ -264,7 +264,7 @@ def timing_budget(self):
264
264
"""Ranging duration in milliseconds. Valid range is 10ms to 200ms."""
265
265
osc_freq = struct .unpack (">H" , self ._read_register (0x0006 , 2 ))[0 ]
266
266
267
- macro_period_us = 16 * (int (2304 * (0x40000000 / osc_freq )) >> 6 )
267
+ macro_period_us = 16 * (int (2304 * (1073741824.0 / osc_freq )) >> 6 )
268
268
269
269
macrop_high = struct .unpack (
270
270
">H" , self ._read_register (_VL53L4CD_RANGE_CONFIG_A , 2 )
@@ -310,7 +310,7 @@ def timing_budget(self, val):
310
310
raise RuntimeError ("Osc frequency is 0." )
311
311
312
312
timing_budget_us = val * 1000
313
- macro_period_us = int (2304 * (0x40000000 / osc_freq )) >> 6
313
+ macro_period_us = int (2304 * (1073741824.0 / osc_freq )) >> 6
314
314
315
315
if inter_meas == 0 :
316
316
# continuous mode
@@ -325,7 +325,7 @@ def timing_budget(self, val):
325
325
timing_budget_us <<= 12
326
326
tmp = macro_period_us * 16
327
327
ls_byte = int (((timing_budget_us + ((tmp >> 6 ) >> 1 )) / (tmp >> 6 )) - 1 )
328
- while ls_byte & 0xFFFFFF00 > 0 :
328
+ while ( ls_byte >> 8 ) & 0xFFFFFF > 0 :
329
329
ls_byte >>= 1
330
330
ms_byte += 1
331
331
ms_byte = (ms_byte << 8 ) + (ls_byte & 0xFF )
@@ -335,7 +335,7 @@ def timing_budget(self, val):
335
335
ms_byte = 0
336
336
tmp = macro_period_us * 12
337
337
ls_byte = int (((timing_budget_us + ((tmp >> 6 ) >> 1 )) / (tmp >> 6 )) - 1 )
338
- while ls_byte & 0xFFFFFF00 > 0 :
338
+ while ( ls_byte >> 8 ) & 0xFFFFFF > 0 :
339
339
ls_byte >>= 1
340
340
ms_byte += 1
341
341
ms_byte = (ms_byte << 8 ) + (ls_byte & 0xFF )
0 commit comments