этой демке используется idf то threads это таски ртос? И если так, то каким образом задавать приоритет таске, чтоб условный spi (ну или любая другая периферия где тайминг важен) отрабатывали вперед вебсервера?
Я тоже никак не разберусь, не смог нигде найти как настроить приоритеты
нуу... если не ошибаюсь, espidf как я помню да.. корни_пустил на rtos sdk.. я попробовал сам поискать ответы, бо интересно. и я все искал и думал, а что это за std такой.. а оказывается вроде просто.. в раст добавляют платформу espidf (https://github.com/rust-lang/rust/commit/459eaa6baea4127b37769d0b7944fa00c175e770) в std и используется стандартный для нас std::thread, и что то я запамятовал а бывали там ВООБЩЕ_ХОТЬ настройки приоритетов в формате апи.. изначально влез https://github.com/rust-lang/rust/blob/459eaa6baea4127b37769d0b7944fa00c175e770/library/std/src/sys/unix/condvar.rs#L42 узнал что не поддерживаются таймеры реального времени на espidf (вернее posix thread недореализовали, а значит что-то работает, а что-то нет...) далее, если посмотреть ПРОСТО как реализовывают приоритеты(без реалтайма) то вылезает библиотека thread_priority, а с ней и libc::pthread_setschedprio, наличие ее проверить я просто так не могу так как библиотека libc по особенному собирается, но по идее это реально, если libc с pthread будет понимать платформу espidf.
Обсуждают сегодня