.. _endscanmid: ========== EndScan ========== 1. The Subarray node provides API for **EndScan workflow**. 2. The Sub-array node **accepts the command** if :- A. **Admin mode** reported by each of the system - CSP,SDP subarray are in **ONLINE/ENGINEERING/RESERVED** B. Operational **state** of the Sub-array node is **ON/OFF/INIT/STANDBY/ALARM** 3. The Sub-array Node **rejects the command** if :- A. **Admin mode** reported by each of the system - CSP,SDP Sub-array are in **OFFLINE** or **NOT FITTED**. B. Operational **state** of subarray node is **FAULT/UNKNOWN/DISABLE** . 4. The following **state requirements** are applied for the **command execution** :- A. TMC Subarray is in `'observation state'` **SCANNING** . B. :term:`isSubarrayAvailable` is checked to ensure the subsystems (CSP, SDP and Dish) are :term:`available` 5. The **command execution** involves below **key operations** :- A. Stops scan completion timers . B. The command is then invoked on the relevant TMC CSP, SDP, Dish leaf Nodes. - If **any** of the leaf node **rejects** EndScan command , Command will **still be sent** to remaining subsystems .Once command is sent to all subsystems , command failure is reported as **'RESULT_CODE - FAILED'** on Long Running Command Result attribute of the TMC Subarray node. - If **all** leaf node **accept** command , the TMC Subarry node will wait for command completion. 6. The Sub-array node **monitors the progress** of command via the Sub-array node **ObsState transitions** and the **long running command results**. A. Command is **successful** when the TMC Subarray Node **transitions** to **READY** ObsState. This is reported as **'RESULT_CODE - OK'** on Long Running Command Result attribute of the Subarray node. B. Command **failure** is reported in any of the below cases as **'RESULT_CODE - FAILED'** on Long Running Command Result attribute of the Subarray node. - The CSP Leaf node/SDP Leaf node/Dish Leaf node reports **'RESULT_CODE - FAILED'** on its Long Running Command Result attribute - The command **times out** if TMC SubarrayNode **does not transition** to **READY** within the **timeout period** specified by `CommandTimeOutDefault` property specified in helm chart of the TMC Subarray node . 7. On **success** the system is **ready for End or next configure**; on **failure** it may revert to **SCANNING** or **FAULT** depending on severity.