Major refactor of USB CCID and USB HID interfaces. All interfaces are rewritten.

With this new scheme we ensure that:
- memcpy's are reduced.
- no race conditions are performed.
- critical areas are protected.
- callbacks are executed immediately.
- write's are executed after the positive report is received.
- no usb middle interface anymore.
- CCID and HID are totally independent.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
Pol Henarejos
2024-08-23 10:02:19 +02:00
parent 0745838e3f
commit fa6292118d
10 changed files with 420 additions and 576 deletions

View File

@@ -75,9 +75,6 @@ static inline void put_uint16_t(uint16_t n, uint8_t *b) {
extern void low_flash_available();
extern int flash_clear_file(file_t *file);
extern void timeout_stop();
extern void timeout_start();
extern int (*button_pressed_cb)(uint8_t);
enum {