Firmware testing ---------------- Situations/features to test: - factory firmware - USB debugging - is disabled by default after start - can be enabled/disabled at runtime - via I2C - if Pine + F + U is pressed (status is reflected over I2C in a control register) - scanning block works - switching it on/off works at runtime - no interrupts are fired when blocked - no keys appear pressed during a block - USB bootloader jump works - if Pine + F + B is pressed - via USB debugger mode - via I2C command - reset over I2C works - I2C debug log readout works - selftest works - shows result via I2C debug log - exposed GPIOs are accessible over I2C - direction configuration works - readout/setting works - interrupt - 10us pulse visible on logical probe capture - POGO interrupt is received on the SoC - charger - I2C A communication works - I2C A timeout mechanism works when the bus is blocked - user firmware - flashing works - reading works - deletion works - is not jumped to unless it's commited after flashing - can be executed - starts automatically unless Pine+F+H is held on powerup