The OOPic is an Object Oriented Programmable Integrated Circuit. Created by
Savage Innovations
Savage may refer to:
Places Antarctica
* Savage Glacier, Ellsworth Land
* Savage Nunatak, Marie Byrd Land
* Savage Ridge, Victoria Land
United States
* Savage, Maryland, an unincorporated community
* Savage, Minnesota, a city
* Savage, ...
, this
PIC microcontroller
PIC (usually pronounced as ''"pick"'') is a family of microcontrollers made by Microchip Technology, derived from the PIC1650"PICmicro Family Tree", PIC16F Seminar Presentation originally developed by General Instrument's Microelectronics ...
comes with an IDE (
Integrated Development Environment
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
) that supports programming in syntaxes based on the
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
,
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
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
*
Arduino
Arduino () is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed und ...
*
BASIC Stamp
The BASIC Stamp is a microcontroller with a small, specialized BASIC interpreter ( PBASIC) built into ROM. It is made by Parallax, Inc. and has been popular with electronics hobbyists since the early 1990s.
Technical specifications
Although t ...
*
PICAXE
External links
*—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.
{{Microchip Technology
Microcontrollers
Microchip Technology hardware