//
//
#include "gdcglob.txt"
//
//*********************************************************
// Funktion: Modul liest Strings von der Schnittstelle
//           und speichert diese im buffer "input_b_m1".
//      der Buffer wird im modul 3 initialisiert.
//*********************************************************
// local parameter
//*********************************************************
// counter
// used counter 14
//      counter 15
//
//*********************************************************
//
        setbaud 1,9600,8,n,1
        setl    9,2
        setrts  off
        wrchar  xoff
        setp    0x7f02,0x01
        mode_reco
//
        setrts  off
        wrchar  xoff
        sett    50
        wait    tf_sign
        movd    " 4200AHL V2.0 (4200ah20.DW1) by J. Hoerhager AOPE/n",wstr_m15,0
        out     wstr_m15,0,c4
//
        setrts  on
        sett    20
        wait    tf_sign
//
error_main:
        setp    0x7f02,0x01
        mode_reco
        wrchar  xon
//
main:
        sett    100
        sendsig ans_sign,c3           // send sign to converter
//
main_1:
        setl    9,1
//        wrchar  xon
        wait    rx_sign,cntl_sign,tf_sign
	case	cntl_sign,test_rx_sign
	compc	14,255
	jz	overrun
        jmp     main_1
overrun:
        movd    "ERROR Buffer overrun on input CHANNEL 1/n",wstr_m15,100
        writeb  wstr_m15,100,mess_b
	jmp	error_main
test_rx_sign:
	case	rx_sign,test_tf_sign
//
// stop transmitter of dhs 2
//
 //       wrchar  xoff
        setl    9,2
        rds     wstr_m1,0
        jz      main_1
	compc	15,0
	jz	read_okay
        movd    "ERROR          on input from CHANNEL 1/n",wstr_m15,100
        movc    15,wstr_m15,106
        writeb  wstr_m15,100,mess_b
	compc	15,128		//test for break only
	jz	read_okay
	jmp	error_main
//
//***********************************************
//
test_tf_sign:
	case	tf_sign,main
        jmp     main
	//
read_okay:
        writeb  wstr_m1,0,input_b_m1       // to m3
        jnz     wait_write
        sendsig ans_sign,c3
        jmp     main
//
wait_write:
        wrchar  xoff
wait1_write:
        movd    "ERROR input_b is full/n",wstr_m15,0
        writeb  wstr_m15,0,mess_b
        sett    50
        wait    tf_sign
        writeb  wstr_m1,0,input_b_m1       // to m3
        jnz     wait1_write
        wrchar  xon
        sendsig ans_sign,c3
        jmp     main
//
zzz:
//
end

