PROGRAM_NAME='HEDCO, 8XPLUS, RS-232, BASIC, 10-96, PKB' (* DATE:05/20/99 TIME:15:38:52 *) (***********************************************************) (* 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. *) (* *) (*******************************************************) (* THIS DEMO PROGRAM USES THE TOUCH *) (* PANEL FILE CALLED "HEDCO 8X8+ DEMO" *) (* *) (* THE PROGRAM DEMONSTRATES TWO DIFFERENT *) (* TYPES OF PROTOCOL USED TO CHANGE THE *) (* ROUTING: THE XPT (CROSSPOINT) METHOD *) (* AND THE S-D (SOURCE-DESTINATION) METHOD *) (*******************************************************) (***********************************************************) (* DEVICE NUMBER DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_DEVICE HEDCO = 9 (* AXC-232 HEDCO 8X8+ SWITCHER*) TP = 128 (***********************************************************) (* CONSTANT DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_CONSTANT (***********************************************************) (* VARIABLE DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_VARIABLE WHICH_ONE INPUT OUT1 (* LIST OF ALL OF THE OUTPUTS *) OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 (***********************************************************) (* LATCHING DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_LATCHING (***********************************************************) (* MUTUALLY EXCLUSIVE DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_MUTUALLY_EXCLUSIVE ([TP,4]..[TP,11]) (***********************************************************) (* SUBROUTINE DEFINITIONS GO BELOW *) (***********************************************************) (***********************************************************) (* STARTUP CODE GOES BELOW *) (***********************************************************) DEFINE_START (***********************************************************) (* THE ACTUAL PROGRAM GOES BELOW *) (***********************************************************) DEFINE_PROGRAM PUSH[TP,1] (* CHOOSE SOURCE/DESTINATION *) WHICH_ONE=1 (* CONTROL MODE *) PUSH[TP,2] (* CHOOSE X POINT CONTROL MODE *) WHICH_ONE = 2 (***********************************************************) (************* THE S-D PROTOCOL METHOD *********************) PUSH[TP,3] (* TAKE *) IF(WHICH_ONE=1) { SEND_STRING HEDCO,"'L0;S',ITOA(INPUT),';'" SEND_STRING HEDCO,"'D'" IF(OUT1) SEND_STRING HEDCO, "'1'" IF(OUT1 &&(OUT2||OUT3||OUT4||OUT5||OUT6||OUT7||OUT8)) SEND_STRING HEDCO,"','" IF(OUT2) SEND_STRING HEDCO, "'2'" IF(OUT2 &&(OUT3||OUT4||OUT5||OUT6||OUT7||OUT8)) SEND_STRING HEDCO,"','" IF(OUT3) SEND_STRING HEDCO, "'3'" IF(OUT3 &&(OUT4||OUT5||OUT6||OUT7||OUT8)) SEND_STRING HEDCO,"','" IF(OUT4) SEND_STRING HEDCO, "'4'" IF(OUT4 &&(OUT5||OUT6||OUT7||OUT8)) SEND_STRING HEDCO,"','" IF(OUT5) SEND_STRING HEDCO, "'5'" IF(OUT5 &&(OUT6||OUT7||OUT8)) SEND_STRING HEDCO,"','" IF(OUT6) SEND_STRING HEDCO, "'6'" IF(OUT6 &&(OUT7||OUT8)) SEND_STRING HEDCO,"','" IF(OUT7) SEND_STRING HEDCO, "'7'" IF(OUT7 && OUT8) SEND_STRING HEDCO,"','" IF(OUT8) SEND_STRING HEDCO, "'8'" SEND_STRING HEDCO, "$0D" OFF[OUT1] OFF[OUT2] OFF[OUT3] OFF[OUT4] OFF[OUT5] OFF[OUT6] OFF[OUT7] OFF[OUT8] INPUT=0 } (***********************************************************) (******************* XPT (CROSSPOINT) METHOD ***************) ELSE IF(WHICH_ONE=2) { SEND_STRING HEDCO, "'X0:',ITOA(INPUT),','" IF(OUT1) SEND_STRING HEDCO, "'1'" IF(OUT1 &&(OUT2||OUT3||OUT4||OUT5||OUT6||OUT7||OUT8)) SEND_STRING HEDCO,"','" IF(OUT2) SEND_STRING HEDCO, "'2'" IF(OUT2 &&(OUT3||OUT4||OUT5||OUT6||OUT7||OUT8)) SEND_STRING HEDCO,"','" IF(OUT3) SEND_STRING HEDCO, "'3'" IF(OUT3 &&(OUT4||OUT5||OUT6||OUT7||OUT8)) SEND_STRING HEDCO,"','" IF(OUT4) SEND_STRING HEDCO, "'4'" IF(OUT4 &&(OUT5||OUT6||OUT7||OUT8)) SEND_STRING HEDCO,"','" IF(OUT5) SEND_STRING HEDCO, "'5'" IF(OUT5 &&(OUT6||OUT7||OUT8)) SEND_STRING HEDCO,"','" IF(OUT6) SEND_STRING HEDCO, "'6'" IF(OUT6 &&(OUT7||OUT8)) SEND_STRING HEDCO,"','" IF(OUT7) SEND_STRING HEDCO, "'7'" IF(OUT7 && OUT8) SEND_STRING HEDCO,"','" IF(OUT8) SEND_STRING HEDCO, "'8'" SEND_STRING HEDCO,"$0D" OFF[OUT1] OFF[OUT2] OFF[OUT3] OFF[OUT4] OFF[OUT5] OFF[OUT6] OFF[OUT7] OFF[OUT8] INPUT=0 } PUSH[TP,4] (* INPUT 1 *) INPUT=1 PUSH[TP,5] (* INPUT 2 *) INPUT=2 PUSH[TP,6] (* INPUT 3 *) INPUT=3 PUSH[TP,7] (* INPUT 4 *) INPUT=4 PUSH[TP,8] (* INPUT 5 *) INPUT=5 PUSH[TP,9] (* INPUT 6 *) INPUT=6 PUSH[TP,10] (* INPUT 7 *) INPUT=7 PUSH[TP,11] (* INPUT 8 *) INPUT=8 PUSH[TP,12] (* OUTPUT 1 *) OUT1=!OUT1 PUSH[TP,13] (* OUTPUT 2 *) OUT2=!OUT2 PUSH[TP,14] (* OUTPUT 3 *) OUT3=!OUT3 PUSH[TP,15] (* OUTPUT 4 *) OUT4=!OUT4 PUSH[TP,16] (* OUTPUT 5 *) OUT5=!OUT5 PUSH[TP,17] (* OUTPUT 6 *) OUT6=!OUT6 PUSH[TP,18] (* OUTPUT 7 *) OUT7=!OUT7 PUSH[TP,19] (* OUTPUT 8 *) OUT8=!OUT8 [TP,4]=(INPUT=1) [TP,5]=(INPUT=2) [TP,6]=(INPUT=3) [TP,7]=(INPUT=4) [TP,8]=(INPUT=5) [TP,9]=(INPUT=6) [TP,10]=(INPUT=7) [TP,11]=(INPUT=8) [TP,12]=(OUT1) [TP,13]=(OUT2) [TP,14]=(OUT3) [TP,15]=(OUT4) [TP,16]=(OUT5) [TP,17]=(OUT6) [TP,18]=(OUT7) [TP,19]=(OUT8) [TP,1]=(WHICH_ONE=1) [TP,2]=(WHICH_ONE=2) (***********************************************************) (* END OF PROGRAM *) (* DO NOT PUT ANY CODE BELOW THIS COMMENT *) (***********************************************************)