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
|
Georg S. schrieb:
> s1 = serialport(“/dev/ttyUSB0”,115200); % Open the port
Schau dir mal die Anführungszeichen um den Gerätenamen genau an. Ich
glaube nicht, dass das für Octave ein gültiges String-Literal darstellt.
Georg S. schrieb:
> Mit der Anwendungsverwaltung installieren sich Octave
> 6.4.0 und das Package Instrument Control 0.7.1
Tu dir einen Gefallen und installiere aktuelle Versionen.
> Allerdings finde ich die Doku nur
> für die aktuelle Version, nicht spezifisch für 0.7.1.
Du weißt aber schon, dass die Doku eingebaut ist? Du kennst das help
Kommando und das doc Kommando?
> 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
Vanye R. schrieb:
> Wenn dein Maintainer dir nicht aktuelleres anbietet dann bedeutet es
> letztlich das du den Source selber uebersetzen musst.
Oder du installierst dir das Teil als Flatpak.
https://flathub.org/apps/org.octave.Octave
Sollte auch auf Mint 21.1 gehen.
Evtl. musst du beim Aufrufen --device=/dev/ttyUSB0 mit angeben.
> 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
> 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.
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.
> Und ja, der am Compiler gesparte Plattenplatz geht dann für drölfzig
Da kann man nichts sparen. Ein Linux ohne Compiler ist kein Linux. :-p
Vanye
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?
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...
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.
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.
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
Georg S. schrieb:
> 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
Die Unicode-Quotes aus Deinem ersten Beitrag werfen allerdings auch in
Python einen SyntaxError.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
|