Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # MASTER CONTROLLER IC - COOLING + FILTERS ONLY
- alias RoomIC d0
- alias O2Filter d1
- alias N2Filter d2
- alias CoolingValve d3
- define MSG_READY 0
- define MSG_TEMP_STATUS 1
- define MSG_ATMOS_STATUS 2
- define MSG_COOLING_CMD 3
- alias temp_status r0
- alias atmos_status r1
- alias cooling_needed r2
- alias msg_type r3
- s db Setting MSG_READY
- main:
- yield
- wait_msg:
- l msg_type RoomIC Setting
- beqz msg_type wait_msg
- seq r4 msg_type MSG_TEMP_STATUS
- bnez r4 recv_temp
- seq r4 msg_type MSG_ATMOS_STATUS
- bnez r4 recv_atmos
- j main
- recv_temp:
- s db Setting -1
- yield
- l temp_status db Setting
- s db Setting MSG_READY
- jal process_temp
- j main
- recv_atmos:
- s db Setting -1
- yield
- l atmos_status db Setting
- s db Setting MSG_READY
- s O2Filter On atmos_status
- s N2Filter On atmos_status
- j main
- process_temp:
- sgt cooling_needed temp_status 293.15
- beqz cooling_needed idle_mode
- s CoolingValve On 1
- jal send_cooling_cmd
- j ra
- idle_mode:
- s CoolingValve On 0
- j ra
- send_cooling_cmd:
- l r6 RoomIC Setting
- beqz r6 ready_send
- yield
- j send_cooling_cmd
- ready_send:
- move r7 MSG_COOLING_CMD
- s RoomIC Setting r7
- yield
- l r6 RoomIC Setting
- beq r6 -1 cmd_sent
- yield
- j send_cooling_cmd
- cmd_sent:
- s RoomIC Setting 1
- j ra
Advertisement
Add Comment
Please, Sign In to add comment