Variable im Flashspeicher speichern (Robo TX)
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
-
- Beiträge: 6
- Registriert: 16 Sep 2011, 13:54
Variable im Flashspeicher speichern (Robo TX)
Hallo,
Ich habe eine Alarmanlage mit Codeschloss gebaut. Jede Person hat ein eigenes Passwort.
Wenn man sich einlogt, wird in einer Liste gespeichert das man sich eingelogt hat.
Wie kann ich diese Liste in dem Flash-speicher speichern.
Max
Ich habe eine Alarmanlage mit Codeschloss gebaut. Jede Person hat ein eigenes Passwort.
Wenn man sich einlogt, wird in einer Liste gespeichert das man sich eingelogt hat.
Wie kann ich diese Liste in dem Flash-speicher speichern.
Max
Zuletzt geändert von sven am 18 Okt 2012, 17:17, insgesamt 1-mal geändert.
Grund: Rechtschreibfehler korrigiert.
Grund: Rechtschreibfehler korrigiert.
Re: Variable im Flashspeicher speichern (Robo TX)
Hallo,
hierfür wäre doch ein I2C-EEProm perfekt geeignet.
Man könnte mit einfachsten Mitteln einen "Datenstick" realisieren. Daten schreiben im Download wäre problemlos möglich und für das Auslesen schließt man den TX-Controller an den PC an und lässt online ein Programm laufen, das den Inhalt des "Datenstick" in eine CSV-Datei überträgt...
Wenn ich etwas mehr Zeit hätte
hierfür wäre doch ein I2C-EEProm perfekt geeignet.
Man könnte mit einfachsten Mitteln einen "Datenstick" realisieren. Daten schreiben im Download wäre problemlos möglich und für das Auslesen schließt man den TX-Controller an den PC an und lässt online ein Programm laufen, das den Inhalt des "Datenstick" in eine CSV-Datei überträgt...
Wenn ich etwas mehr Zeit hätte
Gruß
Thomas
Thomas
- Dirk Fox
- ft:pedia-Herausgeber
- Beiträge: 1835
- Registriert: 01 Nov 2010, 00:49
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: Variable im Flashspeicher speichern (Robo TX)
Hallo zusammen,
ja, ein I2C-EEProm wäre fein - programmiert ist das im Handumdrehen (siehe ft:pedia 3/2012).
Hier zwei Tipps (nicht getestet, nur "gegoogled"):
- für Lötprofis: http://www.horter.de/i2c/i2c-eeprom/eeprom_1.html
- und ein Breadboard für Nichtlöter (wie mich): http://www.howtronics.com/I2C-EEPROM-Br ... _p_73.html
Feine Idee, thkais!
Beste Grüße,
Dirk
ja, ein I2C-EEProm wäre fein - programmiert ist das im Handumdrehen (siehe ft:pedia 3/2012).
Hier zwei Tipps (nicht getestet, nur "gegoogled"):
- für Lötprofis: http://www.horter.de/i2c/i2c-eeprom/eeprom_1.html
- und ein Breadboard für Nichtlöter (wie mich): http://www.howtronics.com/I2C-EEPROM-Br ... _p_73.html
Feine Idee, thkais!
Beste Grüße,
Dirk
Re: Variable im Flashspeicher speichern (Robo TX)
Hi Reivilo,
das ist in der Tat ungünstig - war mir bislang nicht bekannt, dass wirklich der komplette Adressraum für EEProms gesperrt ist. Dann wird wohl ein Atmel herhalten müssen, um den Adressraum zu verschieben
das ist in der Tat ungünstig - war mir bislang nicht bekannt, dass wirklich der komplette Adressraum für EEProms gesperrt ist. Dann wird wohl ein Atmel herhalten müssen, um den Adressraum zu verschieben
Gruß
Thomas
Thomas
Re: Variable im Flashspeicher speichern (Robo TX)
Hello,
but you can use parts of the TX internal EEPROM.
ReleaseNotes.txt:
The name of the driver is "I2C/EEPROM-TXintern".
cheers,
Helmut
but you can use parts of the TX internal EEPROM.
ReleaseNotes.txt:
ApplicationNotes.txt:ROBOPro Änderungshinweise
Änderungen in Version 3.1.3 gegenüber 3.1.2.9
===============================================
- Added file ApplicationNotes.txt, with some more technical information (currently I2C).
- Moved I2C Elements from level 5 to level 4
- Updated to MSC Library Version 67 / FW Version 1.30
- I2C: Disabled access to adresses 0x50, 0x54 (used internally by TX controller)
- I2C: Added driver for TX-internal EEPROM (768 bytes are free and usable)
- I2C: Keep Open mode did not work for writes with subadress (did a restart)
- Language can now be switched via menu entry (only main menu before programs are loaded)
- Text Message Element: Text was not translated during program compilation
- TX-Display: Text element now supports up to 8 lines
...
a small list should fit into these 768 bytes. But it shouldn't be written that often....
The TX Controller has an integrated Microchip 24AA08 I2C EEPROM. This device
occupies I2C addresses 0x50 to 0x57 (7-bit = 0xA0 to 0xAF 8-bit). The TX
Controller firmware uses the first sector at device address 0x50 and 0x54. These
addresses are not accessible via ROBOPro. The other sectors are free and can be
used by ROBOPro programs. A ROBOPro driver for the EEPROM is available in the
library folder. A total of 768 bytes is accessible by this driver.
...
The EEPROM has 1 million erase/write cycles, so data should not be written on a regular basis.
...
The name of the driver is "I2C/EEPROM-TXintern".
cheers,
Helmut
Re: Variable im Flashspeicher speichern (Robo TX)
Sugestion:
Add a second EEPROM (your private one) to the I2C bus.
Add a second EEPROM (your private one) to the I2C bus.
Re: Variable im Flashspeicher speichern (Robo TX)
Hi,
@hamlet: Uh - I should read the app-notes
@Reivilo: If the use is allowed, why not...the important sections are protected.
@vleeuwen: As Reivilo wrote above, own eeproms won't work because they all are using address 0x50...0x57 which is occupied by the internal eeprom.
I never would have the idea sharing an internal and external (user-available) I2C bus...
@hamlet: Uh - I should read the app-notes
@Reivilo: If the use is allowed, why not...the important sections are protected.
@vleeuwen: As Reivilo wrote above, own eeproms won't work because they all are using address 0x50...0x57 which is occupied by the internal eeprom.
I never would have the idea sharing an internal and external (user-available) I2C bus...
Gruß
Thomas
Thomas
Re: Variable im Flashspeicher speichern (Robo TX)
Holla,
ich hab mal mein China-DSO während des TX boot-Vorgangs an den I2C-Bus gehängt, die Wave als CVS exportiert und einen selbstgeschriebenen quickNdirty i2c Filter drüberlaufen lassen. War halt neugierig und nu kann ich I2C. Der Dump ist vielleicht mal hilfreich wenn man seinen TX mit irgendwelchen i2c-Spielereien in eine 180€ Bauplatte verwandelt hat. Ich bin z.B. nicht sicher ob die erste Seite des internen EEPROM in der C-Umgebung ebenso geschützt ist wie in RoboPro.
Beste Grüße,
Helmut
[/size]
ich hab mal mein China-DSO während des TX boot-Vorgangs an den I2C-Bus gehängt, die Wave als CVS exportiert und einen selbstgeschriebenen quickNdirty i2c Filter drüberlaufen lassen. War halt neugierig und nu kann ich I2C. Der Dump ist vielleicht mal hilfreich wenn man seinen TX mit irgendwelchen i2c-Spielereien in eine 180€ Bauplatte verwandelt hat. Ich bin z.B. nicht sicher ob die erste Seite des internen EEPROM in der C-Umgebung ebenso geschützt ist wie in RoboPro.
Beste Grüße,
Helmut
Code: Alles auswählen
WRITE on device 50
Byte written 0
START in SCAN_BYTE
READ on device 50
Byte read (NoACK) ff
WRITE on device 50
Byte written 1
START in SCAN_BYTE
READ on device 50
Byte read (NoACK) c1
WRITE on device 50
Byte written 2
... usw ...
256 bytes read:
0 | ff c1 d3 ce 31 82 0 d0 df d6 c5 52 3 31 2e 30 ....1......R.1.0
10 |ff c8 57 82 0 97 df cd c1 ce d5 46 c 4d 53 43 ..W........F.MSC
20 |20 46 52 45 49 42 55 52 47 df ce c1 cd 45 12 52 FREIBURG....E.R
30 |4f 42 4f 20 54 58 20 43 4f 4e 54 52 4f 4c 4c 45 OBO TX CONTROLLE
40 |52 df d2 c5 4c 1 43 df d3 4e a 30 30 30 31 39 R...L.C..N.00019
50 |38 33 35 35 39 df d2 cf ce cd d5 58 3 30 34 30 83559......X.040
60 |ff c2 cf c1 d2 44 46 df c3 cc 4b 9 31 38 2e 34 .....DF...K.18.4
70 |33 32 4d 48 7a df d3 c4 d2 c1 4d 3 38 4d 42 df 32MHz.....M.8MB.
80 |c6 cc c1 d3 48 3 32 4d 42 df c2 cc d5 c5 d4 cf ....H.2MB.......
90 |cf d4 48 3 59 45 53 df c5 d8 d4 31 5 52 53 34 ..H.YES....1.RS4
a0 |38 35 df c5 d8 d4 32 5 52 53 34 38 35 ff d4 c5 85....2.RS485...
b0 |d3 54 25 df d4 c5 d3 d4 c5 44 1 31 df c4 c1 d4 .T%......D.1....
c0 |45 a 58 58 58 58 2d 58 58 2d 58 58 df c2 59 8 E.XXXX-XX-XX..Y.
d0 |58 58 58 58 58 58 58 58 0 58 58 58 58 58 58 58 XXXXXXXX.XXXXXXX
e0 |58 58 ff ff ff ff ff ff ff ff ff ff ff ff ff ff XX..............
f0 |ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
Re: Variable im Flashspeicher speichern (Robo TX)
or
- Use a MCU with included EEProm as I2C-memory device
- Use a MCU with a Flash-EEProm emulation as I2C-memory device
- Develop a TTL logic which detects the I2C Start-condition and changes (flips) one of the address bits (no MCU needed)
Gruß
Thomas
Thomas
Re: Variable im Flashspeicher speichern (Robo TX)
Addresses 50-57 are reserved, depending on the wiring an EEPROM uses only one address. It appears that only address 50 is actually in use. Has anyone tried to use one of the other 'reserved' addresses (51-57)?
Re: Variable im Flashspeicher speichern (Robo TX)
@ad2:
As hamlet quoted from the app-note, in the TX a 24AA08 is used. And this chip occupies the whole address-range (0x50-0x57). Sectors 0x51..0x53 (0x55..0x57) are approved for own use. So every attempt to use 0x50..0x57 will end in accessing the internal eeprom.... That's what we are discussing for
As hamlet quoted from the app-note, in the TX a 24AA08 is used. And this chip occupies the whole address-range (0x50-0x57). Sectors 0x51..0x53 (0x55..0x57) are approved for own use. So every attempt to use 0x50..0x57 will end in accessing the internal eeprom.... That's what we are discussing for
Gruß
Thomas
Thomas
Re: Variable im Flashspeicher speichern (Robo TX)
Is it not possible to program a small uC as I2C address filter and transformer (address shifter)?