623 | | === Double edge trigger |
624 | | |
625 | | OcteonTX GPIO's support double edge trigger, this will create an IRQ on both the leading and falling edge of a signal. |
626 | | |
627 | | Here is an example using a GW6304. |
628 | | |
629 | | Create an input GPIO and "high" GPIO, these are CPU-DIO's: |
630 | | |
631 | | Connect Push button normally open (push-to-make switch) between leads attached to J13 pin 1 and 2. |
632 | | |
633 | | {{{#!bash |
634 | | #Create double edge input GPIO |
635 | | echo 488 > /sys/class/gpio/export |
636 | | echo in > /sys/class/gpio/gpio488/direction |
637 | | echo both > /sys/class/gpio/gpio488/edge |
638 | | #Create "high" GPIO |
639 | | echo 489 > /sys/class/gpio/export |
640 | | echo out > /sys/class/gpio/gpio489/direction |
641 | | echo 1 > /sys/class/gpio/gpio489/value |
642 | | }}} |
643 | | Watch IRQ events: |
644 | | {{{#!bash |
645 | | watch -n 0.5 cat /proc/interrupts |
646 | | }}} |
647 | | Look for "GPIO 24 Edge" IRQ count increase on both edges of signal. |
648 | | |
649 | | Note that early revision Newport boards did not have on-board pull-ups on the off-board DIO's thus they would need to be provided off-board - see [wiki:newport/DigitalIO] for details |