Beispiel #1
0
 def variables(self, news: dict):
     for i, key in enumerate(
             'TrigVar0',
             'TrigVar1',
             'TrigVar2',
             'TrigVar3',
             'TrigVar4',
             'TrigVar5',
             'TrigVar6',
             'TrigVar7',
             'TrigVar8',
             'TrigVar9',
             'TrigVarA',
             'TrigVarB',
             'TrigVarC',
             'TrigVarD',
             'TrigVarE',
             'TrigVarF',
     ):
         name = self.param[key]
         if name and name in news:
             val = Variable.get(name)
             if type(val) == list:
                 for ii, subval in enumerate(val, i):
                     self._set_val(ii, subval)
             else:
                 self._set_val(i, val)
    def _is_variable_active(self, name):
        val = str(Variable.get(name))

        if self.param['TrigVals1'] and self.param['TrigVals1'].find(val) >= 0:
            return True

        return False
Beispiel #3
0
    def _get_variable(self, key):
        val = str(Variable.get(key))

        if self.param['TrigVals1'] and self.param['TrigVals1'].find(val) >= 0:
            return True

        return False
 def variables(self, news: dict):
     name = self.param['TrigVar']
     if name and name in news:
         val = Variable.get(name)
         if type(val) == str:
             val = int(val, 0)
         if 0 <= val <= 255:
             self._i2c.write_byte(val)
Beispiel #5
0
 def variables(self, news: dict):
     name = self.param['TrigVar']
     if name and name in news:
         val = Variable.get(name)
         if type(val) == str:
             val = int(val, 0)
         if 0 <= val <= 0xFFFF:
             self._i2c.write_buffer([val & 0xFF, (val >> 8) & 0xFF])
Beispiel #6
0
 def variables(self, news:dict):
     for key, reg in (('TrigVarA', MCP23017_GPIOA), ('TrigVarB', MCP23017_GPIOB)):
         name = self.param[key]
         if name and name in news:
             val = Variable.get(name)
             if type(val) == str:
                 val = int(val, 0)
             if 0 <= val <= 255:
                 self._i2c.write_reg_byte(reg, val)
Beispiel #7
0
 def variables(self, news: dict):
     name = self.param['TrigVar']
     if name and name in news:
         val = Variable.get(name)
         if type(val) == str:
             val = float(val)
         #val = int(val * self._scale + 0.5)
         val = int((val - self._offset) * self._scale + 0.5)
         if val < 0: val = 0
         if val > 0xFF: val = 0xFF
         self._i2c.write_reg_byte(self._ctrl_reg, val)
Beispiel #8
0
 def variables(self, news:dict):
     name = self.param['TrigVar']
     if name and name in news:
         val = Variable.get(name)
         if type(val) == str:
             val = float(val)
         val = int(val * self._scale + 0.5)
         if val < 0: val = 0
         if val > 0xFFF: val = 0xFFF
         data = [((val >> 8) & 0x0F), (val & 0xFF)]
         self._i2c.write_buffer(data)
Beispiel #9
0
    def variables(self, news: dict):
        if not self._i2c:
            return

        try:
            name = self.param['TrigVar']
            if name and name in news:
                val = Variable.get(name)
                if type(val) == str:
                    val = int(val, 0)
                if 0 <= val <= 255:
                    self._i2c.write_byte(val)

        except Exception as e:
            print(str(e))
            self._last_error = str(e)