Discussion in 'OpenFormat' started by Tobi, Jun 6, 2014.

  1. Tobi

    Tobi New Member

    Hallo Dominik,

    ich versuche grade aus einem Atmel-Controller erzeugte serielle Daten über OF in Logview (aktuelles Update) einzulesen. Ich sende folgende Daten:

    $1;1;0;244;244;244;0 bzw. $1;1;;244;244;244;0

    Über Serial Port Terminal kann ich das lesen:

    [13:40:59,084][00:00,005][A] $1;1;0;244;244;244;0<CR><LF> bzw. $1;1;;244;244;244;0<CR><LF>

    Aber Logview sieht diese Daten (exemplarisch, denn die Form ändert sich ständig):

    13:22:53,573 [A] ø€øø€<NUL>€x<NUL>€x<NUL>€€x€øø€x€øø€<NUL>€øø€€€€<NUL>ø€xø€øø€€€€<NUL>ø€

    Die Simulation vom OpenformatEditor zeigt nur an, dass der Port geöffnet ist, Daten werden keine angezeigt.

    Eine ähnlicher Fehler wurde hier schon mal behandelt. Dein Tip war damals die DTR und RTS-Einstellungen in der INI zu prüfen - ich habe alle 4 Permutationen probiert - es hat keine Auswirkungen. Die Baudrate steht auf 9600 - sowohl in der INI wie auch durch die Programmierung festgelegt. Hast Du eine Idee, woran es liegen könnte?

    Schon jetzt vielen Dank und viele Grüsse

    Tobi

    Die INI sieht so aus:
    [Gerät]
    Name = Arduino
    Hersteller = Arduino
    Gruppe = 09
    Device_ID = ID_OPENFORMAT
    Used = 1
    Abbildung = OpenFormat.jpg
    ChangeSettings = 1
    HerstellerLink1 =
    HerstellerLink2 =
    LogViewLink =
    TimeStep_ms = 500
    TimeGiven = 0
    KanalAnzahl = 1
    WerteFormat = ASCII
    Prüfsummenberechnung = keine
    PrüfsummenFormat = ASCII
    AutoStart = 0
    AutoOpenToolbox = 0

    [Stati]
    StatiAnzahl = 1
    001 = ARDUINO

    [serielle Schnittstelle]
    Port = COM8
    Baudrate = 9600
    Datenbits = 8
    Stopbits = 0
    Parität = 0
    Flusskontrolle = 0
    ClusterSize = -100
    SetDTR = 0 <"1" auch getestet>
    SetRTS = 0 <"1" auch getestet>

    [Schnittstelle TimeOuts]
    RTOCharDelayTime = 1100
    RTOExtraDelayTime = 190
    WTOCharDelayTime = 1100
    WTOExtraDelayTime = 190

    [Anzeige Einstellungen Kanal 01]
    Zeitbasis = Zeit
    Einheit = s
    Symbol = t
    WerteAnzahl = 4

    Messgröße1 = Daten1
    Einheit1 =
    Symbol1 =
    Faktor1 =
    OffsetWert1 =
    OffsetSumme1 =

    Messgröße2 = Daten2
    Einheit2 =
    Symbol2 =
    Faktor2 =
    OffsetWert2 =
    OffsetSumme2 =

    Messgröße3 = Daten3
    Einheit3 =
    Symbol3 =
    Faktor3 =
    OffsetWert3 =
    OffsetSumme3 =

    Arduino-Code (habe ich von einem anderen Code-beispiel übernommen und modifiziert):

    #define xaxis 0
    #define yaxis 1
    #define zaxis 2
    int loop_cnt=0;
    byte accx,accy,accz;

    void setup() { Serial.begin(9600); }

    void loop() {
    if( loop_cnt > 100 ) { // every 100 msecs get new data
    loop_cnt = 0;
    accx = analogRead(0);
    accy = analogRead(0);
    accz = analogRead(0);

    //Datenausgabe LogView kompatibel
    Serial.print("$1;1;0;");
    //Serial.print("$1;1;;"); //alternativ getestet
    Serial.print((byte)accx,DEC);
    Serial.print(";");
    Serial.print((byte)accy,DEC);
    Serial.print(";");
    Serial.print((byte)accz,DEC);
    Serial.print(";");
    Serial.println("0");

    }
    loop_cnt++;
    delay(1);
    }
  2. Tobi

    Tobi New Member

    ...kaum macht man es richtig, schon gehts...
    Durch Zufall stiess ich eben erst auf die Info, dass es wichtig ist die INI im OpenFormat-Verzeichnis abzulegen. Das habe ich nun getan und schon klappt es.

    Dennoch taucht eine Frage auf. Im OpenFormat-Editor ist der kürzeste eingebbare Zeitschritt 100ms. Editiere ich die Datei über einen anderen Editor und setze den Wert weiter herab, so werden auch kürzere Werte akzeptiert und richtig (und vor Allem schneller) verarbeitet. Wäre es nicht sinnvoll diese Restriktion im OpenFormat-Editor herunterzusetzen?

    Viele Grüsse

    Tobi

Share This Page