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.