Thank you for your reply. I modified the device PinMux to Mode5: $cat /sys/kernel/debug/pinctrl/44e10800.pinmux-pinctrl-single/pins | grep 8a8 pin 42 (PIN42) 44e108a8 0000000d pinctrl-single $cat /sys/kernel/debug/pinctrl/44e10800.pinmux-pinctrl-single/pins | grep 8ac pin 43 (PIN43) 44e108ac 0000000d pinctrl-single
Now everything works fine, hank you :) BTW, i did try to $ sudo config-pin P8.43 pruout, but it returned: P8_43 pinmux file not found! bash: /sys/devices/platform/ocp/ocp*P8_43_pinmux/state: No such file or directory Cannot write pinmux file: /sys/devices/platform/ocp/ocp*P8_43_pinmux/state ..but i did not investigate any further. Regards Klemen On Tuesday, 16 May 2023 at 18:49:21 UTC+2 cha...@steinkuehler.net wrote: > The mode pr1_pru1_pru_r31_* is for PRU input (R31 is the direct input > register). Use the pr_pru_pru_r30 option (R30 is the PRU direct output > register) or something like the config-pin utility and universal overlay > which makes this simple for you, eg: > > config-pin P8.43 pruout > > On 5/16/2023 9:45 AM, fogl wrote: > > Thank you for your reply. > > > > Now i generated the device tree overlay to configured the P8_43 to Mode6 > > (pr1_pru1_pru_r31_2) and P8_44 to Mode6 (pr1_pru1_pru_r31_3). This was > > successful: > > $cat /sys/kernel/debug/pinctrl/44e10800.pinmux-pinctrl-single/pins | grep > > 8a8 > > pin 42 (PIN42) 44e108a8 00000016 pinctrl-single > > $cat /sys/kernel/debug/pinctrl/44e10800.pinmux-pinctrl-single/pins | grep > > 8ac > > pin 43 (PIN43) 44e108ac 00000016 pinctrl-single > > > > i changed my .hal file to use pru1 and set the pins according to > numbering > > scheme: > > loadrt hal_pru_generic > prucode=/usr/lib/linuxcnc/rt-preempt/pru_generic.bin > > pru=1 num_stepgens=1 halname=hpg > > setp hpg.stepgen.00.steppin 1843 > > setp hpg.stepgen.00.dirpin 1844 > > > > ...but i still see no output on the pins. > > > > I noticed there is also Mode5 PinMux option with the pr_pru_pru_r30 > > available. Should i use this mode? > > > > Regards > > Klemen > > > > > > > > On Tuesday, 16 May 2023 at 00:42:15 UTC+2 cha...@steinkuehler.net wrote: > > > >> You likely need to configure the pin multiplexing for the pins you wish > >> to use so they can be controlled by the PRU. This is typically done via > >> a device-tree overlay, or something like cape-universal and the > >> config-pin utility if you don't like making device-tree files: > >> > >> https://github.com/cdsteinkuehler/beaglebone-universal-io > >> > >> On 5/15/2023 1:18 PM, fogl wrote: > >>> > >>> Hello everybody, > >>> > >>> I am still trying to run the stepper motor with Machinekit. I > configured > >>> the hal and i was expecting some step/dir signal on the output pins, > but > >>> nothing happens (i am monitoring with the oscilloscope). > >>> > >>> I tried to generate steps by changing the hpg.stepgen.00.position-cmd > >>> signal. I could see the hpg.stepgen.00.position-fb signal that was > >>> folowing. So everything seems fine here. > >>> > >>> The problem seems to be in the output pin configuration. I tried > >> different > >>> kind of options: > >>> - to change the pru number from pru=0 to pru=1 > >>> - i tried to change the pin location > >>> > >>> Can you please suggest what could be the problem, > >>> Regards > >>> Klemen > >>> > >>> *my .hal configuration* > >>> loadrt threads name1=base-thread period1=100000 fp1=0 > name2=servo-thread > >>> period2=1000000 fp2=1 > >>> > >>> loadrt hal_bb_gpio user_leds=0,1,2,3 > >>> loadrt hal_pru_generic > >> prucode=/usr/lib/linuxcnc/rt-preempt/pru_generic.bin > >>> pru=1 num_stepgens=1 halname=hpg > >>> loadrt siggen num_chan=1 > >>> > >>> addf bb_gpio.write base-thread > >>> addf bb_gpio.read base-thread > >>> > >>> addf siggen.0.update servo-thread > >>> addf hpg.capture-position servo-thread > >>> addf hpg.update servo-thread > >>> ddf bb_gpio.write base-thread > >>> addf bb_gpio.read base-thread > >>> > >>> addf siggen.0.update servo-thread > >>> addf hpg.capture-position servo-thread > >>> addf hpg.update servo-thread > >>> > >>> setp siggen.0.frequency 2 > >>> net ledlight siggen.0.clock => bb_gpio.userled3 > >>> > >>> > >>> > >>> # stepper timing parameters in nanoseconds > >>> setp hpg.stepgen.00.dirsetup 200 > >>> setp hpg.stepgen.00.dirhold 200 > >>> setp hpg.stepgen.00.steplen 1000 > >>> setp hpg.stepgen.00.stepspace 1000 > >>> > >>> setp hpg.stepgen.00.position-scale 20 > >>> setp hpg.stepgen.00.maxvel 200.0 > >>> setp hpg.stepgen.00.maxaccel 2000.0 > >>> > >>> #setp hpg.stepgen.00.step_type 0 > >>> # P8.12 GPIO1_12 0x4C > >>> # P8.11 GPIO1_13 0x4D > >>> # P8.43 PRU1.out2: 812 > >>> # P8.44 PRU1.out4: 813 > >>> setp hpg.stepgen.00.steppin 813 > >>> setp hpg.stepgen.00.dirpin 812 > >>> > >>> *halcmd: show pin hpg.* > >>> Component Pins: > >>> Comp Inst Type Dir Value Name > >>> Epsilon Flags linked to: > >>> 106 s32 OUT 7000 hpg.capture-position.time > >>> ---- > >>> 106 s32 I/O 13083 hpg.capture-position.tmax > >>> ---- > >>> 106 bit OUT FALSE hpg.capture-position.tmax-inc > >>> ---- > >>> 106 bit IN FALSE hpg.stepgen.00.control-type > >>> --l- > >>> 106 s32 OUT 45653 hpg.stepgen.00.counts > >>> --l- > >>> 106 float OUT -7707.206 hpg.stepgen.00.dbg_err_at_match > >>> 0.000010 --l- > >>> 106 float OUT 0 hpg.stepgen.00.dbg_ff_vel > >>> 0.000010 --l- > >>> 106 float OUT -7717.106 hpg.stepgen.00.dbg_pos_minus_prev_cmd > >>> 0.000010 --l- > >>> 106 float OUT 0.1 hpg.stepgen.00.dbg_s_to_match > >>> 0.000010 --l- > >>> 106 s32 OUT 5368709 hpg.stepgen.00.dbg_step_rate > >>> --l- > >>> 106 float OUT 200 hpg.stepgen.00.dbg_vel_error > >>> 0.000010 --l- > >>> 106 u32 IN 0x000000C8 hpg.stepgen.00.dirhold > >>> --l- > >>> 106 u32 IN 0x0000032C hpg.stepgen.00.dirpin > >>> --l- > >>> 106 u32 IN 0x000000C8 hpg.stepgen.00.dirsetup > >>> --l- > >>> 106 bit IN TRUE hpg.stepgen.00.enable > >>> --l- > >>> 106 float IN 2000 hpg.stepgen.00.maxaccel > >>> 0.000010 --l- > >>> 106 float IN 200 hpg.stepgen.00.maxvel > >>> 0.000010 --l- > >>> 106 float IN 0 hpg.stepgen.00.minvel > >>> 0.000010 --l- > >>> 106 float IN 10000 hpg.stepgen.00.position-cmd > >>> 0.000010 --l- > >>> 106 float OUT 2284.294 hpg.stepgen.00.position-fb > >>> 0.000010 --l- > >>> 106 float IN 20 hpg.stepgen.00.position-scale > >>> 0.000010 --l- > >>> 106 bit IN FALSE hpg.stepgen.00.stepinvert > >>> --l- > >>> 106 u32 IN 0x000003E8 hpg.stepgen.00.steplen > >>> --l- > >>> 106 u32 IN 0x0000032D hpg.stepgen.00.steppin > >>> --l- > >>> 106 u32 IN 0x000003E8 hpg.stepgen.00.stepspace > >>> --l- > >>> 106 s32 OUT 385815358 hpg.stepgen.00.test1 > >>> --l- > >>> 106 s32 OUT 45697 hpg.stepgen.00.test2 > >>> --l- > >>> 106 s32 OUT -1299849246 hpg.stepgen.00.test3 > >>> --l- > >>> 106 float IN 0 hpg.stepgen.00.velocity-cmd > >>> 0.000010 --l- > >>> 106 float OUT 200 hpg.stepgen.00.velocity-fb > >>> 0.000010 --l- > >>> > >>> 106 s32 OUT 8582 hpg.update.time > >>> ---- > >>> 106 s32 I/O 54414 hpg.update.tmax > >>> ---- > >>> 106 bit OUT FALSE hpg.update.tmax-inc > >>> ---- > >>> > >>> > >>> *$ uname -a* > >>> Linux beaglebone 4.19.120-bone-rt-r50 #1stretch PREEMPT RT Fri May 8 > >>> 22:45:31 UTC 2020 armv7l GNU/Linux > >>> > >>> *$ ls /proc/device-tree/chosen/overlays/* > >>> AM335X-PRU-UIO-00A0 BB-ADC-00A0 BB-BONE-eMMC1-01-00A0 > >>> BB-HDMI-TDA998x-00A0 name > >>> > >> > >> -- > >> Charles Steinkuehler > >> cha...@steinkuehler.net > >> > > > > -- > Charles Steinkuehler > cha...@steinkuehler.net > -- website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit --- You received this message because you are subscribed to the Google Groups "Machinekit" group. To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/machinekit/9f3fd800-2892-4042-8d8e-597acaa68695n%40googlegroups.com.