Screen stopped working, nonsense AXP data



  • Hi,
    I've got two pieces of M5StickC a few days ago. After trying out some of the example codes, the display stopped working in one of them (similar to the "M5StickC screen don't work" topic). I uploaded a small test program into it, which writes to serial port, to see if the other parts were still operating. Incidentally this program dumps data from the AXP chip and the results were surprising:

    Output from the one without working display:

    GetBatState: 1
    GetCoulombchargeData: -1
    GetCoulombdischargeData: -1
    GetCoulombData: 0.0000

    GetBatVoltage: 4.7685
    GetBatCurrent: 0.0000
    GetVinVoltage: 7.3695
    GetVinCurrent: 2709.3750
    GetVBusVoltage: 7.3695
    GetVBusCurrent: 1625.6250

    GetTempInAXP192: 288.8C

    GetBatPower: 2362232.0000
    GetBatChargeCurrent: 2167.5000
    GetAPSVoltage: 6.0690
    GetBatCoulombInput: 23860.5645
    GetBatCoulombOut: 23860.5645

    GetWarningLevel: 1

    Output from the correctly working one:

    GetBatState: 1
    GetCoulombchargeData: -1
    GetCoulombdischargeData: -1
    GetCoulombData: 0.0000

    GetBatVoltage: 3.5805
    GetBatCurrent: -58.5000
    GetVinVoltage: 2.6520
    GetVinCurrent: 0.0000
    GetVBusVoltage: 0.0000
    GetVBusCurrent: 0.0000

    GetTempInAXP192: 20.0C

    GetBatPower: 266.9931
    GetBatChargeCurrent: 0.0000
    GetAPSVoltage: 3.5784
    GetBatCoulombInput: 23860.5645
    GetBatCoulombOut: 23860.5645

    GetWarningLevel: 0

    Both outputs were generated while the stick was running on its internal battery.
    The source is on github: https://github.com/mdevel1/M5StickC_Battery_Monitor

    After finding and removing two loose magnets inside the case (see "Loose magnets inside can short the battery and other components" topic), and power cycling the stick, the AXP chip somehow returned into a working state, the dumped values are back to normal (except which didn't make sense before), and the display is working too.



  • For the record: the coulomb counter data is fixed, but still undocumented in the newest version of the library (not released yet, only on Github).
    There was another issue with the newest version, with a fix that is not yet merged, and available only as a pull request.