Bitte ein Bit

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
Pinot
Beiträge: 55
Registriert: 23 Nov 2021, 15:24
Wohnort: Pfalz

Bitte ein Bit

Beitrag von Pinot » 29 Nov 2021, 21:49

Ich möchte beim Stoppen einer Anwendung ein paar Bits abspeichern. So, dass ich sie beim Wiedereinschalten auslesen, und die SW entsprechend initialisieren kann. Kurz: ein Automat wird in einem Status X abgeschaltet werden und soll eben in diesem Status beim Wiederstart weitermachen. Nichtvolatiler Speicher in Form von Flash ist ja vorhanden, sogar ein Kartenleser. Wie schreibt man denn da mit RoboPro ein paar Bits rein und wie holt man sie wieder heraus? Irgendwie finde ich nichts Erleuchtendes.

DirkW
Moderator
Beiträge: 546
Registriert: 10 Nov 2014, 16:16

Re: Bitte ein Bit

Beitrag von DirkW » 30 Nov 2021, 01:21

Moin Pinot,

Herzlich Willkommen im Forum.

In RoboPRO geht das mit dem Liste-Element, siehe auch Hilfe-Funktion von ROBOPro.(Bild unten)

In der Leiste von ROBOPro oben im Reiter:
- Hilfe - Hilfe aufrufen dann Register "Index" aufrufen und mit dem Wort "Liste" in der Suche nach dem Text 8.4.5 suchen.

Mein Tipp:
Am besten einmal ein Beispiel-Programm aus der Bibliothek verwenden und ausprobieren. ;)

Liste.JPG
Liste.JPG (236.69 KiB) 3614 mal betrachtet

Gruß
Dirk

Benutzeravatar
Bjoern
Beiträge: 630
Registriert: 04 Jan 2018, 12:34

Re: Bitte ein Bit

Beitrag von Bjoern » 30 Nov 2021, 08:11

Hallo Dirk,

Pinot wollte aber eine persistente Speicherung. So hatte ich das verstanden.
Und das macht weder die Liste noch irgend ein anderer Befehl in RoboPro wenn ich mich nicht täusche.

Björn
https://gundermann-software.de/shop/
Der Shop für viele Community Projekte

Benutzeravatar
steffalk
ft:pedia-Herausgeber
Beiträge: 1792
Registriert: 01 Nov 2010, 16:41
Wohnort: Karlsruhe
Kontaktdaten:

Re: Bitte ein Bit

Beitrag von steffalk » 30 Nov 2021, 10:42

Tach auch!

Wenn es nur wenige Bit sind und mit RoboPro wirklich nicht machbar sein sollte (z.B. durchs Speichern der Liste im Online-Betrieb), macht vielleicht auch eine mechanische Lösung Spaß. Sowas wie https://ftcommunity.de/bilderpool/model ... 0-bit-ram/ nur halt eleganter, oder auch auf einem anderen Weg. Kippschalter umschalten oder so.

Gruß,
Stefan

Pinot
Beiträge: 55
Registriert: 23 Nov 2021, 15:24
Wohnort: Pfalz

Re: Bitte ein Bit

Beitrag von Pinot » 30 Nov 2021, 11:24

Hallo Dirk,

das Listenelement kenne ich. Und natürlich auch Variablen, die mir als Byte oder Word völlig ausreichen würden. Nur wo persistiere ich die (NON-volatil), wenn der Strom weg ist?

Kann man mit RoboPro auf den Speicherkartenslot zugreifen um dort ein File wegzuschreiben? Das wäre mal ein (wenn auch umständlicher) Anfang.

DirkW
Moderator
Beiträge: 546
Registriert: 10 Nov 2014, 16:16

Re: Bitte ein Bit

Beitrag von DirkW » 30 Nov 2021, 12:39

Hallo Pinot,

mit ROBOPro ist das Ansprechen der SD-Karte leider nicht möglich.
Vielleicht hilft dir dieser Thread weiter.

viewtopic.php?f=8&t=6577&hilit=sd+karte

Gruß
Dirk

vleeuwen
Beiträge: 1557
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Bitte ein Bit

Beitrag von vleeuwen » 30 Nov 2021, 14:33

An example of reading and writing list data from/into a file wih a RoboPro extension has been describe here
https://github.com/fischertechnik/txt_d ... LI_TeachIn
This writing/reading can also be done with a mounted sd-card.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

Torsten
Beiträge: 308
Registriert: 29 Jun 2015, 23:08
Wohnort: Gernsheim (Rhein-Main-Region)

Re: Bitte ein Bit

Beitrag von Torsten » 30 Nov 2021, 17:33

Hallo Pinot,

wenn Du mit ROBOPro und der SLI-Erweiterung nicht zum Ziel kommst, gibt es als Alternative noch Python, das auf dem TXT auch zur Verfügung steht (ab der Firmwareversion 4.4). Damit kannst Du auf jeden Fall auf das Linux-Dateisystem zugreifen.

