Ich meine einfach mal gar keine Pause dazwischen.
Druckbare Version
Ich meine einfach mal gar keine Pause dazwischen.
Hallo,
ich hab nur den RP6 und die M32.
Ich habs mit Kabel nochmal ausprobiert - erst kamen zwar die Sensorwerte an, Befehle vom PC wurden aber nicht ausgeführt.
Nach einigen Malen trennen und wieder verbeinden funktionierte alles einwandfrei.
lg
Michi
Wenn ich jetzt dein Programm starte und dann auf Beeper gehe, kann ich einen Sound abspielen, mit mindestens 400ms Dauer. Mag sein, dass es hier sogar besser ist, hört man dann wenigstens was. Bei Melodien kann ich zwar auf 100 runter, dann tue ich von mir aus den Ton einfügen, den nächsten, noch einen... Aber es gibt doch Melodien, deren Töne schon fast nacheinander kommen, oder mit 10ms oder so.
Ist jetzt glaube ich verständlicher. :)
Ja, das sollte dann mit der neuen Version von sich aus weg sein.
Wie gesagt, das liegt einfach an der Art, wie ich das eingebaut habe.
Ich hatte da früher ein kleines problem und musste dwegen einen etwas seltsamen Weg für die Töne wählen.
Ok, dann, wie gesagt, warten wir doch auf die nächste Version :)
Also den übertragenen Daten nach zu urteilen hast du ein Problem mit dem Mikrofon...Zitat:
Zitat von RobotMichi
Wie gesagt, ich hatte das auch schon und habe keine Ahnung warum.
Wenn du willst kannst du einfach im Code in der Datei "Firmware\Library\RP6control\PCConnection_M32. c" die Zeileauskommentieren.Code:writeInteger(getMicrophonePeak(),DEC);
Dann klappt zwar das Mikrofon nicht mehr, aber das tut es ja jetzt auch nicht ;)
Ich werde wohl mal SlyD fragen wie das passieren kann...
Hallo,
ich hab jetzt die Zeile auskommentiert - das Problem, dass das [/DATA] fehlt besteht weiterhin. Aber wie gesagt, nur mit Funk.
lg
Michi
Hm... Das ist aber merkwürdig...Dann liegts vielleicht doch am Funk...
Über kabel kommen auch Mikrofonwerte rein? (wenn dus wieder einkommentierst natürlich nur ;) )
ja, über Kabel bewegt sich der Mikrofonzeiger wenn ich es antippe.
Ich habe das Programm mit dem RP6+M32+M128 getestet und vermute noch einige Bugs.
Die Version auf dem Basis board scheint gut zu laufen. Mir gefällt jedoch die Anzeige bzw. Steuerung der Motorfunktion nicht, der Motorbefehl wird erst abgesetzt wenn man den Regler loslässt. Man sieht auch die eigentlich interssanten Messwerte der Motordaten aus dem Überwachungsfenster nicht oder nur indem man zwischen den Reitern umschaltet. Das lässt sich besser lösen. Der Regler ganz rechts hat irgendwie keine Funktion? Aber zur Motorsteuerung gleich noch mehr.
Zunächst testete ich ausgiebig Base+M32
Bedient man den Motorenmittelregler, werden zwar die Regler der Einzelmotoren mit bewegt, der Befehl an beide Motoren scheint aber manchmal verloren zu gehen bzw. nur manchmal an der Base anzukommen. Die Einzelregler funktionieren aber wohl - da hatte der Bot noch keine Aussetzer.
Dann ist mir aufgefallen, das die LEDs auf der M32 falsch angesteuert werden. Die Reihenfolge von LED 1-4 ist vertauscht, also wenn ich LED4 anschalte geht LED1 an, usw. Ich weis nicht ob das ein Bug in der Firmware oder im Programm ist, es ist jedenfalls sicher reproduzierbar.
Mein M32 Board ist leider eines aus der Charge wo die Diode D1 fehlt, demnach schlägt der Microfontest fehl - dazu kann aber die Software nix.
Leider liest das Programm die Werte für die ADC0/1 auf dem Baseboard nicht aus, ich habe mir da ein Linesensormodul angeschlossen und würde natürlich gerne auch die Daten am ADC sehen.
Gleiches gilt für die ADC Werte des M32 Boards (die ich aktuell noch nicht nutze).
Dann hab ich versucht das Log im Programm zu stoppen um es mit c&p hier einzubauen.. zum meinem erstaunen stoppt das log aber nicht... auch läuft es nicht so das die jeweils aktuelle Zeile sichtbar ist.... sondern ab der ersten im log... das macht wenig Sinn.
Was ich nämlich dokumentieren wollte ist, das der Bot verbunden ist, es auch Werte für die Batterie und die LDRs gibt (oder zumindest was angezeigt wird - ich bezweifele dass es sich um aktuelle Daten des Bot handelt), jedoch das auslesen weiterer Daten scheinbar fehlschlägt.
[INFO] 00:13:14: 'RP6SensorReader.RefreshSensors': Heartbeat
[INFO] 00:08:10: 'RP6AsyncControler.EnqueueCommand': Trying to start command: #9:1:67*
[INFO] 00:13:15: 'RP6SensorReader.RefreshSensors': Heartbeat
[INFO] 00:08:10: 'RP6AsyncControler.EnqueueCommand': Trying to start command: #9:1:68*
Im Programm ist wärend dessen auch das Selbsttestfenster eingegraut. Anscheinend funktioniert die i2c Bus Kommunikation nicht mehr richtig worauf hin auch das Programm durcheinander gerät. Trennt man im Programm die Verbindung, bleibt der Button trennen aktiv und eine Widerverbindung ist nicht möglich.
Dann.. Test mit Base+M32+M128
Die I2C Kommunikation war nur nach mehrmaligem Booten mit Glück hinzubekommen, die M128 konnte das LCD welches auf der M32 aufgesteckt war z.b. nicht beschreiben (per i2clcdtest sollte das doch gehen), Messwerte wie für die LDR gingen verloren, die LEDs auf dem m32 Board waren ebenfalls verdreht usw usw... geschätzt sind ca. 40% aller Daten verloren gegangen, letztlich hatte ich massenweise Schwierigkeiten das Ganze ansatzweise zum Laufen (oder sagen wir besser zu einer Reaktion) zu bringen. Es war offensichtlich das beide kleinen CPUs im Slave Mode liefen und teilweise Daten ankamen... aber eben nicht durchgängig und nicht immer 100%ig reproduzierbar.
Es scheint dabei evtl. Timingprobleme auf dem ic2 sowie auch Programmfehler bei unerwarteten Antworten des Bot auf Sensorabfragen zu geben. Bei der M128 jedoch mehr als mit der M32.
Meine Meinung: An dem Programm sowie an den Libs und "Firmware" muss noch viel gemacht werden bevor das eine sinnvolle nützliche Software ist, für einfache Tests ist das Ding jedoch brauchbar und für Entwickler ein schönes Beispiel was alles schief gehen kann.
Achso... und manchmal bekomme ich beim beenden des Programms auch eine Fehlermeldung das irgendwas abgeschmiert sei, das mir netterweise beim Neustart dann angezeigt wird...
Gruß RolfD
Code:See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ComponentModel.Win32Exception (0x80004005): Der angegebenen Datei ist keine Anwendung zugeordnet
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at DiamondFramework.Logger.FormReportError.btnShowFile_Click(Object sender, EventArgs e) in H:\RP6\RP6 Remotrol\C#\DiamondFramework\Logger\FormReportError.cs:line 39
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
RP6 Remotrol
Assembly Version: 1.3.1.251
Win32 Version: 1.3.1.251
CodeBase: file:///D:/RP6/RP6%20Remotrol%201.3/RP6%20Remotrol.exe
----------------------------------------
DiamondFramework
Assembly Version: 1.1.0.37216
Win32 Version: 1.1.0.37216
CodeBase: file:///D:/RP6/RP6%20Remotrol%201.3/DiamondFramework.DLL
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.WindowsAPICodePack
Assembly Version: 1.1.0.0
Win32 Version: 1.1.0.0
CodeBase: file:///D:/RP6/RP6%20Remotrol%201.3/Microsoft.WindowsAPICodePack.DLL
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.