Translate

27 März 2013

Emus Datenstrom auswerten Versuch 3 bis 27......

Puuuuuuhhhhhhhhh!!!!!!!!!!!!
Das war eine schwere Geburt...................
Aber jetzt scheint es zu laufen!!!!!!!!!!!

Ich hätte eigentlich die Steuerung des Chargers fertig machen sollen,
aber wenn einen so was wie diese Auswertung derart nervt, und man den Fehler
einfach nicht findet, dann hat man den Kopf auch nicht für andere Dinge frei.
Das musste jetzt einfach sein..........

Was und warum das nicht klappte erzähle ich hier demnächst im Detail,
aber jetzt will ich erst mal nach Hause...........

ganz kurz:
Ich habs jetzt mit gepufferten Eingang und dem
" If Ischarwaiting() = 1 Then
Goto Onrxd "-Verfahren geschafft,

alles was so richtig per Interrupt eingelesen hat führte zu Abstürzen
denen ich noch nicht völlig auf den Grund gehen konnte.

Ich habe die Auswertung auf das allernötigste reduziert, und
die eingelesenen Strings bzw nur deren Anfang ;-) in eigenständige
Strings gespeichert und bin dann sofort in die Leseroutine zurückgekehrt

alle Berechnungen sind jetzt im Hauptprogramm, und erst wenn einige
tausend Leerdurchläufe stattfanden (geht sehr schnell) wird häppchenweise ausgewertet
und zu guter Letzt  jede Zeile einzeln ins Display geschrieben.
immer wieder mit Pausen dazwischen, diese Pausen muss ich jetzt noch reduzieren,
aber wenn in der Hauptschleifen nur ein paar If-Then stehen wo eben nichts passiert
und gerade mal ein Zählwert erhöht wird, dann geht das sehr flott mit den 16 MHz.
wieder mal nicht ganz die "feine Art" , aber der Zweck heiligt hier die Mittel

das funkioniert jetzt bis zu einer lückenlosen Übertragung des gesamten Pakets
im Abstand von 150ms (im Emus ist meines Wissens 0,5s Standard)
Da ist ja noch Luft für viel mehr anzuzeigende Dinge!!!!!!!!!

Nachtrag 3.April: Ich denke da ganz besonders an die Anzeige des Seriell
aus Curtis-Controllern gesendeten Textes der normalerweise im Curtis840
angezeigt wird. Grundsätzlich ist das machbar mit einer zusätzlichen
seriellen "Software-Schnittstelle" Dass es klappt habe ich bereits erfolgreich
getestet, aber die beiden Programme zu einem zu verwurschteln ist nicht ganz so
einfach, das hebe ich mir einfach mal auf für später!Ende des Nachtrags

Ich habe auch gleich ein Wattuino Pro mini auf das EA DIP204
draufgesetzt und als Inverter einfach einen 6N137 Optokoppler genommen,
Der passt recht gut an die Programmieranschlüsse und galv. Trennung habe ich so
auch noch nebenbei.......(OK, ist nicht ganz korrekt,so zu invertieren, aber
wenns keine Allzuwichtigen Daten sind und ein Aussetzer nicht der
Weltuntergang ist, dann kann man es so machen)

Ich habe ja kein Emus BMS hier zur Verfügung, sondern muss alles simulieren
Um so richtig schnelle Daten zu bekommen habe ich den
Freeduino serial v2.0 zum Emus-Simulator umprogrammiert.
Der sendet mir jetzt ein komplettes Datenpaket so schnell er kann
und ändert dabei die Werte von Stron und SOC damit man da auch was sieht.
........Integer-Werte als HEX-Codierte Buchstaben zu schicken.......gibts eigentlich
noch was gemeineres? das war auch mit mehreren Anläufen verbunden!

von vorn




















und von hinten


 Mehr dazu demnächst!  














Keine Kommentare:

Kommentar veröffentlichen