from enum import Enum reg_table = {'out_cur': 0x0200, 'out_mode': 0x0202, 'out_mode_save': 0x0203, 'pwm_duty': 0x0210, 'pwm_duty_save': 0x0220, 'pwm_per': 0x0230, 'pwm_per_save': 0x0240, 'rtc_sinhro': 0x0804, 'log_info': 0x0900, 'log_ent': 0x0901, 'arch_cap': 0x0902, 'arch_ent': 0x0903, 'archive_per': 0x0904} DIO_REGS = {'load_bits': 0x0130, 'cred_bits': 0x0131, 'out_cur': 0x0200} AI_REGS = {'ain_state': 0x0300, 'ain_mode': 0x0301, 'ain_alarm': 0x0302, 'esens_pow': 0x0303, 'ain_gain': 0x0310, 'ain_raw': 0x0320, 'ain_fil': 0x0330} LOG_REGS = {'log_info': 0x0900, 'log_ent': 0x0901, 'arch_cap': 0x0902, 'arch_ent': 0x0903, 'arch_per': 0x0904} class DioReg(Enum): IN_STATE = 0x0100 # Состояние входов (вкл./выкл.) IN_BITS = 0x0101 # Текущее состояние входов IN_CNT = 0x0102 # Счетчики импульсов IN_MODE = 0x0120 # Режим работы входов (битовое поле) IN_NORM = 0x0122 # Нормальное состояние входов IN_DEBOUNCE = 0x0124 # Время антидребезга (ms) OUT_STATE = 0x0200 # Состояние выходов (вкл./выкл.) OUT_BITS = 0x0201 # Текущее состояние выходов class AoReg(Enum): OUT_STATE = 0x0400 # статус выходов OUT_STATE_SAVE = 0x0401 # статус выходов (безопасный режим) OUT_MODE = 0x0402 # режим работы выходов (напряжение/ток) OUT_MODE_SAVE = 0x0403 # режим работы выходов (безопасный режим) OUT_POWER = 0x0404 # питание выходных каналов OUT_VALUE = 0x0410 # Значение на выходе OUT_VALUE_SAVE = 0x0420 # Значение на выходе (безопасный режим) class SysReg(Enum): '''Производственные настройки''' MODEL = 0x0080 # Модель (числовой код) HW_REV = 0x0081 # Ревизия платы PRODATE = 0x0082 # Дата производтсва SN = 0x0084 # Серийный номер FW_VER = 0x0086 # Версия ПО TEST_STATUS = 0x008A # Статус тестирования PASSWORD = 0x0090 # Пароль SAVE_SYS = 0x0091 # Команда записи системных настроек '''Системные параметры''' COMMAND = 0x0800 # Команды управления UPTIME = 0x0801 # Uptime RTC = 0x0803 # RTC BAT_VOLTAGE = 0x0807 # Напряжение на батарее RTC ERR = 0x0809 # Состояние модуля INFO = 0x080B # Текстовая строка (пользовательская информация) SAVE_MODE = 0x081B # Безопасный режим работы (0-выкл, 1-вкл) SAVE_DELAY = 0x081C # Время до перехода в безопасный режим