import Jetson.GPIO as GPIO
GPIO.setmode(GPIO.TEGRA_SOC)
GPIO.setup('POWER_EN', GPIO.IN)
And I got an error
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/dist-packages/Jetson.GPIO-2.0.17-py3.6.egg/Jetson/GPIO/gpio.py", line 358, in setup
File "/usr/local/lib/python3.6/dist-packages/Jetson.GPIO-2.0.17-py3.6.egg/Jetson/GPIO/gpio.py", line 121, in _channels_to_infos
File "/usr/local/lib/python3.6/dist-packages/Jetson.GPIO-2.0.17-py3.6.egg/Jetson/GPIO/gpio.py", line 121, in <listcomp>
File "/usr/local/lib/python3.6/dist-packages/Jetson.GPIO-2.0.17-py3.6.egg/Jetson/GPIO/gpio.py", line 104, in _channel_to_info_lookup
ValueError: Channel POWER_EN is invalid
when I ran this code.
It looks like the POWER_EN pin is not defined in the GPIO library.
How can I read the signal from POWER_EN pin with Python3?
Thansk.
Hi JerryChang,
Thanks for your reply.
But I can not understand your advice. I spent some hours on trying to grasp the term pinmux. But I could not find the pin number for the POWER_EN signal. I’ve tried the number 3 or 5, but both of them were invalid channel. Sorry, I’m a beginner of Jetson Nano even of Linux.
Could you please provide me with more details about the pinmux?
Regards.
Sorry, I did not descript my question clearly.
I want to read the signal from the POWER ON button.
In the document Jetson Nano Developer Kit User Guide , it is defined in the Button Header [J50] pins 11 and 12. When we connect the pins11 and 12, the Jetson Nano will start. I want to run a Python script to read the signal that the pins 11 and 12 is connected during the Jetson Nano runtime.
I want to know how to read the signal from POWER_EN pin. At first, I found your reply:
I spent some time on reading the document [Jetson Nano Product Design Guide]. But I could not find the pin number of the POWER_EN pin from that document. So I post this thread with the first words " Continuing the discussion from Power on signal from Jetson Nano :"
could you please restate your actual use-case to read the signal from POWER_EN pin.
this is the carrier board receives the main power source (5V) and uses this to generate the enable (POWER_EN) to Jetson Nano.
besides, you’re using python library which running after Nano booting into linux kernel. which mean POWER_EN already on the high state once SHUTDOWN_REQ signal has triggered.
Thanks for your patience.
I connected a button to that pin, so I can start the Jetson Nano with a push on the button. And I need to shutdown the Jetson Nano gracefully after I push down the button again.
I have also some experience with C/C++, but I’m a beginner for Linux and hardware, sorry for that.
you don’t need to have implementation since there’s auto power-on option,
please also check [Sudden Power Loss] for the power-off sequence to protect your device.
for the details, please access Jetson Nano Developer Kit User Guide, you could disable auto power-on and use the pin to initiate power-on if auto power-on is disabled.
thanks
I connected the Pins 5 and 6 with a jumper. And I also connected the Pins11 and 12 with a switch. If I push the switch, I can enable the Jetson Nano. And now I want to shutdown it gracefully, like sending a shutdown command in the terminal, when I push the switch again. So I need to read the signal of a push on that switch.
Thanks.
there’s “gpio-timed-keys” for Nano’s power key functions.
it acts different behavior if you press the power key for 1, 3, or 5 seconds.
you should press the power key for 5 seconds, and it’ll sending power-off event to shutdown the board.
please also refer to device tree sources for details.
for example, $L4T_Sources/r32.6.1/Linux_for_Tegra/source/public/hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms/tegra210-porg-keys-p3448-0000-a00.dtsi