Changeset 22ded10 in mainline for uspace/lib/usb/src/hiddescriptor.c


Ignore:
Timestamp:
2011-05-06T10:26:33Z (14 years ago)
Author:
Matej Klonfar <maklf@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
04c1524, 674cf89
Parents:
3b5d5b9d (diff), 310c4df (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Usage path fix in HID parser

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usb/src/hiddescriptor.c

    r3b5d5b9d r22ded10  
    4141#include <assert.h>
    4242
     43
     44#define OUTSIDE_DELIMITER_SET   0
     45#define START_DELIMITER_SET     1
     46#define INSIDE_DELIMITER_SET    2
     47       
    4348/** The new report item flag. Used to determine when the item is completly
    4449 * configured and should be added to the report structure
     
    267272                return ENOMEM;
    268273        }
     274        usb_hid_report_path_append_item(usage_path, 0, 0);     
    269275       
    270276        while(i<size){ 
     
    442448                       
    443449                case USB_HID_REPORT_TAG_COLLECTION:
    444                         // TODO usage_path->flags = *data;
    445                         usb_hid_report_path_append_item(usage_path, report_item->usage_page, report_item->usages[report_item->usages_count-1]);                                         
     450                        //TODO: usage_path->flags = *data;
     451                       
     452                        usb_log_debug("APPENDED ITEM TO USAGE PATH (PAGE %d, USAGE %d\n", report_item->usage_page, report_item->usages[report_item->usages_count-1]);
     453                        usb_hid_print_usage_path(usage_path);
     454
     455                        // set last item
     456                        usb_hid_report_set_last_item(usage_path, USB_HID_TAG_CLASS_GLOBAL, report_item->usage_page);
     457                        usb_hid_report_set_last_item(usage_path, USB_HID_TAG_CLASS_LOCAL, report_item->usages[report_item->usages_count-1]);
     458                        // append the new one which will be set by common
     459                        // usage/usage page
     460                        usb_hid_report_path_append_item(usage_path, report_item->usage_page, report_item->usages[report_item->usages_count-1]);
     461                        usb_hid_print_usage_path(usage_path);
     462
    446463                        usb_hid_report_reset_local_items (report_item);
    447464                        return USB_HID_NO_ACTION;
     
    579596                        break;                 
    580597                case USB_HID_REPORT_TAG_DELIMITER:
    581                         //report_item->delimiter = usb_hid_report_tag_data_uint32(data,item_size);
    582                         //TODO:
    583                         //      DELIMITER STUFF
     598                        if (report_item->in_delimiter == OUTSIDE_DELIMITER_SET) {
     599                                report_item->in_delimiter = START_DELIMITER_SET;
     600                        }
     601                        else {
     602                                report_item->in_delimiter = OUTSIDE_DELIMITER_SET;
     603                        }
     604                       
    584605                        break;
    585606               
Note: See TracChangeset for help on using the changeset viewer.