//**********************************************************
// AFS Global Paramter
//**********************************************************
//  COMMON AFS DEFINES
//
#define baud_300	0X44
#define baud_1200	0X66
#define baud_2400	0X88
#define baud_4800	0X99
#define baud_9600	0Xbb
//
#define port_b0         s15,240
#define port_b1         s15,241
#define port_b2         s15,242
#define port_b3         s15,243
#define port_b4         s15,244
#define port_b5         s15,245
#define port_b6         s15,246
#define port_b7         s15,247
//*********************************************************
//**************************************** special memory *
//*********************************************************
//
#define csra	0Xfc81
#define csrb	0Xfc89
#define csrc	0Xfc91
#define csrd	0xfc99
//
//*************************************
//
// test expanded memory is installed
// getp 	expand_mem,dec
// compd	"064",s15,240
//
#define expand_mem	0xd4d0
//
//*************************************
//
// Modul 0 : 0xe819
// Modul 1 : 0xe919
// Modul 2 : 0xea19
// Modul 3 : 0xeb19
// setp    0xea19,143	   // set end_char for recordend
// setp    0xea1a,143	   // set mask_char for recordend
// For MODE_SPRECO defines the end_char and his mask
//
//*************************************
// configuration of the serial-channel
//
// setp    0x7f02,0x02
// 0x00 for use timeout for waiting on XON and not clear XOFF
// 0x01 for wait on XON without any timeout
// 0x02 for use timeout for waiting on XON and clear XOFF after timeout
//
//*********************************************************
//*********************************************** STRINGS *
//*********************************************************
//*************************************
// S13 used in this modul ***** fixed *
//*************************************
//
#define a2824_input_cr	     s13,2
// s13,200 for calculate the security value
//
//*************************************
//
#define dbs_str 	s14
#define dbs_str_0	s14,0
//
// s14,195 used for test for "INIT"
//
#define param_1         s14,200
#define param_2         s14,220
#define param_r1        s14,239
#define param_r2        s14,238
#define param_r3        s14,237
#define param_r4        s14,236
#define param_r5        s14,235
#define param_r6        s14,234
#define param_r7        s14,233
#define param_r8        s14,232
#define param_r9        s14,231
#define param_r10       s14,230
//
#define flag_parameter  s14,240         // length 10
#define flag_0          s14,240
#define flag_1          s14,241
#define flag_2          s14,242
#define flag_3          s14,243
#define flag_4          s14,244
#define flag_5          s14,245
#define flag_6          s14,246
#define flag_7          s14,247
#define flag_8          s14,248
#define flag_9          s14,249
#define flag_10         s14,250
#define flag_11         s14,251
#define flag_12         s14,252
#define flag_13         s14,253
//
#define ahl_in_print    flag_2          //0
#define ahl_out_print   flag_3          //0
#define debug_m2        flag_4          //0
#define print_fifo_old  flag_5          //0
#define dhs2_out        flag_6          //0
#define protokoll       flag_7          //0
#define roomstate_mess  flag_8          //2
#define ahl_protocol    flag_9          //0
#define sw_unit_cost    flag_10         //1
#define business_flag   flag_11         //1
//
//
#define dbs_search_str  s15,0
#define dbs_para	s15,100
#define dbs_para_reco	s15,104
//
#define calc_erg_sub	s15,140
//
#define fdt_str 	s15,150
#define dt_str		s15,180
#define dt_str_year	s15,180
#define dt_str_month	s15,182
#define dt_str_day	s15,184
#define dt_str_weekday	s15,186
#define dt_str_hour	s15,188
#define dt_str_minute	s15,190
#define lfdt_str	21
//
#define calc_erg_flag	s15,204
#define calc_p1 	s15,210
#define calc_p1_5	s15,215
#define calc_p2 	s15,220
#define calc_erg	s15,230
#define calc_erg_2dg	s15,236
#define calc_erg_3dg	s15,235
#define calc_erg_4dg	s15,234
#define calc_erg_5dg	s15,233
#define calc_erg_6dg    s15,232
#define calc_rest	s15,240
//*************************************
// Strings for modul 0
//
#define wstr_m0 	s0
#define wstr_m04	s4
//
//*************************************
// Strings for modul 1
//
#define wstr_m1 	s1
#define wstr_m15	s5
//
//*************************************
// Strings for modul 2
// Modul ahledv
//
//
#define ahl0_in_str		s2
#define ahl0_out_str		s9
#define ahl0_wstr		s6
//
#define wstr0			ahl0_wstr
//
#define wstr_m2 	s2
#define wstr_m26	s6
//
//*************************************
// Strings for modul 3
//
#define wstr_m3 	s3
#define wstr_m37	s7
#define dhs2_save	s8
#define print_str       s10
//
#define dhs2_save_0     s8,0
#define dhs2_save_date	s8,12
#define dhs2_savezi_status		dhs2_save_str,65
#define dhs2_savezi_status_number	dhs2_save_str,66
#define dhs2_savezi_status_1dg		dhs2_save_str,68
//
//*************************************
// CheckIn / Out recodef
//
#define check_code		dhs2_save,0
#define check_ext		dhs2_save,1	// l= 5
#define check_name		dhs2_save,6	// l= 20
//
#define check_hour		dhs2_save,26	// l= 2
#define check_min		dhs2_save,27	// l= 2
#define check_day		dhs2_save,30	// l= 2
#define check_month		dhs2_save,32	// l= 2
#define check_year		dhs2_save,34	// l= 4
#define check_year_2dg		dhs2_save,36
//
#define check_calls		dhs2_save,38	// l= 4
#define check_language		dhs2_save,42	// l= 1
#define check_password		dhs2_save,43	// l= 4
#define check_ddi               dhs2_save,47    // l= 5
#define check_dnd               dhs2_save,52    // l= 1
#define check_mess              dhs2_save,53    // l= 1
#define check_amtsge            dhs2_save,54
#define check_vorkasse          dhs2_save,61    // l= 10
#define check_costs             dhs2_save,71    // l= 10
#define check_ges_cost          dhs2_save,71    // l= 10
#define check_soll_cost         dhs2_save,81    // l= 10
#define check_guth_cost         dhs2_save,91    // l= 10
//
#define ticket_parameter        wstr_m3,34
#define l_name			20
#define l_extension		4
#define l_calls 		3
#define l_language		1
#define l_password		4
#define l_ddi			4
#define l_dnd			1
#define l_mess			1
#define l_amtsge                1
#define l_vorkasse		7
#define l_costs 		7
#define l_ges_cost		7
#define l_soll_cost		7
#define l_guth_cost		7
//
//					Betriebsteilnehmer
// s11 reseved for database handling
//
#define input_state	s12,200  // state of the reader-modul l=4
#define old_state	s12,210  // old state marker l=4
//
//*********************************************************
//*************************************** Global Konstant *
//*********************************************************
//
#define dhs2_in 		wstr_m3
//
#define dhs2_tln_in		dhs2_in,2
#define dhs2_tln		dhs2_in,0
#define dhs2_tln_num		dhs2_in,1
#define dhs2_type_in		dhs2_in,7
#define dhs2_type		dhs2_in,5
#define dhs2_date_in		dhs2_in,14
#define dhs2_date_out		dhs2_in,12
#define dhs2_time_in		dhs2_in,23
#define dhs2_time_out		dhs2_in,21
#define dhs2_duration_in	dhs2_in,29
#define dhs2_duration		dhs2_in,27
#define dhs2_units_in		dhs2_in,38
#define dhs2_dienst_in		dhs2_in,43
#define dhs2_dienst		dhs2_in,36
#define dhs2_extern_in		dhs2_in,50
#define dhs2_extern		dhs2_in,43
#define dhs2_cost_in		dhs2_in,85
#define dhs2_dot1_in		dhs2_in,86
#define dhs2_dot2_in		dhs2_in,87
#define dhs2_dot3_in		dhs2_in,88
#define dhs2_dot4_in		dhs2_in,89
#define dhs2_dot5_in		dhs2_in,90
#define dhs2_dot6_in		dhs2_in,91
#define dhs2_gr1_in		dhs2_in,87
#define dhs2_gr2_in		dhs2_in,88
#define dhs2_gr3_in		dhs2_in,89
#define dhs2_gr4_in		dhs2_in,90
#define dhs2_gr5_in		dhs2_in,91
#define dhs2_gr6_in		dhs2_in,92
#define dhs2_comma1_in		dhs2_in,89
#define dhs2_comma2_in		dhs2_in,90
#define dhs2_comma3_in		dhs2_in,91
#define dhs2_comma4_in		dhs2_in,92
#define dhs2_comma5_in		dhs2_in,93
#define dhs2_comma6_in		dhs2_in,94
#define dhs2_cost		dhs2_in,70
#define dhs2_dot		dhs2_in,75
#define dhs2_gr 		dhs2_in,76
#define dhs2_cr_pos		dhs2_in,79
#define dhs2_zi_status		dhs2_in,65
#define dhs2_zi_status_number	dhs2_in,66
#define dhs2_zi_status_1dg	dhs2_in,68
//
//******************************
//
#define r31_dhs2_extension    dhs2_in,7
#define r31_dhs2_type         dhs2_in,13
#define r31_dhs2_direction    dhs2_in,13
#define r31_dhs2_line         dhs2_in,17
#define r31_dhs2_line_2dg     dhs2_in,18
#define r31_dhs2_date         dhs2_in,21
#define r31_dhs2_date_day     dhs2_in,21
#define r31_dhs2_date_month   dhs2_in,24
#define r31_dhs2_date_year    dhs2_in,27
#define r31_dhs2_time         dhs2_in,30
#define r31_dhs2_time_hour    dhs2_in,30
#define r31_dhs2_time_min     dhs2_in,33
#define r31_dhs2_durat        dhs2_in,36
#define r31_dhs2_durat_hour   dhs2_in,36
#define r31_dhs2_durat_hour_1 dhs2_in,37
#define r31_dhs2_durat_min    dhs2_in,39
#define r31_dhs2_durat_sec    dhs2_in,42
#define r31_dhs2_units        dhs2_in,45
#define r31_dhs2_dienst       dhs2_in,50
#define r31_dhs2_faci         dhs2_in,53
#define r31_dhs2_extern       dhs2_in,60
#define r31_dhs2_wakeup_cause           dhs2_in,74
#define r31_dhs2_wakeup_causef5         dhs2_in,79
#define r31_dhs2_wakeup_causel1         dhs2_in,75
#define r31_dhs2_wakeup_causel3         dhs2_in,77
#define r31_dhs2_room_state             dhs2_in,82
#define r31_dhs2_room_state_num         dhs2_in,83
#define r31_dhs2_cost                   dhs2_in,95
#define r31_dhs2_durat_call             dhs2_str,89 //l=5 mm:ss
#define r31_dhs2_durat_call_min         dhs2_str,89
#define r31_dhs2_durat_call_sec         dhs2_str,92
#define r31_dhs2_project_number         dhs2_in,106
#define r31_dhs2_project_4dg            dhs2_in,118
//
//***********************************************
// Konstant
//***********************************************
//#define hotel_name	  "Alcatel"
//
// ********************************************************
// Definition of the significant ticket messages
// for info_ticket and glob_bill_ticket
//
// ********************************************************
//
#define de_termin_prog          "PROG"
#define gb_termin_prog          "PROG"
#define fr_termin_prog          "PROG"
#define it_termin_prog          "PROG"
//
#define de_termin_clear         "GEL"
#define gb_termin_clear         "CANC"
#define fr_termin_clear         "ANNU"
#define it_termin_clear         "ANNU"
//
#define de_termin_noanswer      "UNB"
#define gb_termin_noanswer      "NOT "
#define fr_termin_noanswer      "NON "
#define it_termin_noanswer      "NON "
//
#define de_termin_answer        "BE"
#define gb_termin_answer        "ACKN"
#define fr_termin_answer        "ACQU"
#define it_termin_answer        "EFFE"
//
#define de_ti_name              "| Name :"
#define gb_ti_name              "| Name :"
#define fr_ti_name              "| Nom :"
#define it_ti_name              "| Nome :"
//
#define de_ti_cabin_set         "| Telefonzellennummer"
#define gb_ti_cabin_set         "| Cabin set no. :"
#define fr_ti_cabin_set         "| Num?ro de Cabine"
#define it_ti_cabin_set         "| Numero apparecchio"
//
#define de_ti_room              "| Zimmernummer :"
#define gb_ti_room              "| Room number :"
#define fr_ti_room              "| Num?ro de chambre :"
#define it_ti_room              "| Camera numero"
//
#define de_ti_language          "| Sprache :"
#define gb_ti_language          "| Language :"
#define fr_ti_language          "| Langue :"
#define it_ti_language          "| Lingua :"
//
#define de_ti_deposit           "| Vorkasse :"
#define gb_ti_deposit           "| Deposit"
#define fr_ti_deposit           "| Cr?dit :"
#define it_ti_deposit           "| Deposito"
//
#define de_ti_number            "| Anzahl"
#define gb_ti_number            "| Number"
#define fr_ti_number            "| Nombre"
#define it_ti_number            "| Numero"
//
#define de_ti_password          "| Passwort"
#define gb_ti_password          "| Password"
#define fr_ti_password          "| Mot de p"
#define it_ti_password          "| Password"
//
#define de_ti_ddi_number        "| Durch"
#define gb_ti_ddi_number        "| DDI number"
#define fr_ti_ddi_number        "| Num?ro SDA"
#define it_ti_ddi_number        "| N. passante"
//
#define de_ti_dnd               "| Ruhe"
#define gb_ti_dnd               "| Do not"
#define fr_ti_dnd               "| Ne Pas D"
#define it_ti_dnd               "| Non distur"
//
#define de_ti_message           "| Nachr"
#define gb_ti_message           "| Message w"
#define fr_ti_message           "| Pr?sence d"
#define it_ti_message           "| Messaggio"
//
#define de_ti_costs             "| Gespr"
#define gb_ti_costs             "| Balance t"
#define fr_ti_costs             "| Solde"
#define it_ti_costs             "| Saldo"
//
#define de_ti_external_calls    "| Amts"
#define gb_ti_external_calls    "| External c"
#define fr_ti_external_calls    "| Appels Ex"
#define it_ti_external_calls    "| Chiamate"
//
#define de_ti_total_costs       "| Gesamt"
#define gb_ti_total_costs       "| Total c"
#define fr_ti_total_costs       "| Co?t Total"
#define it_ti_total_costs       "| Costo tot"
//
#define de_ti_debit             "| Soll"
#define gb_ti_debit             "| Debit"
#define fr_ti_debit             "| D?bit"
#define it_ti_debit             "| Debito"
//
#define de_ti_credit            "| Gutha"
#define gb_ti_credit            "| Credit"
#define fr_ti_credit            "| Cr?dit"
#define it_ti_credit            "| Credito"
//
#define de_ti_januar            "Jan"
#define gb_ti_januar            "Jan"
#define fr_ti_januar            "Jan"
#define it_ti_januar            "Gen"
//
#define de_ti_februar           "Feb"
#define gb_ti_februar           "Feb"
#define fr_ti_februar           "F?v"
#define it_ti_februar           "Feb"
//
#define de_ti_maerz             "M?r"
#define gb_ti_maerz             "Mar"
#define fr_ti_maerz             "Mar"
#define it_ti_maerz             "Mar"
//
#define de_ti_april             "Apr"
#define gb_ti_april             "Apr"
#define fr_ti_april             "Avr"
#define it_ti_april             "Apr"
//
#define de_ti_mai               "Mai"
#define gb_ti_mai               "May"
#define fr_ti_mai               "Mai"
#define it_ti_mai               "Mag"
//
#define de_ti_juni              "Jun"
#define gb_ti_juni              "Jun"
#define fr_ti_juni              "Jun"
#define it_ti_juni              "Giu"
//
#define de_ti_juli              "Jul"
#define gb_ti_juli              "Jul"
#define fr_ti_juli              "Jul"
#define it_ti_juli              "Lug"
//
#define de_ti_august            "Aug"
#define gb_ti_august            "Aug"
#define fr_ti_august            "Aou"
#define it_ti_august            "Ago"
//
#define de_ti_september         "Sep"
#define gb_ti_september         "Sep"
#define fr_ti_september         "Sep"
#define it_ti_september         "Set"
//
#define de_ti_oktober           "Okt"
#define gb_ti_oktober           "Oct"
#define fr_ti_oktober           "Oct"
#define it_ti_oktober           "Ott"
//
#define de_ti_november          "Nov"
#define gb_ti_november          "Nov"
#define fr_ti_november          "Nov"
#define it_ti_november          "Nov"
//
#define de_ti_dezember          "Dez"
#define gb_ti_dezember          "Dec"
#define fr_ti_dezember          "D?c"
#define it_ti_dezember          "Dic"
//
//***********************************************
//
#define hour_to_sec     "3600  "
#define min_to_sec      "60  "
//
//***********************************************
// TLN DBS
//
#define _ext_num		0	// l= 5
#define _ext_state		5	// state I | O | S | D
#define _ext_flag		6	// flag " " | T
#define _ext_cr                 7
//
//*********************************************************
//*********************************************** BUFFERS *
//*********************************************************
// Buffer 0 definitionen
//
#define m0_in			0
#define badr_0_high		0x70
#define lbuff_0_high		0x04
#define modnum_0		0x00
//*************************************
// Buffer 1 definitionen
//
#define m0_out			1
#define badr_1_high		0x74
#define lbuff_1_high		0x04
#define modnum_1		0x00
//*************************************
// Buffer 2 definitionen
//
#define input_b_m1		2
#define badr_2_high		0x10
#define lbuff_2_high		0x60
#define modnum_2		0x01
//*************************************
// Buffer 3 definitionen
//
#define input_b_m2              3
#define input_b_ahl		3
#define badr_3_high		0x10
#define lbuff_3_high		0x60
#define modnum_3		0x02
//*************************************
// Buffer 4 definitionen
//
#define mess_b			4
#define badr_4_high             0x30
#define lbuff_4_high            0x40
#define modnum_4		0x03
//*************************************
// Buffer 5 definitionen
//
#define reply_b 		5
#define badr_5_high		0x70
#define lbuff_5_high		0x04
#define modnum_5		0x02
//*************************************
//************************************************
//*********************************************************
// AHL-STRINGS Trigger
//
#define smdr                            "J"
#define bed_state                       "C"
#define tel_account 			"T"
#define data_entry                      "P"
#define hosp_allocation 		"H"
#define reply                           "R"
#define admision                        "A"     // check in
#define discharge                       "D"     // check out
#define modify                          "M"     // change
#define interogation			"I"     // ask PABX for Telefon account
#define data_send                       "N"     // send data to PABX
#define _trigger                        0
//
//*********************************************************
// AFS to AHL-Default message
// Checkin
//                                         1111111111222222222233333333334444444444555555
//                               01234567890123456789012345678901234567890123456789012345
//                               .12345M12345678901234567890lvgggccccppfffffffffmrrrrrd
#define arrive_def              "A      ROOM                1N                   00000 /n"
//
#define _arrive_ext             1

