LWPM Comfort Module

Moduł komfortu dla Opla Zafira-B / Astra-H / Vectra-C / Signum / Corsa-D / Antara / Astra-J / Zafira-C / Insignia-A

Więcej informacji na temat modułu na stronach:

Inne przydatne linki:

ID Kategoria Typ zgłoszenia  asc Priorytet Samochód Tytuł Status Realizacji w wersji Postęp
 182 KonfiguratorPozostałeNormalnywszystkie Skanowanie CAN Zamknięte2
100%
Task Description

Jak wykorzystać kabelek OP-COMa to podglądu danych na CAN?

!!! Uwaga !!!

Uzyskując bezpośredni dostęp do CAN samochodu, trzeba uważać! Przez CAN przesyłanych jest mnóstwo danych, których znaczenia nikt poza GM nie zna. Wysyłając przypadkowe dane na CAN można wprowadzić jakiś moduł/sterownik w nieokreślony stan, z którego może być go później trudno wyprowadzić! Zwykle odłączenie zasilania (akumulatora) pomaga.
Nie odpowiadam za jakiekolwiek szkody spowodowane bezpośrednim dostępem do CAN.


Wymagania sprzętowe/programowe

wszystkie narzędzia były sprawdzane/testowane tylko w systemie Linux/Debian i tutaj powinny działać. Wymagania od strony Linuxa:

  1. SocketCAN (każda nowsza dystrybucja posiada wbudowaną obsługę)
  2. Python 3.4+
  3. pakiety Pythona: pyserial, python-can
  4. interfejs/kabel OP-COMa, testowane tylko z oprogramowaniem 1.59. Samego OP-COMa nie potrzebujemy.

Możemy także wykorzystać gotową maszynę wirtualną Linuxa i uruchomić ją z VirtualBox
Maszynę pobieramy z https://mega.nz/file/YXxVjYLB#MX5TJBJFsxWFL7ovvLTF-LcP08oQ0U4IhAPNni07XEY

Maszynę importujemy do VirtualBoxa i uruchamiamy

login: osboxes
hasło: lwpm
hasło roota: lwpm

Przygotowanie systemu

Wszystkie wymagane pliki są dostępne w katalogu /home/osboxes/opel, natomiast wszystkie narzędzia są tekstowe, a więc wszystko wykonujemy z terminala.

Jeśli jednak chcesz sam przygotować sobie system, zakładam, że wiesz jak go skonfigurować:

  1. instalujemy python3.4+
  2. instalujemy can-utils (apt-get install can-utils)
  3. instalujemy pip (apt-get install python3-pip)
  4. instalujemy pyserial oraz python-can (pip3 install pyserial && pip3 install python-can)

W innych systemach niż Debian/Ubuntu polecenia mogą być inne.

Pierwszym krokiem do zrobienia jest uruchomienie vcan_init, który stworzy wirtualne interfejsy (LSCAN, MSCAN, HSCAN) w Linuxie. Będą one używane do dostępu do fizycznych CANów w samochodzie.

a więc logujemy się w systemie, uruchamiamy terminal, przechodzimy do katalogu opel (cd opel) i wpisujemy:

sudo ./vcan_init

potwierdzamy hasłem roota (lwpm)
W tym momencie mamy już utworzone wirtualne interfejsy CAN, z których już teraz możemy korzystać.

Następnym krokiem jest podłączenie do maszyny wirtualnej interfejsu OP-COMa i podpięcie go pod któryś z CANów. Służy do tego program opcom.py, który uruchamiamy następująco:

./opcom.py /dev/ttyUSB0 lscan

aby połączyć interfejs OP-COMa z naszym wirtualnym CANem (LSCAN)
aby podłaczyć się do mscan wpisujemy odpowiednio

./opcom.py /dev/ttyUSB0 mscan

analogicznie robimy to dla HSCAN

./opcom.py /dev/ttyUSB0 hscan

W przypadku HSCAN OP-COM bardzo szybko się zawiesi ze względu na zbyt dużą ilość danych, których nie jest on w stanie przetworzyć, dlatego wywołujemy program z odpowiednim filtrowaniem przychodzących pakietów, np:

./opcom.py /dev/ttyUSB0 hscan filter:-1,-1,7DF,7E0,5E8,7E8

w ten sposób będziemy przechwytywać tylko komunikację ze sterownikiem silnika (ECU)
Pierwsze dwa parametry filtru to maska bitowa. Nie końca wiem jak jej używać, dlatego używamy -1,-1, aby odfiltrować wszystko, natomiast kolejne wartości to już konkretne identyfikatory PIDów, które potrzebujemy. Możemy podać maksymalnie 6 identyfikatorów!


Sniffer CAN

Skoro mamy już połączony samochód z naszym komputerem, możemy podejrzeć co się w nim dzieje :)
najważniejsze polecenia to cansniffer oraz candump

candump lscan
cansniffer lscan

pierwszy z nich wypisuje na ekranie wszystkie przychodzące pakiety, natomiast drugi robi dokładnie to samo, z tym, że grupuje je wg identyfikatora pokazując tylko to co się zmieniło. Warto poczytać pomoc do tych poleceń, aby uzyskać lepszą prezentację danych (użyj parametru –help).
Najważniejsze wywołania to:

candump -a -c lscan
candump -l lscan

Pierwszy wypisuje pakiety w kolorze i pokazując zawarte w nich teksty
drugi zapisuje wszystkie pobranie pakiety do pliku np w celu dalszej ich analizy


