//! host_disable_all_pipes //! //! This function disables all pipes for the host controller. //! Useful to execute upon disconnection. //! //! @return Void //! void host_disable_all_pipes(void) { #if USB_HOST_PIPE_INTERRUPT_TRANSFER == ENABLE Bool sav_glob_int_en; #endif U8 p; #if USB_HOST_PIPE_INTERRUPT_TRANSFER == ENABLE if ((sav_glob_int_en = Is_global_interrupt_enabled())) Disable_global_interrupt(); #endif for (p = 0; p < MAX_PEP_NB; p++) { Host_disable_pipe_interrupt(p); Host_reset_pipe(p); Host_unallocate_memory(p); Host_disable_pipe(p); } #if USB_HOST_PIPE_INTERRUPT_TRANSFER == ENABLE (void)Is_host_pipe_enabled(MAX_PEP_NB - 1); if (sav_glob_int_en) Enable_global_interrupt(); #endif }
//! host_disable_all_pipes //! //! This function disables all pipes for the host controller. //! Useful to execute upon disconnection. //! //! @return Void //! void host_disable_all_pipes(void) { #if USB_HOST_PIPE_INTERRUPT_TRANSFER == ENABLE Bool sav_glob_int_en; #endif U8 p; #if USB_HOST_PIPE_INTERRUPT_TRANSFER == ENABLE // Disable global interrupts if ((sav_glob_int_en = Is_global_interrupt_enabled())) Disable_global_interrupt(); #endif for (p = 0; p < MAX_PEP_NB; p++) { // Disable the pipe <p> (disable interrupt, free memory, reset pipe, ...) Host_disable_pipe_interrupt(p); Host_reset_pipe(p); Host_unallocate_memory(p); Host_disable_pipe(p); } #if USB_HOST_PIPE_INTERRUPT_TRANSFER == ENABLE (void)Is_host_pipe_enabled(MAX_PEP_NB - 1); // Restore the global interrupts to the initial state if (sav_glob_int_en) Enable_global_interrupt(); #endif }