-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Basic System Manager #25
base: main
Are you sure you want to change the base?
Conversation
SystemManager/Src/SystemManager.cpp
Outdated
this->throttleMotorChannel_.set(rcInputs_.throttle); | ||
this->yawMotorChannel_.set(rcInputs_.yaw); | ||
this->rollMotorChannel_.set(rcInputs_.roll); | ||
this->pitchMotorChannel_.set(rcInputs_.pitch); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2 notes
- This assumes we only have 1 motor per axis, which wont be true for a plane. We will likely have 2 motors for roll.
- There is no provision here for arm/disarm. The throttle motor will spin up if the throttle stick on the controller is bumped, and is not safe at all. (this is something that happens all the time, please add an arm/disarm check. Typically you can only arm if the throttle is down and a switch is hit.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- I believe for M1 I was asked to assume that each axis has its own motor.
- Just added a provision to check for arm/disarm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can say with near certainty that you will need to add a second motor for the roll axis that is inverted (1 motor per aileron)
- Added a function to RCControls struct to assign values from an existing object - Implemented basic SBUS input taking with SM - Updated CMAKE
- IWDG timeout is set to 1 second - Added MotorChannel drivers to CMake
df7c938
to
4b40609
Compare
Co-authored-by: Anthony Bertnyk <[email protected]> Co-authored-by: TheSpaceDragon <[email protected]> Co-authored-by: Navtaj Hundal <[email protected]>
Description
What was completed, changed, or updated?
Basic System Manager is now complete!! This manager now takes input and executes them on motor outputs in an infinite loop. All that is needed to be done is instantiation and the call of the function,
flyManually()
.Why was this done (if applicable)?
N/A
Testing
What manual tests were used to validate the code?
Need help with on-site members with testing :p
What unit tests were used to validate the code?
To be written...
Documentation
Milestone 1: Manual Fixed Wing
Link to Asana task:
https://app.asana.com/0/1203458353737758/1204799650722171
Reminders
Add reviewers to the PR
Mention the PR in the appropriate discord channel