• [ ] Ensure the OBC meets requirements
    • [ ] Power consumption doesn’t exceed the limit

      • [ ] Measure typical power consumption
    • [ ] Power Selection Jumpers work correctly

      • [ ] Ability to use 5V USB
      • [ ] Ability to use 5V External
    • [ ] Buck Regulator

      • [ ] Steps down USB 5V to 3V3
      • [ ] Steps down external 5V to 3V3
      • [ ] Steps down USB 5V to 1V2
      • [ ] Steps down external 5V to 1V2
      • [ ] 5V Power LED turns on correctly
      • [ ] 3V3 Power LED turns on correctly
    • [ ] OBC Current Sensor works correctly

    • [ ] OBC eFuse works correctly

    • [ ] Test reverse polarity protection works

    • [ ] Test overrcurrent protection works

    • [ ] USB-UART successfully steps down USB 5V to 3V3

      • [ ] 5V USB LED turns on
    • [ ] JTAG Debug/Programmer

      • [ ] Can succesfully connect to debugger port with J-Link EDU (test with CCS and UniFlash)
      • [ ] (Test functionality by flashing program for LEDS)
    • [ ] Validate SD Card (FLASH FIRMWARE)

      • [ ] Write to SD card with SPI
      • [ ] Read from SD card with SPI
      • [ ] Try reading from SD card on a PC
    • [ ] Validate FRAM IC (FLASH FIRMWARE)

      • [ ] Write to FRAM with SPI
      • [ ] Read from FRAM with SPI
    • [ ] Ensure reset button causes RM46 system reset/warm reset

    • [ ] OBC Voltage Monitor Works correctly

    • [ ] Ensure ERROR LED works correctly

      • [ ] Force a hard fault on the RM46 microcontroller
    • [ ] Validate user LEDS (FLASH FIRMWARE)

      • [ ] Turn on LED 1
      • [ ] Turn on LED 2
    • [ ] Validate user buttons (FLASH FIRMWARE)

      • [ ] Listen for USER BUTTON 1 press and react (flash LED)
      • [ ] Listen for USER BUTTON 2 press and react (flash LED)
    • [ ] Validate temperature sensor (FLASH FIRMWARE)

      • [ ] Read temperature values with I2C
      • [ ] Try different temperature environments to detect differences
      • [ ] The RTC also has a temperature sensor (with the same precision as the actual temp sensor), so we can compare the values we get from both
    • [ ] Validate RTC (FLASH FIRMWARE)

      • [ ] Read RTC values with I2C
      • [ ] (INVESTIGATE RTC RST)
        • It’s basically an output that goes low when there’s a power failure. I’ve attached a table that discusses the different scenarios for power failure. Basically, if the RTC only has one supply (i.e. no battery supply) then the reset is pulled low when VCC is less than Vpf. Vpf is typically 2.575V.

          Untitled

    • [ ] Validate CAN transceiver (FLASH FIRMWARE)

      • [ ] Interface with EPS microcontroller
        • [ ] Ensure EPS data that is send to OBC is readable and can be stored
        • [ ] Ensure that the OBC is able to send data to EPS
      • [ ] Spoof interface with arduino if EPS is not ready
    • [ ] Validate ADC pins

    • [ ] Validate UART pins

    • [ ] Validate I2C

    • [ ] Validate SPI

    • [ ] Validate PWM

  • [ ] OBC Software Requirements
    • [ ] Telemetry Manager Implementation
      • [ ] Will collect values from Parameter Server periodically (to be defined). Values may be spoofed if specifics are not ready yet
      • [ ] Send command and data to Comms task to downlink
    • [ ] Command Manager Implementation
      • [ ] Will receive command (and data) from Comms task and decode
      • [ ] Parse command and send further commands to other tasks