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
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)
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])
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)
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)
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)
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)