Difference between revisions of "Compatibility"

From Pinguino
Jump to: navigation, search
m (Standard: Add colors)
m (Add colors)
Line 27: Line 27:
  
 
===Communication (networking and protocols)===
 
===Communication (networking and protocols)===
* ✓ OneWire - control devices (from Dallas Semiconductor) that use the One Wire protocol.
+
* <span style="color:#00AF00">✔</span> OneWire - control devices (from Dallas Semiconductor) that use the One Wire protocol.
* &#x2713; XBee - for communicating with XBees in API mode
+
* <span style="color:#00AF00">✔</span> XBee - for communicating with XBees in API mode
* &#x2713; Debounce - for reading noisy digital inputs (e.g. from buttons)
+
* <span style="color:#00AF00">✔</span> Debounce - for reading noisy digital inputs (e.g. from buttons)
* &#x2713; Improved LCD library fixes LCD initialization bugs in official Arduino LCD library
+
* <span style="color:#00AF00">✔</span> Improved LCD library fixes LCD initialization bugs in official Arduino LCD library
* &#x2713; GLCD - graphics routines for LCD based on the KS0108 or equivalent chipset.
+
* <span style="color:#00AF00">✔</span> GLCD - graphics routines for LCD based on the KS0108 or equivalent chipset.
  
 
===Frequency Generation and Audio===
 
===Frequency Generation and Audio===
* &#x2713; Tone - generate audio frequency square waves in the background on any microcontroller pin
+
* <span style="color:#00AF00">✔</span> Tone - generate audio frequency square waves in the background on any microcontroller pin
  
 
===Motors and PWM===
 
===Motors and PWM===
* &#x2717; TLC5940 - 16 channel 12 bit PWM controller.
+
* <span style="color:#FF0000">✖</span> TLC5940 - 16 channel 12 bit PWM controller.
  
 
===Timing===
 
===Timing===
* &#x2713; DateTime - a library for keeping track of the current date and time in software.
+
* <span style="color:#00AF00">✔</span> DateTime - a library for keeping track of the current date and time in software.
  
 
===Utilities===
 
===Utilities===
* &#x2717; TextString aka String - handle strings
+
* <span style="color:#FF0000">✖</span> TextString aka String - handle strings
* &#x2717; PString - a lightweight class for printing to buffers
+
* <span style="color:#FF0000">✖</span> PString - a lightweight class for printing to buffers
* &#x2717; Streaming - a method to simplify print statements
+
* <span style="color:#FF0000">✖</span> Streaming - a method to simplify print statements
  
 
==Pinguino Specific Libraries==
 
==Pinguino Specific Libraries==
  
* &#x2713; Interrupt - Simple interrupt manipulation library (OnEvent, OnTimer0, OnChange, ...)
+
* <span style="color:#00AF00">✔</span> Interrupt - Simple interrupt manipulation library (OnEvent, OnTimer0, OnChange, ...)
* &#x2713; DS18B20 - specific one-wire temperature sensor library
+
* <span style="color:#00AF00">✔</span> DS18B20 - specific one-wire temperature sensor library
* &#x2713; Zigbee - MRF24J40 wireless module
+
* <span style="color:#00AF00">✔</span> Zigbee - MRF24J40 wireless module
* &#x2717; Android ADK - Android Open Accessory library provides an implementation of an Android USB accessory that is based on the Pinguino open source electronics
+
* <span style="color:#FF0000">✖</span> Android ADK - Android Open Accessory library provides an implementation of an Android USB accessory that is based on the Pinguino open source electronics
* &#x2713; RTCC - Real Time Clock and Calendar library
+
* <span style="color:#00AF00">✔</span> RTCC - Real Time Clock and Calendar library
* &#x2713; USB - Native USB hardware support with CDC (USB-Serial), host and OTG (On-The-Go) support
+
* <span style="color:#00AF00">✔</span> USB - Native USB hardware support with CDC (USB-Serial), host and OTG (On-The-Go) support
* &#x2713; PCF8574 - I2C I/O expander library
+
* <span style="color:#00AF00">✔</span> PCF8574 - I2C I/O expander library
* &#x2713; LCDI2C - for controlling liquid crystal displays (LCDs) with I2C protocol
+
* <span style="color:#00AF00">✔</span> LCDI2C - for controlling liquid crystal displays (LCDs) with I2C protocol
* &#x2713; List - High-level library to manipulate lists
+
* <span style="color:#00AF00">✔</span> List - High-level library to manipulate lists
  
 
==Unsupported Arduino Standard and Contributed Libraries==
 