Wysyłanie pakietów

Do wysyłania pakietów na CAN mamy w zasadzie dwa najważniejsze programy: cansend oraz canplayer Za pomocą canplayer możemy wysłać na CAN poprzednio zapisane pakiety,
natomiast za pomocą candump możemy wysłać konkretny pakiet na CAN, np:

cansend mscan 223#00772823

polecenie to wyśle pakiet o identyfikatorze 223 i długości 4 bajtów na MSCAN.


w załącznikach programy vcan_init, opcom.py oraz instrukcja instalacji przygotowana przez Łukasza Ostapiuk

 211 KonfiguratorPozostałeNormalnyAstra-H / Zafira-B wyświetlanie tekstu w różnych miejscach Zamknięte2v0.4a
100%
Task Description

Mógłby ktoś naprowadzić mnie jakie i ile można symboli wyświetlić w danym okienku?

np.
klimatyzacja: duże pole (3)
value: 0x0AA5
Tu można tylko cyferki? Dwie? Tyle jest jak się kręci nawiewem :)

radio: tytuł okna
value: 0×0301

radio: górna linia tekstu
value: 0×0311

radio: środkowa linia tekstu
value: 0×0310

radio: dolna linia tekstu
value: 0×0312

BC: temperatura zewnętrzna
value: 0×0422

BC: czas
value: 0x0C20

BC: data
value: 0x0C21

CD: górna linia tekstu
value: 0×0502

CD: środkowa linia tekstu
value: 0×0501

CD: dolna linia tekstu
value: 0×0503

nawigacja: tytuł okna
value: 0×0930

nawigacja: linia statusu
value: 0×0933

nawigacja: wysokość n.p.m.
value: 0×0902

nawigacja: aktualna pozycja
value: 0×0904

klimatyzacja: tytuł okna
value: 0x0A01

klimatyzacja: małe pole (1)
value: 0x0A23

klimatyzacja: małe pole (2)
value: 0x0A24

klimatyzacja: małe pole (3)
value: 0x0A25

klimatyzacja: małe pole (4)
value: 0x0A26

klimatyzacja: duże pole (1)
value: 0x0AA3

klimatyzacja: duże pole (2)
value: 0x0AA4

klimatyzacja: duże pole (3)
value: 0x0AA5

288KonfiguratorPozostałePilnewszystkieOpis tworzenia akcjiW trakcie3konfigurator
50%
Task Description

W tym miejscu jest opisany sposób tworzenia akcji, jak i wszystkie dostępne polecenia
Opis będzie aktualizowany po dodaniu nowych funkcji.
Opis jest uproszczony, wymagana znajomość systemu szesnastkowego i często także operacji bitowych.

Ogólna postać akcji:

<informacje o akcji> <ilość powtórzeń> <początek> <koniec> <pętla>

<informacje o akcji>

<informacje o akcji> = <długość informacji> <informacje>[*]
<informacje> = <typ danych> <długość danych> <dane>

Informacje o animacji

<typ danych> == 1
TODO:

Informacje o warunkach wykonania akcji

<typ danych> == 2
Kalkulator posiada:
  • dwa rejestry: a oraz b
  • 4 wartości tymczasowe (dostępne przez polecenia 10-13)

Generalnie <dane> to ciąg instrukcji dla “kalkulatora” z dwoma wartościami, działającego na zasadzie RPN (Odwrotna notacja polska). Wynik ostatnich obliczeń porównywany jest do 0 i na tej podstawie jest określane, czy akcja zostanie wykonana, czy nie. Wartości są ładowane do pola nr 2 po przesunięciu wartości z pola 2 na pole 1, czyli: LOAD = <1> ← <2>; <2> = wartość. Obie liczby to 32-bitowe liczby ze znakiem.

<dane> = <rozmiar> <index> <flagi> <start> <stop> <instrukcja>[*]

<rozmiar> - długość danych akcji (w bajtach)

<index> - indeks informacji o aktualnym stanie obliczeń (0..3). W tym miejscu jest przechowywana np informacja o aktualnej liczbie prawidłowych obliczeń, czy aktualnym stanie akcji.

<flagi> - wartości bitowe zmieniające zachowanie kalkulatora

01 - w przypadku jakiegokolwiek błędu, obliczenia zostaną potraktowane jako prawidłowe

<start> - ilość wymaganych poprawnych obliczeń aby uruchomić akcję.

<stop> - ilość wymaganych poprawnych obliczeń aby zakończyć działającą akcję

<instrukcja>:

// pobranie liczby
00 - Load 0
01 - Load 1
02 - Load -1
03 - Load Signed Byte <aa>
04 - Load Unsigned Byte <bb>
05 - Load Signed Word <aa bb>
06 - Load Unsigned Word <aa bb>
07 - Load Double Word = <aa bb cc dd>
// zapisanie wartości
10 <xx> - zapisz a na pozycji xx [x: 0..3]
11 <xx> - zapisz b na pozycji xx [x: 0..3]
14 <xx> - zapisz wartość z pozycji xx [x: 0..3] do a
15 <xx> - zapisz wartość z pozycji xx [x: 0..3] do b
// pobranie danych
20 - standard <aa>
  <aa>:
     00 - prędkość
     01 - obroty silnika
     02 - temperatura
21 - OBDII <aa> (4 najmłodsze bajty)
22 - ECUInfo <aa> (4 najmłodsze bajty)
// konwersja danych
30 - extend signed byte
31 - extend unsigned byte
32 - extend signed word
33 - extend unsigned word
34 - extend bit
// instrukcje
40 - exchange a <==> b
41 - b = b + a
42 - b = b - a
43 - b = b * a
44 - b = b / a
45 - b = b << a
46 - b = b >> a
47 - b = b & a
48 - b = b | a
49 - b = b ^ a
4A - b = ~b
4B - b = (b && a) ? 1 : 0
4C - b = (b || a) ? 1 : 0
4D - b = (b != a) ? 1 : 0
4E - b = !b
// porównanie, wynik porównania zapisywany jest w b: 1 - gdy warunek prawdziwy, 0 gdy fałszywy
F0 - b == 0
F1 - b != 0
F2 - b < 0
F3 - b <= 0
F4 - b > 0
F5 - b >= 0
FF - koniec obliczeń, zwróć wynik (b)

<Ilość powtórzeń>

Rozmiar: 1 bajt

to domyślna ilość powtórzeń wykonania pętli w przypadku gdy wartość nie jest podana przy uruchomieniu akcji. Zwykle jest to 0.

<początek akcji>

Polecenia wykonane przy uruchomieniu/włączeniu akcji.

<długość> [<polecenie 1>, <polecenie 2>, ....]

długość (1 bajt) - ilość bajtów w początku akcji. Wartość zawsze obecna, nawet jeśli jest to 0
polecenie n - lista poleceń do wykonania. Długość polecenia jest zmienna i zależy od rodzaju polecenia. Opisane w dalszej części.

<koniec akcji>

Polecenia wykonane przy wyłączeniu/zakończenie akcji.

<długość> [<polecenie 1>, <polecenie 2>, ....]

długość (1 bajt) - ilość bajtów w końcu akcji. Wartość zawsze obecna, nawet jeśli jest to 0
polecenie n - lista poleceń do wykonania. Długość polecenia jest zmienna i zależy od rodzaju polecenia. Opisane w dalszej części.

<pętla>

Polecenia wykonywane w trakcie trwania pętli. Powtarzane w trakcie każdego wykonania akcji

<ilość poleceń> [<polecenie 1>, <polecenie 2>, ....]

ilość poleceń (1 bajt) - ilość poleceń do wykonania. Wartość zawsze obecna, nawet jeśli jest to 0
polecenie n - lista poleceń do wykonania. Długość polecenia jest zmienna i zależy od rodzaju polecenia. Opisane w dalszej części.

Przykład (najprostsza akcja, która nic nie robi):

00 00 00 00 00

Dostępne polecenia:

Ogólny format polecenia:

<rodzaj polecenia> [<parametr 1>, <parametr 2>, ...]

Rodzaje poleceń: (1 bajt)

  • 00 - krótka pauza
  • 01 - długa pauza
  • 02 - sterowanie pinami I/O / PWM
  • 03 - zmiana parametru w konfiguracji modułu
  • 04 - zapis konfiguracji modułu do pamięci
  • 05 - restart modułu
  • 08 - uruchomienie innej akcji
  • 09 - sterowanie akcją w tle
  • 10 - wysłanie tekstu do wyświetlacza
  • 11 - sterowanie głośnością radia
  • 12 - otwórz Video
  • 13 - zamknij menu modułu
  • 14 - pokaż okno dialogowe
  • 15 - ustaw automatyczne otwieranie okna czujników parkowania
  • 2F - ustawienie sposobu wykonywania poleceń
  • 30 - wysłanie pakietu na CAN
  • 31 - oczekiwanie na pakiet CAN i odesłanie go zmodyfikowanego przez OR
  • 32 - oczekiwanie na pakiet CAN i odesłanie go zmodyfikowanego przez AND
  • 33 - oczekiwanie na pakiet CAN i odesłanie go zmodyfikowanego przez XOR
  • 34 - oczekiwanie na pakiet CAN i odesłanie go zmodyfikowanego przez MOV
  • 40-5F - sterowanie modułami na LSCAN przez GMLan (240 - 25F)
  • 60-6F - sterowanie modułami na MSCAN przez GMLan (240 - 25F)
  • 80-9F - sterowanie modułami na HSCAN przez GMLan (240 - 25F)
  • A0-BF - wysłanie polecenia do modułu na LSCAN przez GMLan (240 - 25F)
  • C0-DF - wysłanie polecenia do modułu na MSCAN przez GMLan (240 - 25F)
  • E0-FF - wysłanie polecenia do modułu na HSCAN przez GMLan (240 - 25F)

00 - krótka pauza

Format polecenia:

00 <xx>

gdzie

<xx> - czas w ms

01 - długa pauza

Format polecenia:

01 <xxxx>

gdzie

<xxxx> - czas w ms

02 - sterowanie pinami IO

Format polecenia:

02 <pin> <dane>

gdzie

<pin> - wyjście do ustawienia

dozwolone wartości:

00 - C2D
01 - UART_TX
02 - UART_RX
03 - LED-
04 - AUX1
05 - AUX2
06 - AUX3
F0 - inicjalizacja PWM
F1 - sterowanie PWM1
F2 - sterowanie PWM2

Zawartość pola <dane> zależą od wartości pola <pin>.
Dla wartości 00 - 06 (maska bitowa):

0x01 - ustaw 1 na wyjściu
0x02 - ustaw wyjście jako push-pull (0x00 - open-drain)
0x04 - zmień wartość wyjścia na przeciwną (0 na 1, 1 na 0)

