RuntimeError: pin numbering mode / Jetson.GPIO

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)

hello a.phoenix,

here’s should be a bug in your for loop.
please revise the code as following for each of your GPIOs in the LED_IN.
for example,

for led_pin in range(len(LED_IN)) :
    GPIO.output(LED_IN[led_pin], GPIO.HIGH)

With

Same Error:

  File "/home/nvidia/Desktop/jetsonGPIO/forum - error2_ON_gpiodemo.py", line 58, in <module>
    GPIO.output(LED_IN[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)

hello a.phoenix,

please do debug your python code to check whether the pin number has assign correctly.
how about assign the GPIO number directly through APIs, i.e. GPIO.output(<#>, GPIO.HIGH)