Suche Hilfe bei ContikiOS event handling

  • Hallo zusammen,

    ich habe in letzter Zeit ein wenig mit dem ContikiOS telnet server und dem dazugehörigen sherll code experimentiert. Dabei habe ich den Shell code um zwei neue Prozesse erweitert: einen zum schreiben einer Textnachricht in ein REL file und einen, der diese Nachricht wieder ausliest. Das schreiben funktioniert schon ganz gut, aber beim lesen der Daten habe ich folgendes Problem:

    Ich logge mich auf meinem C64 per Telnet ein, der "read message" Prozess wird von der Contiki Shell gestartet und fragt nach der Indexnummer der anzuzeigenden Nachricht (z.B. 1). Diese wird eingegeben, der Prozess liest den Satz aus dem REL file und ... tja, und dann hängt sich der Prozess weg. Auf dem C64 screen kann ich noch anhand der log meldungen sehen, das die Daten korrekt gelesen wurden, aber ich bekomme keinen Text im Telnetfenster angezeigt, obwohl ich entsprechende "shell_output_str()" Funktionen aufrufe. Zudem "hängt" sich der Prozess weg, er springt nicht mehr in die Contiki Shell zurück.

    Verzichte ich auf eine interaktive Eingabe in dem "read message" Prozess (also kommentiere die entsprechende Zeile aus), und verwende stattdessen eine "fest verdrahtete" Satznummer, so klappt auch die Ausgabe durch die "shell_output_str()" Funktionen und der Prozess springt in die Contiki Shell zurück. Das Problem scheint also der Aufruf des Eingabe-Event-Handlers "PROCESS_WAIT_EVENT_UNTIL" zu sein - ist diese auskommentiert, läuft der Prozess wieder "rund". Gibt es jemanden, der etwas tiefer in der Materie steckt und mir etwas mehr zu dem Event Handling utner ContikiOS sagen kann?

    Hier der Code, den ich oben beschrieben habe:


    -
    Commodore 64 is a way of life!

    Internet: Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. und im Bitte melde dich an, um diesen Link zu sehen.
    CSDB: Bitte melde dich an, um diesen Link zu sehen.
    GitLab: Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.