Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: пока не понятные баги OpenCPU в M10
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Страницы: 1, 2, 3
pau62
Типа с помощью файловой системы. Мож есть и другой способ, но пока не встречалась инфа на эту тему.
V125
Чтобы сохранить единственную int (при отключении питания) надо файловую систему поднять? Может как то на уровне самого компилятора можно сделать? Например в CVAVR есть отличная фишка eeprom int a;
pau62
а что там поднимать-то? все есть и все работает. а пример CV не типичный . просто постарался чувак))) В чипсете МТК нету ведь ЕЕПРОМа - основная флешь в этом качестве используется. Можно конечно извратиться, перерыть доку на чипсет , и создать что-то оригинальное. но надо ли. там все равно запись блочная , вместо байта будешь колобайт или хз сколько перезаписывать, чего зря приключений искать.
GeGeL
В самой первой версии оцпу были такие функции:
Ql_FlashReadData, Ql_FlashWriteData, Ql_FlashDelete
Но потом убрали полностью за ненадобностью. Для сохранения даже 1 байта используется файл, ничего поднимать не надо, и размер кода тот же, т.к. работа с файловой системой - это часть АПИ (ядра модуля).

Для экспериментаторов: есть еще интересные недокументированные функции (в том числе и для 32-флеш):
extern void (*Ql_WrtCodeRegion_Init)(void);
extern s32 (*Ql_WrtCodeRegion_Write)(s8* buffer, s32 length);
extern void (*Ql_WrtCodeRegion_Finish)(void);

Очевидна аналогия с функциями обновления кода (они только для 128-флеш):
extern void (*Ql_Fota_App_Init)(void);
extern s32 (*Ql_Fota_App_Write_Data)(s32 length, s8 * buffer);
extern void (*Ql_Fota_App_Finish)(void);

Только предположительно WrtCodeRegion может писать в любое место флеши (в том числе и в область адресов ядра). Т.о., наверное, можно динамически менять приложение на лету. Но как задать адрес???
Если у кого будет желание, попробуйте, может, что получится.

Китайцы отказались комментировать:

===================================================
Mon, 30 May 2011 09:30:49 +0400
Dear Stanley!
I found some functions unknown for me:
extern void (*Ql_WrtCodeRegion_Init)(void);
extern s32 (*Ql_WrtCodeRegion_Write)(s8* buffer, s32 length);
extern void (*Ql_WrtCodeRegion_Finish)(void);
What do they do?
May I use this for storage some constant data in ROM?
May I use this for storage QL_CUSTOM_V01.bin overrided old code and then
run new?
Best regards, Gegel.
===================================================
Mon, 30 May 2011 18:35:26 +0800 (CST)
Hi Gegel,
These APIs are designed for special requirement. You can skip them.
You can store your constant data by file operation.
Updating your app bin, please use the Download Tool.
Stanley
====================================================
V125
Еще заметил странность -при выполнении Ql_SendTextSMS(); на какое то мгновенье creg, cgreg перестают быть =1. И моя прога перегружает модуль, видимо надо таймаут сделать. Однако факт.
GeGeL
Я вобще смс отсылаю отсроченно. Например, если входящим звонком или входящим смс надо инициализировать отсылку смс-ответа, то запускаю после отбоя звонка или прочтения смс паузу секунд на 10-20 и затем уже делаю ответный звонок или смс. Иначе возникают непредвиденные эффекты, в частности, отсылка смс накладывается на отсылку подтверждения о прочтении, на незавершенных входящий звонок и т.п.
И еще: непредвиденные эфекты возникали также при попытке ответить на звонок или отбить из Callback_Ring.
Приходится из нее запускать таймер, и выходить. А уже по таймеру делать необходимое.
CADiLO
>>>> Иначе возникают непредвиденные эффекты, в частности, отсылка смс накладывается на отсылку подтверждения о прочтении, на незавершенных входящий звонок и т.п. И еще: непредвиденные эфекты возникали также при попытке ответить на звонок или отбить из Callback_Ring. Приходится из нее запускать таймер, и выходить. А уже по таймеру делать необходимое.

Мы тоже сталкивались с накладками в SIM900. Например отправлена SMS, ждем отчет и тут же идет входящий.
Было "примерзание" по СОМ порту пока модуль не разруливал эти события.
Чтобы не мудрить кому отдавать приоритет ввели команду AT+GSMBUSY
Reject Incoming Call
0 Enable incoming call
1 Forbid all incoming calls
2 Forbid incoming voice calls but enable CSD calls
Возможно будет еще параметр когда разрешен входящий voice и запрещен SMS.
Может и у вас что-то подобное имеется.....
zed_t
А каким новым OpenCPU_SDK можно пользоваться для Revision: M12BR01A02T128_OCPU?
Сейчас пользуюсь OpenCPU_SDK_M12BR01A02V03T128, однако там нет функций для работы с СМС и звонками.

Возможно ли использовать OpenCPU_SDK_V3.3 для типа памяти T128?
CupuyC
Цитата(zed_t @ Nov 23 2011, 11:33) *
А каким новым OpenCPU_SDK можно пользоваться для Revision: M12BR01A02T128_OCPU?
Сейчас пользуюсь OpenCPU_SDK_M12BR01A02V03T128, однако там нет функций для работы с СМС и звонками.