użycie pinów UART_TX lub UART_RX wyłącza komunikację po UART do momentu restartu modułu.
Dla wartości F0 - inicjalizacja PWM:

<xx> <yyyy>

gdzie:

<xx> - parametry wyjść, bitowo:
0x01 - włączone jedno wyjście (PWM1 na pinie AUX2)
0x02 - włączone dwa wyjścia (PWM1 na pinie AUX2 oraz PWM2 na pinie AUX1).
       nie ma możliwości włączenie tylko AUX2!
0x40 - ustawienie PWM1 jako push-pull (normalnie jest open-drain)
0x80 - ustawienie PWM2 jako push-pull (normalnie jest open-drain)

<xxxx> - czas syklu PWM w ms
Np gdy chcemy ustawić na 10ms stan 1, 40ms stan 0 - wpisujemy tutaj wartość 50 (0032)

Inicjalizacja PWM musi być użyta przed sterowaniem PWM - dla obu PWM ustawiane są te same czasy!
Dla wartości F1 oraz F2:

<xx> - wypełnienie sygnału PWM (0x00 - 0xFF -> 0..100%)

Przykład:
chcemy wygenerować sygnał PWM o parametrach:
10ms jako logiczne 1 (5V), 60ms jako logiczne 0 (0V)
liczymy czas cyklu: 10 + 60 = 70. Polecenie wygląda następująco:

02 F0 41 0046
wyjście PWM1 (na AUX2), push-pull, z czasem cyklu 70ms

następnie liczymy wypełnienie:

10 / (10 + 60) =~ 0,14
0,14 * 255 = ~36 = 0x24

wysyłamy polecenie:

02 F1 24

03 - zmiana konfiguracji modułu

03 04 0234 00112233
Powyższy przykład w pisze w konfigurację w pole o identyfikatorze wartość 4 bajów
oznacza to wpis w konfigurację
234=00112233

zmiana nie jest wpisywana do pamięci stałej, zostanie aktywna do wyłączenia modułu
Zapisania zostanie przy zapisie konfiguracji inną akcją lub poprzez zmiany w module (ECUInfo, OBD)
UWAGA: nie wszystkie parametry można zmieniać w ten sposób! Jednak jest to zdecydowana większość parametrów dostępna w konfiguracji (liczbowe, struktury) Nie można zmieniać w ten sposób np definicji akcji, nazw akcji - ogólnie napisów. W razie wątpliwości - pytaj

Poprawność danych nie jest weryfikowana! Ostrożność wysoce zalecana!

04 - zapis konfiguracji modułu do pamięci

04
polecenie zapisuje bieżącą konfigurację do modułu

05 - restart modułu

05
restart modułu

08 - uruchomienie innej akcji

08 xx aabb
gdzie:
xx - identyfikator akcji wbudowanej (opisane pod koniec tej strony)
aabb - parametry wykonania akcji (zależne od typu akcji)

UWAGA: nie wszystkie akcje wbudowane można w tej sposób uruchomić, tylko te najprostsze

09 - sterowanie akcją w tle

09 xy
gdzie:
x - numer akcji (0..3)
y - polecenie: 0 - stop, 1 - start, 2 - przełącz

10 - wysłanie tekstu do wyświetlacza

10 xxxx yy <tekst>
gdzie:
xxxx - identyfikator pola na wyświetlaczu
yy - długość tekstu w bajtach
<tekst> tekst zakodowany w UTF-8

11 - sterowanie głośnością radia

11 xx yy
gdzie:
xx - tryb sterowania: 
     1 - ustaw poziom <yy>
     2 - zwiększ poziom o <yy>
     3 - zmniejsz poziom o <yy>
     4 - zapisz aktualny poziom głośności, <yy> - bez znaczenia
     5 - przywróć poprzednio zapisany poziom głośności, <yy> - bez znaczenia

UWAGA: polecenia 1-3 automatycznie zapisują poziom głośności

yy - głośność do ustawienia (wartość ze znakiem)

gdy wartość wykroczy poza zakres obsługiwany przez radio, zostanie ustawiona ostatnia dozwolona wartość

12 - otwórz Video

przełącz CID w tryb Video

brak parametrów

13 - zamknij menu modułu

zamknij menu modułu, odpowiada naciśnięciu przycisku MAIN na CD70/DVD90

brak parametrów

14 - pokaż okno dialogowe

pokaż na ekranie okienko dialogowe

parametry: <xx> <yyyy> <zzzz> <aa> <tytuł> <bb> <wiadomość>
<xx> - typ okienka:
  01 - zwykłe okienko z małą ikonką
  05 - okienko z dużym obrazkiem
<yyyy> - ikonka do pokazania
  0000 - brak ikonki
  3300 - ostrzeżenie (wykrzyknik)
  3400 - informacja
  5300 - SOS
  FE07 - samochód
<zzzz> - czas automatycznego ukrycia okienka w ms. 0000 - okienko nie zostanie automatycznie ukryte
<aa> <tytuł> - tytuł komunikaty
  <aa> - długość w bajtach
  <tytuł> - tytuł do wyświetlenia zakodowany w UTF-8
<bb> <wiadomość> - treść widomości
  <bb> - długość w bajtach
  <wiadomość> - wiadomość do wyświetlenia zakodowany w UTF-8

przykład:

