Danke, das speichern der Einstellungen hat schon mal funktioniert!
Jetzt verwirrt mich nur, warum es die Einstellugen zum COM-Port und der Baud-Rate zweimal gibt.
1.) bei Session
2.) bei Connection -> Serial
Weißt du den Grund dafür und evtl. auch die Auswirkungen wenn beides nicht synchron ist?
es stimmt, die COM und Baud Settings gibt es zweimal. Sie sind aber synchronisiert, d.h. wenn du eine Kopie änderst dann ändert sich die andere automatisch auch. Vermute mal, die Aufnahme in den Session-Tab (Hauptseite) soll die Benutzerfreundlichkeit erhöhen, da man die Parameter sehr häufig ändern muss.
Was passiert bei dir eigentlich, wenn du dann auf "Open" klickst? Kommt dann ein schwarzes Fenster ohne Inhalt? Das ist soweit normal, der Prompt zeigt sich erst wenn man in dem Fenster die Eingabetaste drückt. Du kannst dort auch einmal "help" eintippen. Siehst du die getippten Buchstaben? Und kommt dann keine Antwort?
Was passiert bei dir eigentlich, wenn du dann auf "Open" klickst? Kommt dann ein schwarzes Fenster ohne Inhalt?
Nein das habe ich noch nicht geschafft. (Das sich ein schwarzes Fenster öffnet.)
Darum werde ich mal Screenshots von allen Einstellungen machen und hoffen, das du sie mit deinem PuTTY Einstellungen vergleichst. Denn irgendwo muß ja bei mir noch der Wurm drin sein.
also wenn das schwarze Fenster nicht aufgeht, dann konnte der COM-Port nicht geöffnet werden.
Prüf nochmals im Device Manager, dass es der Richtige ist (die Nummer ändert sich öfters).
Welche Windows-Version hast du denn (ich benutze ein ganz normales Windows 7)?
Vielleicht verhindert auch eine Art Firewall- oder Sicherheitsmechanismus das ßffnen.
Du kannst auch mal Putty als Administrator starten (rechte Maustaste, dann "Als Administrator ausführen").
juhu!
Ich weiß nicht woran es gelegen hat, evtl. der Rechner-Neustart, oder einfach nur ein neuer Tag / neues Glück? Egal
Der Tipp mit dem Buffer overflow, war auch gut!
Alles wird gut, jetzt kann ich mich mit deiner Anleitung beschäftigen, um die Parameter einzustellen.
Bzgl. Timestamp kannst du ja im Source Code einfach millis() aufrufen und in der ersten Spalte mit ausgeben. Das sind dann die Millisekunden seit dem Systemstart. Ist hinterher bestimmt einfacher weiterzuverarbeiten (z.B. zum Plotten) als eine formatierte Ausgabe a la "1:05.62".
Bzgl. Timestamp kannst du ja im Source Code einfach millis() aufrufen und in der ersten Spalte mit ausgeben.
Das habe ich gemacht und dann erst einmal testweise kompiliert. Tja mir fehlt die Bibliothek "timer.h"
Hast du eine besondere im Einsatz, oder kann ich die erst Beste nehmen, die man im Netz so findet?
[edit] Zusätzlich wundere ich mich, warum du diese Bib. anders eingebunden hast, als die drei anderen Bibliotheken davor... [/edit]
timer.h ist Teil des zip-Files, das ich dir gesendet habe. Darin sind insgesamt 3 Dateien:
- rc_lab.ino
- timer.h
- timer.cpp
Alle drei Dateien müssen in demselben Verzeichnis liegen. Wenn du dann rc_lab.ino in der Arduino-GUI öffnest werden auch die anderen beiden Files in separaten Tabs mitgeladen und beim compilieren dazugebunden.
Es geht mir um folgendes:
Zuerst möchte ich den Logger in einem E-Segler benutzen / testen, bevor er in meinen "heiligen" Messdaten-Heli kommt.
In dem Segler habe ich aber nur einen 7 Kanal-Compakt Empfänger von Multiplex drin. Jetzt ist platzmäßig doch etwas ungünstig, einen Adapter zu bauen, der mir jeden Empfängerkanal als V-Kabel aufspaltet. Darum würde ich gerne die unbenutzte Empfänger-Buchse des Seriellen Datenstroms (mit allen Empfängerkanälen) in den Logger einspeisen.
mir dem hier gleich folgendem Quell-Code in dem Logger weiterverarbeiten und auf die SD-Karte schreiben. Kannst du dir das mal anschauen? (Wie man dies in dein Programm integrieren kann?)
Quell-Code von ingo_s
#if defined(SERIALRX_SRXL) // ----------------------------------------------
#warning SERIALRX_SRXL defined // emit device name
if (index < SERIAL_FRAME_SIZE) //JRB Should this be just < so we don't overflow buffer????? YES!!!
buf[index++] = ch;
// MPX SRXL 12/16 channels
if ( ((buf[0] == MPX_SRL_12_CHAN_ID) && (index >= MPX_SRL_12_CHAN_SIZE))
|| ((buf[0] == MPX_SRL_16_CHAN_ID) && (index >= MPX_SRL_16_CHAN_SIZE)) )
{
uint16_t crc = 0;
for (uint8_t i=0; i<index; i++){
uint8_t data;
data = buf[i];
crc = _crc_xmodem_update(crc, data);
}
if (crc == 0){
volatile int16_t **p = rx_chan;
// Only process first 8 channels
for (int8_t i=2; i<18; i+=2)
{
uint16_t w = (((uint16_t)buf[i-1] << 8) | (uint16_t)buf[i] ) & 0xfff; //12 Bit Maske
*p[(i>>1)-1] = ((((w << 1) + w) - (w >> 2)) >> 3) + 796;
}
sbus_return = true;
}
index = 0;
#if defined(SERIAL_DEBUG) && 2
//Serial.println("Serial SRXL");
#endif
}
// HoTT SUMD
else if ( ((buf[0] == HOTT_SUMD_ID1) && ((buf[1] & 0x7f) == HOTT_SUMD_ID2) ) )
{
uint8_t n_channels = buf[2];
if (index >= ((n_channels << 1) +5))
{
uint16_t crc = 0;
for (uint8_t i=0; i<(index-2); i++){
uint8_t data;
data = buf[i];
crc = _crc_xmodem_update(crc, data);
}
if (crc == ((buf[index-2] << 8) + buf[index-1])){
volatile int16_t **p = rx_chan;
// Only process first 8 channels
for (int8_t i=2; i<18; i+=2)
{
uint16_t w = (((uint16_t)buf[i+1] << 8) | (uint16_t)buf[i+2] );
*p[(i>>1)-1] = (w >> 3);
}
sbus_return = true;
}
index = 0;
#if defined(SERIAL_DEBUG) && 2
//Serial.println("Serial SUMD");
#endif
}
}
//his add for debug
#if defined(SERIAL_DEBUG) && 2
if (RXcount > 10){
for (index = 0; index < 8; index++){
Serial.print(*rx_chan[index]); Serial.print(' ');
}
Serial.println(' ');
RXcount = 0;
}
if (sbus_return)
RXcount++;
#endif
}
return (sbus_return);
#endif // SERIALRX_SRXL -------------------------------------------------------
Und hier ist die offizielle Schnitstellenbeschreibung von Mulitiplex zu dem Thema SRXL-MULTIPLEX V2 Schnittstellenbeschreibungen
es wäre eine logische Weiterentwicklung, den 7-Kanal-Logger um ein serielles Input-Feature zu erweitern. Idealerweise wären das dann mehrere Protokolle: Multiplex SRXL, Graupner HOTT, Futaba SBUS, Spektrum, ... Man bräuchte dann halt von jedem System einen Sender + Empfänger um das Ganze zu testen. Leider fliege ich z.Zt. Spektrum und habe keinen Zugriff auf Multiplex Hardware. Auch scheint die Nachfrage hier im Forum nicht wirklich groß zu sein, damit es sich lohnen würde, das alles zu implementieren.
Du könntest aber evtl. den SRXL-Decoder von deinem Bekannten um eine Logging-Funktion erweitern. Ich glaube, so rum wäre es vermtl. einfacher. Wenn die Daten mal da sind müssen sie ja nur auf die Karte geschrieben werden.
Ansonsten könntest du natürlich auch kurze Servo-Verlängerungskabel durch den RCLab-Logger schleifen, d.h. nur die Signalleitung anlöten (nicht auftrennen). Dann brauchst du keine V-Kabel.
Ich hab mir auch schon mal überlegt, das Ganze mit dreireihigen Stiftleisten zusammen in ein kleines Gehäuse zu bauen (so wie ein Empfänger oder FBL) und dann mit 7 cm Patchkabeln zu arbeiten. Dann sollte sich die Extraverkabelung auch in Grenzen zu halten. Aber da steckt dann natürlich gleich wieder ein großer Aufwand dahinter (Platine machen, Gehäuse drucken, usw.)
Wir verarbeiten personenbezogene Daten über Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen, Werbung zu personalisieren und Websiteaktivitäten zu analysieren. Wir können bestimmte Informationen über unsere Nutzer mit unseren Werbe- und Analysepartnern teilen. Weitere Einzelheiten finden Sie in unserer Datenschutzrichtlinie.
Wenn Sie unten auf "Einverstanden" klicken, stimmen Sie unserer Datenschutzrichtlinie und unseren Datenverarbeitungs- und Cookie-Praktiken wie dort beschrieben zu. Sie erkennen außerdem an, dass dieses Forum möglicherweise außerhalb Ihres Landes gehostet wird und Sie der Erhebung, Speicherung und Verarbeitung Ihrer Daten in dem Land, in dem dieses Forum gehostet wird, zustimmen.
Kommentar