oNib Object

Main Index
Object List
Back to top of page Description:
 The oNib Object manages a 4-Bit variable that can be used in a virtual circuit.  As well as the value of the variable, status properties are also provided that can be used in a virtual circuit.

There are three main differences between this object and a standard Nib variable. 

  1. This Object's Value property is an instance of the oValue Object which can be pointed to by a Virtual Circuit. 
  2. This Object maintains status bits which can be pointed to by Virtual Circuits.
  3. This Object is 4-bits larger in order to store the status information.
 The following table lists the size and availability of the oNib Object.
 ObjectSizeDescriptionA1A2B1B2C1
oNib1 ByteManages a value with a range of 0 to 15.xxxxx
Back to top of page Operation:
 An oNib Object variable stores a 4-Bit value in its Value property and maintains other values that represent the status of those 4 bits.

The MSB property indicates the Most-Significant-Bit of the value which can be used to indicate when the value is more than half.

The NonZero Property indicates if the value is not zero.

Back to top of page Properties:
 

The following table lists the properties of the oNib Object:

Property

Description

Value
The value of the 4-bit variable.
Object Class: oValue Value Range: 0 - 15
Data Type: Numeric Default Value: 0
MSB
A value that indicates the Value property is more than half its range.
Object Class: oProperty Value Range: 0 - 1
Data Type: Numeric Default Value: 0

The MSB property reflects the most significant bit (MSB) of the oNib Object's Data property and therefore is updated when either the Value property or the Data property is written to.  Any writes the the MSB property will result in changing the most significant bit of the Data property. 

MSBDescription
0

The Value property is 7 or less (Less than half)

1

The Value property is 8 or more (more than half)

NonZero
A value that indicates the Value property is more than zero.
Object Class: oLogic Value Range: 0 - 1
Data Type: Numeric Default Value: 0
The NonZero property is updated when the Value property is written to.  Any modifications that are made directly to the Data property will have no effect on the NonZero property.
Notes on virtual circuit usage: Not all implementations of the oNib Object have a linkable NonZero property.  While all instance of the oNib Object that you create in your programs will have a linkable NonZero property,  some of the ooPIC Objects create a custom oNib Object instance that cannot. 
NonZeroConstantDescription
0cvFalse

The Value property is zero.

1cvTrue

The Value property is not zero.

Data
The data for the Value property.
Object Class: oVar4 Value Range: 0 - 15
Data Type: Numeric Default Value: 0
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 Methods:
 

The following table lists the Methods of the oNib Object
Method

Description

Value.Clear

Clears the Value property to 0.

Value.Dec

Decrements the Value property by 1.

Value.Inc

Increments the Value property by 1.

Value.Invert

Inverts the bits in the Value property

Value.LShift

Shifts the bits in the Value property left.

Value.RShift

Shifts the bits in the Value property Right.

Value.Set

Sets the Value property to 15.

InitInitializes the properties.

Back to top of page Example:
 In the following example, a Virtual Circuit is created that outputs the NonZero status property.
' This program creates a Virtual
' Circuit that connects the oNib's
' NonZero property to a Digital 
' Output.  Starting from a 
' value of 10, it decreases the  
' oNib's Value property every  
' 1/10 of a second.

Dim V As New oNib
Dim W1 As New oWire
Dim L1 As New oDIO1

Sub main() 
  L1.IOLine = 8
  L1.Direction = cvOutput
  W1.Input.Link(V.NonZero)
  W1.Output.Link(L1.State)
  W1.Operate = cvOn

  V = 10
  Do
    V.Value.Dec
    Delay = 100
  Loop 
  
End Sub
Back to top of page Related Items:
 The following table lists objects that use the oNib Object.
 ObjectDescriptionA1A2B1B2C1
o7SegAn Object that displays a number on a 7-Segment LED display.x
o8BarAn Object that displays a number on an 8-Segment LED bargraph.x
oKeypadReads a 4 x 4 Keypad matrix.xxxxx
oLEDControls an LED light.xxx
 The following table lists other objects with related functions.
 ObjectDescriptionA1A2B1B2C1
oBitManages a 1-bit value with a range of 0 to 1.xxxxx
oNibXManages a 4-bit signed value with a range of -8 to +7.x
oByteManages a 8-bit value with a range of 0 to 255.xxxxx
oCharManages a 8-bit signed value with a range of -128 to -127.xxx
oWordManages a 16-bit value with a range of 0 to 65,535.xxxxx
oIntManages a 16-bit signed value with a range of -32,768 to +32,767.xxx
oBuffer(1-32)32 Objects that Manage various sized data-buffer/string variable.xxxxx
Back to top of page Version History and Bug List:
 Firmware Ver A1: Introduced.

Bugs: No known bugs.


 

ooPIC Compiler Ver 6.0 (c) Copyright 1997 - 2007 Savage Innovations, LLC.