Seite 1 von 1

reg-ios.spin

Verfasst: Di 23. Feb 2016, 13:42
von PIC18F2550
Ich bitte um Assimilation dieser Routine in oben benanntes Modul.

Code: Alles auswählen

PUB sdputhex(value, digits)                             'sd-card: hexadezimalen zahlenwert auf sd-carde ausgeben
{{hex(value,digits) - sd-card: hexadezimale Ausgabe eines Zahlenwertes}}
  value <<= (8 - digits) << 2
  repeat digits
    sdputc(lookupz((value <-= 4) & $F : "0".."9", "A".."F"))
:mrgreen:

Re: reg-ios.spin

Verfasst: Mi 24. Feb 2016, 11:44
von kuroneko
Aua! Sollte das nicht in einen Puffer geschrieben werden und dann mit 'nem normalen block write raus auf die Karte? Unabhaengig jetzt davon was schon alles in aehnlicher Art uns Weise ablaeuft ...

Re: reg-ios.spin

Verfasst: Mi 24. Feb 2016, 11:58
von PIC18F2550
Hallo kuroneko,

Das ist nur ein copy und paste Code vom bellatrix.

Unter Garantie ist das keine feine Art die arme Karte so zu Quälen.
Aber es erfüllt den Zweck.

Als Hauptproblem sehe ich die nicht Definierte länge an.
Wenn jemand das besser weis, währe eine Nachbesserung wünschenswert.

Ich weis jetzt nicht ob in Administra nach jeder Änderung des Puffers geschrieben wird, oder erst bei Überschreitung des Pufferbereichs bzw. bei Close.

Da stecke ich nicht so tief drin. :LACHEN

Re: reg-ios.spin

Verfasst: Fr 26. Feb 2016, 23:04
von PIC18F2550
kuroneko jetzt hast Du es wieder mal geschafft das ich alles ändere. :lol:

Ich werde erst mal einen String Basteln um die dann alle in einen Block friemeln und diesen an Administra senden.
Damit sollte einiges schneller gehen denke ich jedenfalls.

? Wie gross ist eigentlich ein block?

Re: reg-ios.spin

Verfasst: Mi 23. Mär 2016, 09:42
von PIC18F2550
Es ist umgestellt und es scheint etwas schneller zu laufen.
Es wird jetzt immer ein string übertragen.
Nur kommt es immer wieder zu Pausen von 0,5 bis 2 Sekunden.
Die Verwendung von Blöcken habe ich nicht genutzt.

Re: reg-ios.spin

Verfasst: Mi 23. Mär 2016, 12:55
von drohne235
Notiert!

Re: reg-ios.spin

Verfasst: Do 4. Mai 2017, 21:56
von drohne235
So, hab mir das Problem mal angeschaut: In Administra würde ich diesen Code eh nicht einsetzen wollen, da sich dadurch der Speicherplatz ja permanent verringert. Wenn überhaupt, würde diese Funktion in die reg-ios passen, und würde so durch die Optimierungen von BST auch nur bei Verwendung compiliert werden und somit auch Speicher verbrauchen.

Als Gegenargument würde ich anführen, das es sich dabei um eine recht seltene Funktion handelt, Daten als HEX Text in eine Datei zu schreiben. Im IOS-Bellatrix Code gibt es zwar ios.printhex & ios.printbin, aber auf dem Bildschirm braucht man es auch ziemlich oft. Insofern würde das nicht ins IOS fest aufnehmen. Andere Meinungen?

...

Thema Blöcke/Puffer: Prinzipiell werden die geschriebenen Daten dieser "Metafunktionen" immer in der FatEngine gepuffert und erst wenn der Block gefüllt ist (oder bei andere Bedingungen, wie seek zu einem anderen Block) wird der gesamte Block auf SD Karte geschrieben. Blockgröße ist 512 Byte.

Re: reg-ios.spin

Verfasst: Fr 5. Mai 2017, 09:00
von PIC18F2550
OK :)