rnc_tuning/param_data.py

67 lines
1.6 KiB
Python
Raw Permalink Normal View History

2025-02-14 11:11:41 +08:00
class ParamData:
VAR_TYPE_VAR = 0
VAR_TYPE_ARR = 1
def __init__(self, p_id, addr, name, details, var_type):
self.id = p_id
self.addr = addr
self.name = name
self.details = details
self.type = var_type
self.item = None
class ParamDataVar(ParamData):
def __init__(self, p_id=0, addr=0, name='', details='', var_type=0):
super().__init__(p_id, addr, name, details, var_type)
self._getval = 0
self._setval = 0
def val(self):
return self._getval
def update_val(self, val):
self._getval = val
self.item.setText(str(self.val()))
def setval(self):
return self._setval
def update_setval(self, val):
self._setval = val
class ParamDataArr(ParamData):
def __init__(self, p_id=0, addr=0, name='', details='', var_type=0, length=1):
super().__init__(p_id, addr, name, details, var_type)
self.size = length
self.getval_list = [0] * length
self.setval_list = [0] * length
class VarParamData:
VAR_TYPE_VAR = 0
VAR_TYPE_ARR = 1
def __init__(self, addr, name, details, var_type):
self.addr = addr
self.name = name
self.details = details
self.type = self.VAR_TYPE_VAR if var_type == 'VAR' else self.VAR_TYPE_ARR
self._current_val = 0
self._set_val = 0
def current_val(self):
return self._current_val
def set_val(self, set_val):
self._set_val = set_val
if __name__ == "__main__":
test_list = [0] * 10
print(test_list)