Jump to content

Monti

Members
  • Gesamte Inhalte

    88
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Monti

  1. *Haut Kopf gegen die Wand* Mir fällt grad ein: Ich hab nicht die neuesten Bindings benutzt... Da hatten ja auch schon Andere Probleme unter Linux... Das könnte es sein, oder? (Testen mach ich morgen)
  2. Zur externen IP: Ich kann von einem PC (nicht der Pi) mich per Brickv mit dem am Pi angeschlossenen Brick verbinden. Zur hosts Datei:localhost verweist auf 127.0.0.1, also alles in Ordnung. Und bei ifconfig stimmt auch alles...
  3. Moin, ich versuche gerade folgendes Programm auszuführen: program project1; {$mode objfpc}{$H+} uses cthreads, Classes { you can add units after this }, SysUtils, IPConnection, BrickletLCD20x4,BrickletDistanceIR; type TCMD = class private ipcon: TIPConnection; lcd: TBrickletLCD20x4; dr: TBrickletDistanceIR; public procedure DistanceCB(sender: TBrickletDistanceIR; const distance: word); procedure Execute; end; const HOST = 'localhost'; PORT = 4223; UID = 'disp'; UIDB = 'dist'; var e: TCMD; procedure TCMD.DistanceCB(sender: TBrickletDistanceIR; const distance: word); begin if distance<1240 then begin //if (distance<701) and (distance >640) then WriteLn('Tuer Zu'); if (distance<500)and(distance>180) then begin lcd.WriteLine(0, 0, inttostr(distance)); lcd.writeline(1,0,datetimetostr(now)); end; WriteLn(inttostr(distance)); lcd.writeline(3,0,' '); lcd.WriteLine(3, 0, inttostr(distance)); end; end; procedure TCMD.Execute ; begin ipcon := TIPConnection.Create; lcd := TBrickletLCD20x4.Create(UID, ipcon); dr := TBrickletDistanceIR.Create(UIDB, ipcon); ipcon.Connect(HOST, PORT); dr.SetDistanceCallbackPeriod(150); lcd.BacklightOn; lcd.ClearDisplay; dr.OnDistance := {$ifdef FPC}@{$endif}DistanceCB; dr.SetDistanceCallbackThreshold('<', 20*10, 0); readln; ipcon.Destroy; end; begin e := TCMD.Create; e.Execute; e.Destroy; end. Beim ausführen über die Konsole kommt aber: pi@raspberrypi ~/Desktop/Lazarus/Tuer $ ./project1 An unhandled exception occurred at $00035650 : Exception : Could not resolve host: localhost $00035650 TIPCONNECTION__CONNECTUNLOCKED, line 475 of IPConnection.pas $000350FC TIPCONNECTION__CONNECT, line 289 of IPConnection.pas $0000871C TCMD__EXECUTE, line 55 of project1.lpr $00008854 main, line 66 of project1.lpr Der Master hängt direkt am Pi, Brickd ist installiert und ich kann mich von einem anderem Computer mit dem Master am Pi verbinden... Hat wer eine Idee, was da los ist? Monti Ist eventuell wichtig: Der Pi hat KEINE Internetverbindung, ich arbeite über statische IPs und einen LAN-Switch...
  4. Hast du dir das hier schon durchgelesen? http://www.tinkerforge.com/de/doc/Tutorials/Tutorial_Extending/Tutorial.html
  5. Hmm, dann tritt das Problem nur bei mir auf... @photron: Hast du Lazarus und fpc per apt-get installiert? Aber egal... Ich hab jetzt folgenden Programmcode: program project1; {$mode objfpc}{$H+} uses cthreads, Classes { you can add units after this }, IPConnection, BrickletLCD20x4,sysutils; type TExample = class private ipcon: TIPConnection; lcd: TBrickletLCD20x4; public procedure PressedCB(sender: TBrickletLCD20x4; const i: byte); procedure ReleasedCB(sender: TBrickletLCD20x4; const i: byte); procedure Execute; end; const HOST = 'localhost'; PORT = 4223; UID = 'disp'; { Change to your UID } var e: TExample; {$R *.res} { Callback functions for button status } procedure TExample.PressedCB(sender: TBrickletLCD20x4; const i: byte); begin WriteLn(Format('Pressed: %d', [i])); end; procedure TExample.ReleasedCB(sender: TBrickletLCD20x4; const i: byte); begin WriteLn(Format('Released: %d', [i])); end; procedure TExample.Execute; begin { Create IP connection } ipcon := TIPConnection.Create; { Create device object } lcd := TBrickletLCD20x4.Create(UID, ipcon); { Connect to brickd } ipcon.Connect(HOST, PORT); { Don't use device before ipcon is connected } { Register button status callbacks to procedure PressedCB and ReleasedCB } lcd.OnButtonPressed := {$ifdef FPC}@{$endif}PressedCB; lcd.OnButtonReleased := {$ifdef FPC}@{$endif}ReleasedCB; WriteLn('Press key to exit'); ReadLn; ipcon.Destroy; { Calls ipcon.Disconnect internally } end; begin e := TExample.Create; e.Execute; e.Destroy; end. Ergebnis: pi@raspberrypi ~/Desktop $ cd Lazarus pi@raspberrypi ~/Desktop/Lazarus $ cd Test\ fuer\ TF pi@raspberrypi ~/Desktop/Lazarus/Test fuer TF $ ./project1 Press key to exit Pressed: 0 Released: 0 Pressed: 1 Released: 1 pi@raspberrypi ~/Desktop/Lazarus/Test fuer TF $ Also: ALLES FUNKTIONIERT!!! DANKE
  6. Aus den Links kann ich (!) keine Lösung ziehen... Aber trotzdem Danke!
  7. Hab ich gdb richtig benutzt? pi@raspberrypi ~/Desktop/Lazarus/Test fuer TF $ gdb project1 GNU gdb (GDB) 7.4.1-debian Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "arm-linux-gnueabihf". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /home/pi/Desktop/Lazarus/Test fuer TF/project1...done. (gdb) run Starting program: /home/pi/Desktop/Lazarus/Test fuer TF/project1 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". Threading has been used before cthreads was initialized. Make cthreads one of the first units in your uses clause. Runtime error 211 at $0003A18C $0003A18C $B6E8081C [inferior 1 (process 2277) exited with code 0323] (gdb)
  8. Ich hab den RaspPi leider noch in Verwendung als MySQL Server, ich kann das jetzt grad nicht testen...
  9. Das muss ja irgendwie mit Brickd zusammenhängen, denn erst seit dem ich den installiert habe, hab ich diesen Error...
  10. Folgende Fehlermeldung bei der Konsole: pi@raspberry ~/Desktop/Lazarus/TestfuerTF $ ./project1 Threading has been used before cthreads was inizialized. Make cthreads one of the first units in your uses clause. Runtime error 211 at $0003A1BC $0003A1BC $B6DAC81C cthreads ist aber die erste Unit in den Uses.
  11. Moin, ich hab mir heute auf meinem Pi Lazarus installiert. Hab dazu folgende Befehle benutzt: sudo apt-get update sudo apt-get upgrade sudo apt-get install fpc sudo apt-get install lazarus Hat dann auch alles einwandfrei funktioniert. Nachdem ich dann wie in der Doku beschrieben Brickd und Brickv inbstalliert hatte, ging nichts mehr. Selbst ein "leeres" Programm gibt nur den Fehler: Project project1 raised exception class 'RunError(211)'. Hat wer eine Idee, was ich da tun kann? Monti
  12. Gibt es den Brickv auch für Android??
  13. Interessant: Ich habe festgestellt, dass ich die UID setzen kann, aber bei "distir" oder "distanceir" kommt der fehler...Firmwarebug?
  14. Welche Servos könnt ihr mir zum Steuern eines kleinen Fahrzeugs empfehlen?
  15. Also nur mit DC Brick? (Ich hab die aktuelle Motorgeneration)
  16. Könnte man einen Lego Motor mit TF steuern? (Hab noch ein paar von denen)
  17. Also die Pins scheinen nicht verbunden zu sein... Ja, hab das ganze an den Ports vom Master durchprobiert und auch mal das Kabel gewechselt.
  18. Lesen: Ja Schreiben: Nein Entfernung messen: Ja Kalibrieren: Ja
  19. Sop, Windows neu Installiert, Brickd und Brickv auch, Treiberinstallation ohne Probleme... Problem gelöst...(Zwar nicht so, wie ich eigentlich wollte, aber gelöst ist es und ich hab nen Rechner, der in 15 sec vollständig hochfährt...)
  20. Ich hab vergessen zu sagen, dass die Treiberprobleme unter XP Prof bei mir auftreten...(Jetzt hoffentlich nicht mehr, bin am neu aufsetzen) Die UID Probleme treten an nem Win 7 Rechner auf... (XP kann ich noch nicht testen)
  21. Ich hab grad auf 2.0 geupdatet, Update lief gut... Danach war die Kalibrierung nicht in Ordnung, hab die Kalibrierung heruntergeladen und gespeichert, lief ohne Probleme... Wie gesagt: Nur das Ändern der UID läuft nicht... Kann es sein, dass das entweder mit Protokoll 2.0 oder mit meinem Master (hab da auch Treiberprobleme) zu tun hat?
×
×
  • Neu erstellen...