Rozdział 8. Roadmap
Page content
Rozdział 7. Testy | OpenDiag - STM32 CAN Tool
To jest ostatni rozdział specyfikacji. I tutaj chciałbym wprowadzić jedną zmianę względem naszych wcześniejszych rozmów.
Roadmap nie powinna opisywać modułów, tylko kolejne działające wersje projektu.
Każdy etap kończy się firmware, które można uruchomić i przetestować.
Rozdział 8. Roadmap
8.1 Cel
Roadmap określa kolejne etapy rozwoju projektu OpenDiag.
Każdy etap:
- ma jasno określony cel,
- kończy się działającą wersją firmware,
- posiada zestaw testów,
- stanowi punkt odniesienia dla kolejnych prac.
Etap 1 – Uruchomienie platformy
Cel
Przygotowanie środowiska sprzętowego i programowego.
Zakres
- Projekt CubeMX
- STM32F767ZI
- Debug (SWD)
- ST-Link UART
- USB CDC
- LED
- CAN1
- CAN2
Rezultat
Płytka uruchamia się, działa USB CDC i UART, kontrolery CAN są zainicjalizowane.
Etap 2 – Core
Cel
Stworzenie wspólnej infrastruktury projektu.
Zakres
- Logger
- Konfiguracja
- Kolejki FIFO
- Timery
- Obsługa błędów Rezultat
Powstaje stabilna baza dla dalszych modułów.
Etap 3 – Terminal
Cel
Komunikacja z komputerem.
Zakres
- Terminal USB CDC
- Echo
- Odbiór linii tekstowych
- Dispatcher poleceń Rezultat
Można komunikować się z urządzeniem z poziomu terminala.
Etap 4 – ELM327
Cel
Podstawowa zgodność z ELM327.
Zakres
- ATZ
- ATI
- ATE0 / ATE1
- ATL0
- ATH0 / ATH1
- ATSP Rezultat
FORScan rozpoznaje urządzenie jako adapter ELM327.
Etap 5 – CAN
Cel
Obsługa magistrali CAN.
Zakres
- CAN API
- Nadawanie
- Odbiór
- Filtry
- Monitor ramek Rezultat
Możliwe jest wysyłanie i odbieranie ramek CAN.
Etap 6 – OBD-II
Cel
Pierwsza komunikacja diagnostyczna.
Zakres
- Mode 01
- Mode 03
- Mode 04 Rezultat
Możliwy odczyt podstawowych parametrów i kodów błędów.
Etap 7 – ISO-TP
Cel
Obsługa ramek wieloczęściowych.
Zakres
- Single Frame
- First Frame
- Consecutive Frame
- Flow Control Rezultat
Obsługa długich komunikatów diagnostycznych.
Etap 8 – FORScan
Cel
Pełna współpraca z FORScan.
Zakres
- Wykrywanie modułów
- Odczyt DTC
- Kasowanie DTC
- Live Data Rezultat
Interfejs działa z Fordem S-Max.
Etap 9 – STN
Cel
Rozszerzenie zgodności.
Zakres
- Komendy STN
- Wielokanałowy CAN
- Automatyczne przełączanie magistral Rezultat
Kompatybilność z aplikacjami wymagającymi STN.
Etap 10 – OpenDiag Native
Cel
Własny protokół komunikacyjny.
Zakres
- Protokół binarny
- Bezpośredni dostęp do CAN
- Konfiguracja urządzenia Rezultat
Własna aplikacja nie korzysta z ELM327.
Etap 11 – Logger
Cel
Rejestracja ruchu.
Zakres
- Karta SD
- Zapis ramek
- Znaczniki czasu Rezultat
Możliwość analizy ruchu offline.
Etap 12 – Aplikacja PC
Cel
Własne narzędzie diagnostyczne.
Zakres
- Linux
- Windows
- Qt / PySide
- Aktualizacja firmware
- Konfiguracja Rezultat
Pełny ekosystem OpenDiag.
Etap 13 – Własna płytka
Cel
Projekt sprzętu docelowego.
Zakres
- STM32H723/H562
- 3 × CAN
- USB-C
- SD
- Ochrona zasilania
- Obudowa Rezultat
Gotowy interfejs OpenDiag.
Kamienie milowe (Milestones)
| Wersja | Cel |
|---|---|
| v0.1 | USB + Terminal |
| v0.2 | ELM327 |
| v0.3 | CAN Monitor |
| v0.4 | OBD-II |
| v0.5 | FORScan |
| v0.6 | STN |
| v0.7 | Native Protocol |
| v0.8 | Logger |
| v0.9 | OpenDiag GUI |
| v1.0 | Sprzęt docelowy |
Jedna ważna propozycja
Po napisaniu wszystkich rozdziałów widzę, że mamy już praktycznie kompletną specyfikację projektu. Proponuję zamrozić ją jako wersję 1.0.
Od tej chwili:
Rozdziały 1–8 traktujemy jako dokument referencyjny. Każdą zmianę architektury zapisujemy świadomie jako aktualizację specyfikacji (np. v1.1), zamiast zmieniać założenia "w locie".
To ma dużą zaletę: gdy za kilka miesięcy wrócimy do projektu, zawsze będziemy mogli sprawdzić, dlaczego dana decyzja została podjęta.
Co dalej?
Moim zdaniem zakończyliśmy fazę analizy i projektowania. Następny krok to już nie kolejny rozdział, ale rozpoczęcie implementacji.
Proponowałbym rozpocząć od Etapu 1 – Uruchomienie platformy, ale podzielić go na małe, mierzalne zadania, np.:
- Utworzenie repozytorium i struktury katalogów.
- Projekt CubeMX dla Nucleo F767ZI.
- Uruchomienie debuggera i logów przez ST-Link UART.
- Uruchomienie USB CDC.
- Konfiguracja CAN1 i CAN2.
- Pierwszy firmware z komunikatem „OpenDiag v0.1”.
Taki plan pozwoli nam budować projekt krok po kroku, mając po każdym zadaniu działającą bazę do dalszych prac.