PPK2 reports implausible values & modifiers - how to recalibrate?

Hello,

My PPK2 is reporting 2 zetta amperes power usage, and I found out that the "modifiers" appear really broken:

Calibrated: 0
R0: 3095044895830869060112875520.0000
R1: 0.0000
R2: 0.0000
R3: 0.0000
R4: 0.0000
GS0: 0.0000
GS1: 138.3582
GS2: 21.5994
GS3: 3.0130
GS4: 0.0876
GI0: 1.0000
GI1: 0.9614
GI2: 0.9534
GI3: 0.9415
GI4: 0.9521
O0: 0.0000
O1: -2814926129201152.0000
O2: 0.0000
O3: -2251799813685248.0000
O4: 0.0000
VDD: 3300
HW: 54350
mode: 2
S0: -0.000000009
S1: -0.000000064
S2: -0.000000512
S3: -0.000004891
S4: 0.002447326
I0: 0.000000044
I1: 0.000000364
I2: 0.000061116
I3: -0.000254856
I4: -0.007713722
UG0: 1.00
UG1: 1.00
UG2: 1.00
UG3: 1.00
UG4: 1.00
IA: 58
END

I have attempted to re-flash the ppk2 firmware, but that had no effect.

This affects both measurement modes, but in source mode the correct voltage is still output.

Intercepting the modifiers before they are parsed and replacing them with some from a different PPK2 again results in plausible measurements.

This may be related to accidentally writing a binary image intended for a different device onto the PPK2 serial port, assuming there are serial commands to configure those values which do not verify plausibility and do not have a checksum.

Is it possible to re-calibrate the device, or will it have to be replaced?

Parents
  • Hi  

    Can you share what exactly you were trying to do when this calibration data was messed up on your end? It shouldn't be very easy to write/erase data on the EEPROM of the PPK2, so we would like to recreate this since it starts to seem like a common occurrence... 

    As for your calibration data, for the newer devices, the format of calibration data has changed, so they're not as easy to parse anymore I'm afraid, but they should be usable:

    GI0..GI4: [1.0, 0.9752, 0.9671, 0.9599, 0.9632]
    GS0..GS4: [0.0, 90.4022, 15.3252, 2.0925, 0.0653]
    I0..I4: [-1.16e-07, -2.01e-06, 2.2785e-05, -0.000381794, -0.010909314]
    S0..S4: [5.7e-08, 6.36e-07, 7.033e-06, 6.5243e-05, 0.003364293]
    R0..R4: [1000.9413, 101.2992, 10.1933, 0.9589, 0.0563]
    IA: 58.0

    Best regards,

    Simon

  • Hey the tool I wrote above should take those just fine :-)

    uart:~$ cal_write i2 2.2784e-05
    updating i2 (88) to 0.000022784, 44 20 bf 37
    dry run: add a "y" argument to actually write

    For myself: I use a debugging probe that communicates with the gdbserver protocol over the UART, it's likely that I accidentally pointed GDB directly at the PPK by mistake and that messed it up. At least that's the only thing I can think about.

Reply
  • Hey the tool I wrote above should take those just fine :-)

    uart:~$ cal_write i2 2.2784e-05
    updating i2 (88) to 0.000022784, 44 20 bf 37
    dry run: add a "y" argument to actually write

    For myself: I use a debugging probe that communicates with the gdbserver protocol over the UART, it's likely that I accidentally pointed GDB directly at the PPK by mistake and that messed it up. At least that's the only thing I can think about.

Children
No Data
Related