14 01 3300 03E8 03 616263 04 31323334
komunikat z trójkątem ostrzegającym, ukrywany automatycznie po 1000ms, tytuł: abc, treść: 1234

15 - ustaw automatyczne otwieranie okna czujników parkowania

Ustawia opcję automatycznego pokazywania okna czujników parkowania (tymczasowo, to czasu wyłączenia silnika)
przykład:

15 00

dostępne wartości:

00 - automatyczne pokazywanie włączone
01 - automatyczne pokazywanie wyłączone

2F - ustawienie sposobu wykonywania poleceń

Ustawia sposób wykonywania poleceń w akcji
Domyślnie ustawiane są następujące flagi:

  • przed początkiem akcji: 01
  • przed pierwszym wykonaniem pętli: 00
  • przed końcem akcji: 01

Dostępne flagi:

01 - wykonywanie akcji nie może być niczym przerwane
     (przez guzik na kierownicy, przez pilota ani przez zmianę pozycji kluczyka)
02 - nie czekaj na potwierdzenie polecenia. 
     Moduł nie będzie czekał na potwierdzenie wysłania polecenia do modułu. 
     Daje to możliwość szybszego działania akcji, jednak należy zapewnić przerwę pomiędzy poleceniami do tego samego modułu.

30 - wysłanie pakietu na CAN

polecenie wysyła dowolny pakiet na CAN

30 xyyy zz <dane>

gdzie:

x - sieć CAN: 0 - LSCAN, 1 - MSCAN, 2 - HSCAN
yyy - identyfikator pakietu
zz - długość pkaietu w bajtach (0..8)
<dane> - dane w pakiecie do wysłania

przykład:

30 1234 03 013342

wykona:

cansend mscan 234#013342

31 - oczekiwanie na pakiet CAN i odesłanie go zmodyfikowanego przez OR

polecenie czeka na pakiet o określonym ID a następnie odsyła ten pakiet odpowiednio zmieniony

31 xyyy zz <dane>

gdzie:

x - sieć CAN: 0 - LSCAN, 1 - MSCAN, 2 - HSCAN
yyy - identyfikator pakietu
zz - długość danych do zmodyfikowania w bajtach
<dane> - sposób modyfikacji danych, pakiet[i] = packet[i] OR dane[i]

przykład:

31 1234 03 000001

oczekuje na pakiet na MSCAN o identyfikatorze #234, a następnie go odeśle
otrzymany pakiet:

234#1020304050

odesłany pakiet:

234#1020314050

32 - oczekiwanie na pakiet CAN i odesłanie go zmodyfikowanego przez AND

polecenie czeka na pakiet o określonym ID a następnie odsyła ten pakiet odpowiednio zmieniony

32 xyyy zz <dane>

gdzie:

x - sieć CAN: 0 - LSCAN, 1 - MSCAN, 2 - HSCAN
yyy - identyfikator pakietu
zz - długość danych do zmodyfikowania w bajtach
<dane> - sposób modyfikacji danych, pakiet[i] = pakiet[i] AND dane[i]

33 - oczekiwanie na pakiet CAN i odesłanie go zmodyfikowanego przez XOR

polecenie czeka na pakiet o określonym ID a następnie odsyła ten pakiet odpowiednio zmieniony

33 xyyy zz <dane>

gdzie:

x - sieć CAN: 0 - LSCAN, 1 - MSCAN, 2 - HSCAN
yyy - identyfikator pakietu
zz - długość danych do zmodyfikowania w bajtach
<dane> - sposób modyfikacji danych, pakiet[i] = pakiet[i] XOR dane[i]

34 - oczekiwanie na pakiet CAN i odesłanie go zmodyfikowanego przez MOV

polecenie czeka na pakiet o określonym ID a następnie odsyła ten pakiet odpowiednio zmieniony

34 xyyy zz <dane>

gdzie:

x - sieć CAN: 0 - LSCAN, 1 - MSCAN, 2 - HSCAN
yyy - identyfikator pakietu
zz - długość danych do zmodyfikowania w bajtach
<dane> - sposób modyfikacji danych, pakiet[i] = dane[i]

40-5F - sterowanie modułami na LSCAN przez GMLan (240 - 25F)

polecenie wysyła polecenie sterujące (AE - Device Control) do urządzenia GMLan na sieci LSCAN
przykład:

47 03 020101

wykona:

cansend lscan 247#04AE020101

60-6F - sterowanie modułami na MSCAN przez GMLan (240 - 25F)

polecenie wysyła polecenie sterujące (AE - Device Control) do urządzenia GMLan na sieci MSCAN
przykład:

67 03 020101

wykona:

cansend mscan 247#04AE020101

80-9F - sterowanie modułami na HSCAN przez GMLan (240 - 25F)

polecenie wysyła polecenie sterujące (AE - Device Control) do urządzenia GMLan na sieci HSCAN
przykład:

87 03 020101

wykona:

cansend hscan 247#04AE020101

A0-BF - wysłanie polecenia do modułu na LSCAN przez GMLan (240 - 25F)

polecenie wysyła dowolne polecenie do urządzenia GMLan na sieci LSCAN
przykład:

A7 04 3301012213

wykona:

cansend lscan 247#043301012213

C0-DF - wysłanie polecenia do modułu na MSCAN przez GMLan (240 - 25F)

polecenie wysyła dowolne polecenie do urządzenia GMLan na sieci MSCAN
przykład:

C7 04 3301012213

