Bitte um Unterstützung bei der Programmierung
Verfasst: Sa 26. Jun 2010, 19:43
Hallo an alle Hive-Fans!
Ich habe jetzt auch das TRIOS (mit den Korrekturen von Frida) bei mir am Laufen und freue mich über den neuen Komfort.
Der "free"-Befehl zur SD-Karten-Speicherplatz-Abfrage hatte bei mir 80-160 (1. Anzeigezeile bis 3. Anzeigezeile) sec gedauert.
Das kam mir doch recht lange vor. Nach der Korrektur ist die Anzeige jedoch sofort da ;>).
Was mir auffällt ist, das es im IOS die Funktion "sdeof" (zur Datei-Ende-Erkennung) nicht mehr gibt.
Durch welche Funktion ist diese ersetzt wurden oder wie kann ich diese ersetzen, da ich unbedingt die Abfrage eines Datei-Endes benötige?
Könnt Ihr mir bitte auch einen Tip geben, was der Backslash in den nachfolgenden gekennzeichneten Programmausschnitt genau bewirkt! Habe da im Moment ein großes Verständnisproblem (die Beschreibung im Propeller-Manual alias ABORT-Befehl hat mir nicht wirklich weitergeholfen).
PUB sd_mount | err 'sdcard: sd-card mounten
''funktionsgruppe : sdcard
''funktion : eingelegtes volume mounten
''eingabe : -
''ausgabe : -
''busprotokoll : [001][put.error]
'' : error - fehlernummer entspr. list
err := \sdfat.mountPartition(0,0) 'karte mounten
siglow(err)
bus_putchar(err) 'fehlerstatus senden
ifnot err
dmarker[RMARKER] := sdfat.getDirCluster 'root-marker setzen
err := \sdfat.changeDirectory(string("system"))
ifnot err
dmarker[SMARKER] := sdfat.getDirCluster 'system-marker setzen
sdfat.setDirCluster(dmarker[RMARKER]) 'root-marker wieder aktivieren
hss.sfx_play(1, @SoundFX8) 'on-sound
PUB sd_opendir | err 'sdcard: verzeichnis öffnen
''funktionsgruppe : sdcard
''funktion : verzeichnis öffnen
''eingabe : -
''ausgabe : -
''busprotokoll : [002]
err := \sdfat.listReset
siglow(err)
PUB sd_nextfile | flag,i,len,strpt 'sdcard: nächsten eintrag aus verzeichnis holen
''funktionsgruppe : sdcard
''funktion : nächsten eintrag aus verzeichnis holen
''eingabe : -
''ausgabe : -
''busprotokoll : [003][put.status=0]
'' : [003][put.status=1][sub_putstr.fn]
'' : status - 1 = gültiger eintrag
'' : 0 = es folgt kein eintrag mehr
'' : fn - verzeichniseintrag string
strpt := \sdfat.listName 'nächsten eintrag holen
if strpt 'status senden
bus_putchar(1) 'kein eintrag mehr
sub_putstr(strpt)
else
bus_putchar(0) 'gültiger eintrag folgt
PUB sd_open | err,modus,len,i 'sdcard: datei öffnen
''funktionsgruppe : sdcard
''funktion : eine bestehende datei öffnen
''eingabe : -
''ausgabe : -
''busprotokoll : [004][get.modus][sub_getstr.fn][put.error]
'' : modus - "A" Append, "W" Write, "R" Read
'' : fn - name der datei
'' : error - fehlernummer entspr. list
modus := bus_getchar 'modus empfangen
sub_getstr
err := \sdfat.openFile(@tbuf, modus)
sighigh(err) 'fehleranzeige
bus_putchar(err) 'ergebnis der operation senden
outa[LED_OPEN] := 1
Viele Grüße von Steffen
*** Drohne 98 ***
Ich habe jetzt auch das TRIOS (mit den Korrekturen von Frida) bei mir am Laufen und freue mich über den neuen Komfort.
Der "free"-Befehl zur SD-Karten-Speicherplatz-Abfrage hatte bei mir 80-160 (1. Anzeigezeile bis 3. Anzeigezeile) sec gedauert.
Das kam mir doch recht lange vor. Nach der Korrektur ist die Anzeige jedoch sofort da ;>).
Was mir auffällt ist, das es im IOS die Funktion "sdeof" (zur Datei-Ende-Erkennung) nicht mehr gibt.
Durch welche Funktion ist diese ersetzt wurden oder wie kann ich diese ersetzen, da ich unbedingt die Abfrage eines Datei-Endes benötige?
Könnt Ihr mir bitte auch einen Tip geben, was der Backslash in den nachfolgenden gekennzeichneten Programmausschnitt genau bewirkt! Habe da im Moment ein großes Verständnisproblem (die Beschreibung im Propeller-Manual alias ABORT-Befehl hat mir nicht wirklich weitergeholfen).
PUB sd_mount | err 'sdcard: sd-card mounten
''funktionsgruppe : sdcard
''funktion : eingelegtes volume mounten
''eingabe : -
''ausgabe : -
''busprotokoll : [001][put.error]
'' : error - fehlernummer entspr. list
err := \sdfat.mountPartition(0,0) 'karte mounten
siglow(err)
bus_putchar(err) 'fehlerstatus senden
ifnot err
dmarker[RMARKER] := sdfat.getDirCluster 'root-marker setzen
err := \sdfat.changeDirectory(string("system"))
ifnot err
dmarker[SMARKER] := sdfat.getDirCluster 'system-marker setzen
sdfat.setDirCluster(dmarker[RMARKER]) 'root-marker wieder aktivieren
hss.sfx_play(1, @SoundFX8) 'on-sound
PUB sd_opendir | err 'sdcard: verzeichnis öffnen
''funktionsgruppe : sdcard
''funktion : verzeichnis öffnen
''eingabe : -
''ausgabe : -
''busprotokoll : [002]
err := \sdfat.listReset
siglow(err)
PUB sd_nextfile | flag,i,len,strpt 'sdcard: nächsten eintrag aus verzeichnis holen
''funktionsgruppe : sdcard
''funktion : nächsten eintrag aus verzeichnis holen
''eingabe : -
''ausgabe : -
''busprotokoll : [003][put.status=0]
'' : [003][put.status=1][sub_putstr.fn]
'' : status - 1 = gültiger eintrag
'' : 0 = es folgt kein eintrag mehr
'' : fn - verzeichniseintrag string
strpt := \sdfat.listName 'nächsten eintrag holen
if strpt 'status senden
bus_putchar(1) 'kein eintrag mehr
sub_putstr(strpt)
else
bus_putchar(0) 'gültiger eintrag folgt
PUB sd_open | err,modus,len,i 'sdcard: datei öffnen
''funktionsgruppe : sdcard
''funktion : eine bestehende datei öffnen
''eingabe : -
''ausgabe : -
''busprotokoll : [004][get.modus][sub_getstr.fn][put.error]
'' : modus - "A" Append, "W" Write, "R" Read
'' : fn - name der datei
'' : error - fehlernummer entspr. list
modus := bus_getchar 'modus empfangen
sub_getstr
err := \sdfat.openFile(@tbuf, modus)
sighigh(err) 'fehleranzeige
bus_putchar(err) 'ergebnis der operation senden
outa[LED_OPEN] := 1
Viele Grüße von Steffen
*** Drohne 98 ***