33
33
#include "os_io_seph_cmd.h"
34
34
#include "seproxyhal_protocol.h"
35
35
36
-
37
36
/* Private enumerations ------------------------------------------------------*/
38
37
typedef enum {
39
38
USBD_LEDGER_STATE_INITIALIZED = 0xA0 ,
@@ -570,19 +569,31 @@ void USBD_LEDGER_start(void)
570
569
}
571
570
572
571
#ifdef HAVE_USB_HIDKBD
573
- if (usbd_ledger_init_data .class_mask & USBD_LEDGER_CLASS_HID_KBD && usbd_ledger_data .nb_of_class < USBD_MAX_NUM_INTERFACES ) {
572
+ if (usbd_ledger_init_data .class_mask & USBD_LEDGER_CLASS_HID_KBD
573
+ && usbd_ledger_data .nb_of_class < USBD_MAX_NUM_INTERFACES ) {
574
574
usbd_ledger_data .class [usbd_ledger_data .nb_of_class ++ ]
575
575
= (usbd_class_info_t * ) PIC (& USBD_LEDGER_HID_KBD_class_info );
576
576
}
577
577
#else // !HAVE_USB_HIDKBD
578
- if (usbd_ledger_init_data .class_mask & USBD_LEDGER_CLASS_HID && usbd_ledger_data .nb_of_class < USBD_MAX_NUM_INTERFACES ) {
578
+ if (usbd_ledger_init_data .class_mask & USBD_LEDGER_CLASS_HID
579
+ && usbd_ledger_data .nb_of_class < USBD_MAX_NUM_INTERFACES ) {
579
580
usbd_ledger_data .class [usbd_ledger_data .nb_of_class ++ ]
580
581
= (usbd_class_info_t * ) PIC (& USBD_LEDGER_HID_class_info );
581
582
}
582
583
#endif // !HAVE_USB_HIDKBD
583
584
585
+ #ifdef HAVE_WEBUSB
586
+ if (usbd_ledger_init_data .class_mask & USBD_LEDGER_CLASS_WEBUSB
587
+ && usbd_ledger_data .nb_of_class < USBD_MAX_NUM_INTERFACES ) {
588
+ usbd_ledger_data .bcdusb = 0x10 ;
589
+ usbd_ledger_data .class [usbd_ledger_data .nb_of_class ++ ] = (usbd_class_info_t * ) PIC (
590
+ (USBD_ClassTypeDef * ) (uintptr_t ) & USBD_LEDGER_WEBUSB_class_info );
591
+ }
592
+ #endif // HAVE_WEBUSB
593
+
584
594
#ifdef HAVE_IO_U2F
585
- if (usbd_ledger_init_data .class_mask & USBD_LEDGER_CLASS_HID_U2F && usbd_ledger_data .nb_of_class < USBD_MAX_NUM_INTERFACES ) {
595
+ if (usbd_ledger_init_data .class_mask & USBD_LEDGER_CLASS_HID_U2F
596
+ && usbd_ledger_data .nb_of_class < USBD_MAX_NUM_INTERFACES ) {
586
597
usbd_ledger_data .class [usbd_ledger_data .nb_of_class ++ ]
587
598
= (usbd_class_info_t * ) PIC (& USBD_LEDGER_HID_U2F_class_info );
588
599
uint8_t buffer [4 ];
@@ -606,25 +617,22 @@ void USBD_LEDGER_start(void)
606
617
USBD_LEDGER_CLASS_HID_U2F , USBD_LEDGER_HID_U2F_SETTING_ID_FREE_CID , buffer , 4 );
607
618
}
608
619
#endif // HAVE_IO_U2F
620
+
609
621
#ifdef HAVE_CCID_USB
610
- if (usbd_ledger_init_data .class_mask & USBD_LEDGER_CLASS_CCID_BULK && usbd_ledger_data .nb_of_class < USBD_MAX_NUM_INTERFACES ) {
611
- usbd_ledger_data .class [usbd_ledger_data .nb_of_class ++ ]
612
- = (usbd_class_info_t * ) PIC ((USBD_ClassTypeDef * )(uintptr_t )& USBD_LEDGER_CCID_Bulk_class_info );
622
+ if (usbd_ledger_init_data .class_mask & USBD_LEDGER_CLASS_CCID_BULK
623
+ && usbd_ledger_data .nb_of_class < USBD_MAX_NUM_INTERFACES ) {
624
+ usbd_ledger_data .class [usbd_ledger_data .nb_of_class ++ ] = (usbd_class_info_t * ) PIC (
625
+ (USBD_ClassTypeDef * ) (uintptr_t ) & USBD_LEDGER_CCID_Bulk_class_info );
613
626
}
614
627
#endif // HAVE_CCID_USB
615
- #ifdef HAVE_WEBUSB
616
- if (usbd_ledger_init_data .class_mask & USBD_LEDGER_CLASS_WEBUSB && usbd_ledger_data .nb_of_class < USBD_MAX_NUM_INTERFACES ) {
617
- usbd_ledger_data .bcdusb = 0x10 ;
618
- usbd_ledger_data .class [usbd_ledger_data .nb_of_class ++ ]
619
- = (usbd_class_info_t * ) PIC ((USBD_ClassTypeDef * )(uintptr_t )& USBD_LEDGER_WEBUSB_class_info );
620
- }
621
- #endif // HAVE_WEBUSB
628
+
622
629
#ifdef HAVE_CDCUSB
623
- if (usbd_ledger_init_data .class_mask & USBD_LEDGER_CLASS_CDC && usbd_ledger_data .nb_of_class + 1 < USBD_MAX_NUM_INTERFACES ) {
624
- usbd_ledger_data .class [usbd_ledger_data .nb_of_class ++ ]
625
- = (usbd_class_info_t * ) PIC ((USBD_ClassTypeDef * )(uintptr_t )& USBD_LEDGER_CDC_Control_class_info );
626
- usbd_ledger_data .class [usbd_ledger_data .nb_of_class ++ ]
627
- = (usbd_class_info_t * ) PIC ((USBD_ClassTypeDef * )(uintptr_t )& USBD_LEDGER_CDC_Data_class_info );
630
+ if (usbd_ledger_init_data .class_mask & USBD_LEDGER_CLASS_CDC
631
+ && usbd_ledger_data .nb_of_class + 1 < USBD_MAX_NUM_INTERFACES ) {
632
+ usbd_ledger_data .class [usbd_ledger_data .nb_of_class ++ ] = (usbd_class_info_t * ) PIC (
633
+ (USBD_ClassTypeDef * ) (uintptr_t ) & USBD_LEDGER_CDC_Control_class_info );
634
+ usbd_ledger_data .class [usbd_ledger_data .nb_of_class ++ ] = (usbd_class_info_t * ) PIC (
635
+ (USBD_ClassTypeDef * ) (uintptr_t ) & USBD_LEDGER_CDC_Data_class_info );
628
636
usbd_ledger_data .usbd_iad = 1 ;
629
637
}
630
638
#endif // HAVE_CDCUSB
@@ -638,8 +646,10 @@ void USBD_LEDGER_start(void)
638
646
usbd_ledger_data .bcdusb ,
639
647
usbd_ledger_data .usbd_iad ,
640
648
get_bos_desc );
641
- USBD_Init (& usbd_ledger_data .usbd_handle , (USBD_DescriptorsTypeDef * )(uintptr_t )& LEDGER_Desc , 0 );
642
- USBD_RegisterClass (& usbd_ledger_data .usbd_handle , (USBD_ClassTypeDef * )(uintptr_t )& USBD_LEDGER_CLASS );
649
+ USBD_Init (
650
+ & usbd_ledger_data .usbd_handle , (USBD_DescriptorsTypeDef * ) (uintptr_t ) & LEDGER_Desc , 0 );
651
+ USBD_RegisterClass (& usbd_ledger_data .usbd_handle ,
652
+ (USBD_ClassTypeDef * ) (uintptr_t ) & USBD_LEDGER_CLASS );
643
653
}
644
654
if (usbd_ledger_data .state == USBD_LEDGER_STATE_STOPPED ) {
645
655
USBD_Start (& usbd_ledger_data .usbd_handle );
0 commit comments