Skip to main content

02 – Top Level Architecture

🔭 High-level pohľad

SerialyTTY funguje ako inteligentný USB-to-UART most, ktorý prepája počítač s cieľovým embedded zariadením a pridáva automatizáciu a diagnostiku.

  • Host (PC / notebook)

    • komunikuje cez natívny USB CDC port ESP32-C6,
    • používa bežný sériový terminál.
  • ESP32-C6 (jadro logiky)

    • prijíma UART dáta z PC aj z cieľového zariadenia,
    • poskytuje funkcie:
      • automatická detekcia baud rate,
      • Bridge mód s počítaním RX/TX,
      • terminálové menu,
      • voliteľné vizualizačné a logovacie funkcie.
  • User Interface Layer

    • sériový terminál (ANSI menu) pre kontrolu a prepínanie režimov,
    • voliteľný TFT displej zobrazujúci stav, štatistiky a diagnostiku.
  • Storage / Logging (voliteľné)

    • SD karta (FAT16/FAT32) s logovaním UART dát, časovými pečiatkami a udalosťami.
  • Cieľové zariadenie (embedded board)

    • napr. Arduino, STM32, ESP32, senzory alebo priemyselné moduly,
    • prepojené cez UART TX/RX/GND.

📌 Architektúrna myšlienka

Počítač vidí SerialyTTY ako obyčajný USB-TTL most,
ale ESP32-C6 medzi tým pridáva inteligenciu, UI a diagnostiku,
čo bežné adaptéry neponúkajú.

🏗️ Architecture Overview

System Components

┌─────────────────────────────────────────────────────────┐
│ USB-TTL Bridge (ESP32-C6) │
├─────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Hardware Detection Module │ │
│ │ • I2C Scanner (Display Detection) │ │
│ │ • GPIO Detection (SD Card) │ │
│ └──────────────────────────────────────────────────┘ │
│ ▼ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ State Machine & Bridge Mode │ │
│ │ • BOOTING → WAITING → ANALYZING │ │
│ │ → FOUND_SPEED → RUNNING → BRIDGE_MODE │ │
│ └──────────────────────────────────────────────────┘ │
│ ▲ ▼ ▲ │
│ ┌───────┴──────────┐ ┌────────────┐ ┌────────┴───┐ │
│ │ Baud Detector │ │ UART1 │ │ BLE UART │ │
│ │ (GPIO Timing) │ │ (Bridge) │ │ (Nordic) │ │
│ └──────────────────┘ └────────────┘ └────────────┘ │
│ ▼ ▼ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Display Manager (ILI9341 TFT - Optional) │ │
│ │ • Boot, Menu, Analyzing, Bridge screens │ │
│ └─────────────────────────────────────────────────┘ │
│ ▼ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ SD Logger (FAT Filesystem - Optional) │ │
│ │ • Timestamped logs with hex dumps │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Menu System & Communication Tester │ │
│ │ • Interactive terminal interface │ │
│ └─────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘

Key Modules

ModuleFilePurpose
Baud Detectorbaud_detector.cppGPIO interrupt-based baud rate detection
UART Bridgebridge_mode.cppTransparent serial passthrough
Display Managerdisplay_manager.cppTFT control and screen management
SD Loggersd_logger.cppSD card initialization and logging
Menu Systemmenu_system.cppTerminal-based interactive menu
Hardware Detectorhardware_detector.cppPeripheral scanning and detection
BLE Managerbluetooth_manager.cppBluetooth Low Energy stub
Comm Testercomm_tester.cppCommunication testing utilities

Navigation: ⬆️ SDLC · ⬅️ Projekt