API - Complex Devices¶
In this section the Python API reference for more complex devices is described. This library is supported on both major versions of Python: 2.x and 3.x.
The API for the following sensors is described in this section:
IMPORTANT
This library and the other ones too are not thread-safe. You cannot call the GrovePi from multiple threads or processes as that will put the GrovePi into a broken state.
In case you need to reset the GrovePi from your Raspberry Pi, check this section.
grovepi.ledBar_init(pin, orientation)
¶
Initialize an LED bar.
Parameters
pin {Integer}
a number to identify the port (D2-D8) to which the LED bar is assigned toorientation {Integer}
0
to go from red to green or 1 to go the other way
Returns: 1
all the time
grovepi.ledBar_orientation(pin, orientation)
¶
Set the orientation on an already initialized LED bar.
Parameters
pin {Integer}
a number to identify the port (D2-D8) to which the LED bar is assigned toorientation {Integer}
0
to go from red to green or 1 to go the other way
Returns: 1
all the time
grovepi.ledBar_setLevel(pin, level)
¶
Set the level on an LED bar.
Parameters
pin {Integer}
a number to identify the port (D2-D8) to which the LED bar is assigned toorientation {Integer}
0
to10
corresponding to the number of levels that exist on the LED bar.
Returns: 1
all the time
grovepi.ledBar_toggleLed(pin, led)
¶
Toggle the state of one LED of the 10 levels of the LED bar.
Parameters
pin {Integer}
a number to identify the port (D2-D8) to which the LED bar is assigned toled {Integer}
taking values from0
to10
depending on which LED to toggle
Returns: 1
all the time
grovepi.ledBar_setBits(pin, state)
¶
Set the LED activations of the LED bar based on the binary representation of a 10-bit number.
Parameters
pin {Integer}
a number to identify the port (D2-D8) to which the LED bar is assigned tostate {Integer}
a number from0
to1023
that covers all states for all 10 LEDs of the LED bar
Returns: 1
all the time
grovepi.ledBar_getBits(pin)
¶
Read the state of LED activations on the LED bar.
Parameters
pin {Integer}
a number to identify the port (D2-D8) to which the LED bar is assigned to
Returns: a number from 0
to 1023
to represent the binary state of all 10 LEDs of the LED bar
grovepi.fourDigit_init(pin)
¶
Initialize a Grove 4-Digit Display.
Parameters
pin {Integer}
the port (D2-D8) to which the 4-Digit display is set to
Returns: 1
all the time
grovepi.fourDigit_number(pin, value, leading_zero)
¶
Set the Grove 4-Digit Display to display a number.
Parameters
pin {Integer}
the port (D2-D8) to which the 4-Digit display is set tovalue {Integer}
a value between0
and9999
representing the number to be printed on the displayleading_zero {Boolean}
whether to add leading zeros or not
Returns: 1
all the time
grovepi.fourDigit_brightness(pin, brightness)
¶
Set the brightness of the Grove 4-Digit Display.
Parameters
pin {Integer}
the port (D2-D8) to which the 4-Digit display is set tobrightness {Integer}
a number between0
(for the darkest option) and7
(for the brightest) representing the brightness of the display
Returns: 1
all the time
grovepi.fourDigit_digit(pin, segment, value)
¶
Set individual segment of the Grove 4-Digit Display.
Parameters
pin {Integer}
the port (D2-D8) to which the 4-Digit display is set tosegment {Integer}
a number from0
to3
representing the segmentvalue {Integer}
value of the segment -0
to15
Returns: 1
all the time
grovepi.fourDigit_segment(pin, segment, leds)
¶
Set the individual LED segments of a digit of the Grove 4-Digit Display.
Parameters
pin {Integer}
the port (D2-D8) to which the 4-Digit display is set tosegment {Integer}
which segment of the display to modify (0
to3
)leds {Integer}
a number from0
to255
representing the binary activations of the selectedsegment
- the 8th bit is the colon
Returns: 1
all the time
grovepi.fourDigit_score(pin, left, right)
¶
Set values on either side of the Grove 4-Digit Display. To the left and right values, leading zeros are added and the colon is lit up
Parameters
pin {Integer}
the port (D2-D8) to which the 4-Digit display is set toleft {Integer}
value to be displayed on the left side of the display (takes values from0
to99
)right {Integer}
value to be displayed on the right side of the display (takes values from0
to99
)
Returns: 1
all the time
grovepi.fourDigit_monitor(pin, analog, duration)
¶
Display the analogRead values onto the Grove 4-Digit Display for a given time.
Parameters
pin {Integer}
the port (D2-D8) to which the 4-Digit display is set toanalog {Integer}
the port (A0-A2) on which analog values are read fromduration {Integer}
for how many seconds (0
to255
) the readings are to be displayed
Returns: 1
all the time
grovepi.fourDigit_on(pin)
¶
Turn the whole Grove 4-Digit Display on.
Parameters
pin {Integer}
the port (D2-D8) to which the 4-Digit display is set to
Returns: 1
all the time
grovepi.fourDigit_off(pin)
¶
Turn the whole Grove 4-Digit Display off.
Parameters
pin {Integer}
the port (D2-D8) to which the 4-Digit display is set to
Returns: 1
all the time
grovepi.storeColor(red, green, blue)
¶
Store a color for later use with the Grove Chainable RGB LED.
Parameters
red {Integer}
value from0
to255
green {Integer}
value from0
to255
blue {Integer}
value from0
to255
Returns: 1
all the time
grovepi.chainableRgbLed_init(pin, numLeds)
¶
Initialize a number of chained LEDs on given port.
Parameters
pin {Integer}
the port (D2-D8) to which the Grove RGB LED(s) are connected tonumLeds {Integer}
number of chained LEDs
Returns: 1
all the time
grovepi.chainableRgbLed_test(pin, numLeds, testColor)
¶
Initialize chained LEDs on given port and set a test color on all of them.
Parameters
pin {Integer}
the port (D2-D8) to which the Grove RGB LED(s) are connected tonumLeds {Integer}
number of chained LEDs-
testColor {Integer}
the color to use for all chained LEDs0
for black (or nothing)1
for blue2
for green3
for cyan4
for red5
for magenta6
for yellow7
for white
Returns: 1
all the time
grovepi.chainableRgbLed_pattern(pin, pattern, whichLed)
¶
Set one or more chained LEDs to a stored color following a given pattern.
Parameters
pin {Integer}
the port (D2-D8) to which the Grove RGB LED(s) are connected to-
pattern {Integer}
0
for this LED only1
for all LEDs except this LED2
this LED and all LEDs inwards3
this LED and all LEDs outwards
-
whichLed {Integer}
the index of the LED you wish to set counting outwards from the GrovePi starting with0
Returns: 1
all the time
grovepi.chainableRgbLed_modulo(pin, offset, divisor)
¶
Set one or more chained LEDs to a stored color following the "pattern" of the modulo operation.
Parameters
pin {Integer}
the port (D2-D8) to which the Grove RGB LED(s) are connected tooffset {Integer}
the index of the LED you want to start at (0
is for the 1st LED)divisor {Integer}
sets the color to those LEDs of whose indexes divided bydivisor
have the remainder set to0
- fordivisor=1
every LED gets set, but fordivisor=2
every 2nd LED gets set
Returns: 1
all the time
grovepi.chainableRgbLed_setLevel(pin, level, reverse)
¶
Set one or more chained LEDs to a stored color similar to a bar graph.
Parameters
pin {Integer}
the port (D2-D8) to which the Grove RGB LED(s) are connected tolevel {Integer}
the number of LEDs you want to set to the stored colorreverse {Integer}
0
when counting outwards from the GrovePi or1
when it's the other way (from the most outward LED inwards)
Returns: 1
all the time