Software Zero - Findings and mitigation

May 18, 2022

Jabil

  • When the wasp_config file is manually updated, the updates are NOT pushed into the Bluetooth module (even after reboot)

  • Reading the BT module after manually updating the config file will result in previously cached data (cashed in BT module) being reported

    • The contents of the config file are not reported

  • VictoR is not applying the offsets that are cached in the BT module to the aimpoint (code review supports this)

    • Confirmation using nRF connect to follow

  • If the controller app updates the offsets, the BT module cache will be updated to reflect the offsets sent by controller

  • To address this and issue, both the application and the BT module firmware will need to be updated

    • Estimate 2 days for update and testing

Questions

  • When connecting the Victor, the Controller reads all training parameters from BT module.

The Controller also re-writes those training parameters to the device to include the shooter name.

Are the offsets updated as well ? I assume yes based on that same video.

  • It seems the aimpoint is not using those offsets because they were only on the BT module and not in the config file. But that also means that the Victor is not taking the offsets into account when updating over BLE. Correct ? Victor is updating the aimpoint in real time.

  • During the Software zero process, are we using the “Point of Aim” (byte offset 170) included in the Aimpoint Data Characteristic (Table 8 of ICD Rev H) ? If not, what are we using to calculate the offset ? Center of the image ? As of 5/18/2022 we are using the Point of Aim

Mitigation

  • As Jabil suggested, an update of both application and BT module is required to handle this properly.

  • In the meantime, we can already start by sending offset 0,0 to the device when starting a new software zero process.

Process To-Be (progressive SW Zero)

To be confirmed with both Unity and Jabil

No offset is applied. Both BT modules and config files have 0,0 offsets.

First software zero is performed resulting in X,Y offsets sent over BT by the Controller.

Second software zero is applied, the aimpoint used during this step must be using the X,Y offsets, referred as “Point of Aim”

The calculation of the new offset will result in the difference between the Point of Aim and the center of the bounding box. This new calculated offset is W, Z and is being sent over BLE.

The Victor will store or the Controller sends latest offset as X+W, Y+Z in both the BT module and the config file.