mantech 37 10 декабря, 2016 Опубликовано 10 декабря, 2016 · Жалоба Пишу, чтоб начинающие долго не мучились, ведь Нордик (как впрочем и остальные BT-деятели) "скромно умалчивает" о неработоспособности BLE с Android 5. Если с другими версиями работает и с компом тоже, так может это проблема не "Нордик (как впрочем и остальные BT-деятели)", а андроида 5? ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 10 декабря, 2016 Опубликовано 10 декабря, 2016 · Жалоба У меня не было проблем с android 5. Телефон дешевый китайский за $100. После обновления телефона до android 6 для полноценной работы BLE стало нужно включать геолокацию. Мне кажется в 5-ой версии это не требовалось, хотя может уже и забыл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 11 декабря, 2016 Опубликовано 11 декабря, 2016 · Жалоба >> так может это проблема не "Нордик (как впрочем и остальные BT-деятели)", а андроида 5? Вы наверно не читали или не поняли текст беседы. ;) Там именно это было и написано, ошибка GATT сервера BLE Android. Но дело не в этом, а в том, что ни один мудак из Нордик или TI (зная о проблеме) не сообщил о ней пользователям в доке. Покупайте и трахайте себе мозг... а мы весело над этим понаблюдаем. Вот такая позиция. Но и не в этом дело! Оно оказалось еще смешнее. Самсунг обмолвился, что эту модель обновлять до 6й версии не намерен. О как! А только купил его пол года назад. Уроды... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 18 декабря, 2016 Опубликовано 18 декабря, 2016 · Жалоба Сделал IAR порт scmRTOS для Nordic Semiconductor > nRF51x Для тестов использовался кит > BLE400, модуль с nrf51822QFAC на боту, (желателен xxAC), и > O-Link-ARM. Использование: 1. Открыть в IAR папку '3-channel' и выбрать файл проекта *.eww и откомпилировать. 2. Перед загрузкой в кристалл, запустить утилиту от Nordic "nRFgo Studio" и полностью его стереть. Иначе если останется ранее зашитый китайцами стек, отладка может не запуститься. Надеюсь проект поможет любителям scmRTOS и BLE. Огромная благодарность Антону Гусеву, 'AHTOXA' за помощь в отладке порта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба Вы ее сделали ticlkess? Я далек от С++ и не понял что делает функуция sleep. Когда нет активности ядра и работает только RTC и активен блютуз стек потребление контроллера будет 4 мкА? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба Это лишь "сырой" шаблон проекта для быстрого запуска RTOS на nRF51x. Ввиду некоторых особенностей ядра nRF стандартный порт Cortex-M0 там не пошел. >> что делает функуция sleep Она останавливает в данной точке выполнение текущего процесса на заданное число тиков системного таймера. Если sleep без аргументов, то останавливает перманентно. Посмотрите плиз доку на scmRTOS. >> только RTC и активен блютуз стек потребление контроллера будет 4 мкА? Пока не тестил, но препятствий не вижу. Можно остановить периферию и переключать процессы по нужным вам событиям. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба Она останавливает в данной точке выполнение текущего процесса на заданное число тиков системного таймера.Вот это я и хотел узнать, какой таймер используется. С системным таймером вы не получите 4 мкА. У вас получается во время выполенния sleep() работает ядро и вероятно возникают прерывания каждую миллисекунду (ну или какой там у вас тик). Например, если в этом варианте делать мигание светодиодом длительностью 100 мсек каждые 10 сек, то даже в паузе 10 сек будет работать ядро. В планировщике, который идет вместе с NRF, таймеры работают через RTC. Их стек настроит RTC на пробуждение через 10 сек. И пока оно ничего не делает ток будет 4 мкА. Ну плюс на адвертайзы будет просыпаться если они у вас включены. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 19 декабря, 2016 Опубликовано 19 декабря, 2016 (изменено) · Жалоба >> во время выполенния sleep() работает ядро Тики таймера сейчас сделаны для проверки работоспособности порта. Никто не мешает их выключить и не использовать системный таймер. Отключите его в конфиге rtos. Затем в обработчик вашего события от стека добавьте установку флага события. В сам процесс добавьте ожидание этого события. И будут вам желаемые 4мкА... Дело вкуса, я привык к scmRTOS, он серьёзно упрощает написание кода. У меня сделан всего 1 усечённый пример, чтоб не создавать дополнительные трудности. Тут можно посмотреть > полные версии примеров использования. Изменено 19 декабря, 2016 пользователем sevstels Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба Тут дело вкуса, я привык к scmRTOS, серьёзно упрощает написание кода.Это точно дело вкуса. В основном пользуюсь FeeRTOS. Пытался сделать проект на BlackFin с scmRTOS. Не осилил С++. Мне очень понравился свой планировщик у NRF. Чем он вам не понравился? Я даже перенес его на STM8L для одного проекта. С проблемами конечно, но работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба >> С проблемами конечно, но работает. Мне не нужны проблемы, их и так хватает. Поэтому - scmRTOS. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба Померяйте тогда ток в режиме мигания светодиодом, например. На мой взгляд высокое потребление BLE это и есть самая большая проблема. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба Смогу дальше с этим работать только через неделю. Пока на другом проекте.. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 197 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба Тики таймера сейчас сделаны для проверки работоспособности порта. Никто не мешает их выключить и не использовать системный таймер. Отключите его в конфиге rtos. Затем в обработчик вашего события от стека добавьте установку флага события. В сам процесс добавьте ожидание этого события. И будут вам желаемые 4мкА... Всё то же самое, я думаю, можно сделать и на любой другой RTOS. Например под uCOS - без проблем: SysTick можно заменить на любой другой таймер или вообще его отключить. Это вообще дело порта и не входит в ядро uCOS. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба Понятно что можно. Но за пару минут вы это не сделаете если ОС из коробки не поддерживает режим работы без периодических тиков. Ведь надо пересчитывать очередь таймеров для настройки RTC после каждого пробуждения. В очереди первым надо выставлять таймер, который досчитает раньше всех. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться