GNU Octave Instrument Control (Serieller Port)

OP #7878458
Lesenswert?

Hallo,

ich versuche unter Linux Mint 21.2 den Seriellen Port in einem Octave Script zu lesen. Mit der Anwendungsverwaltung installieren sich Octave 6.4.0 und das Package Instrument Control 0.7.1 Ziemlich alte Versionen, aber wäre mir egal solange es funktioniert. Allerdings bleibt das Beispiel-Skript das ich aus dem Internet geladen habe beim Befehl "serialport" mit Syntax Error hängen. "serialportlist" geht. Laut der Doku gibt es beide Befehle. Allerdings finde ich die Doku nur für die aktuelle Version, nicht spezifisch für 0.7.1. Haben sich die Befehle geändert?Kann mir jemand weiter helfen? https://gnu-octave.github.io/packages/instrument-control/

1
pkg load instrument-control
2
disp('SerialPort:');
3
serialportlist
4

5
s1 = serialport(“/dev/ttyUSB0”,115200);   % Open the port
6
pause(1);                    % Optional wait for device to wake up
#7878751
Lesenswert?

Tu dir einen Gefallen und installiere aktuelle Versionen.

Obwohl ich wirklich sehr pro-Linux eingestellt bin und es seit anbeginn der Zeitrechnung mein Standardsystem ist, das ist leider nicht so einfach. Wenn dein Maintainer dir nicht aktuelleres anbietet dann bedeutet es letztlich das du den Source selber uebersetzen musst. Sowas war in den 90ern noch einfach. Aber heute braucht das Programm schnell mal einen Berg Libraries oder einen abgefahrenen Make ersatz. Natuerlich alles in bestimmten, neuen Versionen. Ziehst du die nach kann es sein das du andere Software ebenfalls modernisieren muss. Und selbstverstaendlich bei jeder Distribution anders!

An Linux ist sehr viel toll, aber das ist die eine grosse Leiche im Keller!

Bezueglich der Anfuehrungszeichen stimme ich aber zu. Das sieht sehr falsch aus. Ich wuesste garnicht wie ich das "andere" tippen sollte. Dabei dachte ich schon mit "'`´" koennte genug Verwirrung entstehen :)

Vanye

#7878801
Lesenswert?

Oder du installierst dir das Teil als Flatpak.

Ich bin nicht der TO, das muss also jeder fuer sich entscheiden! Aber ich finde das schon allein deshalb inakzeptabel weil das so ist als wenn du einen Haufen Kacke hast und anstatt das Problem zu loesen machst du eine Tischdecke drueber die nett aussieht.

Man soll bitte mal die Probleme angehen und nicht immer neue Softwarelayer, wie man sie auch immer nennen will, dazwischen schieben. Und es macht ein System auch nicht besser wenn du hinterher droelfzig ausgelagerte Pakete hast. Und in welcher Version deiner Virtualisierung? Immer aktuell gehalten? Und wenn es "dein" Paket nicht als Flatpack gibt, sondern nur snap?

Das ist einfach eine schlechte Loesung.

Vanye

OP #7878820
Lesenswert?

Tu dir einen Gefallen und installiere aktuelle Versionen.

Manchmal ist die Version im Repository wirklich antik. Aber wenn die nur alt ist und es keinen guten Grund gibt eine neuere Version zu brauchen, dann bleibe ich i.A. bei der VBersion vom Repository. Meistens tut sich ja nur in Details was.

Bei KiCAD hab ich die neueste Version per Flatpak. Das hat aber auch seine Nachteile (Gigabytes an Speicherverbrauch, ständig neue Versionen mit neuen schlecht getesteten Ärgernissen)

Ob S. schrieb:

s1 = serialport(“/dev/ttyUSB0”,115200); % Open the port

Schau dir mal die Anführungszeichen um den Gerätenamen genau an.

Tja, so einfach kann es sein. Das war's. Ich hatte die Fehlermeldung falsch interpretiert als dass er den Befehl schon nicht kennt.

Du weißt aber schon, dass die Doku eingebaut ist? Du kennst das help Kommando und das doc Kommando?

Was ich nicht gefunden habe, ist eine Liste von Kommandos die ein "Package" mitbringt. WEil ich davon ausging dass es den Befehl nicht gibt, hab ich immer nach einer Liste von Befehlen des Package gesucht.

Vielen Dank an alle für die Denkanstöße.

#7878822
Lesenswert?

Vanye R. schrieb:

Das ist einfach eine schlechte Loesung.

Ich halte flatpak und snap auch nicht für eine schöne Lösung. In einer "idealen Welt" wären beide nicht nötig.

