Files auf der SD-Card #F
Befehlsgruppe um Dateizugriffe zu realisieren
Ordner
Ordner erstellen (File Directory Create) |
<Pfad> |
|
Ordner löschen (File Directory Delete) |
<Pfad>, Löschen |
|
Arbeitsverzeichnis setzen (File Directory Set) |
<Pfad> |
|
Arbeitsverzeichnis senden (File Directory Get) |
||
Alle Ordner und Dateien des Verzeichnisses senden (File Directory Read binary) |
<Pfad> (aktuelles Arbeitsverzeichnis) |
|
Alle Ordner und Dateien des Verzeichnisses senden (ASCII) (File Directory read Ascii) |
<Pfad> (aktuelles Arbeitsverzeichnis) |
|
Alle Ordner des Verzeichnisses senden (File Directory read dironly List) |
<Pfad> (aktuelles Arbeitsverzeichnis) |
Dateien
Datei zum schreiben öffnen (File Write Open) |
<Dateiname>, Position [32-Bit] (Ende), Truncate(1) |
|
Datei schließen (Schreiboperation) (File Write Close) |
||
Schreibposition von Datei setzen (File Write Position) |
Position [32-Bit] |
|
Daten in die Datei schreiben (File Write Data binary) |
Anzahl [32-Bit], Binäre Daten |
|
ASCII-String in die Datei schreiben (File Write Ascii) |
"String" |
|
Unicode-String in die Datei schreiben (File Write Unicode) |
"String" |
|
Registerwerte in die Datei schreiben (File Write Register) |
Register-ID, ... |
|
Stringregister in die Datei schreiben (File Write Stringregister) |
String-ID, ... |
|
Array in die Datei schreiben (File Write Array) |
Array-ID, ... |
|
Binärdaten aus Register in die Datei schreiben (File Write Register binary) |
Typ, Register-ID, Register-ID+1, ... |
|
Binärdaten aus numerischen Array in die Datei schreiben (File Write numeric Array binary) |
Typ, Array-ID, Startindex(0), Anzahl(1), ... |
|
Binärdaten aus Stringarray in die Datei schreiben (File Write Stringarray binary) |
Array-ID, Startindex(0), Anzahl(1), ... |
|
Datei zum lesen öffnen (File Read Open) |
<Dateiname>, Position [32-Bit] (Anfang) |
|
Datei schließen (Leseoperation) (File Read Close) |
||
Leseposition von Datei setzen (File Read Position) |
Position [32-Bit] |
|
Daten lesen und senden (File Read Data binary) |
Anzahl [32-Bit] (ganze Datei) |
|
ASCII-String lesen und in ein Stringregister schreiben (File Read Ascii) |
String-ID, ... |
|
Unicode-String lesen und in ein Stringregister schreiben (File Read Unicode) |
String-ID, ... |
|
Daten in ein Register laden (File Read Register) |
Register-ID, ... |
|
Daten in ein Stringregister laden (File Read Stringregister) |
String-ID, ... |
|
Daten lesen (8-Bit) und in ein Stringregister schreiben (File Read Bytes to stringregister) |
String-ID, Anzahl, Anzahl [ID+1],... |
|
Daten lesen (16-Bit) und in ein Stringregister schreiben (File Read Words to stringregister) |
String-ID, Anzahl, Anzahl [ID+1],... |
|
Daten in ein Array laden (File Read Array) |
Array-ID, ... |
|
Binäre Daten lesen und in ein Register schreiben (File Read binary Data to register) |
Typ, Register-ID, Register-ID+1, ... |
|
Binäre Daten lesen und in ein numerisches Array schreiben (File Read binary Data to numeric array) |
Typ, Array-ID, Startindex(0), Anzahl(1), . |
|
Binäre Daten lesen und in ein Stringarray schreiben (File Read binary Data to string array) |
Array-ID, Startindex(0), Anzahl(1), ... |
|
Datei löschen (File File Delete) |
<Dateiname> |
Allgemeine Befehle
Datei/Ordner Information senden (File File Info) |
<Pfad> (aktuelles Arbeitsverzeichnis) |
|
Datei/Ordner umbenennen (File File Rename) |
<Pfad>, <Neuer Dateiname>, Replace (0) |
|
Datei/Ordner kopieren (File File Copy) |
<Pfad>, <Neuer Pfad>, Replace (0) |
|
Datei/Ordner verschieben (File File Move) |
<Pfad>, <Neuer Pfad>, Replace (0) |
|
Zeitstempel von Datei/Ordner ändern (File change Timestamp) |
<Pfad>, Zeit, Datum |
|
Attribute von Datei/Ordner ändern (File change Attribut) |
<Pfad>, Attribut |
|
Dateinamen in ein Stringregister laden (File Names Files to stringregister) |
<Pfad> (aktuelles Arbeitsverzeichnis), ID (1) |
|
Unterverzeichnisse in ein Stringregister laden (File Names Directory to stringregister) |
<Pfad> (aktuelles Arbeitsverzeichnis), ID (1) |
|
Dateinamen in ein Stringarray laden (File Names Files to stringarray) |
Array-ID, SchreibPointer(0), <Pfad>, Regex-ID |
|
Unterverzeichnisse in ein Stringarray laden (File Names Directory to stringarray) |
Array-ID, SchreibPointer(0), <Pfad>, Regex-ID |
|
Verschlüsselung aufheben (File Kryption Format) |
<Format.all> |
Ordner
#FDC |
<Pfad> |
Der Befehl legt einen neuen Ordner an. Der Parameter <Pfad> gibt den Namen und den Ort an.
... #FDC <Project/NewPath> ... |
#FDD |
<Pfad>, Löschen |
Der Befehl löscht einen Ordner. Der Parameter <Pfad> gibt den Namen und den Ort an.
Löschen |
|
0 |
Ordner mit Inhalt wird gelöscht |
1 |
Nur der Inhalt wird gelöscht |
... #FDD <Project/NewPath>,0 ... |
#FDS |
<Pfad> |
Der Befehl setzt das aktuelle Arbeitsverzeichnis. Mit dem Pfad </> erreicht man das Root-Verzeichnis.
... #FDS <Project> ... |
#FDG |
|
Der Befehl stellt das aktuelle Arbeitsverzeichnis in den Sendepuffer. Die Rückmeldung ist folgendermaßen aufgebaut:
ESC |
F |
D |
G |
Pfad |
... |
|
$1B |
$46 |
$44 |
$47 |
'String' mit $00 abgeschlossen |
Alle Ordner und Dateien des Verzeichnisses senden
#FDR |
<Pfad> (aktuelles Arbeitsverzeichnis) |
Der Befehl stellt alle Ordner und Dateien des aktuellen Arbeitsverzeichnisses in den Sendepuffer. Die Rückmeldung ist folgendermaßen aufgebaut:
ESC |
F |
D |
R |
Verzeichnis-/ Dateiname |
Größe |
Attribut |
Zeit |
Datum |
... |
Abschluss |
$1B |
$46 |
$44 |
$52 |
'String' mit $00 abgeschlossen |
32-Bit Wert |
8-Bit Wert |
16-Bit Wert |
16-Bit Wert |
$00 |
Attribut |
|
$01 |
Schreibgeschützt |
$02 |
Versteckt |
$04 |
System |
$20 |
Archiv |
... #FDR ... |
Alle Ordner und Dateien des Verzeichnisses senden (ASCII)
#FDA |
<Pfad> (aktuelles Arbeitsverzeichnis) |
Der Befehl stellt alle Ordner und Dateien des aktuellen Arbeitsverzeichnisses als ASCII Strings in den Sendepuffer.
ESC |
F |
D |
A |
String |
Abschluss |
... |
$1B |
$46 |
$44 |
$41 |
Größe, Attribut, Zeit, Datum, Name |
CRLF |
... #FDA ... |
Alle Ordner des Verzeichnisses senden
#FDL |
<Pfad> (aktuelles Arbeitsverzeichnis) |
Der Befehl stellt alle Ordner des aktuellen Arbeitsverzeichnisses in den Sendepuffer. Die Rückmeldung ist folgendermaßen aufgebaut:
# |
F |
D |
L |
Verzeichnisname |
... |
Abschluss |
|
$1B |
$46 |
$44 |
$4C |
'String' mit $00 abgeschlossen |
$00 |
Dateien
#FWO |
<Dateiname>, Position [32-Bit] (Ende), Truncate(1) |
Der Befehl öffnet (nur schreiben) bzw. erstellt eine Datei. Der Parameter Position (32-Bit Wert) gibt die Stelle in der Datei an, an die geschrieben werden soll.
Truncate |
|
0 |
Daten überschreiben |
1 |
Daten werden gelöscht |
Datei schließen (Schreiboperation)
#FWC |
|
Der Befehl schließt eine geöffnete Datei (Schreiboperation). Der Schreibvorgang wird abgeschlossen und es wird sichergestellt, dass alle Daten geschrieben worden sind.
Schreibposition von Datei setzen
#FWP |
Position [32-Bit] |
Der Befehl setzt die Schreib-Position (32-Bit Wert) an die bestimmte Stelle in der Datei. Bei einem Wert <0 wird die Postion vom Dateiende aus berechnet
Siehe auch fposW()
#FWD |
Anzahl [32-Bit], Binäre Daten |
Der Befehl schreibt eine Anzahl (32-Bit Wert) an Binären Daten in die geöffnete Datei. Für die Makroprogrammierung ist dieser Befehl ungeeignet. Er dient zur Übertagung von binären Daten über die Schnittstelle.
ASCII-String in die Datei schreiben
#FWA |
"String" |
Mit dem Befehl wird ein ASCII-String (8 Bit pro Zeichen) in die geöffnete Datei geschrieben.
... #FWO <Project/File.txt> #FWA "Hello World" #FWC ... |
Unicode-String in die Datei schreiben
#FWU |
"String" |
Mit dem Befehl wird ein Unicode-String (16 Bit pro Zeichen) in die geöffnete Datei geschrieben.
... #FWO <Project/File.txt> #FWU "Hello World" #FWC ... |
Registerwerte in die Datei schreiben
#FWR |
Register-ID, ... |
Mit dem Befehl wird der Registerwert (Register-ID) in die geöffnete Datei geschrieben. Ausgelesen werden kann der Wert mit dem Befehl #FRR. Für jedes Register werden 5 Bytes benötigt.
Stringregister in die Datei schreiben
#FWS |
String-ID, ... |
Mit dem Befehl wird der Inhalt des Stringregisters (String-ID) in die geöffnete Datei geschrieben. Ausgelesen werden kann der String mit dem Befehl #FRS. Für jedes Register werden 2·(n+1) Bytes (n=Anzahl der Buchstaben) benötigt.
Array in die Datei schreiben (ab V1.4)
#FWY |
Array-ID, ... |
Mit dem Befehl wird der Inhalt des Arrays (Array-ID) in die geöffnete Datei geschrieben. Ausgelesen werden kann der String mit dem Befehl #FRY. Für jedes Integer oder Float Array werden 6+4·n Bytes (n=Länge des Arrays) benötigt. Ein Unicode StringArray benötigt 11+ Maximale Entrysize * Länge des Arrays Bytes.
Binärdaten aus Register in die Datei schreiben (ab V1.7)
#FWV |
Typ, Register-ID, Register-ID+1, ... |
Mit dem Befehl wird der Inhalt des Registers (Register-ID) im Binärformat in die geöffnete Datei geschrieben. Ausgelesen werden kann das Register mit dem Befehl #FRV.
Typ |
|||
7 |
Signed Byte |
1 Byte |
little endian |
8 |
Unsigned Byte |
1 Byte |
|
15 |
Signed Integer |
2 Byte |
|
16 |
Unsigned Integer |
2 Byte |
|
23 |
Signed Integer |
3 Byte |
|
24 |
Unsigned Integer |
3 Byte |
|
31 |
Signed Integer |
4 Byte |
|
32 |
Unsigned Integer |
4 Byte |
|
33 |
Float |
4 Byte |
|
115 |
Signed Integer |
2 Byte |
big endian |
116 |
Unsigned Integer |
2 Byte |
|
123 |
Signed Integer |
3 Byte |
|
124 |
Unsigned Integer |
3 Byte |
|
131 |
Signed Integer |
4 Byte |
|
132 |
Unsigned Integer |
4 Byte |
|
133 |
Float |
4 Byte |
Binärdaten aus numerischen Array in die Datei schreiben (ab V1.7)
#FWX |
Typ, Array-ID, Startindex(0), Anzahl(1), ... |
Mit dem Befehl wird der Inhalt eines numerischen Arrays (Array-ID) im Binärformat in die geöffnete Datei geschrieben. Ausgelesen werden kann das numerische Array mit dem Befehl #FRX.
Typ |
|||
7 |
Signed Byte |
1 Byte |
little endian |
8 |
Unsigned Byte |
1 Byte |
|
15 |
Signed Integer |
2 Byte |
|
16 |
Unsigned Integer |
2 Byte |
|
23 |
Signed Integer |
3 Byte |
|
24 |
Unsigned Integer |
3 Byte |
|
31 |
Signed Integer |
4 Byte |
|
32 |
Unsigned Integer |
4 Byte |
|
33 |
Float |
4 Byte |
|
115 |
Signed Integer |
2 Byte |
big endian |
116 |
Unsigned Integer |
2 Byte |
|
123 |
Signed Integer |
3 Byte |
|
124 |
Unsigned Integer |
3 Byte |
|
131 |
Signed Integer |
4 Byte |
|
132 |
Unsigned Integer |
4 Byte |
|
133 |
Float |
4 Byte |
Binärdaten aus Stringarray in die Datei schreiben (ab V1.7)
#FWQ |
Array-ID, Startindex(0), Anzahl(1), .. |
Mit dem Befehl wird der Inhalt eines Stringarrays (Array-ID) im Binärformat in die geöffnete Datei geschrieben. Ausgelesen werden kann das Stringarray mit dem Befehl #FRQ.
#FRO |
<Dateiname>, Position [32-Bit] (Anfang) |
Der Befehl öffnet (nur lesen) eine Datei. Der Parameter Position (32-Bit Wert) gibt die Stelle in der Datei an, ab der gelesen werden soll.
Datei schließen (Leseoperation)
#FRC |
|
Der Befehl schließt eine geöffnete Datei (Leseoperation).
#FRP |
Position [32-Bit] |
Der Befehl setzt die Lese-Position (32-Bit Wert) an die bestimmte Stelle in der Datei. Bei einem Wert <0 wird die Postion vom Dateiende aus berechnet
Siehe auch fposR()
#FRD |
Anzahl [32-Bit] (ganze Datei) |
Der Befehl liest eine Anzahl (32-Bit Wert) an Bytes aus der geöffneten Datei aus und stellt die Daten in den Sendepuffer. Die Rückmeldung ist folgendermaßen aufgebaut:
ESC |
F |
R |
D |
Anzahl |
Daten 1 |
Daten 2 |
... |
Daten n |
... |
|
$1B |
$46 |
$52 |
$44 |
32-Bit Wert |
8-Bit Wert |
8-Bit Wert |
8-Bit Wert |
ASCII-String lesen und in ein Stringregister schreiben
#FRA |
String-ID, ... |
Mit dem Befehl wird ein ASCII-String (8 Bit pro Zeichen) bis zum Zeichen "\n" gelesen und in ein Stringregister (String-ID) gespeichert.
Unicode-String lesen und in ein Stringregister schreiben
#FRU |
String-ID, ... |
Mit dem Befehl wird ein Unicode-String (16 Bit pro Zeichen) bis zum Zeichen "\n" gelesen und in ein Stringregister (String-ID) gespeichert.
#FRR |
Register-ID, ... |
Der Befehl liest ein mit #FRW geschriebenes Register zurück und speichert es in das Register (Register-ID).
Daten in ein Stringregister laden
#FRS |
String-ID, ... |
Der Befehl liest ein mit #FRS geschriebenes Stringregister zurück und speichert es in das Stringregister (String-ID).
Daten lesen (8-Bit) und in ein Stringregister schreiben
#FRB |
String-ID, Anzahl, Anzahl [ID+1],... |
Der Befehl liest eine beliebige Anzahl (1...250) an Bytes und speichert es in das Stringregister (String-ID).
Daten lesen (16-Bit) und in ein Stringregister schreiben
#FRW |
String-ID, Anzahl, Anzahl [ID+1],... |
Der Befehl liest eine beliebige Anzahl (1...250) an Words und speichert es in das Stringregister (String-ID).
Daten in ein Array laden (ab V1.4)
#FRY |
Array-ID, ... |
Der Befehl liest ein mit #FWY geschriebenes Array zurück und speichert es in das Array (Array-ID).
Binäre Daten lesen und in ein Register schreiben (ab V1.7)
#FRV |
Typ, Register-ID, Register-ID+1, ... |
Der Befehl liest ein mit #FWV binär geschriebenes Register zurück und speichert es in das Register (Register-ID).
Typ |
|||
7 |
Signed Byte |
1 Byte |
little endian |
8 |
Unsigned Byte |
1 Byte |
|
15 |
Signed Integer |
2 Byte |
|
16 |
Unsigned Integer |
2 Byte |
|
23 |
Signed Integer |
3 Byte |
|
24 |
Unsigned Integer |
3 Byte |
|
31 |
Signed Integer |
4 Byte |
|
32 |
Unsigned Integer |
4 Byte |
|
33 |
Float |
4 Byte |
|
115 |
Signed Integer |
2 Byte |
big endian |
116 |
Unsigned Integer |
2 Byte |
|
123 |
Signed Integer |
3 Byte |
|
124 |
Unsigned Integer |
3 Byte |
|
131 |
Signed Integer |
4 Byte |
|
132 |
Unsigned Integer |
4 Byte |
|
133 |
Float |
4 Byte |
Binäre Daten lesen und in ein numerisches Array schreiben (ab V1.7)
#FRX |
Typ, Array-ID, Startindex(0), Anzahl(1), ... |
Der Befehl liest ein mit #FWX binär geschriebenes numerisches Array zurück und speichert es in das Array (Array-ID).
Typ |
|||
7 |
Signed Byte |
1 Byte |
little endian |
8 |
Unsigned Byte |
1 Byte |
|
15 |
Signed Integer |
2 Byte |
|
16 |
Unsigned Integer |
2 Byte |
|
23 |
Signed Integer |
3 Byte |
|
24 |
Unsigned Integer |
3 Byte |
|
31 |
Signed Integer |
4 Byte |
|
32 |
Unsigned Integer |
4 Byte |
|
33 |
Float |
4 Byte |
|
115 |
Signed Integer |
2 Byte |
big endian |
116 |
Unsigned Integer |
2 Byte |
|
123 |
Signed Integer |
3 Byte |
|
124 |
Unsigned Integer |
3 Byte |
|
131 |
Signed Integer |
4 Byte |
|
132 |
Unsigned Integer |
4 Byte |
|
133 |
Float |
4 Byte |
Binäre Daten lesen und in ein Stringarray schreiben (ab V1.7)
#FRQ |
Array-ID, Startindex(0), Anzahl(1), .. |
Der Befehl liest ein mit #FWQ binär geschriebenes Stringarray zurück und speichert es in das Array (Array-ID).
#FFD |
<Dateiname> |
Der Befehl löscht die Datei (<Dateiname>)
Allgemeine Befehle
Datei/Ordner Information senden
#FFI |
<Pfad> (aktuelles Arbeitsverzeichnis) |
Der Befehl stellt alle Informationen über den Ordner / die Datei (wie z.B. Zeitstempel, Größe) in den Sendepuffer. Sollte der Ordner / die Datei nicht vorhanden sein, wird ein Leerstring zurückgegeben, die restlichen Parameter werden nicht mehr übertragen. Die Rückmeldung ist folgendermaßen aufgebaut:
ESC |
F |
F |
I |
Verzeichnis-/ Dateiname |
Größe |
Attribut |
Zeit |
Datum |
... |
|
$1B |
$46 |
$46 |
$49 |
'String' mit $00 abgeschlossen |
32-Bit Wert |
8-Bit Wert |
16-Bit Wert |
16-Bit Wert |
Siehe auch fileS(), fileA(), fileT()
#FFR |
<Pfad>, <Neuer Dateiname>, Replace (0) |
Der Befehl ändert den angegeben <Pfad> in ein neuen Namen (<Neuer Dateiname> ist nur der neue Name, ohne Pfad).
Replace |
|
0 |
Nicht umbenennen wenn Ordner/Datei bereits vorhanden |
1 |
Vorhandenen Ordner/Datei löschen und dann umbenennen |
#FFC |
<Pfad>, <Neuer Pfad>, Replace (0) |
Der Befehl kopiert den angegeben Ordner, die angegebene Datei (<Pfad>) an einen neuen Ort (<Neuer Pfad>).
Replace |
|
0 |
Nicht umbenennen wenn Ordner/Datei bereits vorhanden |
1 |
Vorhandenen Ordner/Datei löschen und dann umbenennen |
#FFM |
<Pfad>, <Neuer Pfad>, Replace (0) |
Der Befehl verschiebt den angegeben Ordner, die angegebene Datei (<Pfad>) an einen neuen Ort (<Neuer Pfad>).
Replace |
|
0 |
Nicht umbenennen wenn Ordner/Datei bereits vorhanden |
1 |
Vorhandenen Ordner/Datei löschen und dann umbenennen |
Zeitstempel von Datei/Ordner ändern
#FFT |
<Pfad>, Zeit, Datum |
Der Befehl ändert den Zeitstempel des Ordners, bzw. der Datei (<Pfad>):
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Zeit |
Stunde [0...23] |
Minute [0...59] |
Sekunde/2 [0...29] |
|||||||||||||
Datum |
Jahr (ab 1.1.1980 0:0:0 Uhr) [0...127] |
Monat [1...12] |
Tag [1...31] |
Umrechnungsbeispiel:
Zeit = (Stunde<<11) + (Minute<<5) + (Sekunde>>1);
Datum = ((Jahr-1980)<<9) + (Monat<<5) + Tag;
Siehe auch fatT(datetime), fatD(datetime), fattime(Fat-Time, Fat-Date)
Attribute von Datei/Ordner ändern
#FFA |
<Pfad>, Attribut |
Der Befehl setzt die Attribute des Ordners/ der Datei. Die Attribute können mit Bitveroderung gleichzeitig gesetzt werden.
Attribut |
|
$01 |
Schreibgeschützt |
$02 |
Versteckt |
$04 |
System |
$20 |
Archiv |
Siehe auch fileA()
Dateinamen in ein Stringregister laden (ab V1.1)
#FNF |
<Pfad> (aktuelles Arbeitsverzeichnis), ID (1) |
Der Befehl speichert alle Dateinamen die im <Pfad> vorhanden sind in die Stringregister (String-ID = ID...IDn). Die Anzahl wird im Register (Register-ID = ID) abgelegt. (Es kann mit Widlcards ?/* gesucht werden z.B. *.txt legt alle Textdateien ab)
Unterverzeichnisse in ein Stringregister laden (ab V1.1)
#FND |
<Pfad> (aktuelles Arbeitsverzeichnis), ID (1) |
Der Befehl speichert alle Ordnernamen die im <Pfad> vorhanden sind in die Stringregister (String-ID = ID...IDn). Die Anzahl wird im Register (Register-ID = ID) abgelegt. (Es kann mit Widlcards ?/* gesucht werden z.B. *Neu* legt alle Verzeichnisse ab in denen das Wort "Neu" vorkommt)
Dateinamen in ein Stringarray laden (ab V1.7)
#FNA |
Array-ID, SchreibPointer(0), <Pfad>, Regex-ID |
Der Befehl speichert alle Dateinamen die im <Pfad> vorhanden sind in das StringArray (Array-ID).
Unterverzeichnisse in ein Stringarray laden (ab V1.7)
#FNB |
Array-ID, SchreibPointer(0), <Pfad>, Regex-ID |
Der Befehl speichert alle Ordnernamen die im <Pfad> vorhanden sind in das StringArray (Array-ID).
Verschlüsselung aufheben (ab V1.6)
#FKF |
<Format.all> |
Die durch den uniTFTDesigner verschlüsselte SD-Karte wird formatiert (Achtung: alle Daten gehen verloren) und die Verschlüsselung entfernt. Der Parameter muss exakt identisch angegeben werden.