ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Hi,

I can say it also works for the PNI Prime model.

For the source I downloaded (a few days ago), you might detect some problems with the (let's say) "k" and no "k" var names if you ask the device for more "components", e.g. accelerometer and magnetometer readings. It's straightforward to correct though, and maybe it's already fix in the repo (but didn't check, don't know). Let me know if you want to know the details.

Thanks for this great contribution, mkoval! Enrique

Hi,

I can say it also works for the PNI Prime model.

For the source I downloaded (a few days ago), you might detect some problems with the (let's say) "k" and no "k" var names if you ask the device for more "components", e.g. accelerometer and magnetometer readings. It's straightforward to correct though, and maybe it's already fix in the repo (but didn't check, don't know). Let me know if you want to know the details.

UPDATE:

    Datum     = namedtuple('Datum', [
        'Heading', 'Temperature', 'Distortion', 'CalStatus',
        'PAligned', 'RAligned', 'IZAligned',
        'PAngle', 'RAngle', 'XAligned', 'YAligned', 'ZAligned'
    ])

instead of

    Datum     = namedtuple('Datum', [
        'Heading', 'Temperature', 'Distortion', 'CalStatus',
        'PAligned', 'RAligned', 'IZAligned',
        'PAngle', 'RAngle', 'KXAligned', 'KYAligned', 'KZAligned'
    ])

Only the 'K' has to be remove, for the last three items.

Thanks for this great contribution, mkoval! Enrique

click to hide/show revision 3
stop, re-start driver

Hi,

I can say it also works for the PNI Prime model.

For the source I downloaded (a few days ago), you might detect some problems with the (let's say) "k" and no "k" var names if you ask the device for more "components", e.g. accelerometer and magnetometer readings. It's straightforward to correct though, and maybe it's already fix in the repo (but didn't check, don't know). Let me know if you want to know the details.

UPDATE:UPDATE #1:

    Datum     = namedtuple('Datum', [
        'Heading', 'Temperature', 'Distortion', 'CalStatus',
        'PAligned', 'RAligned', 'IZAligned',
        'PAngle', 'RAngle', 'XAligned', 'YAligned', 'ZAligned'
    ])

instead of

    Datum     = namedtuple('Datum', [
        'Heading', 'Temperature', 'Distortion', 'CalStatus',
        'PAligned', 'RAligned', 'IZAligned',
        'PAngle', 'RAngle', 'KXAligned', 'KYAligned', 'KZAligned'
    ])

Only the 'K' has to be remove, for the last three items.

UPDATE #2:

I've detected some problem using your driver with my PNI Prime. When I stop the driver the sensor is left in a state such that when I re-start the driver again it fails. Then, I re-start again and it works. See below the call stack output (summarized):

    compass.setConfig(Configuration.kMountingRef, Orientation.kOrientationSTD0)
  File "pni_dev.py", line 311, in setConfig
    self._recvSpecificMessage(FrameID.kSetConfigDone)
  File "pni_dev.py", line 260, in _recvSpecificMessage
    raise IOError('Response has unexpected frame id: {0}.'.format(frame_id))
IOError: Response has unexpected frame id: 5.

Have you found this problem too? I've also tried to put a powerDown at the end. It only happens that the error changes. And, at the very beginning, I've also put powerUp and stopStreaming, to ensure config mode ---I guess. But still the same.

Thanks for this great contribution, mkoval! Enrique

EnriquepowerDown