Azure RTOS 6.3.0
Azure RTOS USBX 6.3.0 release contains the following features and changes:
Improved host UVC format and frame data checking, files modified:
ux_host_class_video.h
ux_host_class_video_format_data_get.c
ux_host_class_video_frame_data_get.c
ux_host_class_video_frame_parameters_set.c
Fixed use after free issues, files modified:
ux_host_class_hub_entry.c
ux_hcd_ehci_isochronous_endpoint_create.c
Improved device enumeration transfer flow in standalone mode, file modified:
ux_host_stack_tasks_run.c
Turned off in standalone build, file modified:
ux_host_class_asix_activate.c
Improved host hub deactivating flow, file modified:
ux_host_class_hub_deactivate.c
Added error traps, file modified:
ux_utility_memory_free.c
Improved host HID clients deactivation sequence, files modified:
ux_host_class_hid_keyboard_deactivate.c
ux_host_class_hid_mouse_deactivate.c
ux_host_class_hid_remote_control_deactivate.c
Improved standalone host CDC ACM control/data group management, files modified:
ux_host_class_cdc_acm_activate.c
ux_host_class_cdc_acm_deactivate.c
ux_host_class_cdc_acm_entry.c
Removed unused semaphore in host PIMA, file modified:
ux_host_class_pima_deactivate.c
Improved PIMA host/device optional interrupt endpoint management, files modified:
ux_device_class_pima_activate.c
ux_device_class_pima_deactivate.c
ux_device_class_pima_event_set.c
ux_device_class_pima_interrupt_thread.c
ux_host_class_pima_deactivate.c
Removed interface link in device linked classes, modified files:
ux_host_class_asix_configure.c
ux_host_class_gser_activate.c
ux_host_class_gser_configure.c
ux_host_class_prolific_configure.c
ux_host_class_swar_configure.c
Moved host storage class/subclass/protocol checking and endpoints getting into _activate, files modified:
ux_host_class_storage_activate.c
ux_host_class_storage_device_initialize.c
Improved host class endpoints get/checking, files modified:
ux_host_class_cdc_acm_endpoints_get.c
ux_host_class_cdc_ecm_endpoints_get.c
ux_host_class_storage_endpoints_get.c
Improved host audio descriptors check, AC AS management and error handling, files modified:
ux_host_class_audio.h
ux_host_class_audio_activate.c
ux_host_class_audio_deactivate.c
ux_host_class_audio_device_type_get.c
Checked XML tag nesting depth in Pictbridge object parsing, file modified:
ux_pictbridge_object_parse.c
Limited output array size for pictbridge element to hexa convert, file modified:
ux_pictbridge_array_element_to_array_hexa.c
Rejected CDC-DATA interface not next to its control interface:
ux_host_class_cdc_ecm_activate.c
Fixed host HID field managing issue, file modified:
ux_host_class_hid_report_add.c
Improved host HID usage handling, files modified:
ux_host_class_hid_field_decompress.c
ux_host_class_hid_report_add.c
Fixed some EHCI split transfer issues, files modified:
ux_hcd_ehci_interrupt_endpoint_create.c
ux_hcd_ehci_isochronous_endpoint_create.c
Checked received ethernet packet length before processing it, file modified:
ux_network_driver.c
Refined memory management to reduce overhead, files modified:
ux_api.h
ux_user_sample.h
ux_utility.h
ux_system_initialize.c
ux_utility_memory_allocate.c
ux_utility_memory_byte_pool_create.c
ux_utility_memory_byte_pool_search.c
ux_utility_memory_free_block_best_get.c
ux_utility_memory_free.c
ux_hcd_sim_host_initialize.c
ux_hcd_sim_host_uninitialize.c
Added zero copy option to device RNDIS, files modified:
ux_user_sample.h
ux_device_class_rndis.h
ux_device_class_rndis_activate.c
ux_device_class_rndis_bulkin_thread.c
ux_device_class_rndis_bulkout_thread.c
Added zero copy option to device CDC_ECM, files modified:
ux_user_sample.h
ux_device_class_cdc_ecm.h
ux_device_class_cdc_ecm_activate.c
ux_device_class_cdc_ecm_bulkin_thread.c
ux_device_class_cdc_ecm_bulkout_thread.c
ux_device_class_cdc_ecm_change.c
Enabled zero copy when device class video (UVC) owns endpoint buffer, files modified:
ux_device_class_video.h
ux_device_class_video_change.c
ux_device_class_video_initialize.c
ux_device_class_video_read_task_function.c
ux_device_class_video_read_thread_entry.c
ux_device_class_video_uninitialize.c
ux_device_class_video_write_task_function.c
ux_device_class_video_write_thread_entry.c
Enabled zero copy when device class audio (UAC) owns endpoint buffer, files modified:
ux_device_class_audio.h
ux_device_class_audio_activate.c
ux_device_class_audio_change.c
ux_device_class_audio_initialize.c
ux_device_class_audio_interrupt_task_function.c
ux_device_class_audio_read_task_function.c
ux_device_class_audio_read_thread_entry.c
ux_device_class_audio_unitialize.c
ux_device_class_audio_write_task_function.c
ux_device_class_audio_write_thread_entry.c
Added device class HID zero copy and flexible queue support, files modified:
ux_user_sample.h
ux_device_class_hid.h
ux_device_class_hid_activate.c
ux_device_class_hid_event_get.c
ux_device_class_hid_event_set.c
ux_device_class_hid_initialize.c
ux_device_class_hid_interrupt_thread.c
ux_device_class_hid_read.c
ux_device_class_hid_read_run.c
ux_device_class_hid_receiver_event_free.c
ux_device_class_hid_receiver_event_get.c
ux_device_class_hid_receiver_initialize.c
ux_device_class_hid_receiver_tasks_run.c
ux_device_class_hid_receiver_thread.c
ux_device_class_hid_receiver_uninitialize.c
ux_device_class_hid_tasks_run.c
ux_device_class_hid_uninitialize.c
Added device class CDC ACM zero copy support, files modified:
ux_user_sample.h
ux_device_class_cdc_acm.h
ux_device_class_cdc_acm_bulkin_thread.c
ux_device_class_cdc_acm_initialize.c
ux_device_class_cdc_acm_read.c
ux_device_class_cdc_acm_read_run.c
ux_device_class_cdc_acm_tasks_run.c
ux_device_class_cdc_acm_unitialize.c
ux_device_class_cdc_acm_write.c
ux_device_class_cdc_acm_write_run.c
ux_device_class_cdc_acm_bulkout_thread.c
Improved interface request process with print class GET_DEVICE_ID support, file modified:
ux_device_stack_control_request_process.c
Added new device mode to manage endpoint buffers in classes, files modified:
ux_api.h
ux_user_sample.h
ux_device_class_dpump.h
ux_device_class_dpump_activate.c
ux_device_class_dpump_change.c
ux_device_class_dpump_initialize.c
ux_device_class_dpump_read.c
ux_device_class_dpump_read_run.c
ux_device_class_dpump_write.c
ux_device_class_dpump_write_run.c
ux_device_stack_initialize.c
ux_device_stack_uninitialize.c
ux_device_class_audio.h
ux_device_class_audio_activate.c
ux_device_class_audio_change.c
ux_device_class_audio_initialize.c
ux_device_class_audio_unitialize.c
ux_device_class_ccid.h
ux_device_class_ccid_activate.c
ux_device_class_ccid_initialize.c
ux_device_class_ccid_uninitialize.c
ux_device_class_cdc_acm.h
ux_device_class_cdc_acm_bulkin_thread.c
ux_device_class_cdc_acm_bulkout_thread.c
ux_device_class_cdc_acm_initialize.c
ux_device_class_cdc_acm_read.c
ux_device_class_cdc_acm_read_run.c
ux_device_class_cdc_acm_tasks_run.c
ux_device_class_cdc_acm_unitialize.c
ux_device_class_cdc_acm_write.c
ux_device_class_cdc_acm_write_run.c
ux_device_class_cdc_ecm.h
ux_device_class_cdc_ecm_activate.c
ux_device_class_cdc_ecm_bulkin_thread.c
ux_device_class_cdc_ecm_bulkout_thread.c
ux_device_class_cdc_ecm_change.c
ux_device_class_cdc_ecm_initialize.c
ux_device_class_cdc_ecm_uninitialize.c
ux_device_class_hid.h
ux_device_class_hid_activate.c
ux_device_class_hid_initialize.c
ux_device_class_hid_uninitialize.c
ux_device_class_pima.h
ux_device_class_pima_activate.c
ux_device_class_pima_initialize.c
ux_device_class_pima_object_info_get.c
ux_device_class_pima_object_prop_desc_get.c
ux_device_class_pima_object_prop_value_get.c
ux_device_class_pima_object_references_get.c
ux_device_class_printer.h
ux_device_class_printer_activate.c
ux_device_class_printer_initialize.c
ux_device_class_printer_uninitialize.c
ux_device_class_printer_write.c
ux_device_class_printer_write_run.c
ux_device_class_rndis.h
ux_device_class_rndis_activate.c
ux_device_class_rndis_bulkin_thread.c
ux_device_class_rndis_bulkout_thread.c
ux_device_class_rndis_initialize.c
ux_device_class_storage.h
ux_device_class_storage_activate.c
ux_device_class_storage_initialize.c
ux_device_class_storage_thread.c
ux_device_class_storage_uninitialize.c
ux_device_class_video.h
ux_device_class_video_change.c
ux_device_class_video_initialize.c
ux_device_class_video_uninitialize.c
Fixed compile issues, files modified:
ux_host_class_asix_activate.c
ux_host_class_asix_transmission_callback.c
ux_host_class_asix_write.c
ux_host_class_pima_device_info_get.c
Optimized extracted USB descriptors, files modified:
ux_api.h
ux_utility.h
ux_system_initialize.c
ux_utility_descriptor_pack.c
ux_utility_descriptor_parse.c
ux_utility_memory_allocate.c
ux_device_class_audio10.h
ux_device_class_audio20.h
ux_host_class_audio.h
ux_host_class_cdc_ecm.h
ux_host_class_hid.h
ux_host_class_hub.h
ux_host_class_video.h
ux_host_class_hub_descriptor_get.c
ux_host_class_hub_entry.c
ux_host_class_printer_device_id_get.c
ux_host_class_printer_name_get.c
ux_hcd_ehci_asynchronous_endpoint_create.c
ux_hcd_ehci_isochronous_endpoint_create.c
ux_hcd_ehci_request_control_transfer.c
ux_device_class_pima.h
ux_host_class_pima.h
Improved 64-bit support, files modified:
ux_host_class_asix_write.c
ux_host_class_asix_transmission_callback.c
Improve typedef and added basic types guards macros, file modified:
ux_port.h
Fixed allocated buffer pointer checking issue, files modified:
ux_host_class_pima_object_info_get.c
ux_host_class_pima_object_info_send.c
Improved error checking implement, files modified:
ux_api.h
ux_system.h
ux_system_initialize.c
ux_device_stack.h
ux_device_stack_class_register.c
ux_device_stack_class_unregister.c
ux_device_stack_descriptor_send.c
ux_device_stack_initialize.c
ux_host_stack.h
ux_host_stack_class_get.c
ux_host_stack_class_instance_get.c
ux_host_stack_class_register.c
ux_host_stack_configuration_interface_get.c
ux_host_stack_device_configuration_activate.c
ux_host_stack_device_configuration_deactivate.c
ux_host_stack_device_configuration_get.c
ux_host_stack_device_get.c
ux_host_stack_device_string_get.c
ux_host_stack_endpoint_transfer_abort.c
ux_host_stack_hcd_register.c
ux_host_stack_hcd_unregister.c
ux_host_stack_interface_endpoint_get.c
ux_host_stack_interface_setting_select.c
ux_host_stack_transfer_request.c
ux_host_stack_transfer_request_abort.c
ux_host_stack_transfer_run.c
ux_device_class_hid.h
ux_device_class_hid_entry.c
ux_device_class_hid_event_get.c
ux_device_class_hid_event_set.c
ux_device_class_hid_initialize.c
ux_device_class_hid_read.c
ux_device_class_hid_read_run.c
ux_device_class_hid_receiver_event_free.c
ux_device_class_hid_receiver_event_get.c
ux_device_class_hid_report_get.c
ux_device_class_hid_report_set.c
ux_device_class_rndis.h
ux_device_class_rndis_initialize.c
ux_device_class_rndis_control_request.c
ux_host_class_audio.h
ux_host_class_audio_control_get.c
ux_host_class_audio_control_request.c
ux_host_class_audio_control_value_get.c
ux_host_class_audio_control_value_set.c
ux_host_class_audio_descriptors_parse.c
ux_host_class_audio_entity_control_get.c
ux_host_class_audio_entity_control_value_get.c
ux_host_class_audio_entity_control_value_set.c
ux_host_class_audio_feedback_get.c
ux_host_class_audio_feedback_set.c
ux_host_class_audio_interrupt_start.c
ux_host_class_audio_raw_sampling_parse.c
ux_host_class_audio_read.c
ux_host_class_audio_stop.c
ux_host_class_audio_streaming_sampling_get.c
ux_host_class_audio_streaming_sampling_set.c
ux_host_class_audio_write.c
ux_device_class_cdc_acm.h
ux_device_class_cdc_acm_ioctl.c
ux_device_class_cdc_acm_read.c
ux_device_class_cdc_acm_write.c
ux_device_class_cdc_acm_write_with_callback.c
ux_device_class_cdc_acm_read_run.c
ux_device_class_cdc_acm_write_run.c
ux_device_class_ccid.h
ux_device_class_ccid_auto_seq_done.c
ux_device_class_ccid_entry.c
ux_device_class_ccid_hardware_error.c
ux_device_class_ccid_icc_insert.c
ux_device_class_ccid_icc_remove.c
ux_device_class_ccid_initialize.c
ux_device_class_ccid_time_extension.c
ux_device_class_dfu.h
ux_device_class_dfu_entry.c
ux_device_class_dfu_initialize.c
ux_device_class_pima.h
ux_device_class_pima_device_info_send.c
ux_device_class_pima_device_prop_value_get.c
ux_device_class_pima_entry.c
ux_device_class_pima_initialize.c
ux_device_class_pima_storage_id_send.c
ux_device_class_storage.h
ux_device_class_storage_csw_send.c
ux_device_class_storage_entry.c
ux_device_class_storage_get_configuration.c
ux_device_class_storage_get_performance.c
ux_device_class_storage_initialize.c
ux_device_class_storage_inquiry.c
ux_device_class_storage_mode_sense.c
ux_device_class_storage_read_capacity.c
ux_device_class_storage_read_disk_information.c
ux_device_class_storage_read_format_capacity.c
ux_device_class_storage_read_toc.c
ux_device_class_storage_report_key.c
ux_device_class_storage_request_sense.c
ux_host_class_cdc_acm.h
ux_host_class_cdc_acm_command.c
ux_host_class_cdc_acm_ioctl.c
ux_host_class_cdc_acm_read.c
ux_host_class_cdc_acm_reception_start.c
ux_host_class_cdc_acm_reception_stop.c
ux_host_class_cdc_acm_write.c
ux_host_class_cdc_acm_write_with_callback.c
ux_host_class_gser.h
ux_host_class_gser_command.c
ux_host_class_gser_ioctl.c
ux_host_class_gser_read.c
ux_host_class_gser_reception_start.c
ux_host_class_gser_reception_stop.c
ux_host_class_gser_write.c
ux_host_class_prolific.h
ux_host_class_prolific_command.c
ux_host_class_prolific_ioctl.c
ux_host_class_prolific_read.c
ux_host_class_prolific_reception_start.c
ux_host_class_prolific_reception_stop.c
ux_host_class_prolific_write.c
ux_host_class_swar.h
ux_host_class_swar_ioctl.c
ux_host_class_swar_read.c
ux_host_class_swar_reception_start.c
ux_host_class_swar_reception_stop.c
ux_host_class_swar_write.c
ux_host_class_hid.h
ux_host_class_hid_keyboard.h
ux_host_class_hid_mouse.h
ux_host_class_hid_remote_control.h
ux_host_class_hid_client_register.c
ux_host_class_hid_idle_get.c
ux_host_class_hid_idle_set.c
ux_host_class_hid_idle_set_run.c
ux_host_class_hid_keyboard_ioctl.c
ux_host_class_hid_keyboard_key_get.c
ux_host_class_hid_mouse_buttons_get.c
ux_host_class_hid_mouse_position_get.c
ux_host_class_hid_mouse_wheel_get.c
ux_host_class_hid_periodic_report_start.c
ux_host_class_hid_periodic_report_stop.c
ux_host_class_hid_remote_control_usage_get.c
ux_host_class_hid_report_callback_register.c
ux_host_class_hid_report_get.c
ux_host_class_hid_report_id_get.c
ux_host_class_hid_report_set.c
ux_host_class_hid_report_set_run.c
ux_host_class_storage.h
ux_host_class_storage_lock.c
ux_host_class_storage_media_check.c
ux_host_class_storage_media_get.c
ux_host_class_storage_media_lock.c
ux_host_class_storage_media_read.c
ux_host_class_storage_media_write.c
ux_device_class_video.h
ux_device_class_video_entry.c
ux_device_class_video_initialize.c
ux_device_class_video_ioctl.c
ux_device_class_video_max_payload_get.c
ux_device_class_video_read_payload_free.c
ux_device_class_video_read_payload_get.c
ux_device_class_video_reception_start.c
ux_device_class_video_transmission_start.c
ux_device_class_video_write_payload_commit.c
ux_device_class_video_write_payload_get.c
ux_device_class_printer.h
ux_device_class_printer_read.c
ux_device_class_printer_read_run.c
ux_device_class_printer_write.c
ux_device_class_printer_write_run.c
ux_device_class_audio_initialize.c
ux_host_class_printer.h
ux_host_class_printer_device_id_get.c
ux_host_class_printer_name_get.c
ux_host_class_printer_read.c
ux_host_class_printer_soft_reset.c
ux_host_class_printer_status_get.c
ux_host_class_printer_write.c
ux_host_class_pima.h
ux_host_class_pima_command.c
ux_host_class_pima_device_info_get.c
ux_host_class_pima_num_objects_get.c
ux_host_class_pima_object_close.c
ux_host_class_pima_object_delete.c
ux_host_class_pima_object_get.c
ux_host_class_pima_object_handles_get.c
ux_host_class_pima_object_info_get.c
ux_host_class_pima_object_info_send.c
ux_host_class_pima_object_open.c
ux_host_class_pima_object_send.c
ux_host_class_pima_object_transfer_abort.c
ux_host_class_pima_session_close.c
ux_host_class_pima_session_open.c
ux_host_class_pima_storage_ids_get.c
ux_host_class_pima_storage_info_get.c
ux_host_class_pima_thumb_get.c
ux_host_class_video.h
ux_host_class_video_control_get.c
ux_host_class_video_control_request.c
ux_host_class_video_control_value_get.c
ux_host_class_video_control_value_set.c
ux_host_class_video_entities_parse.c
ux_host_class_video_frame_parameters_set.c
ux_host_class_video_ioctl.c
ux_host_class_video_max_payload_get.c
ux_host_class_video_read.c
ux_host_class_video_start.c
ux_host_class_video_stop.c
ux_host_class_video_transfer_buffer_add.c
ux_host_class_video_transfer_buffers_add.c
ux_host_class_video_transfer_callback_set.c
Initialized PIMA callbacks in pictbridge DPS client, file modified:
ux_pictbridge_dpsclient_start.c
Increased host PIMA default buffer size to get device info, file modified:
ux_host_class_pima.h
Fixed return code, files modified:
ux_device_class_cdc_acm_read_run.c
ux_device_class_cdc_acm_write_run.c
Various files were modified to improve internal logic and comments.