Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: EAT SIM900
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Страницы: 1, 2
CADiLO
Итак первые новости по работе над новой версией.
АPI которые протестированы и войдут в будущую версию.

GetADCValue
GetBatteryVoltage
GetModuleTemperature
GetRegistrationStatus
GetGPRSRegistrationStatus
GetGPRSAttachStatus
GetCSQValue
GetServiceCellInformation
GetNeighborCellInformation
GetIMEI
GetCfunValue


Multi task API

SendEventMsg
CreateSem
semPend
semPost

Список будет пополняться по мере тестирования и включения новых.

Вопросы - "а когда будет хххх уууу" пока не задавайте - работа идет и список запланированых новинок достаточно большой.
Что конкретно будет, я сам еще точно не знаю - как внесут - сообщу в этой теме.
Romashki
Хорошо б было бы еще, если б симкомовцы получение больших смсок сделали..... на сегодня пока не смог добиться получения даже 60 символов на русском языке....
Frolov Kirill
Цитата(Romashki @ Nov 1 2012, 15:21) *
Хорошо б было бы еще, если б симкомовцы получение больших смсок сделали..... на сегодня пока не смог добиться получения даже 60 символов на русском языке....


Больших смсок не бывает. Это на самом деле множество коротких. При получении в PDU всё работает ок.
Romashki
а в text не все ок!
tedic
Скажите пожалуйста возможность использовать компилятор GCC сразу была или была позже добавлена (или вообще - есть это? компиляция GCC)
CADiLO
Компилятор GCC теперь поддерживается начиная с версии SIM900DevIDE_MultiTask_GCC
Сейчас эта версия еще доделывается, но большинство заявленого работает.

Билд компилятора должен быть - GCC-2011.09-69-arm-none-eabi
bugish
Установил SIM900DevIDE_MultiTask_GCC (взял с ftp macrogroup))
Как всегда подправил файлы version и version1, зашил в SIM900 прошивку 1137B02V01T900M64_ST
Слетел IMEI, но это не проблема. Покоманде AT+GMR отвечает Revision:1137B02T900M64_ST

Объединил два рабочих пректа написанных на 1137B04SIM900M64_ST_EAT, за счет новых команд из SIM900_Embedded AT Application Note_V1 02.pdf код значительно уменьшился .
Команду ebdat4_31GetIMEI победить не смог, запутался с типами, в данный момент использование этой команды не принципиально.
Стал тестировать новый проект все отлично работат, пока не обнаружил "грабли" с командой eat1_09UpdateEmbeddedAp, в описании команды как ранее говориться: eat1_09UpdateEmbeddedAp, процесс обновления не запускается сразу, он будет ждать выхода fl_entry (). Раньше после выхода из fl_entry () происходило обновление и перезапуск модуля, а теперь после выхода из fl_entry () висит, если вручную нажать RESET модуль стартует, вижу обновление не произошло. Как с этим бороться ума не приложу.

CADiLO
>>>1137B02V01T900M64_ST - штатная прошивка от терминала T900. Зачем зашивалась - непонятно.

Вы наверное скачали вот это - T900DevIDE_MultiTask_GCC.exe Здесь свое ядро - 1137B02V01T900M64_ST_Core.cla
И предназначено для модуля который установлен в терминале с привязками к конкретному железу.


Для работы с общим SIM900DevIDE_MultiTask_GCC идет ядро - 1137B04V01SIM900M64_ST_EAT.cla с которым компилится программа пользователя.



bugish
Откатился на ядро - 1137B04V01SIM900M64_ST_EAT перекомпилил, eat1_09UpdateEmbeddedAp возвратила результат FL_OK (System will begin to update), keepGoing = FALSE; выход из fl_entry () - результат как и раньше висит не на что не реагирует помогает только RESET.
west329_
Можно поинтересоваться какая на данный момент последняя версия софта и ИДЕ для SIM900 ?
CADiLO
Последние версии здесь.
http://microchip.ua/temp