#define _ahl_ext_pos            1

#define _arrive_ext_r           5
#define _arrive_name            7
#define _arrive_language        27
#define _arrive_password        32
#define _arrive_dod             36
#define _arrive_deposit         38
#define _arrive_mess            47
#define _arrive_wakeup          48
#define _arrive_dnd             53
//
//*********************************************************
// 4200E to AHL-Default message
// DATA TRANSFER
//                                         111111111122222222223333333333444444444455555555556666666
//                               0123456789012345678901234567890123456789012345678901234567890123456
//                               .12345cccccdddddddddddddddddddd/n
#define datatransfer_def        "P     4200                      /n"
#define _datatr_ext 		1
#define _data_code              6
#define _data_data              11
//*********************************************************
//*********************************************************
// 4200E to AHL-Default message
// TELEFONE  ACCOUNT
//                                         111111111122222222223333333333444444444455555555556666666
//                               0123456789012345678901234567890123456789012345678901234567890123456
//                               .12345nnnnccccccccctttttttttbbbbbbbbb/n
#define tel_account_def         "T     nnnnccccccccctttttttttbbbbbbbbb/n"
#define _tel_account_ext        1
#define _tel_account_ncomm      6
#define _tel_account_cost       10
#define _tel_account_deposit    19
#define _tel_account_balance    28
#define _tel_account_balance1   29
//*********************************************************
// BDI to AHL-Default message
// WAKEUP
//                                         111111111122222222223333333333444444444455555555556666666
//                               0123456789012345678901234567890123456789012345678901234567890123456
//                               .12345cccccddmmyyHHMMxxxxxHHMM /n
#define wakeup_def              "P     W  c                     /n"
#define _wakeup_ext 		1
#define _wakeup_trial		8
#define _wakeup_cause		9
#define _wakeup_acti_time	11
#define _wakeup_acti_day	11
#define _wakeup_acti_month	13
#define _wakeup_acti_year	15
#define _wakeup_acti_hour	17
#define _wakeup_acti_minute     19
#define _wakeup_acti_ext	21
#define _wakeup_time		26
#define _wakeup_time_hour	26
#define _wakeup_time_minute 28
//*********************************************************
// SMDR
//                                         111111111122222222223333333333444444444455555555556666666
//                               0123456789012345678901234567890123456789012345678901234567890123456
//                               .12345cccct12345DDMMYYhhmm dddsspppppppptttteeeeeeeeeeeeeeeeeeee/n
#define smdr_def                "J        00     DDMMYYhhmm mmmss00000000  00                    /n"
#define _smdr_ext		1
#define _smd_costcenter         6
#define _smdr_call_type         10
#define _smdr_obtention         10
#define _smdr_day		16
#define _smdr_month             18
#define _smdr_year		20
#define _smdr_hour		22
#define _smdr_minute            24
#define _smdr_duration          27
#define _smdr_dur_min           27
#define _smdr_dur_sec           30
#define _smdr_pulse             32
#define _smdr_pulse_5dg         35
#define _smdr_pulse_4dg         36
#define _smdr_trunk             40
#define _smdr_trunk_3dg         41
#define _smdr_trunk_2dg         42
#define _smdr_extern            44
#define _smdr_end		64
//
#define _smdr_cost              32
#define _smdr_schilling         32
#define _smdr_len5              35
#define _smdr_len4              36
#define _smdr_comma             37
#define _smdr_groschen          38
//
//*************************************
// Checkout
//                               012345
#define discharge_def		"D     /n"
//
#define _discharge_ext_r        5
//
//*************************************
// Reply
//                               0123456789012
#define reply_default           "R     INV ../n"
#define _reply_password         6
#define _reply_status1          10
#define _reply_status2          11
//
//
//
//*********************************************************