wykona:

cansend mscan 247#043301012213

E0-FF - wysłanie polecenia do modułu na HSCAN przez GMLan (240 - 25F)

polecenie wysyła dowolne polecenie do urządzenia GMLan na sieci HSCAN
przykład:

E7 04 3301012213

wykona:

cansend hscan 247#043301012213

Akcje wbudowane:

  • 01 - otwórz bagażnik
  • 02 - otwórz szyby
  • 03 - zamknij szyby
  • 04 - sterowanie trybem SPORT
  • 05 - wyczyść błędy
  • 08 - sterowanie DDS
  • 09 - zatrzymanie szyb
  • 0A - odtwórz dźwięk z CIM
  • 0B - otwórz drzwi (CZ)
  • 0C - zamknij drzwi (CZ)
  • 10 - sterowanie akcją w tle
  • 11 - sterowanie głośnością radia
  • 20 - otwórz menu modułu
  • 21 - otwórz ustawienia modułu/przełącz stronę
  • 22 - otwórz ekran silnika
  • 23 - otwórz ekran stanu DPF
  • 24 - otwórz ekran czujników parkowania
  • 25 - otwórz menu ECUInfo
  • 26 - otwórz menu OBD2
  • 27 - otwórz menu Video
  • 28 - otwórz menu listy akcji
  • 70 - zasymuluj naciśniecie przycisku
  • 80-9F - własne zdefiniowane akcje
  • A0-BF - akcje wbudowane

01 - otwórz bagażnik

TODO:

02 - otwórz szyby

TODO:

03 - zamknij szyby

TODO:

04 - sterowanie trybem SPORT

TODO:

05 - wyczyść błędy

TODO:

08 - sterowanie DDS

TODO:

09 - zatrzymanie szyb

TODO:

0A - odtwórz dźwięk z CIM

TODO:

0B - otwórz drzwi (CZ)

TODO:

0C - zamknij drzwi (CZ)

TODO:

10 - sterowanie akcją w tle

TODO:

11 - sterowanie głośnością radia

TODO:

20 - otwórz menu modułu

TODO:

21 - otwórz ustawienia modułu/przełącz stronę

TODO:

22 - otwórz ekran silnika

TODO:

23 - otwórz ekran stanu DPF

TODO:

24 - otwórz ekran czujników parkowania

TODO:

25 - otwórz menu ECUInfo

TODO:

26 - otwórz menu OBD2

TODO:

70 - zasymuluj naciśniecie przycisku

TODO:

80-9F - własne zdefiniowane akcje

TODO:

A0-BF - akcje wbudowane

TODO:

293ModułPozostałePilnewszystkieLista zmian (change log)W trakcie
100%
Task Description

LWPM Comfort Module:

373ModułPozostałeNormalnyVectra-C FL / Signum FLSport w Vectra CNiepotwierdzony4
0%
Task Description

Działane jest coś w tym temacie? Jest to do zrobienia?

 389 ModułPozostałeNormalnyAstra-H / Zafira-B Kontrolka MIL Zamknięte
100%
Task Description

Witam jestem nowy i pytanko co to jest kontrolka MIL

 430 KonfiguratorPozostałeNormalnywszystkie Aktywacja dodatkowego wyjścia przy niskiej temperaturze Zamknięte1konfigurator
0%
Task Description

Potrzebna aktywacja wyjścia modułu przy zadanej temperaturze.
Moduł ma odczytać temperaturę z czujnika zewnętrznego i przy np.3 stopniach po zapaleniu silnika ma aktywować wyjście, które będzie załączać przekaźnik. Po przekroczeniu temperatury cieczy 50 stopni wyjście ma zostać dezaktywowane.
Funkcja ma służyć do podgrzewania cieczy w dieslu. Posiadam taką tylko załączać muszę ręcznie.
Da radę ogarnąć?

 465 ModułPozostałePilnewszystkie [video] test komunikacji Zamkniętelcm-next
100%
Task Description

Trzeba sprawdzić komunikację z wyświetlaczem w następujących konfiguracjach (zawsze z CID, ECC mile widziane):
- CDC40
- CDC40 + DAB
- CDC40 + UHP
- CDC40 + DAB + UHP
- CD70/DVD90 + UHP
- CD70/DVD90 - to już sam sprawdziłem
- inne radia, np CD50 PHONE, albo inne cuda jak ktoś ma

CD30 teoretycznie powinno też działać, ale czy ktoś używa CD30 + CID?

kto ma taką konfigurację, niech sprawdzi i da znać (wersja softu w wyświetlaczu mile widziana)

o co chodzi?
Trzeba sprawdzić czy moduł wideo będzie w stanie współpracować z modułem komfortu.
Jak to zrobić?
zainstalować tą wersję testową i sprawdzić. Jest to zwykłe v0.7b ze zmienionym kanałem komunikacji z CID.

Trzeba sprawdzić, czy żadne okienko nie znika przypadkiem, czy jest pełen dostęp do konfiguracji radia CDC40 itp)
Czy nie pojawiają się, albo nie znikły jakieś napisy w menu (modułu, albo radia)

Na pewno działa prawidłowo w konfiguracjach:
- CD70/DVD90 (CID: CE59, CD83)

 514 ModułPozostałeNormalnywszystkie Akcja Warunkowa: Temperatura Spalin Z19DTH Zamknięte
100%
Task Description