для 900 и 908 с DTMF - однозадачные версии

мультизадачная под GCC - пока без DTMF декодера

bugish
В любезно предоставленной микрочипом сборке SIM900DevIDE_MultiTask_GCC не забываем поменять в файле version1 значение
1137B01V01SIM900M64_ST_EAT_FOR_TEST_20120410_16_25.sym на 1137B04V01SIM900M64_ST_EAT.sym

Кто смог победить функцию eat1_09UpdateEmbeddedAp в сборке SIM900DevIDE_MultiTask_GCC отпишитесь пожалуйста.
Shum1
Уважаемый CADiLO!

Пытаюсь воспользоваться данной средой)

Поставил компилятор и IDE, пути без пробелов.

Зашил в модуль ...Embedded_AT\tools\SIM900DevIDE_MultiTask_GCC\EmbatSIM\gsmos\coreSW\rvctcore\1137B04V01SIM900M64_ST_EAT.cla

Файл ...Embedded_AT\tools\SIM900DevIDE_MultiTask_GCC\EmbatSIM\gsmos\tools\version1 выглядит так:
SYMFILE = 1137B04V01SIM900M64_ST_EAT.sym
GLOBALMACRO =

Файл ...Embedded_AT\tools\SIM900DevIDE_MultiTask_GCC\EmbatSIM\gsmos\tools\version выглядит так:
04V01

Создал проект на основе примера sms, проект собрался. при попытке зашить в модуль - Error: The type of FLASH Does not match the firmware!

Куда копать? Ума не приложу. Помогите советом.
CADiLO
>>Зашил в модуль ...Embedded_AT\tools\SIM900DevIDE_MultiTask_GCC\EmbatSIM\gsmos\coreSW\rvctcore\1137B04V01SIM900M64_ST_EAT.cla

Не зашил в модуль, а шьем вместе с пользовательским. Должно заливаться 2 файла - ядро и пользовательский.

А у вас в опциях стоит - normal - обычное обновление. И Вы пытаетесь залить свой проект на место ядра.

Выберите опцию EmbeddedAT и укажите 2 файла.

И у меня отдельно выложен лоадер 1.6 - возьмите свежую версию.
bugish
Возникла необходимость применить WotchDog Timer (подвисала программа), решил разобраться с командой ebdat4_04Wdtkick()-Функция сброса сторожевого таймера. Вызывайте эту функцию с осторожностью, и только когда время выполнения кода EAT превышает время сброса сторожевым таймером (перевод макрогрупа). Вопрос как запустить WotchDog Timer и каков его интервал. Если я не ошибаюсь, это должен быть некий таймер, если его вовремя не сбросить, то должен пройти аппаратный RESET. Было предположение, что стартует после первого вызова ebdat4_04Wdtkick(), но ошибся либо интервал более 20 мин. Конечно можно слепить свой WotchDog Timer из любого таймера и ebdat4_03Reset(), но это уже не то.
Shum1
Цитата(CADiLO @ Dec 18 2012, 12:07) *
Не зашил в модуль, а шьем вместе с пользовательским. Должно заливаться 2 файла - ядро и пользовательский.


Спасибо, мастер)
Romashki
Эдуард, а там говорилось что для 900го выйдет новая прошивка с SPI и др. функциями....еще не обещают? sm.gif
Romashki
Подскажите, кто нибудь в ЕАТ принимал СМС примерно в 200 символов на русском языке (text mode, UCS2)? Получаю смс, читаю и если маленькая (до 10 символов) - модуль выдает и номер и текс, как только приходит большая - выдает с интервалами непонятные обрывки этой смс, но явно что не все части выдает....
bugish
Чтобы работала функция eat1_09UpdateEmbeddedAp в сборке SIM900DevIDE_MultiTask_GCC нужно в C:\T900DevIDE_MultiTask_GCC\EmbatSIM\ gsmos\ flcode\ fl_main.c. сделать следующие изменения:

