mb_registers.py 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. from enum import Enum
  2. reg_table = {'out_cur': 0x0200, 'out_mode': 0x0202, 'out_mode_save': 0x0203, 'pwm_duty': 0x0210,
  3. 'pwm_duty_save': 0x0220, 'pwm_per': 0x0230, 'pwm_per_save': 0x0240,
  4. 'rtc_sinhro': 0x0804, 'log_info': 0x0900, 'log_ent': 0x0901,
  5. 'arch_cap': 0x0902, 'arch_ent': 0x0903, 'archive_per': 0x0904}
  6. DIO_REGS = {'in_bits': 0x0100, 'in_cnt': 0x0102,'in_mode': 0x0120, 'in_norm': 0x0122,
  7. 'in_deb_start': 0x124, 'load_bits': 0x0130, 'cred_bits': 0x0131, 'out_cur': 0x0200}
  8. AI_REGS = {'ain_state': 0x0300, 'ain_mode': 0x0301, 'ain_alarm': 0x0302, 'esens_pow': 0x0303,
  9. 'ain_gain': 0x0310, 'ain_raw': 0x0320, 'ain_fil': 0x0330}
  10. LOG_REGS = {'log_info': 0x0900, 'log_ent': 0x0901, 'arch_cap': 0x0902, 'arch_ent': 0x0903, 'arch_per': 0x0904}
  11. class DioReg(Enum):
  12. IN_BITS = 0x0100
  13. class AoReg(Enum):
  14. OUT_STATE = 0x0400 # статус выходов
  15. OUT_STATE_SAVE = 0x0401 # статус выходов (безопасный режим)
  16. OUT_MODE = 0x0402 # режим работы выходов (напряжение/ток)
  17. OUT_MODE_SAVE = 0x0403 # режим работы выходов (безопасный режим)
  18. OUT_POWER = 0x0404 # питание выходных каналов
  19. OUT_VALUE = 0x0410 # Значение на выходе
  20. OUT_VALUE_SAVE = 0x0420 # Значение на выходе (безопасный режим)
  21. class SysReg(Enum):
  22. '''Производственные настройки'''
  23. MODEL = 0x0080 # Модель (числовой код)
  24. HW_REV = 0x0081 # Ревизия платы
  25. PRODATE = 0x0082 # Дата производтсва
  26. SN = 0x0084 # Серийный номер
  27. FW_VER = 0x0086 # Версия ПО
  28. TEST_STATUS = 0x008A # Статус тестирования
  29. PASSWORD = 0x0090 # Пароль
  30. SAVE_SYS = 0x0091 # Команда записи системных настроек
  31. '''Системные параметры'''
  32. COMMAND = 0x0800 # Команды управления
  33. UPTIME = 0x0801 # Uptime
  34. RTC = 0x0803 # RTC
  35. ERR = 0x0807 # Состояние модуля
  36. INFO = 0x0809 # Текстовая строка (пользовательская информация)
  37. SAVE_MODE = 0x080A # Безопасный режим работы (0-выкл, 1-вкл)
  38. SAVE_DELAY = 0x080B # Время до перехода в безопасный режим