Thanks for the files I noticed in the PmodNAV_read.vi there are a few missing sub Vi's you wouldn't have those at all? The sub Vi's are Collect16BitXYZdata_helperVI.vi and Twos_complement_with_negativeOutput_helperVI.vi
The read file is what I mainly need as I am just trying to read values from the accelerometer and gyroscope of the Pmod Nav.
This is what is written about the two's complement function. I am very new to Linx and Pmods so what exactly is the MSB that is needed to be checked?
"apparently, the two's complement function I'm using in the helper functions doesn't actually produce negative numbers... not sure what's up with that. It just looks to see if it is negative, if so add MSB to it. I thought that the mpide library accounted for the negative portion of two's complement but it does not do so either... this doesn't explain why I'm getting all 0's though (or all 1's when I run LabVIEW) though. Plenty of warning is given in the datasheet about not writing to reserved registers, but I am avoiding all of those correctly insofar as I can see. Or at least I presume that writing 6 bytes to three 16bit registers is fine; it works on other IC registers. And shows it operating that way in the timing diagrams in the datasheet if I recall correctly. What should be done in LV for the 2's complement is check the MSB. If 0, read the data as normal. If a 1, separate the MSB, read remaining bits as normal, and then subtract whatever the MSB would normally represent from that value"