Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

19 total results found

New Page

Drive system

Priority Queue

Embedded Infastructure Embedded Common Libraries

Summary bucketed_pqueue is a simple, efficient strict-priority queue for FreeRTOS systems where: items fall into a small fixed set of priority levelsproducers may be tasks or ISRsa single consumer drains work in priority order Its design is intentionally light...

Logging

Embedded Infastructure Embedded Common Libraries

Purpose The logging library provides a simple UART-based logging interface for embedded firmware. Its main job is to let the application print formatted log messages such as: [INFO] MOTOR: Initialization complete [WARNING] SENSOR: Value out of range: 8123 [ERR...

Result Library

Embedded Infastructure Embedded Common Libraries

Purpose The result module defines a shared result code system for the codebase. Its job is to give functions a consistent way to report success and failure without inventing random local conventions like: 0 means success here1 means success therenegative value...

Key-Value Pool

Embedded Infastructure Embedded Common Libraries

Purpose The kv_pool module implements a fixed-key key-value store backed by a custom memory pool. It is designed for systems where: keys are known as integer indices in a fixed rangevalues are variable-sized blobs of bytesdynamic allocation from the general he...

Overview

Embedded Infastructure Embedded Common Libraries

This page gives a high-level overview of the shared libraries described so far, what each one is for, how they fit together, and how they are meant to be used in the codebase. The goal is not to replace the detailed documentation for each module. These librar...

Overview

PCB box Debugging Board

The debugging board is a dedicated auxiliary system whose only job is to make the rest of the robot less painful to work with. It is not part of the rover’s core functionality. Purpose At a high level, the debugging board serves roles: Visibility Provide real-...

Display - ILI9341 Hardware Configuratoin

PCB box Debugging Board

The debugging board incorporates a graphical display based on the ILI9341 controller. This display serves as the primary local interface for presenting system state, diagnostics, and user feedback. The ILI9341 is a widely used TFT LCD controller that integrate...

Display - ILI9341 Library

PCB box Debugging Board

Purpose The ili9341 library provides the low-level and mid-level drawing interface for the ILI9341-based display used on the debugging board. Its role is to hide the raw command sequence and SPI transaction details of the display controller behind a set of fun...

Gaslight your boss :D

Embedded Infastructure Getting Started

(If you need help with abusive bosses reach out @mybrosky_nam, I couldnt do anything about it but I'll try to help you so you don't suffer as well ☮️)

Menu Driver - Overview

PCB box Debugging Board

Purpose The menu driver is a page-based UI framework for an embedded display (ILI9341). It defines: how UI is structured into pageshow state is stored per pagehow navigation workshow rendering is organized Architecture Position [ Application Logic ] ↓...

Menu Driver - Configuration Layer

PCB box Debugging Board

Visual Configuration #define MENU_DRIVER_BACKGROUND_COLOR 0x0000 #define MENU_DRIVER_FOREGROUND_COLOR 0xFFFF Black background, white foreground. Layout Constraints #define MENU_SIDEBAR_WIDTH 38 Sidebar (ribbon) width. Capacity Limits List Pages #define MAX_LI...

Menu Driver - Core Data Structures

PCB box Debugging Board

Page State Types A page state is: The persistent data container that represents everything a UI page needs to function between frames. Not just data. It’s: memory of what the user didmemory of what was renderedmemory of external data (diagnostics, etc.) List P...

Menu Driver - Overview Page

PCB box Debugging Board

Introduction The List Page is a navigation-oriented page type within the menu driver. It provides a structured interface for selecting between multiple entries, typically representing: subpagesactionssystem modules It is the primary mechanism for user-driven n...

Layout

Embedded Infastructure Project Structure

Code Structure Architecture (Summary) Each board’s main.c acts strictly as an orchestrator. It initializes the runtime, creates tasks, and delegates all functional behavior to component modules. Core Design Contract The repository enforces a strict separation ...

Unit Testing

Embedded Infastructure

Purpose Unit tests in this repository are designed to validate component behavior, not entrypoint wiring. Tests target logic in components/common/* and components/<board>/*.src/<board>/main.c remains focused on initialization and task orchestration.Test owners...

Post-Generation Scripts

Embedded Infastructure Project Structure

Introduction We use one post code generation script. We do this because we do not want to write code inside the auto-generated code, and this helps with that. If you are on Linux or (possibly, untested but likely) mac, you can refer to the script in the cubeMX...

Simple PIOC

Embedded Infastructure Project Structure

Introduction This Python script processes a custom PlatformIO configuration file (platformio.pioc) and generates a standard platformio.ini file. It extends PlatformIO’s configuration capabilities by: Supporting dynamic include paths using glob patternsExtracti...