-
Gesamte Inhalte
888 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von AuronX
-
Wenn auch sicherlich langsam einen eigenen Thread wert: Sofern jumperbar/schaltbar sich so leicht realisieren ließe, dann wäre das definitiv die von mir favorisierte Lösung.
-
Könnt ihr denn einen "allgemeinen" Snubber einsetzen? Dachte das käme auch immer auf die Last an die geschaltet wird. Ansonsten wäre ich auch sehr für eine Variante die vor Fehlbedienung sicher ist
-
[Delphi] Bindings: Prototypen
Thema antwortete auf AuronXs Nic in: Software, Programmierung und externe Tools
Bin grad noch im Urlaub, aber wenn es nur darum geht das bisher erreichte allgemein verfügbar zu machen, dann stell es einfach ins Forum und ich sortiere es zu nem Pull Request in deinem Namen ^^ -
Degree ist nur da um dir das Leben leichter zu machen. Deinen Servo interessieren nur Pulsweite und Periode. Wenn du jetzt als minimale Pulsweite zum Beispiel 1000 einstellst und als minimalen Degree -25000, dann bedeutet das nicht mehr, als dass dein Servo genau dann mit einer 1000er Pulsweite angesteuert wird, wenn du eine Position von -25000 einstellst. Dein Servo "weiß" gar nichts vom Degree. Der Sinn ist der: Wenn du einen Servo hast der 180° insgesamt drehen kann, dann kannst du den Degree von -9000 bis +9000 stellen und weißt dann, dass bei einer Position von 1000 der Servo 10° nach rechts gedreht ist. Wenn dein Servo hingegen einen Fahrtenregler ansteuert der von keine Motordrehung bis volle Drehzahl steuert, dann kannst du den Degree von 0 bis 100 stellen und weißt zum Beispiel, dass bei Position 0 die Drehzahl 0% vom Maximum ist und bei 100 halt 100% vom Maximum. Den Degree kannst du also frei definieren so wie es dir bequem ist, hoffe meine Erklärung war mehr hilfreich als verwirrend ^^
-
[Delphi] Bindings: Prototypen
Thema antwortete auf AuronXs Nic in: Software, Programmierung und externe Tools
Letzteres ist technisch nciht möglich und ich vermute sogar gegen die Bedingungen von Github (automatisches Anlegen von Accounts). Zumal ja nur ein Bruchteil der Forenuser auf Github was beisteuern wird und dann noch viele schon vorher einen Account hatten (wie ich). Code-formatierungen wird es von TF wohl zu nicht-unterstützten Sprachen kaum geben. Ansonsten reicht aber ein kostenloser Account völlig aus. Grundprinzip bei allen Github-Projekten sieht so aus: Du gehst auf das öffentliche Repo, dann forkst du es und führst alle Ändeurngen an deiner eigenen Kopie durch. Wenn was dabei ist was du für teilenswert hälst, dann kannst du ne "Pull Request" stellen, das ist quasi die Bitte an TF deine Änderungen zu übernehmen. Dann kann TF sich das anschauen, villt noch mit dir Rücksprache halten und am Ende übernehmen. Das war Github in Kurzform. Falls es jetzt noch Organisatorisch was gibt kann TF das ja nachtragen, aber meiner Erfahrung nach ist es recht unkompliziert ^^ -
[Delphi] Bindings: Prototypen
Thema antwortete auf AuronXs Nic in: Software, Programmierung und externe Tools
Github wird nicht von TF betrieben sondern ist ne unabhängige Seite die Git-Repositories für andere Leute hostet. Deswegen brauchst du da auch einen eigenen Account. Solltest du bisher nicht mit Git oder anderen Versionsverwaltungssystemen vertraut sein, kannst du dich ja auf http://help.github.com erstmal grundsätzlich damit vertraut machen. Allerdings gibt es definitiv eine gewisse Einstiegshürde, wenn man noch nie vorher Versionsverwaltung betrieben hat. -
Borg: Sag das nicht. Bei uns an der Uni sind die LEGO Teile ziemlich beliebt und werden von verschiedenen Leuten zerprogrammiert. Allerdings habe ich nie selbst daran gearbeitet, aber auf jeden Fall sollte es weit entfernt von unmöglich sein
-
[Delphi] Bindings: Prototypen
Thema antwortete auf AuronXs Nic in: Software, Programmierung und externe Tools
Meiner Ansicht nach würde es hierher gehören: https://github.com/Tinkerforge/generators Dort Unterordner delphi und erstmal alle Klassen rein. Auch wenn es bisher nicht generiert wird ^^ -
Meiner Meinung nach dürfen Zeitangaben auch in der Form "nahe Zukunft", "ferne Zukunft", "nur in euren Träumen" erfolgen. (also nur "weiche" Zeitangaben)
-
Lässt du deine Software jetzt auch von -25000 bis +25000 steuern oder machst du da weiter 9000? Weil der Degree ja im Grunde "nur" eine Umrechnung ist.
-
[Delphi] Bindings: Prototypen
Thema antwortete auf AuronXs Nic in: Software, Programmierung und externe Tools
Zu der Schleife: Findet das Warten nicht in der Funktion MsgWaitForMultipleObjects statt? Weil du das lock erst danach freigibst, das heißt also während du wartest darf es sich niemand anders nehmen. Ich würde jetzt vermuten, dass das Release VOR dem MsgWaitForMultipleObjects stehen sollte. Das if(closing) usw sollte wohl lieber zwischen aquire und if(count > 0) stehen, auf jeden fall sollte es nur dort stehen wo du das lock gerade besitzt. Sonst ist es wieder möglich, dass jemand close aufruft, nachdem du auf closing geprüft hast. -
[Delphi] Bindings: Prototypen
Thema antwortete auf AuronXs Nic in: Software, Programmierung und externe Tools
Die Funktion count macht ja nicht mehr als innerhalb einer critical-section den queue.count abzufragen. Da queue.count sonst auch nur innerhalb der locks verwendet wird ist das äquivalent. Tatsächlich sieht der vom C#-Compiler generierte Code ziemlich genau so aus (abgesehen von anderen Locking-Klassen ) Das klingt danach, dass du während des wartens das lock nicht abgegeben hast. Das wäre aber nötig. Ich versuche mal in Pseudo-code darzustellen wie es grob aussehen könnte (nicht schön aber selten): while(true) { lock.aquire(); if(count > 0) { break; } lock.release(); WaitSomeTime(); } pop(); lock.release(); In diesem Beispiel habe ich jetzt sowas wie closing und exception-handling mal ausgeblendet. Das ist jetzt nur exemplarisch fürs locking, wenn du sonst keine besseren Bordmittel von Delphi bekommst. -
[Delphi] Bindings: Prototypen
Thema antwortete auf AuronXs Nic in: Software, Programmierung und externe Tools
Ich befürchte TryDequeue ist noch nicht korrekt gelocked (habe aber auch Probleme Delphi zu lesen ^^): while (Count = 0) do begin state := MsgWaitForMultipleObjects(1,job,false,timeout,QS_ALLINPUT); if (closing) or (timeout < Timeout_Infinite) or (state=WAIT_TIMEOUT) then begin result := false; exit; end; timeout := tick-GetTickCount; end; Ich verstehe nicht ganz wie, aber wenn ich es richtig sehe ist das der Code der wartet bis mindestens ein Eintrag in der Queue steckt (das ist jetzt eine Annahme von mir). Daraufhin kommt dieser Code: writeLock.Acquire; try p:=queue.Pop; item := p^; dispose(p); finally writeLock.Release; end; Das Problem ist, dass zwischen dem Aquire und dem Verlassen der while-schleife darüber kein locking besteht. Es ist also möglich, dass mehrere Threads die while-schleife verlassen, dann bekommt der erste Thread das writeLock (Thread 2 hängt jetzt am aquire), holt sich das einzige Item in der Queue und gibt das lock wieder ab. Jetzt kann der zweite Thread weiterlaufen, beim Pop knallt es jetzt aber. Der C#-Code funktioniert deswegen, weil die gesamte Schleife in einem locked-Bereich liegt, aber das Monitor.Wait es zulässt, dass man sein Lock mittendrin wieder abgibt und auch wiederbekommen kann. Du müsstest also sicherstellen, dass man vor dem Prüfen des count das lock aquired, und es wieder abgibt und wartet falls der count == 0. Falls der count > 0, dann sollte man das lock behalten, poppen gehen und danach das lock abgeben. Viele Grüße Jan -
Error when trying to connect in Win7 64bit
Thema antwortete auf AuronXs unilizer in: General Discussion
It works under Win7 64Bit. Did you check your host, the port and that the brickd is running? The host should normally be localhost (if running from the same computer) Port should be left unchanged (I don't remember the default) To see whether the brickd is running go to Start -> Rightclick on "Computer" -> Manage. You get a window where you can navigate through a tree at the left side: Services and applications -> Services In the list search for brickd and check whether the status is "Running". -
Nennen wir es einfach Schlafstörungen
-
Master, den will borg ja auch austauschen
-
Etwas mehr Detail wäre gut ^^ Wird nicht erkannt heißt, dass gar kein Gerät im Geräte-Manager auftaucht? Oder taucht im Geräte-Manager nur ein Gerät ohne passenden Treiber auf? Du musst den Brick Daemon von hier installiert haben: http://www.tinkerforge.com/doc/Downloads.html In dessen Installationsordner wird auch ein Verzeichnis driver erstellt, dort findest du den Treiber für deine Bricks
-
Welches Brick/Bricklet, welche Extension als nächstes?
Thema antwortete auf AuronXs borg in: Allgemeine Diskussionen
Nur dass es nach der Konfiguration ohne USB-Host auskommen soll -
[PHP] erstes PHP-Script
Thema antwortete auf AuronXs Christian in: Software, Programmierung und externe Tools
Meine Pull Request ist raus, aber ich glaube beim letzten Mal ist Git explodiert... Hoffe das klappt trotzdem alles halbwegs ^^ -
Welches Brick/Bricklet, welche Extension als nächstes?
Thema antwortete auf AuronXs borg in: Allgemeine Diskussionen
Ich habe zwar nicht für GPS gestimmt aber tatsächlich kenne ich eine Anwendung ^^ Ich hatte mir schonmal die Idee zusammengesponnen, dass ich in mein Auto ein Display montieren könnte das mir den Abstand und die Geschwindigkeitsdifferenz zum Vordermann anzeigt (gibt aber leider bisher keine Distanzmessung über viele Meter). Wenn ich die absolute Geschwindigkeit meines Vordermanns haben will, dann brauche ich meine eigene Geschwindigkeit. Am wenigsten basteln muss man da mit GPS. Mit mehr basteln kann man auch irgendwo ne Raddrehzahl abnehmen und aus der die Geschwindigkeit berechnen ^^ Das wäre ein (exotischer) Anwendungsfall. -
[PHP] erstes PHP-Script
Thema antwortete auf AuronXs Christian in: Software, Programmierung und externe Tools
Das ist ja furchtbar! Ich hab mich schon immer über die vielen verstreuten ifdefs geärgert... werde mal schauen, dass ich mir nen WP-SDK installiere, dann würde ich versuchen das Problem zu entschärfen. -
[PHP] erstes PHP-Script
Thema antwortete auf AuronXs Christian in: Software, Programmierung und externe Tools
Ergänzung wegen 2.0/4.0: Die aktuell herunterladbare DLL wurde so wie es scheint für 2.0 gebaut. Daran sollte es also nicht liegen -
[PHP] erstes PHP-Script
Thema antwortete auf AuronXs Christian in: Software, Programmierung und externe Tools
Die DLLs sollen ja eigentlich 2.0 kompatibel sein. Ich müsste mal versuchen ob sie sich so wirklich kompilieren lassen... -
Umfrage: Welche Programmiersprache als nächstes?
Thema antwortete auf AuronXs borg in: Allgemeine Diskussionen
Vermutlich lässt sich da noch einiges optimieren ^^ Für einen einfachen Generator ist es am Ende nur wichtig, dass man die einzelnen Methoden nach einfachen Regeln bauen kann, deiner Beschreibung nach scheinst du ja die Handhabung sogar zu vereinfachen, sollte also gut sein. Wenn ich eine Methode generiere, dann habe ich die folgenden Informationen: - Welche ID hat sie auf TCP-Ebene - Wie heißt sie - Für alle Paramter/Rückgabewerte: Name, Typ, vielfältigkeit Vielfältigkeit wird in C# durch arrays abgebildet. (Zur Referenz: Config vom Stepper)