-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into shiftingClass
- Loading branch information
Showing
1 changed file
with
46 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,46 @@ | ||
# PneumaticPaddleShifting | ||
# PneumaticPaddleShifting | ||
|
||
## Table of Contents | ||
1. [Objective](#objective) | ||
2. [User Features](#user-features) | ||
3. [Hardware and Equipment](#hardware-and-equipment) | ||
4. [Firmware Tech Stack](#firmware-tech-stack) | ||
5. [Automation](#automation) | ||
6. [Future Plans](#future-plans) | ||
7. [Deprecated Technologies](#deprecated-technologies) | ||
|
||
## Objective: | ||
- Optimize the user's response to a down-shift and up-shift command. | ||
- Maintain strict practices and edge cases for critical safety. | ||
- Build the first fully-fledged DAQ with re-usable code through: | ||
- The Layered Architecture design pattern | ||
- Modularity of components | ||
- Hardware abstraction | ||
|
||
## User Features | ||
| Supported Logging Method | Library Completion | | ||
| :----------------------- | :--------------------:| | ||
| Micro-SD Card | | | ||
| USB Flash Drive | <span>✔</span> | | ||
| Wireless Transmission | | | ||
|
||
## Hardware and Equipment | ||
### Target Device | ||
The [STM32 Nucleo F466RE](https://www.st.com/en/evaluation-tools/nucleo-f446re.html) microcontroller development board is used as the current target device for code merged to the `main` and `develop` branches. Theoretically, other Arm Cortex M4 based STM32 devices with the necessary peripherals should be able to run the same program. | ||
|
||
![image](https://www.st.com/bin/ecommerce/api/image.PF262063.en.feature-description-include-personalized-no-cpn-medium.jpg) | ||
|
||
|
||
## Firmware Tech Stack | ||
- STM32 Hardware Abstraction Layer ([HAL](https://www.st.com/resource/en/user_manual/um1725-description-of-stm32f4-hal-and-lowlayer-drivers-stmicroelectronics.pdf)) | ||
- Generated by STM32CubeMX within the CubeIDE environment, which also provides the `arm-none-eabi` toolchain. | ||
- Serves as a set of drivers or a Board Support Package (BSP) to interface with the microcontroller. | ||
|
||
## Automation | ||
- Unit tests are developed using [Google Test](https://google.github.io/googletest/) and are maintained in `Shifter_System/Tests`. | ||
- See our [Unit Testing page](https://github.com/DallasFormulaRacing/DataAcquisition2.0/wiki/Unit-Testing) for running them locally by leveraging [Docker](https://docs.docker.com/get-started/overview/). | ||
- Continuous Integration (CI) | ||
- The firmware is compiled as an stm32CubeIDE project using the following GitHub Action: [xanderhendriks/action-build-stm32cubeide](https://github.com/marketplace/actions/build-stm32cubeide-project). | ||
- The unit tests are compiled and ran using [CMake](https://cmake.org/cmake/help/latest/index.html) with [Ninja](https://ninja-build.org/manual.html). | ||
|
||
|