|
|
  |
bluetooth модуль bluegiga ble112 |
|
|
|
Sep 14 2012, 06:56
|
Группа: Участник
Сообщений: 14
Регистрация: 24-06-10
Пользователь №: 58 126

|
Ищу кого нибудь кто имел дело с bluetooth модулем ble112 от bluegiga чтобы задать пару вопросов. А то что то я малость запутался и не знаю что делать.
|
|
|
|
|
Oct 2 2012, 11:41
|
Группа: Участник
Сообщений: 12
Регистрация: 3-12-06
Пользователь №: 23 075

|
Peps, Раз уж можно спросить Сколько через него удается прокачивать, если не писать с нуля софт для СС2540 (т.е. на BGScript)? Просто встал в полный рост вопрос - WT3x или имеющееся железо с BLE112. Коллеги с помощью финского софта получали предельно грустные цифры, около 2-3 кБайт/c - на порядок меньше, чем хочется.
|
|
|
|
|
Oct 3 2012, 05:38
|
Группа: Участник
Сообщений: 14
Регистрация: 24-06-10
Пользователь №: 58 126

|
Здравствуйте! Я до приложений еще даже и не дошел. Застрял на самом начальном этапе. Cитуация следующая. Я вообще новичек в этих вопросах и до этого имел дело только с модулем wt12-a, который имеет встроенную ОС и управляется АТ командами. Когда я с ним разбирался, то просто подцепил его через преобразователь уровня к com порту ПК и все. По простоте душевной думал, что так же прокатит и с BLE112 - как я понял из описания у него тоже есть встроенная ОС, только протокол бинарный. В тех поддержке (нашей, не финской) меня уверили, что через com работать должен, кроме того в одном из datasheet было описано подключение модуля к com. Короче говоря приобрел я два модуля, решил подключить к com через преобразователь уровня. Выяснилось, что ни в одном описании не сказано какие именно выводы используются под uart, также не сказано про скорость обмена. Перебрал все возможные варианты ножек (P0_3 + P0_2; P0_4 + P0_5; P1_5 + P1_4; P1_6 + P1_7;) на скорости 115200 - отклика нет. Ладно, думаю, подключу через usb. Подключил - он определился, но радость моя была недолгой - определился он не как виртуальный com, а как libusb (winusb) device. В финской техподдержке сказали, что он почему то в dfu режиме и его надо перепрошить через usb таким то hex такой то утилитой. Сделал все как они сказали - он прошился, но при этом перестал вообще как либо определяться. Подключил через usb второй модуль - он изначально никак не определяется. После этого все ответы Финской техподдержки сводятся к одному - купите cc-debugger.
Когда начальство денег выделит я конечно куплю cc-debugger, а пока все же хотелось бы определиться - можно ли купленный ble112 без перепрошивки подцепить к ПК или нет? То есть это мой косяк или он изначально пустой и работать так как я его пытался включить в принципе не должен?
Вот как то так. Буду благодарен за любые советы.
Сообщение отредактировал Makarov - Oct 3 2012, 05:39
|
|
|
|
|
Oct 3 2012, 06:59
|
Частый гость
 
Группа: Участник
Сообщений: 183
Регистрация: 12-01-10
Из: Минск
Пользователь №: 54 745