chcial bym zeby jak temperatura spalin (Sonda pierwsza bo sa dwie) wrasta poza 600 stopni zeby wlaczyl sie jakis komunikat w CIDzie

612KonfiguratorPozostałeNormalnyVectra-C FL / Signum FLGMLAN brak obsługi REC BCM UECNiepotwierdzony1konfigurator
0%
Task Description

Brak obsługi REC BCM UEC vectra C
( wysłane “wsparcie” z każdego modułu )

 29 ModułSugestiaNormalny akcja po otwarciu dla sprzetu 1.0 Zamknięte1
0%
Task Description

Moduł po wzbudzeniu sprawdza

1 czy zapalone jest oświetlenie tablicy rejestracyjnej
2 czy fizycznie zamknięte są drzwi i klapa bagażnika
3 czy nie jest włożony kluczyk w stacyjkę

jeśli

oświetlenie jest, drzwi/bagażnik zamknięte, kluczyk w kieszeni

to

uruchamia akcje np.SWIATŁA


przerwanie akcji to

1 wyłączenie się oświetlenia tablicy rejestracyjnej bo ona jest sterowana przez auto i zapala się po otwarciu auta
2 użycie przycisku pilota
3 włożenie kluczyka do stacyjki

kolejne uruchomienie akcji możliwe po zamknięciu auta

tablica zapala się też przy otwarciu klapy bagażnika trzeba to wziąć pod uwagę żeby akcja nie uruchomiła się ponownie po jej otwarciu

 45 KonfiguratorSugestiaNiski Nowe akcje do dodania Zamknięte1v0.2x8
100%
Task Description

1. Animacja świateł tył + kontrolka PEPS na zegarach - długość 1x

0000 05 5503041010 0C 51050100000000 5503040000 18 510501FC100600 0090 510501FC400600 0090 510501FC040600 0090 510501FC000604 0090 510501FC080600 0090 510501FC800600 0090 510501FC200600 0090 510501FC800600 0090 510501FC080600 0090 510501FC000604 0090 510501FC040600 0090 510501FC400600 0090

2 . Animacja przód + kontrolka PEPS na zegarach

0000 23 5503041010 5005023F000F00 010200 5005023F3F0F0F 010100 5005023F000F00 010200 16 5503040000 5005023F000F00 010200 50050200000000 24 5005023F000F04 0064 5005023F000F01 0064 5005023F040F00 0064 5005023F100F00 0064 5005023F010F00 0064 5005023F020F00 0064 5005023F200F00 0064 5005023F080F00 0064 5005023F000F02 0064 5005023F000F08 0064 5005023F000F02 0064 5005023F080F00 0064 5005023F200F00 0064 5005023F020F00 0064 5005023F010F00 0064 5005023F100F00 0064 5005023F040F00 0064 5005023F000F01 0064

3. Wszystkie kierunkowskazy

0000 00 0E 50050200000000 51050100000000 03 50050200000F0F 510501C0C00000 0103E8

 58 ModułSugestiaNiski Rozdzielenie oprogramowania na AH i VC Zamkniętev0.2x7
100%
Task Description

Trzeba rozdzielić oprogramowanie na co najmniej dwie wersje:
- AstraH/ZafiraB
- VectraC/Signum
- inne (np CorsaD)

póki co miejsca nie brakuje, ale przyszłość wydaje się być niepewna

 60 ModułSugestiaNormalny Napięcie na pasku ECC bez kropki Zamkniętev0.2x6
100%
Task Description

W miejscach gdzie nie jest możliwe wyświetlenie więcej niż 3 znaków można wyświetlić wartość bez kropki [125] zamiast [12.5], które jest przycinanie do [12.]
Kto sobie wybierze taką opcję będzie świadom jak to odczytać.

 62 ModułSugestiaNormalny Usunięcie zakładki z konfiguracją Zamkniętev0.2x7
100%
Task Description

łatwa możliwość jej wyłączenia w celu odzyskania trochę wolnej pamięci

dodatkowo możliwość usunięcia hot-keyów do konfiguracji

 64 ModułSugestiaNormalny wyłączenie zakładki DPF po wypaleniu Zamknięte2v0.2x8
100%
Task Description

obecnie zakładka wyłącza się w chwili zakończenia regeneracji żeby podejrzeć do ilu % się wypalił filtr trzeba wchodzić do modułu, gdyby zakładka wyłączała się np.po 10sec.?

 66 ModułSugestiaNormalnywszystkie Sterowanie akcjami / funkcjami z poziomu menu Zamknięte6v0.8
100%
Task Description

Dodanie menu, w którym będziemy mogli sterować (start, stop) niektórymi akcjami / funkcjami.

 72 KonfiguratorSugestiaNormalny Akcje dla Vectry C Zamkniętev0.2x8
100%
Task Description

Moze jakies animacje lub swiatla po zamknieciu i otwarciu auta dla Vectry C?

 89 ModułSugestiaNormalny Mozliwosc wylaczenia czujnikow PDC Zamknięte1v0.2x8
100%
Task Description

Mam ustawione ze czujniki wlaczaja sie same ponizej jakiej predkosci. Natomiast po zatrzymaniu nie idzie ich wylaczyc. Czasem siedze w odpalonym aucie na parkingu i ktos przechodzi obok auta to czujniki wariuja :D. Gdyby byla mozliwosc wylaczenia czujnikow na postoju lub zeby wylaczaly sie same gdy predkosc = 0km/h

 98 ModułSugestiaWysoki Zmaina sposobu wykrywania silnika Zamknięte1v0.2x9
