usbdmx.com Home of the opto isolated, bus powered, DMX512 interface with both in and out universes. Cheap and simple to build. USBDMX logo

LOHWBridge Class Reference

This is an abstract bridge to the hardware interfaces. More...

#import <LOHWBridge.h>

Inheritance diagram for LOHWBridge:

LOHWContainer LOHWD2xxUSBDMX LOHWEnttecPro LOHWUSBDMX

Public Member Functions

(NSXMLElement *) - XML
 Get the details as XML.
(NSString *) - identifier
 Get a unique identifier for this bridge.
(NSString *) - displayIdentifier
 Get a more human readable identifier for this interface.
(LOHWCapability) - capability
 Get the capability of this Bridge.
(NSString *) - lookupResponseCode:
 Lookup a response code as a String.
(void) - close
 Close the bridge.
(NSString *) - version
 Get the version number of the bridge firmware.
(NSString *) - serialNumber
 Get the serial number of the bridge.
(BOOL) - isSleeping
 Check the current sleepign state of a bridge.
(void) - setSleeping:
 Set if a bridge is sleeping.
(BOOL) - isChannelFree:
 Check to see if a channel is free for patching.
(BOOL) - isChannelFree:withBlockSize:
 Check if a block of channels are free starting at aChannel.
(unsigned) - firstFreeChannel
 Get the first free channel, i.e.
(unsigned) - firstFreeChannelWithSize:
 Get the first free channel, where there is a contiguous block of blockSize channels free.
(unsigned) - largestFreeBlock
 Find the size of the larges un-patched block of contiguous channels.
(unsigned) - largestFreeBlockFromChannel:
 Find the size of the larges un-patched block of contiguous channels starting on or after startingChannel.
(unsigned) - largestFreeBlockAtChannel:
 Find the size of the larges un-patched block of contiguous channels starting at startingChannel.
(void) - setIsPatched:onChannel:
 Mark a channel as being soft patched.
(BOOL) - isTX
 Test to see in the bridge has been set to Transmit DMX data.
(BOOL) - setTX:
 Enable or disbale the bridge from transmitting DMX.
(unsigned char) - TXStartCode
 Get current start code for TX.
(BOOL) - setTXStartCode:
 Set the start code for TX.
(unsigned int) - TXLastChannel
 Get current last channel TX.
(BOOL) - setTXLastChannel:
 Set the last channel for TX.
(BOOL) - isBlackout
 Test to see in the bridge is in blackout mode.
(BOOL) - setBlackout:
 Enable or disbale the blackout mode for the bridge.
(BOOL) - setChannel:toValue:
 Set a TX channel value.
(BOOL) - isRX
 Test to see in the bridge has been set to receive DMX data.
(BOOL) - setRX:
 Enable or disbale the bridge from receiving DMX.
(unsigned char) - RXStartCode
 Get current start code for RX.
(BOOL) - setRXStartCode:
 Set the start code for RX.
(BOOL) - requestRXFPS
 Request the current frame per second of incoming DMX data.
(BOOL) - requestRXStartCode
 Request the current start code for incoming DMX data.
(BOOL) - requestRXLastChannel
 Request the current last channel of incoming DMX data.
(id) - initWithSerialNumber:

Static Public Member Functions

(NSArray *) + interfacePaths

Protected Attributes

BOOL patched [512]
 Flag to show if a specific channel has been patched.
BOOL isSleeping
 Flag to show if the interface is marked as sleeping.

Detailed Description

This is an abstract bridge to the hardware interfaces.

You will need to use a concrete sub class of this object, that actually implements the correct bridge for the HW you wish to communicate with.

Interaction with a HWBridge is asynchronous, and is achieved by posting notifications, where responses are expected from commands. The following generic notifications are posted :

LODMXDidReceiveResponseNotification LODMXDidErrorNotification LODMXDebugNotification

When in RX mode, and a new channel value is received a LODMXDidReceiveChannelValueNotification notifications is posted.

See also:
LODMXResponse

HWManager


Member Function Documentation

- (LOHWCapability) capability  

Get the capability of this Bridge.

This function allows you to find out if the bridge is capable of doing what you want. For instance if you intend to use an bridge to receive DMX you can check which bridges are capable before offering a choice to the user.

- (void) close  

Close the bridge.

- (NSString *) displayIdentifier  

Get a more human readable identifier for this interface.

See also:
- identifier

- (unsigned) firstFreeChannel  

Get the first free channel, i.e.

one that has not been patched

Returns:
the free channel, or zero if no channles are free

- (unsigned) firstFreeChannelWithSize: (unsigned)  blockSize  

Get the first free channel, where there is a contiguous block of blockSize channels free.

Returns:
The free channel, or zero if no channels are free.

- (NSString *) identifier  

Get a unique identifier for this bridge.

Returns:
The interface

- (id) initWithSerialNumber: (NSString *)  theSerialNumber  

Deprecated:
use the LOHWManager functions

+ (NSArray *) interfacePaths  

Deprecated:
use the HWManager functions

Reimplemented in LOHWEnttecPro, and LOHWUSBDMX.

- (BOOL) isBlackout  

Test to see in the bridge is in blackout mode.

See also:
- setBlackout:

- (BOOL) isChannelFree: (unsigned)  aChannel  

Check to see if a channel is free for patching.

Parameters:
aChannel The channle to check (1-512)
See also:
- isChannelFree:withBlockSize:

- (BOOL) isChannelFree: (unsigned)  aChannel
withBlockSize: (unsigned)  blockSize 

Check if a block of channels are free starting at aChannel.

Parameters:
aChannel The channle to check (1-512)
blockSize The number of channels to check
See also:
- isChannelFree:

- (BOOL) isRX  

Test to see in the bridge has been set to receive DMX data.

See also:
- setRX:

- (BOOL) isSleeping  

Check the current sleepign state of a bridge.

When an interface is sleeping its connection to the HW is closed, and it will not be automatically opend. This is used when the computer is going to sleep and we do not want hardware errors because ports are still open during sleep.

See also:
- setSleeping:

- (BOOL) isTX  

Test to see in the bridge has been set to Transmit DMX data.

See also:
- setTX:

- (unsigned) largestFreeBlock  

Find the size of the larges un-patched block of contiguous channels.

Returns:
The size of the block, or zero if no channels are free.
See also:
- largestFreeBlockFromChannel:

- largestFreeBlockAtChannel:

- (unsigned) largestFreeBlockAtChannel: (unsigned)  startingChannel  

Find the size of the larges un-patched block of contiguous channels starting at startingChannel.

Returns:
The size of the block, or zero if no channels are free.
See also:
- largestFreeBlock

- largestFreeBlockFromChannel:

- (unsigned) largestFreeBlockFromChannel: (unsigned)  startingChannel  

Find the size of the larges un-patched block of contiguous channels starting on or after startingChannel.

Returns:
The size of the block, or zero if no channels are free.
See also:
- largestFreeBlock

- largestFreeBlockAtChannel:

- (NSString *) lookupResponseCode: (unsigned char)  aResponseCode  

Lookup a response code as a String.

Parameters:
aResponseCode The response code to lookup
Returns:
A String object containg a description of the respose code

- (BOOL) requestRXFPS  

Request the current frame per second of incoming DMX data.

The response will be sent via a LODMXResponse notification

Returns:
NO if the bridge does not support FPS requests
See also:
- requestRXStartCode

- requestRXLastChannel

- (BOOL) requestRXLastChannel  

Request the current last channel of incoming DMX data.

The response will be sent via a LODMXResponse notification

Returns:
NO if the bridge does not support last channel requests
See also:
- requestRXStartCode

- requestRXFPS

- (BOOL) requestRXStartCode  

Request the current start code for incoming DMX data.

The response will be sent via a LODMXResponse notification

Returns:
NO if the bridge does not support start code requests
See also:
- requestRXFPS

- requestRXLastChannel

- (unsigned char) RXStartCode  

Get current start code for RX.

See also:
- setRXStartCode:

- (NSString *) serialNumber  

Get the serial number of the bridge.

In some instances the serial number may be the same as the identifier. Don't confuse them. Idetifier should be used to access bridges, serialNuber is only used for information

Returns:
nil if the bridge does not support serial number requests

- (BOOL) setBlackout: (BOOL)  flag  

Enable or disbale the blackout mode for the bridge.

Returns:
NO if the bridge does not support this function
See also:
- isBlackout

- (BOOL) setChannel: (unsigned int)  theChannel
toValue: (unsigned char)  theValue 

Set a TX channel value.

Returns:
NO if the bridge does not support this function

- (void) setIsPatched: (BOOL)  aPatch
onChannel: (unsigned)  aChannel 

Mark a channel as being soft patched.

- (BOOL) setRX: (BOOL)  flag  

Enable or disbale the bridge from receiving DMX.

Returns:
NO if the bridge does not support this function
See also:
- isRX

- (BOOL) setRXStartCode: (unsigned char)  theCode  

Set the start code for RX.

Returns:
NO if the bridge does not support this function
See also:
- RXStartCode

- (void) setSleeping: (BOOL)  flag  

Set if a bridge is sleeping.

See also:
isSleeping

- (BOOL) setTX: (BOOL)  flag  

Enable or disbale the bridge from transmitting DMX.

Returns:
NO if the bridge does not support this function
See also:
- isTX

- (BOOL) setTXLastChannel: (unsigned int)  theChannel  

Set the last channel for TX.

Returns:
NO if the bridge does not support this function
See also:
- TXLastChannel

- (BOOL) setTXStartCode: (unsigned char)  theCode  

Set the start code for TX.

Returns:
NO if the bridge does not support this function
See also:
- TXStartCode

- (unsigned int) TXLastChannel  

Get current last channel TX.

See also:
- setTXLastChannel:

- (unsigned char) TXStartCode  

Get current start code for TX.

See also:
- setTXStartCode:

- (NSString *) version  

Get the version number of the bridge firmware.

Returns:
nil if the bridge does not support Version requests

- (NSXMLElement *) XML  

Get the details as XML.

 <interface type="<Interface Type>" identifier="1001" RX="ON|OFF" TX="ON|OFF"/>

Returns:
The XML Representation of the interface

Reimplemented in LOHWContainer.


The documentation for this class was generated from the following files: