стройте графики по данным из различных источников
Самописец сигналов с COM-порта MCU.
Live-осциллограф, блоки, калибровка — без MATLAB.
Запуск · Возможности · Протоколы · Сборка · Протоколы MCU
На стенде есть CH32 / STM32 и UART. Нужен график сейчас, а не через скрипт.
| Было | Стало |
|---|---|
| Только текстовый ASCII по UART | FlowerGraph — ASCII + COBS / mCOBS |
| MATLAB / Python-скрипт на каждый эксперимент | Окно, запись, блоки, маркеры |
| Нет живого потока с CRC | Кадр, CRC-16, счётчик потерь |
| Live + запись | Следящий график, кольцо ~300k точек | Стрим на диск, RAM не раздувается |
| 4 источника | Генератор, COM ASCII, COM COBS, COM mCOBS | Стенд или проверка UI без железа |
| Шкала 1–2–5 | Время и амплитуда как на приборе | Маркеры, LOD min/max |
| Блоки | Несколько дублей в одной сессии | Калибровка .cal |
| Файлы | Свой .fgd (zip + npy) |
Импорт / экспорт .pgc, CSV |
MCU шлёт UART — FlowerGraph рисует.
MCU ── UART ──► FlowerGraph
├─ ASCII ±DDDDD.D + CR текст, printf с MCU
├─ COBS int16…float32 CRC-16, потери пакетов
└─ mCOBS пачка семплов выше FPS
| Протокол | Пакет | На 460 800, 4 канала |
|---|---|---|
| ASCII | 8 байт/канал + CR | ~1 400 семпл/с |
| COBS | бинарный кадр + CRC | плотнее ASCII |
| mCOBS | batch COBS | ещё выше FPS |
C-код под CH32V303 / CH32V307: FlowerGraph_Protocols.md
Портатив Windows 10 / 11 x64. Python не нужен.
FlowerGraph/
├── Запуск.bat
├── FlowerGraph.exe
└── _internal/ ← не удалять
- Распаковать portable zip
- Открыть папку
FlowerGraph Запуск.batилиFlowerGraph.exe
Win10 1809+ / Win11, x64. SmartScreen на PyInstaller onedir иногда ругается — ложное срабатывание.
Linux portable собирает workflow Build Linux Portable.
git clone https://github.com/mamkincoderr/FlowerGraph.git
cd FlowerGraph
setup_venv.bat
.venv\Scripts\python.exe main.pyСвой exe: install\build.bat (Python 3.11, PyInstaller; Inno Setup — опционально).
flowchart LR
A[COM / генератор] --> B[queue]
B --> C[QTimer drain]
C --> D[RingBuffer]
D --> E[PlotArea]
D --> F[Session]
F --> G[".fgd / .pgc"]
Поток читает порт. В виджеты данные попадают только из Qt.
| Слой | Стек |
|---|---|
| GUI | PySide6, pyqtgraph |
| Данные | numpy float64 время / float32 значения |
| COM | pyserial, кадры в фоне |
| Сессия | zip JSON + npy |
main.py точка входа
core/ сессия, кольцо, .fgd
plugins/ источники, .pgc / .fgd
ui/ окно, график, панели
install/ Inno, протоколы, build.bat
assets/ сплэш, иконка
FlowerGraph v0.7.1

