Skip to end of banner
Go to start of banner

RevolutionPi Python Introduction

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

A quick and easy introduction how to use the RevPi with the Python programming language.

Why Python?

LED switch with Python

  • Works like writing a "1" to the location in the process image where the RevPiLED is located

  • Where is the RevPiLED located in the process image?

  • Run the following command

piTest -v RevPiLED
  • At offset 119

# ledswitch1.py
f=open("/dev/piControl0","wb+",0)
f.seek(119)
f.write(b'1')
f.seek(119)
f.write(b'0')

Read or write strings

The devices in PiCtory usually provide byte access to the data. You can test this example by using a Virtual Device 32 Bytes in PiCtory.

We read out the offset of “Output_1” variable. This may vary on your configuration so be careful here.

pi@RevPi40302:~ $ piTest -v Output_1
variable name: Output_1
       offset: 43
       length: 8
          bit: 0

Python example code

def writeString(offset, myString):
    f=open("/dev/piControl0","wb+",0)
    f.seek(offset)
    f.write(str.encode(myString))

def readString(offset, length):
    f=open("/dev/piControl0","wb+",0)
    f.seek(offset)
    my_string_as_bytes = f.read(length)
    return my_string_as_bytes.decode()
	
writeString(43,'Hello World')
readString(43,11)
' Hello World

Verify the contents of the process image with piTest

pi@RevPi40302:~ $ piTest -1 -r 43,11
 72 101 108 108 111  32  87 111 114 108
100
pi@RevPi40302:~ $ piTest -1 -r 43,11,h
48 65 6c 6c 6f 20 57 6f 72 6c 64

RevPiModIO

  • Library developed from the RevPi community

  • Allows easy use of symbolic names from PiCtory

  • Installation not necessary already on the device

  • Documentation

Switch the LED with RevPiModIO

import revpimodio2
rpi = revpimodio2.RevPiModIO(autorefresh=True)
rpi.io.RevPiLED.value = 1
rpi.io.RevPiLED.value = 0

 Python I/O Bit Mirror

import revpimodio2
import time
rpi = revpimodio2.RevPiModIO(autorefresh=True)
while True:
    rpi.io.O_1.value = rpi.io.I_1.value
    time.sleep(0.02)

Video Tutorials

Also have a look at our video tutorials about Python

Also have a look at the following video tutorials

Verwandte Artikel

  • No labels