GPIO.setmode() not working? Why?
Does the Jetson module library work at all?
In the examples you can only find the imported RPi library (import RPi.GPIO as GPIO
), but no import Jetson.GPIO as GPIO
Try with GPIO.BOARD
# GPIO library
import Jetson.GPIO as GPIO
# define Pins
LED4 = 7
LED8 = 12
LED3 = 13
IN3 = 15
LED7 = 18
IN2 = 19
IN1 = 21
IN7 = 22
LED2 = 23
IN6 = 24
LED1 = 29
IN5 = 32
IN4 = 33
LED5 = 35
LED6 = 38
IN8 = 40
# Pin Definition
LED_IN = [IN1,IN2,IN3,IN4,IN5,IN6,IN7,IN8]
# Warning disable
#GPIO.setwarnings(False)
# Set up the GPIO channel
GPIO.setmode(GPIO.BOARD)
GPIO.setup(LED_IN, GPIO.OUT, initial=GPIO.LOW)
# ON the LEDs
for led_pin in LED_IN:
GPIO.output(led_pin, GPIO.HIGH)
GPIO.cleanup()
print("all LED are ON")
ERROR:
Traceback (most recent call last):
File "/home/nvidia/Desktop/error_ON_gpiodemo_forum.py", line 34, in <module>
GPIO.output(led_pin, GPIO.HIGH)
File "/home/nvidia/.local/lib/python3.9/site-packages/Jetson/GPIO/gpio.py", line 444, in output
ch_infos = _channels_to_infos(channels, need_gpio=True)
File "/home/nvidia/.local/lib/python3.9/site-packages/Jetson/GPIO/gpio.py", line 119, in _channels_to_infos
_validate_mode_set()
File "/home/nvidia/.local/lib/python3.9/site-packages/Jetson/GPIO/gpio.py", line 83, in _validate_mode_set
raise RuntimeError("Please set pin numbering mode using "
RuntimeError: Please set pin numbering mode using GPIO.setmode(GPIO.BOARD), GPIO.setmode(GPIO.BCM), GPIO.setmode(GPIO.TEGRA_SOC) or GPIO.setmode(GPIO.CVM)
Try with GPIO.TEGRA_SOC
# GPIO library
import Jetson.GPIO as GPIO
# define Pins
pin7 = "AUD_MCLK"
pin11 = "UART1_RTS"
pin12 = "DAP1_SCLK"
pin13 = "GPIO_AUD0"
pin15 = "GPIO_EXP_P17"
pin16 = "CAN_GPIO0"
pin18 = "GPIO_MDM2"
pin19 = "GPIO_CAM6"
pin21 = "GPIO_CAM5"
pin22 = "GPIO_EXP_P16"
pin23 = "GPIO_CAM4"
pin24 = "GPIO_CAM7"
pin29 = "GPIO_AUD1"
pin31 = "CAN_GPIO2"
pin32 = "CAN_GPIO1"
pin33 = "GPIO_PQ5"
pin35 = "DAP1_FS"
pin36 = "UART1_CTS"
pin37 = "GPIO_PQ4"
pin38 = "DAP1_DIN"
pin40 = "DAP1_DOUT"
# define used Pins
LED4 = pin7
LED8 = pin12
LED3 = pin13
IN3 = pin15
LED7 = pin18
IN2 = pin19
IN1 = pin21
IN7 = pin22
LED2 = pin23
IN6 = pin24
LED1 = pin29
IN5 = pin32
IN4 = pin33
LED5 = pin35
LED6 = pin38
IN8 = pin40
# Pin Definition
#led_pin = IN5
LED_IN = [IN1,IN2,IN3,IN4,IN5,IN6,IN7,IN8]
# Warning disable
#GPIO.setwarnings(False)
# Set up the GPIO channel
GPIO.setmode(GPIO.TEGRA_SOC)
GPIO.setup(LED_IN, GPIO.OUT, initial=GPIO.LOW)
# ON the LED
for led_pin in LED_IN:
GPIO.output(led_pin, GPIO.HIGH)
GPIO.cleanup()
print("LED is ON")
Same ERROR:
Traceback (most recent call last):
File "/home/nvidia/Desktop/error_ON_gpiodemo.py", line 58, in <module>
GPIO.output(led_pin, GPIO.HIGH)
File "/home/nvidia/.local/lib/python3.9/site-packages/Jetson/GPIO/gpio.py", line 444, in output
ch_infos = _channels_to_infos(channels, need_gpio=True)
File "/home/nvidia/.local/lib/python3.9/site-packages/Jetson/GPIO/gpio.py", line 119, in _channels_to_infos
_validate_mode_set()
File "/home/nvidia/.local/lib/python3.9/site-packages/Jetson/GPIO/gpio.py", line 83, in _validate_mode_set
raise RuntimeError("Please set pin numbering mode using "
RuntimeError: Please set pin numbering mode using GPIO.setmode(GPIO.BOARD), GPIO.setmode(GPIO.BCM), GPIO.setmode(GPIO.TEGRA_SOC) or GPIO.setmode(GPIO.CVM)