Loading repository data…
Loading repository data…
TaylorsBar / repository
Production-grade automotive telemetry SDK with EKF sensor fusion (GNSS+IMU+Vision), OBD-II diagnostics, on-device AI, and real-time performance analysis. Cross-platform C++ core with iOS/Android SDKs.
Production-grade automotive telemetry SDK with advanced sensor fusion, OBD-II diagnostics, and real-time performance analysis
Features • Architecture • Installation • Usage • Documentation • Contributing
Genesis Automotive SDK is a comprehensive, production-ready telemetry platform designed for high-performance automotive applications. Built on a cross-platform C++ core with native iOS and Android SDKs, it provides:
| Tier | Mode | Accuracy | Sensors Active |
|---|---|---|---|
| Tier 1 | Full Fidelity | ±0.01s | GNSS + IMU + Vision + OBD |
| Tier 2 | Vision Degraded | ±0.05s | GNSS + IMU + OBD |
| Tier 3 | Dead Reckoning | ±0.2s | IMU + OBD only |
| Tier 4 | Emergency | Last known | Position hold + warning |
GenesisAutomotiveSDK/
├── Core/ # Cross-platform C++ engine
│ ├── Fusion/
│ │ ├── GenesisEKF.hpp/.cpp # Extended Kalman Filter
│ │ ├── SensorFusion.hpp/.cpp # Multi-sensor integration
│ │ └── StateEstimator.hpp/.cpp # State management
│ ├── Vision/
│ │ ├── OpticalFlow.hpp/.cpp # Lucas-Kanade + RANSAC
│ │ ├── FeatureTracker.hpp/.cpp # Feature point tracking
│ │ └── QualityAssessor.hpp/.cpp # Vision quality metrics
│ ├── Diagnostics/
│ │ ├── OBDProtocol.hpp/.cpp # Universal OBD-II
│ │ ├── CANDecoder.hpp/.cpp # CAN frame parser
│ │ ├── DTCDatabase.hpp/.cpp # 10,000+ DTC definitions
│ │ └── ManufacturerPIDs.hpp/.cpp # OEM-specific PIDs
│ └── AI/
│ ├── ShiftDetection.hpp/.cpp # Gear shift ML models
│ └── AnomalyDetection.hpp/.cpp # Predictive maintenance
│
├── Platform/
│ ├── iOS/
│ │ ├── GenesisSDK.swift # Public Swift API
│ │ ├── SensorManager.swift # CoreLocation/CoreMotion
│ │ ├── ELM327Manager.swift # Bluetooth OBD-II
│ │ └── Bridge/
│ │ └── CoreBridge.mm # Objective-C++ bridge
│ └── Android/
│ ├── GenesisSDK.kt # Public Kotlin API
│ ├── SensorManager.kt # FusedLocation/SensorManager
│ ├── ELM327Manager.kt # Bluetooth OBD-II
│ └── jni/
│ └── CoreBridge.cpp # JNI bridge
│
├── Cloud/ # Optional cloud services
│ ├── FastAPI/
│ │ ├── api.py # Telemetry ingestion
│ │ ├── models.py # Pydantic schemas
│ │ └── ai_engine.py # LLM co-pilot
│ └── Firebase/
│ ├── functions/ # Cloud Functions
│ ├── firestore.rules # Security rules
│ └── storage.rules
│
└── Documentation/
├── API_Reference.md
├── Integration_Guide.md
└── Performance_Tuning.md
# Podfile
pod 'GenesisAutomotiveSDK', '~> 1.0'
dependencies: [
.package(url: "https://github.com/TaylorsBar/genesis-automotive-sdk.git", from: "1.0.0")
]
dependencies {
implementation 'com.cartelworx:genesis-sdk:1.0.0'
}
# Clone repository
git clone https://github.com/TaylorsBar/genesis-automotive-sdk.git
cd genesis-automotive-sdk
# Build C++ core
mkdir build && cd build
cmake ..
make -j$(nproc)
# Run tests
ctest --output-on-failure
import GenesisSDK
// Initialize SDK
let genesis = GenesisSensorManager()
// Start high-performance capture
genesis.startHighPerformanceCapture()
// Access fusion metrics
let metrics = genesis.coreBridge.getFusionMetrics()
print("Current Tier: \(metrics.current_tier)")
print("Position Uncertainty: \(metrics.position_uncertainty_m)m")
// Get state vector
let state = genesis.coreBridge.getStateVector()
let velocity = state.segment(3, 3) // [vx, vy, vz]
print("Velocity: \(velocity.norm()) m/s")
import com.cartelworx.genesis.GenesisSDK
// Initialize SDK
val genesis = GenesisSensorManager(applicationContext)
// Start capture
genesis.startHighPerformanceCapture()
// Subscribe to updates
genesis.fusionMetrics.observe(this) { metrics ->
Log.d("Genesis", "Tier: ${metrics.currentTier}")
Log.d("Genesis", "Position Uncertainty: ${metrics.positionUncertaintyM}m")
}
#include "GenesisEKF.hpp"
using namespace CartelWorx;
// Initialize EKF
GenesisEKF ekf;
// Provide initial GNSS lock
GNSSMeasurement initial_gnss;
initial_gnss.latitude = -37.7749;
initial_gnss.longitude = 175.2834;
initial_gnss.altitude = 50.0;
ekf.initialize(initial_gnss);
// High-frequency prediction loop (100+ Hz)
while (running) {
IMUMeasurement imu = readIMU();
ekf.predict(imu, timestamp);
// Update with GNSS when available (1-10 Hz)
if (gnss_available) {
ekf.updateGNSS(gnss_data);
}
// Update with vision (30+ Hz)
if (vision_available) {
ekf.updateVision(vision_data);
}
// Get fused state
StateVector state = ekf.getState();
FusionMetrics metrics = ekf.getMetrics();
}
We welcome contributions! Please see our Contributing Guide for details.
Install dependencies:
Build and test:
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j$(nproc)
ctest --verbose
Format code:
clang-format -i Core/**/*.{hpp,cpp}
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ by CartelWorx | KC Speed Lab
Powering the next generation of automotive intelligence