• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

UBIA - USB / BLE to I2C/SMBus Adapter.

pvvx

Активный участник сообщества
Дошло, но как неочевидно!
В BLE много чего неочевидного. А представленные прошивки - выкинутые исходники - это всего лишь тесты на максимальное выдавливание показателей из данного чипа и не являются готовым продуктом для "общества потребления".
С автоматическим определением активности USB: такая фича есть в чипе, но без NDA данных это производитель не оглашает, а имеющаяся в примерах от него реализация в режимах sleep жрет достаточно много.
Та и совсем разные подходы по питанию при USB и BLE...
 

pvvx

Активный участник сообщества
Для USB, для получения максимального трансфера в CDC необходимо максимальное CLK CPU, т.к. CPU в этом чипе достаточно тормозной. В итоге пришлось слепить раздельные конфигурации – две системы с разными установками всех CLK и конфигов периферии (пере)загружаемые по значению сигнала на пине USB/BLE… хотя большинство процедур одинаковые.
 

pvvx

Активный участник сообщества
Диод от Vbus с резистором на землю на USB/BLE.
А резистор там есть - подтяжка GPIO.
У некоторых разъемов USB есть доп. контакт - надо перепрограммировать уровень включения, но это уже не моё - я протестировал чип на то что мне было нужно и итоги скинул - раскрашивайте как хотите.
 

jura_lcd

New member
Уважаемые Гуру подскажите, не собирается проект UBIA. При компиляции ругается на отсутствие app_config.h в папке tl_pvvx_ble_sdk/vendor/common.
Я так понимаю файлик с конфигурацией должен подтянутся в зависимости от выбранного проекта my_ble_usb_i2c_adc или my_ota_boot.
Не могу разобраться со структурой проекта, подскажите если не сложно, в какую сторону копать.
 

pvvx

Активный участник сообщества
Вам надо:
1) скачать с github UBIA.
2) Открыть Telink IDE
3) В окне проектов выбрать Import
1605456592781.png
4) Выбрать Имеющийся проект
1605456603183.png
5) Указать скачанный каталог в UBIA "TlsrSrc"
1605456685520.png
6) Поставить галку "Копировать" и нажать "Finish"
Далее можно закрыть проект tl_pvvx_ble_sdk чтобы не мешался...
На этом всё:
1605456840124.png
* возможно надо будет поправить какие-то пути в конфигурации... счас не помню...
 

pvvx

Активный участник сообщества
Да - поправить в конфиге проектов вот это:
1605457408638.png
 

pvvx

Активный участник сообщества
Исправил, вставил относительный путь на SDK, на github теперь новые конфиги:
1605458626676.png
 
При сборке выдает два варнинга на путь sdk. Прописал путь жестко - характер варнинга не изменился. Это нормально?
sshot-1.jpg
 
да вот еще, на выходе получилось два бинарника
1) my_ble_usb_i2c_adc.elf
2) 8266_jdy_10.bin

Шить второй?
 
Так стоп. а зачем собирать когда там в папке bin итак такие же бинарники лежат?
Следующий вопрос, а какие из лежащих там файлов следует зашить вв jdy-10 и в какой последовательности? Пhошивать собираюсь USB-COM ch340
 

pvvx

Активный участник сообщества
Так стоп. а зачем собирать когда там в папке bin итак такие же бинарники лежат?
Следующий вопрос, а какие из лежащих там файлов следует зашить вв jdy-10 и в какой последовательности? Пhошивать собираюсь USB-COM ch340
Описано там-же.
Достаточно одного первого файла 8266_jdy_10.bin . Остальное думается что вам не потребуется.
 

pvvx

Активный участник сообщества
3-й
Код:
E:\Telink\git\TlsrComSwireWriter>python3 TlsrComProg.py
================================================
TLSR825x Floader version 10.11.20
------------------------------------------------
Open COM1, 230400 baud...
Error: Open COM1, 230400 baud!
>python3.exe --version
Python 3.6.6

Код:
\Python27\python2.exe TlsrComProg.py
File "TlsrComProg.py", line 76
def crc16(data: bytearray, length):
                      ^
SyntaxError: invalid syntax
 

pvvx

Активный участник сообщества
Следующий вопрос должен быть про это:
C:
/* Universal I2C/SMBUS read-write transaction struct */
typedef struct _i2c_utr_t {
    unsigned char mode;  // bit0..6: number wr_byte for new START (bit7: =1 - generate STOP/START)
    unsigned char rdlen; // bit0..6: number rd_byte (bit7: =1 - old read byte generate NACK, =0 - ACK)
    unsigned char wrdata[1]; // i2c_addr_wr, wr_byte1, wr_byte2, wr_byte3, ... wr_byte126
} i2c_utr_t;
 
Следующий вопрос должен быть про это:
Не... до этого пока не добрался.

Код:
Traceback (most recent call last):
  File "C:\jdy10\TlsrComProg.py", line 9, in <module>
    import serial
ModuleNotFoundError: No module named 'serial'
Если пройдем всю цепочку до конца, клятвенно обещаю написать подробный "курс молодого бойца" :)
ps: но это уже завтра, на сегодня я все...
 

pvvx

Активный участник сообщества
Если пройдем всю цепочку до конца, клятвенно обещаю написать подробный "курс молодого бойца" :)
Это никому не нужно. Ныне работает только персональное обслуживание.
Кто там будет читать что-то, если есть форумы и там всё выдадут на блюдечке с золотой каемочкой.
Завтра они будет мычать "Алисе", а она будет переводить их мычания... Я примерно в этой теме и работаю, ну чтобы ускорить данный процесс - автоматизации :)
 
Сверху Снизу