// Make sure we never return
//while(1) _wait_event(); - закомментировать эту строку.

Проверенно в действующем проекте, решение предоставлено специалистами Макрогрупп, большое им за это спасибо.
bugish
Натолкнулся нв следующую проблему.
Функция ebdat4_31GetIMEI съедает последнюю цифру, т.е. выдает 14-ти значное значение, команда AT+GSN дает 15 цифр.

IMEIValue imei;
memset(StringBuffer, 0x00, sizeof(StringBuffer));
imei = ebdat4_31GetIMEI();
sprintf(StringBuffer, "IMEI:%s \r\n",imei.imei);
ebdat7_01DebugTrace(StringBuffer);


Romashki
А если попробовать так:

IMEIValue imei;

imei = ebdat4_31GetIMEI();
ebdat7_02DebugUartSend(imei.imei, sizeof(imei.imei));
Romashki
Проверил - действительно последнюю цифру не выдает.
CADiLO
Если тупо берут из FLASH, то там и хранится 14. 15-я считается при выдаче по GSN.
Romashki
Эдуард, подскажите, известно будет ли в мультитаск поддержка шины I2C ?
CADiLO
Заявку на интерфейсы они приняли. Посмотрим что будет в релизе. Дать 100% гарантии не могу, но бум требовать.
CADiLO
Имеется промежуточный билд EAT. Мультизадачник с декодером DTMF и вроде как новым генератором CLDTMF. Под компилятор GCC.
Еще добавлены расширеные АPI для SPI и I2C - кто там спрашивал ? wink.gif И еще... ну вобщем доки приложены к инсталятору..... sm.gif

