OOPic II Objects
OOPic firmware version B contains all of the Objects found within version A plus an expanded Object set.  The expanded Objects include complex Hardware Objects that interface directly with popular devices, complex Processing Objects that allow more sophisticated Virtual Circuits as well as event triggers within the Virtual Circuits.  Several of the new Object are designed to support the Uniform Robot Control Protocol (URCP)

Hardware Objects.
Hardware Objects are Objects that encapsulate the functionality of the physical hardware circuits within the OOPic.

All Hardware Objects have a Value property that reflects the electrical state of the hardware that they encapsulate. Most can be turned on and off by setting an Operate property that specifies if the hardware function is active. Hardware Objects that do not have an Operate property can still be enabled and disabled by their other properties.
IconObjectDescription
oA2DAn Object that provides a numerical measurement of a voltage.
oA2DXAn expanded version of the oA2D Object that reads an analog voltage and detects when it has exceeded a threshold.
oCompassDNAn Object that reads a Dinsmore Compass.
oCompassVXAn Object that reads a Vector V2X Compass.
oDCMotorAn Object that controls a DC motor.
oDIO1An Object that provides a 1 bit digital I/O.
oDIO16An Object that provides a 16-bit digital I/O.
oDIO16xAn Object that provides a 16-bit digital I/O.
oDIO4An Object that provides a 4-bit digital I/O.
oDIO8An Object that provides an 8-bit digital I/O.
oIRRangeAn Object that reads a Sharp GP2D12 IR ranging module.
oI2CAn Object that provides access to an I2C device.
oJoystickAn Object that reads an Atari style joystick.
oKeypadAn Object that reads a 4 x 4 Keypad matrix.
oLCDAn Object that controls a LCD display.
oLCDSE(T)A set of 2 Objects that control Scott Edwards Serial LCD Displays.
oMotorMindAn Object that controls a Motor Mind module.
oPWMAn Object that provides a Pulse-Width-Modulated output.
oPWMXAn expanded version of the oPWM Object that outputs a PWM pulse on any I/O line.
oQencodeAn Object that reads a Quadrant Encoder.
oSerialAn Object that provides an asynchronous serial I/O port.
oSerialPortAn Object that provides a buffered asynchronous serial I/O port.
oSerialXAn Object that provides Serial Inputs or Outputs on any I/O line.
oServoAn Object that controls a servo-motor.
oServoSEAn Object that controls a Scott Edwards Serial Servo controller.
oServoXAn expanded version of the oServo Object that controls an RC servo using URCP values.
oSonarDVAn Object that reads a Devantech SRF04 Ultrasonic Range Finder.
oSonarPLAn Object that reads a Polaroid 6500 Sonar Ranging Module.
oStepperAn Object that controls a stepper motor.
oTimer(X)A set of 2 Objects that provide a 16-bit high speed counter.
oToneAn Object that outputs a tone.
oTrackerAn Object that tracks the position of a line.
oUVTronHMAn Object that reads a Hamamotsu UVTron Flame detector.

Processing Objects.
Processing Objects are Objects that encapsulate various mathematical logical and other data manipulation functions.

Processing Objects perform various data manipulation functions. Where-as Variable and Hardware Objects maintain a default Value property Processing Objects do not. Instead they have Object and Flag pointers that specify which other Objects hold the Value properties that will be used for the function's input and output values. All Processing Objects can be turned on and off by setting an Operate property that specifies if the function is enabled.
IconObjectDescription
oBus(O,I,C)A set of 6 Objects that copy Values from one Object to another.
oChanged(O,C)A set of 4 Objects that detect when an Object's value has changed.
oClockAn Object that provides a programmable logic clock.
oCompare(0,2,C)A set of 6 Objects that compare Object values.
oConverter(C)A set of 2 Objects that provide conversion functions.
oCountDown(O)A set of 2 Objects that decrease a value until it is 0.
oCounterAn Object that provides counting functions.
oDataStrobeAn Object that provides a Data-Strobe in response to a value being written to it.
oDDELinkAn Object that provides a Dynamic-Data-Exchange link over the I2C network.
oDebounceAn Object that provide logic-state debouncing functions.
oDividerAn Object that provides a clock divider.
oEvent(X,C)A set of 4 Objects that run program code when activated.
oFanOut(C)A set of 2 Objects that distributes a Boolean value to other Objects.
oFlipFlop(C)A set of 2 Objects that toggle a 1-Bit value.
oGate(C)A set of 2 Objects that provide logic-gate functions.
oIndex(C)A set of 2 Objects that provide indexing functions.
oMath(I,O,C)A set of 6 Objects that provide mathematical functions.
oNavCon(I,C)A set of 4 Objects that provides differential steering calculations. 
oOneShotAn Object that produces a one-pulse output in response to logic transition.
oRandomizer(O,C)A set of 4 Objects that provide a random number.
oRepeatAn Object that provides a repeat function.
oRTCAn Object that maintains a Real Time Clock.
oSrvSyncAn Object that provides a method of synchronizing multiple servo-motors.
oWire(C)A set of 2 Objects that copies a Boolean value to another Object.

Variable Objects.
Variable Objects are Objects that store values.

All Variable Objects have a Value property that is used to store its value. In addition to the Value property various other properties and methods are available to manipulate the variable.
IconObjectDescription
oBitAn Object that maintains a 1-bit variable.
oBufferAn Object that maintains a variable size data-buffer/string variable.
oByteAn Object that maintains an 8-bit (1-byte) variable.
oEEPromAn Object that provides access to the non-volatile EEPROM memory.
oNibbleAn Object that maintains a 4-bit variable.
oRAMAn Object that provides access to the system's Random-Access-Memory.
oWordAn Object that maintains a 16-bit (2-byte) variable.

User definable Objects.
User Definable Objects are Objects that can be written by OOPic users.

Each User Definable Object is comprised of a small, self contained OOPic program  The Objects and Procedures within this program, become the User Definable Object's Properties and Methods.
IconObjectDescription
oUserClassAn Object that uses an OOPic program to provide a new Object definition.

System Objects.
System Objects are Objects that encapsulate the functions of the OOPic’s internal system.

Two System Object are provided that control the internal workings of the OOPic. These Objects are pre-created at the time that the OOPic chip is powered on.
IconObjectDescription
OOPicAn Object that provides control of and maintains information about the OOPic.
PicAn Object that provides access to the Microchip PIC16C74b microcontroller.