Skip to content

mvaldezc/pico_lib

Repository files navigation

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.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published