Eure Ideen haben gewiss Vorteile und Nachteile:
zu Daniel....vor mir liegt ein PCM-Empfänger von Graupner "smc16 scan 35"
mit nen Skop waren auf allen Kanälen feine Nadelimpulse im ySec. Bereich sichtbar, obwohl Sender aus und
Fail Save nicht aktiv war.
Bei PPM Empfängern ist nichts zu sehen. Bei Jeti 2,4 GHz bin ich mir nicht so sicher.
Die käuflichen Pieper reagieren nicht, wenn der Sender aus ist.
Zum anderen verschwindet das Modul im Rumpf und man kümmert sich nicht mehr darum. Oftmals käme man
nicht so eben mal ran, um eine Taste zu drücken.
Ich würde sagen, daß mit den 3 Zeiten hat sich schon bewährt.
so war es mit den PIC:

#include<p12f675.inc>

__config _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _BODEN_ON

radix dec ;alle nicht defin. Werte, z.B HIGH 1300 dezimal
;Configurationsergebnis =

;************************************************* **********************************

;Variable Definition (nach Anwendung anpassen)


CBLOCK 0x20 ;erste RAM Adresse = 20h anwählen
SEKUNDEN_HIGH ;20h Variablen auf Spalte 1 setzen (Col 1)
SEKUNDEN_LOW ;21h
LOOP1 ;22h
LOOP2 ;23h
LOOP3 ;24h
ENDC ;mit ENDC unbedingt abschließen
;************************************************* **********************************


org 0x00 ;Reset ab Adresse 0

;Vorbereitung:

movlw 0x3F ;B'0011 1111'
movwf CMCON ;GP0-GP5 = digital (Bank0)
bsf STATUS,RP0 ;Bank 1
errorlevel -302
movlw B'111011' ;GP0/1/3/4/5 = Input=1
;GP2 = Output=0
movwf TRISIO ;Register in Bank1
movlw B'110011' ;GP-Eingänge mit Pull-Up Widerst.=1
movwf WPU ;Register in Bank1
bcf OPTION_REG,7 ;GPPU-Bit 7 auf Null setzen
call 0x3FF ;springe zur Adresse 3FFh und hole ins W-Reg.
;da liegt der Inhalt vom Hersteller und
;Rückkehrbefehl retlw
movwf OSCCAL ;Inhalt vom W-Register ins Register OSCCAL
;interner Oszillator wird kalibriert.
bcf STATUS,RP0 ;Bank 0
errorlevel +302
clrf GPIO ;Wichtig, Register definitiv auf Null setzen!

;Adresse Befehl Operand Kommentar

begin goto abfrage

abfrage btfss GPIO,1 ;Taste "Test",springe wenn Test offen(GP1=High)
goto blinken
btfss GPIO,4 ;Taste "S1",springe wenn S1 offen(GP4=High)
goto vorber1
btfss GPIO,0 ;Taste "S2",springe wenn S2 offen(GP0=High)
goto vorber2
btfss GPIO,5 ;Taste "S3",springe wenn S3 offen(GP5=High)
goto vorber3
goto abfrage


blinken bsf GPIO,2 ;Output GP2 = HIGH, Pieper EIN
call impuls ;Impulszeit ca. 3Sek.
bcf GPIO,2 ;Output GP2 = LOW, Pieper AUS
call pause ;Pausenzeit ca. 5 Sek.
goto blinken