Aber für den 08/15 Anwender, der einfach nur eine neue Version von Applikation X haben will, ohne seinen ganzen OS-Unterbau zu aktualisieren oder Gigabyte-Weise build-essentials, lib*-dev usw installieren will um selber zu compilieren, durchaus brauchbar.

Und ja, der am Compiler gesparte Plattenplatz geht dann für drölfzig verschiedene Versionen an KDE-Libs, Gnome-Application-Platforms, Mesa-Libs, JDKs usw. drauf. Aber die kommen sich dann wenigstens nicht in die Quere.

#7879124
Lesenswert?

Georg S. schrieb:

ich versuche unter Linux Mint 21.2 den Seriellen Port in einem Octave Script zu lesen. Mit der Anwendungsverwaltung installieren sich Octave 6.4.0 und das Package Instrument Control 0.7.1

Ist das Dein eigener PC und bist Du der Admin? Falls ja, warum aktualisierst Du Linux Mint nicht auf 22.1? Danach solltest Du aktuellere Versionen von octave und octave-instrument-control haben oder installieren können.

Bei Debian stable ist octave auf 7.3.0-2 und octave-instrument-control auf 0.8.0-2, bei Debian testing auf 9.4.0-1 bzw. 0.9.5-1.

Oder ist es nicht Dein PC und er wird von jemand anderen administriert?

(Firma: 1984now) #7879136
Lesenswert?

Vanye R. schrieb:

Bezueglich der Anfuehrungszeichen stimme ich aber zu. Das sieht sehr falsch aus. Ich wuesste garnicht wie ich das "andere" tippen sollte.

Ich auch nicht. Der Quelltext wurde vermutlich irgendwo aus dem Web kopiert, wo ein übereifriger Typographie-Agent ihn bereits vor der Auslieferung an den Browser verschlimmbessert hatte. Es könnte aber auch ein ähnliches Teil "intelligenter" Software im Browser selber gewesen sein, der für den Unfug verantwortlich zeichnet.

Web-Technologien sind die Seuche, nicht abschaltbare Verbesserungsautomatiken ebenfalls. Und KI setzt dem allen noch das Sahnehäubchen auf...

OP #7879168
Lesenswert?

Alexander S. schrieb:

Ist das Dein eigener PC und bist Du der Admin? Falls ja, warum aktualisierst Du Linux Mint nicht auf 22.1?

Weil: Never change a running system.

Danach solltest Du aktuellere Versionen von octave und octave-instrument-control haben oder installieren können.

Es hat sich ja heraus gestellt dass die alten Versionen gar nicht das kein Problem waren. Ich hatte eine Fehlermeldung missinterpretiert dass es den Befehl unter dem Namen gar nicht gibt, und dann hatte ich gesehen dass sich die Befehlsnamen von dem Package in der Vergangenheit ab und zu geändert hatten. Deswegen war ich auf der Suche nach einer Doku genau zu meinem Versionsstand. Aber jetzt geht's ja...

Ob S. schrieb:

Ich auch nicht. Der Quelltext wurde vermutlich irgendwo aus dem Web kopiert, wo ein übereifriger Typographie-Agent ihn bereits vor der Auslieferung an den Browser verschlimmbessert hatte.

Schon klar, natürlich aus dem Web kopiert ;-) Aber die Hochkommas hat meine Wetware höchstpersönlich verbrochen. Ich springe wohl zu viel zwischen Python und C hin und her, und nur gelegentlich Matlab/Octave.

(Firma: 1984now) #7879189
Lesenswert?

Georg S. schrieb:

Schon klar, natürlich aus dem Web kopiert ;-)

Was sonst? Es sein denn, du schreibst Quelltext mit WinWord/Writer o.ä.

Aber die Hochkommas hat meine Wetware höchstpersönlich verbrochen.

???

Ich springe wohl zu viel zwischen Python und C hin und her, und nur gelegentlich Matlab/Octave.

Keine der genannten Targetsprachen könnte mit diesen Quotes irgendwas Sinnvolles anfangen. Ich würde es mal für eine Schutzbehauptung (AKA: Lüge) halten.

OP #7879217
Lesenswert?

Ich hab jetzt Hochkomma und Anführungszeichen verwechselt.

Keine der genannten Targetsprachen könnte mit diesen Quotes irgendwas Sinnvolles anfangen.

Aber ich denke doch dass ich da was mit Python durcheinander gebracht habe, denn genau in Python kann man super abwechselnd das Hochkomma oder Anführungszeichen für Strings benutzen: https://w3schools.tech/de/tutorial/python/python_strings

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren