diff --git a/PepperDashCore.1.3.1/.signature.p7s b/PepperDashCore.1.3.1/.signature.p7s
new file mode 100644
index 00000000..aa6bfa5b
Binary files /dev/null and b/PepperDashCore.1.3.1/.signature.p7s differ
diff --git a/PepperDashCore.1.3.1/lib/net35/PepperDash_Core.clz b/PepperDashCore.1.3.1/lib/net35/PepperDash_Core.clz
new file mode 100644
index 00000000..9d58f07a
Binary files /dev/null and b/PepperDashCore.1.3.1/lib/net35/PepperDash_Core.clz differ
diff --git a/PepperDashCore.1.3.1/lib/net35/PepperDash_Core.dll b/PepperDashCore.1.3.1/lib/net35/PepperDash_Core.dll
new file mode 100644
index 00000000..22fdba74
Binary files /dev/null and b/PepperDashCore.1.3.1/lib/net35/PepperDash_Core.dll differ
diff --git a/PepperDashCore.1.3.1/lib/net35/PepperDash_Core.xml b/PepperDashCore.1.3.1/lib/net35/PepperDash_Core.xml
new file mode 100644
index 00000000..2bb8effe
--- /dev/null
+++ b/PepperDashCore.1.3.1/lib/net35/PepperDash_Core.xml
@@ -0,0 +1,6857 @@
+
+
+
+ PepperDash_Core
+
+
+
+
+ Constants
+
+
+
+
+ Generic boolean value change constant
+
+
+
+
+ Evaluated boolean change constant
+
+
+
+
+ Update busy change const
+
+
+
+
+ Password is valid change constant
+
+
+
+
+ Password LED change constant
+
+
+
+
+ Generic ushort value change constant
+
+
+
+
+ Password count
+
+
+
+
+ Password selecte index change constant
+
+
+
+
+ Password length
+
+
+
+
+ Generic string value change constant
+
+
+
+
+ Device class
+
+
+
+
+ Constructor
+
+
+
+
+ Initialize method
+
+
+
+
+
+
+ BoolChange event handler helper
+
+
+
+
+
+
+
+ UshrtChange event handler helper
+
+
+
+
+
+
+
+ StringChange event handler helper
+
+
+
+
+
+
+
+ ObjectChange event handler helper
+
+
+
+
+
+
+
+ JSON config key property
+
+
+
+
+ JSON config name property
+
+
+
+
+ JSON config type property
+
+
+
+
+ JSON config properties
+
+
+
+
+ Bool change event handler
+
+
+
+
+ Ushort change event handler
+
+
+
+
+ String change event handler
+
+
+
+
+ Object change event handler
+
+
+
+
+ Client for communicating with an HTTP Server Side Event pattern
+
+
+
+
+ An incoming communication stream
+
+
+
+
+ Unique key interface to require a unique key for the class
+
+
+
+
+ Unique Key
+
+
+
+
+ Connect to the device
+
+
+
+
+ Disconnect from the device
+
+
+
+
+ Notifies of bytes received
+
+
+
+
+ Notifies of text received
+
+
+
+
+ Indicates connection status
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Connects to the server. Requires Url to be set first.
+
+
+
+
+ Disconnects from the server
+
+
+
+
+ Initiates connection to the server
+
+
+
+
+
+ Closes the connection to the server
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Notifies when bytes have been received
+
+
+
+
+ Notifies when text has been received
+
+
+
+
+ Indicates connection status
+
+
+
+
+ Unique identifier for the instance
+
+
+
+
+ Name for the instance
+
+
+
+
+ URL of the server
+
+
+
+
+ Stores the state of the request
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Waithandle for main thread.
+
+
+
+
+
+
+
+
+
+ XSigToken stream reader.
+
+
+
+
+
+ XSigToken stream reader constructor.
+
+ Input stream to read from.
+ Stream is null.
+ Stream cannot be read from.
+
+
+
+ XSigToken stream reader constructor.
+
+ Input stream to read from.
+ Determines whether to leave the stream open or not.
+ Stream is null.
+ Stream cannot be read from.
+
+
+
+ Reads a 16-bit unsigned integer from the specified stream using Big Endian byte order.
+
+ Input stream
+ Result
+ True if successful, otherwise false.
+
+
+
+ Read XSig token from the stream.
+
+ XSigToken
+ Offset is less than 0.
+
+
+
+ Reads all available XSig tokens from the stream.
+
+ XSigToken collection.
+
+
+
+ Attempts to deserialize all XSig data within the stream from the current position.
+
+ Type to deserialize the information to.
+ Deserialized object.
+
+
+
+ Disposes of the internal stream if specified to not leave open.
+
+
+
+
+ Represents an XSigAnalogToken
+
+
+
+
+ Represents the base class for all XSig datatypes.
+
+
+
+
+ Constructs an XSigToken with the specified index.
+
+ Index for the data.
+
+
+
+ Generates the XSig bytes for the corresponding token.
+
+ XSig byte array.
+
+
+
+ Returns a new token if necessary with an updated index based on the specified offset.
+
+ Offset to adjust the index with.
+ XSigToken
+
+
+
+ XSig 1-based index.
+
+
+
+
+ XSigToken type.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constants
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Processor Change Event Args Class
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ethernet Change Event Args Class
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Control Subnet Chage Event Args Class
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Program Change Event Args Class
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generic TCP/IP server device
+
+
+
+
+ The core event and status-bearing class that most if not all device and connectors can derive from.
+
+
+
+
+ Named Keyed device interface. Forces the devie to have a Unique Key and a name.
+
+
+
+
+ Isn't it obvious :)
+
+
+
+
+ Base constructor for all Devices.
+
+
+
+
+
+ Constructor with key and name
+
+
+
+
+
+
+ Adds a pre activation action
+
+
+
+
+
+ Adds a post activation action
+
+
+
+
+
+ Executes the preactivation actions
+
+
+
+
+ Gets this device ready to be used in the system. Runs any added pre-activation items, and
+ all post-activation at end. Classes needing additional logic to
+ run should override CustomActivate()
+
+
+
+
+ Executes the postactivation actions
+
+
+
+
+ Called in between Pre and PostActivationActions when Activate() is called.
+ Override to provide addtitional setup when calling activation. Overriding classes
+ do not need to call base.CustomActivate()
+
+ true if device activated successfully.
+
+
+
+ Call to deactivate device - unlink events, etc. Overriding classes do not
+ need to call base.Deactivate()
+
+
+
+
+
+ Call this method to start communications with a device. Overriding classes do not need to call base.Initialize()
+
+
+
+
+ Helper method to check object for bool value false and fire an Action method
+
+ Should be of type bool, others will be ignored
+ Action to be run when o is false
+
+
+
+ Unique Key
+
+
+
+
+ Name of the devie
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A bandaid client that monitors whether the server is reachable
+
+
+
+
+ Timer to operate the bandaid monitor client in a loop.
+
+
+
+
+
+
+
+
+
+ The connected client indexes
+
+
+
+
+
+
+
+
+
+ constructor S+ Does not accept a key. Use initialze with key to set the debug key on this device. If using with + make sure to set all properties manually.
+
+
+
+
+ constructor with debug key set at instantiation. Make sure to set all properties before listening.
+
+
+
+
+
+ Contstructor that sets all properties by calling the initialize method with a config object.
+
+
+
+
+
+ Disconnects all clients and stops the server
+
+
+
+
+ Initialize Key for device using client name from SIMPL+. Called on Listen from SIMPL+
+
+
+
+
+
+ Initialze with server configuration object
+
+
+
+
+
+ Start listening on the specified port
+
+
+
+
+ Stop Listening
+
+
+
+
+ Disconnects Client
+
+
+
+
+
+ Disconnect All Clients
+
+
+
+
+ Broadcast text from server to all connected clients
+
+
+
+
+
+ Not sure this is useful in library, maybe Pro??
+
+
+
+
+
+
+ Gets the IP address based on the client index
+
+
+ IP address of the client
+
+
+
+ Secure Server Socket Status Changed Callback
+
+
+
+
+
+
+
+ Secure TCP Client Connected to Secure Server Callback
+
+
+
+
+
+
+ Secure Received Data Async Callback
+
+
+
+
+
+
+
+ Private Event Handler method to handle the closing of connections when the program stops
+
+
+
+
+
+ Starts the monitor client cycle. Timed wait, then call RunMonitorClient
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ On monitor connect, restart the operation
+
+
+
+
+ If the client hangs, add to counter and maybe fire the choke event
+
+
+
+
+ Event for Receiving text
+
+
+
+
+ Event for client connection socket status change
+
+
+
+
+ Event for Server State Change
+
+
+
+
+ For a server with a pre shared key, this will fire after the communication is established and the key exchange is complete. If no shared key, this will fire
+ after connection is successful. Use this event to know when the client is ready for communication to avoid stepping on shared key.
+
+
+
+
+ A band aid event to notify user that the server has choked.
+
+
+
+
+ 3 by default
+
+
+
+
+ Text representation of the Socket Status enum values for the server
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ The maximum number of clients.
+ Should be set by parameter in SIMPL+ in the MAIN method, Should not ever need to be configurable
+
+
+
+
+ Number of clients currently connected.
+
+
+
+
+ Port Server should listen on
+
+
+
+
+ S+ helper for Port
+
+
+
+
+ Bool to show whether the server requires a preshared key. Must be set the same in the client, and if true shared keys must be identical on server/client
+
+
+
+
+ S+ helper for requires shared key bool
+
+
+
+
+ SharedKey is sent for varification to the server. Shared key can be any text (255 char limit in SIMPL+ Module), but must match the Shared Key on the Server module.
+ If SharedKey changes while server is listening or clients are connected, disconnect and stop listening will be called
+
+
+
+
+ Heartbeat Required bool sets whether server disconnects client if heartbeat is not received
+
+
+
+
+ S+ Helper for Heartbeat Required
+
+
+
+
+ Milliseconds before server expects another heartbeat. Set by property HeartbeatRequiredIntervalInSeconds which is driven from S+
+
+
+
+
+ Simpl+ Heartbeat Analog value in seconds
+
+
+
+
+ String to Match for heartbeat. If null or empty any string will reset heartbeat timer
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Private flag to note that the server has stopped intentionally
+
+
+
+
+
+
+
+
+
+ Represents a debugging context
+
+
+
+
+ Creates or gets a debug context
+
+
+
+
+
+
+ Do not use. For S+ access.
+
+
+
+
+ Used to save memory when shutting down
+
+
+
+
+
+ Callback for console command
+
+
+
+
+
+ Sets the debug level
+
+ Valid values 0 (no debug), 1 (critical), 2 (all messages)
+
+
+
+ Prints message to console if current debug level is equal to or higher than the level of this message.
+ Uses CrestronConsole.PrintLine.
+
+
+ Console format string
+ Object parameters
+
+
+
+ Appends a device Key to the beginning of a message
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Writes the memory object after timeout
+
+
+
+
+ Writes the memory - use SaveMemoryOnTimeout
+
+
+
+
+
+
+
+
+
+ Helper to get the file path for this app's debug memory
+
+
+
+
+ Describes the folder location where a given program stores it's debug level memory. By default, the
+ file written will be named appNdebug where N is 1-10.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Device communication parameter class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Device TCP/SSH properties class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Device control class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Device properties class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Root device class
+
+
+
+
+ The collection of devices
+
+
+
+
+ Constants for simpl modules
+
+
+
+
+ Json object evaluated constant
+
+
+
+
+ Json object changed constant
+
+
+
+
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+
+ Device change event args object
+
+
+
+
+ Device change event args type
+
+
+
+
+ Device change event args index
+
+
+
+
+ Bool change event args
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+
+ Boolean state property
+
+
+
+
+ Boolean ushort value property
+
+
+
+
+ Boolean change event args type
+
+
+
+
+ Boolean change event args index
+
+
+
+
+ Ushort change event args
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+
+ Ushort change event args integer value
+
+
+
+
+ Ushort change event args type
+
+
+
+
+ Ushort change event args index
+
+
+
+
+ String change event args
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+
+ String change event args value
+
+
+
+
+ String change event args type
+
+
+
+
+ string change event args index
+
+
+
+
+ CWS Base Handler, implements IHttpCwsHandler
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+ Handles CONNECT method requests
+
+
+
+
+
+ Handles DELETE method requests
+
+
+
+
+
+ Handles GET method requests
+
+
+
+
+
+ Handles HEAD method requests
+
+
+
+
+
+ Handles OPTIONS method requests
+
+
+
+
+
+ Handles PATCH method requests
+
+
+
+
+
+ Handles POST method requests
+
+
+
+
+
+ Handles PUT method requests
+
+
+
+
+
+ Handles TRACE method requests
+
+
+
+
+
+ Process request
+
+
+
+
+
+ Generic UDP Server device
+
+
+
+
+ Describes a device that implements ISocketStatus and IStreamDebugging
+
+
+
+
+ For IBasicCommunication classes that have SocketStatus. GenericSshClient,
+ GenericTcpIpClient
+
+
+
+
+ Represents a device that uses basic connection
+
+
+
+
+ Send text to the device
+
+
+
+
+
+ Send bytes to the device
+
+
+
+
+
+ Notifies of socket status changes
+
+
+
+
+ The current socket status of the client
+
+
+
+
+ Represents a device with stream debugging capablities
+
+
+
+
+ Object to enable stream debugging
+
+
+
+
+ Constructor for S+. Make sure to set key, address, port, and buffersize using init method
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Call from S+ to initialize values
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enables the UDP Server
+
+
+
+
+ Disabled the UDP Server
+
+
+
+
+ Recursive method to receive data
+
+
+
+
+
+
+ General send method
+
+
+
+
+
+
+
+
+
+
+
+ Object to enable stream debugging
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This event will fire when a message is dequeued that includes the source IP and Port info if needed to determine the source of the received data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ Another damn S+ helper because S+ seems to treat large port nums as signed ints
+ which screws up things
+
+
+
+
+ Indicates that the UDP Server is enabled
+
+
+
+
+ Numeric value indicating
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ The server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stupid S+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Defaults to 32768
+
+
+
+
+ XSigToken stream writer.
+
+
+
+
+
+ XSigToken stream writer constructor.
+
+ Input stream to write to.
+ Stream is null.
+ Stream cannot be written to.
+
+
+
+ XSigToken stream writer constructor.
+
+ Input stream to write to.
+ Determines whether to leave the stream open or not.
+ Stream is null.
+ Stream cannot be written to.
+
+
+
+ Write XSig data gathered from an IXSigStateResolver to the stream.
+
+ IXSigStateResolver object.
+
+
+
+ Write XSig data gathered from an IXSigStateResolver to the stream.
+
+ IXSigStateResolver object.
+ Index offset for each XSigToken.
+
+
+
+ Write XSigToken to the stream.
+
+ XSigToken object.
+
+
+
+ Write XSigToken to the stream.
+
+ XSigToken object.
+ Index offset for each XSigToken.
+
+
+
+ Writes an array of XSigTokens to the stream.
+
+ XSigToken objects.
+
+
+
+ Write an enumerable collection of XSigTokens to the stream.
+
+ XSigToken objects.
+
+
+
+ Write an enumerable collection of XSigTokens to the stream.
+
+ XSigToken objects.
+ Index offset for each XSigToken.
+
+
+
+ Disposes of the internal stream if specified to not leave open.
+
+
+
+
+ The global class to manage all the instances of JsonToSimplMaster
+
+
+
+
+ Adds a file master. If the master's key or filename is equivalent to any existing
+ master, this will fail
+
+ New master to add
+
+
+
+
+ Gets a master by its key. Case-insensitive
+
+
+
+
+
+
+
+
+
+ Describes a device that can automatically attempt to reconnect
+
+
+
+
+ Enable automatic recconnect
+
+
+
+
+ Interval in ms to attempt automatic recconnections
+
+
+
+
+ Typical constructor.
+
+
+
+
+ S+ Constructor - Must set all properties before calling Connect
+
+
+
+
+ Just to help S+ set the key
+
+
+
+
+ Handles closing this up when the program shuts down
+
+
+
+
+ Connect to the server, using the provided properties.
+
+
+
+
+ Disconnect the clients and put away it's resources.
+
+
+
+
+ Kills the stream, cleans up the client and sets it to null
+
+
+
+
+ Anything to do with reestablishing connection on failures
+
+
+
+
+ Kills the stream
+
+
+
+
+ Handles the keyboard interactive authentication, should it be required.
+
+
+
+
+ Handler for data receive on ShellStream. Passes data across to queue for line parsing.
+
+
+
+
+ Error event handler for client events - disconnect, etc. Will forward those events via ConnectionChange
+ event
+
+
+
+
+ Helper for ConnectionChange event
+
+
+
+
+ Sends text to the server
+
+
+
+
+
+ Sends Bytes to the server
+
+
+
+
+
+ Object to enable stream debugging
+
+
+
+
+ Event that fires when data is received. Delivers args with byte array
+
+
+
+
+ Event that fires when data is received. Delivered as text.
+
+
+
+
+ Event when the connection status changes.
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ Username for server
+
+
+
+
+ And... Password for server. That was worth documenting!
+
+
+
+
+ True when the server is connected - when status == 2.
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+
+
+
+
+
+ Contains the familiar Simpl analog status values. This drives the ConnectionChange event
+ and IsConnected with be true when this == 2.
+
+
+
+
+ Determines whether client will attempt reconnection on failure. Default is true
+
+
+
+
+ Will be set and unset by connect and disconnect only
+
+
+
+
+ S+ helper for AutoReconnect
+
+
+
+
+ Millisecond value, determines the timeout period in between reconnect attempts.
+ Set to 5000 by default
+
+
+
+
+ Fired when connection changes
+
+
+
+
+ S+ Constructor
+
+
+
+
+ EventArgs class
+
+ Connection State
+ The Client
+
+
+
+ Connection State
+
+
+
+
+ Connection Status represented as a ushort
+
+
+
+
+ The client
+
+
+
+
+ Socket Status as represented by
+
+
+
+
+ System Info class
+
+
+
+
+ Constructor
+
+
+
+
+ Gets the current processor info
+
+
+
+
+ Gets the current ethernet info
+
+
+
+
+ Gets the current control subnet info
+
+
+
+
+ Gets the program info by index
+
+
+
+
+
+ Gets the processor uptime and passes it to S+
+
+
+
+
+ Gets the program uptime, by index, and passes it to S+
+
+
+
+
+
+ Sends command to console, passes response back using string change event
+
+
+
+
+
+ private method to parse console messages
+
+
+
+
+
+
+
+
+
+ Protected boolean change event handler
+
+
+
+
+
+
+
+ Protected string change event handler
+
+
+
+
+
+
+
+ Protected processor config change event handler
+
+
+
+
+
+
+
+ Ethernet change event handler
+
+
+
+
+
+
+
+ Control Subnet change event handler
+
+
+
+
+
+
+
+ Program change event handler
+
+
+
+
+
+
+
+ Notifies of bool change
+
+
+
+
+ Notifies of string change
+
+
+
+
+ Notifies of processor change
+
+
+
+
+ Notifies of ethernet change
+
+
+
+
+ Notifies of control subnet change
+
+
+
+
+ Notifies of program change
+
+
+
+
+ Generic RESTful communication class
+
+
+
+
+ Constructor
+
+
+
+
+ Generic RESTful submit request
+
+
+
+
+
+
+
+
+
+
+ Private HTTP submit request
+
+
+
+
+
+
+
+
+
+
+ Private HTTPS submit request
+
+
+
+
+
+
+
+
+
+
+ Private method to encode username and password to Base64 string
+
+
+
+ authorization
+
+
+
+ Protected method to handle boolean change events
+
+
+
+
+
+
+
+ Protected mehtod to handle ushort change events
+
+
+
+
+
+
+
+ Protected method to handle string change events
+
+
+
+
+
+
+
+ Boolean event handler
+
+
+
+
+ Ushort event handler
+
+
+
+
+ String event handler
+
+
+
+
+ Represents an XSigDigitalToken
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class for JSON objects
+
+
+
+
+ Reference to Master instance
+
+
+
+
+ Paths to boolean values in JSON structure
+
+
+
+
+ Paths to numeric values in JSON structure
+
+
+
+
+ Paths to string values in JSON structure
+
+
+
+
+ Call this before doing anything else
+
+
+
+
+
+
+
+
+ Sets the path prefix for the object
+
+
+
+
+
+ Set the JPath to evaluate for a given bool out index.
+
+
+
+
+ Set the JPath for a ushort out index.
+
+
+
+
+ Set the JPath for a string output index.
+
+
+
+
+ Evalutates all outputs with defined paths. called by S+ when paths are ready to process
+ and by Master when file is read.
+
+
+
+
+ Processes a bool property, converting to bool, firing off a BoolChange event
+
+
+
+
+ Processes the given path.
+
+ JPath formatted path to the desired property
+ The string value of the property, or a default value if it
+ doesn't exist
+ This will return false in the case that EvaulateAllOnJsonChange
+ is false and the path does not evaluate to a property in the incoming JSON.
+
+
+
+ Called from Master to read inputs and update their values in master JObject
+ Callback should hit one of the following four methods
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Called during Process(...) to get the path to a given property. By default,
+ returns PathPrefix+path+PathSuffix. Override to change the way path is built.
+
+
+
+
+ Event helper
+
+
+
+
+
+
+
+ Event helper
+
+
+
+
+
+
+
+ Event helper
+
+
+
+
+
+
+
+ Notifies of bool change
+
+
+
+
+ Notifies of ushort change
+
+
+
+
+ Notifies of string change
+
+
+
+
+ Delegate to get all values
+
+
+
+
+ Use a callback to reduce task switch/threading
+
+
+
+
+ Unique identifier for instance
+
+
+
+
+ This will be prepended to all paths to allow path swapping or for more organized
+ sub-paths
+
+
+
+
+ This is added to the end of all paths
+
+
+
+
+ Indicates if the instance is linked to an object
+
+
+
+
+ Used to interact with an array of values with the S+ modules
+
+
+
+
+ For gt2.4.1 array lookups
+
+
+
+
+
+
+
+
+
+
+ For newer >=2.4.1 array lookups.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Process all values
+
+
+
+
+ Provides the path append for GetFullPath
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Interface to determine XSig serialization for an object.
+
+
+
+
+ Serialize the sig data
+
+
+
+
+
+ Deserialize the sig data
+
+
+
+
+
+
+
+ Not in use
+
+
+
+
+ Not in use
+
+
+
+
+ Crestron Control Methods for a comm object
+
+
+
+
+
+
+
+
+
+ RS232/422/485
+
+
+
+
+ Crestron IpId (most Crestron ethernet devices)
+
+
+
+
+ Crestron IpIdTcp (HD-MD series, etc.)
+
+
+
+
+ Crestron IR control
+
+
+
+
+ SSH client
+
+
+
+
+ TCP/IP client
+
+
+
+
+ Telnet
+
+
+
+
+ Crestnet device
+
+
+
+
+ CEC Control, via a DM HDMI port
+
+
+
+
+ UDP Server
+
+
+
+
+ HTTP client
+
+
+
+
+ HTTPS client
+
+
+
+
+ Websocket client
+
+
+
+
+ Secure Websocket client
+
+
+
+
+ Secure TCP/IP
+
+
+
+
+ Processor info class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ethernet info class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Control subnet info class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Program info class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Contains debug commands for use in various situations
+
+
+
+
+ Describes the folder location where a given program stores it's debug level memory. By default, the
+ file written will be named appNdebug where N is 1-10.
+
+
+
+
+ Describes the new folder location where a given program stores it's debug level memory. By default, the
+ file written will be named appNdebug where N is 1-10.
+
+
+
+
+ The name of the file containing the current debug settings.
+
+
+
+
+ When true, the IncludedExcludedKeys dict will contain keys to include.
+ When false (default), IncludedExcludedKeys will contain keys to exclude.
+
+
+
+
+ Used to save memory when shutting down
+
+
+
+
+
+ Callback for console command
+
+
+
+
+
+ Callback for console command
+
+
+
+
+
+ Callback for console command
+
+
+
+
+
+ Sets the debug level
+
+ Valid values 0 (no debug), 1 (critical), 2 (all messages)
+
+
+
+ sets the settings for a device or creates a new entry
+
+
+
+
+
+
+
+ Gets the device settings for a device by key or returns null
+
+
+
+
+
+
+ Sets the flag to prevent application starting on next boot
+
+
+
+
+
+
+
+
+
+
+ Prints message to console if current debug level is equal to or higher than the level of this message.
+ Uses CrestronConsole.PrintLine.
+
+
+ Console format string
+ Object parameters
+
+
+
+ Logs to Console when at-level, and all messages to error log, including device key
+
+
+
+
+ Prints message to console if current debug level is equal to or higher than the level of this message. Always sends message to Error Log.
+ Uses CrestronConsole.PrintLine.
+
+
+
+
+ Logs to Console when at-level, and all messages to error log
+
+
+
+
+ Logs to both console and the custom user log (not the built-in error log). If appdebug level is set at
+ or above the level provided, then the output will be written to both console and the log. Otherwise
+ it will only be written to the log.
+
+
+
+
+ Logs to both console and the custom user log (not the built-in error log). If appdebug level is set at
+ or above the level provided, then the output will be written to both console and the log. Otherwise
+ it will only be written to the log.
+
+
+
+
+ Prints to log and error log
+
+
+
+
+
+
+ Writes the memory object after timeout
+
+
+
+
+ Writes the memory - use SaveMemoryOnTimeout
+
+
+
+
+
+
+
+
+
+ Helper to get the file path for this app's debug memory
+
+
+
+
+ Debug level to set for a given program.
+
+
+
+
+ When this is true, the configuration file will NOT be loaded until triggered by either a console command or a signal
+
+
+
+
+ Version for the currently loaded PepperDashCore dll
+
+
+
+
+ Error level to for message to be logged at
+
+
+
+
+ Error
+
+
+
+
+ Warning
+
+
+
+
+ Notice
+
+
+
+
+ None
+
+
+
+
+ Reads a Portal formatted config file
+
+
+
+
+ Reads the config file, checks if it needs a merge, merges and saves, then returns the merged Object.
+
+ JObject of config file
+
+
+
+
+
+
+
+
+
+
+ Merges the contents of a base and a delta array, matching the entries on a top-level property
+ given by propertyName. Returns a merge of them. Items in the delta array that do not have
+ a matched item in base array will not be merged. Non keyed system items will replace the template items.
+
+
+
+
+ Helper for using with JTokens. Converts to JObject
+
+
+
+
+ Merge o2 onto o1
+
+
+
+
+
+
+
+ XSig token types.
+
+
+
+
+ Digital signal datatype.
+
+
+
+
+ Analog signal datatype.
+
+
+
+
+ Serial signal datatype.
+
+
+
+
+ A class to allow user interaction with the PasswordManager
+
+
+
+
+ Constructor
+
+
+
+
+ Initialize method
+
+
+
+
+ Retrieve password by index
+
+
+
+
+
+ Password validation method
+
+
+
+
+
+ Builds the user entered passwrod string, will attempt to validate the user entered
+ password against the selected password when the length of the 2 are equal
+
+
+
+
+
+ Clears the user entered password and resets the LEDs
+
+
+
+
+ Protected boolean change event handler
+
+
+
+
+
+
+
+ Protected ushort change event handler
+
+
+
+
+
+
+
+ Protected string change event handler
+
+
+
+
+
+
+
+ If password changes while selected change event will be notifed and update the client
+
+
+
+
+
+
+ Password selected
+
+
+
+
+ Password selected key
+
+
+
+
+ Used to build the password entered by the user
+
+
+
+
+ Boolean event
+
+
+
+
+ Ushort event
+
+
+
+
+ String event
+
+
+
+
+ JSON password configuration
+
+
+
+
+ Constructor
+
+
+
+
+ Password object configured password
+
+
+
+
+ Represents a JSON file that can be read and written to
+
+
+
+
+ Abstract base class for JsonToSimpl interactions
+
+
+
+
+ A collection of associated child modules
+
+
+
+ Privates *
+
+
+
+ SIMPL+ default constructor.
+
+
+
+
+ Sets up class - overriding methods should always call this.
+
+
+
+
+
+ Adds a child "module" to this master
+
+
+
+
+
+ Called from the child to add changed or new values for saving
+
+
+
+
+ Saves the file
+
+
+
+
+ Helper event
+
+
+
+
+
+
+
+ Helper event
+
+
+
+
+
+
+
+ Helper event
+
+
+
+
+
+
+
+ Notifies of bool change
+
+
+
+
+ Notifies of ushort change
+
+
+
+
+ Notifies of string change
+
+
+
+
+ Mirrors the Unique ID for now.
+
+
+
+
+ A unique ID
+
+
+
+
+ Merely for use in debug messages
+
+
+
+
+ This will be prepended to all paths to allow path swapping or for more organized
+ sub-paths
+
+
+
+
+ This is added to the end of all paths
+
+
+
+
+ Enables debugging output to the console. Certain error messages will be logged to the
+ system's error log regardless of this setting
+
+
+
+
+ Ushort helper for Debug property
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Deserializes a string into a JObject
+
+
+
+
+
+
+ Deserializes a string into a JArray
+
+
+
+
+
+ Privates *
+
+
+
+ SIMPL+ default constructor.
+
+
+
+
+ Read, evaluate and udpate status
+
+
+
+
+ Sets the debug level
+
+
+
+
+
+ Saves the values to the file
+
+
+
+
+ Sets the filepath as well as registers this with the Global.Masters list
+
+
+
+
+ Filepath to the actual file that will be read (Portal or local)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Portal File Master
+
+
+
+ Privates *
+
+
+
+ SIMPL+ default constructor.
+
+
+
+
+ Read, evaluate and udpate status
+
+
+
+
+ Returns the FileInfo object for a given path, with possible wildcards
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sets the filepath as well as registers this with the Global.Masters list
+
+
+
+
+ File path of the actual file being read (Portal or local)
+
+
+
+
+ Client config object for TCP client with server that inherits from TcpSshPropertiesConfig and adds properties for shared key and heartbeat
+
+
+
+
+ TcpSsh Properties
+
+
+
+
+ Bool value for secure. Currently not implemented in TCP sockets as they are not dynamic
+
+
+
+
+ Require a shared key that both server and client negotiate. If negotiation fails server disconnects the client
+
+
+
+
+ The shared key that must match on the server and client
+
+
+
+
+ Require a heartbeat on the client/server connection that will cause the server/client to disconnect if the heartbeat is not received.
+ heartbeats do not raise received events.
+
+
+
+
+ The interval in seconds for the heartbeat from the client. If not received client is disconnected
+
+
+
+
+ HeartbeatString that will be checked against the message received. defaults to heartbeat if no string is provided.
+
+
+
+
+ Receive Queue size must be greater than 20 or defaults to 20
+
+
+
+
+ Allows for two simultaneous TCP clients to connect to a redundant pair of QSC Core DSPs and manages
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default constuctor for S+
+
+
+
+
+ Connects to both DSP units
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Does not include line feed
+
+
+
+
+ Key to uniquely identify the instance of the class
+
+
+
+
+ Fires when a bool value changes to notify the S+ module
+
+
+
+
+ Fires when a ushort value changes to notify the S+ module
+
+
+
+
+ Fires when a string value changes to notify the S+ module
+
+
+
+
+ The client for the master DSP unit
+
+
+
+
+ The client for the slave DSP unit
+
+
+
+
+ A class to handle secure TCP/IP communications with a server
+
+
+
+
+ Internal secure client
+
+
+
+
+ Flag Set only when the disconnect method is called.
+
+
+
+
+ Semaphore on connect method
+
+
+
+
+ Queue lock
+
+
+
+
+ Queue to temporarily store received messages with the source IP and Port info. Defaults to size 20. Use constructor or set queue size property before
+ calling initialize.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+ Contstructor that sets all properties by calling the initialize method with a config object.
+
+
+
+
+
+
+ Default constructor for S+
+
+
+
+
+ Just to help S+ set the key
+
+
+
+
+ Initialize called by the constructor that accepts a client config object. Can be called later to reset properties of client.
+
+
+
+
+
+ Handles closing this up when the program shuts down
+
+
+
+
+ Deactivate the client
+
+
+
+
+
+ Connect Method. Will return if already connected. Will write errors if missing address, port, or unique key/name.
+
+
+
+
+
+
+
+
+
+ Does the actual disconnect business
+
+
+
+
+ Called from Connect failure or Socket Status change if
+ auto reconnect and socket disconnected (Not disconnected by user)
+
+
+
+
+ Receive callback
+
+
+
+
+
+
+ This method gets spooled up in its own thread an protected by a CCriticalSection to prevent multiple threads from running concurrently.
+ It will dequeue items as they are enqueued automatically.
+
+
+
+
+
+
+
+
+
+ General send method
+
+
+
+
+
+
+
+
+
+ SocketStatusChange Callback
+
+
+
+
+
+
+ Helper for ConnectionChange event
+
+
+
+
+ Helper to fire ClientReadyForCommunications event
+
+
+
+
+ Stream debugging
+
+
+
+
+ Fires when data is received from the server and returns it as a Byte array
+
+
+
+
+ Fires when data is received from the server and returns it as text
+
+
+
+
+
+
+
+
+
+ Auto reconnect evant handler
+
+
+
+
+ Event for Receiving text. Once subscribed to this event the receive callback will start a thread that dequeues the messages and invokes the event on a new thread.
+ It is not recommended to use both the TextReceived event and the TextReceivedQueueInvoke event.
+
+
+
+
+ For a client with a pre shared key, this will fire after the communication is established and the key exchange is complete. If you require
+ a key and subscribe to the socket change event and try to send data on a connection the data sent will interfere with the key exchange and disconnect.
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ S+ helper
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ _client socket status Read only
+
+
+
+
+ Contains the familiar Simpl analog status values. This drives the ConnectionChange event
+ and IsConnected would be true when this == 2.
+
+
+
+
+ Status text shows the message associated with socket status
+
+
+
+
+ Connection failure reason
+
+
+
+
+ bool to track if auto reconnect should be set on the socket
+
+
+
+
+ S+ helper for AutoReconnect
+
+
+
+
+ Milliseconds to wait before attempting to reconnect. Defaults to 5000
+
+
+
+
+
+
+
+
+
+ Bool to show whether the server requires a preshared key. This is used in the DynamicTCPServer class
+
+
+
+
+ S+ helper for requires shared key bool
+
+
+
+
+ SharedKey is sent for varification to the server. Shared key can be any text (255 char limit in SIMPL+ Module), but must match the Shared Key on the Server module
+
+
+
+
+ flag to show the client is waiting for the server to send the shared key
+
+
+
+
+ Bool showing if socket is ready for communication after shared key exchange
+
+
+
+
+ S+ helper for IsReadyForCommunication
+
+
+
+
+ Bool Heartbeat Enabled flag
+
+
+
+
+ S+ helper for Heartbeat Enabled
+
+
+
+
+ Heartbeat String
+
+
+
+
+ Milliseconds before server expects another heartbeat. Set by property HeartbeatRequiredIntervalInSeconds which is driven from S+
+
+
+
+
+ Simpl+ Heartbeat Analog value in seconds
+
+
+
+
+ Receive Queue size. Defaults to 20. Will set to 20 if QueueSize property is less than 20. Use constructor or set queue size property before
+ calling initialize.
+
+
+
+
+ Represents a device that implements IBasicCommunication and IStreamDebugging
+
+
+
+
+
+
+
+
+
+ Connected
+
+
+
+
+ Disconnected
+
+
+
+
+ This delegate defines handler for IBasicCommunication status changes
+
+ Device firing the status change
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ S+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ S+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets escaped text for a byte array
+
+
+
+
+
+
+ Gets escaped text for a string
+
+
+
+
+
+
+ Gets debug text for a string
+
+
+
+
+
+
+ Represents an XSigSerialToken
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Class to help with accessing values from the CrestronEthernetHelper class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Class to persist current Debug settings across program restarts
+
+
+
+
+ To prevent threading issues with the DeviceDebugSettings collection
+
+
+
+
+ Default constructor
+
+
+
+
+ Sets the level of a given context item, and adds that item if it does not
+ exist
+
+
+
+
+
+
+ Gets a level or creates it if not existing
+
+
+
+
+
+
+ sets the settings for a device or creates a new entry
+
+
+
+
+
+
+
+ Gets the device settings for a device by key or returns null
+
+
+
+
+
+
+ Collection of the debug settings for each device where the dictionary key is the device key
+
+
+
+
+ Contains information about
+
+
+
+
+ The level of debug messages to print
+
+
+
+
+ Property to tell the program not to intitialize when it boots, if desired
+
+
+
+
+ Web API server
+
+
+
+
+ Constructor for S+. Make sure to set necessary properties using init method
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Program status event handler
+
+
+
+
+
+ Ethernet event handler
+
+
+
+
+
+ Initializes CWS class
+
+
+
+
+ Adds a route to CWS
+
+
+
+
+ Removes a route from CWS
+
+
+
+
+
+ Returns a list of the current routes
+
+
+
+
+ Starts CWS instance
+
+
+
+
+ Stop CWS instance
+
+
+
+
+ Received request handler
+
+
+ This is here for development and testing
+
+
+
+
+
+
+ Web API server key
+
+
+
+
+ Web API server name
+
+
+
+
+ CWS base path, will default to "/api" if not set via initialize method
+
+
+
+
+ Indicates CWS is registered with base path
+
+
+
+
+ Generic Master
+
+
+
+ Privates *
+
+
+
+ SIMPL+ default constructor.
+
+
+
+
+ Loads in JSON and triggers evaluation on all children
+
+
+
+
+
+ Loads JSON into JsonObject, but does not trigger evaluation by children
+
+
+
+
+
+
+
+
+
+
+ Callback action for saving
+
+
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Constants
+
+
+
+
+ Generic boolean change
+
+
+
+
+ Generic Ushort change
+
+
+
+
+ Response Code Ushort change
+
+
+
+
+ Generic String chagne
+
+
+
+
+ Response string change
+
+
+
+
+ Error string change
+
+
+
+
+ Web API default request handler
+
+
+
+
+ Constructor
+
+
+
+
+ Passcode client for the WebApi
+
+
+
+
+ An embedded JsonToSimpl master object.
+
+
+
+
+ SIMPL+ can only execute the default constructor. If you have variables that require initialization, please
+ use an Initialize method
+
+
+
+
+ Initializes the instance
+
+
+
+
+
+
+
+
+ Gets the user for a passcode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ After save operation on JSON master happens, send it to server
+
+
+
+
+
+ Notifies when user received
+
+
+
+
+ Notifies when Preset received
+
+
+
+
+ Unique identifier for this instance
+
+
+
+
+ Delegate for notifying of socket status changes
+
+
+
+
+
+ EventArgs class for socket status changes
+
+
+
+
+
+
+
+
+
+
+ S+ Constructor
+
+
+
+
+
+
+
+
+
+ Delegate for notifying of TCP Server state changes
+
+
+
+
+
+ EventArgs class for TCP Server state changes
+
+
+
+
+
+
+
+
+
+
+ S+ Constructor
+
+
+
+
+
+
+
+
+
+ Delegate for TCP Server socket status changes
+
+
+
+
+
+
+
+ EventArgs for TCP server socket status changes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ S+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EventArgs for TCP server com method receive text
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ S+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EventArgs for TCP server client ready for communication
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ S+ Constructor
+
+
+
+
+ EventArgs for UDP connected
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generic secure TCP/IP server
+
+
+
+
+ Server listen lock
+
+
+
+
+ Queue lock
+
+
+
+
+ Queue to temporarily store received messages with the source IP and Port info. Defaults to size 20. Use constructor or set queue size property before
+ calling initialize.
+
+
+
+
+ A bandaid client that monitors whether the server is reachable
+
+
+
+
+ Timer to operate the bandaid monitor client in a loop.
+
+
+
+
+
+
+
+
+
+ The connected client indexes
+
+
+
+
+
+
+
+
+
+ constructor S+ Does not accept a key. Use initialze with key to set the debug key on this device. If using with + make sure to set all properties manually.
+
+
+
+
+ constructor with debug key set at instantiation. Make sure to set all properties before listening.
+
+
+
+
+
+ Contstructor that sets all properties by calling the initialize method with a config object. This does set Queue size.
+
+
+
+
+
+ Disconnects all clients and stops the server
+
+
+
+
+ Initialize Key for device using client name from SIMPL+. Called on Listen from SIMPL+
+
+
+
+
+
+ Initialze the server
+
+
+
+
+
+ Start listening on the specified port
+
+
+
+
+ Stop Listeneing
+
+
+
+
+ Disconnects Client
+
+
+
+
+
+ Disconnect All Clients
+
+
+
+
+ Broadcast text from server to all connected clients
+
+
+
+
+
+ Not sure this is useful in library, maybe Pro??
+
+
+
+
+
+
+ Get the IP Address for the client at the specifed index
+
+
+
+
+
+
+ Secure Server Socket Status Changed Callback
+
+
+
+
+
+
+
+ Secure TCP Client Connected to Secure Server Callback
+
+
+
+
+
+
+ Secure Received Data Async Callback
+
+
+
+
+
+
+
+ This method gets spooled up in its own thread an protected by a CCriticalSection to prevent multiple threads from running concurrently.
+ It will dequeue items as they are enqueued automatically.
+
+
+
+
+ Private Event Handler method to handle the closing of connections when the program stops
+
+
+
+
+
+ Starts the monitor client cycle. Timed wait, then call RunMonitorClient
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ On monitor connect, restart the operation
+
+
+
+
+ If the client hangs, add to counter and maybe fire the choke event
+
+
+
+
+ Event for Receiving text
+
+
+
+
+ Event for Receiving text. Once subscribed to this event the receive callback will start a thread that dequeues the messages and invokes the event on a new thread.
+ It is not recommended to use both the TextReceived event and the TextReceivedQueueInvoke event.
+
+
+
+
+ Event for client connection socket status change
+
+
+
+
+ Event for Server State Change
+
+
+
+
+ For a server with a pre shared key, this will fire after the communication is established and the key exchange is complete. If no shared key, this will fire
+ after connection is successful. Use this event to know when the client is ready for communication to avoid stepping on shared key.
+
+
+
+
+ A band aid event to notify user that the server has choked.
+
+
+
+
+ Receive Queue size. Defaults to 20. Will set to 20 if QueueSize property is less than 20. Use constructor or set queue size property before
+ calling initialize.
+
+
+
+
+ 3 by default
+
+
+
+
+ Text representation of the Socket Status enum values for the server
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Max number of clients this server will allow for connection. Crestron max is 64. This number should be less than 65
+
+
+
+
+ Number of clients currently connected.
+
+
+
+
+ Port Server should listen on
+
+
+
+
+ S+ helper for Port
+
+
+
+
+ Bool to show whether the server requires a preshared key. Must be set the same in the client, and if true shared keys must be identical on server/client
+
+
+
+
+ S+ helper for requires shared key bool
+
+
+
+
+ SharedKey is sent for varification to the server. Shared key can be any text (255 char limit in SIMPL+ Module), but must match the Shared Key on the Server module.
+ If SharedKey changes while server is listening or clients are connected, disconnect and stop listening will be called
+
+
+
+
+ Heartbeat Required bool sets whether server disconnects client if heartbeat is not received
+
+
+
+
+ S+ Helper for Heartbeat Required
+
+
+
+
+ Milliseconds before server expects another heartbeat. Set by property HeartbeatRequiredIntervalInSeconds which is driven from S+
+
+
+
+
+ Simpl+ Heartbeat Analog value in seconds
+
+
+
+
+ String to Match for heartbeat. If null or empty any string will reset heartbeat timer
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Private flag to note that the server has stopped intentionally
+
+
+
+
+
+
+
+
+
+ Controls the ability to disable/enable debugging of TX/RX data sent to/from a device with a built in timer to disable
+
+
+
+
+ Timer to disable automatically if not manually disabled
+
+
+
+
+ Constructor
+
+
+
+
+
+ Sets the debugging setting and if not setting to off, assumes the default of 30 mintues
+
+
+
+
+
+ Sets the debugging setting for the specified number of minutes
+
+
+
+
+
+
+ Disabled debugging
+
+
+
+
+ Device Key that this instance configures
+
+
+
+
+ The current debug setting
+
+
+
+
+ Timeout in Minutes
+
+
+
+
+ Indicates that receive stream debugging is enabled
+
+
+
+
+ Indicates that transmit stream debugging is enabled
+
+
+
+
+ The available settings for stream debugging
+
+
+
+
+ Debug off
+
+
+
+
+ Debug received data
+
+
+
+
+ Debug transmitted data
+
+
+
+
+ Debug both received and transmitted data
+
+
+
+
+ The available settings for stream debugging response types
+
+
+
+
+ Debug data in byte format
+
+
+
+
+ Debug data in text format
+
+
+
+
+ Debug data in both byte and text formats
+
+
+
+
+ Class to handle this specific exception type
+
+
+
+
+ default constructor
+
+
+
+
+ constructor with message
+
+
+
+
+
+ constructor with message and innner exception
+
+
+
+
+
+
+ Constants for Simpl modules
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the if the device is 3-series compatible
+
+
+
+
+ Reports the if the device is 4-series compatible
+
+
+
+
+ Reports the device platform enum value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the root directory change
+
+
+
+
+ Reports the room ID change
+
+
+
+
+ Reports the room name change
+
+
+
+
+ S+ values delegate
+
+
+
+
+ S+ values wrapper
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ S+ types enum
+
+
+
+
+ Digital
+
+
+
+
+ Analog
+
+
+
+
+ String
+
+
+
+
+ Defines the string event handler for line events on the gather
+
+
+
+
+
+ Attaches to IBasicCommunication as a text gather
+
+
+
+
+ For receive buffer
+
+
+
+
+ Delimiter, like it says!
+
+
+
+
+ Constructor for using a char delimiter
+
+
+
+
+
+
+ Constructor for using a single string delimiter
+
+
+
+
+
+
+ Constructor for using an array of string delimiters
+
+
+
+
+
+
+ Disconnects this gather from the Port's TextReceived event. This will not fire LineReceived
+ after the this call.
+
+
+
+
+ Handler for raw data coming from port
+
+
+
+
+
+
+
+
+
+
+
+ Deconstructor. Disconnects from port TextReceived events.
+
+
+
+
+ Event that fires when a line is received from the IBasicCommunication source.
+ The event merely contains the text, not an EventArgs type class.
+
+
+
+
+ The communication port that this gathers on
+
+
+
+
+ Default false. If true, the delimiter will be included in the line output
+ events
+
+
+
+
+ Background class that manages debug features for sockets
+
+
+
+
+ Sets up the backing class. Adds console commands for S#Pro programs
+
+
+
+
+ Helper for socket list, to show types
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generic TCP/IP client for server
+
+
+
+
+ This is something of a band-aid callback. If the client times out during the connection process, because the server
+ is stuck, this will fire. It is intended to be used by the Server class monitor client, to help
+ keep a watch on the server and reset it if necessary.
+
+
+
+
+ Semaphore on connect method
+
+
+
+
+ Flag Set only when the disconnect method is called.
+
+
+
+
+ private Timer for auto reconnect
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Used to force disconnection on a dead connect attempt
+
+
+
+
+ Internal secure client
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+ Constructor for S+
+
+
+
+
+ Just to help S+ set the key
+
+
+
+
+ Handles closing this up when the program shuts down
+
+
+
+
+ Connect Method. Will return if already connected. Will write errors if missing address, port, or unique key/name.
+
+
+
+
+
+
+
+
+
+ Internal call to close up client. ALWAYS use this when disconnecting.
+
+
+
+ ff
+ Called from Connect failure or Socket Status change if
+ auto reconnect and socket disconnected (Not disconnected by user)
+
+
+
+
+ Receive callback
+
+
+
+
+
+
+
+
+
+
+
+ General send method
+
+
+
+
+
+
+
+
+
+ SocketStatusChange Callback
+
+
+
+
+
+
+ Helper for ConnectionChange event
+
+
+
+
+ Helper to fire ClientReadyForCommunications event
+
+
+
+
+ Notifies of text received
+
+
+
+
+ Notifies of socket status change
+
+
+
+
+ For a client with a pre shared key, this will fire after the communication is established and the key exchange is complete. If you require
+ a key and subscribe to the socket change event and try to send data on a connection the data sent will interfere with the key exchange and disconnect.
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ S+ helper
+
+
+
+
+ Bool to show whether the server requires a preshared key. This is used in the DynamicTCPServer class
+
+
+
+
+ S+ helper for requires shared key bool
+
+
+
+
+ SharedKey is sent for varification to the server. Shared key can be any text (255 char limit in SIMPL+ Module), but must match the Shared Key on the Server module
+
+
+
+
+ flag to show the client is waiting for the server to send the shared key
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Bool showing if socket is ready for communication after shared key exchange
+
+
+
+
+ S+ helper for IsReadyForCommunication
+
+
+
+
+ Client socket status Read only
+
+
+
+
+ Contains the familiar Simpl analog status values. This drives the ConnectionChange event
+ and IsConnected would be true when this == 2.
+
+
+
+
+ Status text shows the message associated with socket status
+
+
+
+
+ bool to track if auto reconnect should be set on the socket
+
+
+
+
+ S+ helper for AutoReconnect
+
+
+
+
+ Milliseconds to wait before attempting to reconnect. Defaults to 5000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Band aid delegate for choked server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ For Simpl+
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ True when user is found
+
+
+
+
+ For stupid S+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Represents a preset
+
+
+
+
+ Constructor
+
+
+
+
+ ID of preset
+
+
+
+
+ User ID
+
+
+
+
+ Room Type ID
+
+
+
+
+ Preset Name
+
+
+
+
+ Preset Number
+
+
+
+
+ Preset Data
+
+
+
+
+
+
+
+
+
+ For Simpl+
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ True when the preset is found
+
+
+
+
+ S+ helper
+
+
+
+
+ The preset
+
+
+
+
+ Config properties that indicate how to communicate with a device for control
+
+
+
+
+ Constructor
+
+
+
+
+ The method of control
+
+
+
+
+ The key of the device that contains the control port
+
+
+
+
+ The number of the control port on the device specified by ControlPortDevKey
+
+
+
+
+ The name of the control port on the device specified by ControlPortDevKey
+
+
+
+
+ Properties for ethernet based communications
+
+
+
+
+ The filename and path for the IR file
+
+
+
+
+ The IpId of a Crestron device
+
+
+
+
+ Readonly uint representation of the IpId
+
+
+
+
+ Char indicating end of line
+
+
+
+
+ Defaults to Environment.NewLine;
+
+
+
+
+ Indicates
+
+
+
+
+ Used when communcating to programs running in VC-4
+
+
+
+
+ Allows passwords to be stored and managed
+
+
+
+
+ Public dictionary of known passwords
+
+
+
+
+ Private dictionary, used when passwords are updated
+
+
+
+
+ Timer used to wait until password changes have stopped before updating the dictionary
+
+
+
+
+ Timer length
+
+
+
+
+ Constructor
+
+
+
+
+ Initialize password manager
+
+
+
+
+ Updates password stored in the dictonary
+
+
+
+
+
+
+ CTimer callback function
+
+
+
+
+ Method to change the default timer value, (default 5000ms/5s)
+
+
+
+
+
+ Helper method for debugging to see what passwords are in the lists
+
+
+
+
+ Protected boolean change event handler
+
+
+
+
+
+
+
+ Protected ushort change event handler
+
+
+
+
+
+
+
+ Protected string change event handler
+
+
+
+
+
+
+
+ Protected password change event handler
+
+
+
+
+
+
+
+ Boolean event
+
+
+
+
+ Ushort event
+
+
+
+
+ String event
+
+
+
+
+ Event to notify clients of an updated password at the specified index (uint)
+
+
+
+
+ A class to handle basic TCP/IP communications with a server
+
+
+
+
+ The actual client class
+
+
+
+
+ Set only when the disconnect method is called
+
+
+
+
+ Constructor
+
+ unique string to differentiate between instances
+
+
+
+
+
+
+ Constructor
+
+
+
+
+
+ Default constructor for S+
+
+
+
+
+ Just to help S+ set the key
+
+
+
+
+ Handles closing this up when the program shuts down
+
+
+
+
+
+
+
+
+
+
+ Attempts to connect to the server
+
+
+
+
+ Attempts to disconnect the client
+
+
+
+
+ Does the actual disconnect business
+
+
+
+
+ Callback method for connection attempt
+
+
+
+
+
+ Disconnects, waits and attemtps to connect again
+
+
+
+
+ Recieves incoming data
+
+
+
+
+
+
+ General send method
+
+
+
+
+ This is useful from console and...?
+
+
+
+
+ Sends Bytes to the server
+
+
+
+
+
+ Socket Status Change Handler
+
+
+
+
+
+
+ Object to enable stream debugging
+
+
+
+
+ Fires when data is received from the server and returns it as a Byte array
+
+
+
+
+ Fires when data is received from the server and returns it as text
+
+
+
+
+
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ Another damn S+ helper because S+ seems to treat large port nums as signed ints
+ which screws up things
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ _client socket status Read only
+
+
+
+
+ Contains the familiar Simpl analog status values. This drives the ConnectionChange event
+ and IsConnected would be true when this == 2.
+
+
+
+
+ Status text shows the message associated with socket status
+
+
+
+
+ Ushort representation of client status
+
+
+
+
+ Connection failure reason
+
+
+
+
+ bool to track if auto reconnect should be set on the socket
+
+
+
+
+ S+ helper for AutoReconnect
+
+
+
+
+ Milliseconds to wait before attempting to reconnect. Defaults to 5000
+
+
+
+
+
+
+
+
+
+ Configuration properties for TCP/SSH Connections
+
+
+
+
+ Default constructor
+
+
+
+
+ Address to connect to
+
+
+
+
+ Port to connect to
+
+
+
+
+ Username credential
+
+
+
+
+ Passord credential
+
+
+
+
+ Defaults to 32768
+
+
+
+
+ Defaults to true
+
+
+
+
+ Defaults to 5000ms
+
+
+
+
+ Tcp Server Config object with properties for a tcp server with shared key and heartbeat capabilities
+
+
+
+
+ Uique key
+
+
+
+
+ Max Clients that the server will allow to connect.
+
+
+
+
+ Bool value for secure. Currently not implemented in TCP sockets as they are not dynamic
+
+
+
+
+ Port for the server to listen on
+
+
+
+
+ Require a shared key that both server and client negotiate. If negotiation fails server disconnects the client
+
+
+
+
+ The shared key that must match on the server and client
+
+
+
+
+ Require a heartbeat on the client/server connection that will cause the server/client to disconnect if the heartbeat is not received.
+ heartbeats do not raise received events.
+
+
+
+
+ The interval in seconds for the heartbeat from the client. If not received client is disconnected
+
+
+
+
+ HeartbeatString that will be checked against the message received. defaults to heartbeat if no string is provided.
+
+
+
+
+ Client buffer size. See Crestron help. defaults to 2000 if not greater than 2000
+
+
+
+
+ Receive Queue size must be greater than 20 or defaults to 20
+
+
+
+
+ Helper methods for creating XSig byte sequences compatible with the Intersystem Communications (ISC) symbol.
+
+
+ Indexing is not from the start of each signal type but rather from the beginning of the first defined signal
+ the Intersystem Communications (ISC) symbol.
+
+
+
+
+ Forces all outputs to 0.
+
+ Bytes in XSig format for clear outputs trigger.
+
+
+
+ Evaluate all inputs and re-transmit any digital, analog, and permanent serail signals not set to 0.
+
+ Bytes in XSig format for send status trigger.
+
+
+
+ Get bytes for an IXSigStateResolver object.
+
+ XSig state resolver.
+ Bytes in XSig format for each token within the state representation.
+
+
+
+ Get bytes for an IXSigStateResolver object, with a specified offset.
+
+ XSig state resolver.
+ Offset to which the data will be aligned.
+ Bytes in XSig format for each token within the state representation.
+
+
+
+ Get bytes for a single digital signal.
+
+ 1-based digital index
+ Digital data to be encoded
+ Bytes in XSig format for digtial information.
+
+
+
+ Get bytes for a single digital signal.
+
+ 1-based digital index
+ Index offset.
+ Digital data to be encoded
+ Bytes in XSig format for digtial information.
+
+
+
+ Get byte sequence for multiple digital signals.
+
+ Starting index of the sequence.
+ Digital signal value array.
+ Byte sequence in XSig format for digital signal information.
+
+
+
+ Get byte sequence for multiple digital signals.
+
+ Starting index of the sequence.
+ Index offset.
+ Digital signal value array.
+ Byte sequence in XSig format for digital signal information.
+
+
+
+ Get bytes for a single analog signal.
+
+ 1-based analog index
+ Analog data to be encoded
+ Bytes in XSig format for analog signal information.
+
+
+
+ Get bytes for a single analog signal.
+
+ 1-based analog index
+ Index offset.
+ Analog data to be encoded
+ Bytes in XSig format for analog signal information.
+
+
+
+ Get byte sequence for multiple analog signals.
+
+ Starting index of the sequence.
+ Analog signal value array.
+ Byte sequence in XSig format for analog signal information.
+
+
+
+ Get byte sequence for multiple analog signals.
+
+ Starting index of the sequence.
+ Index offset.
+ Analog signal value array.
+ Byte sequence in XSig format for analog signal information.
+
+
+
+ Get bytes for a single serial signal.
+
+ 1-based serial index
+ Serial data to be encoded
+ Bytes in XSig format for serial signal information.
+
+
+
+ Get bytes for a single serial signal.
+
+ 1-based serial index
+ Index offset.
+ Serial data to be encoded
+ Bytes in XSig format for serial signal information.
+
+
+
+ Get byte sequence for multiple serial signals.
+
+ Starting index of the sequence.
+ Serial signal value array.
+ Byte sequence in XSig format for serial signal information.
+
+
+
+ Get byte sequence for multiple serial signals.
+
+ Starting index of the sequence.
+ Index offset.
+ Serial signal value array.
+ Byte sequence in XSig format for serial signal information.
+
+
+
+ Generic secure TCP/IP client for server
+
+
+
+
+ This is something of a band-aid callback. If the client times out during the connection process, because the server
+ is stuck, this will fire. It is intended to be used by the Server class monitor client, to help
+ keep a watch on the server and reset it if necessary.
+
+
+
+
+ Semaphore on connect method
+
+
+
+
+ Flag Set only when the disconnect method is called.
+
+
+
+
+ private Timer for auto reconnect
+
+
+
+
+ Used to force disconnection on a dead connect attempt
+
+
+
+
+ Internal secure client
+
+
+
+
+ Queue lock
+
+
+
+
+ Queue to temporarily store received messages with the source IP and Port info. Defaults to size 20. Use constructor or set queue size property before
+ calling initialize.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+ Constructor for S+
+
+
+
+
+ Contstructor that sets all properties by calling the initialize method with a config object.
+
+
+
+
+
+
+ Just to help S+ set the key
+
+
+
+
+ Initialize called by the constructor that accepts a client config object. Can be called later to reset properties of client.
+
+
+
+
+
+ Handles closing this up when the program shuts down
+
+
+
+
+ Connect Method. Will return if already connected. Will write errors if missing address, port, or unique key/name.
+
+
+
+
+
+
+
+
+
+ Internal call to close up client. ALWAYS use this when disconnecting.
+
+
+
+ ff
+ Called from Connect failure or Socket Status change if
+ auto reconnect and socket disconnected (Not disconnected by user)
+
+
+
+
+ Receive callback
+
+
+
+
+
+
+ This method gets spooled up in its own thread an protected by a CCriticalSection to prevent multiple threads from running concurrently.
+ It will dequeue items as they are enqueued automatically.
+
+
+
+
+
+
+
+
+
+ General send method
+
+
+
+
+
+
+
+
+
+ SocketStatusChange Callback
+
+
+
+
+
+
+ Helper for ConnectionChange event
+
+
+
+
+ Helper to fire ClientReadyForCommunications event
+
+
+
+
+ Notifies of text received
+
+
+
+
+ Notifies of auto reconnect sequence triggered
+
+
+
+
+ Event for Receiving text. Once subscribed to this event the receive callback will start a thread that dequeues the messages and invokes the event on a new thread.
+ It is not recommended to use both the TextReceived event and the TextReceivedQueueInvoke event.
+
+
+
+
+ Notifies of socket status change
+
+
+
+
+ For a client with a pre shared key, this will fire after the communication is established and the key exchange is complete. If you require
+ a key and subscribe to the socket change event and try to send data on a connection the data sent will interfere with the key exchange and disconnect.
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ S+ helper
+
+
+
+
+ Bool to show whether the server requires a preshared key. This is used in the DynamicTCPServer class
+
+
+
+
+ S+ helper for requires shared key bool
+
+
+
+
+ SharedKey is sent for varification to the server. Shared key can be any text (255 char limit in SIMPL+ Module), but must match the Shared Key on the Server module
+
+
+
+
+ flag to show the client is waiting for the server to send the shared key
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Bool showing if socket is ready for communication after shared key exchange
+
+
+
+
+ S+ helper for IsReadyForCommunication
+
+
+
+
+ Client socket status Read only
+
+
+
+
+ Contains the familiar Simpl analog status values. This drives the ConnectionChange event
+ and IsConnected would be true when this == 2.
+
+
+
+
+ Status text shows the message associated with socket status
+
+
+
+
+ bool to track if auto reconnect should be set on the socket
+
+
+
+
+ S+ helper for AutoReconnect
+
+
+
+
+ Milliseconds to wait before attempting to reconnect. Defaults to 5000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Milliseconds before server expects another heartbeat. Set by property HeartbeatRequiredIntervalInSeconds which is driven from S+
+
+
+
+
+ Simpl+ Heartbeat Analog value in seconds
+
+
+
+
+ Receive Queue size. Defaults to 20. Will set to 20 if QueueSize property is less than 20. Use constructor or set queue size property before
+ calling initialize.
+
+
+
+
+ Band aid delegate for choked server
+
+
+
+
diff --git a/PepperDashCore.1.3.1/lib/net47/PepperDash_Core.clz b/PepperDashCore.1.3.1/lib/net47/PepperDash_Core.clz
new file mode 100644
index 00000000..9d58f07a
Binary files /dev/null and b/PepperDashCore.1.3.1/lib/net47/PepperDash_Core.clz differ
diff --git a/PepperDashCore.1.3.1/lib/net47/PepperDash_Core.dll b/PepperDashCore.1.3.1/lib/net47/PepperDash_Core.dll
new file mode 100644
index 00000000..22fdba74
Binary files /dev/null and b/PepperDashCore.1.3.1/lib/net47/PepperDash_Core.dll differ
diff --git a/PepperDashCore.1.3.1/lib/net47/PepperDash_Core.xml b/PepperDashCore.1.3.1/lib/net47/PepperDash_Core.xml
new file mode 100644
index 00000000..2bb8effe
--- /dev/null
+++ b/PepperDashCore.1.3.1/lib/net47/PepperDash_Core.xml
@@ -0,0 +1,6857 @@
+
+
+
+ PepperDash_Core
+
+
+
+
+ Constants
+
+
+
+
+ Generic boolean value change constant
+
+
+
+
+ Evaluated boolean change constant
+
+
+
+
+ Update busy change const
+
+
+
+
+ Password is valid change constant
+
+
+
+
+ Password LED change constant
+
+
+
+
+ Generic ushort value change constant
+
+
+
+
+ Password count
+
+
+
+
+ Password selecte index change constant
+
+
+
+
+ Password length
+
+
+
+
+ Generic string value change constant
+
+
+
+
+ Device class
+
+
+
+
+ Constructor
+
+
+
+
+ Initialize method
+
+
+
+
+
+
+ BoolChange event handler helper
+
+
+
+
+
+
+
+ UshrtChange event handler helper
+
+
+
+
+
+
+
+ StringChange event handler helper
+
+
+
+
+
+
+
+ ObjectChange event handler helper
+
+
+
+
+
+
+
+ JSON config key property
+
+
+
+
+ JSON config name property
+
+
+
+
+ JSON config type property
+
+
+
+
+ JSON config properties
+
+
+
+
+ Bool change event handler
+
+
+
+
+ Ushort change event handler
+
+
+
+
+ String change event handler
+
+
+
+
+ Object change event handler
+
+
+
+
+ Client for communicating with an HTTP Server Side Event pattern
+
+
+
+
+ An incoming communication stream
+
+
+
+
+ Unique key interface to require a unique key for the class
+
+
+
+
+ Unique Key
+
+
+
+
+ Connect to the device
+
+
+
+
+ Disconnect from the device
+
+
+
+
+ Notifies of bytes received
+
+
+
+
+ Notifies of text received
+
+
+
+
+ Indicates connection status
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Connects to the server. Requires Url to be set first.
+
+
+
+
+ Disconnects from the server
+
+
+
+
+ Initiates connection to the server
+
+
+
+
+
+ Closes the connection to the server
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Notifies when bytes have been received
+
+
+
+
+ Notifies when text has been received
+
+
+
+
+ Indicates connection status
+
+
+
+
+ Unique identifier for the instance
+
+
+
+
+ Name for the instance
+
+
+
+
+ URL of the server
+
+
+
+
+ Stores the state of the request
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Waithandle for main thread.
+
+
+
+
+
+
+
+
+
+ XSigToken stream reader.
+
+
+
+
+
+ XSigToken stream reader constructor.
+
+ Input stream to read from.
+ Stream is null.
+ Stream cannot be read from.
+
+
+
+ XSigToken stream reader constructor.
+
+ Input stream to read from.
+ Determines whether to leave the stream open or not.
+ Stream is null.
+ Stream cannot be read from.
+
+
+
+ Reads a 16-bit unsigned integer from the specified stream using Big Endian byte order.
+
+ Input stream
+ Result
+ True if successful, otherwise false.
+
+
+
+ Read XSig token from the stream.
+
+ XSigToken
+ Offset is less than 0.
+
+
+
+ Reads all available XSig tokens from the stream.
+
+ XSigToken collection.
+
+
+
+ Attempts to deserialize all XSig data within the stream from the current position.
+
+ Type to deserialize the information to.
+ Deserialized object.
+
+
+
+ Disposes of the internal stream if specified to not leave open.
+
+
+
+
+ Represents an XSigAnalogToken
+
+
+
+
+ Represents the base class for all XSig datatypes.
+
+
+
+
+ Constructs an XSigToken with the specified index.
+
+ Index for the data.
+
+
+
+ Generates the XSig bytes for the corresponding token.
+
+ XSig byte array.
+
+
+
+ Returns a new token if necessary with an updated index based on the specified offset.
+
+ Offset to adjust the index with.
+ XSigToken
+
+
+
+ XSig 1-based index.
+
+
+
+
+ XSigToken type.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constants
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Processor Change Event Args Class
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ethernet Change Event Args Class
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Control Subnet Chage Event Args Class
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Program Change Event Args Class
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generic TCP/IP server device
+
+
+
+
+ The core event and status-bearing class that most if not all device and connectors can derive from.
+
+
+
+
+ Named Keyed device interface. Forces the devie to have a Unique Key and a name.
+
+
+
+
+ Isn't it obvious :)
+
+
+
+
+ Base constructor for all Devices.
+
+
+
+
+
+ Constructor with key and name
+
+
+
+
+
+
+ Adds a pre activation action
+
+
+
+
+
+ Adds a post activation action
+
+
+
+
+
+ Executes the preactivation actions
+
+
+
+
+ Gets this device ready to be used in the system. Runs any added pre-activation items, and
+ all post-activation at end. Classes needing additional logic to
+ run should override CustomActivate()
+
+
+
+
+ Executes the postactivation actions
+
+
+
+
+ Called in between Pre and PostActivationActions when Activate() is called.
+ Override to provide addtitional setup when calling activation. Overriding classes
+ do not need to call base.CustomActivate()
+
+ true if device activated successfully.
+
+
+
+ Call to deactivate device - unlink events, etc. Overriding classes do not
+ need to call base.Deactivate()
+
+
+
+
+
+ Call this method to start communications with a device. Overriding classes do not need to call base.Initialize()
+
+
+
+
+ Helper method to check object for bool value false and fire an Action method
+
+ Should be of type bool, others will be ignored
+ Action to be run when o is false
+
+
+
+ Unique Key
+
+
+
+
+ Name of the devie
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A bandaid client that monitors whether the server is reachable
+
+
+
+
+ Timer to operate the bandaid monitor client in a loop.
+
+
+
+
+
+
+
+
+
+ The connected client indexes
+
+
+
+
+
+
+
+
+
+ constructor S+ Does not accept a key. Use initialze with key to set the debug key on this device. If using with + make sure to set all properties manually.
+
+
+
+
+ constructor with debug key set at instantiation. Make sure to set all properties before listening.
+
+
+
+
+
+ Contstructor that sets all properties by calling the initialize method with a config object.
+
+
+
+
+
+ Disconnects all clients and stops the server
+
+
+
+
+ Initialize Key for device using client name from SIMPL+. Called on Listen from SIMPL+
+
+
+
+
+
+ Initialze with server configuration object
+
+
+
+
+
+ Start listening on the specified port
+
+
+
+
+ Stop Listening
+
+
+
+
+ Disconnects Client
+
+
+
+
+
+ Disconnect All Clients
+
+
+
+
+ Broadcast text from server to all connected clients
+
+
+
+
+
+ Not sure this is useful in library, maybe Pro??
+
+
+
+
+
+
+ Gets the IP address based on the client index
+
+
+ IP address of the client
+
+
+
+ Secure Server Socket Status Changed Callback
+
+
+
+
+
+
+
+ Secure TCP Client Connected to Secure Server Callback
+
+
+
+
+
+
+ Secure Received Data Async Callback
+
+
+
+
+
+
+
+ Private Event Handler method to handle the closing of connections when the program stops
+
+
+
+
+
+ Starts the monitor client cycle. Timed wait, then call RunMonitorClient
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ On monitor connect, restart the operation
+
+
+
+
+ If the client hangs, add to counter and maybe fire the choke event
+
+
+
+
+ Event for Receiving text
+
+
+
+
+ Event for client connection socket status change
+
+
+
+
+ Event for Server State Change
+
+
+
+
+ For a server with a pre shared key, this will fire after the communication is established and the key exchange is complete. If no shared key, this will fire
+ after connection is successful. Use this event to know when the client is ready for communication to avoid stepping on shared key.
+
+
+
+
+ A band aid event to notify user that the server has choked.
+
+
+
+
+ 3 by default
+
+
+
+
+ Text representation of the Socket Status enum values for the server
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ The maximum number of clients.
+ Should be set by parameter in SIMPL+ in the MAIN method, Should not ever need to be configurable
+
+
+
+
+ Number of clients currently connected.
+
+
+
+
+ Port Server should listen on
+
+
+
+
+ S+ helper for Port
+
+
+
+
+ Bool to show whether the server requires a preshared key. Must be set the same in the client, and if true shared keys must be identical on server/client
+
+
+
+
+ S+ helper for requires shared key bool
+
+
+
+
+ SharedKey is sent for varification to the server. Shared key can be any text (255 char limit in SIMPL+ Module), but must match the Shared Key on the Server module.
+ If SharedKey changes while server is listening or clients are connected, disconnect and stop listening will be called
+
+
+
+
+ Heartbeat Required bool sets whether server disconnects client if heartbeat is not received
+
+
+
+
+ S+ Helper for Heartbeat Required
+
+
+
+
+ Milliseconds before server expects another heartbeat. Set by property HeartbeatRequiredIntervalInSeconds which is driven from S+
+
+
+
+
+ Simpl+ Heartbeat Analog value in seconds
+
+
+
+
+ String to Match for heartbeat. If null or empty any string will reset heartbeat timer
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Private flag to note that the server has stopped intentionally
+
+
+
+
+
+
+
+
+
+ Represents a debugging context
+
+
+
+
+ Creates or gets a debug context
+
+
+
+
+
+
+ Do not use. For S+ access.
+
+
+
+
+ Used to save memory when shutting down
+
+
+
+
+
+ Callback for console command
+
+
+
+
+
+ Sets the debug level
+
+ Valid values 0 (no debug), 1 (critical), 2 (all messages)
+
+
+
+ Prints message to console if current debug level is equal to or higher than the level of this message.
+ Uses CrestronConsole.PrintLine.
+
+
+ Console format string
+ Object parameters
+
+
+
+ Appends a device Key to the beginning of a message
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Writes the memory object after timeout
+
+
+
+
+ Writes the memory - use SaveMemoryOnTimeout
+
+
+
+
+
+
+
+
+
+ Helper to get the file path for this app's debug memory
+
+
+
+
+ Describes the folder location where a given program stores it's debug level memory. By default, the
+ file written will be named appNdebug where N is 1-10.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Device communication parameter class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Device TCP/SSH properties class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Device control class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Device properties class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Root device class
+
+
+
+
+ The collection of devices
+
+
+
+
+ Constants for simpl modules
+
+
+
+
+ Json object evaluated constant
+
+
+
+
+ Json object changed constant
+
+
+
+
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+
+ Device change event args object
+
+
+
+
+ Device change event args type
+
+
+
+
+ Device change event args index
+
+
+
+
+ Bool change event args
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+
+ Boolean state property
+
+
+
+
+ Boolean ushort value property
+
+
+
+
+ Boolean change event args type
+
+
+
+
+ Boolean change event args index
+
+
+
+
+ Ushort change event args
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+
+ Ushort change event args integer value
+
+
+
+
+ Ushort change event args type
+
+
+
+
+ Ushort change event args index
+
+
+
+
+ String change event args
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+ Constructor overload
+
+
+
+
+
+
+
+ String change event args value
+
+
+
+
+ String change event args type
+
+
+
+
+ string change event args index
+
+
+
+
+ CWS Base Handler, implements IHttpCwsHandler
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+ Handles CONNECT method requests
+
+
+
+
+
+ Handles DELETE method requests
+
+
+
+
+
+ Handles GET method requests
+
+
+
+
+
+ Handles HEAD method requests
+
+
+
+
+
+ Handles OPTIONS method requests
+
+
+
+
+
+ Handles PATCH method requests
+
+
+
+
+
+ Handles POST method requests
+
+
+
+
+
+ Handles PUT method requests
+
+
+
+
+
+ Handles TRACE method requests
+
+
+
+
+
+ Process request
+
+
+
+
+
+ Generic UDP Server device
+
+
+
+
+ Describes a device that implements ISocketStatus and IStreamDebugging
+
+
+
+
+ For IBasicCommunication classes that have SocketStatus. GenericSshClient,
+ GenericTcpIpClient
+
+
+
+
+ Represents a device that uses basic connection
+
+
+
+
+ Send text to the device
+
+
+
+
+
+ Send bytes to the device
+
+
+
+
+
+ Notifies of socket status changes
+
+
+
+
+ The current socket status of the client
+
+
+
+
+ Represents a device with stream debugging capablities
+
+
+
+
+ Object to enable stream debugging
+
+
+
+
+ Constructor for S+. Make sure to set key, address, port, and buffersize using init method
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Call from S+ to initialize values
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enables the UDP Server
+
+
+
+
+ Disabled the UDP Server
+
+
+
+
+ Recursive method to receive data
+
+
+
+
+
+
+ General send method
+
+
+
+
+
+
+
+
+
+
+
+ Object to enable stream debugging
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This event will fire when a message is dequeued that includes the source IP and Port info if needed to determine the source of the received data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ Another damn S+ helper because S+ seems to treat large port nums as signed ints
+ which screws up things
+
+
+
+
+ Indicates that the UDP Server is enabled
+
+
+
+
+ Numeric value indicating
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ The server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stupid S+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Defaults to 32768
+
+
+
+
+ XSigToken stream writer.
+
+
+
+
+
+ XSigToken stream writer constructor.
+
+ Input stream to write to.
+ Stream is null.
+ Stream cannot be written to.
+
+
+
+ XSigToken stream writer constructor.
+
+ Input stream to write to.
+ Determines whether to leave the stream open or not.
+ Stream is null.
+ Stream cannot be written to.
+
+
+
+ Write XSig data gathered from an IXSigStateResolver to the stream.
+
+ IXSigStateResolver object.
+
+
+
+ Write XSig data gathered from an IXSigStateResolver to the stream.
+
+ IXSigStateResolver object.
+ Index offset for each XSigToken.
+
+
+
+ Write XSigToken to the stream.
+
+ XSigToken object.
+
+
+
+ Write XSigToken to the stream.
+
+ XSigToken object.
+ Index offset for each XSigToken.
+
+
+
+ Writes an array of XSigTokens to the stream.
+
+ XSigToken objects.
+
+
+
+ Write an enumerable collection of XSigTokens to the stream.
+
+ XSigToken objects.
+
+
+
+ Write an enumerable collection of XSigTokens to the stream.
+
+ XSigToken objects.
+ Index offset for each XSigToken.
+
+
+
+ Disposes of the internal stream if specified to not leave open.
+
+
+
+
+ The global class to manage all the instances of JsonToSimplMaster
+
+
+
+
+ Adds a file master. If the master's key or filename is equivalent to any existing
+ master, this will fail
+
+ New master to add
+
+
+
+
+ Gets a master by its key. Case-insensitive
+
+
+
+
+
+
+
+
+
+ Describes a device that can automatically attempt to reconnect
+
+
+
+
+ Enable automatic recconnect
+
+
+
+
+ Interval in ms to attempt automatic recconnections
+
+
+
+
+ Typical constructor.
+
+
+
+
+ S+ Constructor - Must set all properties before calling Connect
+
+
+
+
+ Just to help S+ set the key
+
+
+
+
+ Handles closing this up when the program shuts down
+
+
+
+
+ Connect to the server, using the provided properties.
+
+
+
+
+ Disconnect the clients and put away it's resources.
+
+
+
+
+ Kills the stream, cleans up the client and sets it to null
+
+
+
+
+ Anything to do with reestablishing connection on failures
+
+
+
+
+ Kills the stream
+
+
+
+
+ Handles the keyboard interactive authentication, should it be required.
+
+
+
+
+ Handler for data receive on ShellStream. Passes data across to queue for line parsing.
+
+
+
+
+ Error event handler for client events - disconnect, etc. Will forward those events via ConnectionChange
+ event
+
+
+
+
+ Helper for ConnectionChange event
+
+
+
+
+ Sends text to the server
+
+
+
+
+
+ Sends Bytes to the server
+
+
+
+
+
+ Object to enable stream debugging
+
+
+
+
+ Event that fires when data is received. Delivers args with byte array
+
+
+
+
+ Event that fires when data is received. Delivered as text.
+
+
+
+
+ Event when the connection status changes.
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ Username for server
+
+
+
+
+ And... Password for server. That was worth documenting!
+
+
+
+
+ True when the server is connected - when status == 2.
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+
+
+
+
+
+ Contains the familiar Simpl analog status values. This drives the ConnectionChange event
+ and IsConnected with be true when this == 2.
+
+
+
+
+ Determines whether client will attempt reconnection on failure. Default is true
+
+
+
+
+ Will be set and unset by connect and disconnect only
+
+
+
+
+ S+ helper for AutoReconnect
+
+
+
+
+ Millisecond value, determines the timeout period in between reconnect attempts.
+ Set to 5000 by default
+
+
+
+
+ Fired when connection changes
+
+
+
+
+ S+ Constructor
+
+
+
+
+ EventArgs class
+
+ Connection State
+ The Client
+
+
+
+ Connection State
+
+
+
+
+ Connection Status represented as a ushort
+
+
+
+
+ The client
+
+
+
+
+ Socket Status as represented by
+
+
+
+
+ System Info class
+
+
+
+
+ Constructor
+
+
+
+
+ Gets the current processor info
+
+
+
+
+ Gets the current ethernet info
+
+
+
+
+ Gets the current control subnet info
+
+
+
+
+ Gets the program info by index
+
+
+
+
+
+ Gets the processor uptime and passes it to S+
+
+
+
+
+ Gets the program uptime, by index, and passes it to S+
+
+
+
+
+
+ Sends command to console, passes response back using string change event
+
+
+
+
+
+ private method to parse console messages
+
+
+
+
+
+
+
+
+
+ Protected boolean change event handler
+
+
+
+
+
+
+
+ Protected string change event handler
+
+
+
+
+
+
+
+ Protected processor config change event handler
+
+
+
+
+
+
+
+ Ethernet change event handler
+
+
+
+
+
+
+
+ Control Subnet change event handler
+
+
+
+
+
+
+
+ Program change event handler
+
+
+
+
+
+
+
+ Notifies of bool change
+
+
+
+
+ Notifies of string change
+
+
+
+
+ Notifies of processor change
+
+
+
+
+ Notifies of ethernet change
+
+
+
+
+ Notifies of control subnet change
+
+
+
+
+ Notifies of program change
+
+
+
+
+ Generic RESTful communication class
+
+
+
+
+ Constructor
+
+
+
+
+ Generic RESTful submit request
+
+
+
+
+
+
+
+
+
+
+ Private HTTP submit request
+
+
+
+
+
+
+
+
+
+
+ Private HTTPS submit request
+
+
+
+
+
+
+
+
+
+
+ Private method to encode username and password to Base64 string
+
+
+
+ authorization
+
+
+
+ Protected method to handle boolean change events
+
+
+
+
+
+
+
+ Protected mehtod to handle ushort change events
+
+
+
+
+
+
+
+ Protected method to handle string change events
+
+
+
+
+
+
+
+ Boolean event handler
+
+
+
+
+ Ushort event handler
+
+
+
+
+ String event handler
+
+
+
+
+ Represents an XSigDigitalToken
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class for JSON objects
+
+
+
+
+ Reference to Master instance
+
+
+
+
+ Paths to boolean values in JSON structure
+
+
+
+
+ Paths to numeric values in JSON structure
+
+
+
+
+ Paths to string values in JSON structure
+
+
+
+
+ Call this before doing anything else
+
+
+
+
+
+
+
+
+ Sets the path prefix for the object
+
+
+
+
+
+ Set the JPath to evaluate for a given bool out index.
+
+
+
+
+ Set the JPath for a ushort out index.
+
+
+
+
+ Set the JPath for a string output index.
+
+
+
+
+ Evalutates all outputs with defined paths. called by S+ when paths are ready to process
+ and by Master when file is read.
+
+
+
+
+ Processes a bool property, converting to bool, firing off a BoolChange event
+
+
+
+
+ Processes the given path.
+
+ JPath formatted path to the desired property
+ The string value of the property, or a default value if it
+ doesn't exist
+ This will return false in the case that EvaulateAllOnJsonChange
+ is false and the path does not evaluate to a property in the incoming JSON.
+
+
+
+ Called from Master to read inputs and update their values in master JObject
+ Callback should hit one of the following four methods
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Called during Process(...) to get the path to a given property. By default,
+ returns PathPrefix+path+PathSuffix. Override to change the way path is built.
+
+
+
+
+ Event helper
+
+
+
+
+
+
+
+ Event helper
+
+
+
+
+
+
+
+ Event helper
+
+
+
+
+
+
+
+ Notifies of bool change
+
+
+
+
+ Notifies of ushort change
+
+
+
+
+ Notifies of string change
+
+
+
+
+ Delegate to get all values
+
+
+
+
+ Use a callback to reduce task switch/threading
+
+
+
+
+ Unique identifier for instance
+
+
+
+
+ This will be prepended to all paths to allow path swapping or for more organized
+ sub-paths
+
+
+
+
+ This is added to the end of all paths
+
+
+
+
+ Indicates if the instance is linked to an object
+
+
+
+
+ Used to interact with an array of values with the S+ modules
+
+
+
+
+ For gt2.4.1 array lookups
+
+
+
+
+
+
+
+
+
+
+ For newer >=2.4.1 array lookups.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Process all values
+
+
+
+
+ Provides the path append for GetFullPath
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Interface to determine XSig serialization for an object.
+
+
+
+
+ Serialize the sig data
+
+
+
+
+
+ Deserialize the sig data
+
+
+
+
+
+
+
+ Not in use
+
+
+
+
+ Not in use
+
+
+
+
+ Crestron Control Methods for a comm object
+
+
+
+
+
+
+
+
+
+ RS232/422/485
+
+
+
+
+ Crestron IpId (most Crestron ethernet devices)
+
+
+
+
+ Crestron IpIdTcp (HD-MD series, etc.)
+
+
+
+
+ Crestron IR control
+
+
+
+
+ SSH client
+
+
+
+
+ TCP/IP client
+
+
+
+
+ Telnet
+
+
+
+
+ Crestnet device
+
+
+
+
+ CEC Control, via a DM HDMI port
+
+
+
+
+ UDP Server
+
+
+
+
+ HTTP client
+
+
+
+
+ HTTPS client
+
+
+
+
+ Websocket client
+
+
+
+
+ Secure Websocket client
+
+
+
+
+ Secure TCP/IP
+
+
+
+
+ Processor info class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ethernet info class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Control subnet info class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Program info class
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Contains debug commands for use in various situations
+
+
+
+
+ Describes the folder location where a given program stores it's debug level memory. By default, the
+ file written will be named appNdebug where N is 1-10.
+
+
+
+
+ Describes the new folder location where a given program stores it's debug level memory. By default, the
+ file written will be named appNdebug where N is 1-10.
+
+
+
+
+ The name of the file containing the current debug settings.
+
+
+
+
+ When true, the IncludedExcludedKeys dict will contain keys to include.
+ When false (default), IncludedExcludedKeys will contain keys to exclude.
+
+
+
+
+ Used to save memory when shutting down
+
+
+
+
+
+ Callback for console command
+
+
+
+
+
+ Callback for console command
+
+
+
+
+
+ Callback for console command
+
+
+
+
+
+ Sets the debug level
+
+ Valid values 0 (no debug), 1 (critical), 2 (all messages)
+
+
+
+ sets the settings for a device or creates a new entry
+
+
+
+
+
+
+
+ Gets the device settings for a device by key or returns null
+
+
+
+
+
+
+ Sets the flag to prevent application starting on next boot
+
+
+
+
+
+
+
+
+
+
+ Prints message to console if current debug level is equal to or higher than the level of this message.
+ Uses CrestronConsole.PrintLine.
+
+
+ Console format string
+ Object parameters
+
+
+
+ Logs to Console when at-level, and all messages to error log, including device key
+
+
+
+
+ Prints message to console if current debug level is equal to or higher than the level of this message. Always sends message to Error Log.
+ Uses CrestronConsole.PrintLine.
+
+
+
+
+ Logs to Console when at-level, and all messages to error log
+
+
+
+
+ Logs to both console and the custom user log (not the built-in error log). If appdebug level is set at
+ or above the level provided, then the output will be written to both console and the log. Otherwise
+ it will only be written to the log.
+
+
+
+
+ Logs to both console and the custom user log (not the built-in error log). If appdebug level is set at
+ or above the level provided, then the output will be written to both console and the log. Otherwise
+ it will only be written to the log.
+
+
+
+
+ Prints to log and error log
+
+
+
+
+
+
+ Writes the memory object after timeout
+
+
+
+
+ Writes the memory - use SaveMemoryOnTimeout
+
+
+
+
+
+
+
+
+
+ Helper to get the file path for this app's debug memory
+
+
+
+
+ Debug level to set for a given program.
+
+
+
+
+ When this is true, the configuration file will NOT be loaded until triggered by either a console command or a signal
+
+
+
+
+ Version for the currently loaded PepperDashCore dll
+
+
+
+
+ Error level to for message to be logged at
+
+
+
+
+ Error
+
+
+
+
+ Warning
+
+
+
+
+ Notice
+
+
+
+
+ None
+
+
+
+
+ Reads a Portal formatted config file
+
+
+
+
+ Reads the config file, checks if it needs a merge, merges and saves, then returns the merged Object.
+
+ JObject of config file
+
+
+
+
+
+
+
+
+
+
+ Merges the contents of a base and a delta array, matching the entries on a top-level property
+ given by propertyName. Returns a merge of them. Items in the delta array that do not have
+ a matched item in base array will not be merged. Non keyed system items will replace the template items.
+
+
+
+
+ Helper for using with JTokens. Converts to JObject
+
+
+
+
+ Merge o2 onto o1
+
+
+
+
+
+
+
+ XSig token types.
+
+
+
+
+ Digital signal datatype.
+
+
+
+
+ Analog signal datatype.
+
+
+
+
+ Serial signal datatype.
+
+
+
+
+ A class to allow user interaction with the PasswordManager
+
+
+
+
+ Constructor
+
+
+
+
+ Initialize method
+
+
+
+
+ Retrieve password by index
+
+
+
+
+
+ Password validation method
+
+
+
+
+
+ Builds the user entered passwrod string, will attempt to validate the user entered
+ password against the selected password when the length of the 2 are equal
+
+
+
+
+
+ Clears the user entered password and resets the LEDs
+
+
+
+
+ Protected boolean change event handler
+
+
+
+
+
+
+
+ Protected ushort change event handler
+
+
+
+
+
+
+
+ Protected string change event handler
+
+
+
+
+
+
+
+ If password changes while selected change event will be notifed and update the client
+
+
+
+
+
+
+ Password selected
+
+
+
+
+ Password selected key
+
+
+
+
+ Used to build the password entered by the user
+
+
+
+
+ Boolean event
+
+
+
+
+ Ushort event
+
+
+
+
+ String event
+
+
+
+
+ JSON password configuration
+
+
+
+
+ Constructor
+
+
+
+
+ Password object configured password
+
+
+
+
+ Represents a JSON file that can be read and written to
+
+
+
+
+ Abstract base class for JsonToSimpl interactions
+
+
+
+
+ A collection of associated child modules
+
+
+
+ Privates *
+
+
+
+ SIMPL+ default constructor.
+
+
+
+
+ Sets up class - overriding methods should always call this.
+
+
+
+
+
+ Adds a child "module" to this master
+
+
+
+
+
+ Called from the child to add changed or new values for saving
+
+
+
+
+ Saves the file
+
+
+
+
+ Helper event
+
+
+
+
+
+
+
+ Helper event
+
+
+
+
+
+
+
+ Helper event
+
+
+
+
+
+
+
+ Notifies of bool change
+
+
+
+
+ Notifies of ushort change
+
+
+
+
+ Notifies of string change
+
+
+
+
+ Mirrors the Unique ID for now.
+
+
+
+
+ A unique ID
+
+
+
+
+ Merely for use in debug messages
+
+
+
+
+ This will be prepended to all paths to allow path swapping or for more organized
+ sub-paths
+
+
+
+
+ This is added to the end of all paths
+
+
+
+
+ Enables debugging output to the console. Certain error messages will be logged to the
+ system's error log regardless of this setting
+
+
+
+
+ Ushort helper for Debug property
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Deserializes a string into a JObject
+
+
+
+
+
+
+ Deserializes a string into a JArray
+
+
+
+
+
+ Privates *
+
+
+
+ SIMPL+ default constructor.
+
+
+
+
+ Read, evaluate and udpate status
+
+
+
+
+ Sets the debug level
+
+
+
+
+
+ Saves the values to the file
+
+
+
+
+ Sets the filepath as well as registers this with the Global.Masters list
+
+
+
+
+ Filepath to the actual file that will be read (Portal or local)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Portal File Master
+
+
+
+ Privates *
+
+
+
+ SIMPL+ default constructor.
+
+
+
+
+ Read, evaluate and udpate status
+
+
+
+
+ Returns the FileInfo object for a given path, with possible wildcards
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sets the filepath as well as registers this with the Global.Masters list
+
+
+
+
+ File path of the actual file being read (Portal or local)
+
+
+
+
+ Client config object for TCP client with server that inherits from TcpSshPropertiesConfig and adds properties for shared key and heartbeat
+
+
+
+
+ TcpSsh Properties
+
+
+
+
+ Bool value for secure. Currently not implemented in TCP sockets as they are not dynamic
+
+
+
+
+ Require a shared key that both server and client negotiate. If negotiation fails server disconnects the client
+
+
+
+
+ The shared key that must match on the server and client
+
+
+
+
+ Require a heartbeat on the client/server connection that will cause the server/client to disconnect if the heartbeat is not received.
+ heartbeats do not raise received events.
+
+
+
+
+ The interval in seconds for the heartbeat from the client. If not received client is disconnected
+
+
+
+
+ HeartbeatString that will be checked against the message received. defaults to heartbeat if no string is provided.
+
+
+
+
+ Receive Queue size must be greater than 20 or defaults to 20
+
+
+
+
+ Allows for two simultaneous TCP clients to connect to a redundant pair of QSC Core DSPs and manages
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default constuctor for S+
+
+
+
+
+ Connects to both DSP units
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Does not include line feed
+
+
+
+
+ Key to uniquely identify the instance of the class
+
+
+
+
+ Fires when a bool value changes to notify the S+ module
+
+
+
+
+ Fires when a ushort value changes to notify the S+ module
+
+
+
+
+ Fires when a string value changes to notify the S+ module
+
+
+
+
+ The client for the master DSP unit
+
+
+
+
+ The client for the slave DSP unit
+
+
+
+
+ A class to handle secure TCP/IP communications with a server
+
+
+
+
+ Internal secure client
+
+
+
+
+ Flag Set only when the disconnect method is called.
+
+
+
+
+ Semaphore on connect method
+
+
+
+
+ Queue lock
+
+
+
+
+ Queue to temporarily store received messages with the source IP and Port info. Defaults to size 20. Use constructor or set queue size property before
+ calling initialize.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+ Contstructor that sets all properties by calling the initialize method with a config object.
+
+
+
+
+
+
+ Default constructor for S+
+
+
+
+
+ Just to help S+ set the key
+
+
+
+
+ Initialize called by the constructor that accepts a client config object. Can be called later to reset properties of client.
+
+
+
+
+
+ Handles closing this up when the program shuts down
+
+
+
+
+ Deactivate the client
+
+
+
+
+
+ Connect Method. Will return if already connected. Will write errors if missing address, port, or unique key/name.
+
+
+
+
+
+
+
+
+
+ Does the actual disconnect business
+
+
+
+
+ Called from Connect failure or Socket Status change if
+ auto reconnect and socket disconnected (Not disconnected by user)
+
+
+
+
+ Receive callback
+
+
+
+
+
+
+ This method gets spooled up in its own thread an protected by a CCriticalSection to prevent multiple threads from running concurrently.
+ It will dequeue items as they are enqueued automatically.
+
+
+
+
+
+
+
+
+
+ General send method
+
+
+
+
+
+
+
+
+
+ SocketStatusChange Callback
+
+
+
+
+
+
+ Helper for ConnectionChange event
+
+
+
+
+ Helper to fire ClientReadyForCommunications event
+
+
+
+
+ Stream debugging
+
+
+
+
+ Fires when data is received from the server and returns it as a Byte array
+
+
+
+
+ Fires when data is received from the server and returns it as text
+
+
+
+
+
+
+
+
+
+ Auto reconnect evant handler
+
+
+
+
+ Event for Receiving text. Once subscribed to this event the receive callback will start a thread that dequeues the messages and invokes the event on a new thread.
+ It is not recommended to use both the TextReceived event and the TextReceivedQueueInvoke event.
+
+
+
+
+ For a client with a pre shared key, this will fire after the communication is established and the key exchange is complete. If you require
+ a key and subscribe to the socket change event and try to send data on a connection the data sent will interfere with the key exchange and disconnect.
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ S+ helper
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ _client socket status Read only
+
+
+
+
+ Contains the familiar Simpl analog status values. This drives the ConnectionChange event
+ and IsConnected would be true when this == 2.
+
+
+
+
+ Status text shows the message associated with socket status
+
+
+
+
+ Connection failure reason
+
+
+
+
+ bool to track if auto reconnect should be set on the socket
+
+
+
+
+ S+ helper for AutoReconnect
+
+
+
+
+ Milliseconds to wait before attempting to reconnect. Defaults to 5000
+
+
+
+
+
+
+
+
+
+ Bool to show whether the server requires a preshared key. This is used in the DynamicTCPServer class
+
+
+
+
+ S+ helper for requires shared key bool
+
+
+
+
+ SharedKey is sent for varification to the server. Shared key can be any text (255 char limit in SIMPL+ Module), but must match the Shared Key on the Server module
+
+
+
+
+ flag to show the client is waiting for the server to send the shared key
+
+
+
+
+ Bool showing if socket is ready for communication after shared key exchange
+
+
+
+
+ S+ helper for IsReadyForCommunication
+
+
+
+
+ Bool Heartbeat Enabled flag
+
+
+
+
+ S+ helper for Heartbeat Enabled
+
+
+
+
+ Heartbeat String
+
+
+
+
+ Milliseconds before server expects another heartbeat. Set by property HeartbeatRequiredIntervalInSeconds which is driven from S+
+
+
+
+
+ Simpl+ Heartbeat Analog value in seconds
+
+
+
+
+ Receive Queue size. Defaults to 20. Will set to 20 if QueueSize property is less than 20. Use constructor or set queue size property before
+ calling initialize.
+
+
+
+
+ Represents a device that implements IBasicCommunication and IStreamDebugging
+
+
+
+
+
+
+
+
+
+ Connected
+
+
+
+
+ Disconnected
+
+
+
+
+ This delegate defines handler for IBasicCommunication status changes
+
+ Device firing the status change
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ S+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ S+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets escaped text for a byte array
+
+
+
+
+
+
+ Gets escaped text for a string
+
+
+
+
+
+
+ Gets debug text for a string
+
+
+
+
+
+
+ Represents an XSigSerialToken
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Class to help with accessing values from the CrestronEthernetHelper class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Class to persist current Debug settings across program restarts
+
+
+
+
+ To prevent threading issues with the DeviceDebugSettings collection
+
+
+
+
+ Default constructor
+
+
+
+
+ Sets the level of a given context item, and adds that item if it does not
+ exist
+
+
+
+
+
+
+ Gets a level or creates it if not existing
+
+
+
+
+
+
+ sets the settings for a device or creates a new entry
+
+
+
+
+
+
+
+ Gets the device settings for a device by key or returns null
+
+
+
+
+
+
+ Collection of the debug settings for each device where the dictionary key is the device key
+
+
+
+
+ Contains information about
+
+
+
+
+ The level of debug messages to print
+
+
+
+
+ Property to tell the program not to intitialize when it boots, if desired
+
+
+
+
+ Web API server
+
+
+
+
+ Constructor for S+. Make sure to set necessary properties using init method
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Program status event handler
+
+
+
+
+
+ Ethernet event handler
+
+
+
+
+
+ Initializes CWS class
+
+
+
+
+ Adds a route to CWS
+
+
+
+
+ Removes a route from CWS
+
+
+
+
+
+ Returns a list of the current routes
+
+
+
+
+ Starts CWS instance
+
+
+
+
+ Stop CWS instance
+
+
+
+
+ Received request handler
+
+
+ This is here for development and testing
+
+
+
+
+
+
+ Web API server key
+
+
+
+
+ Web API server name
+
+
+
+
+ CWS base path, will default to "/api" if not set via initialize method
+
+
+
+
+ Indicates CWS is registered with base path
+
+
+
+
+ Generic Master
+
+
+
+ Privates *
+
+
+
+ SIMPL+ default constructor.
+
+
+
+
+ Loads in JSON and triggers evaluation on all children
+
+
+
+
+
+ Loads JSON into JsonObject, but does not trigger evaluation by children
+
+
+
+
+
+
+
+
+
+
+ Callback action for saving
+
+
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Constants
+
+
+
+
+ Generic boolean change
+
+
+
+
+ Generic Ushort change
+
+
+
+
+ Response Code Ushort change
+
+
+
+
+ Generic String chagne
+
+
+
+
+ Response string change
+
+
+
+
+ Error string change
+
+
+
+
+ Web API default request handler
+
+
+
+
+ Constructor
+
+
+
+
+ Passcode client for the WebApi
+
+
+
+
+ An embedded JsonToSimpl master object.
+
+
+
+
+ SIMPL+ can only execute the default constructor. If you have variables that require initialization, please
+ use an Initialize method
+
+
+
+
+ Initializes the instance
+
+
+
+
+
+
+
+
+ Gets the user for a passcode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ After save operation on JSON master happens, send it to server
+
+
+
+
+
+ Notifies when user received
+
+
+
+
+ Notifies when Preset received
+
+
+
+
+ Unique identifier for this instance
+
+
+
+
+ Delegate for notifying of socket status changes
+
+
+
+
+
+ EventArgs class for socket status changes
+
+
+
+
+
+
+
+
+
+
+ S+ Constructor
+
+
+
+
+
+
+
+
+
+ Delegate for notifying of TCP Server state changes
+
+
+
+
+
+ EventArgs class for TCP Server state changes
+
+
+
+
+
+
+
+
+
+
+ S+ Constructor
+
+
+
+
+
+
+
+
+
+ Delegate for TCP Server socket status changes
+
+
+
+
+
+
+
+ EventArgs for TCP server socket status changes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ S+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EventArgs for TCP server com method receive text
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ S+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EventArgs for TCP server client ready for communication
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ S+ Constructor
+
+
+
+
+ EventArgs for UDP connected
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generic secure TCP/IP server
+
+
+
+
+ Server listen lock
+
+
+
+
+ Queue lock
+
+
+
+
+ Queue to temporarily store received messages with the source IP and Port info. Defaults to size 20. Use constructor or set queue size property before
+ calling initialize.
+
+
+
+
+ A bandaid client that monitors whether the server is reachable
+
+
+
+
+ Timer to operate the bandaid monitor client in a loop.
+
+
+
+
+
+
+
+
+
+ The connected client indexes
+
+
+
+
+
+
+
+
+
+ constructor S+ Does not accept a key. Use initialze with key to set the debug key on this device. If using with + make sure to set all properties manually.
+
+
+
+
+ constructor with debug key set at instantiation. Make sure to set all properties before listening.
+
+
+
+
+
+ Contstructor that sets all properties by calling the initialize method with a config object. This does set Queue size.
+
+
+
+
+
+ Disconnects all clients and stops the server
+
+
+
+
+ Initialize Key for device using client name from SIMPL+. Called on Listen from SIMPL+
+
+
+
+
+
+ Initialze the server
+
+
+
+
+
+ Start listening on the specified port
+
+
+
+
+ Stop Listeneing
+
+
+
+
+ Disconnects Client
+
+
+
+
+
+ Disconnect All Clients
+
+
+
+
+ Broadcast text from server to all connected clients
+
+
+
+
+
+ Not sure this is useful in library, maybe Pro??
+
+
+
+
+
+
+ Get the IP Address for the client at the specifed index
+
+
+
+
+
+
+ Secure Server Socket Status Changed Callback
+
+
+
+
+
+
+
+ Secure TCP Client Connected to Secure Server Callback
+
+
+
+
+
+
+ Secure Received Data Async Callback
+
+
+
+
+
+
+
+ This method gets spooled up in its own thread an protected by a CCriticalSection to prevent multiple threads from running concurrently.
+ It will dequeue items as they are enqueued automatically.
+
+
+
+
+ Private Event Handler method to handle the closing of connections when the program stops
+
+
+
+
+
+ Starts the monitor client cycle. Timed wait, then call RunMonitorClient
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ On monitor connect, restart the operation
+
+
+
+
+ If the client hangs, add to counter and maybe fire the choke event
+
+
+
+
+ Event for Receiving text
+
+
+
+
+ Event for Receiving text. Once subscribed to this event the receive callback will start a thread that dequeues the messages and invokes the event on a new thread.
+ It is not recommended to use both the TextReceived event and the TextReceivedQueueInvoke event.
+
+
+
+
+ Event for client connection socket status change
+
+
+
+
+ Event for Server State Change
+
+
+
+
+ For a server with a pre shared key, this will fire after the communication is established and the key exchange is complete. If no shared key, this will fire
+ after connection is successful. Use this event to know when the client is ready for communication to avoid stepping on shared key.
+
+
+
+
+ A band aid event to notify user that the server has choked.
+
+
+
+
+ Receive Queue size. Defaults to 20. Will set to 20 if QueueSize property is less than 20. Use constructor or set queue size property before
+ calling initialize.
+
+
+
+
+ 3 by default
+
+
+
+
+ Text representation of the Socket Status enum values for the server
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Max number of clients this server will allow for connection. Crestron max is 64. This number should be less than 65
+
+
+
+
+ Number of clients currently connected.
+
+
+
+
+ Port Server should listen on
+
+
+
+
+ S+ helper for Port
+
+
+
+
+ Bool to show whether the server requires a preshared key. Must be set the same in the client, and if true shared keys must be identical on server/client
+
+
+
+
+ S+ helper for requires shared key bool
+
+
+
+
+ SharedKey is sent for varification to the server. Shared key can be any text (255 char limit in SIMPL+ Module), but must match the Shared Key on the Server module.
+ If SharedKey changes while server is listening or clients are connected, disconnect and stop listening will be called
+
+
+
+
+ Heartbeat Required bool sets whether server disconnects client if heartbeat is not received
+
+
+
+
+ S+ Helper for Heartbeat Required
+
+
+
+
+ Milliseconds before server expects another heartbeat. Set by property HeartbeatRequiredIntervalInSeconds which is driven from S+
+
+
+
+
+ Simpl+ Heartbeat Analog value in seconds
+
+
+
+
+ String to Match for heartbeat. If null or empty any string will reset heartbeat timer
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Private flag to note that the server has stopped intentionally
+
+
+
+
+
+
+
+
+
+ Controls the ability to disable/enable debugging of TX/RX data sent to/from a device with a built in timer to disable
+
+
+
+
+ Timer to disable automatically if not manually disabled
+
+
+
+
+ Constructor
+
+
+
+
+
+ Sets the debugging setting and if not setting to off, assumes the default of 30 mintues
+
+
+
+
+
+ Sets the debugging setting for the specified number of minutes
+
+
+
+
+
+
+ Disabled debugging
+
+
+
+
+ Device Key that this instance configures
+
+
+
+
+ The current debug setting
+
+
+
+
+ Timeout in Minutes
+
+
+
+
+ Indicates that receive stream debugging is enabled
+
+
+
+
+ Indicates that transmit stream debugging is enabled
+
+
+
+
+ The available settings for stream debugging
+
+
+
+
+ Debug off
+
+
+
+
+ Debug received data
+
+
+
+
+ Debug transmitted data
+
+
+
+
+ Debug both received and transmitted data
+
+
+
+
+ The available settings for stream debugging response types
+
+
+
+
+ Debug data in byte format
+
+
+
+
+ Debug data in text format
+
+
+
+
+ Debug data in both byte and text formats
+
+
+
+
+ Class to handle this specific exception type
+
+
+
+
+ default constructor
+
+
+
+
+ constructor with message
+
+
+
+
+
+ constructor with message and innner exception
+
+
+
+
+
+
+ Constants for Simpl modules
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the if the device is 3-series compatible
+
+
+
+
+ Reports the if the device is 4-series compatible
+
+
+
+
+ Reports the device platform enum value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the root directory change
+
+
+
+
+ Reports the room ID change
+
+
+
+
+ Reports the room name change
+
+
+
+
+ S+ values delegate
+
+
+
+
+ S+ values wrapper
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ S+ types enum
+
+
+
+
+ Digital
+
+
+
+
+ Analog
+
+
+
+
+ String
+
+
+
+
+ Defines the string event handler for line events on the gather
+
+
+
+
+
+ Attaches to IBasicCommunication as a text gather
+
+
+
+
+ For receive buffer
+
+
+
+
+ Delimiter, like it says!
+
+
+
+
+ Constructor for using a char delimiter
+
+
+
+
+
+
+ Constructor for using a single string delimiter
+
+
+
+
+
+
+ Constructor for using an array of string delimiters
+
+
+
+
+
+
+ Disconnects this gather from the Port's TextReceived event. This will not fire LineReceived
+ after the this call.
+
+
+
+
+ Handler for raw data coming from port
+
+
+
+
+
+
+
+
+
+
+
+ Deconstructor. Disconnects from port TextReceived events.
+
+
+
+
+ Event that fires when a line is received from the IBasicCommunication source.
+ The event merely contains the text, not an EventArgs type class.
+
+
+
+
+ The communication port that this gathers on
+
+
+
+
+ Default false. If true, the delimiter will be included in the line output
+ events
+
+
+
+
+ Background class that manages debug features for sockets
+
+
+
+
+ Sets up the backing class. Adds console commands for S#Pro programs
+
+
+
+
+ Helper for socket list, to show types
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generic TCP/IP client for server
+
+
+
+
+ This is something of a band-aid callback. If the client times out during the connection process, because the server
+ is stuck, this will fire. It is intended to be used by the Server class monitor client, to help
+ keep a watch on the server and reset it if necessary.
+
+
+
+
+ Semaphore on connect method
+
+
+
+
+ Flag Set only when the disconnect method is called.
+
+
+
+
+ private Timer for auto reconnect
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Used to force disconnection on a dead connect attempt
+
+
+
+
+ Internal secure client
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+ Constructor for S+
+
+
+
+
+ Just to help S+ set the key
+
+
+
+
+ Handles closing this up when the program shuts down
+
+
+
+
+ Connect Method. Will return if already connected. Will write errors if missing address, port, or unique key/name.
+
+
+
+
+
+
+
+
+
+ Internal call to close up client. ALWAYS use this when disconnecting.
+
+
+
+ ff
+ Called from Connect failure or Socket Status change if
+ auto reconnect and socket disconnected (Not disconnected by user)
+
+
+
+
+ Receive callback
+
+
+
+
+
+
+
+
+
+
+
+ General send method
+
+
+
+
+
+
+
+
+
+ SocketStatusChange Callback
+
+
+
+
+
+
+ Helper for ConnectionChange event
+
+
+
+
+ Helper to fire ClientReadyForCommunications event
+
+
+
+
+ Notifies of text received
+
+
+
+
+ Notifies of socket status change
+
+
+
+
+ For a client with a pre shared key, this will fire after the communication is established and the key exchange is complete. If you require
+ a key and subscribe to the socket change event and try to send data on a connection the data sent will interfere with the key exchange and disconnect.
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ S+ helper
+
+
+
+
+ Bool to show whether the server requires a preshared key. This is used in the DynamicTCPServer class
+
+
+
+
+ S+ helper for requires shared key bool
+
+
+
+
+ SharedKey is sent for varification to the server. Shared key can be any text (255 char limit in SIMPL+ Module), but must match the Shared Key on the Server module
+
+
+
+
+ flag to show the client is waiting for the server to send the shared key
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Bool showing if socket is ready for communication after shared key exchange
+
+
+
+
+ S+ helper for IsReadyForCommunication
+
+
+
+
+ Client socket status Read only
+
+
+
+
+ Contains the familiar Simpl analog status values. This drives the ConnectionChange event
+ and IsConnected would be true when this == 2.
+
+
+
+
+ Status text shows the message associated with socket status
+
+
+
+
+ bool to track if auto reconnect should be set on the socket
+
+
+
+
+ S+ helper for AutoReconnect
+
+
+
+
+ Milliseconds to wait before attempting to reconnect. Defaults to 5000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Band aid delegate for choked server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ For Simpl+
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ True when user is found
+
+
+
+
+ For stupid S+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Represents a preset
+
+
+
+
+ Constructor
+
+
+
+
+ ID of preset
+
+
+
+
+ User ID
+
+
+
+
+ Room Type ID
+
+
+
+
+ Preset Name
+
+
+
+
+ Preset Number
+
+
+
+
+ Preset Data
+
+
+
+
+
+
+
+
+
+ For Simpl+
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ True when the preset is found
+
+
+
+
+ S+ helper
+
+
+
+
+ The preset
+
+
+
+
+ Config properties that indicate how to communicate with a device for control
+
+
+
+
+ Constructor
+
+
+
+
+ The method of control
+
+
+
+
+ The key of the device that contains the control port
+
+
+
+
+ The number of the control port on the device specified by ControlPortDevKey
+
+
+
+
+ The name of the control port on the device specified by ControlPortDevKey
+
+
+
+
+ Properties for ethernet based communications
+
+
+
+
+ The filename and path for the IR file
+
+
+
+
+ The IpId of a Crestron device
+
+
+
+
+ Readonly uint representation of the IpId
+
+
+
+
+ Char indicating end of line
+
+
+
+
+ Defaults to Environment.NewLine;
+
+
+
+
+ Indicates
+
+
+
+
+ Used when communcating to programs running in VC-4
+
+
+
+
+ Allows passwords to be stored and managed
+
+
+
+
+ Public dictionary of known passwords
+
+
+
+
+ Private dictionary, used when passwords are updated
+
+
+
+
+ Timer used to wait until password changes have stopped before updating the dictionary
+
+
+
+
+ Timer length
+
+
+
+
+ Constructor
+
+
+
+
+ Initialize password manager
+
+
+
+
+ Updates password stored in the dictonary
+
+
+
+
+
+
+ CTimer callback function
+
+
+
+
+ Method to change the default timer value, (default 5000ms/5s)
+
+
+
+
+
+ Helper method for debugging to see what passwords are in the lists
+
+
+
+
+ Protected boolean change event handler
+
+
+
+
+
+
+
+ Protected ushort change event handler
+
+
+
+
+
+
+
+ Protected string change event handler
+
+
+
+
+
+
+
+ Protected password change event handler
+
+
+
+
+
+
+
+ Boolean event
+
+
+
+
+ Ushort event
+
+
+
+
+ String event
+
+
+
+
+ Event to notify clients of an updated password at the specified index (uint)
+
+
+
+
+ A class to handle basic TCP/IP communications with a server
+
+
+
+
+ The actual client class
+
+
+
+
+ Set only when the disconnect method is called
+
+
+
+
+ Constructor
+
+ unique string to differentiate between instances
+
+
+
+
+
+
+ Constructor
+
+
+
+
+
+ Default constructor for S+
+
+
+
+
+ Just to help S+ set the key
+
+
+
+
+ Handles closing this up when the program shuts down
+
+
+
+
+
+
+
+
+
+
+ Attempts to connect to the server
+
+
+
+
+ Attempts to disconnect the client
+
+
+
+
+ Does the actual disconnect business
+
+
+
+
+ Callback method for connection attempt
+
+
+
+
+
+ Disconnects, waits and attemtps to connect again
+
+
+
+
+ Recieves incoming data
+
+
+
+
+
+
+ General send method
+
+
+
+
+ This is useful from console and...?
+
+
+
+
+ Sends Bytes to the server
+
+
+
+
+
+ Socket Status Change Handler
+
+
+
+
+
+
+ Object to enable stream debugging
+
+
+
+
+ Fires when data is received from the server and returns it as a Byte array
+
+
+
+
+ Fires when data is received from the server and returns it as text
+
+
+
+
+
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ Another damn S+ helper because S+ seems to treat large port nums as signed ints
+ which screws up things
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ _client socket status Read only
+
+
+
+
+ Contains the familiar Simpl analog status values. This drives the ConnectionChange event
+ and IsConnected would be true when this == 2.
+
+
+
+
+ Status text shows the message associated with socket status
+
+
+
+
+ Ushort representation of client status
+
+
+
+
+ Connection failure reason
+
+
+
+
+ bool to track if auto reconnect should be set on the socket
+
+
+
+
+ S+ helper for AutoReconnect
+
+
+
+
+ Milliseconds to wait before attempting to reconnect. Defaults to 5000
+
+
+
+
+
+
+
+
+
+ Configuration properties for TCP/SSH Connections
+
+
+
+
+ Default constructor
+
+
+
+
+ Address to connect to
+
+
+
+
+ Port to connect to
+
+
+
+
+ Username credential
+
+
+
+
+ Passord credential
+
+
+
+
+ Defaults to 32768
+
+
+
+
+ Defaults to true
+
+
+
+
+ Defaults to 5000ms
+
+
+
+
+ Tcp Server Config object with properties for a tcp server with shared key and heartbeat capabilities
+
+
+
+
+ Uique key
+
+
+
+
+ Max Clients that the server will allow to connect.
+
+
+
+
+ Bool value for secure. Currently not implemented in TCP sockets as they are not dynamic
+
+
+
+
+ Port for the server to listen on
+
+
+
+
+ Require a shared key that both server and client negotiate. If negotiation fails server disconnects the client
+
+
+
+
+ The shared key that must match on the server and client
+
+
+
+
+ Require a heartbeat on the client/server connection that will cause the server/client to disconnect if the heartbeat is not received.
+ heartbeats do not raise received events.
+
+
+
+
+ The interval in seconds for the heartbeat from the client. If not received client is disconnected
+
+
+
+
+ HeartbeatString that will be checked against the message received. defaults to heartbeat if no string is provided.
+
+
+
+
+ Client buffer size. See Crestron help. defaults to 2000 if not greater than 2000
+
+
+
+
+ Receive Queue size must be greater than 20 or defaults to 20
+
+
+
+
+ Helper methods for creating XSig byte sequences compatible with the Intersystem Communications (ISC) symbol.
+
+
+ Indexing is not from the start of each signal type but rather from the beginning of the first defined signal
+ the Intersystem Communications (ISC) symbol.
+
+
+
+
+ Forces all outputs to 0.
+
+ Bytes in XSig format for clear outputs trigger.
+
+
+
+ Evaluate all inputs and re-transmit any digital, analog, and permanent serail signals not set to 0.
+
+ Bytes in XSig format for send status trigger.
+
+
+
+ Get bytes for an IXSigStateResolver object.
+
+ XSig state resolver.
+ Bytes in XSig format for each token within the state representation.
+
+
+
+ Get bytes for an IXSigStateResolver object, with a specified offset.
+
+ XSig state resolver.
+ Offset to which the data will be aligned.
+ Bytes in XSig format for each token within the state representation.
+
+
+
+ Get bytes for a single digital signal.
+
+ 1-based digital index
+ Digital data to be encoded
+ Bytes in XSig format for digtial information.
+
+
+
+ Get bytes for a single digital signal.
+
+ 1-based digital index
+ Index offset.
+ Digital data to be encoded
+ Bytes in XSig format for digtial information.
+
+
+
+ Get byte sequence for multiple digital signals.
+
+ Starting index of the sequence.
+ Digital signal value array.
+ Byte sequence in XSig format for digital signal information.
+
+
+
+ Get byte sequence for multiple digital signals.
+
+ Starting index of the sequence.
+ Index offset.
+ Digital signal value array.
+ Byte sequence in XSig format for digital signal information.
+
+
+
+ Get bytes for a single analog signal.
+
+ 1-based analog index
+ Analog data to be encoded
+ Bytes in XSig format for analog signal information.
+
+
+
+ Get bytes for a single analog signal.
+
+ 1-based analog index
+ Index offset.
+ Analog data to be encoded
+ Bytes in XSig format for analog signal information.
+
+
+
+ Get byte sequence for multiple analog signals.
+
+ Starting index of the sequence.
+ Analog signal value array.
+ Byte sequence in XSig format for analog signal information.
+
+
+
+ Get byte sequence for multiple analog signals.
+
+ Starting index of the sequence.
+ Index offset.
+ Analog signal value array.
+ Byte sequence in XSig format for analog signal information.
+
+
+
+ Get bytes for a single serial signal.
+
+ 1-based serial index
+ Serial data to be encoded
+ Bytes in XSig format for serial signal information.
+
+
+
+ Get bytes for a single serial signal.
+
+ 1-based serial index
+ Index offset.
+ Serial data to be encoded
+ Bytes in XSig format for serial signal information.
+
+
+
+ Get byte sequence for multiple serial signals.
+
+ Starting index of the sequence.
+ Serial signal value array.
+ Byte sequence in XSig format for serial signal information.
+
+
+
+ Get byte sequence for multiple serial signals.
+
+ Starting index of the sequence.
+ Index offset.
+ Serial signal value array.
+ Byte sequence in XSig format for serial signal information.
+
+
+
+ Generic secure TCP/IP client for server
+
+
+
+
+ This is something of a band-aid callback. If the client times out during the connection process, because the server
+ is stuck, this will fire. It is intended to be used by the Server class monitor client, to help
+ keep a watch on the server and reset it if necessary.
+
+
+
+
+ Semaphore on connect method
+
+
+
+
+ Flag Set only when the disconnect method is called.
+
+
+
+
+ private Timer for auto reconnect
+
+
+
+
+ Used to force disconnection on a dead connect attempt
+
+
+
+
+ Internal secure client
+
+
+
+
+ Queue lock
+
+
+
+
+ Queue to temporarily store received messages with the source IP and Port info. Defaults to size 20. Use constructor or set queue size property before
+ calling initialize.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+ Constructor for S+
+
+
+
+
+ Contstructor that sets all properties by calling the initialize method with a config object.
+
+
+
+
+
+
+ Just to help S+ set the key
+
+
+
+
+ Initialize called by the constructor that accepts a client config object. Can be called later to reset properties of client.
+
+
+
+
+
+ Handles closing this up when the program shuts down
+
+
+
+
+ Connect Method. Will return if already connected. Will write errors if missing address, port, or unique key/name.
+
+
+
+
+
+
+
+
+
+ Internal call to close up client. ALWAYS use this when disconnecting.
+
+
+
+ ff
+ Called from Connect failure or Socket Status change if
+ auto reconnect and socket disconnected (Not disconnected by user)
+
+
+
+
+ Receive callback
+
+
+
+
+
+
+ This method gets spooled up in its own thread an protected by a CCriticalSection to prevent multiple threads from running concurrently.
+ It will dequeue items as they are enqueued automatically.
+
+
+
+
+
+
+
+
+
+ General send method
+
+
+
+
+
+
+
+
+
+ SocketStatusChange Callback
+
+
+
+
+
+
+ Helper for ConnectionChange event
+
+
+
+
+ Helper to fire ClientReadyForCommunications event
+
+
+
+
+ Notifies of text received
+
+
+
+
+ Notifies of auto reconnect sequence triggered
+
+
+
+
+ Event for Receiving text. Once subscribed to this event the receive callback will start a thread that dequeues the messages and invokes the event on a new thread.
+ It is not recommended to use both the TextReceived event and the TextReceivedQueueInvoke event.
+
+
+
+
+ Notifies of socket status change
+
+
+
+
+ For a client with a pre shared key, this will fire after the communication is established and the key exchange is complete. If you require
+ a key and subscribe to the socket change event and try to send data on a connection the data sent will interfere with the key exchange and disconnect.
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ S+ helper
+
+
+
+
+ Bool to show whether the server requires a preshared key. This is used in the DynamicTCPServer class
+
+
+
+
+ S+ helper for requires shared key bool
+
+
+
+
+ SharedKey is sent for varification to the server. Shared key can be any text (255 char limit in SIMPL+ Module), but must match the Shared Key on the Server module
+
+
+
+
+ flag to show the client is waiting for the server to send the shared key
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Bool showing if socket is ready for communication after shared key exchange
+
+
+
+
+ S+ helper for IsReadyForCommunication
+
+
+
+
+ Client socket status Read only
+
+
+
+
+ Contains the familiar Simpl analog status values. This drives the ConnectionChange event
+ and IsConnected would be true when this == 2.
+
+
+
+
+ Status text shows the message associated with socket status
+
+
+
+
+ bool to track if auto reconnect should be set on the socket
+
+
+
+
+ S+ helper for AutoReconnect
+
+
+
+
+ Milliseconds to wait before attempting to reconnect. Defaults to 5000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Milliseconds before server expects another heartbeat. Set by property HeartbeatRequiredIntervalInSeconds which is driven from S+
+
+
+
+
+ Simpl+ Heartbeat Analog value in seconds
+
+
+
+
+ Receive Queue size. Defaults to 20. Will set to 20 if QueueSize property is less than 20. Use constructor or set queue size property before
+ calling initialize.
+
+
+
+
+ Band aid delegate for choked server
+
+
+
+
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmRmcControllerJoinMap.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmRmcControllerJoinMap.cs
index 06dbd578..8352bb1d 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmRmcControllerJoinMap.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmRmcControllerJoinMap.cs
@@ -70,7 +70,11 @@ namespace PepperDash.Essentials.Core.Bridges
[JoinName("ScalerOutWallMode")]
public JoinDataComplete ScalerOutWallMode = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
- new JoinMetadata { Description = "Number of Input Ports that support HDCP", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+ new JoinMetadata { Description = "Set Wall Mode for Scaler video Wall mode", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("ScalerOutWallModeRaw")]
+ public JoinDataComplete ScalerOutWallModeRaw = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
+ new JoinMetadata { Description = "Set Wall Mode for Scaler video Wall mode", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
///
/// Constructor to use when instantiating this Join Map without inheriting from it
diff --git a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/EndpointInterfaces.cs b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/EndpointInterfaces.cs
index 489880f6..e7df4547 100644
--- a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/EndpointInterfaces.cs
+++ b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/EndpointInterfaces.cs
@@ -91,7 +91,7 @@ namespace PepperDash_Essentials_DM
public interface IhasWallMode
{
- void SeteWallMode(ushort walLMode);
+ void SetWallMode(ushort walLMode);
}
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Receivers/DmRmc4kZScalerCController.cs b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Receivers/DmRmc4kZScalerCController.cs
index 6762687a..3b156405 100644
--- a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Receivers/DmRmc4kZScalerCController.cs
+++ b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Receivers/DmRmc4kZScalerCController.cs
@@ -27,6 +27,7 @@ namespace PepperDash.Essentials.DM
public IntFeedback DmInHdcpStateFeedback { get; private set; }
public IntFeedback HdmiInHdcpStateFeedback { get; private set; }
+
public BoolFeedback HdmiVideoSyncFeedback { get; private set; }
private Dictionary WallModes;
@@ -95,6 +96,7 @@ namespace PepperDash.Essentials.DM
_rmc.HdmiOutput.ConnectedDevice.DeviceInformationChange += ConnectedDevice_DeviceInformationChange;
_rmc.HdmiIn.InputStreamChange += InputStreamChangeEvent;
_rmc.DmInput.InputStreamChange += InputStreamChangeEvent;
+ _rmc.Scaler.OutputChange += Scaler_OutputChange;
_rmc.OnlineStatusChange += _rmc_OnlineStatusChange;
@@ -254,7 +256,7 @@ namespace PepperDash.Essentials.DM
#region IhasWallMode Members
- public void SeteWallMode(ushort walLMode)
+ public void SetWallMode(ushort walLMode)
{
EndpointScalerOutput.eWall wallvalue;
@@ -263,5 +265,13 @@ namespace PepperDash.Essentials.DM
}
#endregion
+
+ public void SetWallModeRaw(ushort wallMode)
+ {
+ _rmc.Scaler.WallModeRaw.UShortValue = wallMode;
+ }
+
+ void Scaler_OutputChange(object scaler ScalerOutputEventArgs args)
+
}
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Receivers/DmRmcHelper.cs b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Receivers/DmRmcHelper.cs
index ee423436..0c9f6c66 100644
--- a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Receivers/DmRmcHelper.cs
+++ b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Receivers/DmRmcHelper.cs
@@ -26,7 +26,10 @@ namespace PepperDash.Essentials.DM
public StringFeedback EdidManufacturerFeedback { get; protected set; }
public StringFeedback EdidNameFeedback { get; protected set; }
public StringFeedback EdidPreferredTimingFeedback { get; protected set; }
- public StringFeedback EdidSerialNumberFeedback { get; protected set; }
+ public StringFeedback EdidSerialNumberFeedback { get; protected set; }
+
+ public IntFeedback VideoWallModeFeedback { get; protected set; }
+ public IntFeedback VideoWallModeRawFeedback { get; protected set; }
protected DmRmcControllerBase(string key, string name, EndpointReceiverBase device)
: base(key, name, device)
@@ -165,10 +168,21 @@ namespace PepperDash.Essentials.DM
trilist.SetUShortSigAction(joinMap.AudioVideoSource.JoinNumber,
- a => routingWithFeedback.ExecuteNumericSwitch(a, 1, eRoutingSignalType.AudioVideo));
+ a => routingWithFeedback.ExecuteNumericSwitch(a, 1, eRoutingSignalType.AudioVideo));
+
+ var dmRmcScalerWithVideowall = rmc as DmRmc4kZScalerCController;
+
+ if (dmRmcScalerWithVideowall != null)
+ {
+ trilist.SetUShortSigAction(joinMap.ScalerOutWallMode.JoinNumber, a => dmRmcScalerWithVideowall.SetWallMode(a));
+ trilist.SetUShortSigAction(joinMap.ScalerOutWallModeRaw.JoinNumber, a => dmRmcScalerWithVideowall.SetWallModeRaw(a));
+
+
+ }
}
+
#region Implementation of IDeviceInfoProvider
public DeviceInfo DeviceInfo { get; private set; }
diff --git a/essentials-framework/Essentials DM/Essentials_DM/PepperDash_Essentials_DM.csproj b/essentials-framework/Essentials DM/Essentials_DM/PepperDash_Essentials_DM.csproj
index 41136d0d..f1476a63 100644
--- a/essentials-framework/Essentials DM/Essentials_DM/PepperDash_Essentials_DM.csproj
+++ b/essentials-framework/Essentials DM/Essentials_DM/PepperDash_Essentials_DM.csproj
@@ -59,9 +59,9 @@
..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SSPDevices\Crestron.SimplSharpPro.UI.dll
-
+
False
- ..\..\..\packages\PepperDashCore\lib\net35\PepperDash_Core.dll
+ ..\..\..\PepperDashCore.1.3.1\lib\net35\PepperDash_Core.dll
False