Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • avn/swd/skyward-boardcore
  • emilio.corigliano/skyward-boardcore
  • ettore.pane/skyward-boardcore
  • giulia.facchi/skyward-boardcore
  • valerio.flamminii/skyward-boardcore
  • nicolo.caruso/skyward-boardcore
6 results
Select Git revision
Show changes
Commits on Source (16)
Showing
with 168 additions and 149 deletions
{
BasedOnStyle: Google,
AccessModifierOffset: -4,
AlignConsecutiveAssignments: true,
AllowShortIfStatementsOnASingleLine: false,
AllowShortLoopsOnASingleLine: false,
BreakBeforeBraces: Allman,
ColumnLimit: 80,
ConstructorInitializerAllOnOneLineOrOnePerLine: false,
IndentCaseLabels: true,
IndentWidth: 4,
KeepEmptyLinesAtTheStartOfBlocks: true,
}
BasedOnStyle: Google
ColumnLimit: 80
IndentWidth: 4
AccessModifierOffset: -4
BreakBeforeBraces: Allman
# Allow braceless single line if/else/for/while statements
RemoveBracesLLVM: true
AlignConsecutiveAssignments: Consecutive
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
PackConstructorInitializers: BinPack
IndentCaseLabels: true
# Empty lines behavior
InsertNewlineAtEOF: true
KeepEmptyLinesAtEOF: true
KeepEmptyLinesAtTheStartOfBlocks: false
# Align pointers/references to the type, not the variable
DerivePointerAlignment: false
PointerAlignment: Left
......@@ -23,7 +23,7 @@ variables:
GIT_SUBMODULE_STRATEGY: recursive
default:
image: registry.skywarder.eu/avn/swd/docker/miosix:latest
image: registry.skywarder.eu/avn/swd/docker/miosix:v2
stages:
- lint
......
......@@ -21,13 +21,13 @@
cmake_minimum_required(VERSION 3.25)
enable_testing()
include(cmake/sbs.cmake)
#-----------------------------------------------------------------------------#
# Project #
#-----------------------------------------------------------------------------#
project(Boardcore)
include(cmake/sbs.cmake)
#-----------------------------------------------------------------------------#
# Entrypoints #
......
......@@ -29,11 +29,17 @@ The project is built with the CMake build system. We also have our own script th
### Dependencies
The following are required to build the project:
* `CMake` 3.25
* `Git`
* `Miosix` Toolchain
We also recommend to install `Ccache`, `Ninja`, `OpenOCD`, `Cppcheck`,`ClangFormat` and `pre-commit` for a smoother development experience.
You will also need the following tools for linting and formatting:
* `Python3`
* `Cppcheck 2.7`
* `ClangFormat 18`
We also recommend to install `Ccache`, `Ninja`, `OpenOCD`, and `pre-commit` for a smoother development experience.
### Cloning the repo
......
......@@ -21,6 +21,9 @@
enable_language(C CXX ASM)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Load in SBS_BASE the project path
cmake_path(GET CMAKE_CURRENT_LIST_DIR PARENT_PATH SBS_BASE)
......
......@@ -67,42 +67,41 @@ void IRQbspInit()
GPIOD->OSPEEDR = 0xaaaaaaaa;
using namespace interfaces;
spi1::cs::mode(Mode::OUTPUT);
spi1::cs::high();
spi1::sck::mode(Mode::ALTERNATE);
spi1::sck::alternateFunction(5);
spi1::miso::mode(Mode::ALTERNATE);
spi1::sck::mode(Mode::ALTERNATE);
spi1::miso::alternateFunction(5);
spi1::mosi::mode(Mode::ALTERNATE);
spi1::miso::mode(Mode::ALTERNATE);
spi1::mosi::alternateFunction(5);
spi1::mosi::mode(Mode::ALTERNATE);
spi2::sck::mode(Mode::ALTERNATE);
spi2::sck::alternateFunction(5);
spi2::miso::mode(Mode::ALTERNATE);
spi2::sck::mode(Mode::ALTERNATE);
spi2::miso::alternateFunction(5);
spi2::mosi::mode(Mode::ALTERNATE);
spi2::miso::mode(Mode::ALTERNATE);
spi2::mosi::alternateFunction(5);
spi2::mosi::mode(Mode::ALTERNATE);
usart1::rx::mode(Mode::ALTERNATE);
usart1::rx::alternateFunction(7);
usart1::tx::mode(Mode::ALTERNATE);
usart1::rx::mode(Mode::ALTERNATE);
usart1::tx::alternateFunction(7);
usart1::tx::mode(Mode::ALTERNATE);
usart2::rx::mode(Mode::ALTERNATE);
usart2::rx::alternateFunction(7);
usart2::tx::mode(Mode::ALTERNATE);
usart2::rx::mode(Mode::ALTERNATE);
usart2::tx::alternateFunction(7);
usart2::tx::mode(Mode::ALTERNATE);
usart3::rx::mode(Mode::ALTERNATE);
usart3::rx::alternateFunction(7);
usart3::tx::mode(Mode::ALTERNATE);
usart3::rx::mode(Mode::ALTERNATE);
usart3::tx::alternateFunction(7);
usart3::tx::mode(Mode::ALTERNATE);
can1::rx::mode(Mode::ALTERNATE);
can1::rx::alternateFunction(9);
can1::tx::mode(Mode::ALTERNATE);
can1::rx::mode(Mode::ALTERNATE);
can1::tx::alternateFunction(9);
can1::tx::mode(Mode::ALTERNATE);
using namespace devices;
......@@ -124,8 +123,8 @@ void IRQbspInit()
buttons::bypass::mode(Mode::INPUT);
buttons::record::mode(Mode::INPUT);
buzzer::drive::mode(Mode::ALTERNATE);
buzzer::drive::alternateFunction(3);
buzzer::drive::mode(Mode::ALTERNATE);
leds::led1::mode(Mode::OUTPUT);
leds::led1::low();
......
......@@ -213,12 +213,12 @@ void IRQbspInit()
RCC_SYNC();
// Initialize everything
interfaces::spi1::sck::mode(Mode::ALTERNATE);
interfaces::spi1::sck::alternateFunction(5);
interfaces::spi1::miso::mode(Mode::ALTERNATE);
interfaces::spi1::sck::mode(Mode::ALTERNATE);
interfaces::spi1::miso::alternateFunction(5);
interfaces::spi1::mosi::mode(Mode::ALTERNATE);
interfaces::spi1::miso::mode(Mode::ALTERNATE);
interfaces::spi1::mosi::alternateFunction(5);
interfaces::spi1::mosi::mode(Mode::ALTERNATE);
btns::n2o_filling::mode(Mode::INPUT);
btns::n2o_release::mode(Mode::INPUT);
......
......@@ -327,19 +327,19 @@ void IRQbspInit()
#endif //__ENABLE_XRAM
using namespace interfaces;
spi1::sck::mode(Mode::ALTERNATE);
spi1::sck::alternateFunction(5);
spi1::miso::mode(Mode::ALTERNATE);
spi1::sck::mode(Mode::ALTERNATE);
spi1::miso::alternateFunction(5);
spi1::mosi::mode(Mode::ALTERNATE);
spi1::miso::mode(Mode::ALTERNATE);
spi1::mosi::alternateFunction(5);
spi1::mosi::mode(Mode::ALTERNATE);
spi2::sck::mode(Mode::ALTERNATE);
spi2::sck::alternateFunction(5);
spi2::miso::mode(Mode::ALTERNATE);
spi2::sck::mode(Mode::ALTERNATE);
spi2::miso::alternateFunction(5);
spi2::mosi::mode(Mode::ALTERNATE);
spi2::miso::mode(Mode::ALTERNATE);
spi2::mosi::alternateFunction(5);
spi2::mosi::mode(Mode::ALTERNATE);
// Software I2C
i2c::scl::high();
......@@ -347,21 +347,21 @@ void IRQbspInit()
i2c::sda::high();
i2c::sda::mode(Mode::OPEN_DRAIN);
uart4::rx::mode(Mode::ALTERNATE);
uart4::rx::alternateFunction(8);
uart4::tx::mode(Mode::ALTERNATE);
uart4::rx::mode(Mode::ALTERNATE);
uart4::tx::alternateFunction(8);
uart4::tx::mode(Mode::ALTERNATE);
can::rx::mode(Mode::ALTERNATE);
can::rx::alternateFunction(9);
can::tx::mode(Mode::ALTERNATE);
can::rx::mode(Mode::ALTERNATE);
can::tx::alternateFunction(9);
can::tx::mode(Mode::ALTERNATE);
using namespace sensors;
adis16405::cs::mode(Mode::OUTPUT);
adis16405::cs::high();
adis16405::ckIn::mode(Mode::ALTERNATE);
adis16405::ckIn::alternateFunction(2);
adis16405::ckIn::mode(Mode::ALTERNATE);
adis16405::dio1::mode(Mode::INPUT);
adis16405::rst::mode(Mode::OUTPUT);
adis16405::rst::high();
......@@ -396,11 +396,11 @@ void IRQbspInit()
motP2::mode(Mode::OUTPUT);
motP2::low();
rogP1::mode(Mode::ALTERNATE);
rogP1::alternateFunction(2);
rogP1::mode(Mode::ALTERNATE);
rogP2::mode(Mode::ALTERNATE);
rogP2::alternateFunction(2);
rogP2::mode(Mode::ALTERNATE);
nc_dtch::mode(Mode::INPUT);
motor_act::mode(Mode::INPUT);
......@@ -412,8 +412,8 @@ void IRQbspInit()
motor_gnd::low();
using namespace actuators;
tcPwm::mode(Mode::ALTERNATE);
tcPwm::alternateFunction(3);
tcPwm::mode(Mode::ALTERNATE);
thCut1::ena::mode(Mode::OUTPUT);
thCut1::ena::low();
......
......@@ -337,44 +337,44 @@ void IRQbspInit()
using namespace interfaces;
spi1::sck::mode(Mode::ALTERNATE);
spi1::sck::alternateFunction(5);
spi1::miso::mode(Mode::ALTERNATE);
spi1::sck::mode(Mode::ALTERNATE);
spi1::miso::alternateFunction(5);
spi1::mosi::mode(Mode::ALTERNATE);
spi1::miso::mode(Mode::ALTERNATE);
spi1::mosi::alternateFunction(5);
spi1::mosi::mode(Mode::ALTERNATE);
spi2::sck::mode(Mode::ALTERNATE);
spi2::sck::alternateFunction(5);
spi2::miso::mode(Mode::ALTERNATE);
spi2::sck::mode(Mode::ALTERNATE);
spi2::miso::alternateFunction(5);
spi2::mosi::mode(Mode::ALTERNATE);
spi2::miso::mode(Mode::ALTERNATE);
spi2::mosi::alternateFunction(5);
spi2::mosi::mode(Mode::ALTERNATE);
uart2::rx::mode(Mode::ALTERNATE);
uart2::rx::alternateFunction(7);
uart2::tx::mode(Mode::ALTERNATE);
uart2::rx::mode(Mode::ALTERNATE);
uart2::tx::alternateFunction(7);
uart2::tx::mode(Mode::ALTERNATE);
uart3::rx::mode(Mode::ALTERNATE);
uart3::rx::alternateFunction(7);
uart3::tx::mode(Mode::ALTERNATE);
uart3::rx::mode(Mode::ALTERNATE);
uart3::tx::alternateFunction(7);
uart3::tx::mode(Mode::ALTERNATE);
uart4::rx::mode(Mode::ALTERNATE);
uart4::rx::alternateFunction(8);
uart4::tx::mode(Mode::ALTERNATE);
uart4::rx::mode(Mode::ALTERNATE);
uart4::tx::alternateFunction(8);
uart4::tx::mode(Mode::ALTERNATE);
can::rx::mode(Mode::ALTERNATE);
can::rx::alternateFunction(9);
can::tx::mode(Mode::ALTERNATE);
can::rx::mode(Mode::ALTERNATE);
can::tx::alternateFunction(9);
can::tx::mode(Mode::ALTERNATE);
timers::tim4ch1::mode(Mode::ALTERNATE);
timers::tim4ch1::alternateFunction(2);
timers::tim8ch2::mode(Mode::ALTERNATE);
timers::tim4ch1::mode(Mode::ALTERNATE);
timers::tim8ch2::alternateFunction(3);
timers::tim8ch2::mode(Mode::ALTERNATE);
camMosfet::mode(Mode::OUTPUT);
camMosfet::low();
......
......@@ -338,65 +338,65 @@ void IRQbspInit()
RCC_SYNC();
interfaces::spi1::sck::mode(Mode::ALTERNATE);
interfaces::spi1::sck::alternateFunction(5);
interfaces::spi1::miso::mode(Mode::ALTERNATE);
interfaces::spi1::sck::mode(Mode::ALTERNATE);
interfaces::spi1::miso::alternateFunction(5);
interfaces::spi1::mosi::mode(Mode::ALTERNATE);
interfaces::spi1::miso::mode(Mode::ALTERNATE);
interfaces::spi1::mosi::alternateFunction(5);
interfaces::spi1::mosi::mode(Mode::ALTERNATE);
interfaces::spi2::sck::mode(Mode::ALTERNATE);
interfaces::spi2::sck::alternateFunction(5);
interfaces::spi2::miso::mode(Mode::ALTERNATE);
interfaces::spi2::sck::mode(Mode::ALTERNATE);
interfaces::spi2::miso::alternateFunction(5);
interfaces::spi2::mosi::mode(Mode::ALTERNATE);
interfaces::spi2::miso::mode(Mode::ALTERNATE);
interfaces::spi2::mosi::alternateFunction(5);
interfaces::spi2::mosi::mode(Mode::ALTERNATE);
interfaces::spi4::sck::mode(Mode::ALTERNATE);
interfaces::spi4::sck::alternateFunction(5);
interfaces::spi4::miso::mode(Mode::ALTERNATE);
interfaces::spi4::sck::mode(Mode::ALTERNATE);
interfaces::spi4::miso::alternateFunction(5);
interfaces::spi4::mosi::mode(Mode::ALTERNATE);
interfaces::spi4::miso::mode(Mode::ALTERNATE);
interfaces::spi4::mosi::alternateFunction(5);
interfaces::spi4::mosi::mode(Mode::ALTERNATE);
interfaces::spi5::sck::mode(Mode::ALTERNATE);
interfaces::spi5::sck::alternateFunction(5);
interfaces::spi5::miso::mode(Mode::ALTERNATE);
interfaces::spi5::sck::mode(Mode::ALTERNATE);
interfaces::spi5::miso::alternateFunction(5);
interfaces::spi5::mosi::mode(Mode::ALTERNATE);
interfaces::spi5::miso::mode(Mode::ALTERNATE);
interfaces::spi5::mosi::alternateFunction(5);
interfaces::spi5::mosi::mode(Mode::ALTERNATE);
interfaces::spi6::sck::mode(Mode::ALTERNATE);
interfaces::spi6::sck::alternateFunction(5);
interfaces::spi6::miso::mode(Mode::ALTERNATE);
interfaces::spi6::sck::mode(Mode::ALTERNATE);
interfaces::spi6::miso::alternateFunction(5);
interfaces::spi6::mosi::mode(Mode::ALTERNATE);
interfaces::spi6::miso::mode(Mode::ALTERNATE);
interfaces::spi6::mosi::alternateFunction(5);
interfaces::spi6::mosi::mode(Mode::ALTERNATE);
interfaces::usart1::rx::mode(Mode::ALTERNATE);
interfaces::usart1::rx::alternateFunction(7);
interfaces::usart1::tx::mode(Mode::ALTERNATE);
interfaces::usart1::rx::mode(Mode::ALTERNATE);
interfaces::usart1::tx::alternateFunction(7);
interfaces::usart1::tx::mode(Mode::ALTERNATE);
interfaces::usart2::rx::mode(Mode::ALTERNATE);
interfaces::usart2::rx::alternateFunction(7);
interfaces::usart2::tx::mode(Mode::ALTERNATE);
interfaces::usart2::rx::mode(Mode::ALTERNATE);
interfaces::usart2::tx::alternateFunction(7);
interfaces::usart2::tx::mode(Mode::ALTERNATE);
interfaces::usart3::rx::mode(Mode::ALTERNATE);
interfaces::usart3::rx::alternateFunction(7);
interfaces::usart3::tx::mode(Mode::ALTERNATE);
interfaces::usart3::rx::mode(Mode::ALTERNATE);
interfaces::usart3::tx::alternateFunction(7);
interfaces::usart3::tx::mode(Mode::ALTERNATE);
interfaces::uart4::rx::mode(Mode::ALTERNATE);
interfaces::uart4::rx::alternateFunction(8);
interfaces::uart4::tx::mode(Mode::ALTERNATE);
interfaces::uart4::rx::mode(Mode::ALTERNATE);
interfaces::uart4::tx::alternateFunction(8);
interfaces::uart4::tx::mode(Mode::ALTERNATE);
interfaces::can1::rx::mode(Mode::ALTERNATE);
interfaces::can1::rx::alternateFunction(9);
interfaces::can1::tx::mode(Mode::ALTERNATE);
interfaces::can1::rx::mode(Mode::ALTERNATE);
interfaces::can1::tx::alternateFunction(9);
interfaces::can1::tx::mode(Mode::ALTERNATE);
sensors::ads131m04::cs1::mode(Mode::OUTPUT);
sensors::ads131m04::cs1::high();
......@@ -430,8 +430,8 @@ void IRQbspInit()
sensors::launchpad_detach::mode(Mode::INPUT);
expulsion::servo::mode(Mode::ALTERNATE);
expulsion::servo::alternateFunction(2);
expulsion::servo::mode(Mode::ALTERNATE);
expulsion::sense::mode(Mode::INPUT_PULL_UP);
expulsion::nosecone_detach::mode(Mode::INPUT);
......@@ -441,19 +441,19 @@ void IRQbspInit()
cutter::enable_backup::low();
cutter::sense::mode(Mode::INPUT_ANALOG);
airbrakes::servo::mode(Mode::ALTERNATE);
airbrakes::servo::alternateFunction(3);
airbrakes::servo::mode(Mode::ALTERNATE);
airbrakes::sensor::mode(Mode::INPUT_ANALOG);
leds::red::mode(Mode::OUTPUT);
leds::green::mode(Mode::OUTPUT);
leds::blue::mode(Mode::OUTPUT);
buzzer::drive::mode(Mode::ALTERNATE);
buzzer::drive::alternateFunction(3);
buzzer::drive::mode(Mode::ALTERNATE);
aux::servo::mode(Mode::ALTERNATE);
aux::servo::alternateFunction(3);
aux::servo::mode(Mode::ALTERNATE);
aux::sense_1::mode(Mode::INPUT);
aux::sense_2::mode(Mode::INPUT);
......