@@ -319,68 +319,38 @@ def mlc_output(self):
319319 self .set_mem_bank (_FUNC_CFG_BANK_USER )
320320 return buf
321321
322- @property
323- def pedometer_enabled (self ):
324- """Whether the pedometer feature is enabled."""
325- self .set_mem_bank (_FUNC_CFG_BANK_EMBED )
326- data = self ._read_reg (_EMB_FUNC_EN_A )
327- self .set_mem_bank (_FUNC_CFG_BANK_USER )
328- return bool (data & _PEDO_EN_MASK )
322+ def pedometer_config (self , enable = True , debounce = 10 , int1_enable = False , int2_enable = False ):
323+ """Configure the pedometer features."""
324+ self ._select_page (_PEDO_DEB_STEPS_CONF , debounce )
325+
326+ if int1_enable :
327+ self ._set_bits (_MD1_CFG , _INT_EMB_FUNC_MASK )
328+ if int2_enable :
329+ self ._set_bits (_MD2_CFG , _INT_EMB_FUNC_MASK )
329330
330- @pedometer_enabled .setter
331- def pedometer_enabled (self , enable ):
332- """Enable or disable the pedometer feature."""
333331 self .set_mem_bank (_FUNC_CFG_BANK_EMBED )
332+
334333 if enable :
335334 self ._set_bits (_EMB_FUNC_EN_A , _PEDO_EN_MASK )
336335 else :
337336 self ._clear_bits (_EMB_FUNC_EN_A , _PEDO_EN_MASK )
338- self .set_mem_bank (_FUNC_CFG_BANK_USER )
339337
340- def pedometer_reset (self ):
341- """Reset the step counter."""
342- self .set_mem_bank (_FUNC_CFG_BANK_EMBED )
343- self ._set_bits (_EMB_FUNC_SRC , _PEDO_RST_STEP_MASK )
344- self .set_mem_bank (_FUNC_CFG_BANK_USER )
345-
346- @property
347- def pedometer_int1_enabled (self ):
348- """Whether step detection interrupt is routed to INT1 pin."""
349- self .set_mem_bank (_FUNC_CFG_BANK_EMBED )
350- data = self ._read_reg (_EMB_FUNC_INT1 )
351- self .set_mem_bank (_FUNC_CFG_BANK_USER )
352- return bool (data & _PEDO_INT_MASK )
353-
354- @pedometer_int1_enabled .setter
355- def pedometer_int1_enabled (self , enable ):
356- """Route step detection interrupt to INT1 pin."""
357- if enable :
358- self ._set_bits (_MD1_CFG , _INT_EMB_FUNC_MASK )
359- self .set_mem_bank (_FUNC_CFG_BANK_EMBED )
338+ if int1_enable :
360339 self ._set_bits (_EMB_FUNC_INT1 , _PEDO_INT_MASK )
361340 else :
362- self .set_mem_bank (_FUNC_CFG_BANK_EMBED )
363341 self ._clear_bits (_EMB_FUNC_INT1 , _PEDO_INT_MASK )
364- self .set_mem_bank (_FUNC_CFG_BANK_USER )
365-
366- @property
367- def pedometer_int2_enabled (self ):
368- """Whether step detection interrupt is routed to INT2 pin."""
369- self .set_mem_bank (_FUNC_CFG_BANK_EMBED )
370- data = self ._read_reg (_EMB_FUNC_INT2 )
371- self .set_mem_bank (_FUNC_CFG_BANK_USER )
372- return bool (data & _PEDO_INT_MASK )
373342
374- @pedometer_int2_enabled .setter
375- def pedometer_int2_enabled (self , enable ):
376- """Route step detection interrupt to INT2 pin."""
377- if enable :
378- self ._set_bits (_MD2_CFG , _INT_EMB_FUNC_MASK )
379- self .set_mem_bank (_FUNC_CFG_BANK_EMBED )
343+ if int2_enable :
380344 self ._set_bits (_EMB_FUNC_INT2 , _PEDO_INT_MASK )
381345 else :
382- self .set_mem_bank (_FUNC_CFG_BANK_EMBED )
383346 self ._clear_bits (_EMB_FUNC_INT2 , _PEDO_INT_MASK )
347+
348+ self .set_mem_bank (_FUNC_CFG_BANK_USER )
349+
350+ def pedometer_reset (self ):
351+ """Reset the step counter."""
352+ self .set_mem_bank (_FUNC_CFG_BANK_EMBED )
353+ self ._set_bits (_EMB_FUNC_SRC , _PEDO_RST_STEP_MASK )
384354 self .set_mem_bank (_FUNC_CFG_BANK_USER )
385355
386356 def steps (self ):
@@ -390,16 +360,6 @@ def steps(self):
390360 self .set_mem_bank (_FUNC_CFG_BANK_USER )
391361 return self .scratch_2b [0 ] | (self .scratch_2b [1 ] << 8 )
392362
393- @property
394- def pedometer_debounce_steps (self ):
395- """Get the pedometer debounce steps."""
396- return self ._select_page (_PEDO_DEB_STEPS_CONF )
397-
398- @pedometer_debounce_steps .setter
399- def pedometer_debounce_steps (self , steps ):
400- """Set the pedometer debounce steps. Default is 10."""
401- self ._select_page (_PEDO_DEB_STEPS_CONF , steps )
402-
403363 def gyro (self ):
404364 """Returns gyroscope vector in degrees/sec."""
405365 mv = memoryview (self .scratch_int )
0 commit comments