Description: |
| | A Processing Object that takes the value of one object and copies it to another object. |
| | The following table lists the size and availability of the oBus Object and its variations.
| | Object | Size | Description | A1 | A2 | B1 | B2 | C1 |
 | oBus | 3 Bytes | Provides copy function. | x | x | x |
 | oBusI | 4 Bytes | With 8-Bit Value on Input. | x | x | x |
 | oBusO | With 8-Bit Value on Output. | x | x | x |
 | oBusC | 5 Bytes | Clocked copy function. | x | x | x |
 | oBusIC | Clocked with 8-Bit Value on Input. | x | x | x |
 | oBusOC | Clocked with 8-Bit Value on Output. | x | x | x |
|
Operation: |
| | The normal operation of the oBus Object is to take the value of the Object that the Input property points to and copy it to the Object that the Output property points to once every Object list loop. If the property option "C" is used, then the operation is modified so that this function only occurs once each time an oLogic Object transitions. If the Negate property is set to 1, then the value of the Input Object is negated before it is copied to the Output Object. An 8-Bit signed Value property can be substituted for either the Input or the Output property by specifying the appropriate property options. |
Property Options: |
| | The oBus Object has 6 variants which are selected with the 3 property options: I, O, and C.
- I specifies that the Input property is replaced with a Value property.
- O specifies that the Output property is replaced with a Value property.
- C specifies that a clocked version of the object is used.
| | Continuous operation | Clocked operation |
| Pointers for both input and output: |  | oBus |  | oBusC |
| Signed 8-Bit Value on input: |  | oBusI |  | oBusIC |
| Signed 8-Bit Value on output: |  | oBusO |  | oBusOC |
|
Properties: |
| | The following table lists the properties of the oBus Object:
Property | Description |
| Operate |
| A value that selects if the copy operation takes place. |
 | Object Class: | oOperate | | Value Range: | 0 - 1 |
| Data Type: | Numeric | | Default Value: | 0 |
|
| Operate | Constant | Description |
| 0 | cvOff | The copy operation is not performed. |
| 1 | cvOn | The copy operation is performed. |
|
|
| Value |
| A value that is used in place of either the Input or Output property. |
 | Object Class: | oChar | | Value Range: | -128 to +127 |
| Data Type: | Numeric | | Default Value: | 0 |
|
Availability: oBusI, oBusIC, oBusO, oBusOC |
|
| Input |
| A pointer to an object whose value will be copied to the Output Object. |
 | Object Class: | oValuePtrI | | Value Range: | 0 - 1 |
| Data Type: | Numeric | | Default Value: | 0 |
|
Availability: oBus, oBusC, oBusO, oBusOC |
|
| Output |
| A pointer to an object that will be updated with the value of the Input Object. |
 | Object Class: | oValuePtrO | | Value Range: | 0 - 1 |
| Data Type: | Numeric | | Default Value: | 0 |
|
Availability: oBus, oBusC, oBusI, oBusIC |
|
| Negate |
| A value that selects if the input value should be negated before it is stored in the output. |
 | Object Class: | oSelect0to1L | | Value Range: | 0 - 1 |
| Data Type: | Numeric | | Default Value: | 0 |
|
| InvertIn | Constant | Description |
| 0 | cvFalse | The value of the Input Object is not negated before it is copied to the Output Object. |
| 1 | cvTrue | The value of the Input Object is negated before it is copied to the Output Object. |
|
|
Process Clock |
| See Clocked Objects for detail |
 | Object Class: | oClockedOperate | | Value Range: | 0 - 1 |
| Data Type: | Numeric | | Default Value: | 0 |
|
Availability: oBusC, oBusIC, oBusOC |
|
| Address |
| Returns a pointer to the address of the oCounter Object instance. |
 | Object Class: | oAddress | | Value Range: | 0 - 127 |
| Data Type: | Pointer (Read Only) | | Default Value: | Address of Object |
|
|
|
Example:
|
| | In the following example, a Virtual Circuit is made that uses the oBus Object to copy the value of an oA2DX Object to the value of an oServoX Object allowing a potentiometer to position a RC Servo.
| Visual Basic Syntax | C and Java Syntax |
Dim A As New oA2DX
Dim S As New oServoX
Dim B As New oBus
Sub Main()
A.IOLine = 1
A.Operate = cvTrue
S.IOLine = 31
S.Operate = cvTrue
B.Input.Link(A)
B.Output.Link(S)
B.Operate = cvTrue
End Sub | oA2DX A = New oA2DX;
oServoX S = New oServoX;
oBus B = New oBus;
Void Main(Void){
A.IOLine = 1;
A.Operate = cvTrue;
S.IOLine = 31;
S.Operate = cvTrue;
B.Input.Link(A);
B.Output.Link(S);
B.Operate = cvTrue;
} |
| Basic Syntax | |
A As oA2DX
S As oServoX
B As oBus
A.IOLine = 1
A.Operate = cvTrue
S.IOLine = 31
S.Operate = cvTrue
B.Input.Link(A)
B.Output.Link(S)
B.Operate = cvTrue | |
|
Related Items: |
| | The following table lists other objects with related functions.
| | Object | Description | A1 | A2 | B1 | B2 | C1 |
 | oBusF(I,O,C) | 6 Objects that copy one Object's Value to another Object with fuzziness. | x |
 | oMath(I,O,C) | Provides mathematical functions. | x | x | x | x | x |
 | oDDELink | Provides a Dynamic-Data-Exchange link over the I2C network. | x | x | x | x | x |
 | oDataStrobe | Provides a Data-Strobe in response to a value being written to it. | x | x | x | x | x |
 | oWire(1-4,C) | Copies the value of an oLogic Object to another oLogic Object. | x | x | x | x | x |
|
Version History and Bug List: |
| | Firmware Ver B1: Introduced. Bugs: No known bugs. |