CanSensorHub¶
Modularna aplikacja PC (.NET 10 / WPF) obsługująca czujnikowe i sterujące węzły magistrali CAN. Zarządza jednym połączeniem z adapterem, udostępnia surowy log ruchu, a każde urządzenie obsługuje przez osobny, wpinany moduł.
-
Jedno połączenie, wiele węzłów
Adapter WeActStudio USB2CANFDV1 we firmware slcan albo transport symulowany. Węzły rozróżniane polem
NODE, każdy jako osobna zakładka. -
Moduły urządzeń
MPCC i MPSWP na start, kolejne przez implementację jednego interfejsu. Wspólna otoczka protokołu jest już w rdzeniu.
-
Narzędzie bootloadera
Programowanie firmware przez CAN, z kontrolą typu urządzenia przed skasowaniem pamięci.
-
Monitor magistrali
Surowy log ramek nadawanych i odbieranych, niezależny od modułów, z pauzą, filtrem i eksportem do CSV.
-
Narzędzia serwisowe
Kalibracja wejść napięciowych MPCC zadajnikiem 34907A i multimetrem 34401A przez VISA, z zapisem do węzła i sprawdzeniem wielopunktowym. Wyłączalne z buildu.
Instalacja¶
CanSensorHub-win-Setup.exe nie wymaga wcześniej zainstalowanego .NET i instaluje się dla
bieżącego użytkownika, bez uprawnień administratora. Zainstalowana aplikacja przy starcie
sprawdza, czy jest nowsze wydanie, i po zgodzie użytkownika aktualizuje się sama —
szczegóły w Budowanie i uruchamianie.
Rola w ekosystemie¶
Aplikacja jest warunkiem wstępnym aktualizacji firmware węzłów: wgrywanie odbywa się przez jej narzędzie bootloadera, a po starcie węzła to ona dekoduje ramkę identyfikacyjną i telemetrię.
flowchart LR
APP[CanSensorHub] <-->|USB / COM| ADAP[Adapter WeAct<br/>firmware slcan]
ADAP <-->|CAN 2.0B 500 kbit/s| BUS(( magistrala ))
BUS <--> N1[MPSWP<br/>NODE 0x01]
BUS <--> N2[MPCC<br/>NODE 0x10]
BUS <--> N3[kolejne węzły]
Protokół jest wspólny dla wszystkich węzłów i opisany w repozytorium CanBusCommon. Aplikacja implementuje go po stronie hosta w języku C#; węzły i hosty pythonowe korzystają z kodu generowanego z tego samego opisu.
Stan¶
| Element | Stan |
|---|---|
| Obsługa profilu 2 | gotowa — ramka identyfikacyjna 4/21/28 B, CAPABILITIES, komendy 0x12–0x16 |
| Moduł MPSWP | przeniesiony na profil 2, zweryfikowany na sprzęcie |
| Moduł MPCC | w trakcie migracji wraz z firmware węzła |
| Narzędzie bootloadera | odczyt typu urządzenia z odpowiedzi HELLO wersji 1.1, odmowa wgrania obrazu niewłaściwego typu |
| Składanie transferów segmentowanych | odporne na kolejność, transfer niekompletny porzucany |
| Narzędzie kalibracji AFE MPCC | zweryfikowane na stanowisku (34401A, 34970A/34907A, MPCC 0.3 build 6): 7 kanałów PASS, błąd po kalibracji ≤ 0,9 mV (kanały 5 V) i ≤ 1,5 mV (30 V) do 4,8 V; raport CSV, HTML i PDF |
| Testy | warstwa Core, biblioteka przyrządów, logika narzędzia kalibracji |
| Wydania | budowane automatycznie, instalator z autoaktualizacją |
| Kompilacja rozwiązania | 0 błędów, 0 ostrzeżeń |
Aktualizacja firmware 3.1 stacji pogodowej została wykonana tym narzędziem i potwierdzona odczytem ramki identyfikacyjnej po starcie.
Licencja¶
Projekt jest udostępniony na licencji MIT. Wszystkie zależności również są na MIT — spis w THIRD-PARTY-NOTICES.md.