Robo Pro Coding Probleme mit der Eingabe "No module named 'lib.display' "

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
Benutzeravatar
fishfriend
Beiträge: 1822
Registriert: 26 Nov 2010, 11:45

Robo Pro Coding Probleme mit der Eingabe "No module named 'lib.display' "

Beitrag von fishfriend » 20 Jan 2024, 21:43

Hallo...
Ich kämpfe mich gerade durch die Robo Pro Coding - Hilfe.
Ich versuche für jeden Befehl ein lauffähiges Beispiel zu machen.
Diesmal geht es um das Eingabeprogramm:

(aus der Hilfe)
Das Eingabe-Programm läuft ab, wenn eine Eingabe abgeschlossen wurde. Es wird separat vom Hauptprogramm geschrieben. Variablen funktionieren global über beide Programme hinweg. Das Eingabe-Programm läuft im Block wenn Eingabe abgeschlossen ab. Der Ereignis []-Block wird im Eingabe-Programm auf "text" gesetzt. In diesem Beispiel wird die Variable Name auf den eingegebenen Text gesetzt, sie wird dann im Hauptprogramm genutzt, um den eingegebenen Text auszugeben:
EIngabe.jpg
EIngabe.jpg (16.51 KiB) 432 mal betrachtet
Kann ja sein, dass ich etwas überarbeitet bin, -aber- ich kriege es nicht zum laufen.
OK, die Darstellung in der Hilfe ist von einer Vorgängerversion. Heute sieht es etwas anders aus. Zumal es so gar nicht laufen kann, da das Eingabefeld nicht deffiniert ist. So sollte es aussehen:
Anzeige.jpg
Anzeige.jpg (27.94 KiB) 432 mal betrachtet
Wenn man es laufen lässt, kommt die Fehlermeldung "No module named 'lib.display' ".
OK, eingentlich klar.
Der "gib aus" Block gibt Sachen auf der Konsole aus. Wie sollen die Daten auch vom TXT 4.0 zum PC kommen. (Ich könnte es mir aber vorstellen)

OK, also den Eingabetext versuchen auf dem TXT 4.0 Display auszugeben. Ein "TXTLabel" in der Anzeigenkonfiguration angelegt und dort den Text ausgeben:
Ausgabe 2.jpg
Ausgabe 2.jpg (40.64 KiB) 432 mal betrachtet
Und tada...
Die selbe Fehlermeldung "No module named 'lib.display' ".
Auch Versuche es nochmal neu zu machen und bei "Neues Programm" sofort Anzeige anzuwählen bringt nichts.
Ob mit oder ohne dauerhaft widerholen, immer die selbe Fehlermeldung.
Auch eine Wartezeit am Anfang bringt nichts. TextLabel und TXTInput haben die von Robo Pro Coding vorgegeben Standartwerte.

In der Hilfe wird häufig mit den Beriffen Display und Anzeige "gespielt", zum Teil leider auch falsch. Ich hab die Vermutung, dass die Lib einen anderen Namen hat oder ich mache einen, zwei, zehn... Fehler - Nur welche?
Mit freundlichen Grüßen
Holger

PS
Oder ist der Paht falsch?
Isi eigentlich vorhanden? lib.controller wird ja gefunden...
IDE ist die von der Webseite https://dev.fischertechnik-cloud.com/de ... de/desktop
ich werde noch mal die anderen ausprobieren...
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

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

Re: Robo Pro Coding Probleme mit der Eingabe "No module named 'lib.display' "

Beitrag von vleeuwen » 20 Jan 2024, 22:28

Did you start with new project TXT4.0 with a template display or camera/display?

What is the Python code (right pane)?
It will looks like (labe=txt_label)
from lib.controller import *
from lib.display import *

while True:
display.set_attr("txt_label.text", str('abc'))

tab display configuration (generated and managed by the dev.app):
richt pane Python will looks like:
// auto generated content from display configuration
import QtQuick 2.2
import QtQuick.Window 2.0
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import QtQuick.Extras 1.4

TXTWindow {
Rectangle {
id: rect
color: "grey"
anchors.fill: parent
}
TXTLabel {
id: txt_label
text: "hello"
font.pixelSize: 16
font.bold: false
font.italic: false
font.underline: false
horizontalAlignment: Text.AlignLeft
color: "#ffffff"
elide: Text.ElideRight
x: 93
y: 87
width: 100
height: 40
}
}
Dateianhänge
project new
project new
RBC(display).JPG (34.95 KiB) 421 mal betrachtet
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

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

Re: Robo Pro Coding Probleme mit der Eingabe "No module named 'lib.display' "

Beitrag von fishfriend » 21 Jan 2024, 01:02

Hallo...
Programm 1

Code: Alles auswählen

from lib.controller import *
from lib.display import *

Name = None


def on_txt_input_accepted(event):
    global Name
    Name = str(event['text'])


display.input_accepted("txt_input", on_txt_input_accepted)


print(Name)
********************************************************
Programm 2

Code: Alles auswählen

import time
from lib.controller import *
from lib.display import *

Name = None


def on_txt_input_accepted(event):
    global Name
    Name = display.get_attr("txt_input.text")


display.input_accepted("txt_input", on_txt_input_accepted)


