Aenderung afterEvent bei laufendem Timer

  • hab mal wieder ne frage: wie aendere ich afterEvent bei einem recording timer?

    habe folgendes probiert, aber das funktioniert nicht:

    ich lasse mich benachrichtigen, wenn der timer startet und führe dann folgende routine aus:

    Code
    def modTimer(path):                                                                          
            for i, timer in enumerate(NavigationInstance.instance.RecordTimer.timer_list):       
                    if timer.Filename == path:                                                   
                            NavigationInstance.instance.RecordTimer.timer_list[i].afterEvent = AFTEREVENT.NONE
            return 

    wenn der timer endet, scheint aber afterEvent immer noch auf DEEPSTANDBY zu stehen.

    jemand ne idee? danke.

  • Geht er denn in die if-Bedingung zum Filename?

    Hast du mal ein print innerhalb der if-Bedingung ausgegeben, ob er den Code auch ausführt?


    Ich hatte das irgendwo schon mal, dass beim Filename nicht immer der tatsächliche Dateipfad, sondern None zurückkam.

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

  • das aendern von timer.afterEvent scheint zu funktionieren, aber RecordTimer scheint die aenderung nicht mitzubekommen.


    das ganze passiert im idle mode.

    der timer weckt die box auf, startet recording, afterEvent is 3 = Auto.

    bei der start-benachrichtigung setze ich afterEvent auf 0 = None. dass die aenderung funktioniert hat, sieht man bei der recording end-benachrichtigung, da ist timer.afterEvent = 0.

    allerdings hat der RecordingTimer bereits bevor ich benachrichtigt werden entschieden, die box wieder herunterzufahren, da er wohl noch von afterEvent = 3 ausgeht.

    d.h. die frage ist: wie sage ich dem RecordTimer, dass sich das afterEvent geaendert hat. habe mal

    Code
    NavigationInstance.instance.RecordTimer.timeChanged(timer)

    probiert, aber das hat nichts bewirkt.

  • denke, ich habe das "problem" gefunden:

    Code
     316                         force_auto_shutdown = NavigationInstance.instance.wasTimerWakeup() and \
     317                                 config.misc.isNextRecordTimerAfterEventActionAuto.value and \
     318                                 Screens.Standby.inStandby and config.misc.standbyCounter.value == 1

    dadurch wird das AFTEREVENT.NONE ignoriert.

    wenn ich das

    Code
    config.misc.isNextRecordTimerAfterEventActionAuto.value 

    auf False setze, dann funktioniert es so, wie ich es mir vorstelle. "nebenwirkungen" muss ich noch beobachten :smiling_face: