-
Notifications
You must be signed in to change notification settings - Fork 0
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
FWT-10 SRS Documentation #9
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: Matthew Magee <mjmagee991@gmail.com>
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.
Looks good.
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.
Noticed a couple of leftover comments that were never cleaned up (mostly notated them with "fix!") and had like one grammatical nitpick but otherwise looks great! I think perhaps including more information about what the types of data represent and how they could theoretically be used would benefit the reader.
processing of data and manages CAN network communication for the IMU. The | ||
BNO055 is used to obtain the orientation measurements. | ||
|
||
* list some boards that will use the data |
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.
fix pls.
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.
For DEV1, this data is not currently being used by other boards, but it can be used for traction control in the future
Software Interfaces | ||
~~~~~~~~~~~~~~~~~~~ | ||
|
||
The DEV1 IMU software interface is the report of measurements over the CAN |
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.
this is a weird way to phrase this. Maybe say something like "The DEV1 IMU software reports measurements over the CAN (is it CAN or CANopen?) network.
|
||
There is no communication between IMU and the other boards on the DEV1 bike ... | ||
|
||
* using a strict definition of communication as in both parties are connected |
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.
fix!
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.
There is no bi-directional communication, but there is certainly data being broadcast by the IMU. This section should be reworded in general
handled via I2C, however it does not adhere to standard I2C. For more about | ||
the non-standard I2C communication scheme, read ... | ||
|
||
* should leave implementation of i2c in the state of software doc? |
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.
Fix!
the driver class will: | ||
|
||
* check that the BNO055's self-test initiated at startup was successful | ||
* switch the BNO055 from configuration mode to NDOF operation mode |
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.
you are using the same syntax of a * at the front of a message to indicate a comment to yourself, so maybe do something like a -> for a list item, to differentiate the two?
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.
*
is automatically detected as a list item by the rST compiler, so this should remain the same, but something else should be used for the comments
-------------------------------- | ||
|
||
The IMU chip is an auxiliary board that does not require any user interaction | ||
post-development? |
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.
why a question mark?
* Must be developed for the STM32F334r8 | ||
* Resulting binary must fit within the ST microcontroller 64KB flash memory | ||
* Orientation measurements must be performed by the BNO055 | ||
* non standard I2C communication with the BNO055 |
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.
(see previous note about list items)
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.
See comment on previous note about list items
External Interface Requirements | ||
------------------------------- | ||
|
||
* no external interface? |
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.
fix!
do is described in the Product Functions section under `Initialization | ||
and Configuration of BNO055`_. | ||
|
||
* should be more specific? |
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.
fix!
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.
Some cleaning up to do
The Inertial Measurement Unit measures acceleration and position data for the | ||
bike using the BNO055 chip. This chip uses its sensors ( | ||
accelerometers, magnetometer, and gyroscope) to calculate a number of | ||
metrics, including gravity vector, linear acceleration, angular velocity, | ||
Euler angles, and the surrounding magnetic field. The IMU reports these | ||
measurements over CAN, providing general information to the bike on its | ||
orientation and allowing other boards to act accordingly for optimal | ||
performance. The system is based around the built-in BNO055 chip. The firmware | ||
is written for the STM32F334K8U6 microcontroller designed into the DEV1 IMU. |
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.
The Inertial Measurement Unit measures acceleration and position data for the | |
bike using the BNO055 chip. This chip uses its sensors ( | |
accelerometers, magnetometer, and gyroscope) to calculate a number of | |
metrics, including gravity vector, linear acceleration, angular velocity, | |
Euler angles, and the surrounding magnetic field. The IMU reports these | |
measurements over CAN, providing general information to the bike on its | |
orientation and allowing other boards to act accordingly for optimal | |
performance. The system is based around the built-in BNO055 chip. The firmware | |
is written for the STM32F334K8U6 microcontroller designed into the DEV1 IMU. | |
The Inertial Measurement Unit measures inertial values for the bike using the | |
BNO055 chip. This chip uses its sensors (accelerometers, magnetometers, and | |
gyroscopes) to calculate a number of metrics, including gravity vector, linear | |
acceleration, angular velocity, Euler angles, and the surrounding magnetic field. | |
The IMU reports these measurements over CAN, providing general information to | |
the bike on its orientation and allowing other boards to act accordingly for optimal | |
performance. The system is based around the built-in BNO055 chip. The firmware | |
is written for the STM32F334K8U6 microcontroller designed into the DEV1 IMU. |
For more information on the IMU and software level API, refer to | ||
the `Read the Docs DEV1 IMU page <https://imu.readthedocs.io>`_. |
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.
If someone is reading this, they're already on the readthedocs page
* | ||
* Datasheet for BNO055 - https://cdn-shop.adafruit.com/datasheets/BST_BNO055_DS000_12.pdf |
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.
While I see why this isn't fully necessary to have here. It's fairly convenient for a developer to be able to access this from this file instead of having to dig through documentation files, so I think it should be left here for now.
and building the DEV1 IMU. Members of this group may refer to this document | ||
to ensure requirements and constraints align with their expectations. | ||
Additionally, this document can be used as a point of reference during | ||
the hardware/firmware bring up and debugging. |
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.
the hardware/firmware bring up and debugging. | |
the hardware/firmware bringup process. |
developing, and testing the DEV1 IMU firmware. Members of this team will | ||
need to refer to this document throughout the development process to ensure | ||
all target needs are met within the agreed upon constraints. | ||
* Integration Team Members: RIT EVT team members who handle systems level |
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.
* Integration Team Members: RIT EVT team members who handle systems level | |
* Integration Team Members: RIT EVT team members who handle systems-level |
* check that the BNO055's self-test initiated at startup was successful | ||
* switch the BNO055 from configuration mode to NDOF operation mode | ||
|
||
The NDOF operation mode calculates fused absolute orientation data from the |
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.
The NDOF operation mode calculates fused absolute orientation data from the | |
The 9DOF operation mode calculates fused absolute orientation data from the |
* Must be developed for the STM32F334r8 | ||
* Resulting binary must fit within the ST microcontroller 64KB flash memory | ||
* Orientation measurements must be performed by the BNO055 | ||
* non standard I2C communication with the BNO055 |
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.
See comment on previous note about list items
* Must be developed for the STM32F334r8 | ||
* Resulting binary must fit within the ST microcontroller 64KB flash memory | ||
* Orientation measurements must be performed by the BNO055 | ||
* non standard I2C communication with the BNO055 |
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.
* non standard I2C communication with the BNO055 | |
* Non-standard I2C communication with the BNO055 |
IMU Inertial Measurement Unit | ||
CAN Controller Area Network | ||
CANopen Communication protocol built on CAN | ||
DEV1 Dirt Electric Vehicle Team | ||
EVT Electrical Vehicle Team | ||
I2C Inter-Integrated Circuit | ||
KB Kilobyte | ||
STM32F334K8 ST Microcontroller selected for this project |
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.
IMU Inertial Measurement Unit | |
CAN Controller Area Network | |
CANopen Communication protocol built on CAN | |
DEV1 Dirt Electric Vehicle Team | |
EVT Electrical Vehicle Team | |
I2C Inter-Integrated Circuit | |
KB Kilobyte | |
STM32F334K8 ST Microcontroller selected for this project | |
IMU Inertial Measurement Unit | |
CAN Controller Area Network | |
CANopen Higher-level communication protocol using CAN | |
DEV1 Dirt Electric Vehicle 1 | |
EVT Electric Vehicle Team | |
I2C Inter-Integrated Circuit | |
KB Kilobyte | |
STM32F334K8 ST Microcontroller selected for this project |
======== ============================ ========== | ||
Revision Description Date | ||
-------- ---------------------------- ---------- | ||
1 Initial documentation. |
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.
Add a date
Most of the earlier sections, along with more general sections, were copied from BMS. For those who I was unsure about I made a list underneath with things I'm thinking about
Link to RTD for this branch: https://imu.readthedocs.io/en/srs-doc/srs.html#