TIMAS_Bro

Untitled

Sep 20th, 2025 (edited)
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. # MASTER CONTROLLER IC - COOLING + FILTERS ONLY
  2. alias RoomIC d0
  3. alias O2Filter d1
  4. alias N2Filter d2
  5. alias CoolingValve d3
  6.  
  7. define MSG_READY 0
  8. define MSG_TEMP_STATUS 1
  9. define MSG_ATMOS_STATUS 2
  10. define MSG_COOLING_CMD 3
  11.  
  12. alias temp_status r0
  13. alias atmos_status r1
  14. alias cooling_needed r2
  15. alias msg_type r3
  16.  
  17. s db Setting MSG_READY
  18.  
  19. main:
  20. yield
  21.  
  22. wait_msg:
  23. l msg_type RoomIC Setting
  24. beqz msg_type wait_msg
  25.  
  26. seq r4 msg_type MSG_TEMP_STATUS
  27. bnez r4 recv_temp
  28. seq r4 msg_type MSG_ATMOS_STATUS
  29. bnez r4 recv_atmos
  30. j main
  31.  
  32. recv_temp:
  33. s db Setting -1
  34. yield
  35. l temp_status db Setting
  36. s db Setting MSG_READY
  37.  
  38. jal process_temp
  39. j main
  40.  
  41. recv_atmos:
  42. s db Setting -1
  43. yield
  44. l atmos_status db Setting
  45. s db Setting MSG_READY
  46.  
  47. s O2Filter On atmos_status
  48. s N2Filter On atmos_status
  49. j main
  50.  
  51. process_temp:
  52. sgt cooling_needed temp_status 293.15
  53.  
  54. beqz cooling_needed idle_mode
  55. s CoolingValve On 1
  56.  
  57. jal send_cooling_cmd
  58. j ra
  59.  
  60. idle_mode:
  61. s CoolingValve On 0
  62. j ra
  63.  
  64. send_cooling_cmd:
  65. l r6 RoomIC Setting
  66. beqz r6 ready_send
  67. yield
  68. j send_cooling_cmd
  69.  
  70. ready_send:
  71. move r7 MSG_COOLING_CMD
  72. s RoomIC Setting r7
  73. yield
  74. l r6 RoomIC Setting
  75. beq r6 -1 cmd_sent
  76. yield
  77. j send_cooling_cmd
  78.  
  79. cmd_sent:
  80. s RoomIC Setting 1
  81. j ra
Advertisement
Add Comment
Please, Sign In to add comment