Skip to content

in linuxcnc 2.8 eventually bug in the gpio driver #955

@par-sixis

Description

@par-sixis

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

RPI4_GPIO_test.txt

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions