OOPic

From Wikipedia, the free encyclopedia

The OOPic is an Object Oriented Programmable Integrated Circuit. Created by , this PIC microcontroller comes with an IDE (Integrated Development Environment) that supports programming in syntaxes based on the BASIC, Java and C programming languages.

The last three versions released to market were the OOPic-R, the OOPic-S and the OOPic-C, which is a miniature version of the former. The oldest model is the OOPic I, which uses the A.2 version of the firmware.

Architecture[]

The OOPic firmware defines numerous built-in "objects," which can provide custom methods and properties. The objects may be wrappers for hardware, such as an external infrared sensor or a built-in LED, or logic helpers, such as dividers or logic gates.

The OOPic also makes use of "virtual circuits," where the programmer can create links between object properties.

Example program[]

The following is an example piece of code written in the BASIC syntax, which links a built-in clock that cycles every 1 Hz to an LED.

' The LED is defined as a single I/O line
Dim Red As New oDio1

' Here we create a virtual wire. Wires are
' used to link output or flag values to
' input values.
Dim W As New oWire

' All OOPic programs need to define a "main" sub-routine.
' This is what will be run when the OOPic is turned on.
Sub Main()
  ' Here we specify the pin number for the I/O line.
  ' The onboard red LED is on pin 7.
  Red.IOLine = 7

  ' The LED can also be used for a button, so we need
  ' to specify whether we wish to read from or write to
  ' the pin.
  ' (cvOutput is a constant value)
  Red.Direction = cvOutput

  ' Now we can set up the wire link!
  ' For the wire's input, we wish to use the built-in
  ' 1Hz timer.
  W.Input.Link(OOPic.Hz1)

  ' Now we send the output of the wire to the LED.
  ' Note that we actually send it to the "Value"
  ' property of the LED, as this is what determines
  ' whether the LED is lit.
  W.Output.Link(Red.Value)

  ' All that's left to do is to tell the wire to
  ' operate, and the OOPic will do the rest!
  ' (cvTrue is a constant value)
  W.Operate = cvTrue

End Sub

This virtual circuit behaviour gives the programmer considerable control and flexibility, and allows for better reaction to real-time behaviours thanks to "Events". The OOPic actually spends the majority of its time updating the virtual circuits, compared to looping through a user's code, so it's in the programmers best interest to use virtual circuits over traditional programming techniques as often as possible.

Other meanings[]

OOPIC also refers to Object Oriented Particle In Cell which is an object-oriented implementation, written at Berkeley, of a specific method of plasma physics simulation known as particle in cell.

See also[]

External links[]

  • "OOPic (tm): The "Hardware Object"". Archived from the original on October 12, 1999. Retrieved August 2, 2004.—The site made by the company that sells the OOPic.
  • The OOPic Yahoo group—This is where most discussion takes place about the OOPic. - Obsolete
  • The OOPic Google group—This is the new discussion / user support group for the ooPic. As of September 2008
  • The PTSG group—This is the website of Berkeley's Plasma Theory and Simulation Group, the authors of the OOPIC plasma simulation code.
Retrieved from ""