I am trying to use the RB-834 in xid mode and I am having some problems. I have the boxes dip switches set to xid according the dip switches page. I am trying to connect to the board in C++ but the data I recieve when a button is pressed does not appear to be the same as described on the xid protocols page. Does anyone have a coding example of how this should be done or any suggestions?
OK, I now have the RB-834 working in xid mode but I am having a small problem with one of the buttons. All of the buttons are sending the protocol and I am able to parse out the data except for the far right bottom button. When I press this button the data recieved is correct: k, port 0, button pressed, button number 0, then the timestamp. The problem comes when the button is released. I no longer recieve the proper information. I recieve the k but then the port number, pressed or released, button number, and timestamp are all wrong. Any suggestions?
We have tested an RB-834 and there was not an issue with the button release. There is a utility program called Xidon (pronounced Zydon) that lets you see if all the key releases and presses are working accurately. If it does not show up in Xidon, then please contact me.
OK, so it does appear to be working right. Could I get sample code on how button 8 is processed? When the buttons are pressed I am reading from the port a byte at a time and the button number is supposed to be 3 bits long located in byte 2, bits number 5-7. However, in binary 8 is 4 bits long. This is where I am running into the problem because that extra bit seems to be messing up the release. Any suggestions or sample code would be much appreciated.
Unfortunately we don’t have source code available for sharing. But if I had to take an educated guess, the problem that you’re running into might have something to do with a signed vs. unsigned integer.