time.sleep(1)
while True:
    display.set_attr("txt_label.text", str(Name))
    time.sleep(1)
I start with display and the other time without display. Its the same result.
The lib import is there, but the text say "No module named 'lib.display' ".
So is it my mistake? Its 1:1 from the help screen from Robo Pro Coding.
And witch mistake did i made?
So how get the txt-input, over the event text, to the "Name"?
And than print(Name) to the Display or the "Konsole"?
Without a -module- from the display lib ?
But there ist: display.set_attr("txt_label.text", str(Name))
???
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

axel57
Beiträge: 60
Registriert: 22 Mai 2018, 19:52

Re: Robo Pro Coding Probleme mit der Eingabe "No module named 'lib.display' "

Beitrag von axel57 » 21 Jan 2024, 10:23

Hallo,
ich habe erst mal die einfache Variante benutzt:
1.JPG
1.JPG (27.86 KiB) 358 mal betrachtet
Dann habe ich Deine Version benutzt und um die Anzeige auf der Konsole erweitert:
2.JPG
2.JPG (38.3 KiB) 358 mal betrachtet
Beides tut was es soll! Nur mal so als Motivation.
3.jpg
3.jpg (29.19 KiB) 358 mal betrachtet
Gruß der Axel

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

Re: Robo Pro Coding Probleme mit der Eingabe "No module named 'lib.display' "

Beitrag von fishfriend » 21 Jan 2024, 11:21

Hallo...
Danke für die Rückmeldung.
Lass mich raten, du hast die App-Version von Robo Pro Coding (zum runterladen) benutzt oder?

Also nach längerem hin und her bis 1:30 und heute Morgen ab 9 bin ich zur Lösung gekommen.
Es ist die Onlineversion (mit Blocky15) die nicht läuft, bzw die einen Bug hat.

Sowohl die App-Version (mit Blocky 14), als auch die Betha-Version (mit Blocky15) laufen mit dem originalen Programm.
Wobei man sagen muss das es nicht "ganz" das tut was es soll, aber es läuft tatsächlich.

BTW Der Pythoncode ist identisch.

Man kann also festhalten:
-Ich bin motiviert :-)
-Der TXT 4.0 kann vom Display, über USB, mit dem PC, im laufenden Programm, Daten liefern/enpfangen/austauschen.

Scheinbar gibt es da noch ein Time-out. Wenn man nicht schnell genug ist, wird das original Programm einfach beendet. Es wird nur "None" ausgegeben, was ja auch der richtige Inhalt von "Name" ist. Halt nix.
Das Beispielprogramm ist also nicht ganz sooo optimal, um die Funktion zu zeigen.

Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

axel57
Beiträge: 60
Registriert: 22 Mai 2018, 19:52

Re: Robo Pro Coding Probleme mit der Eingabe "No module named 'lib.display' "

Beitrag von axel57 » 21 Jan 2024, 13:47

Hallo Holger,

in der tat benutze ich die App. Das Beispiel ist tatsächlich nicht optimal, da ja in einer Endlosschleife eine Eingabe abgefragt wird.
Dokumentierst Du Deine Beispiele für die Allgmeinheit an Ende? Ich habe bereits einige Dinge zur Verfügung gestellt unter: http://chobe.info/dokus/RoboProCodingBefehle.pdf
Ich habe noch Probleme bei der Datenspeicherung, da gibt es noch keine Hilfeeinträge. Auch das Thema KI ist für mich noch etwas schwer zu verstehen,
da mir das Python-Programm zur Analyse von ft fehlt.Da steht in der Anleitung als Link XXX drin.
Auch bei MQTT und Node-Red fehlt mir eine Einführung in die Thematik.(Man will ja mit 66 auch noch was dazulernen)

Gruß der Axel

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

Re: Robo Pro Coding Probleme mit der Eingabe "No module named 'lib.display' "

Beitrag von fishfriend » 21 Jan 2024, 14:50

Hallo...
Da ich auf das Thema, Daten speichern / Messwert speichern mit Robo Pro Coding, schon mhrfach angesprochen wurde, habe ich schon vorab ein Thema dazu aufgemacht:
viewtopic.php?f=8&t=8307
Da ist ein funktonierendes Beispiel und wie man die Daten vom TXT 4,0 bekommt.

Ich schreibe gerad ein Buch über die Bedienung der Controller, Einführung zu Robo Pro Coding mit lauffähigen Beispielen zu "fast" allen Befehlen.
Ich bin nun gerade bei Seite 260 :-) und muss mich selber echt duchwühlen. Im Grunde mache ich alles neu und übernehme nur sehr wenig. Ich versuche auch die fehlenden Sachen in der Hilfe zu Robo Pro Coding ins Buch reinzuschreiben. Es wird eher ein Handbuch. Ich habe aber zu den Controllern: TXT 4.0 RX Controller und BT Smart Controller wirklich -Schritt für Schritt- Anleitungen gemacht. Dazu noch Beispiele zu anderen Kästen von ft. Das Ganze ist sehr sehr aufwändig z.B. auch die Schache mit dem I2C. Aber ich sehe endlich ein Licht am Horizont...

Ja, auch zu MQTT und Node-Red kommt noch was.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Antworten