Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Architecture  





2 Example program  





3 Other meanings  





4 See also  





5 External links  














OOPic






Español
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 

(Redirected from OoPIC)

The OOPic is an Object Oriented Programmable Integrated Circuit. Created by Savage Innovations, 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[edit]

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[edit]

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[edit]

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[edit]

External links[edit]


Retrieved from "https://en.wikipedia.org/w/index.php?title=OOPic&oldid=1192193999"

Categories: 
Microcontrollers
Microchip Technology hardware
 



This page was last edited on 28 December 2023, at 03:39 (UTC).

Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



Privacy policy

About Wikipedia

Disclaimers

Contact Wikipedia

Code of Conduct

Developers

Statistics

Cookie statement

Mobile view



Wikimedia Foundation
Powered by MediaWiki