|
|
|
@ -217,7 +217,7 @@ if __name__ == "__main__": |
|
|
|
running = False |
|
|
|
time.sleep(0.5) |
|
|
|
else: |
|
|
|
running = program_switch[current_program](sock, turn_on_relay_start, turn_on_relay_end, turn_off_relay_start, turn_off_relay_end, ex_turn_on_relay_start, ex_turn_on_relay_end, ex_turn_off_relay_start, ex_turn_off_relay_end) |
|
|
|
program_switch[current_program](sock, turn_on_relay_start, turn_on_relay_end, turn_off_relay_start, turn_off_relay_end, ex_turn_on_relay_start, ex_turn_on_relay_end, ex_turn_off_relay_start, ex_turn_off_relay_end) |
|
|
|
# print(current_program) |
|
|
|
|
|
|
|
# 按程序编号从字典获取延时,精准执行 |
|
|
|
@ -280,6 +280,9 @@ if __name__ == "__main__": |
|
|
|
|
|
|
|
# 读取可能的停止指令(超时0.1秒,不阻塞循环) |
|
|
|
stop_cmd_bytes = read_cmd_from_shared(timeout=0.1) |
|
|
|
delay = program_delay_map.get(current_program, 0.0) |
|
|
|
if delay <= 0: |
|
|
|
delay = 0 |
|
|
|
if stop_cmd_bytes is not None and stop_cmd_bytes == b'\xAA\x30': |
|
|
|
print("收到0xAA 0x30,停止循环") |
|
|
|
for i in range(3): |
|
|
|
@ -292,12 +295,12 @@ if __name__ == "__main__": |
|
|
|
running = program_switch[current_program](sock, turn_on_relay_start, turn_on_relay_end, turn_off_relay_start, turn_off_relay_end, ex_turn_on_relay_start, ex_turn_on_relay_end, ex_turn_off_relay_start, ex_turn_off_relay_end) |
|
|
|
|
|
|
|
# 统一字典映射延时 |
|
|
|
delay = program_delay_map.get(current_program, 0.0) |
|
|
|
if delay > 0: |
|
|
|
print(f"program{current_program}执行完成,延时{delay}秒...") |
|
|
|
time.sleep(delay) |
|
|
|
else: |
|
|
|
print(f"当前执行程序是: {current_program}(无指定延时)") |
|
|
|
# delay = program_delay_map.get(current_program, 0.0) |
|
|
|
# if delay > 0: |
|
|
|
# print(f"program{current_program}执行完成,延时{delay}秒...") |
|
|
|
# time.sleep(delay) |
|
|
|
# else: |
|
|
|
# print(f"当前执行程序是: {current_program}(无指定延时)") |
|
|
|
|
|
|
|
# 移动到下一个程序索引 |
|
|
|
#current_index = (current_index + 1) % len(sequence_3) # 注意这里要换成当前使用的 sequence |
|
|
|
|