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