V některých případech přijde vhod automatická detekce rychlosti CAN sběrnice. Tato autodetekce se zapíná při konfiguraci FMS OEM CHIPu V7 /CAR2COM například takto:
$PCAN,C,SET,CA,...
Tedy za znakem C, kde je za normálních okolností uveden kód rychlosti, v tomto případě se ovšem vloží znak A.
Tuto volbu je možné nastavit i pro druhý – sekundární CAN bus. Tedy takto:
$PCAN,2,SET,CA,...
FMS OEM CHIP V7 po zapnutí začne testovat v režimu listen only možné rychlosti CANu. Každou rychlost ponechá nastavenou po dobu timeoutu. V případě že přečte korektní CAN zprávu, tuto rychlost CANu použije. Pokud žádnou zprávu nepřijme, použije další možnou rychlost. Pokud není žádná rychlost nalezena, použije se přednastavená rychlost a režim listen only.
Pro detekci rychlosti lze nastavit několik parametrů. Jedná se o:
- seznam testovaných rychlostí
- timeout pro testování každé rychlosti
- rychlost, která je použita pokud se nedetekuje žádná automaticky
Dotaz na seznam povolených rychlostí:
$PCAN,C,CAM,?,*2F
Odpověď nebo nastavení seznamu:
$PCAN,C,CAM,255,*22
Hodnota, v tomto případě 255 je maska povolených rychlosti. Každý bit odpovídá jedné rychlosti:
- 0b00000001 50k
- 0b00000010 83.3k
- 0b00000100 100k
- 0b00001000 125k
- 0b00010000 250k
- 0b00100000 500k
- 0b01000000 666.6k
- 0b10000000 1000k/1M
Chcete li, aby se testovaly pouze rychlosti 250 a 500k, nastavuje se hodnota 48, tedy:
$PCAN,C,CAM,48,*1C
Omezení seznamu testovaných rychlostí má vliv na rychlost detekce správné hodnoty. Například při timeoutu 5 sekund na každou rychlost a skutečné rychlosti CANu 500k je testováno při povolení všech 5 neplatných hodnot, každá s timeoutem 5 sekund. Celkově se pak ke správné hodnotě FMS OEM CHIP V7 dopracuje až po 25 sekundách od startu.
Pro přečtení a nastavení timeoutu pro každou rychlost lze použít tento příkaz:
Dotaz na nastavený timeout:
$PCAN,C,CAT,?,*36
Odpověď nebo nastavení hodnoty timeoutu v sekundách:
$PCAN,C,CAT,5,*3C
V praxi je možné nastavit i mnohem menší čas než výchozích 5 sekund.
Pokud by nedošlo k detekci žádné rychlosti, je možné nastavit defaultní hodnotu, která se použije společně s nastavením listen only.
Dotaz na nastavenou defaultní rychlost:
$PCAN,C,CAD,?,*26
Příklad odpovědi nebo nastavení hodnoty defaultní rychlosti:
$PCAN,C,CAD,250,*2E
Po autodetekci, pokud dojde k detekci rychlosti CAN sběrnice se parametr listen only nastaví, pokud byl nastaven příkazem SET. Parametr EXT se neřeší, čtou se oba formáty CAN zpráv (11 i 29 bitové).
Tak jako se nastavují parametry pro primární CAN, je možné nastavit parametry pomocí $PCAN,2,…. nastavit i pro sekundární CAN bus. Jakákoliv zpráva s nastavením, která dorazí po detekci rychlosti pak uloží detekovanou rychlost do FLASH paměti.
Všechna uvedená nastavení jsou k dispozici od verze firmware 2.79.