Using the GPIO ports

I’m extremely novice to this particular software, but I was hoping someone could help me with a few questions. I’m part of a senior project team at my university and we’re making some modifications to a currently existing 3D printer which uses Smoothieware (not the Smoothieboard however, the company who built it uses an Azteeq x5 mini).

Our project consists of adding a couple features to their product, and we’re making some decent progress in terms of how we can solve the problems we have been given. We’re at a complete standstill however on how exactly to interface with GPIO ports. The Azteeq has GPIO ports available from what we have seen (I understand this isn’t a place to ask about that board specifically). We’re at a complete loss however as to how exactly to interface the GPIO in software.

Is this something that’s done exclusively through G code, or can we make modifications to the existing C/C++ to handle some interrupts that will likely be coming from an external board like an Arduino. Essentially what needs to happen is that if we detect a jam, or the user presses a pause/resume button, we need the software to do just that and halt the print with the ability to resume. I’m not asking anyone here to solve my problem; I just would like to know a starting point if anyone has any suggestions. My team is currently tasked among the 5 of us to tear apart the code and look for any hints, but our search efforts have been so far in vain.

I noticed that we have access to a Tx/Rx pin on our board, and was curious if anyone knew by default what kind of interface these ports use.

Thanks!
-Kevin

Imported from wikidot

Hey there.

How to use the GPIO pins really depends on what you want to use them for. What do you need them for ?

If it’s simple it’s likely what you want is http://smoothieware.org/switch

About the rx/tx pins, it’s just simple serial ( UART )

Cheers.