реклама на сайте
подробности

 
 
> NORDIC nrf51822, вопрос по ф-ии
Метценгерштейн
сообщение Aug 10 2015, 09:03
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



sd_app_event_wait();

Хочу девай в сон загнать. Вычитал, что этой ф-ей он гонится в сон. Но не понять систему- нужен хидер файл. Без него компилер не видит ф-ии. Как искать, какой хидер нужен? Где в документации указано, какой подключать?
Немного каша у меня.
Go to the top of the page
 
+Quote Post
4 страниц V  « < 2 3 4  
Start new topic
Ответов (45 - 58)
mantech
сообщение Dec 10 2016, 17:26
Сообщение #46


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(sevstels @ Dec 10 2016, 10:15) *
Пишу, чтоб начинающие долго не мучились, ведь Нордик (как впрочем и остальные BT-деятели) "скромно умалчивает" о неработоспособности BLE с Android 5.


Если с другими версиями работает и с компом тоже, так может это проблема не "Нордик (как впрочем и остальные BT-деятели)", а андроида 5? wink.gif
Go to the top of the page
 
+Quote Post
uriy
сообщение Dec 10 2016, 17:42
Сообщение #47


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



У меня не было проблем с android 5. Телефон дешевый китайский за $100.
После обновления телефона до android 6 для полноценной работы BLE стало нужно включать геолокацию.
Мне кажется в 5-ой версии это не требовалось, хотя может уже и забыл.
Go to the top of the page
 
+Quote Post
sevstels
сообщение Dec 11 2016, 06:05
Сообщение #48


Знающий
****

Группа: Участник
Сообщений: 626
Регистрация: 3-12-07
Пользователь №: 32 910



>> так может это проблема не "Нордик (как впрочем и остальные BT-деятели)", а андроида 5?
Вы наверно не читали или не поняли текст беседы. wink.gif
Там именно это было и написано, ошибка GATT сервера BLE Android.

Но дело не в этом, а в том, что ни один мудак из Нордик или TI (зная о проблеме) не сообщил о ней пользователям в доке.
Покупайте и трахайте себе мозг... а мы весело над этим понаблюдаем. Вот такая позиция.

Но и не в этом дело! Оно оказалось еще смешнее.
Самсунг обмолвился, что эту модель обновлять до 6й версии не намерен.
О как! А только купил его пол года назад. Уроды...


--------------------
Herz - дятел.
Go to the top of the page
 
+Quote Post
sevstels
сообщение Dec 18 2016, 09:42
Сообщение #49


Знающий
****

Группа: Участник
Сообщений: 626
Регистрация: 3-12-07
Пользователь №: 32 910



Сделал IAR порт scmRTOS для Nordic Semiconductor > nRF51x
Для тестов использовался кит > BLE400, модуль с nrf51822QFAC на боту, (желателен xxAC), и > O-Link-ARM.



Использование:
1. Открыть в IAR папку '3-channel' и выбрать файл проекта *.eww и откомпилировать.
2. Перед загрузкой в кристалл, запустить утилиту от Nordic "nRFgo Studio" и полностью его стереть.
Иначе если останется ранее зашитый китайцами стек, отладка может не запуститься.

Надеюсь проект поможет любителям scmRTOS и BLE.
Огромная благодарность Антону Гусеву, 'AHTOXA' за помощь в отладке порта.


--------------------
Herz - дятел.
Go to the top of the page
 
+Quote Post
uriy
сообщение Dec 19 2016, 04:48
Сообщение #50


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Вы ее сделали ticlkess?
Я далек от С++ и не понял что делает функуция sleep.
Когда нет активности ядра и работает только RTC и активен блютуз стек потребление контроллера будет 4 мкА?
Go to the top of the page
 
+Quote Post
sevstels
сообщение Dec 19 2016, 05:23
Сообщение #51


Знающий
****

Группа: Участник
Сообщений: 626
Регистрация: 3-12-07
Пользователь №: 32 910



Это лишь "сырой" шаблон проекта для быстрого запуска RTOS на nRF51x.
Ввиду некоторых особенностей ядра nRF стандартный порт Cortex-M0 там не пошел.

>> что делает функуция sleep
Она останавливает в данной точке выполнение текущего процесса на заданное число тиков системного таймера.
Если sleep без аргументов, то останавливает перманентно. Посмотрите плиз доку на scmRTOS.

>> только RTC и активен блютуз стек потребление контроллера будет 4 мкА?
Пока не тестил, но препятствий не вижу. Можно остановить периферию и переключать процессы по нужным вам событиям.






--------------------
Herz - дятел.
Go to the top of the page
 
