Оно работает со моей прошивкой к модулю E104-BT10-G/N. Проверял на днях...вчера прислали новую версию BDT.
Хотел выложить здесь, но форум пишет ,что файл слишком большой.
Этих "термометров" Xiaomi с TLRS8251 уже пачка. Оригинальные прошивки тоже доступны, дизасм в гидре - не всемБлагодарю.
Вчера получил термометры TLSR8253 .
Теперь можно издеваться над ними.
И куда это очередное дерьмо от ST девать?инфо от STM(compel) Soc STM32L5 (Cortex M33):
Посмотреть вложение 10163
Пересмотрел ещё раз серию L5 .инфо от STM(compel) Soc STM32L5 (Cortex M33):
Посмотреть вложение 10163
Я не оцениваю качество решений. просто принимаю к сведению кто, что и чего достиг.Пересмотрел ещё раз серию L5 .
Включение любого кварца измеряется в mA Живите от RC
Ток рабочих генераторов кварцев серии STM32L5 превышает аналогичные параметры у TSL825x.
Стартовый ток выхода из любого sleep - так-же значительно выше.
STM32L5 не может хранить всю память в deep-sleep, а в простом sleep режиме жрут уже в несколько раз более чем TSL825x в аналогичной моде.
По аппаратной скорости выхода из sleep вообще давно никого не удивить - даже INA226/INA219 не может показать даже пичёк на цикле входа-выхода из таких режимов. Аналогично и у RTL872x, да и остальные параметры STM схожи.
Но не забывайте о могучем HAL у STM - через него MCU ногами шевелит до 10 MHz в лучшем случае при сильной оптимизации кода вручную, а что будет при просыпании и инициализации через HAL всех потрохов чипа?
Это всё в тысячи раз более аппаратных задержек. Что-то оптимизировать на STM32 никто уже никогда не будет.
В итоге оно не может работать от CR2032.
Долго вы с этим разбираетесь. Более чем на пятилетку отстаете...Я не оцениваю качество решений. просто принимаю к сведению кто, что и чего достиг.
У Ai-Thinker это изначально и без покупки специального программатора.К стати, TLSR сделали режим командной строки для программирования через EVK,USB и OTA.
Теперь можно вставлять его в eclipse.
Так и не сделали оптимизации размера прошивки ("firmware.bin") в скрипте линковщику к новым сериям чипов - пришлось сразу дорабатывать.К стати, TLSR сделали
...
Я вообще всю жизнь только этим и занимаюсь - изучаю то, что мне интересно.Долго вы с этим разбираетесь. Более чем на пятилетку отстаете...
Программатор с доп.функциями на данную платку (или собрать самому TB-03/04 + USB-COM) уже давно накалякал и пользуюсь (у меня подключен к тестовому Xiaomi LYWSD03MMC):Ущё - у модулей TB-0x вроде есть вывод SWM, но чипы TLSR85x в примененных корпусах не имеют выводов USB от кристалла.
Вот полноценный программатор и отладчик через SWire с прикрученным адаптером USB-COM (TB-04-KIT):
Посмотреть вложение 10165
И его ПО пишется за рабочий день (по моим наработкам), но нужды в нем нет, т.к. у меня уже есть в наличии под рукой другие варианты более скоростного одночипового решения с USB.
А ни у кого случайно нет AN_19011501-E4_Telink Kite BLE SDK Developer Handbook.pdf ? Это то же, только на нормальном языке. А то очень уж неудобно на китайском читать.На всякий случай "AN_19011501-C5_Telink Kite BLE SDK Developer Handbook.pdf" кинул тут
А, нет. Это не подтяжка пропадает, это на ноге в процессе "уход в deep sleep with ret / просыпание (переинициализация)" появляется ноль. Т.е. нога притягивается к нулю на 3-4 мс. Я припаял внешнюю подтяжку 10 k на эту ножку - то же поведение, появляется там ноль. Ну я тут в своем случае выкрутился, обошел это дело, но все равно интересно бы выяснить. У кого какие идеи?Продолжаю потихоньку ковырять этот модуль. Выяснилось такой не очень понятный момент. Везде написано, что состояние подтягивающих резисторов у GPIO сохраняется при deep sleep with retention. Я включаю резистор 10 k pull-up, и после ухода в deep sleep и просыпания - ну да, подтяжка есть, осталась. НО: в течение где-то 3-4 мс в процессе засыпания/просыпания подтяжка пропадает (?), на это ножке появляется ноль и внешний девайс, подключенный к этой ноге, сбрасывается. Кто-нибудь что-нибудь может сказать по этому поводу?
При suspend состояние сохраняется (как и должно).
Продолжаю свой диалог С retention тоже непонятно. Ставлю 16K retention, все работает как ожидается. Добавляю в retention массив 864 байта - перестает влезать. Ага, думаю, наверное, превысили 16К (хотя вообще откуда там 16 К получается? моих данных около 2 К всего). Включаю 32K retention (все по инструкции) - компилируется, заливается. Но - часть переменных не сохраняется, как будто blc_pm_setDeepsleepRetentionType(DEEPSLEEP_MODE_RET_SRAM_LOW32K) не выполняется. По факту эта строчка вообще не влияетА, нет. Это не подтяжка пропадает, это на ноге в процессе "уход в deep sleep with ret / просыпание (переинициализация)" появляется ноль. Т.е. нога притягивается к нулю на 3-4 мс. Я припаял внешнюю подтяжку 10 k на эту ножку - то же поведение, появляется там ноль. Ну я тут в своем случае выкрутился, обошел это дело, но все равно интересно бы выяснить. У кого какие идеи?
С ретеншеном 32 К какие-то непонятности. Добавил еще 1000 байт в ретеншн (просто массив объявил в коде) - все заработало, все используемые переменные сохраняются. Этот массив, кстати, не знаю, сохраняется или нет. Убираю этот массив - часть моих переменных не сохраняется.Продолжаю свой диалог С retention тоже непонятно. Ставлю 16K retention, все работает как ожидается. Добавляю в retention массив 864 байта - перестает влезать. Ага, думаю, наверное, превысили 16К (хотя вообще откуда там 16 К получается? моих данных около 2 К всего). Включаю 32K retention (все по инструкции) - компилируется, заливается. Но - часть переменных не сохраняется, как будто blc_pm_setDeepsleepRetentionType(DEEPSLEEP_MODE_RET_SRAM_LOW32K) не выполняется. По факту эта строчка вообще не влияет
Непонятно, как вообще подходить к отладке таких штук, куда смотреть.
Кстати, попробовал webOTA от pvvx (html-страничка), с ее помощью заливается в TB-03, но стартует старая прошивка почему-то. Надо разбираться.
С этим понятно. Веб-страничка файл не перечитывает при каждой записи, нужно страничку перезагружать и файл снова открывать.Кстати, попробовал webOTA от pvvx (html-страничка), с ее помощью заливается в TB-03, но стартует старая прошивка почему-то. Надо разбираться.
Есть другой косяк, в виде наносекундного импульса в "0" на портах при "просыпании" чипа:Продолжаю потихоньку ковырять этот модуль. Выяснилось такой не очень понятный момент. Везде написано, что состояние подтягивающих резисторов у GPIO сохраняется при deep sleep with retention. Я включаю резистор 10 k pull-up, и после ухода в deep sleep и просыпания - ну да, подтяжка есть, осталась. НО: в течение где-то 3-4 мс в процессе засыпания/просыпания подтяжка пропадает (?), на это ножке появляется ноль и внешний девайс, подключенный к этой ноге, сбрасывается. Кто-нибудь что-нибудь может сказать по этому поводу?
При suspend состояние сохраняется (как и должно).
Уровень сигнала рекламы тоже незаметно, чтобы менялся (смотрю программкой на телефоне). Что же получается - функция ничего не делает или я ошибаюсь в наблюдениях? Кто-нибудь проверял?Что еще обнаружил: при изменении значения rf_set_power_level_index() даже от самых маленьких до самых больших уровней потребляемый ток не меняется - как был около 10-12 мА в момент радиосвязи, так и остается. Смотрю PowerProfiler'ом.