Skip to content

Latest commit

 

History

History
66 lines (47 loc) · 1.69 KB

README.md

File metadata and controls

66 lines (47 loc) · 1.69 KB

pico_lib

1. Description

The primary purpose of this repository is to provide a set of core reusable low level features that enable robotic related functionality on a Raspberry Pico 2. This implementation can be tailored to specific robotic applications.

Features:

State-machine management

State management is based on the state design pattern. It handles state transitions based on events.

  • Functionality
    • State manager
  • Interfaces
    • States
    • Events
    • State transition matrix
Low-level communication

The communication library is service-based, inspired by UDS. It provides callbacks for each message id.

  • Interfaces
    • Service Ids
    • Service callbacks
  • Wrappers
    • Lock guards
    • I2C slave
    • SPI master
    • DMA access
  • Drivers
    • CAN-FD controller and transceiver MCP251863
  • Message data structures
    • FIFO circular buffer
MCU utilities

MCU related functions

  • Functionality
    • MCU software reset
    • Uart Logger
    • MCU read/write flash memory
Unit tests for core functionality

A set of unit tests for the higher level features of these repo where developed using GoogleTest.