Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
minLevel1
maxLevel6
outlinefalse
typelist
separatorbrackets
printablefalse

🤔 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 (smile)

Reference Material

Link to previous SysManager https://github.com/UWARG/ZeroPilot-SW-3/tree/main/SystemManager

...