Jump to content

uwew

Members
  • Content Count

    13
  • Joined

  • Last visited

Community Reputation

0 Neutral
  1. Guten Morgen Jürgen. Vielen Dank für Deine Info. Ich habe zum Thema "Thread" mal ein Video (c++ Tutorial von Pilzschaf Nr. 68) angeschaut. Jetzt weiss ich so ungefähr, was man unter einem Thread versteht. Machen Threads auch beim "SingleCore"-Prozessor des RED-Bricks (Cortex A8) Sinn? Meinen aktuellen Source-Code habe ich mal als Datei angehängt. Das Programm compiliert fehlerfrei und läuft auch fehlerfrei. _P202007MS02_Dosiersystem.cpp. Allerdings tritt folgendes Problem auf: Wenn ich eine der Pumpen im Intervall-Betrieb (LCD-Button "Inter" auf dem angehängten Bild) s
  2. Hallo Markus. Vielen Dank für Deine Infos. Ich schau mir die Thread-Geschichte und das Projekt mal an. Gruss Uwe
  3. Hallo Markus. Vielen Dank für Deine Rückmeldung. Das Problem ist, dass ich eigentlich noch Programmier-Anfänger bin. Was ich suche: Wenn das Dosiersystem gestartet ist, brauche ich für jede Pumpe einen Timer, der sagt "Dosiere jetzt x Min, danach pausiere bitte y min". Ich weiss, dass es eine sleep-Funktion gibt. Den Begriff "Thread" habe ich zwar schon gehört, hab mich aber bisher nicht damit beschäftigt. Mir fehlt im Moment die Idee, wie man solche Timer in C/C++ erstellt und in ein Programm einbindet (Stichwort Interrupt?) Grüsse Uwe
  4. Hallo Ich habe ein Dosiersystem mit drei Peristaltikpumpen, gesteuert mit je einem Stepper Brick. Die Software ist in C/C++ geschrieben. Das Ganze funktioniert grundsätzlich. Bei folgender Problemstellung komme ich aber nicht weiter: Wenn die Dosiervolumina sehr klein sind, drehen sich die Motoren auch entsprechend langsam. Dann würde ich gerne auf Intervallbetrieb umstellen (d.h. 1 Minute dosieren, 9 Minuten Pause, 1 Minute dosieren, 9 Minuten ....). Hat jemand eine Idee, wie man das umsetzen kann? Zusatzinfo: Der TF-Stapel besteht aus Step-Down Power Supply, RED-Bric
  5. Das Problem mit dem Encoder-Bricklet kriege ich jetzt durch die Warteschleife in den Griff und ich kann an meiner Dosierstation weiterarbeiten. Sollte ich dabei noch auf nützliche Informationen stossen, dann schreibe ich es hier ins Forum. Nochmals vielen Dank für die Unterstützung. Gruss Uwe
  6. Problem Nr. 1 ist erledigt - ich habe die aktuelle Version des Brick-Viewers draufgespielt🙂. Zu Problem Nr. 2, Farbenspiel: Das Joy-It-Display ist vollflächig weiss, rot, grün, blau, dunkel im 2-sec-Abstand, wenn beim Einschalten das Joy-It-Display über den HDMI-Port mit dem RED-Brick verbunden und eingeschaltet ist. Trenne ich dann HDMI-Verbindung, so erscheint beim erneuten Einstecken des HDMI-Kabels der gewohnte TF-Desktop. Boote ich den RED-Brick über den grünen Kreis unten rechts auf dem Desktop, gelange ich zum erwähnten Farbenspiel. Starte ich den Brick-Viewer auf
  7. Guten Morgen. Vielen Dank für die Rückmeldungen. Zum Tipp mit dem Warten in der main(): Habe einfach eine for-Schleife mit printf("a") eingebaut. Mit dieser Schleife funktioniert es, d.h. das Programm reagiert auf den Encoder, auch wenn der RED-Brick nicht an einem Computer hängt. Welche Infos wären noch nützlich für die Ursachenforschung?
  8. Danke für die Rückmeldung. Wenn ich das Programm vom PC aus starte dann liefert printf("return value: %d \n",rotary_encoder_v2_set_count_callback_configuration(&RotEnc01, 500, false, 'x', 0, 0)); auf der Console: "return value: 0" Im Brick Viewer Log hat es folgende Einträge drin: wobei "KcD" die UID meines Rotary Encoders 2.0 ist. Leider weiss ich nicht, wo der RED-Brick den printf-Befehl ausgibt. Deshalb habe den Wert auf dem LCD128x64 ausgeben lassen. Auch da liefert die Funktion den 0 als return-value, wenn ich das Dosiersystem ohne den
  9. Hallo. Ich habe in C/C++ ein "Programm" geschrieben, welches die Counts eines Rotary Encoders als Eingabe für verschiedene Parameter benutzt. Die Parameter werden auf einem LCD128x64 über Buttons ausgewählt (s. Anhang IMG_6043.jpg). Hardware: Redbrick mit Silent Stepper Brick. An letzterem hängt ein LCD128x64 und ein Rotary Encoder V2. Das Programm macht das was es soll, solange ich es auf meinem PC starte, der über USB mit dem RED Brick verbunden ist (soweit ich das verstehe, läuft dann das Programm über den Brick Daemon). Compiliere ich das Programm auf dem RED-Brick, und
  10. Hi Bernhard. Vielen Dank für den Tip. So funktioniert es! Gruss Uwe
  11. Derzeit versuche ich eine Benutzerführung zur Steuerung von 2 Peristaltikpumpen (Schrittmotoren) auf einem LCD128x64 in C zu programmieren. Dazu verwende ich sechs Pushbuttons. Dabei hänge ich im Moment an folgendem Problem fest: Mit folgendem Callback registriere ich das Drücken eines buttons: lcd_128x64_register_callback(&lcd01, LCD_128X64_CALLBACK_GUI_BUTTON_PRESSED, (void (*)(void))cb_button01_pressed, NULL); Die Funktion cb_button01_pressed hat nur folgenden Inhalt:
  12. Du warst auf der richtigen Spur. Ganz herzlichen Dank für den Tipp!! Uwe
  13. Hallo, ich arbeite mich gerade in die Tinkerforge-Welt und die C++-Programmierung ein. Als Hardware verwende ich das Starterkit "Wetterstation (indoor)" mit einem RED-Brick. Momantan komme ich beim folgenden Problem nicht weiter: Wenn ich den Beispielcode auf den RED-Brick hochlade und compiliere erhalte ich folgende Meldungen: Executing make... Script error 2: cc -o WetterstationV02 _Wetterstation_V02.o bricklet_ambient_light.o bricklet_ambient_light_v2.o bricklet_ambient_light_v3.o bricklet_barometer.o bricklet_barometer_v2.o bricklet_humidity.o bricklet_humidity_v2.
×
×
  • Create New...