Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

FPD1: GPIO expanders both work

  • flash smoke_pca9539r with I2C address 0x74

  • ensure all the LEDs on the board light up for that gpio expander

  • repeat for 0x76

  • if unsure, repeat for 0x76 and make sure between the two of them all the LEDs light up

FPD2: All BTS7200 Isense works

  • change SMOKE_TEST_MODE to SMOKE_TEST_MODE_CURRENT_MEASUREMENT in PD mainsmoketests_pd.ch

  • change USE_FRONT_PD to true in smoke_current_measurement.c

  • flash PD

  • see readings for each BTS7200/BTS7040 output on minicom, make sure all readings are initially ~0 mA

    • if UV cutoff isn’t connected there may be warnings/nonsensical output with [front] UV cutoff, ignore that if not testing with UV cutoff

  • for each BTS7200/BTS7040 output, connect an e-load on constant current and make sure the constant current you select shows up on minicom in the correct output

    • but have hardware make sure it’s not gonna blow anything up

FPD3: Reading SPST pot works

  • flash babydriver

  • repeatedly call adc_read('a', 0) to read from the SPST pot

  • ensure that readings vary from 0 mV to 1650 mV when varying the pot

FPD4: Fan control works

Same as RPD4 (the fans are all driver ventilation)

FPD5: Voltage regulator works

Same as RPD5

FPD6: UV detector works

Smoke test coming in SOFT-550

...

RPD1: GPIO expanders both work

  • flash smoke_pca9539r with I2C address 0x74

  • ensure all the LEDs on the board light up for that gpio expander

  • repeat for 0x76

  • if unsure, repeat for 0x76 and make sure between the two of them all the LEDs light up

RPD2: All BTS7200 Isense works

  • change SMOKE_TEST_MODE to SMOKE_TEST_MODE_CURRENT_MEASUREMENT in PD mainsmoketests_pd.ch

  • change USE_FRONT_PD to false in smoke_current_measurement.c

  • flash PD

  • see readings for each BTS7200/BTS7040 output on minicom, make sure all readings are initially ~0 mA

  • for each BTS7200/BTS7040 output, connect an e-load on constant current and make sure the constant current you select shows up on minicom in the correct output

    • but have hardware make sure it’s not gonna blow anything up

RPD3: Reading thermistor works

  • flash babydriver

  • repeatedly call adc_read('a', 0) to read from enclosure thermistor and adc_read('a', 1) to read from DCDC thermistor

  • either heat up/cool down the thermistors to make sure the reading varies, or replace them with pots and vary them

RPD4: Fan control works

  • flash smoke_adt7476a with I2C_WRITE_ADDR and I2C_READ_ADDR both 0x2E, I2C_PORT as I2C_PORT_1, SDA as PB8, SCL as PB9, SMBALERT_ADDR as PB10, and ADT_PWM_PORT as ADT_PWM_PORT_1 for now

  • ensure the fan on port 1 (DCDC) varies from 0% to 100% with the minicom messages

  • obstruct the fan on port 1 from moving (be safe) and ensure you get FAN OUT OF RANGE and FAN 1 HAS STALLED messages on minicom (if you don’t, probably smbalert pin or TACH1 pin broke)

  • repeat with ADT_PWM_PORT as ADT_PWM_PORT_2 through ADT_PWM_PORT_4 and verify that the same thing happens for the fans on ports 2-4 (enclosure ventilation)

RPD5: Voltage regulator works

  • power it up without any firmware (or just leds) and check the 5V rail with a multimeter, it should be 5V

    • if not, the R27 pull up on the enable pin isn’t populated, which shouldn’t be an issue since PD sets the enable pin high anyways

  • flash power_distribution, verify the 5V rail is 5V

  • forcibly disrupt 5V power (maybe by shorting the 5V rail to ground? get hardware to say how to do this safely) and verify that 5V voltage regulator error raised! appears on minicom

    • note this step requires SOFT-552 to be merged, or add the logging yourself in main.c

...