Skip to content

File ControlLink.cpp

FileList > fw > rbcx-coprocessor > src > ControlLink.cpp

Go to the source code of this file.

  • #include <array>
  • #include "stm32f1xx_hal.h"
  • #include "stm32f1xx_hal_dma.h"
  • #include "stm32f1xx_ll_usart.h"
  • #include "Bsp.hpp"
  • #include "Esp32Manager.hpp"
  • #include "coproc_codec.h"
  • #include "coproc_link_parser.h"
  • #include "rbcx.pb.h"
  • #include "utils/ByteFifo.hpp"
  • #include "utils/MessageBufferWrapper.hpp"

Public Static Attributes

Type Name
rb::CoprocCodec codec
DMA_HandleTypeDef dmaRxHandle
DMA_HandleTypeDef dmaTxHandle
ByteFifo< 512 > rxFifo
std::array< uint8_t, codec.MaxFrameSize > txDmaBuf
std::array< uint8_t, codec.MaxFrameSize > txEncodeBuf
MessageBufferWrapper< 512 > txMessageBuf

Public Functions

Type Name
void controlLinkReset ()
bool controlLinkRx (CoprocReq & incoming)
void controlLinkTx (const CoprocStat & outgoing)
void controlUartInit ()

Public Static Functions

Type Name
void controlLinkUpdateRxFifo ()
rb::CoprocLinkParser< CoprocReq, &CoprocReq_msg > parser (codec)

Public Static Attributes Documentation

variable codec

rb::CoprocCodec codec;

variable dmaRxHandle

DMA_HandleTypeDef dmaRxHandle;

Implements control frame exchange. Frame byte layout: [0x00 LEN_BYTE COBS_DATA...] COBS is used to avoid having zero bytes present on UART except as packet beginnings.

variable dmaTxHandle

DMA_HandleTypeDef dmaTxHandle;

variable rxFifo

ByteFifo<512> rxFifo;

variable txDmaBuf

std::array<uint8_t, codec.MaxFrameSize> txDmaBuf;

variable txEncodeBuf

std::array<uint8_t, codec.MaxFrameSize> txEncodeBuf;

variable txMessageBuf

MessageBufferWrapper<512> txMessageBuf;

Public Functions Documentation



function controlLinkReset

void controlLinkReset () 

function controlLinkRx

bool controlLinkRx (
    CoprocReq & incoming

function controlLinkTx

void controlLinkTx (
    const CoprocStat & outgoing

function controlUartInit

void controlUartInit () 

Public Static Functions Documentation

function controlLinkUpdateRxFifo

static void controlLinkUpdateRxFifo () 

function parser

static rb::CoprocLinkParser< CoprocReq, &CoprocReq_msg > parser (

The documentation for this class was generated from the following file fw/rbcx-coprocessor/src/ControlLink.cpp