Merge branch 'master' into pico_sdk

This commit is contained in:
2026-03-29 12:28:36 +03:00
359 changed files with 56129 additions and 6404 deletions

View File

@@ -87,11 +87,9 @@ void PIConditionVariable::wait(PIMutex & lk) {
}
void PIConditionVariable::wait(PIMutex & lk, const std::function<bool()> & condition) {
bool isCondition;
void PIConditionVariable::wait(PIMutex & lk, std::function<bool()> condition) {
while (true) {
isCondition = condition();
if (isCondition) break;
if (condition()) break;
#if defined(WINDOWS)
SleepConditionVariableCS(&PRIVATE->nativeHandle, (PCRITICAL_SECTION)lk.handle(), INFINITE);
#elif defined(FREERTOS)
@@ -123,8 +121,7 @@ bool PIConditionVariable::waitFor(PIMutex & lk, PISystemTime timeout) {
}
bool PIConditionVariable::waitFor(PIMutex & lk, PISystemTime timeout, const std::function<bool()> & condition) {
bool isCondition;
bool PIConditionVariable::waitFor(PIMutex & lk, PISystemTime timeout, std::function<bool()> condition) {
#if defined(WINDOWS) || defined(FREERTOS)
PITimeMeasurer measurer;
#else
@@ -136,8 +133,7 @@ bool PIConditionVariable::waitFor(PIMutex & lk, PISystemTime timeout, const std:
xEventGroupClearBits(PRIVATE->nativeHandle, 1);
#endif
while (true) {
isCondition = condition();
if (isCondition) break;
if (condition()) break;
bool isTimeout;
#if defined(WINDOWS)
isTimeout = SleepConditionVariableCS(&PRIVATE->nativeHandle,