-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
in linuxcnc 2.8 eventually bug in the gpio driver
first half area of RPI4 J8 used 12 GPIO as follows (an other test condition)
pin-------------------outputs-----------------
pin-i use GPIO 2,3,4 for xstep ystep zstep
pin-i use GPIO 14,15,17 for xdir ydir zdir
pin-i use GPIO 10 for zenable
pin-------------------inputs-----------------
pin-i use GPIO 18 27 22 for xlim ylim zlim ( used for + and - lims, used for home also )
pin-i use GPIO 23 24 tim lim (pyvcp)
pin-gpio pins ( not rpi pins! )
pin-2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
pin-7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 (gpio1& 0 not used )
pin-0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 1 dir mask (0 means in 1 means out) dec 45319
pin-0 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 1 0 0 0 exclude mask (0 means use 1 means dont use) dec 26103544
loadrt hal_pi_gpio dir=45319 exclude=26103544
found anomaly RPI4 pin-15-in is not present
found anomaly RPI4 pin-40-in is present
workaround, eventually bug in the gpio driver
loadrt hal_pi_gpio dir=45319 exclude=25579256 because GPIO21 is related to RPI4 J8 pin-15-in
loadrt hal_pi_gpio dir=45319 exclude=26627832 because GPIO22 is related to RPI4 J8 pin-40-in
loadrt hal_pi_gpio dir=45319 exclude=26627832
pin-03-out <== xstep
pin-05-out <== ystep
pin-07-out <== zstep
pin-08-out <== xdir
pin-10-out <== ydir
pin-11-out <== zdir
pin-12-in ==> xlim
pin-13-in ==> ylim
pin-15-in ==> zlim
pin-16-in ==> tim
pin-18-in ==> lim
pin-19-out <== zenable
55 // Raspberry2/3:
56 static unsigned char rpi2_gpios[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 21, 23, 24, 25, 26, 27 };
57 static unsigned char rpi2_pins[] = {3, 5, 7, 29, 31, 26, 24, 21, 19, 23, 32, 33, 8, 10, 36, 11, 12, 35, 38, 15, 40, 16, 18, 22, 37, 13 };
visible in source
line 56 static unsigned char rpi2_gpios[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 21, 23, 24, 25, 26, 27 };
rpi_gpio numbers order 20, 22, 21, 23 is not continued as expected 20,21,22,23 instead of