reg-ios.spin

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!
Antworten
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

reg-ios.spin

Beitrag 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:
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
kuroneko
Beiträge: 202
Registriert: Sa 22. Okt 2011, 13:05
Wohnort: FN, Germany

Re: reg-ios.spin

Beitrag 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 ...
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: reg-ios.spin

Beitrag 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
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: reg-ios.spin

Beitrag 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?
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: reg-ios.spin

Beitrag 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.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: reg-ios.spin

Beitrag von drohne235 »

Notiert!
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: reg-ios.spin

Beitrag 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.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: reg-ios.spin

Beitrag von PIC18F2550 »

OK :)
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Antworten