mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-02-25 15:41:00 +00:00
btstack_hid_parser: move tracking of active record up
This commit is contained in:
parent
491c2cbcf9
commit
eb78fada06
@ -203,9 +203,6 @@ static void btstack_hid_handle_global_item(btstack_hid_parser_t * parser, hid_de
|
|||||||
parser->global_report_size = item->item_value;
|
parser->global_report_size = item->item_value;
|
||||||
break;
|
break;
|
||||||
case ReportID:
|
case ReportID:
|
||||||
if (parser->active_record && (parser->global_report_id != item->item_value)){
|
|
||||||
parser->active_record = 0;
|
|
||||||
}
|
|
||||||
parser->global_report_id = item->item_value;
|
parser->global_report_id = item->item_value;
|
||||||
break;
|
break;
|
||||||
case ReportCount:
|
case ReportCount:
|
||||||
@ -274,6 +271,7 @@ static void hid_find_next_usage(btstack_hid_parser_t * parser){
|
|||||||
static void hid_process_item(btstack_hid_parser_t * parser, hid_descriptor_item_t * item){
|
static void hid_process_item(btstack_hid_parser_t * parser, hid_descriptor_item_t * item){
|
||||||
hid_pretty_print_item(parser, item);
|
hid_pretty_print_item(parser, item);
|
||||||
int valid_field = 0;
|
int valid_field = 0;
|
||||||
|
uint16_t report_id_before;
|
||||||
switch ((TagType)item->item_type){
|
switch ((TagType)item->item_type){
|
||||||
case Main:
|
case Main:
|
||||||
switch ((MainItemTag)item->item_tag){
|
switch ((MainItemTag)item->item_tag){
|
||||||
@ -291,7 +289,14 @@ static void hid_process_item(btstack_hid_parser_t * parser, hid_descriptor_item_
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Global:
|
case Global:
|
||||||
|
report_id_before = parser->global_report_id;
|
||||||
btstack_hid_handle_global_item(parser, item);
|
btstack_hid_handle_global_item(parser, item);
|
||||||
|
// track record id for report handling
|
||||||
|
if ((GlobalItemTag)item->item_tag == ReportID){
|
||||||
|
if (parser->active_record && (report_id_before != item->item_value)){
|
||||||
|
parser->active_record = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case Local:
|
case Local:
|
||||||
case Reserved:
|
case Reserved:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user