PROGRAM_NAME='BRAHLER, CU40005/CU4010, RS-232, BASIC, 7-98, BRK' (* DATE:05/20/99 TIME:15:23:24 *) (***********************************************************) (* System Type : AXB-EM232 *) (***********************************************************) (***********************************************************) (* The following code block is provided as a guide to *) (* programming the device(s) listed above. This is a *) (* sample only, and will most likely require modification *) (* to be integrated into a master program. *) (* *) (* Device-specific protocols should be obtained directly *) (* from the equipment manufacturer to ensure compliance *) (* with the most current versions. Within the limits *) (* imposed by any non-disclosure agreements, AMX will *) (* provide protocols upon request. *) (* *) (* If further programming assistance is required, please *) (* contact your AMX customer support team. *) (* *) (***********************************************************) (* GENERAL FUNCTION LIST - *) (* STATUS FOR: *) (* NUMBER OF MICS CONNECTED, SYSTEM MODE, VOLUME LEVEL, *) (* MICROPHONE STATUS *) (***********************************************************) (* NOTE - THIS UNIT IS MADE BY DANISH INTERPRETATION *) (* SYSTEMS (DIS). *) (* NOTES - UNIT WILL OUTPUT MICROPHONE STATUS WHENEVER A *) (* MIC IS TURNED ON OR OFF. THE UNIT WILL NOT DO THIS *) (* UNLESS A "'?',LF" IS FIRST SENT ONCE. THIS IS NOT *) (* DOCUMENTED IN THE MANUAL. UNIT REQUIRES CTS/RTS *) (***********************************************************) (* DEVICE NUMBER DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_DEVICE DIS = 2 (* BRAHLER CU4005/CU4010 *) TP = 128 (***********************************************************) (* CONSTANT DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_CONSTANT (***********************************************************) (* VARIABLE DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_VARIABLE (* GENERAL *) DIS_BUFFER[100] TRASH[50] CU_NUM CHAIN MIC_ON MIC_OFF CHK_SUM MODE NUM_OF_MICS MIC_LEV LINE_LEV (***********************************************************) (* LATCHING DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_LATCHING (***********************************************************) (* MUTUALLY EXCLUSIVE DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_MUTUALLY_EXCLUSIVE (***********************************************************) (* SUBROUTINE DEFINITIONS GO BELOW *) (***********************************************************) (***********************************************************) (* STARTUP CODE GOES BELOW *) (***********************************************************) DEFINE_START CREATE_BUFFER DIS, DIS_BUFFER SEND_STRING DIS,"'?',$0A"(* SET BRAHLER TO TRANSMIT STATUS *) SEND_STRING 0, "'BRAHLER HAS BEEN INTIALIZED',10,13" (***********************************************************) (* THE ACTUAL PROGRAM GOES BELOW *) (***********************************************************) DEFINE_PROGRAM PUSH[TP,1] (* # OF MICS CONNECTED STATUS *) SEND_STRING DIS,"'?M',$0A" PUSH[TP,2] (* SYSTEM MODE STATUS *) SEND_STRING DIS,"'?E',$0A" PUSH[TP,3] (* LEVEL STATUS *) SEND_STRING DIS,"'?V',$0A" SELECT { ACTIVE (FIND_STRING(DIS_BUFFER,"$21,$53",1)):(* SEARCH FOR HEADER AND MIC ON *) { TRASH = REMOVE_STRING(DIS_BUFFER,"$21,$53",1) CU_NUM = GET_BUFFER_CHAR(DIS_BUFFER) CHAIN = GET_BUFFER_CHAR(DIS_BUFFER) MIC_ON = GET_BUFFER_CHAR(DIS_BUFFER) CHK_SUM = GET_BUFFER_CHAR(DIS_BUFFER) SEND_STRING 0, "'MICROPHONE # ',ITOA(MIC_ON),' ON CHAIN # ',ITOA(CHAIN),' ON UNIT # ',ITOA(CU_NUM),' IS ON',10,13" } ACTIVE (FIND_STRING(DIS_BUFFER,"$21,$4F",1)):(* SEARCH FOR HEADER AND MIC OFF *) { TRASH = REMOVE_STRING(DIS_BUFFER,"$21,$4F",1) CU_NUM = GET_BUFFER_CHAR(DIS_BUFFER) CHAIN = GET_BUFFER_CHAR(DIS_BUFFER) MIC_OFF = GET_BUFFER_CHAR(DIS_BUFFER) CHK_SUM = GET_BUFFER_CHAR(DIS_BUFFER) SEND_STRING 0, "'MICROPHONE # ',ITOA(MIC_OFF),' ON CHAIN # ',ITOA(CHAIN),' ON UNIT # ',ITOA(CU_NUM),' IS OFF',10,13" } ACTIVE (FIND_STRING(DIS_BUFFER,"$21,$45",1)):(* SEARCH FOR HEADER AND MODE STATUS *) { SEND_STRING 0, DIS_BUFFER TRASH = REMOVE_STRING(DIS_BUFFER,"$21,$45",1) MODE = GET_BUFFER_CHAR(DIS_BUFFER) CHK_SUM = GET_BUFFER_CHAR(DIS_BUFFER) SEND_STRING 0, "'MODE = ',MODE,10,13" } ACTIVE (FIND_STRING(DIS_BUFFER,"$21,$4D",1)):(* SEARCH FOR HEADER AND # OF MICS STATUS *) { TRASH = REMOVE_STRING(DIS_BUFFER,"$21,$4D",1) NUM_OF_MICS = GET_BUFFER_CHAR(DIS_BUFFER) CHK_SUM = GET_BUFFER_CHAR(DIS_BUFFER) SEND_STRING 0, "'NUMBER OF MICS = ',ITOA(NUM_OF_MICS),10,13" } ACTIVE (FIND_STRING(DIS_BUFFER,"$21,$56",1)):(* SEARCH FOR HEADER AND VOLUME *) { TRASH = REMOVE_STRING(DIS_BUFFER,"$21,$56",1) MIC_LEV = GET_BUFFER_CHAR(DIS_BUFFER) LINE_LEV = GET_BUFFER_CHAR(DIS_BUFFER) CHK_SUM = GET_BUFFER_CHAR(DIS_BUFFER) SEND_STRING 0, "'MIC LEVEL IS SET FOR ',ITOA(MIC_LEV),', LINE LEVEL IS SET FOR ',ITOA(LINE_LEV),10,13" } ACTIVE (FIND_STRING(DIS_BUFFER,"$21,$57",1)):(* SEARCH FOR STARTUP *) { SEND_STRING 0, DIS_BUFFER CLEAR_BUFFER DIS_BUFFER } } (***********************************************************) (* END OF PROGRAM *) (* DO NOT PUT ANY CODE BELOW THIS COMMENT *) (***********************************************************)