Skip to content
Snippets Groups Projects
Select Git revision
  • e563593e87be305bcdc20ded3ec00b3f6f80da9e
  • master default protected
  • mh/blecentral
  • patch-2
  • patch-1
  • filenames-blacklist
  • rahix/ble-fix
  • genofire/ble-rewrite
  • koalo/bhi160-works-but-dirty
  • ch3/splashscreen
  • m
  • rahix/simple_menu
  • ios-workarounds
  • koalo/wip/i2c-for-python
  • renze/safe_mode
  • renze/hatchery_apps
  • schneider/fundamental-test
  • koalo/factory-reset
  • msgctl/gfx_rle
  • msgctl/faultscreen
  • msgctl/textbuffer_api
  • v1.2
  • v1.1
  • v1.0
  • release-1
  • bootloader-v1
  • v0.0
27 results

code-style.sh

Blame
  • Forked from card10 / firmware
    Source project has a limited visibility.
    max30001.py 1.72 KiB
    import sys_max30001
    import interrupt
    import ucollections
    
    
    class MAX30001:
        def __init__(
            self,
            usb=False,
            bias=True,
            sample_rate=128,
            callback=None,
            sample_buffer_len=256,
        ):
            self.sample_rate = sample_rate
            self.callback = callback
            self.sample_buffer_len = sample_buffer_len
            self.interrupt_id = interrupt.MAX30001_ECG
            self.usb = usb
            self.bias = bias
            self._callback = callback
            self.enable_sensor()
    
        def enable_sensor(self):
            interrupt.disable_callback(self.interrupt_id)
            interrupt.set_callback(self.interrupt_id, self._interrupt)
            self.stream_id = sys_max30001.enable_sensor(
                self.usb, self.bias, self.sample_rate, self.sample_buffer_len
            )
    
            if self.stream_id < 0:
                raise ValueError("Enable sensor returned %i", self.stream_id)
    
            self.active = True
    
            if self._callback:
                interrupt.enable_callback(self.interrupt_id)
    
        def __enter__(self):
            return self
    
        def __exit__(self, _et, _ev, _t):
            self.close()
    
        def close(self):
            if self.active:
                self.active = False
                ret = sys_max30001.disable_sensor(self.sensor_id)
    
                if ret < 0:
                    raise ValueError("Disable sensor returned %i", ret)
    
                interrupt.disable_callback(self.interrupt_id)
                interrupt.set_callback(self.interrupt_id, None)
    
        def read(self):
            if self.active:
                return sys_max30001.read_sensor(self.stream_id)
            return []
    
        def _interrupt(self, _):
            if self.active:
                data = self.read()
                if self._callback:
                    self._callback(data)