oBusF Object

Back to top of page Methods:

The following table lists the methods: Preliminary
MethodDescription
Init

Initializes the object's properties.

The Init method has 6 arguments.
ArgumentPropertyDescription
iInput Input A pointer to an object whose value will be monitored for change by comparing it to the value of the Output object.
iOutput Output A pointer to an object whose value will be used to track the last value of the Input object.
iFuzziness Fuzziness Specifies a dead area in which the input value must pass before the output is changed.
iMode Mode Selects whether the Changed property stays at logic 1 for 1 object-list-loop or if it is user cleared.
iOption Option Selects whether the output increments towards or jumps to the input value.
iOperate Operate Selects if the evaluation will take place.

Back to top of page Description:
A Processing Object similar to the oBus object that takes the value of one object and copies it to another object.

In addition to the basic copy function, the oBusF Object detects when an Object's Value has changed by comparing the input and output values. If the two are different, then the input value is copied to the output value and status bits are updated to indicate that the change was made and if the update was higher or lower than the previous value.

A fuzzy area can be specified that will cause the comparison to by less stringent in its evaluation.

 The following table lists the size and availability of the oBusF Object.
 ObjectSizeDescriptionA1A2B1B2C1
oBusF3 BytesAn Object that indicates when an Object's value has changed.x
oBusFC5 BytesAn Object that indicates when an Object's value has changed.x
oBusFI2 BytesAn Object that indicates when an Object's value has changed.x
oBusFIC3 BytesAn Object that indicates when an Object's value has changed.x
oBusFO4 BytesAn Object that indicates when an Object's value has changed.x
oBusFOC5 BytesAn Object that indicates when an Object's value has changed.x
Back to top of page Operation:
 

The oBusF Object takes the value of the object pointed to by the Input and compares it to the value of the object pointed to by the output property.  If the two values are different, then the changed property is set to 1; otherwise.  After the comparison is made, the input value is copied to the output value.  If the input value does not change by the next time that the oBusF Object evaluates it, then the Changed property will have been set to 1 for one Object List Loop.

Normal operation of the oBusF Object is to take the input value and compare and copy it to the output value 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 the oLogic Object pointed to by the ClockIn property transitions in the manner specified by the InvertC property.

An 8-Bit signed Value can be substituted for the Output property by specifying the appropriate property option.

BUGS: The input is not copied to the Output after a change occurs. While the ClockIn property compiles in version 5.01, it does not function.

Back to top of page Property Options:
 The oBusF Object has 4 variants which are selected with the 2 property options: O and C.  
  • 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:oBusFoBusFC
Signed 8-Bit Value on output:oBusFOoBusFOC
Signed 8-Bit Value on input:oBusFIoBusFIC
Back to top of page Properties:

The following table lists the properties of the oBusF Object:

Property

Description

Operate
A value that selects if the comparison will take place.
Object Class: oOperate Value Range: 0 - 1
Data Type: Numeric Default Value: 0
OperateConstantDescription
0cvOffThe comparison function is not performed.
1cvOnThe comparison function is performed.
Value
A value that can optionally be used instead of the Input or Output properties.
Object Class: oChar Value Range: 0 - 1
Data Type: Numeric Default Value: 0
Availability: oBusFO oBusFOC oBusFI oBusFIC
Input
A pointer to an object whose value will be monitored for change by comparing it to the value of the Output object.
Object Class: oValuePtrI Value Range: 0 - 127
Data Type: Pointer Default Value: Null
Availability: oBusF oBusFC oBusFO oBusFOC
Output
A pointer to an object whose value will be used to track the last value of the Input object.
Object Class: oValuePtrO Value Range: 0 - 127
Data Type: Pointer Default Value: Null
Availability: oBusF oBusFC oBusFI oBusFIC
Mode
A value that selects if the Changed property stays at logic 1 for 1 object-list-loop or if it is user cleared.
Object Class: oSelect0to1 Value Range: 0 - 1
Data Type: Numeric Default Value: 0
Option
A value that select if the output increments towards or jumps to the input value.
Object Class: oSelect0to1 Value Range: 0 - 1
Data Type: Numeric Default Value: 0
Fuzziness
A value that specifies a dead area in which the input value must pass before the output is changed.
Object Class: oVar4 Value Range: 0 - 15
Data Type: Numeric Default Value: 0
Changed
A value that indicates if the value of the input object has changed.
Object Class: oLogic Value Range: 0 - 1
Data Type: Numeric Default Value: 0
ValueConstantDescription
0cvFalseThe value of the input object has not changed since the last Object List Loop
1cvTrueThe value of the input object has changed since the last Object List Loop
Process
Clock
See Clocked Objects for detail
Object Class: oClockedOperate Value Range: 0 - 1
Data Type: Numeric Default Value: 0
Availability: oBusFC oBusFOC oBusFIC
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

Back to top of page Examples:
In the following examples, the oBusF object is used.
Visual Basic Syntax C and Java Syntax
' This program reads the position
' of a knob an updates I/O Lines
' 8 - 15.  A Fuzziness value of 1
' is used to prevent jitter from 
' the knob reading to show up on
' the outputs

Dim a As New oBusF
Dim b As New oDIO8
Dim c As New oKnob

Sub main()
  a.Input.Link(c)
  a.Output.Link(b)
  a.Fuzziness = 1
  a.Operate.Set
  b.IOGroup = 1
  b.Direction = cvOutput
  c.IOLine = 1
  c.Operate = 1
End Sub
// This program reads the position
// of a knob an updates I/O Lines
// 8 - 15.  A Fuzziness value of 1
// is used to prevent jitter from 
// the knob reading to show up on
// the outputs

oBusF a = New oBusF;
oDIO8 B = New oDIO8;
oKnob c = New oKnob;

Void main(){
  a.Input.Link(c);
  a.Output.Link(B);
  a.Fuzziness = 1;
  a.Operate.Set;
  B.IOGroup = 1;
  B.Direction = cvOutput;
  c.IOLine = 1;
  c.Operate = 1;
}
Basic Syntax 
' This program reads the position
' of a knob an updates I/O Lines
' 8 - 15.  A Fuzziness value of 1
' is used to prevent jitter from 
' the knob reading to show up on
' the outputs

a As oBusF(c,b,1,,,cvOn)
b As oDIO8(1,cvOutput,1)
c As oKnob(1,1)
 

Back to top of page Related Items:

 The following table lists objects with related functions
 ObjectDescriptionA1A2B1B2C1
oBusAn Object that copies one Object's Value to another Objectxxx
Back to top of page Version History and Bug List:
 Introduced Firmware Ver C1

Bugs: No known bugs.