// Comms options
// connection status
constant kState_Disconnected  := 0;	// ready-to-go (default state)
constant kState_Listen        := 1;	// preparation for (asynchronous) listen
constant kState_Listening     := 2;	// in-process of (asynchronous) listen
constant kState_Connect       := 3;	// preparation for (asynchronous) connect
constant kState_Connecting    := 4;	// in-process of (asynchronous) connect
constant kState_Connected     := 5;	// connected (requires disconnect)
constant kState_Disconnecting := 6;	// in-process of (asynchronous) disconnect
constant kState_Error         := 7;	// error (usually parity/frame/overrun)
// extras
constant kState_Waiting       := 8;	// waiting for data
constant kState_Running       := 9;	// receiving data

// exception handling
constant kMessage_Disconnected := "Disconnected";
constant kMessage_Listening := "Listening";
constant kMessage_Connecting := "Connecting";
constant kMessage_Connected := "Connected";
constant kMessage_Disconnecting := "Disconnecting";
constant kMessage_ConnectFailed := "Connection not established; no response.";
constant kMessage_BufferOverrun := "The communications data buffer was overrun and has been reset.";
constant kMessage_Timeout := "The connection has timed out.";
constant kMessage_PortInUse := "Another application is using the communications port.";
constant kMessage_PortDoesNotExist := "The requested communications port does not exist.";
constant kMessage_OutputTooFast := "Synchronous outputs are occuring too quickly; some data was not output.";

constant kSerialSrcList:= '["Serial", "IR", "Slot 1", "Slot 2"];
DefConst('kSerialSrcValue, [kHWLocExternalSerial, kHWLocBuiltInIR, kHWLocPCMCIASlot1, kHWLocPCMCIASlot2]);

constant kSerialBaudList:= '["2400", "4800", "9600", "19200"];
DefConst('kSerialBaudValue, [k2400bps, k4800bps, k9600bps, k19200bps]);
