Self-test: CURRENT LIMIT TEST: PPSU CODE 0, ADC: 2068, ERROR

Hi all, I received my long awaited Pirate (Rev 10a) today, updated the firmware to the latest version ( ci-buspirate5-main-9ab5f5a.zip) successfully.

Following the ( Bus Pirate Self-test Guide) I get errors for the current limit test.

Is there any explanation for this and how do I fix it?

HiZ> ~
SELF TEST STARTING
DISABLE IRQ: OK
ADC SUBSYSTEM: VUSB  4.96V OK
FLASH STORAGE: OK
PSU ENABLE: OK
VREG==VOUT:  3354 = 3332 OK
BIO FLOAT TEST (SHOULD BE 0/<0.30V)
BIO0 FLOAT: 0/0.07V OK
BIO1 FLOAT: 0/0.07V OK
BIO2 FLOAT: 0/0.07V OK
BIO3 FLOAT: 0/0.07V OK
BIO4 FLOAT: 0/0.07V OK
BIO5 FLOAT: 0/0.07V OK
BIO6 FLOAT: 0/0.08V OK
BIO7 FLOAT: 0/0.07V OK
BIO HIGH TEST (SHOULD BE >3.00V)
BIO0 HIGH: 3.34V OK
BIO1 HIGH: 3.34V OK
BIO2 HIGH: 3.33V OK
BIO3 HIGH: 3.34V OK
HiZ> ~
SELF TEST STARTING
DISABLE IRQ: OK
ADC SUBSYSTEM: VUSB  4.95V OK
FLASH STORAGE: OK
PSU ENABLE: OK
VREG==VOUT:  3345 = 3340 OK
BIO FLOAT TEST (SHOULD BE 0/<0.30V)
BIO0 FLOAT: 0/0.07V OK
BIO1 FLOAT: 0/0.07V OK
BIO2 FLOAT: 0/0.07V OK
BIO3 FLOAT: 0/0.07V OK
BIO4 FLOAT: 0/0.07V OK
BIO5 FLOAT: 0/0.08V OK
BIO6 FLOAT: 0/0.08V OK
BIO7 FLOAT: 0/0.07V OK
BIO HIGH TEST (SHOULD BE >3.00V)
BIO0 HIGH: 3.35V OK
BIO1 HIGH: 3.34V OK
BIO2 HIGH: 3.34V OK
BIO3 HIGH: 3.33V OK
BIO4 HIGH: 3.35V OK
BIO5 HIGH: 3.34V OK
BIO6 HIGH: 3.34V OK
BIO7 HIGH: 3.35V OK
BIO LOW TEST (SHOULD BE <0.30V)
BIO0 LOW: 0.05V OK
BIO1 LOW: 0.05V OK
BIO2 LOW: 0.05V OK
BIO3 LOW: 0.05V OK
BIO4 LOW: 0.05V OK
BIO5 LOW: 0.05V OK
BIO6 LOW: 0.05V OK
BIO7 LOW: 0.05V OK
BIO PULL-UP HIGH TEST (SHOULD BE 1/>3.00V)
BIO0 PU-HIGH: 1/3.29V OK
BIO1 PU-HIGH: 1/3.28V OK
BIO2 PU-HIGH: 1/3.28V OK
BIO3 PU-HIGH: 1/3.27V OK
BIO4 PU-HIGH: 1/3.28V OK
BIO5 PU-HIGH: 1/3.28V OK
BIO6 PU-HIGH: 1/3.27V OK
BIO7 PU-HIGH: 1/3.27V OK
BIO PULL-UP LOW TEST (SHOULD BE <0.30V)
BIO0 PU-LOW: 0.16V OK
BIO1 PU-LOW: 0.16V OK
BIO2 PU-LOW: 0.16V OK
BIO3 PU-LOW: 0.16V OK
BIO4 PU-LOW: 0.16V OK
BIO5 PU-LOW: 0.17V OK
BIO6 PU-LOW: 0.16V OK
BIO7 PU-LOW: 0.16V OK
CURRENT OVERRIDE: OK
CURRENT LIMIT TEST: PPSU CODE 0, ADC: 2068, ERROR!
PPSU CODE 0, ADC: 43, ERROR!
PPSU CODE 0, ADC: 44, ERROR!
PPSU CODE 0, ADC: 41, ERROR!
PPSU CODE 0, ADC: 43, ERROR!
PUSH BUTTON TO COMPLETE: OK

ERRORS: 1
FAIL! :(

1 Like

Well, the firmware from (here) seems to work.

HiZ> ~
SELF TEST STARTING
DISABLE IRQ: OK
ADC SUBSYSTEM: VUSB  4.95V OK
FLASH STORAGE: OK
PSU ENABLE: OK
BIO FLOAT TEST (SHOULD BE 0/<0.30V)
BIO0 FLOAT: 0/0.07V OK
BIO1 FLOAT: 0/0.07V OK
BIO2 FLOAT: 0/0.07V OK
BIO3 FLOAT: 0/0.08V OK
BIO4 FLOAT: 0/0.07V OK
BIO5 FLOAT: 0/0.08V OK
BIO6 FLOAT: 0/0.07V OK
BIO7 FLOAT: 0/0.08V OK
BIO HIGH TEST (SHOULD BE >3.00V)
BIO0 HIGH: 3.35V OK
BIO1 HIGH: 3.35V OK
BIO2 HIGH: 3.35V OK
BIO3 HIGH: 3.34V OK
BIO4 HIGH: 3.34V OK
BIO5 HIGH: 3.34V OK
BIO6 HIGH: 3.33V OK
BIO7 HIGH: 3.35V OK
BIO LOW TEST (SHOULD BE <0.30V)
BIO0 LOW: 0.05V OK
BIO1 LOW: 0.05V OK
BIO2 LOW: 0.05V OK
BIO3 LOW: 0.05V OK
BIO4 LOW: 0.05V OK
BIO5 LOW: 0.06V OK
BIO6 LOW: 0.05V OK
BIO7 LOW: 0.06V OK
BIO PULL-UP HIGH TEST (SHOULD BE 1/>3.00V)
BIO0 PU-HIGH: 1/3.33V OK
BIO1 PU-HIGH: 1/3.31V OK
BIO2 PU-HIGH: 1/3.33V OK
BIO3 PU-HIGH: 1/3.29V OK
BIO4 PU-HIGH: 1/3.29V OK
BIO5 PU-HIGH: 1/3.34V OK
BIO6 PU-HIGH: 1/3.27V OK
BIO7 PU-HIGH: 1/3.27V OK
BIO PULL-UP LOW TEST (SHOULD BE <0.30V)
BIO0 PU-LOW: 0.16V OK
BIO1 PU-LOW: 0.16V OK
BIO2 PU-LOW: 0.16V OK
BIO3 PU-LOW: 0.16V OK
BIO4 PU-LOW: 0.16V OK
BIO5 PU-LOW: 0.16V OK
BIO6 PU-LOW: 0.16V OK
BIO7 PU-LOW: 0.15V OK
CURRENT OVERRIDE: OK
CURRENT LIMIT TEST: OK
PUSH BUTTON TO COMPLETE: OK


PASS :)

1 Like

I had the same results with the latest build, failed the current limit test with the same values, and the push button didn’t work. Re-flashing to the linked fw worked however. It may be useful to have a bypass or test exit/interrupt command, since there was no way to continue without unplugging it.

I did some testing, and it looks like the current limit test starts throwing errors in build 2e4c2c3. Version 0f7b0e0 shows all tests passing.

Thanks for the confirmation :slight_smile:

I’m sorry about that, I completely reworked all the hardware stuff into clean libraries so other people could understand/contribute to the code. There was a nasty concurrency issue after I reworked the power supply and I inverted a bit so a successful test is actually registered as failing. I just managed to fix it yesterday or the day before. Please let me know if you’re still having issues with the latest build, I think it is all sorted.

Hi @ian , no worries. At least the latest ci-buspirate5-main-c817c85.zip still failing for me. Same error as above.

Thank you for the additional info. I believe it is fixed in the latest push just a minute ago.

PPSU CODE 0, ADC: 2068, ERROR!
PPSU CODE 0, ADC: 43, ERROR!
PPSU CODE 0, ADC: 44, ERROR!
PPSU CODE 0, ADC: 41, ERROR!
PPSU CODE 0, ADC: 43, ERROR!

This was also a problem for me when i ran the self-test. If the power supply doesn’t throw an over-current error, the self test measures the current_over signal five times for debugging. Here, the first one @2068 there’s no error, but after that is goes low and the fuse is tripped.

I believe what is happening is that we have a 10K/0.1uF filter to get a solid analog voltage from the RP2040 PWM (this was done with a proper SPI DAC in REV0-REV7, but then the chip became unobtainable). That filter takes quite a long time to charge and discharge. When we set the current current limit low it is taking some time to discharge and we’re missing the trip point. I added a bit of delay and it seems ok now.

1 Like

Yes, self test runs fine for me now, also. Great :smiley:

1 Like