diff options
Diffstat (limited to 'peripheral/libmraa/src/python/docs/example.rst')
-rw-r--r-- | peripheral/libmraa/src/python/docs/example.rst | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/peripheral/libmraa/src/python/docs/example.rst b/peripheral/libmraa/src/python/docs/example.rst new file mode 100644 index 0000000..4daf98c --- /dev/null +++ b/peripheral/libmraa/src/python/docs/example.rst @@ -0,0 +1,93 @@ +####### +Example +####### +Here are some examples of how to use mraa, common convention is to import mraa +as mraa to keep it short but feel free to import it globally! As a general rule +the API is very similar to the C++ API so there are only basic examples to show +quick usage. The mraa module can be built with python3 or python2. All examples +may not run on python3 as this is not tested. + +Hello GPIO +========== + +Here is the simplest Gpio program in mraa. + +.. literalinclude:: ../../../examples/python/hello_gpio.py + :prepend: import mraa + :start-after: import mraa + +GPIO Interupt (isr) +=================== + +The GPIO module allows you to set an interupt on a GPIO. This interupt is +controlled by the mode that the 'edge' is in. Before setting another isr please +remove the first one, multiple isrs on one pin are not supported. Some +platforms will not support interupts on all pins so please check your return +values. + +**Note:** Galileo Gen1 only supports EDGE_BOTH + +.. literalinclude:: ../../../examples/python/hello_isr.py + :prepend: import mraa + :start-after: import mraa + +**Note:** If the python script is ended the destructors will run meaning that +the ISR will not run. The sleep call is there for that function. + +**Note:** The python isr module treats only objects. This means that int +counters will not work inside your isr. Please use the different edge modes. + +I2c +=== + +The I2c module module has a number of different ways of interacting with the +i2c bus, including a number of overloaded read() calls and the writeReg() +helper function. + +.. literalinclude:: ../../../examples/python/bmp85.py + :prepend: x = m.I2c(0) + :start-after: x = m.I2c(0) + +.. literalinclude:: ../../../docs/i2c.txt + +Pwm +=== + +The PWM module is rather simple, note that different hardware support PWM +generation is various different ways so results may vary. + +.. literalinclude:: ../../../examples/python/cycle-pwm3.py + :prepend: import mraa + :start-after: import mraa + +Aio +=== + +The ADC is typically provided on a dedicated or shared SPI bus, this is +abstracted by the Linux kernel as spidev and abstracted again by mraa. It is +fairly simple in use. + +.. literalinclude:: ../../../examples/python/aio.py + :prepend: import mraa + :start-after: import mraa + +Uart +==== + +Uart is the Universal asynchronous receiver/transmitter interface in mraa. +It allows the exposure of UART pins on supported boards, with basic +configuration operations supported. + +Here's a simple pair of programs comprising a sender and receiver pair. + +Sender: + +.. literalinclude:: ../../../examples/python/uart_sender.py + :prepend: import mraa + :start-after: import mraa + +Receiver: + +.. literalinclude:: ../../../examples/python/uart_receiver.py + :prepend: import mraa + :start-after: import mraa |