100%
Task Description

zmiana mająca na celu odzyskanie nieco pamięci

102ModułSugestiaNormalnywszystkieDodatkowe parametry dla Z18XER w ECUINFONowy2
0%
Task Description

Proszę o dodanie odczytu parametrów zaznaczonych w załączniku do ECUINFO.

 106 ModułSugestiaNormalny Doswietlanie tylko przy wlaczonych swiatlach Zamknięte2
100%
Task Description

Proponuje dodac w opcjach mozliwosc ustawienia doswietlania skretow tylko przy zspalonych swiatlach, albo zrobic to poprostu na stale. Za dnia i tsk nie widac doswietlania. Oryginalne doswietlanie tez dziala dopiero po zalaczeniu swiatel, w trybie dziennym brak doswietlania.

 127 KonfiguratorSugestiaNormalnywszystkie Inne powiadomienie w Gear Shift Indicator Zamknięte8konfigurator
100%
Task Description

Czy jest możliwość dodania akcji np gdy bieg ma być przełączony na wyższy na CID pokazywała się strzałka do góry a gdy na niższy to strzałka w dół ?

 129 ModułSugestiaNormalnywszystkie ikona UHP Zamknięte6
0%
Task Description

Jeżeli możliwa, to zmiana ikony telefonu w zakładce UHP na inną, bardziej odpowiadającej prawdzie

 152 ModułSugestiaNiskiwszystkie Oprogramowanie odporne na błędy przy aktualizacji Zamkniętev0.4
100%
Task Description

wymagane jest oprogramowanie, które potrafi wytrzymać nieudaną aktualizację - w tym przerwaną aktualizację

155KonfiguratorSugestiaNormalnywszystkieRozdzielenie opcji komfortowego zamykania i otwierania ...Niepotwierdzony2
0%
 160 KonfiguratorSugestiaPilnewszystkie wyjście z okienek przez ESC Zamkniętekonfigurator
100%
 170 ModułSugestiaWysokiwszystkie uporządkowanie akcji wbudowanych Zamkniętev0.4
100%
 171 ModułSugestiaNormalnywszystkie Możliwość edycji w samochodzie glównej strony ObdII i E ...Zamknięte
0%
 178 ModułSugestiaNormalnywszystkie Nowe możliwości, rozbudowa ustawień, akcji Zamknięte1
0%
 184 KonfiguratorSugestiaNormalnywszystkie Długość akcji Zamknięte1v0.4
0%
 185 ModułSugestiaBłyskawiczniewszystkie Zmiana sposobu licencjonowania Zamkniętev0.4
100%
 189 ModułSugestiaNormalnywszystkie Przeniesienie kilku akcji do konfiguratora Zamkniętev0.4
100%
 192 KonfiguratorSugestiaNormalnywszystkie Sortowane oprorgamowania testowego Zamkniętekonfigurator
100%
 197 ModułSugestiaPilnewszystkie jeden wspólny bufor dla wszystkich GMLan oraz konfigura ...Zamkniętev0.4
100%
 201 ModułSugestiaNormalnyVectra-C FL / Signum FL Wszystkie kontrolki w NeedleSweep Zamkniętev0.4
100%
 212 ModułSugestiaNormalnyAstra-H / Zafira-B sterowanie C2D Zamknięte1v0.4a
100%
 216 ModułSugestiaNormalnywszystkie Zwiększenie szybkości MCU Zamkniętev0.5
100%
 217 KonfiguratorSugestiaNormalnywszystkie Możliwość zmiany nazwy właściciela licencji Zamkniętekonfigurator
100%
 225 ModułSugestiaNormalnyAstra-H / Zafira-B Dodatkowa akcja przełącznika świateł Zamknięte
0%
 236 ModułSugestiaNormalnywszystkie Tłumaczenie na inny język / Prepare firmware to be tran ...Zamknięte2
100%
 242 KonfiguratorSugestiaPilnewszystkie Informacja o podłączeniu do urządzenia sy,mulowanego Zamkniętekonfigurator
100%
 249 ModułSugestiaPilnewszystkie Automatyczny test wybudzania LSCAN przy starcie modułu Zamknięte1v0.5
100%
 271 ModułSugestiaNormalnyVectra-C / Signum PDC - włączane same przy małej prędkości Zamkniętev0.5c
100%
292ModułSugestiaNormalnyAstra-H / Zafira-BAkcja halogeny przednie + postojowe tylneNiepotwierdzony2
0%
296ModułSugestiaNormalnywszystkieOpis błędu silnikaNiepotwierdzony
0%
 297 ModułSugestiaPilnewszystkie Usunięcie identyfikatora diagnostycznego z silnika Zamkniętev0.6
100%
 304 ModułSugestiaNormalnyVectra-C FL / Signum FL Powrót tej samej zakładki po wylaczeniu okna cz. Parkow ...Zamknięte1v0.6a
100%
 308 ModułSugestiaPilnewszystkie Zmiana dźwięków CIM na nieblokujace Zamkniętev0.6a
100%
 313 ModułSugestiaNormalnyAstra-H / Zafira-B Ostrzeżenie o długotrwale wciśniętym pedale sprzęgła Zamknięte2konfigurator
100%
Pokazane zgłoszenia 501 - 550 z 601 Strona 11 z 13

Available keyboard shortcuts

Lista zgłoszeń

Task Details

Task Editing