Доработка. Управление модуляцией усилителей. Кнопка подавление определяет режим по умолчанию для всех помех.
This commit is contained in:
@@ -4,6 +4,15 @@ class EmsBoard:
|
||||
enum {WAIT, WR_DEV_NUM_W, WRITE, WR_DEV_NUM_R, READ, READ_FLASH, WRITE_FLASH,
|
||||
WRITE_FLASH_BEGIN, LOAD_KEMS, WRITE_FLASH_END, LOAD_FAIL} ## Состояния платы
|
||||
|
||||
const modulation_dev: Dictionary = { ## Словарь соответствия диапазона номеру устройства
|
||||
0 : 50,
|
||||
1 : 51,
|
||||
2 : 52,
|
||||
3 : 51,
|
||||
4 : 52,
|
||||
5 : 51,
|
||||
6 : 52, }
|
||||
|
||||
var id_board: int ## id платы
|
||||
var in_devs: Dictionary ## Словарь с входными устройствами.
|
||||
var out_devs: Dictionary ## Словарь с выходными устройствами.
|
||||
@@ -26,6 +35,7 @@ class EmsBoard:
|
||||
var need_flash_wr: bool = false ## Флаг, что надо записать данные в флеш
|
||||
var need_write: bool = false ## Флаг, что надо записать данные в ячейку ЭМС
|
||||
var ems_g_fn: String = '' ## Имя файла настроек ЭМС-Г
|
||||
var cmd_array: Array ## Очередь выполнения команд
|
||||
|
||||
signal upd_delay_offset(board, cur_dev) ## Сигнал о обновлении данных задержек
|
||||
signal upd_o_state(board, cur_dev) ## Сигнал о обновлении данных режима выходов
|
||||
@@ -284,3 +294,17 @@ class EmsBoard:
|
||||
|
||||
func set_load_done():
|
||||
unit_ems.send_load_ems_done(unit_ems.CmdCode.LOAD_EMS_DONE)
|
||||
|
||||
func execute_cmd():
|
||||
if len(cmd_array):
|
||||
var cmd: Array = cmd_array.pop_front()
|
||||
change_mode(cmd[0], cmd[1])
|
||||
|
||||
func add_cmd(band, mode_state):
|
||||
var state = 2
|
||||
if mode_state:
|
||||
state = 3
|
||||
cmd_array.append([modulation_dev[band], state])
|
||||
|
||||
func get_dev_mode(fs_index):
|
||||
return out_devs[modulation_dev[fs_index/4]].mode
|
||||
|
||||
@@ -1,15 +1,5 @@
|
||||
extends Node
|
||||
|
||||
const modulation_dev: Dictionary = {
|
||||
0 : 50,
|
||||
1 : 51,
|
||||
2 : 52,
|
||||
3 : 51,
|
||||
4 : 52,
|
||||
5 : 51,
|
||||
6 : 52,
|
||||
}
|
||||
|
||||
var ems_board: Dictionary = {}
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
@@ -51,10 +41,12 @@ func on_data_ems_received(unit_ems, board):
|
||||
board.set_status(unit_ems.status)
|
||||
if board.state_board == board.WAIT and board.state_cmd == board.WAIT:
|
||||
if board.online:
|
||||
if board.need_write:
|
||||
if board.need_write and (not board.ems_load):
|
||||
start_load(board)
|
||||
elif not board.ems_load:
|
||||
board.set_load_done()
|
||||
elif board.ems_load and len(board.cmd_array):
|
||||
board.execute_cmd()
|
||||
else:
|
||||
board.need_write = true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user