Skip to content

A Python module to use most Arduino wiring functions on Intel® Arduino capable boards.

License

Notifications You must be signed in to change notification settings

emutex/wiring-x86

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wiring-x86

Wiring-x86 is a Python module that lets you use Arduino like functionality on Intel® Arduino capable boards such as:

It provides a simple and unified API (similar to the WiringPi module) to talk to the GPIO pins on the board.

https://raw.githubusercontent.com/emutex/wiring-x86/master/docs/source/_images/galileo1.jpg

At the moment the Wiring-x86 library provides support to:

  • Writing to a GPIO pin configured as output.
  • Reading from a GPIO pin configured as high impedance input.
  • Reading from a GPIO pin configured as pullup input.
  • Reading from a GPIO pin configured as pulldown input.
  • Reading from a GPIO pin configured as analog input (ADC).
  • Writing to a GPIO pin configured as analog output (PWM).

Here is a simple example:

# Import the time module enable sleeps between turning the led on and off.
import time

# Import the GPIOEdison class from the wiringx86 module.
# In case you want to use a different board, simply the import right class
# below. The API is unified for all supported boards.
from wiringx86 import GPIOEdison as GPIO

# Create a new instance of the GPIOEdison class.
# Setting debug=True gives information about the interaction with sysfs.
gpio = GPIO(debug=False)
pin = 13
state = gpio.HIGH

# Set pin 13 to be used as an output GPIO pin.
print 'Setting up pin %d' % pin
gpio.pinMode(pin, gpio.OUTPUT)


print 'Blinking pin %d now...' % pin
try:
    while(True):
        # Write a state to the pin. ON or OFF.
        gpio.digitalWrite(pin, state)

        # Toggle the state.
        state = gpio.LOW if state == gpio.HIGH else gpio.HIGH

        # Sleep for a while.
        time.sleep(0.5)

# When you get tired of seeing the led blinking kill the loop with Ctrl-C.
except KeyboardInterrupt:
    # Leave the led turned off.
    print '\nCleaning up...'
    gpio.digitalWrite(pin, gpio.LOW)

    # Do a general cleanup. Calling this function is not mandatory.
    gpio.cleanup()

Full documentation can be found at wiring-x86 site on Read the Docs.

The original YOCTO Linux OS provided by Intel® must be used. For more information on how to get this software go to Intel® Makers site. This module will only work with that combination of boards and OS since it uses specific Intel® GPIO driver sysfs interface.

About

A Python module to use most Arduino wiring functions on Intel® Arduino capable boards.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published