diff --git a/README.md b/README.md index 822d7db..8228c68 100644 --- a/README.md +++ b/README.md @@ -71,18 +71,21 @@ Main loop: * If USB interrupted with a read, pass the newly read message to HID layer HID layer: + * Read a HID packet passed to it * Implement HID commands and sequencing as described in the [U2F HID layer spec](https://fidoalliance.org/specs/fido-u2f-v1.0-nfc-bt-amendment-20150514/fido-u2f-hid-protocol.html) * If the HID message contains a U2F packet, buffer it or pass complete U2F packet to the U2F layer U2F layer: + * Read a U2F packet * Implement authenticate and register commands as described in [U2F raw message spec](https://fidoalliance.org/specs/fido-u2f-v1.0-nfc-bt-amendment-20150514/fido-u2f-raw-message-formats.html) * Handle any key generation, signatures, and atomic counting through I2C commands with ATECC508A I2C layer: + * Receives a command and empty buffer for ATECC508A response * Wake the ATECC508A from suspension * Send the formatted command with CRC16. @@ -96,16 +99,19 @@ The HID and U2F layers are written to not be device specific and can easily be ported elsewhere. EFM8UB1 USB driver: + * descriptors.c * descriptors.h * callback.c EFM8UB1 I2C driver: + * Interrupts.c * i2c.c * i2c.h ATECC508A I2C layer: + * atecc508a.c * atecc508a.h @@ -114,6 +120,7 @@ HID layer: * u2f_hid.h U2F layer: + * u2f.c * u2f.h * u2f-atecc.c // device specific implementation