Skip to content

maxirmx/fuelflux

Repository files navigation

Build FuelFlux 

FuelFlux Controller Software

Features

  • State Machine Architecture: Robust state management for fuel station operations
  • Peripheral Management: Support for displays, keyboards, card readers, pumps, and flow meters
  • Multiple Display Support: ST7565 (128×64 LCD), ILI9488 (480×320 TFT), or Console emulation
  • Hardware Display Support: Native integration with ST7565 and ILI9488 displays on ARM platforms
  • Backend Integration: Real API integration for user authentication and transaction reporting
  • Advanced Logging: Multi-level, multi-sink logging with JSON configuration
  • Console Emulation: Full console-based testing and simulation environment

Quick Start

Build and Run (Development)

Use CMake + Ninja to build and debug in VS Code. Recommended steps (PowerShell):

# create build directory and configure
cmake -S . -B build -G "Ninja"

# build the project (Debug config)
cmake --build build --config Debug

# run the executable
.\build\bin\fuelflux.exe

Display Configuration

FuelFlux supports multiple display types. See DISPLAY_CONFIGURATION.md for details.

# Build with console emulation (default)
cmake -B build -DDISPLAY_TYPE=CONSOLE

# Build with ST7565 128x64 LCD
cmake -B build -DDISPLAY_TYPE=ST7565

# Build with ILI9488 480x320 TFT
cmake -B build -DDISPLAY_TYPE=ILI9488

Installation (Production)

For production deployment:

# Build release version
cmake -S . -B build
cmake --build build --config Release

# Install to default location (build/install)
cmake --install build --config Release

# Or install to custom location
cmake --install build --config Release --prefix C:\FuelFlux

Project Structure

├── src/                    # Source files
├── include/               # Header files  
├── config/               # Configuration files
│   └── logging.json      # Logging configuration
├── docs/                 # Documentation
├── logs/                 # Runtime log files (created automatically)
└── build/                # Build artifacts
    └── install/          # Default installation directory

Development

In VS Code:

  • Open the Run and Debug view and select "Debug fuelflux (CMake Build)".
  • Start debugging (F5). The preLaunchTask will build the project first.

If you use MSVC toolchain instead of Ninja/gcc, change the -G "Ninja" to your generator and adjust miDebuggerPath in .vscode/launch.json to the Visual Studio debugger (or use cppvsdbg type).

Documentation

Dependencies

  • C++17 compatible compiler
  • CMake 3.16+
  • spdlog - High performance logging library
  • nlohmann/json - JSON parsing and configuration
  • libgpiod (ARM/Linux only) - GPIO control for real hardware display
  • freetype2 (ARM/Linux only) - Font rendering for real hardware display

Core dependencies are automatically fetched via CMake FetchContent. Hardware dependencies (libgpiod, freetype2) are only required when building with TARGET_REAL_HARDWARE=ON.

About

fuelflux software

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors