# Bootloader testcase 1. `# Clean flash` 2. `make -C bootloader flash` `# Load bootloader` 3. `# reboot device` * Press right * Press left * Wait 0.1 s * Release left * Release right 4. Wait 0.5 s 5. `# Expect no FW` * Expect: no uart welcome message * Expect: red led on * Expect: no USB 6. `# reboot device and go to DFU` * Press left * Press right * Wait 0.1 s * Release left * Wait 0.5 s * Release right 7. Wait 0.5 s 8. `# Expect DFU` * Expect: blue led on * Expect: USB: DFU 9. `target_f2/deploy-dfu.sh` `# load FW` 10. `# reboot device` * Press right * Press left * Wait 0.1 s * Release left * Release right 11. Wait 0.5 s 12. `# Expect FW` * Expect: uart welcome message * Expect: USB Flipper CDC # Input testcase 1. `docker-compose exec dev make -C target_f2 example_input_dump` 2. Flash 3. For x in ``` [ (Up, "00"), (Down, "01"), (Right, "02"), (Left, "03"), (Ok, "04"), (Back, "05"), ] ``` * Press ${x[0]} * wait 0.05 * Expect: Uart: "event: ${x[1]} pressed" * wait 0.05 * Release ${x[0]} * wait 0.05 * Expect: Uart: "event: ${x[1]} released" * wait 0.05 TODO: add debouncing check (multiple press and check there is no multiple events) # General building testcase Local target: * `docker-compose exec dev make -C firmware TARGET=local APP_TEST=1 clean` * `docker-compose exec dev make -C firmware TARGET=local APP_TEST=1 run` * check tests pass/fail * `docker-compose exec dev make -C firmware TARGET=local APP_EXAMPLE_BLINK=1 run` * GPIO on and off * `docker-compose exec dev make -C firmware TARGET=local APP_EXAMPLE_UART_WRITE=1 run` * GPIO on/off and `counter: %` writes * `docker-compose exec dev make -C firmware TARGET=local APP_EXAMPLE_IPC=1 run` * ASCII display draw * `docker-compose exec dev make -C firmware TARGET=local APP_EXAMPLE_INPUT_DUMP=1 run` not implemented * `docker-compose exec dev make -C firmware TARGET=local APP_EXAMPLE_QRCODE=1 run` * Some writes to display * `docker-compose exec dev make -C firmware TARGET=local APP_EXAMPLE_DISPLAY=1 run` * Some writes to display F2 target: * `docker-compose exec dev make -C firmware TARGET=f2 APP_TEST=1 clean` * `docker-compose exec dev make -C firmware TARGET=f2 APP_TEST=1 flash` * check UART for test pass/fail * `docker-compose exec dev make -C firmware TARGET=f2 APP_EXAMPLE_BLINK=1 flash` * Red LED blink (1s period) * `docker-compose exec dev make -C firmware TARGET=f2 APP_EXAMPLE_UART_WRITE=1 flash` * Red LED shortly blinking, `counter: %` writes to UART * `docker-compose exec dev make -C firmware TARGET=f2 APP_EXAMPLE_IPC=1 flash` * ASCII display draw in UART * `docker-compose exec dev make -C firmware TARGET=f2 APP_EXAMPLE_INPUT_DUMP=1 flash` * Press all buttons, `state` and `event` writes to UART * `docker-compose exec dev make -C firmware TARGET=f2 APP_EXAMPLE_QRCODE=1 flash` * QR code show on the screen * `docker-compose exec dev make -C firmware TARGET=f2 APP_EXAMPLE_DISPLAY=1 flash` * `Hello world` show on the screen