Skip to content

Teerth1/av-telemetry-ros2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚗 Autonomous Telemetry Core

High-performance C++ library for decoding autonomous vehicle telemetry data

C++17 CMake MIT License Active


📋 Overview

Autonomous Telemetry Core is the foundational decoding engine designed for processing raw binary telemetry streams from autonomous vehicle systems. Built with modern C++17, it provides a robust, modular, and extensible architecture for integrating into larger systems like ROS2 nodes.

This library handles the critical task of parsing incoming sensor data packets, enabling real-time analytics and decision-making pipelines.


✨ Features

Feature Description
🔧 Modern C++17 Leverages modern language features for performance and safety
📦 CMake Integration Cross-platform build system ready to go
🧱 Modular Design Clean separation of headers and implementation
🔌 Extensible Easy to integrate with ROS2 or other middleware
High Performance Optimized for real-time data processing

🛠️ Getting Started

Prerequisites

  • C++ Compiler supporting C++17 (GCC 7+, Clang 5+, or MSVC 2017+)
  • CMake 3.10 or higher

Build Instructions

# Clone the repository
git clone https://github.com/Teerth1/autonomous-telemetry-core.git
cd autonomous-telemetry-core

# Create build directory
mkdir build && cd build

# Configure and build
cmake ..
cmake --build .

Running the Demo

After building, run the telemetry decoder demo:

# Windows
.\Debug\telemetry_decoder.exe

# Linux/macOS
./telemetry_decoder

Expected Output:

Starting Telemetry Runner...
[DecoderCore] Processing 4 bytes.
Decoding successful.

📁 Project Structure

autonomous-telemetry-core/
├── 📂 src/
│   ├── main.cpp              # Demo application entry point
│   └── decoder_core.cpp      # Core decoder implementation
├── 📂 include/
│   └── decoder_core.hpp      # Public header definitions
├── 📂 build/                  # Build output (generated)
├── 📄 CMakeLists.txt          # Build configuration
├── 📄 LICENSE                 # MIT License
└── 📄 README.md               # This file

💻 Usage Example

#include <vector>
#include "decoder_core.hpp"

int main() {
    telemetry::DecoderCore decoder;
    
    // Your raw telemetry data
    std::vector<uint8_t> raw_data = {0x01, 0x02, 0x03, 0x04};
    
    if (decoder.decode(raw_data)) {
        // Process decoded telemetry
    }
    
    return 0;
}

🗺️ Roadmap

  • Implement full telemetry packet parsing
  • Add support for multiple sensor protocols
  • ROS2 node integration
  • Unit test coverage
  • Performance benchmarking

🤝 Contributing

Contributions are welcome! Feel free to:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ by Teerth Patel

About

Real-time vehicle telemetry system using ROS 2, C++, and simulated CAN bus data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors