Domain
...
Overlooks other managers and forwards queries/input data to respective drivers/managers.
...
For Milestone 1, it basically needs to act like a 1:1 mapping between input and output. Later on, Milestone 2 onwards, it needs to be a more “intelligent“ being.
...
Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
🤔 Problem Statement
In the Zero-Pilot Architecture, System Manager is the highest level entity. System Manager parses controller inputs, overlooks and orchestrates the conversations between other managers, and manages the state of the drone.
Milestone 1 Implementation
For Milestone 1, System Manager is a simple class that has a manual flying mode. Here is a list of available functions with the System Manager class for Milestone 1.
Function Name | Purpose | Return Type |
---|---|---|
Public Functions | ||
fly_manually | Puts device in manual control mode, gets data using SBUS, and executes commands on the motors using PWM Out driver. | None. Void Function. |
Private Functions | ||
set_control_mode | Sets the control method of the device. Mainly for state-keeping. In the future, it will notify AM about this change. | None. Void Function. |
set_arm_mode | Sets the arm mode of the device. Mainly for state-keeping. In the future, it will notify AM about this change. | None. Void Function. |
set_flight_mode | Sets the flight mode of the device. Mainly for state-keeping. In the future, it will notify AM about this change. | None. Void Function. |
get_control_mode | Returns the current control mode on the device. | CONTROL_METHOD alias for int |
get_arm_mode | Returns the current arm status on the device. | ARM_MODE alias for int |
get_flight_mode | Returns the current flight mode set on device. | FLIGHT_MODE alias for int |
execute_input | Executes passed data on the motors | None. Void Function. |
Milestone 2 Implementation
More to come
Reference Material
Link to previous SysManager https://github.com/UWARG/ZeroPilot-SW-3/tree/main/SystemManager
...