Возможно ли использовать OpenCPU_SDK_V3.3 для типа памяти T128?
Вы используете правильную SDK. Что такое OpenCPU_SDK_V3.3? Для какого модуля это и какая версия??
С чего вы взяли, что в OpenCPU_SDK_M12BR01A02V03T128 нет функций работы с СМС и звонками? С OPEN_CPU_DGD_V1.1.pdf? Так китайцы не успевают переписываь документацию под реальный функционал openCPU. В хидерах смотрели? Там описаны все функции, которые реально есть в данной прошивке.
Aleksandr_q
Цитата(zed_t @ Nov 23 2011, 13:33) *
А каким новым OpenCPU_SDK можно пользоваться для Revision: M12BR01A02T128_OCPU?
Сейчас пользуюсь OpenCPU_SDK_M12BR01A02V03T128, однако там нет функций для работы с СМС и звонками.

Возможно ли использовать OpenCPU_SDK_V3.3 для типа памяти T128?


Нет то для N32, для T128 нужно использовать M12BR01A02T128_OCPU и OpenCPU_SDK_M12BR01A02T128 все работает, давайте мыло вышлю сравните.
zed_t
Цитата(CupuyC @ Nov 23 2011, 17:17) *
Вы используете правильную SDK. Что такое OpenCPU_SDK_V3.3? Для какого модуля это и какая версия??
С чего вы взяли, что в OpenCPU_SDK_M12BR01A02V03T128 нет функций работы с СМС и звонками? С OPEN_CPU_DGD_V1.1.pdf? Так китайцы не успевают переписываь документацию под реальный функционал openCPU. В хидерах смотрели? Там описаны все функции, которые реально есть в данной прошивке.

Вы правы, в хедерах нашел искомые функции.Спасибо sm.gif.
Что касается OpenCPU_SDK_V3.3, то вышел был пост Aleksandr_q, в котором он указывал про выход новой версии openCPU.



Цитата(Aleksandr_q @ Nov 23 2011, 18:49) *
Нет то для N32, для T128 нужно использовать M12BR01A02T128_OCPU и OpenCPU_SDK_M12BR01A02T128 все работает, давайте мыло вышлю сравните.


Держите мыло: damorous(сабака)gmail.com . И если Вас не затруднит отправьте заодно и OPEN_CPU_DGD_V1.2.pdf. Заранее спасибо.
Aleksandr_q
Цитата(CupuyC @ Nov 23 2011, 18:17) *
Вы используете правильную SDK. Что такое OpenCPU_SDK_V3.3? Для какого модуля это и какая версия??


OpenCPU_SDK_V3.3 - это последняя версия СДК. Рекомендуется использовать только с модулями M12BR02A02N32_OCPU
V125
Возможно ли во флеши М10 кроме текстовых файлов сохранять .rar или .exe файлы? Т.е. использовать как USBфлешку (точнее как COM флешку). Есть ли способ переменить IMEI модуля?
CupuyC
Цитата(V125 @ Dec 30 2011, 09:51) *
Возможно ли во флеши М10 кроме текстовых файлов сохранять .rar или .exe файлы? Т.е. использовать как USBфлешку (точнее как COM флешку). Есть ли способ переменить IMEI модуля?
По идеи любой тип файла можно записать в память для отправки ММС... Есть дока "GSM_FILE_ATC_V1.2" - там расписано как с помощю АТ команд запихать файлы в память модуля.
Есть АТ команда для смены ИМЕИ.
V125
А что за команда, я встречал только запрос IMEI (вроде AT+GSN ).
CupuyC
Цитата(V125 @ Dec 30 2011, 11:09) *
А что за команда, я встречал только запрос IMEI (вроде AT+GSN ).
Пишите мне на wireless(собака)grandelectronic.com. Про эту команду на форуме просили квиктеловци не писать )
Но, если погуглить внимательно, то можно найти доки по команде для смены ИМЕИ wink.gif
GeGeL
Цитата(V125 @ Dec 30 2011, 10:51) *
Возможно ли во флеши М10 кроме текстовых файлов сохранять .rar или .exe файлы?

Из-под оцпу указываете любое имя файла (расширение идет как часть имени и модулю пофиг).

Ситуация: есть пару десятков подготовленных mp3-файлов для голоcового меню. Не совсем удобно доливать их после запуска оцпу при серийном производстве. Куда приятнее было бы создать бинарник и дописать его в scat. Интересно, это возможно?

To Harbinger:
Не обращали внимания: при записи файлов в свежепрошитый модуль они начинают писаться с начала области файловой системы или сразу случайно? FAT в начале этой области?
Будет время, зачитаю FlashTool-ом до и после записи файлов, сравню дампы - отпишу.
V125
Столкнулся с неприятностью. Если модуль в режиме GPRS (оператор ТЕЛЕ2) постоянно шлет данные на сервер, входящий звонок на модуль невозможен. Приходится устанавливать период посылки данных не менее 3х секунд. Как можно установить приоритет на входящие звонки и SMS. На Мегафоне все нормально. Может косяки оператора?
kurtsvl
может найдется добрый человек который скинет мне на мыло kurtsvl@gmail.com документ под названием OPEN_CPU_DGD_V1.2 ибо в имеющейся у меня старой версии не освещена работа с СМС , перерыл гугл яндекс и китайские торренты нигде нет , а конторы которые модули продают почему то документацию и среду разработки тарят,на фтп не попасть а при регистрации слишком много вопросов задают,хотя логичней было бы наверное наоборот открытыми такие вещи держать
dch
Цитата(allmaker @ Jan 31 2011, 19:19) *
Вы не работали с Motorola, там сначала надо стать авторизированным разработчиком, что бы получить доступ к документации и софту. А это не один месяц.

так надо и расчитывать не на один милениум, горбачёв выглядит ещё очень молодым и вполне может десяток раз порулить союзом
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.