Arduino OBDII KIT

Sto diventando matto.

Ho acquistato il kit in oggetto (Freematics OBD-II Adapter for Arduino | ArduinoDev.com), veramente un bel prodottino e funziona anche molto bene sulla mia toyota yaris.
Peccato che devo utilizzarlo sulla Moto Morini Granpasso, con centralina IAW5AM (protocollo OBD ISO9141-2)che essendo Marelli, parla una lingua tutta sua.

Dopo diverse peripezie sono riuscito a modificare le librerie OBD in modo da non ottenere più messaggi di errore, e in effetti riesco a collegarmi alla centralina ma ricevo dati solo dal PID RPM, sbagliati.
Volevo sapere se qualcuno di ferrato sull'argomento mi potesse dare una mano, sono veramente alla frutta.

in allegato i 2 file libreria e l'ino, qui c'è il doc tecnico di Marelli con le specifiche dei PID e le varie correzioni (non chiedete come l'abbia avuto)
https://drive.google.com/file/d/0B3Ity-dh5z6Pc1pKdDZyNUpwc0hGQWZ4Rm0wXzhaMWs5U2ZR/edit?usp=sharing

Grazie in anticipo ai buoni samaritani!

OBD.cpp (10.3 KB)

OBD.h (5.94 KB)

nanologger.ino (9.53 KB)

Ciao,
l'ISO9141 è molto diffuso e mi sembra strano che ti dia problemi di dati errati.

Hai provato ad usare un serial monitor e ad inviare tu i dati byte per byte?
Dovresti provare a collegarti col modulo OBDII al suo connettore e, magari usando l'arduino come convertitore seriale, dovresti potergli inviare singoli caratteri con qualche software come putty o teraterm. Fatto questo prova a testare le varie risposte seguendo i PID che trovi QUI e posta l'output qui che lo controlliamo insieme.

Grazie mille Dario e complimenti per la dashboard.

Ti allego il log sniffato da GuzziDiag, un software che permette di leggere i dati che mi interessano:

Per i PID, marelli ha dei PID diversi e temo che questa cosa generi un po' di confusione, li trovi nel documento allegato al primo post a pag 14

log seriale guzzidiag (1).mon (161 KB)

e non ha la PIDMAP