Geschrieben September 27, 2015 at 11:5727. Sep 2015 Hallo, ich verstehe es nicht: auf dem RED Brick läuft kein Octave *.m File. Aufbau: RED-Master-Humidity bricklet - Beispieldatei "Simple" von der Tinkerforge webseite des Humidity Bricklet genommen, UID geändert, gestartet mit dem PC und es funktioniert einwandfrei - in der RED Console Octave Umgebung gestartet mit octave und danach das Programm. Es läuft auch. - in der RED Console eingegeben: octave Dateiname , Programm wird beendet ohne Fehlermeldung und ohne Ergebnis. Im Brickviewer, wird das Program gestartet(ohne Ergebnis) und danach gleich wieder beendet. Das gleiche Ergebnis mit LCD20x4 bricklet, Temperatur-IR Bricklet Als Warnmeldung von Octave wird nur: X11 Display environment variable not set ausgegeben Die Phyton Beispieldateien funktionieren auf dem RED. Octave *.m Dateien habe ich auf dem RED Brick nicht zum Laufen gebracht. Ist das ein Bug oder wo steckt der Fehler?
Geschrieben September 27, 2015 at 16:0527. Sep 2015 Autor Ich habe es selber gelöst. Geht nur mit Octave Script keine Funktionen.......
Geschrieben September 27, 2015 at 18:3127. Sep 2015 Autor octave script funktioniert auf dem RED. Allerdings ein einfaches Script mit einer Callback-Funktion nicht. Da kommt eine Fehlermeldung: error: free_scope: scope 83 not found! Auf PC läuft das Script auf dem RED nicht Kennt jemand das Problem?
Geschrieben September 28, 2015 at 08:0328. Sep 2015 Stimmt, die Beispiel sind Function Files. Es funktioniert wenn ich unter der Function Definition die Funktion direkt aufrufe. Ich füge da gleich einen Hinweis in der Dokumentation für ein. Bezüglich Callbacks: Ich habe gerade nochmal das Humidity Callback Example getestet und das funktioniert. Wie sieht dein Callback Test aus?
Geschrieben September 28, 2015 at 14:1928. Sep 2015 Autor Ich habe lediglich die Function Definition Zeile, sowie das "end" der Funktion gelöscht! Was meinst du mit in der "Function Definition die Funktion aufrufen"? Wie hast du das hinbekommen... HOST = "localhost"; PORT = 4223; UID = "qRH"; % Change to your UID ipcon = java_new("com.tinkerforge.IPConnection"); % Create IP connection h = java_new("com.tinkerforge.BrickletHumidity", UID, ipcon); % Create device object ipcon.connect(HOST, PORT); % Connect to brickd % Don't use device before ipcon is connected % Set Period for rh callback to 1s (1000ms) % Note: The callback is only called every second if the % humidity has changed since the last call! h.setHumidityCallbackPeriod(1000); % Register humidity callback to function cb_humidity h.addHumidityCallback(@cb_humidity); input("Press any key to exit...\n", "s"); ipcon.disconnect(); % Callback function for humidity callback (parameter has unit %RH/10) function cb_humidity(e) fprintf("Relative Humidity: %g %%RH\n", e.humidity/10.0); end
Geschrieben September 28, 2015 at 14:4128. Sep 2015 Siehe hier: http://www.tinkerforge.com/de/doc/Software/API_Bindings_MATLAB.html#function-vs-script-dateien Hier das Humidity Bricklet Callback Beispiel. Ich habe nur die letzte Zeile hinzugefügt und jetzt kann ich es per "octave octave_example_callback.m" von der Kommandozeile aus aufrufen und es funktioniert auch so auf dem RED Brick. function octave_example_callback() more off; HOST = "localhost"; PORT = 4223; UID = "qRH"; % Change to your UID ipcon = java_new("com.tinkerforge.IPConnection"); % Create IP connection h = java_new("com.tinkerforge.BrickletHumidity", UID, ipcon); % Create device object ipcon.connect(HOST, PORT); % Connect to brickd % Don't use device before ipcon is connected % Set Period for rh callback to 1s (1000ms) % Note: The callback is only called every second if the % humidity has changed since the last call! h.setHumidityCallbackPeriod(1000); % Register humidity callback to function cb_humidity h.addHumidityCallback(@cb_humidity); input("Press any key to exit...\n", "s"); ipcon.disconnect(); end % Callback function for humidity callback (parameter has unit %RH/10) function cb_humidity(e) fprintf("Relative Humidity: %g %%RH\n", e.humidity/10.0); end octave_example_callback(); % Diese Zeile ist neu
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.