... | ... | @@ -3,9 +3,6 @@ Boardcore is an evolving project to which many have contributed over the years, |
|
|
Nothing is written in stone, so if you'd like to contribute with your own discoveries and suggestions, you're more than welcome!
|
|
|
|
|
|
### 📝 Basics
|
|
|
*First tutorial*
|
|
|
- [**Boardcore Quick Start**](Boardcore-Quick-Start)
|
|
|
|
|
|
*Read these before you start coding*
|
|
|
- [Git Workflow](Git-Workflow)
|
|
|
- [Coding Guidelines](Coding-Guidelines)
|
... | ... | @@ -14,44 +11,48 @@ Nothing is written in stone, so if you'd like to contribute with your own discov |
|
|
### 📚 Tutorials
|
|
|
*Things that will help you getting familiar with Boardcore, MIOSIX and STM32 boards*
|
|
|
|
|
|
- [Setting up the BSP]: How the board support package works
|
|
|
- [**Boardcore Quick Start**](Boardcore-Quick-Start): first tutorial
|
|
|
- [Flashing on a board](Flashing-on-a-Target-Board)
|
|
|
- [GPIO Usage](GPIO-Usage-&-Used-Pins)
|
|
|
- [Serial Communication](Serial-Communication)
|
|
|
- [Writing a Sensor Driver]: I2C, SPI, Bustemplate
|
|
|
- [Testing with Catch](Testing)
|
|
|
- [State Machines](State-Machines-Examples-and-Best-Practices)
|
|
|
- [Interrupts](Interrupts)
|
|
|
- [Synchronization]: mutex, cond variables, kernelpause, disable interrupts...
|
|
|
|
|
|
**Advanced**
|
|
|
|
|
|
- [Setting up the BSP]: How the board support package works
|
|
|
- [State Machines](State-Machines-Examples-and-Best-Practices)
|
|
|
- [Testing with Catch](Testing)
|
|
|
|
|
|
### 🛠 Boardcore Components
|
|
|
*Specific documentation about commonly used features*
|
|
|
### 🛠 Available Components
|
|
|
*Specific documentation about Boardcore components*
|
|
|
|
|
|
- [Skyward Build System](Skyward-Build-System-(SBS))
|
|
|
- [Interfaces](Boardcore-Interfaces)
|
|
|
- [Singleton](Boardcore-Interfaces#singleton)
|
|
|
- [ActiveObject](Boardcore-Interfaces#active-object)
|
|
|
- [EventHandler]
|
|
|
- [FSM]
|
|
|
- [HSM]
|
|
|
- Components:
|
|
|
- [Logger]
|
|
|
- [EventBroker]
|
|
|
- [Diagnostic Tools]
|
|
|
- [CPUMeter]
|
|
|
- [StackLogger]
|
|
|
- Drivers:
|
|
|
- [BusTemplate]
|
|
|
- [EventHandler]: anything that can handle events (reads continuously from an event queue)
|
|
|
- [FSM]: Finite state machine, handles events using the current state's handler
|
|
|
- [HSM]: Hierarchical State Machine
|
|
|
- Stand-alone Components
|
|
|
- [Logger]: performs triple buffering to optimize SD cart writes.
|
|
|
- [EventBroker]: central component used in a publish-subscribe architecture to dispatch events between FSMs
|
|
|
- Diagnostic Tools
|
|
|
- [CPUMeter]: measure CPU usage
|
|
|
- [StackLogger]: measure stack usage for each thread
|
|
|
- Drivers
|
|
|
- [BusTemplate]: architectural component that abstracts sensors from the physical bus implementation
|
|
|
- [Mavlink](Mavlink)
|
|
|
- [CAN bus]
|
|
|
- [Utils]
|
|
|
- [PinObserver]
|
|
|
- [ButtonHandler]
|
|
|
- [Queues]: syncQueue, syncCircularBuffer, SyncPacketQueue. Other Queues can be found in MIOSIX's queue.h.
|
|
|
- Utils
|
|
|
- [PinObserver]: execute something on GPIO transitions (without using interrupts)
|
|
|
- [ButtonHandler]: do something when the button is pressed (or pressed for a long time)
|
|
|
- [Queues]: syncQueue, syncCircularBuffer, SyncPacketQueue. Other Queues can be found in MIOSIX's queue.h
|
|
|
|
|
|
### :zap: Misc and Cheat Sheets
|
|
|
### :zap: Misc
|
|
|
|
|
|
*Cheat Sheets*
|
|
|
- [Git Cheatsheet](Git-Cheat-Sheet)
|
|
|
- [Events Cheatsheet](Events-Cheatsheet)
|
|
|
|
... | ... | @@ -59,7 +60,7 @@ Nothing is written in stone, so if you'd like to contribute with your own discov |
|
|
- [Eclipse IDE Configuration](Eclipse-Configuration)
|
|
|
- [Visual Studio Code Configurations]
|
|
|
|
|
|
*Random*
|
|
|
*Old*
|
|
|
- [Alain's stuff](Alain-Random-Stuff)
|
|
|
|
|
|
-----------------------------------
|
... | ... | |