|
Цитата Сколько через него удается прокачивать, если не писать с нуля софт для СС2540 (т.е. на BGScript)? Просто встал в полный рост вопрос - WT3x или имеющееся железо с BLE112. Коллеги с помощью финского софта получали предельно грустные цифры, около 2-3 кБайт/c - на порядок меньше, чем хочется. Пока по скорости рекордов не ставил. Но Ваши колеги близки к истине. Модуль предназначен не для прокачки данных, а для передачи малых пакетов, типа мониторинга датчиков. Плюс затраты времени на упорядочивание данных с UART для записи в базу GATT с помощью скрипта... Для Makarov. Просто подцепить BLE112 на ком порт не получится. Внутри только реализация API и все. Для работы с ком портом надо залить соответствующий профиль GATT и скрипт. В профиле в файле hardware.xml нужно указать настройки для порта (описаны в Profile_development_kit_developer_guide_v1.9.pdf п.3.9). Обратите внимание, что UART может выводится на 2варианта выводов модуля (см. даташит на BLE112( к сожалению нету даташита под рукой чтобы указать табличку распиновки выводов. Это тоже нужно указать в файле hardware.xml параметр alternate). В любом случае давите руководство чтобы купило Вам отладку DKBLE112 - поверьте - я сэкономил огромную кучу времени пользуясь им. Там в комплекте есть програматор Ti, которым я заливаю скомпиленый профиль и скрипт.
|
|
|
|
|
Oct 3 2012, 08:04
|
Группа: Участник
Сообщений: 12
Регистрация: 3-12-06
Пользователь №: 23 075

|
Цитата(Peps @ Oct 3 2012, 10:59)  Пока по скорости рекордов не ставил. Но Ваши колеги близки к истине. Модуль предназначен не для прокачки данных, а для передачи малых пакетов, типа мониторинга датчиков. Плюс затраты времени на упорядочивание данных с UART для записи в базу GATT с помощью скрипта... Спасибо. Жалко, железо нужно допиливать. Программировать 2540 на собственный стек нет, конечно, резона
|
|
|
|
|
Oct 3 2012, 08:09
|
Группа: Участник
Сообщений: 12
Регистрация: 3-12-06
Пользователь №: 23 075

|
Цитата(Peps @ Oct 3 2012, 10:59)  Пока по скорости рекордов не ставил. Но Ваши колеги близки к истине. Модуль предназначен не для прокачки данных, а для передачи малых пакетов, типа мониторинга датчиков. Плюс затраты времени на упорядочивание данных с UART для записи в базу GATT с помощью скрипта... Спасибо. Жалко, железо нужно допиливать. Программировать 2540 на собственный стек нет, конечно, резона  Цитата(Peps @ Oct 3 2012, 10:59)  Пока по скорости рекордов не ставил. Но Ваши колеги близки к истине. Модуль предназначен не для прокачки данных, а для передачи малых пакетов, типа мониторинга датчиков. Плюс затраты времени на упорядочивание данных с UART для записи в базу GATT с помощью скрипта... Спасибо. Жалко, железо нужно допиливать. Программировать 2540 на собственный стек нет, конечно, резона
|
|
|
|
|
Oct 3 2012, 08:29
|
Группа: Участник
Сообщений: 14
Регистрация: 24-06-10
Пользователь №: 58 126

|
Спасибо, Peps! Теперь стало немного понятнее. DKBLE112 хотелось бы, но учитывая стоимость и что тема пока не приоритетная денег мне на него не дадут (100 %). Но по крайней мере программатор TI (он же cc-debugger) куплю (если конечно начальство не передумает  ). Так что я сюда, с Вашего позволения, недельки через две вернусь (пока счет выставят, пока оплатим и время на доставку). Наверняка еще вопросы будут.
|
|
|
|
|
Oct 3 2012, 08:45
|
Частый гость
 
Группа: Участник
Сообщений: 183
Регистрация: 12-01-10
Из: Минск
Пользователь №: 54 745

|
Цитата Так что я сюда, с Вашего позволения, недельки через две вернусь (пока счет выставят, пока оплатим и время на доставку). Наверняка еще вопросы будут. Рад буду пообщатся. А то в рускоязычном инете с BLE112 глухо. Я уже месяц ковыряюсь с этим модулем, и только вчера получил необходимые результаты. Есть парочка граблей, которые мог и обойти. Кстати, при работе с ком портом если не используете аппаратное управление потоком в настройках UART его нужно отключить!!! А то оно по умолчанию включено.
|
|
|
|
|
Oct 3 2012, 11:29
|
Группа: Участник
Сообщений: 14
Регистрация: 24-06-10
Пользователь №: 58 126

|
Цитата(Peps @ Oct 3 2012, 12:45)  А то в рускоязычном инете с BLE112 глухо. Согласен, кроме рекламы ничего нет. Цитата(Peps @ Oct 3 2012, 12:45)  Я уже месяц ковыряюсь с этим модулем, и только вчера получил необходимые результаты. Первому всегда сложнее всего. Цитата(Peps @ Oct 3 2012, 12:45)  Кстати, при работе с ком портом если не используете аппаратное управление потоком в настройках UART его нужно отключить!!! А то оно по умолчанию включено. Спасибо, учтем на будущее.
|
|
|
|
|
Nov 19 2012, 09:38
|
Частый гость
 
Группа: Участник
Сообщений: 183
Регистрация: 12-01-10
Из: Минск
Пользователь №: 54 745

|
Цитата а пока вопрос чайника: а Bluetooth 4 модуль увидит ноутбук в котором Bluetooth 2, или нет? Скорее всего не увидит. А если увидит - то работать не будет. Но это чисто теоретически. На практике не пробовал. Так что придется Вам ваять свой донгл.
Сообщение отредактировал Peps - Nov 19 2012, 09:40
|
|
|
|
|
Nov 27 2012, 16:38
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 7-12-05
Из: Ростов-на-Дону
Пользователь №: 11 911

|
Цитата(Peps @ Nov 19 2012, 13:38)  Так что придется Вам ваять свой донгл. В даташите на ble112 есть схема подключения к USB  это и есть схема донгла ? p.s. два модуля ble112 и cc-debugger уже у меня. похоже ble112 можно подключить к компу по UART интерфейсу. В SDK есть прога BLEGUI в ней можно выбрать UART. У меня есть преобразователи на ft232rl(usb-uart) на нем и 3.3 вольта есть, завтра попробую приконнектить один модуль к компу.
|
|
|
|
|
Dec 6 2012, 16:44
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 7-12-05
Из: Ростов-на-Дону
Пользователь №: 11 911

|
Пробовал сегодня подключить модуль ble112 к компу, чтото blegui не хочет его видеть.
1. припаял к модулю разьем для программирования на проводках. питание 3.3 взял с разьема программатора, cc-debugger все увидел, прошивку что с завода шла в модуле, записал в файл, на всякий случай. 2. Прошил модуль на cc debuggere прошивкой из примеров "cable_replacement/out.hex" через программу SmartRF Flash Programmer. Кстати по ходу вопрос если делаю "erase, program and verify" то выскакивает что ОК, а если verify "against hex-file", то в самом конце верификации выскакивает ERROR, это нормально? 3. Далее через FTDI232RL подключил к компу, в компе виртуальный COM7 порт, его то я и выбирал в blegui, но blegui не видит модуль на конце ком порта, дальше узнал про alternate, и перепаял RX TX провода на модуле на порты с 5-4 на 2-3. Все равно не видит. 4. Запустил blegui выбрал компорт на конце которого ble112, нажал attach, он зелененьким загорелся. Дальше ткнул осциллографом в tx и понажимал комманды, на осциле никакой реакции. Закрыл blegui запустил гипертерминал, тот же порт, нажимаю кнопки, на осциллографе видна передача по линии. Повторил опять с blegui, нифига, blegui вообще в порт не пишет данные хотя вроде открывает порт.
подскажите плиз, что не так делаю?
еще вопрос про alternate: alternate="1" это порты rx/tx - P0_2/P0_3 ? alternate="2" это порты rx/tx - P0_5/P0_4 ?
или
alternate="0" это порты rx/tx - P0_2/P0_3 ? alternate="1" это порты rx/tx - P0_5/P0_4 ?
чтото в даташитах про это нет, как догадаться не понятно
|
|
|
|
|
Dec 6 2012, 18:11
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 7-12-05
Из: Ростов-на-Дону
Пользователь №: 11 911

|
p.s. понял что нужно еще отключить cts/rts, все таки придется сейчас компилировать свою прошивку.
|
|
|
|
|
Dec 7 2012, 08:43
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 7-12-05
Из: Ростов-на-Дону
Пользователь №: 11 911

|
Цитата(Peps @ Dec 7 2012, 11:42)  Для начала попробуйте подключить модуль по USB. (там есть такие выводы и не забудьте питание урезать до требуемого напряжения с 5 В USB). Пробовал я этот способ, питание брал со стабилизатора 3.3в, подключал на проводках к разъему USB, не обнаруживает комп устройство. Походу USB в модуле выключено. А прошивки для донгла в примерах нет. Интересно какой телефон у российской техподдержки? попробую в компэл позвонить может они знают.
|
|
|
|
|
Dec 7 2012, 11:57
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 7-12-05
Из: Ростов-на-Дону
Пользователь №: 11 911

|
Ура получилось сделать донгл из ble112! Оказалось, что я забыл подтянуть порт p1_0 к D+ USB. Подтянул через резистор 1.5к, как в схеме в даташите. Прошил прошивкой из примеров "usbcdc". Воткнул в usb и вуаля обнаружился донгл!!! blegui сразу его увидела и стала активно общаться, т.е. появился ответ. Сейчас сделаю тоже самое со вторым модулем ble112 и попробую пообщаться между ними используя blegui. p.s. вот как это выглядит:
|
|
|
|
|
Dec 7 2012, 14:27
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 7-12-05
Из: Ростов-на-Дону
Пользователь №: 11 911

|
Цитата(Peps @ Dec 7 2012, 16:56)  Поздравляю Вас с первой победой! Спасибо за помощь и поддержку!!!
|
|
|
|
|
Jan 11 2013, 16:53
|
Группа: Участник
Сообщений: 14
Регистрация: 18-11-09
Из: Питер
Пользователь №: 53 704

|
Поправьте если не прав
Bluetooth BLE может работать только с Bluetooth BLE , c обычным Bluetooth 4.0 работать НЕ БУДЕТ. У них даже частоты разные.
Было разработано, чтобы заменить беспроводные датчики ( которые могут работать без замены питания 5 лет) использую proprietary протокол. Например для умного дома или охранных устройств.
Вопрос :
Кто-то может измерить реальное потребление в ждущем и режиме передачи например 128 байт. И на сколько хватит батарейки cr2032 если раз в час передавать 128 byte .
|
|
|
|
|
Jun 13 2013, 12:04
|
Группа: Новичок
Сообщений: 3
Регистрация: 7-06-13
Пользователь №: 77 106

|
Добрый день!
Мучусь уже не первый день с новым BLE112... помогите организовать обмен между заводским донглом BLED112 и модемом ... Хотелось бы получить что то на подобии радиоудлинителя UARTA.... Помогите хоть советом((( как в ГУИ организовать обмен(( Спасибо!
|
|
|
|
|
Jun 24 2013, 11:21
|
Группа: Новичок
Сообщений: 1
Регистрация: 2-04-13
Пользователь №: 76 311

|
Тоже разрабатываю аналог Cable Replacement profile, правда на кастомной плате на СС2540. Что интересно, экзамплы для Bluegiga BLE112 завести не удалось (в т.ч. BGScript):прошитый донгл даже не детектируется как USB-устройство. Поэтому покопался в исходных кодах для TI CC2540 и наклепал профиль на основе SimpleBLEPeripherial, мастера сделал на usb-dongle bled112 с помошью протокола BGApi
|
|
|
|
|
Jul 10 2013, 11:59
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 7-12-05
Из: Ростов-на-Дону
Пользователь №: 11 911

|
Цитата(renatershov @ Jun 24 2013, 15:21)  .... мастера сделал на usb-dongle bled112 с помошью протокола BGApi 1. А на компе на чем пишете ? С++ Builder ? У меня с помощью GCC_MinGW получилось откомпилить исходники примеров, "scan_example" и "thermometer-demo", они работают, датчик температуры данные выдает. Правда там в скрипте не температура, а просто цикл от 0 до 100 с частотой 2раза в секунду. см картинку. А в С++ Builder их пока не получается прикрутить, не хватает "unistd.h", а при добавлении его и других нужных хэдеров из GCC_MinGW, куча ошибок лезет. 2. Может есть у кого исходники blegui2.exe ? Или другой пример ? или как вообще начать работать с Bluegiga API на C++ Builder ? 3. Почему то у всех моих прошивок девайсов MAC адрес в blegui2.exe ff:ff:ff:ff:ff:ff Вообще этот адрес где можно задать? в скрипте или в hardware.xml ? и нужно ли его задавать или пусть такой будет? конфликтов не будет? 4. Можно ли используя скриптовый язык делать короткие задержки например 200мкс? Это нужно чтобы включить ИК светодиод на 200мкс, далее получить данные от АЦП с фототранзистора, и выключить светодиод. Короткие задержки нужны для уменьшения энергопотребления. Ток на светодиод идет большой 50mA, через полевик, так что подсветить он успевает на таком импульсе. Спасибо!  
|
|
|
|
|
Jul 11 2013, 13:29
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 7-12-05
Из: Ростов-на-Дону
Пользователь №: 11 911

|
Вроде я понял почему MAC адрес стал ff:ff:ff:ff:ff:ff Потому что я прошивал откомпилированное на ble-1.1.1-71 через SmartRF Flash Programmer от TI, а BlueGiga это запретила в новых версиях компилятора, нужно пользоваться BLEupdate tool от Bluegiga для прошивки, чтобы не затереть важную инфу. Вроде так понял. Сейчас сделал запрос в техподдержку Bluegiga, чтобы прислали мне лицензионные ключи, и подсказали что делать с MAC адресом. Вот цитаты из pdf: " Note: TI Flash tool should NOT be used with the Bluegiga Bluetooth Smart SDK v.1.1 or newer , but BLE Update tool should be used instead. The BLE112 and BLED112 devices contain a security key, which is needed for the firmware to operate and if the device is programmed with TI flash tool, this security key will be erased. Note: Final 1.1.0 SW release will require the Bluegiga license key at the module and this will need to be entered to the modules through the programming pins. " ------update-------- Вроде не так. MAC адрес стерся по какой то другой причине. Изменить его можно в SmartRF Flash Programmer от TI IEEE Secondary это и есть MAC адрес и он почемуто стал ff:ff:ff:ff:ff:ff IEEE Primary это Serial number он остался целый Из Bluegiga прислали длинные лицензионные ключи для BLE Update tool. Еще написали что если вы вдруг стерли свой MAC, то если его помните или записали, то можете его восстановить в SmartRF Flash Programmer от TI. А если потеряли то они могут прислать новый. Я запросил чтобы прислали. И они прислали. Причем все так быстро, каждый ответ меньше 5 минут. И лицензионные ключи и новый MAC.  Так что советую записывать куда нибудь в надежное место MAC адреса купленных модулей и на всякий случай серийные номера.
|
|
|
|
|
Jul 30 2013, 10:22
|
Участник

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

|
Здравствуйте, все! Тоже очень активно интересуюсь BLE112 и случайно наткнулся на эту тему. Может кто-нибудь по программке помочь советом? Буду очень благодарен, если откликнитесь! Спасибо!
|
|
|
|
|
Jul 30 2013, 10:22
|
Участник

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

|
Здравствуйте, все! Тоже очень активно интересуюсь BLE112 и случайно наткнулся на эту тему. Может кто-нибудь по программке помочь советом? Буду очень благодарен, если откликнитесь! Спасибо!
|
|
|
|
|
Aug 7 2013, 14:44
|
Участник

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

|
Цитата(algidim @ Aug 7 2013, 20:01)  Подскажите, а программатор cc-debugger обязательно нужен или както можно обойтись без него ? Если, вы хотите прошить модуль, то это пожалуй один из самых простых, дешевых и надежных способов.
|
|
|
|
|
Aug 8 2013, 13:10
|
Частый гость
 
Группа: Участник
Сообщений: 160
Регистрация: 5-04-06
Из: Москва
Пользователь №: 15 847

|
Цитата(lknv_a @ Aug 7 2013, 18:44)  Если, вы хотите прошить модуль, то это пожалуй один из самых простых, дешевых и надежных способов. А вам что то удалось уже сделать ? Если подключить новый модуль к USB по схеме из даташита, его комп вообще не уведет без прошивки или он както определится ?
|
|
|
|
|
Dec 22 2013, 23:45
|
Группа: Участник
Сообщений: 9
Регистрация: 5-10-07
Пользователь №: 31 103

|
Цитата(Peps @ Sep 28 2012, 08:47)  Я разрабатываю приложение под BLE112. Спрашивайте, может чем помогу. Здравствуйте, тоже занялся этим модулем. Интересует работа со стороны Windows 8 без донглов. Есть такой опыт? Я столкнулся с проблемой нахождения DevicePath, чтобы файл можно было открыть. Не могу получить интерфейс через SetupDiEnumDeviceInterfaces, чтобы прочитать его детали. Если есть кусочки работающего кода или примеры целиком, был бы очень рад взглянуть.... Если не секрет, конечно.
|
|
|
|
|
Dec 7 2014, 11:28
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 19-12-08
Пользователь №: 42 616

|
использую БЛЕ112 в качестве CABLE REPLACEMENT. Получаеться передавать не более 50 пакетов в секунду по 20 байт. Вожможно ли увеличить обьем данных?
|
|
|
|
|
Feb 4 2015, 07:44
|
Группа: Новичок
Сообщений: 1
Регистрация: 4-02-15
Пользователь №: 84 921

|
Собираюсь работать с BLE112 или CC2540 (пока не определился), а именно для передачи данных с датчиков на ПК или на смартфон. Буду благодарен за любой ответ на вопрос: Какой модуль вы советуйте, и что необходимо для программирования этих модулей, и вкратце как производится программирование?
|
|
|
|
|
Apr 11 2015, 11:13
|
Группа: Новичок
Сообщений: 2
Регистрация: 11-04-15
Пользователь №: 86 178

|
Добрый день. Суть проблемы в следующем нет CC-debugger, есть SmartRF Programmer, но им нельзя прошить модуль через Bluegiga BLE SW Update Tool. Соответственно если снять дамп с прошитого модуля и прошить им дугой, то должно все заработать, поскольку область памяти где живет лицензия тоже перенесется. Может ли кто-нибудь прошить модуль BLE112 через CC-debugger этой прошивкой и снять дамп через Texas Instruments SmartRF Flash Programmer?
|
|
|
|
|
Apr 11 2015, 16:03
|
Группа: Новичок
Сообщений: 2
Регистрация: 11-04-15
Пользователь №: 86 178

|
Цитата(A. Fig Lee @ Apr 11 2015, 20:27)  Я себе сделал программатор на Raspberry PI. Читает hex файлы и пишет. Правда для CC2530, но это тоже самое в плане программирования. Алгоритм то опубликован. И вон вверху есть предложение на Ардуино запрограммировать. SmartRF Programmer тоже читает и пишет hex, но Bluegiga BLE SW Update Tool через CC-debugger записывает в какую-то область памяти лицензию. Поэтому и хотел дамп памяти с уже запрограммированного устройства, чтобы в дампе была прошитая лицензия.
Сообщение отредактировал Виктор Ермаков - Apr 11 2015, 16:06
|
|
|
|
|
Apr 11 2015, 20:02
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(Виктор Ермаков @ Apr 11 2015, 12:03)  SmartRF Programmer тоже читает и пишет hex, но Bluegiga BLE SW Update Tool через CC-debugger записывает в какую-то область памяти лицензию. Поэтому и хотел дамп памяти с уже запрограммированного устройства, чтобы в дампе была прошитая лицензия. Так а в чем проблема прочитать всю флэш память и полностью ее запрограммировать с помощью SmartRF Programmer? ... A.. Дошло до меня наконец
Сообщение отредактировал A. Fig Lee - Apr 11 2015, 20:07
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Apr 14 2015, 10:41
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(призрак @ Apr 14 2015, 06:32)  Помогите железячнику: Задача модуль BLE112 впаян в плату, надо через JTAG CCDebagerr-ом прошить значения портов (UART1)? как минимально это сделать, не занимаясь программированием и написанием скриптов. Попробовал сделать USB-донгл , определился, но не коннектится.. да и не могу найти как задать значения портов на примере В смысле? Плата подсоединена ни к тем ножкам UARTa в БЛЕ112? Ну надо само собой будет перепаять ножки на БЛЕ112, получить hex прошивки, найти инструкцию, которая меняет/устанавливает выбор UART (по моему P0SEL регистр, надо будет дизассемблировать весь код и разбиратся). Если там вообще ремаппинг есть. А то и добавить придется и компильнуть ассемблер.
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Apr 14 2015, 12:57
|

Местный
  
Группа: Свой
Сообщений: 216
Регистрация: 12-12-06
Из: Москва
Пользователь №: 23 439

|
Цитата(A. Fig Lee @ Apr 14 2015, 13:41)  В смысле? Плата подсоединена ни к тем ножкам UARTa в БЛЕ112? Ну надо само собой будет перепаять ножки на БЛЕ112, получить hex прошивки, найти инструкцию, которая меняет/устанавливает выбор UART (по моему P0SEL регистр, надо будет дизассемблировать весь код и разбиратся). Если там вообще ремаппинг есть. А то и добавить придется и компильнуть ассемблер. Нет, есть плата, куда будет впаиваться BLE112 и выведен JTAG на разъем, UART разведен как положено по datasheet. Требуется - 1. прошить модуль, задав что рабочий UART0 на Р1, подключенный к микроконтроллеру. 2. Нужно ли еще что-то прошивать внутрь модуля, или все остальное пишет программист в программе для МК? Нашел примеры у блюгига - UART 114k <?xml version="1.0" encoding="UTF-8" ?> - <project> <gatt in="gatt.xml" /> <hardware in="hardware.xml" /> <image out="BLE112.hex" /> <device type="ble112" /> <boot fw="bootuart" /> </project> <?xml version="1.0" encoding="UTF-8" ?> - <configuration> - <service uuid="1800"> <description>Generic Access Profile</description> - <characteristic uuid="2a00"> <properties read="true" const="true" /> <value>Bluegiga UART Demo</value> </characteristic> - <characteristic uuid="2a01"> <properties read="true" const="true" /> <value type="hex">00</value> </characteristic> </service> </configuration> <?xml version="1.0" encoding="UTF-8" ?> - <hardware> <sleeposc enable="true" ppm="30" /> <usb enable="false" endpoint="none" /> <txpower power="15" bias="5" /> <usart channel="1" alternate="1" baud="115200" flow="true" endpoint="api" /> <wakeup_pin enable="true" port="0" pin="0" /> <port index="0" tristatemask="0" pull="down" /> <pmux regulator_pin="7" /> </hardware> <?xml version="1.0" encoding="UTF-8" ?> - <usb> - <device bDeviceClass="2" bcdDevice="1" iManufacturer="Bluegiga" idVendor="2458" idProduct="0001" iProduct="Low Energy Dongle" iSerialNumber="1" bcdUSB="200"> - <configuration iConfiguration="CDC" bmAttributes="80" bMaxPower="25"> - <interface bInterfaceClass="2" bInterfaceSubClass="2" bInterfaceProtocol="1" iInterface="CDC control"> - <descriptor Type="24"> <data>001001</data> </descriptor> - <descriptor Type="24"> <data>0202</data> </descriptor> - <descriptor Type="24"> <data>060001</data> </descriptor> - <descriptor Type="24"> <data>010301</data> </descriptor> <endpoint bEndpointAddress="82" bmAttributes="3" wMaxPacketSize="40" bInterval="40" /> </interface> - <interface bInterfaceClass="A" bInterfaceSubClass="0" bInterfaceProtocol="0" iInterface="CDC data"> <endpoint bEndpointAddress="84" bmAttributes="2" wMaxPacketSize="40" bInterval="1" /> <endpoint bEndpointAddress="4" bmAttributes="2" wMaxPacketSize="40" bInterval="1" /> </interface> </configuration> </device> </usb> И какойто hex файл - этого достаточно?? И где можно посмотреть содержание файла?? И что значит часть дескрипторов
|
|
|
|
|
Apr 14 2015, 15:17
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(призрак @ Apr 14 2015, 08:57)  Нет, есть плата, куда будет впаиваться BLE112 и выведен JTAG на разъем, UART разведен как положено по datasheet. Требуется - 1. прошить модуль, задав что рабочий UART0 на Р1, подключенный к микроконтроллеру. 2. Нужно ли еще что-то прошивать внутрь модуля, или все остальное пишет программист в программе для МК? ... БЛЕ112 не что иное, как CC2540 с прошивкой. Кпгда я говорил про hex file, я имелл ввиду именно БЛЕ112 прошивку. JTAG не совсем мне понятен, это надо понимать для вашего модуля, не БЛЕ. БЛЕ использует 2 ноги: P2_2,P2_1 для записи и чтения фирмваря в него/из него. Это тот, который надо править. 2. "По даташиту" у БЛЕ УАРТ можит быть в 2х разных позициях. Если программист не меняет прошивку БЛЕ, поменять выводы УАРТ у БЛЕ, вы не сможете. Надо сказачать содержимое БЛЕ, отрихтовать и залить. Не забудьте о лицензии! Она вроде в последнем секторе блугиги лежит.
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Apr 15 2015, 06:00
|

Местный
  
Группа: Свой
Сообщений: 216
Регистрация: 12-12-06
Из: Москва
Пользователь №: 23 439

|
Цитата(A. Fig Lee @ Apr 14 2015, 18:17)  БЛЕ112 не что иное, как CC2540 с прошивкой. Кпгда я говорил про hex file, я имелл ввиду именно БЛЕ112 прошивку. JTAG не совсем мне понятен, это надо понимать для вашего модуля, не БЛЕ. БЛЕ использует 2 ноги: P2_2,P2_1 для записи и чтения фирмваря в него/из него. Это тот, который надо править. 2. "По даташиту" у БЛЕ УАРТ можит быть в 2х разных позициях.
Если программист не меняет прошивку БЛЕ, поменять выводы УАРТ у БЛЕ, вы не сможете. Надо сказачать содержимое БЛЕ, отрихтовать и залить.
Не забудьте о лицензии! Она вроде в последнем секторе блугиги лежит. Тот файл который лежит в примерах - BLE112.hex - его достаточно или его тоже нужно создавать?? JTAG - это разъем на который подключается CCDebagger? чтобы прошить впаянный модуль За прошивку отвечает строка <usart channel="1" alternate="1" baud="115200" flow="true" endpoint="api" /> где задаются выводы.. Вопрос в следующем - если я зашью в модуль эту прошивку, то программист получит доступ по UART к нему как оконечнеку моста?
|
|
|
|
|
Nov 25 2015, 16:41
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 7-12-05
Из: Ростов-на-Дону
Пользователь №: 11 911

|
Общение с BLE112 через RS232 с компом помощью BGLIB API наладил, приделал эти библиотеки к C++ Builder 6, с модулем общаюсь, тут все Ок. Но сделать тоже самое на PIC18F46J50 не получается, затык в компиляторе под этот PIC18, а именно CCS C PIC Compiler 5.049. Компилятор не хочет понимать следующую строку: typedef void (* ble_cmd_handler) (const void *); Она используется в исходниках BGLIB API. C++ Builder 6 эту строку воспринял нормально.
уже сделал простой пример, он все равно не компилится, выдает такие ошибки: "Expecting an identifier" "Expecting a declaration"
вот и вся программа: newmain22.c: ----------------------------------------------------------------------------- #include <18F46J50.h>
typedef void (*ble_cmd_handler)(const void*);
void main(void) {
int a, b, c; a=2; b=2; c=a+b; } -----------------------------------------------------------------------------
"C:\Alex\PROGRAMS\PICC5049\CCSCON.exe" out="build/default/production" newmain22.c +FH +DF +CC +Y=9 +EA +DF +LN +T +A +M +J +EA +Z -P #__18F46J50=1 C:\Alex\MPLAB_PRJ_PCC\test_struct\test_struct.X\newmain22.c:3:59: Error#28 Expecting an identifier C:\Alex\MPLAB_PRJ_PCC\test_struct\test_struct.X\newmain22.c:3:64: Error#43 Expecting a declaration C:\Alex\MPLAB_PRJ_PCC\test_struct\test_struct.X\newmain22.c:3:65: Error#43 Expecting a declaration 3 Errors, 0 Warnings. Build Failed.
Может кто знает как этому CCS C PIC компилятору объяснить что это за строка: typedef void (*ble_cmd_handler)(const void*); может ее можно както записать по другому? я честно ее не пойму
|
|
|
|
|
Nov 26 2015, 13:15
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 7-12-05
Из: Ростов-на-Дону
Пользователь №: 11 911

|
Похоже это косяк CCS C PIC Compiler. Установил MPLAB® XC Compiler, скомпилилось все нормально.
Блин так неохота перелазить с одного компилятора на другой, когда уже написанна куча кода под CCS C PIC Compiler.
|
|
|
|
|
Nov 26 2015, 14:51
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 7-12-05
Из: Ростов-на-Дону
Пользователь №: 11 911

|
помогли на сайте поддержки CCS В общем оказывается, что по умалчанию const у них используется для хранения переменных в ROM. А что бы был обычный си нужно было написать: #device ANSI //switch const meaning Так, сделал и все ошибки исчезли  Вот дословный ответ c их сайта: By default in CCS, a 'const', is a ROM type to which a pointer can't be constructed. In ANSI C, a const is a variable in RAM, that is protected (if the hardware has such protection), against being modified. If ANSI is selected CCS attempts to switch the definition (but personally it is safer just to get rid of const).
|
|
|
|
|
Jun 4 2017, 19:13
|
Группа: Новичок
Сообщений: 2
Регистрация: 16-05-17
Пользователь №: 97 095

|
Цитата(Peps @ Sep 28 2012, 06:47)  Я разрабатываю приложение под BLE112. Спрашивайте, может чем помогу. А такой функционал - completelykeyless.com/premium-bluetooth-keyless/ проблемно сделать?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|