==Unsupported Arduino Standard and Contributed Libraries==
  
* &#x2717; Firmata - for communicating with applications on the computer using a standard serial protocol.
+
* <span style="color:#FF0000">✖</span> Firmata - for communicating with applications on the computer using a standard serial protocol.
* &#x2717; SoftwareSerial - for serial communication on any digital pins (Pinguino32 gives you up to 9 serial channels)
+
* <span style="color:#FF0000">✖</span> SoftwareSerial - for serial communication on any digital pins (Pinguino32 gives you up to 9 serial channels)
* &#x2717; NewSoftSerial - an improved version of the SoftwareSerial library (Pinguino32 gives you up to 9 serial channels)
+
* <span style="color:#FF0000">✖</span> NewSoftSerial - an improved version of the SoftwareSerial library (Pinguino32 gives you up to 9 serial channels)
* &#x2717; Matrix - Basic LED Matrix display manipulation library
+
* <span style="color:#FF0000">✖</span> Matrix - Basic LED Matrix display manipulation library
* &#x2717; Sprite - Basic image sprite manipulation library for use in animations with an LED matrix
+
* <span style="color:#FF0000">✖</span> Sprite - Basic image sprite manipulation library for use in animations with an LED matrix
* &#x2717; Messenger - for processing text-based messages from the computer
+
* <span style="color:#FF0000">✖</span> Messenger - for processing text-based messages from the computer
* &#x2717; PS2Keyboard - read characters from a PS2 keyboard.
+
* <span style="color:#FF0000">✖</span> PS2Keyboard - read characters from a PS2 keyboard.
* &#x2717; Simple Message System - send messages between Arduino and the computer
+
* <span style="color:#FF0000">✖</span> Simple Message System - send messages between Arduino and the computer
* &#x2717; SSerial2Mobile - send text messages or emails using a cell phone (via AT commands over software serial)
+
* <span style="color:#FF0000">✖</span> SSerial2Mobile - send text messages or emails using a cell phone (via AT commands over software serial)
* &#x2717; Webduino - extensible web server library (for use with the Arduino Ethernet Shield)
+
* <span style="color:#FF0000">✖</span> Webduino - extensible web server library (for use with the Arduino Ethernet Shield)
* &#x2717; X10 - Sending X10 signals over AC power lines
+
* <span style="color:#FF0000">✖</span> X10 - Sending X10 signals over AC power lines
* &#x2717; SerialControl - Remote control other Arduinos over a serial connection
+
* <span style="color:#FF0000">✖</span> SerialControl - Remote control other Arduinos over a serial connection
* &#x2717; Capacitive Sensing - turn two or more pins into capacitive sensors
+
* <span style="color:#FF0000">✖</span> Capacitive Sensing - turn two or more pins into capacitive sensors
* &#x2717; LedControl - for controlling LED matrices or seven-segment displays with a MAX7221 or MAX7219.
+
* <span style="color:#FF0000">✖</span> LedControl - for controlling LED matrices or seven-segment displays with a MAX7221 or MAX7219.
* &#x2717; LedControl - an alternative to the Matrix library for driving multiple LEDs with Maxim chips.
+
* <span style="color:#FF0000">✖</span> LedControl - an alternative to the Matrix library for driving multiple LEDs with Maxim chips.
* &#x2717; LedDisplay - control of a HCMS-29xx scrolling LED display.
+
* <span style="color:#FF0000">✖</span> LedDisplay - control of a HCMS-29xx scrolling LED display.
* &#x2717; Metro - help you time actions at regular intervals (supported in Interrupt library)
+
* <span style="color:#FF0000">✖</span> Metro - help you time actions at regular intervals (supported in Interrupt library)
* &#x2717; MsTimer2 - uses the timer 2 interrupt to trigger an action every N milliseconds (supported in Interrupt library)
+
* <span style="color:#FF0000">✖</span> MsTimer2 - uses the timer 2 interrupt to trigger an action every N milliseconds (supported in Interrupt library)

Revision as of 17:07, 8 August 2011

Compatibility Pinguino vs. Arduino