Запросы только мне в личку, раздавать до выхода релиза буду не всем.
Lucky
Люди помогите разобраться. Не линкуется проект SIM900DevIDE_MultiTask_GCC.
C:\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_EABI\bin/arm-none-eabi-ld --just-symbols ../EmbatSIM/gsmos/coreSW/rvctcore/*.x .
./EmbatSIM/gsmos/libs/GCC/*.o -T ../EmbatSIM/gsmos/libs/GCC/sim900.ld -z muldefs -Map output/fcm.map -o output/fcm.elf ../Embat
SIM/gsmos/flcode/fl_crt0.o ../EmbatSIM/gsmos/flcode/fl_main.o code/fl_customer.o
/usr/bin/sh: C:CodeSourcerySourcery_CodeBench_Lite_for_ARM_EABIbin/arm-none-eabi-ld: No such file or directory
make: *** [output/fcm.elf] Error 127
Цырен.
Цитата(Lucky @ Feb 2 2013, 14:01) *
Люди помогите разобраться. Не линкуется проект SIM900DevIDE_MultiTask_GCC.
C:\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_EABI\bin/arm-none-eabi-ld --just-symbols ../EmbatSIM/gsmos/coreSW/rvctcore/*.x .
./EmbatSIM/gsmos/libs/GCC/*.o -T ../EmbatSIM/gsmos/libs/GCC/sim900.ld -z muldefs -Map output/fcm.map -o output/fcm.elf ../Embat
SIM/gsmos/flcode/fl_crt0.o ../EmbatSIM/gsmos/flcode/fl_main.o code/fl_customer.o
/usr/bin/sh: C:CodeSourcerySourcery_CodeBench_Lite_for_ARM_EABIbin/arm-none-eabi-ld: No such file or directory
make: *** [output/fcm.elf] Error 127


Все правильно установили? http://electronix.ru/forum/index.php?act=a...st&id=74156 попробуйте все проделать по этой доке.
Цырен.
Цитата(Lucky @ Feb 2 2013, 14:01) *
Люди помогите разобраться. Не линкуется проект SIM900DevIDE_MultiTask_GCC.
C:\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_EABI\bin/arm-none-eabi-ld --just-symbols ../EmbatSIM/gsmos/coreSW/rvctcore/*.x .
./EmbatSIM/gsmos/libs/GCC/*.o -T ../EmbatSIM/gsmos/libs/GCC/sim900.ld -z muldefs -Map output/fcm.map -o output/fcm.elf ../Embat
SIM/gsmos/flcode/fl_crt0.o ../EmbatSIM/gsmos/flcode/fl_main.o code/fl_customer.o
/usr/bin/sh: C:CodeSourcerySourcery_CodeBench_Lite_for_ARM_EABIbin/arm-none-eabi-ld: No such file or directory
make: *** [output/fcm.elf] Error 127

Кстати вы поняли в чем дело? Обратите внимание на слэши, а точнее на их отсутствие "C:CodeSourcerySourcery_CodeBench_Lite_for_ARM_EABIbin/arm-none-eabi-ld:" - поэтому и возникает сообщение что нет такого файла или директории.

Кстати, посмотрел EAT B02 , в ней есть функции работы с файлами и проигрывавшие аудио файлов, наряду с SPI. На словах было сказано, что в этой прошивке есть мэйнстримовские функции enhanced. Надо будет проверить.
Lucky
Всё спасибо разобрался. Руками поправил путь для линкера (взяв его в кавычки).
К стати симкомовская IDE ну уж очень "убогая". Я на Eclipse + GCC ARM перешёл.
Romashki
А в каком файле путь поправили?
Lucky
LD="$(PATH)/arm-none-eabi-ld"
в файле app_gcc_make_inc_s


А кто нибудь реализовывал полноценный кодер\декодер PDU сообщений? И еще странно что EVENT_SMS_IND существует,а API-шной функции выдёргивания и отправки SMS нету.
Romashki
Я работаю в text mode, API-шной функции выдёргивания и отправки SMS действительно нету (хотелось бы минимум три параметра получать из АПИ - номер отправителя, текст и время). По IND приходится AT командами вычитывать сообщение.
GeGeL
Эта функция и в Quectel, похоже, тупо использует AT в своем теле и вызывает callback при AT-ответе. При таком подходе не вижу преимущества АПИ, разве что визуально упростить код.
А указанные выше параметры все равно надо парсить руками из AT-ответа (в случае callback - с буфера по передаваемому указателю).
Lucky
Народ а кто-нибуть тестировал ядро 1137B02V01SIM900M64_ST_DTMF_JD_EAT (насколько я понимаю это последнее) на предмет выхода в GPRS.
У меня странность наблюдается достаточно часто при EVENT_CREG_IND и cregInd_evt.status == 1, по моему в этот момент модуль зарегился в GSM сети оператора, но при чтении структуры ebdat4_29GetServiceCellInformation половина полей явно левая, и соответственно не регится в GPRS. А когда
там правильная инфа то всё идет правильно. Есть у кого мысли?
Lucky
Народ кто-нибудь пользовался ebdat8_12SetSystemTime?????????????????????
Что-то у меня комбинация вида:
Data_Time.second = 0;
Data_Time.minute = 0;
Data_Time.hour = 0;
Data_Time.day = 19;
Data_Time.month = 2;
Data_Time.year = 2013;

if (ebdat8_12SetSystemTime (Data_Time,0) == FL_OK)
{
ebdat7_01DebugTrace("SET DATA + TIME -> OK ");
}
else
{
ebdat7_01DebugTrace("SET DATA + TIME -> ERROR ");
}
Выдаёт : SET DATA + TIME -> ERROR
Есть у кого соображения? Вообще-то эта функция в SIM900_Embedded AT Application Note_V1.02 вообще не описана, а в хидере есть, но похоже на текущем ядре не работает.
Romashki
Если не описана в SIM900_Embedded AT Application Note, значит ее не реализовали еще, но если есть в хидере, значит будет. Пока можно устанавливать через обычную АТ команду.
CADiLO
Сегодня после китайского НГ списался с Симкомом. Готовлю им замечания по релизу. Релиз выпустили именно на том что уже было готово. Понятно что не без огрехов, но работа не стоит, ЕАТ будет развиваться и дальше. Там как минимум еще с десяток API предполагается добавить. Ну и обещают, где-то к маю, версию EAT для 900R64. Более предметно пообщаюсь с ними на выставке. Вернусь - расскажу что еще ожидается.


Ну и вчера общался с одним из клиентов.... Монстры - иначе не скажешь... Дизассемблировали ядро, переписали полностью кусок отвечающий за энергопотребление и у них теперь модуль как мобилка - оптимизирован по потреблению.... Хочу к ним в гости съездить, посмотреть что еще сделали под себя из ЕАТ.
Lucky
Разобрался. Нужно год вводить последние 2 цифры реального года.
Aurochs
Цитата(CADiLO @ Feb 20 2013, 09:56) *
Сегодня после китайского НГ списался с Симкомом. Готовлю им замечания по релизу. Релиз выпустили именно на том что уже было готово. Понятно что не без огрехов, но работа не стоит, ЕАТ будет развиваться и дальше. Там как минимум еще с десяток API предполагается добавить. Ну и обещают, где-то к маю, версию EAT для 900R64. Более предметно пообщаюсь с ними на выставке. Вернусь - расскажу что еще ожидается.

Ну и вчера общался с одним из клиентов.... Монстры - иначе не скажешь... Дизассемблировали ядро, переписали полностью кусок отвечающий за энергопотребление и у них теперь модуль как мобилка - оптимизирован по потреблению.... Хочу к ним в гости съездить, посмотреть что еще сделали под себя из ЕАТ.

a14.gif Знаю, какой это труд. Когда был молод - сам таким занимался.
Эдуард, кстати предлагаю Симкому вписать в замечания: пусть купят у людей коды и исправят прошивки, если сами там порядок навести не в состоянии. Может уже вообще пора выложить исходники в открытый доступ, хотя бы базовую часть? Конкурентам, думаю, там уже все равно воровать нечего, зато таким вот энтузиастам не придется в дерьме колупаться. Хотя может оказаться, что там исходники не лучше дизассемблированного кода. laughing.gif

Цитата(Lucky @ Feb 20 2013, 17:18) *
Разобрался. Нужно год вводить последние 2 цифры реального года.

И здесь Симком впереди всех! Потомкам проблему 2100 года нужно создавать уже сейчас - а то потом некогда будет smile3046.gif
bugish
Сегодня целый день потратил на "игры" с EVENT_SMS_IND прерывание отлично срабатывает и выдает ID сообщения, но после отправки AT+CMGR=ID мне в догонку вместо ответа на команду прилетает +CMTI:"SM",.. c ID сообщения, а затем только ответ на команду. Меняя параметры АТ+CNMI избавится от +CMTI:"SM",.. так и не смог.
Или может кто подскажет как на время приостановить, а точнее запретить прием SMS ?
Lucky
Люди помогите !!!! Использую ядро "SIM900DevIDE_DTMF_MultiTask_GCC(1137B02V01SIM900M64_ST_DTMF_JD_EAT).exe"
После установки там появляются 2 папки с примерами для Эклипса. Который SampleUseSIMComLibs работает без проблем - шьется в модуль и работает тоже нормально.
А вот проект SampleWithGccLibs собирается, но после зашивки его в модуль начинается бесконечная перезагрузка модуля. Кто-нибудь сталкивался с подобным?
CADiLO
>>>>И здесь Симком впереди всех! Потомкам проблему 2100 года нужно создавать уже сейчас - а то потом некогда будет

В 2100 году слово GSM даже знать не будут. sm.gif

>>>>Или может кто подскажет как на время приостановить, а точнее запретить прием SMS ?

Отдельно SMS запретить вроде никак. Можно попробовать только так.

AT+GSMBUSY=1 — запрет всех входящих звонков.
•1, — запретить все входящие звонки
•0, — разрешить входящие
Результат данной команды не сохраняется в памяти и его надо повторять при каждом включении
bugish
Цитата(CADiLO @ Feb 21 2013, 09:57) *
AT+GSMBUSY=1 — запрет всех входящих звонков.
•1, — запретить все входящие звонки
•0, — разрешить входящие
Результат данной команды не сохраняется в памяти и его надо повторять при каждом включении


Сообщение пришло без всяких препятствий.
MKdemiurg
Цитата(CADiLO @ Feb 21 2013, 10:57) *
Отдельно SMS запретить вроде никак. Можно попробовать только так.

AT+GSMBUSY=1 — запрет всех входящих звонков.
•1, — запретить все входящие звонки
•0, — разрешить входящие
Результат данной команды не сохраняется в памяти и его надо повторять при каждом включении


Всё равно приходят. Проверено biggrin.gif
CADiLO
Отметил в табличке - запросить сделать в EAT возможность запрета приема входящих SMS.
Только они потом с SMS сервера все рано кучей насыпятся. Может проще оператору отправить USSD команду - "запретить входящие SMS"
bugish
Хотел отключить индикацию принятого сообщения командой AT+CNMI=2,0,0,0,0

AT+CNMI=<mode>[,<mt>[,<bm>[,<ds>[,<bfr>]]]]
<mt> 0 нет индикации
1 индикация в формате +CMTI: <mem>,<index>
2 индикация в формате +CMT:[<alpha>],<length><CR><LF><pdu> ....

но при <mt> = 0 ведет себя также как <mt> = 2 выдает +CMT: "+38050.....
tumko
Цитата(Lucky @ Feb 10 2013, 15:16) *
Всё спасибо разобрался. Руками поправил путь для линкера (взяв его в кавычки).
К стати симкомовская IDE ну уж очень "убогая". Я на Eclipse + GCC ARM перешёл.

А у вас есть мануал с сайта www.sim.com по установке GCC ARM в Eclipse? Или может расскажете как его "прикрутить"?
Цырен.
Цитата(tumko @ Jun 11 2013, 20:38) *
А у вас есть мануал с сайта www.sim.com по установке GCC ARM в Eclipse? Или может расскажете как его "прикрутить"?


Мануал в прилжении.
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
tumko
Цитата(Lucky @ Feb 21 2013, 12:30) *
Люди помогите !!!! Использую ядро "SIM900DevIDE_DTMF_MultiTask_GCC(1137B02V01SIM900M64_ST_DTMF_JD_EAT).exe"
После установки там появляются 2 папки с примерами для Эклипса. Который SampleUseSIMComLibs работает без проблем - шьется в модуль и работает тоже нормально.
А вот проект SampleWithGccLibs собирается, но после зашивки его в модуль начинается бесконечная перезагрузка модуля. Кто-нибудь сталкивался с подобным?

Тоже столкнулся с такой проблемой! Есть большое желание перевести проект на MultiTask_GCC. SimDevIDE скачивал с microchip.
Выводит только "IIIIюююю" а потом перезагружается. В этой теме также указывалась версия прошивки 1137B04V01SIM900M64_ST_EAT:
Цитата(CADiLO @ Dec 10 2012, 21:28) *
>>>1137B02V01T900M64_ST - штатная прошивка от терминала T900. Зачем зашивалась - непонятно.

Вы наверное скачали вот это - T900DevIDE_MultiTask_GCC.exe Здесь свое ядро - 1137B02V01T900M64_ST_Core.cla
И предназначено для модуля который установлен в терминале с привязками к конкретному железу.


Для работы с общим SIM900DevIDE_MultiTask_GCC идет ядро - 1137B04V01SIM900M64_ST_EAT.cla с которым компилится программа пользователя.

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