<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hmm,</p>
    <p>ich habe dein Beispiel mal studiert und dann mit den
      Rückgabewerten gespielt. Die ersten Stufen laufen noch und dann
      steigt die lib bei der Überprüfung der Checksumme aus. Daraufhin
      habe ich mal mehrere SML-Blöcke in verschiedene Online CRC-Rechner
      kopiert. Leider kam nie die mitgelieferte Checksumme raus. Dann
      habe ich den esp8266 wieder direkt an den Lesekopf gehängt um das
      lange Kabel auszuschließen. Das veränderte aber nichts. <br>
    </p>
    <p>Ich verstehe die SML Spezifikation so:</p>
    <ul>
      <li>Die letzten 2 Bytes sind die Prüfsumme für die gesamte
        Übertragung.</li>
      <li>Berechnet wird vom ersten 0x1B bis einschließlich dem ersten
        Byte nach dem 0x1A. Also über alles ohne die Prüfsumme selbst.</li>
      <li>Berechnung erfolgt nach CRC16-CCITT<br>
      </li>
    </ul>
    <p>Kann das jemand bestätigen? Gibt es bei der Berechnungsart noch
      Varianten?</p>
    <p>---8<---</p>
    <p>Zu LibSML: wen kann ich dazu befragen? Leistungsschwach würde ich
      den ESP nicht nennen. Hier mal ein Auszug aus Wikipedia:</p>
    <p>
      <blockquote type="cite">Der <b>ESP8266</b> ist ein
        Ultra-low-Power-32-Bit-<a
          href="https://de.wikipedia.org/wiki/Mikrocontroller"
          title="Mikrocontroller">Mikrocontroller</a> der chinesischen
        Firma <a
href="https://de.wikipedia.org/w/index.php?title=Espressif&action=edit&redlink=1"
          class="new" title="Espressif (Seite nicht vorhanden)">espressif</a>.
        Der 32-Bit-Prozessorkern vom Typ <i>Xtensa LX106</i> von <a
href="https://de.wikipedia.org/w/index.php?title=Tensilica&action=edit&redlink=1"
          class="new" title="Tensilica (Seite nicht vorhanden)">Tensilica</a>
        arbeitet mit einem Systemtakt von 80–160 MHz, hat 64 kB <a
          href="https://de.wikipedia.org/wiki/Random-Access_Memory"
          title="Random-Access Memory">RAM</a> als Befehlspeicher, in
        den mehrere MB Flash-Speicher eingeblendet werden können <sup
          id="cite_ref-1" class="reference"><a
            href="https://de.wikipedia.org/wiki/ESP8266#cite_note-1">[1]</a></sup>,
        sowie 96 kB RAM als Datenspeicher, eine <a
          href="https://de.wikipedia.org/wiki/Serial_Peripheral_Interface"
          title="Serial Peripheral Interface">SPI-Schnittstelle</a> für
        <a href="https://de.wikipedia.org/wiki/Flash-Speicher"
          title="Flash-Speicher">Flash</a>-Speichererweiterungen (bis zu
        128 MBit) und integriertes <a
          href="https://de.wikipedia.org/wiki/WLAN" title="WLAN"
          class="mw-redirect">WLAN</a> IEEE 802.11 b/g/n. </blockquote>
      Gruß</p>
    <p>Tim<br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">Am 05.05.2016 um 08:35 schrieb Justin
      Otherguy:<br>
    </div>
    <blockquote
      cite="mid:CC5A5CAD-65C3-4CB0-A2AC-F8CBD40FCEAA@justinotherguy.org"
      type="cite"><br>
      <pre wrap="">ich würde gerne unterstützen - kann Dir Deine Fragen aber nicht beantworten.
Etwas historisches Wissen habe ich noch:
- die SMLlib wurde mit dem Ziel geschrieben, dass sie sich sowohl auf Linux übersetzen lässt als auch auf einem ATmega lauffähig ist
  -> Ziel war also, das Ding schlank zu halten
- Tobias hat sich m.E. seit dem initialen Commit auf github nicht mehr um den Code gekümmert
- er hatte mir damals (im Oktober 2011 - der Commit ist von Juni 2011) noch einen Tar-Ball geschickt, den lasse ich Dir per PM zukommen
- keine Ahnung, ob das hilft - Idee war glaube ich eine Implementierung für Flukso (<a class="moz-txt-link-freetext" href="http://flukso.net/">http://flukso.net/</a>) und zwar auf dem ATmega-basierten Tochter-Board

Wichtig erscheint mir noch:
wenn es eine Chance gibt, libsml statt SMLlib auf dem esp zum Laufen zu bekommen, wäre das m.E. sehr viel besser, weil:
- libsml ist inzwischen mit allen SML-basierten Zählern kompatibel, die uns unter gekommen sind
- libsml funktioniert und läuft stabil - auch da ist viel Zeit reingeflossen; das stünde SMLlib noch bevor - das hat den Status eines Prototypen
Aber: libsml wurde schon von Anfang an mit Linux als Zielplattform (und mit einem entsprechend leistungsfähigen System) konzipiert; daran könnte die Portierung von libsml scheitern.
Falls es mit libsml also nicht klappen will, wäre SMLlib auf dem esp auch ziemlich genial.

HTH.


Gruß, J.

</pre>
    </blockquote>
    <br>
  </body>
</html>