- Posts: 959
- Thank you received: 489
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Any further progress? Would love to order one of these for testing.Ok, hopefully we are happy with this one, I am more satisfied.
Also, here is the pinout of the RP2040 for reference. Certainly interested if anything in particular will work better or worse.
The keypad uses I2C for data exchange. It also has two additional I/Os for HALT and STROBE signals, both are active low. The HALT signal is hard-wired to a dedicated button on the keypad for e-stop. For any other button press, when the user presses a button, the STROBE signal is asserted (pulled down) by the keypad MCU which signals the host that a character code needs to be read. The host reads a single byte from the device which contains the keycode - so there is a limit of 255 possible buttons/combinations of buttons (we do use shift-button for alternate functions on the keypad, plus diagonal jogging if two direction buttons are pressed simultaneously). The pendant keeps the STROBE asserted as long as the user holds down the button. This allows for things like continuous pushbutton jogging.
In addition to the above, the DRO is updated whenever the host writes the data packet to the pendant (this can happen at any time). This is the format of the data here:
github.com/Expatria-Technologies/RT_Jog_...er/i2c_jogger.h#L248
You should be able to use the SDA/SCL as a UART (they can be given that alternate function) and the other two GPIOS should be able to implement the quadrature decoder for the handwheel. You would need to implement a differential receiver via IC or termination, as well as deal with voltage translation. 3.3V and 5v are also available on the headers.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.