impuls movlw H'FF' ;Achtung: für"'" richtige Taste(#) verwenden!
movwf LOOP1
movlw H'FF'
movwf LOOP2 ;impuls-Zeitroutiene = 0,8 Sec.
movlw H'04'
movwf LOOP3

blink decfsz LOOP1,F ;Sprung, wenn LOOP1 = 0
goto blink
decfsz LOOP2,F ;Sprung, wenn LOOP2 = 0
goto blink
decfsz LOOP3,F ;Sprung, wenn LOOP3 = 0
goto blink
retlw 0 ;CALL-Rücksprung (Impuls)

pause movlw H'FF'
movwf LOOP1
movlw H'FF'
movwf LOOP2 ;pause-Zeitroutiene = 3,2 Sec.
movlw H'10'
movwf LOOP3

gehe0 decfsz LOOP1,F ;Sprung, wenn LOOP1 = 0
goto gehe0
decfsz LOOP2,F ;Sprung, wenn LOOP2 = 0
goto gehe0
decfsz LOOP3,F ;Sprung, wenn LOOP3 = 0
goto gehe0
retlw 0 ;CALL-Rücksprung, Ende der Pausenzeit.

;************************************************* *************************

vorber1 movlw HIGH 1200 ;Zeitschleife = 20 Minuten
movwf SEKUNDEN_HIGH ;gemessen = 1201 Sec.
movlw LOW 1200
movwf SEKUNDEN_LOW
call warten
goto blinken


warten incf SEKUNDEN_LOW,F ;Inhalt+1 (Inkrementieren)
incf SEKUNDEN_HIGH,F


warten1 decfsz SEKUNDEN_LOW,F ;dekrement (-1 springe wenn 0)
goto warten2 ;Sprung zur 1 Sekunden-Schleife
decfsz SEKUNDEN_HIGH,F
goto warten2
retlw 0 ;Rückkehr zum blinken

warten2 movlw H'FF'
movwf LOOP1
movlw H'FF'
movwf LOOP2
movlw H'05'
movwf LOOP3

gehe decfsz LOOP1,F ;Sprung, wenn LOOP1 = 0
goto gehe
decfsz LOOP2,F ;Sprung, wenn LOOP2 = 0
goto gehe
decfsz LOOP3,F ;Sprung, wenn LOOP3 = 0
goto gehe
goto warten1

;************************************************* *****************************

vorber2 movlw HIGH 1800 ;Zeitschleife = 30 Minuten
movwf SEKUNDEN_HIGH ;gemessen = 1802 Sec.
movlw LOW 1800
movwf SEKUNDEN_LOW
call hallo
goto blinken


hallo incf SEKUNDEN_LOW,F ;Inhalt+1 (Inkrementieren)
incf SEKUNDEN_HIGH,F


hallo1 decfsz SEKUNDEN_LOW,F ;dekrement (-1 springe wenn 0)
goto hallo2
decfsz SEKUNDEN_HIGH,F
goto hallo2
retlw 0

hallo2 movlw H'FF'
movwf LOOP1
movlw H'FF'
movwf LOOP2
movlw H'05'
movwf LOOP3

laufe decfsz LOOP1,F ;Sprung, wenn LOOP1 = 0
goto laufe
decfsz LOOP2,F ;Sprung, wenn LOOP2 = 0
goto laufe
decfsz LOOP3,F ;Sprung, wenn LOOP3 = 0
goto laufe
goto hallo1

;************************************************* *********************************

vorber3 movlw HIGH 2400 ;Zeitschleife = 40 Minuten
movwf SEKUNDEN_HIGH ;gemessen = 2402 Sec.
movlw LOW 2400
movwf SEKUNDEN_LOW
call gisela
goto blinken


gisela incf SEKUNDEN_LOW,F ;Inhalt+1 (Inkrementieren)
incf SEKUNDEN_HIGH,F


gisela1 decfsz SEKUNDEN_LOW,F ;dekrement (-1 springe wenn 0)
goto gisela2
decfsz SEKUNDEN_HIGH,F
goto gisela2
retlw 0

gisela2 movlw H'FF'
movwf LOOP1
movlw H'FF'
movwf LOOP2
movlw H'05'
movwf LOOP3

springe decfsz LOOP1,F ;Sprung, wenn LOOP1 = 0
goto springe
decfsz LOOP2,F ;Sprung, wenn LOOP2 = 0
goto springe
decfsz LOOP3,F ;Sprung, wenn LOOP3 = 0
goto springe
goto gisela1
org 0x3FF
retlw 0x80
end