rpg namespace

Namespaces

namespace util

Classes

class BeaconThread
class CommandParserThread
class EduData
class EduDataFrameFaker
class EduHeartbeatThread
class EduReaderThread
class HelloGpio
class HelloSpi
class HelloUart
class HelloWorld
struct Library
The core implementation of the executable.

Typedefs

using BitField = etl::bitset<nBits>

Functions

auto CreateGpioBitField(ts::bool_t epsIsCharging, ts::bool_t epsBatteryIsGood, ts::bool_t eduHasUpdate)
template<std::size_t size>
auto ComputeChecksum(std::span<std::byte, size> beacon)
auto CreateBeacon(ts::int64_t timestamp, ts::uint32_t resetCounter, ts::bool_t eduIsAlive, BitField gpioBitField, ts::int32_t temperature, ts::int32_t accelerationX, ts::int32_t accelerationY, ts::int32_t accelerationZ, ts::int32_t brightness)
void TurnEduOn()
void TurnEduOff()
auto DispatchCommand(const etl::string<commandSize.get()>& command)
auto ParseEduDataFrame(const etl::string<dataFrameSize.get()>& dataFrame)
auto eduUart(UART_IDX1, eduUartTxPin, eduUartRxPin) -> HAL_UART
auto uart1(UART_IDX1, eduUartTxPin, eduUartRxPin) -> HAL_UART
auto CreateFakeEduDataFrame()
auto eduIsAliveTopic(- 1, "eduHeartBeatsTopic") -> Topic<bool>
auto temperatureTopic(- 1, "temperatureTopic") -> Topic<ts::int32_t>
auto accelerationXTopic(- 1, "accelerationXTopic") -> Topic<ts::int32_t>
auto accelerationYTopic(- 1, "accelerationYTopic") -> Topic<ts::int32_t>
auto accelerationZTopic(- 1, "accelerationZTopic") -> Topic<ts::int32_t>
auto brightnessTopic(- 1, "brightnessTopic") -> Topic<ts::int32_t>
auto greenLed(ledPin) -> HAL_GPIO
auto uart1(UART_IDX1, GPIO_009, GPIO_010) -> HAL_UART
template<typename T, std::size_t size>
auto WriteTo(Writable auto* communicationInterface, std::span<T, size> data)
auto WriteTo(Writable auto* communicationInterface, std::string_view message)
template<std::size_t size>
auto WriteToReadFrom(ReadWritable auto* communicationInterface, std::string_view message, etl::string<size>* answer)

Variables

auto nBits constexpr
auto eduUpdateGpio
auto epsChargingGpio
auto epsBatteryGoodGpio
auto eduIsAliveBuffer
auto eduIsAliveSubscriber
auto temperatureBuffer
auto temperatureSubscriber
auto accelerationXBuffer
auto accelerationXSubscriber
auto accelerationYBuffer
auto accelerationYSubscriber
auto accelerationZBuffer
auto accelerationZSubscriber
auto brightnessBuffer
auto brightnessSubscriber
const auto beaconThread
auto commandSize constexpr
rpg::CommandParserThread commandParserThread
auto dataFrameSize constexpr
rpg::EduReaderThread eduReaderThread
auto eduEnabledGpio
auto eduUart
rpg::EduData eduData
const auto eduDataFrameFaker
auto ledGpio
auto heartbeatGpio
const auto eduHeartbeatThread
auto beaconPeriod constexpr
auto pinsToTest
const auto helloGpio
auto spis
const auto helloSpi
const auto helloUart
const auto helloWorld
auto ledPin constexpr
auto eduUartTxPin constexpr
auto eduUartIndex constexpr
auto eduUartRxPin constexpr
auto uciUartIndex constexpr
auto uciUartTxPin constexpr
auto uciUartRxPin constexpr
auto eduUpdatePin constexpr
auto epsChargingPin constexpr
auto epsBatteryGoodPin constexpr
auto eduHeartbeatPin constexpr
auto eduEnabledPin constexpr
auto flashSpiIndex constexpr
auto flashSpiSckPin constexpr
auto flashSpiMisoPin constexpr
auto flashSpiMosiPin constexpr
auto framSpiIndex constexpr
auto framSpiSckPin constexpr
auto framSpiMisoPin constexpr
auto framSpiMosiPin constexpr
auto cobcSpiIndex constexpr
auto cobcSpiSckPin constexpr
auto cobcSpiMisoPin constexpr
auto cobcSpiMosiPin constexpr
auto rfSpiIndex constexpr
auto rfSpiSckPin constexpr
auto rfSpiMisoPin constexpr
auto rfSpiMosiPin constexpr
auto pa0 constexpr
auto pa1 constexpr
auto pa2 constexpr
auto pa3 constexpr
auto pa5 constexpr
auto pa6 constexpr
auto pa7 constexpr
auto pa8 constexpr
auto pa9 constexpr
auto pa10 constexpr
auto pa11 constexpr
auto pa12 constexpr
auto pa13 constexpr
auto pa14 constexpr
auto pa15 constexpr
auto pb0 constexpr
auto pb1 constexpr
auto pb3 constexpr
auto pb4 constexpr
auto pb5 constexpr
auto pb6 constexpr
auto pb7 constexpr
auto pb8 constexpr
auto pb9 constexpr
auto pb12 constexpr
auto pb13 constexpr
auto pb14 constexpr
auto pb15 constexpr
auto pc0 constexpr
auto pc1 constexpr
auto pc2 constexpr
auto pc3 constexpr
auto pc4 constexpr
auto pc5 constexpr
auto pc6 constexpr
auto pc7 constexpr
auto pc9 constexpr
auto pc10 constexpr
auto pc11 constexpr
auto pc12 constexpr
auto pc13 constexpr
auto pc14 constexpr
auto pc15 constexpr
auto pd2 constexpr
template<typename T>
concept Writable
template<typename T>
concept ReadWritable

