Spider 0 30 июля, 2018 Опубликовано 30 июля, 2018 · Жалоба Всем привет. Вот понадобилось написать сенсор давления в BLE. Взял я CC2541 модуль для обучения себя любимого и на базе примера Температурного датчика запилил Environment service с датчиком давления. Всё бы ничего и всё работает. Теперь я хочу понять как экономить батарейку. есть такой чудный метод как osal_pwrmgr_device( PWRMGR_BATTERY ); но как он работает? Когда она уходит в сон и на какое время? опять же, как проредить потребление? Я подумал что можно отключать Advertise на какие-нить 2-3 минуты, затем его включать на 10-15 секунд и по новой. Особой "динамики" не требуется. В свою очередь если кто-то успел зацепиться в эти 10-15 секунд, то уже не отключаться до конца сессии. Так вот. если я взведу таймер средствами osal_start_timerEx() на какие-нить 2-3 минуты, будет ли это корректно? Уснёт ли она на это время пока я всё отключил и жду события от таймера? Если не уснёт, то как уснуть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Spider 0 8 августа, 2018 Опубликовано 8 августа, 2018 · Жалоба Никак да? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Integro 0 8 августа, 2018 Опубликовано 8 августа, 2018 · Жалоба Средствами ZStack вроде как больше чем osal_pwrmgr_device( PWRMGR_BATTERY ); уже не сделаешь. По хорошему нужно уходить в глубокий сон и просыпаться по sleep таймеру(см halSleepSetTimer и HAL_SLEEP_PREP_POWER_MODE), но лично я это не практиковал, проект на этом контроллера был заморожен на стадии демо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться