The following changes are made in this commit:
1. This commit updates the implementation of usleep() to now always yield
CPU time if undergoing a multi-tick sleep. This reduces the accuracy of
usleep() but in turn allows the scheduler to schedule different tasks.
2. The commit also updates the MCPWM unit test which fails due to the
change in the behavior of usleep().
Closes: https://github.com/espressif/esp-idf/pull/15132
This commit updates usleep() to always sleep for the required sleep
period or more. This fixes a bug where the usleep() could sleep for less
than the request sleep period.
Closes https://github.com/espressif/esp-idf/pull/15132