Data Abort Exception: PROS System Daemon

I’ve started testing my code for the first time, and upon running it I get a data abort exception. My first instinct was to connect the integrated terminal, make note of the output, and trace back to the error in the code. However, the terminal yields no output. Any help?

We isolated the problem by unplugging everything one by one, and the culprit is the rotation sensor. Any idea how or why this is happening, and how should I go about using a rotation sensor?

Can you give the firmware version of the brain and the PROS kernel version of your project (run pros c info-project in the PROS integrated terminal)

3 Likes

And solved. The rotation sensor declaration used the reverse flag in the constructor, but upon removing it and setting it as reversed in initialization with “rotation.set_reversed(true)” everything works just fine.

1 Like

Looks like your v5 brain has been possessed by Demons :imp:

Somebody knowledgeable should perform an Exorcism.

The difference between invoking Rotation(port) which just sets _port value and Rotation(port, reverse_flag) is that the last one ends up calling rotation_set_reversed(uint8_t port, bool value) which in turn calls vexDeviceAbsEncReverseFlagSet() that is provided by VEX proprietary firmware, iirc.

Do you experience abort right after constructing an instance of the Rotation object or when you are actually trying to use returned sensor value?

4 Likes

It was upon construction. We removed every reference to the sensor and just left the construction, and it was an immediate abort. Brain firmware version 1.1.2, kernel version 3.6.2.

I highly suggest you to update your kernel version to at least 3.7.3 (the newer the better), as this problem was patched in release 3.7.3.

2 Likes