Viele Grüße
Torsten

vleeuwen
Beiträge: 1557
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Bitte ein Bit

Beitrag von vleeuwen » 30 Nov 2021, 17:46

SLI programming is with normal standard C++, so you have the standard Linux IO-system available. No difference with Python. But a very strong program development system with strong typing to help you and avoid mistakes. Mounting a sd-card is part of the OS and not of the program language.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

jodeka
Beiträge: 33
Registriert: 10 Dez 2019, 22:09

Re: Bitte ein Bit

Beitrag von jodeka » 01 Dez 2021, 10:17

Wenn Du nur ein paar Bits abspeichern willst,
so empfähle ich Dir ein externes EPROM-Modul.
Dieses wird über die I2C Schnittstelle angesprochen und
kostet ein paar Euros (je nach Größe)

Suche im Web nach AT24C01 , AT24C02 , usw..

Die letzten zwei Zahlen geben Dir die Größe in K-Bits.
(z.B. 01 = 1024 Bits = 128 Bytes)

Viel Vergnügen

jode

Benutzeravatar
fishfriend
Beiträge: 1789
Registriert: 26 Nov 2010, 11:45

Re: Bitte ein Bit

Beitrag von fishfriend » 01 Dez 2021, 14:37

Hallo...
OK, I2C...
Noch ein anderer Ansatz:

Ich hab hier noch FRAM liegen. Ich hatte damit mal versucht die Kommunikation PC-Inteface mitzuschreiben, es dann aber anders gemacht.
Zumindest kann man da halt was speichern und lesen. Ist zwar ein bisschen wie mit Kanonen auf Spatzen.. sollte aber auch gehen.
So etwas wie hier:
https://www.adafruit.com/product/1895
Mit freundlichen Grüßen
fishfriend
Holger hOwey
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

fotoopa
Beiträge: 312
Registriert: 05 Okt 2017, 11:44
Wohnort: Belgie
Kontaktdaten:

Re: Bitte ein Bit

Beitrag von fotoopa » 01 Dez 2021, 17:15

fishfriend hat geschrieben:
01 Dez 2021, 14:37
Ich hab hier noch FRAM liegen. Ich hatte damit mal versucht die Kommunikation PC-Inteface mitzuschreiben, es dann aber anders gemacht.
Zumindest kann man da halt was speichern und lesen. Ist zwar ein bisschen wie mit Kanonen auf Spatzen.. sollte aber auch gehen.
So etwas wie hier:
https://www.adafruit.com/product/1895
What about the I2C adddress of the MB85RC I2C FRAM (0x50 - 0x57) ? Won't this cause a conflickt with the TXT? I also have 2 of these modules but never used them for that reason.

Frans.

Benutzeravatar
fishfriend
Beiträge: 1789
Registriert: 26 Nov 2010, 11:45

Re: Bitte ein Bit

Beitrag von fishfriend » 01 Dez 2021, 17:58

Hallo...
Hmmm. No idear.
I have never use it with a TXT. Only with a Arduino.
Mit freundlichen Grüßen
fishfriend
Holger Howey
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1832
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: Bitte ein Bit

Beitrag von Dirk Fox » 01 Dez 2021, 20:18

Hallo zusammen,

das Schreiben von ein paar Bit ins EEPROM des TXT ist möglich - habe ich auch schon gemacht. Es liegt im I2C-Adressbereich des FRAM - Holgers Idee klappt also, sogar ohne FRAM :-). Ein entsprechender I2C-Treiber findet sich sogar in der I2C-Bibliothek des TXT.

In den "TX(T) I2C Application Notes" gibt es dazu entsprechende Hinweise:

"I2C: Using the address range 0x50..0x57 of the TX integral EEPROM

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."

Beste Grüße,
Dirk

P.S.: Ich würde nicht zu exzessiv schreiben, da ein EEPROM nur endlich viele Schreib-Lese-Zyklen verkraftet. Einmal pro Programmaufruf ist kein Thema, 5.000 x pro Programmaufruf kann dann schon irgendwann eng werden.

fotoopa
Beiträge: 312
Registriert: 05 Okt 2017, 11:44
Wohnort: Belgie
Kontaktdaten:

Re: Bitte ein Bit

Beitrag von fotoopa » 02 Dez 2021, 10:18

Thanks Dirk for the useful information. I'm definitely going to give that a try.

FRans.

Pinot
Beiträge: 55
Registriert: 23 Nov 2021, 15:24
Wohnort: Pfalz

Re: Bitte ein Bit

Beitrag von Pinot » 02 Dez 2021, 21:46

@Dirk: Super, vielen Dank für den Tipp! Jaja, ein EEPROM sollte wirklich nicht als Arbeitsspeicher missbraucht werden. Es ist eben der Klassiker für Konfigurationsdaten.

Antworten