The same page in color

Pinguino boards can be programmed using of a Python IDE, available as a FREE download.

Compatibilty has been tested and is almost 100%. However, some libraries are still under development by the Pinguino Dev. Team (Ethernet & Android ADK) and some others will not be supported due to a lack of time or a lack of interest (SoftwareSerial, Matrix & Sprite). You're welcome to provide these "unsupported" libraries to the community ;o)

Most of the libraries are enriched with specifics Pinguino instructions (for example, you can use Serial.printf with Serial library).

32-bit Pinguino programs are compiled with a C/C++ Compiler which is a GNU-Mips toolchain based on GCC 4.5.2, binutils 2.21 and Newlib 1.19.

8-bit Pinguino uses SDCC 2.9.0 compiler.

Supported Arduino Libraries Status

Standard

  • EEPROM - reading and writing to "permanent" storage
  • Ethernet - for connecting to the internet using the Arduino Ethernet Shield
  • LiquidCrystal - for controlling liquid crystal displays (LCDs)
  • SD - for reading and writing SD cards
  • Servo - for controlling servo motors
  • SPI - for communicating with devices using the Serial Peripheral Interface (SPI) Bus
  • Stepper - for controlling stepper motors
  • Wire - Two Wire Interface (TWI/I2C) for sending and receiving data over a net of devices or sensors.

Communication (networking and protocols)

  • OneWire - control devices (from Dallas Semiconductor) that use the One Wire protocol.
  • XBee - for communicating with XBees in API mode
  • Debounce - for reading noisy digital inputs (e.g. from buttons)
  • Improved LCD library fixes LCD initialization bugs in official Arduino LCD library
  • GLCD - graphics routines for LCD based on the KS0108 or equivalent chipset.

Frequency Generation and Audio

  • Tone - generate audio frequency square waves in the background on any microcontroller pin

Motors and PWM

  • TLC5940 - 16 channel 12 bit PWM controller.

Timing

  • DateTime - a library for keeping track of the current date and time in software.

Utilities

  • TextString aka String - handle strings
  • PString - a lightweight class for printing to buffers
  • Streaming - a method to simplify print statements

Pinguino Specific Libraries

  • Interrupt - Simple interrupt manipulation library (OnEvent, OnTimer0, OnChange, ...)
  • DS18B20 - specific one-wire temperature sensor library
  • Zigbee - MRF24J40 wireless module
  • Android ADK - Android Open Accessory library provides an implementation of an Android USB accessory that is based on the Pinguino open source electronics
  • RTCC - Real Time Clock and Calendar library
  • USB - Native USB hardware support with CDC (USB-Serial), host and OTG (On-The-Go) support
  • PCF8574 - I2C I/O expander library
  • LCDI2C - for controlling liquid crystal displays (LCDs) with I2C protocol
  • List - High-level library to manipulate lists

Unsupported Arduino Standard and Contributed Libraries

  • Firmata - for communicating with applications on the computer using a standard serial protocol.
  • SoftwareSerial - for serial communication on any digital pins (Pinguino32 gives you up to 9 serial channels)
  • NewSoftSerial - an improved version of the SoftwareSerial library (Pinguino32 gives you up to 9 serial channels)
  • Matrix - Basic LED Matrix display manipulation library
  • Sprite - Basic image sprite manipulation library for use in animations with an LED matrix
  • Messenger - for processing text-based messages from the computer
  • PS2Keyboard - read characters from a PS2 keyboard.
  • Simple Message System - send messages between Arduino and the computer
  • SSerial2Mobile - send text messages or emails using a cell phone (via AT commands over software serial)
  • Webduino - extensible web server library (for use with the Arduino Ethernet Shield)
  • X10 - Sending X10 signals over AC power lines
  • SerialControl - Remote control other Arduinos over a serial connection
  • Capacitive Sensing - turn two or more pins into capacitive sensors
  • LedControl - for controlling LED matrices or seven-segment displays with a MAX7221 or MAX7219.
  • LedControl - an alternative to the Matrix library for driving multiple LEDs with Maxim chips.
  • LedDisplay - control of a HCMS-29xx scrolling LED display.
  • Metro - help you time actions at regular intervals (supported in Interrupt library)
  • MsTimer2 - uses the timer 2 interrupt to trigger an action every N milliseconds (supported in Interrupt library)