MSCL icon indicating copy to clipboard operation
MSCL copied to clipboard

GPIO Interface Help for the GQ7 INS

Open jhgoglio opened this issue 3 years ago • 2 comments

I am having some difficulty using the MSCL library to access the GPIO pins on my GQ7 INS. My goal is to be able to use the precision timestamping feature to time stamp the rising edge of input pulses (various digital triggers and PPS from other devices). Alternatively, I’d also like to read out a GPIO input and include this in my MIP packet stream (so that every packet will also include a GPIO pin value for, say, GPIO4). I'm currently sampling at 500 Hz, so I would prefer not to poll if possible.

Toward this end, do you guys have any example code for interfacing with the GPIO in this way? I prefer python, but C++ or even pseudocode would be great. If not, anything to help me get going in the right direction would be appreciated.

Thanks!

jhgoglio avatar Sep 01 '22 21:09 jhgoglio

Unfortunately the precision-timestamping GPIO-triggered data feature is not yet available on the GQ7. This feature was developed as part of our latest product (CV7) development cycle. We plan to port the feature over to the GQ7 but have no set timeline on that at this point. There is some additional information on this feature on this Synchronized Data Output overview in the CV7 manual - if you'd like more information or to explore other supported setup options with the GQ7 for your application I can get you in touch with someone far more knowledgeable than I am with regards to device behavior and configuration.

Similarly, outputting the GPIO state in the data stream is not yet supported by the GQ7. This feature, however, is planned for the next GQ7 update which should be rolled out in the next month or so. The information would not be included in every packet, but would be it's own data field (CH_FIELD_SYSTEM_GPIO_STATE) as part of the System data set (CLASS_SYSTEM). For now the only way to access this information on the GQ7 is with the InertialNode::getGpioState(pinId) function.

If you'd like to set up the GPIO for one of the more basic behaviors currently supported by the GQ7, outlined in the manual here, I can certainly provide some sample code for the MSCL implementation.

Sorry for the confusion!

msclissa avatar Sep 08 '22 21:09 msclissa

Thanks for this response. I'm just checking in to see if either of these features have been added for the GQ7. We're starting our project back up and would love to use any new features, if available. If so, do you happen to have any sample code for either?

If neither has been added to the GQ7, I would be interested in the sample code that you mentioned at the end of your response. In order to detect the rising edge of a digital pulse (for synchronization/triggering, for example), I'm assuming that I'd have to poll this field?

Thanks again!

jhgoglio avatar Mar 09 '23 16:03 jhgoglio