On Wed, Jun 17, 2020 at 4:28 PM Mark A. Yoder <[email protected]> wrote: > > It's also missing on the 5.4 and 4.14 kernels. > > On Wednesday, June 17, 2020 at 10:01:10 AM UTC-4, Mark A. Yoder wrote: >> >> Drew: >> Yes, >> /sys/devices/platform/ocp/48304000.epwmss/48304180.eqep >> >> is missing. There's no errors in dmesg about eqp. >> >> I'm running the current image. >> cat /ID.txt >> BeagleBoard.org Debian Buster IoT Image 2020-04-06 >> uname -a >> Linux pocket 4.19.94-ti-r42 #1buster SMP PREEMPT Tue Mar 31 19:38:29 UTC >> 2020 armv7l GNU/Linux >> >> >> On Wednesday, June 17, 2020 at 8:05:13 AM UTC-4, Drew Fustini wrote: >>> >>> On Wed, Jun 17, 2020 at 2:26 AM Mark A. Yoder wrote: >>> > >>> > I'm trying to use the encoders via Python: >>> > >>> > from Adafruit_BBIO.Encoder import RotaryEncoder, eQEP2 >>> > import time >>> > >>> > >>> > # Instantiate the class to access channel eQEP2, and initialize >>> > # that channel >>> > myEncoder = RotaryEncoder(eQEP2) >>> > >>> > >>> > # Get the current position >>> > >>> > >>> > while True: >>> > cur_position = myEncoder.position >>> > print(cur_position) >>> > time.sleep(1) >>> > >>> > But I get the following error: >>> > >>> > Traceback (most recent call last): >>> > File "./eQEP.py", line 8, in <module> >>> > myEncoder = RotaryEncoder(eQEP2) >>> > File >>> > "/usr/local/lib/python3.7/dist-packages/Adafruit_BBIO-1.1.1-py3.7-linux-armv7l.egg/Adafruit_BBIO/Encoder.py", >>> > line 195, in __init__ >>> > self._eqep = _eQEP.fromdict(_eQEP_DEFS[eqep_num]) >>> > File >>> > "/usr/local/lib/python3.7/dist-packages/Adafruit_BBIO-1.1.1-py3.7-linux-armv7l.egg/Adafruit_BBIO/Encoder.py", >>> > line 126, in fromdict >>> > return cls(**df) >>> > File >>> > "/usr/local/lib/python3.7/dist-packages/Adafruit_BBIO-1.1.1-py3.7-linux-armv7l.egg/Adafruit_BBIO/Encoder.py", >>> > line 150, in __init__ >>> > self.node = Node(sys_path) >>> > File >>> > "/usr/local/lib/python3.7/dist-packages/Adafruit_BBIO-1.1.1-py3.7-linux-armv7l.egg/Adafruit_BBIO/sysfs.py", >>> > line 78, in __init__ >>> > self.__dict__.update(dict.fromkeys(listdir(self._path_))) >>> > FileNotFoundError: [Errno 2] No such file or directory: >>> > '/sys/devices/platform/ocp/48304000.epwmss/48304180.eqep' >>> > >>> > >>> > I'm running a current image: >>> > >>> > cat /ID.txt >>> > BeagleBoard.org Debian Buster IoT Image 2020-04-06 >>> > name -a >>> > Linux pocket 4.19.94-ti-r42 #1buster SMP PREEMPT Tue Mar 31 19:38:29 UTC >>> > 2020 armv7l GNU/Linux >>> > >>> > Any suggestions on how to make it work? >>> > >>> > --Mark >>> >>> I think the problem is >>> /sys/devices/platform/ocp/48304000.epwmss/48304180.eqep is missing. >>> >>> It is possible the eQEP driver is not being loaded. I've not tried to >>> use it in a long time. >>> >>> Which image are you using? I can try to replicate. >>> >>> thanks, >>> drew
I think what is missing is adding the appropriate eQEP overlay to the uboot config. This should do it: uboot_overlay_addr4=/lib/firmware/bone_eqep0-00A0.dtbo debian@beaglebone:~$ dmesg |grep -i qep [ 1.802343] eqep 48300180.eqep: ver. 1.0 [ 1.806717] eqep 48300180.eqep: count_mode:1 [ 1.811157] eqep 48300180.eqep: invert_qa:0 [ 1.815435] eqep 48300180.eqep: invert_qb:0 [ 1.819700] eqep 48300180.eqep: invert_qi:0 [ 1.823929] eqep 48300180.eqep: invert_qs:0 [ 1.828167] eqep 48300180.eqep: swap_inputs:0 [ 1.832836] eqep 48300180.eqep: QDECCTL:0x4000 [ 1.837462] eqep 48300180.eqep: QPOSINIT:0x00000000 [ 1.842556] eqep 48300180.eqep: QPOSMAX:0xffffffff [ 1.847411] eqep 48300180.eqep: QPOSCNT:0x00000000 [ 1.852254] eqep 48300180.eqep: omit_interrupt:0 [ 1.856948] eqep 48300180.eqep: QEINT:0x0800 [ 1.861297] eqep 48300180.eqep: QUPRD:0x05f5e100 [ 1.865995] eqep 48300180.eqep: QEPCTL:0x009e write [ 1.870964] eqep 48300180.eqep: QEPCTL:0x009e read [ 1.875850] eqep 48300180.eqep: irq:101, clk_rate:100000000 [ 1.888276] pinctrl-single 44e10800.pinmux: pin PIN107 already requested by 48300180.eqep; cannot claim for ocp:P1_29_pinmux [ 1.958007] pinctrl-single 44e10800.pinmux: pin PIN104 already requested by 48300180.eqep; cannot claim for ocp:P1_31_pinmux [ 2.045313] pinctrl-single 44e10800.pinmux: pin PIN106 already requested by 48300180.eqep; cannot claim for ocp:P2_28_pinmux [ 2.107607] pinctrl-single 44e10800.pinmux: pin PIN105 already requested by 48300180.eqep; cannot claim for ocp:P2_34_pinmux debian@beaglebone:~$ uname -a Linux beaglebone 4.19.94-ti-r43 #1buster SMP PREEMPT Wed Apr 22 06:11:16 UTC 2020 armv7l GNU/Linux And the /sys/devices entries are there: debian@beaglebone:~$ ls -la /sys/devices/platform/ocp/48300000.epwmss/48300180.eqep/ total 0 drwxrwxr-x 3 root gpio 0 May 18 17:30 . drwxrwxr-x 5 root gpio 0 May 18 17:30 .. lrwxrwxrwx 1 root gpio 0 May 18 17:30 driver -> ../../../../../bus/platform/drivers/eqep -rw-rw-r-- 1 root gpio 4096 May 18 17:30 driver_override -rw-rw-r-- 1 root gpio 4096 May 18 17:30 enabled -r--r--r-- 1 root gpio 4096 May 18 17:30 modalias -rw-rw-r-- 1 root gpio 4096 May 18 17:30 mode lrwxrwxrwx 1 root gpio 0 May 18 17:30 of_node -> ../../../../../firmware/devicetree/base/ocp/epwmss@48300000/eqep@0x48300180 -rw-rw-r-- 1 root gpio 4096 May 18 17:30 period -rw-rw-r-- 1 root gpio 4096 May 18 17:30 position drwxrwxr-x 2 root gpio 0 May 18 17:30 power lrwxrwxrwx 1 root gpio 0 May 18 17:30 subsystem -> ../../../../../bus/platform -rw-rw-r-- 1 root gpio 4096 May 18 17:30 uevent -Drew -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/CAEf4M_D9Wa3SZf98Eb6sgURvsR1PTKHNOGycZ7y-QpDe%3DnDkMw%40mail.gmail.com.