Typedef documentation

using rpg::BitField = etl::bitset<nBits>

Function documentation

auto rpg::CreateGpioBitField(ts::bool_t epsIsCharging, ts::bool_t epsBatteryIsGood, ts::bool_t eduHasUpdate)

template<std::size_t size>
auto rpg::ComputeChecksum(std::span<std::byte, size> beacon)

auto rpg::CreateBeacon(ts::int64_t timestamp, ts::uint32_t resetCounter, ts::bool_t eduIsAlive, BitField gpioBitField, ts::int32_t temperature, ts::int32_t accelerationX, ts::int32_t accelerationY, ts::int32_t accelerationZ, ts::int32_t brightness)

auto rpg::DispatchCommand(const etl::string<commandSize.get()>& command)

auto rpg::ParseEduDataFrame(const etl::string<dataFrameSize.get()>& dataFrame)

HAL_UART rpg::eduUart(UART_IDX1, eduUartTxPin, eduUartRxPin)

Topic<bool> rpg::eduIsAliveTopic(- 1, "eduHeartBeatsTopic")

Topic<ts::int32_t> rpg::temperatureTopic(- 1, "temperatureTopic")

Topic<ts::int32_t> rpg::accelerationXTopic(- 1, "accelerationXTopic")

Topic<ts::int32_t> rpg::accelerationYTopic(- 1, "accelerationYTopic")

Topic<ts::int32_t> rpg::accelerationZTopic(- 1, "accelerationZTopic")

Topic<ts::int32_t> rpg::brightnessTopic(- 1, "brightnessTopic")

HAL_UART rpg::uart1(UART_IDX1, GPIO_009, GPIO_010)

template<typename T, std::size_t size>
auto rpg::WriteTo(Writable auto* communicationInterface, std::span<T, size> data)

auto rpg::WriteTo(Writable auto* communicationInterface, std::string_view message)

template<std::size_t size>
auto rpg::WriteToReadFrom(ReadWritable auto* communicationInterface, std::string_view message, etl::string<size>* answer)

Variable documentation

auto rpg::nBits constexpr

const auto rpg::beaconThread

auto rpg::commandSize constexpr

auto rpg::dataFrameSize constexpr

auto rpg::beaconPeriod constexpr

const auto rpg::helloWorld

auto rpg::ledPin constexpr

auto rpg::eduUartTxPin constexpr

auto rpg::eduUartIndex constexpr

auto rpg::eduUartRxPin constexpr

auto rpg::uciUartIndex constexpr

auto rpg::uciUartTxPin constexpr

auto rpg::uciUartRxPin constexpr

auto rpg::eduUpdatePin constexpr

auto rpg::epsChargingPin constexpr

auto rpg::epsBatteryGoodPin constexpr

auto rpg::eduHeartbeatPin constexpr

auto rpg::eduEnabledPin constexpr

auto rpg::flashSpiIndex constexpr

auto rpg::flashSpiSckPin constexpr

auto rpg::flashSpiMisoPin constexpr

auto rpg::flashSpiMosiPin constexpr

auto rpg::framSpiIndex constexpr

auto rpg::framSpiSckPin constexpr

auto rpg::framSpiMisoPin constexpr

auto rpg::framSpiMosiPin constexpr

auto rpg::cobcSpiIndex constexpr

auto rpg::cobcSpiSckPin constexpr

auto rpg::cobcSpiMisoPin constexpr

auto rpg::cobcSpiMosiPin constexpr

auto rpg::rfSpiIndex constexpr

auto rpg::rfSpiSckPin constexpr

auto rpg::rfSpiMisoPin constexpr

auto rpg::rfSpiMosiPin constexpr

auto rpg::pa0 constexpr

auto rpg::pa1 constexpr

auto rpg::pa2 constexpr

auto rpg::pa3 constexpr

auto rpg::pa5 constexpr

auto rpg::pa6 constexpr

auto rpg::pa7 constexpr

auto rpg::pa8 constexpr

auto rpg::pa9 constexpr

auto rpg::pa10 constexpr

auto rpg::pa11 constexpr

auto rpg::pa12 constexpr

auto rpg::pa13 constexpr

auto rpg::pa14 constexpr

auto rpg::pa15 constexpr

auto rpg::pb0 constexpr

auto rpg::pb1 constexpr

auto rpg::pb3 constexpr

auto rpg::pb4 constexpr

auto rpg::pb5 constexpr

auto rpg::pb6 constexpr

auto rpg::pb7 constexpr

auto rpg::pb8 constexpr

auto rpg::pb9 constexpr

auto rpg::pb12 constexpr

auto rpg::pb13 constexpr

auto rpg::pb14 constexpr

auto rpg::pb15 constexpr

auto rpg::pc0 constexpr

auto rpg::pc1 constexpr

auto rpg::pc2 constexpr

auto rpg::pc3 constexpr

auto rpg::pc4 constexpr

auto rpg::pc5 constexpr

auto rpg::pc6 constexpr

auto rpg::pc7 constexpr

auto rpg::pc9 constexpr

auto rpg::pc10 constexpr

auto rpg::pc11 constexpr

auto rpg::pc12 constexpr

auto rpg::pc13 constexpr

auto rpg::pc14 constexpr

auto rpg::pc15 constexpr

auto rpg::pd2 constexpr

template<typename T>
concept rpg::Writable

template<typename T>
concept rpg::ReadWritable