+Quote Post
uriy
сообщение Dec 19 2016, 06:50
Сообщение #52


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
Она останавливает в данной точке выполнение текущего процесса на заданное число тиков системного таймера.
Вот это я и хотел узнать, какой таймер используется.
С системным таймером вы не получите 4 мкА. У вас получается во время выполенния sleep() работает ядро и вероятно возникают прерывания каждую миллисекунду (ну или какой там у вас тик).
Например, если в этом варианте делать мигание светодиодом длительностью 100 мсек каждые 10 сек, то даже в паузе 10 сек будет работать ядро.
В планировщике, который идет вместе с NRF, таймеры работают через RTC.
Их стек настроит RTC на пробуждение через 10 сек. И пока оно ничего не делает ток будет 4 мкА.
Ну плюс на адвертайзы будет просыпаться если они у вас включены.

Go to the top of the page
 
+Quote Post
sevstels
сообщение Dec 19 2016, 07:00
Сообщение #53


Знающий
****

Группа: Участник
Сообщений: 626
Регистрация: 3-12-07
Пользователь №: 32 910



>> во время выполенния sleep() работает ядро

Тики таймера сейчас сделаны для проверки работоспособности порта.
Никто не мешает их выключить и не использовать системный таймер. Отключите его в конфиге rtos.
Затем в обработчик вашего события от стека добавьте установку флага события. В сам процесс добавьте ожидание этого события.
И будут вам желаемые 4мкА...

Дело вкуса, я привык к scmRTOS, он серьёзно упрощает написание кода.
У меня сделан всего 1 усечённый пример, чтоб не создавать дополнительные трудности.
Тут можно посмотреть > полные версии примеров использования.

Сообщение отредактировал sevstels - Dec 19 2016, 07:11


--------------------
Herz - дятел.
Go to the top of the page
 
+Quote Post
uriy
сообщение Dec 19 2016, 07:13
Сообщение #54


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
Тут дело вкуса, я привык к scmRTOS, серьёзно упрощает написание кода.
Это точно дело вкуса.
В основном пользуюсь FeeRTOS. Пытался сделать проект на BlackFin с scmRTOS. Не осилил С++.
Мне очень понравился свой планировщик у NRF.
Чем он вам не понравился?
Я даже перенес его на STM8L для одного проекта.
С проблемами конечно, но работает.
Go to the top of the page
 
+Quote Post
sevstels
сообщение Dec 19 2016, 07:15
Сообщение #55


Знающий
****

Группа: Участник
Сообщений: 626
Регистрация: 3-12-07
Пользователь №: 32 910



>> С проблемами конечно, но работает.
Мне не нужны проблемы, их и так хватает. Поэтому - scmRTOS.


--------------------
Herz - дятел.
Go to the top of the page
 
+Quote Post
uriy
сообщение Dec 19 2016, 07:55
Сообщение #56


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Померяйте тогда ток в режиме мигания светодиодом, например.
На мой взгляд высокое потребление BLE это и есть самая большая проблема.
Go to the top of the page
 
+Quote Post
sevstels
сообщение Dec 19 2016, 08:00
Сообщение #57


Знающий
****

Группа: Участник
Сообщений: 626
Регистрация: 3-12-07
Пользователь №: 32 910



Смогу дальше с этим работать только через неделю.
Пока на другом проекте.. sm.gif


--------------------
Herz - дятел.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Dec 19 2016, 12:59
Сообщение #58


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(sevstels @ Dec 19 2016, 10:00) *
Тики таймера сейчас сделаны для проверки работоспособности порта.
Никто не мешает их выключить и не использовать системный таймер. Отключите его в конфиге rtos.
Затем в обработчик вашего события от стека добавьте установку флага события. В сам процесс добавьте ожидание этого события.
И будут вам желаемые 4мкА...

Всё то же самое, я думаю, можно сделать и на любой другой RTOS.
Например под uCOS - без проблем: SysTick можно заменить на любой другой таймер или вообще его отключить. Это вообще дело порта и не входит в ядро uCOS.
Go to the top of the page
 
+Quote Post
uriy
сообщение Dec 19 2016, 13:58
Сообщение #59


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Понятно что можно.
Но за пару минут вы это не сделаете если ОС из коробки не поддерживает режим работы без периодических тиков.
Ведь надо пересчитывать очередь таймеров для настройки RTC после каждого пробуждения.
В очереди первым надо выставлять таймер, который досчитает раньше всех.
Go to the top of the page
 
+Quote Post

4 страниц V  « < 2 3 4
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 14:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01485 секунд с 7
ELECTRONIX ©2004-2016