So weiter gehts.
Ich habe jetzt zuerst bei der MS RTC Einstellung die Daten gemäß Anleitung für den I/O Extender eingegeben.
Sprich:
- Remote CAN ID: 10
Table: 7
Offset: 110
Wenn ich jetzt über das Can Shield schaue was auf dem Bus liegt, zeigt er mir folgendes an:
Das CAN Datenpaket welches ich verschicke möchte sieht aktuell so aus:
Code: Alles auswählen
//Am Anfang:
byte Can_RTC[8] = {};
//In der Loop:
unsigned int sekunden=15;
unsigned int minuten=14;
unsigned int stunden=13;
unsigned int tag=26;
unsigned int monat=7;
unsigned int jahr=2015;
Can_RTC[0] = sekunden;
Can_RTC[1] = minuten;
Can_RTC[2] = stunden;
Can_RTC[3] = 0;
Can_RTC[4] = tag;
Can_RTC[5] = monat;
Can_RTC[6] = (char)(jahr >> 0x08);
Can_RTC[7] = (char)(jahr & 0xFF);
Jetzt stelle sich die Frage wie ich die Daten genau schicken muss, wegen 29bit Header.
Zuerst die ID
Extendet Frame: 1 // Das sollte ja theoretisch für einen 29bit header stehen. Ist das dann auch vom Aufbau der gleiche, welchen die Megasquirt möchte?
Data Lenght: 8 // Sollte ja auch hier das Maximum sein. Verstehe das mit dem Table und Offset noch nicht ganz. Gibt der nur an wo die MS die Daten ablegt oder auch wo in der Nachricht die Daten enthalten sind?
Zusammengesetzt bei meinem Shield also:
CAN.sendMsgBuf(0x(ID!), 1, 8, Can_RTC);
Bei der ID blicke ich ehrlich gesagt noch nicht durch. Welche ich da jetzt angeben soll.
Die ID welche die MS abfragt sollte ja dann die 56 sein, welche ich abfange (siehe oben)
Wie gehe ich jetzt richtig vor?
Dein Excel Sheet öffnen "Data to ID", jetzt wie folgt eingeben?
- From ID: 0
To ID: 56
Table: 7
Offset: 110
??
Dann würde ich folgende HEX-ID für den BUS bekommen: 1B91C38
Wenn ich die jetzt bei meiner Send-Message eintrage, klappt das aber noch nicht. Schätze ich muss hier anders vorgehen.
Auch wenn ich jetzt das Data Paket von der Ms analaysiere:
Mit deiner Info:
Byte 0 = Table in der MS
Byte 1 und Teile von Byte 2 sind der Offset in der MS
Die ersten 4 Bits von byte 2 sind die Anzahl der Bytes die du senden sollst.
Byte 0 stimmt ja schon mal mit dem Table Wert überein, welchen in beim RTC Setting festgelegt habe. Aber aus dem Rest werde ich nicht schlau.