Как использовать BleNordicUART с Movesense - PullRequest
0 голосов
/ 16 марта 2019

Я хочу использовать BLE UART (модуль BleNordicUART) с моей пользовательской прошивкой для печати простых выводов отладки (у меня нет джига для программирования).Я не нашел никакой информации относительно BLE UART в вики или источниках.Я могу найти и подключиться к службе BLE UART с моего устройства Android, но данные не принимаются.

Может кто-нибудь помочь?

Спасибо

Ответы [ 2 ]

0 голосов
/ 18 марта 2019

Альтернативой использованию BLE Nordic UART является DebugService , который может предоставить вам оперативные сообщения отладки, а также сохранить их в EEPROM для последующего извлечения.

Документация по этому вопросу немного скудна (см. debug.yaml в MovesenseCoreLib), но вот краткая версия:

Чтобы написать (от уровня информации) сообщение об отладке в коде (см. DebugLogger.hpp для других уровней):

DebugLogger::info("stateChange DOUBLETAP: newState = %d", stateChange.newState);

Чтобы получить DebugMessages поверх BLE:

  • Подписаться на путь / Система / Отладка / {Уровень} , где {Уровень} является одним из:

    • «Фатально»: 0
    • «Ошибка»: 1
    • «Предупреждение»: 2
    • «Информация»: 3
    • «Подробно»: 4

Чтобы сохранить сообщения отладки в EEPROM, вы должны определить область памяти для использования в App.cpp и убедитесь, что он не перекрывается с памятью журнала. Пример определения (16 КБ для отладки, остальные для журнала):

// Define 16kB DEBUG message area
// NOTE: If building a simulator build, these macros are obligatory!
DEBUGSERVICE_BUFFER_SIZE(6, 120); // 6 lines, 120 characters total
DEBUG_EEPROM_MEMORY_AREA(true, 0, 16384)
// Rest of the EEPROM is for Logbook 
LOGBOOK_MEMORY_AREA(16384, (384 * 1024)-16384);

... и настройте минимальный уровень для сохранения в EEPROM с PUT на / System / Debug / Log / Config .

Чтобы извлечь записи из EEPROM, выполните GET для / System / Debug / Log с объектом запроса, который содержит максимальную метку времени (в Movesense> = 1.9 используйте «Id») для выборки (GET возвращает max 4-6 записей в то время, поэтому вы должны повторно вызывать его, чтобы получить все записи).

Полное раскрытие: я работаю в команде Movesense

0 голосов
/ 17 марта 2019

Нашел функцию send_ble_nus_data () в BleController.hpp.

...