<> <> <> <> <> <Lark)>> <> <> DIRECTORY DESFace USING [ Key ], PupTypes USING [ PupAddress ], RPC USING [ Conversation, ShortROPE ], RPCPkt USING [ Machine ]; Lark: CEDAR DEFINITIONS = { -- *************************** Types ****************************** -- SHHH: TYPE = RPC.Conversation; ROPE: TYPE = RPC.ShortROPE; EncryptionKey: TYPE = DESFace.Key; VoiceSocket: TYPE = PupTypes.PupAddress; Machine: TYPE = RPCPkt.Machine; noMachine: Machine = [[0], [0]]; Device: TYPE = MACHINE DEPENDENT { microphonePTT (0), -- mike switch -- hookSwitch (1), -- switch on local handset speakerSwitch (2), -- switch on speaker box -- touchPad (3), -- DTMF generator/detector (downstroke) -- keyboard (4), -- standard keyboard -- auxiliaryKeyboard (5), -- extra device locator (6), -- as yet undefined -- ringDetect (7), -- on back door -- revertRelay (8), -- on Teleset, controls Tip, Ring, and receiver -- offHookRelay (9), -- on Telewall, controls Tip and Ring only -- sideTone (10), -- on Teleset -- ringEnable (11), -- volume bypass on speaker -- led (12), -- lamp on speaker box -- crossBar (13), -- analog crossbar switch -- timeslot (14), -- to set timeslots -- voiceMode (15), -- program modes -- inGain1 (16), -- table indicies -- inGain2 (17), outGain1 (18), outGain2 (19), echoSuppression (20), nothing (21), clearCrosspoint (22), -- Event is row/column pair -- setCrosspoint (23), -- Event is row/column pair -- revertHookswitch (24), -- reverts A/A1, etc. -- aRelay (25), -- controls A/A1 -- tones (26), -- See description of notification in ToneSpec -- delay (27), -- Event is number of deciseconds to delay -- spMode (28), -- speakerphone mode -- touchPadUp (29), -- DTMF generator/detector (upstroke) -- keyboardUp (30), -- upstroke auxiliaryKeyboardUp (31), -- upstroke lastPlusOne (32), -- not used, but update when increasing number of devices. (255) -- byte wide -- }; <> <> <> Event: TYPE = CHARACTER; <> firstChar: Event = '\000; lastChar: Event = '\177; <> b0: Event = '\200; b1: Event = '\201; b2: Event = '\202; b3: Event = '\203; b4: Event = '\204; b5: Event = '\205; b6: Event = '\206; b7: Event = '\207; b8: Event = '\210; b9: Event = '\211; bA: Event = '\212; bB: Event = '\213; bC: Event = '\214; bD: Event = '\215; bStar: Event = '\216; bThorp: Event = '\217; <> enabled: Event = '\220; disabled: Event = '\221; reset: Event = '\222; <