Доработка УГ 0х10А порта

This commit is contained in:
TotMaxim
2025-11-23 13:58:11 +03:00
parent e9811ae42b
commit bdb50989f9
5 changed files with 194 additions and 36 deletions

View File

@@ -13,10 +13,12 @@ func _emit_initial_ports() -> void:
# Просто устанавливаем текущие значения (это вызовет update_isa_ports)
var current_106 = _device.get_isa_port(0x106)
var current_108 = _device.get_isa_port(0x108)
var current_10A = _device.get_isa_port(0x10A)
# Триггерим обновление через установку тех же значений
_device.set_isa_port(0x106, current_106)
_device.set_isa_port(0x108, current_108)
_device.set_isa_port(0x10A, current_10A)
# Универсальные методы для работы с битовыми полями
func set_status_field(port: int, value: int, bit_mask: int, shift: int = 0) -> void:
@@ -36,6 +38,9 @@ func set_dou2_status(status: int) -> void:
func get_dou2_status() -> int:
return get_status_field(0x106, 0b111, 0)
func set_att1_status(status: int) -> void:
set_status_field(0x10A, status, 0b111, 0)
func set_att2_status(status: int) -> void:
set_status_field(0x106, status, 0b111, 3)