CADiLO
Oct 31 2012, 07:33
Итак первые новости по работе над новой версией.
АPI которые протестированы и войдут в будущую версию.
GetADCValue
GetBatteryVoltage
GetModuleTemperature
GetRegistrationStatus
GetGPRSRegistrationStatus
GetGPRSAttachStatus
GetCSQValue
GetServiceCellInformation
GetNeighborCellInformation
GetIMEI
GetCfunValue
Multi task API
SendEventMsg
CreateSem
semPend
semPost
Список будет пополняться по мере тестирования и включения новых.
Вопросы - "а когда будет хххх уууу" пока не задавайте - работа идет и список запланированых новинок достаточно большой.
Что конкретно будет, я сам еще точно не знаю - как внесут - сообщу в этой теме.
Romashki
Nov 1 2012, 11:21
Хорошо б было бы еще, если б симкомовцы получение больших смсок сделали..... на сегодня пока не смог добиться получения даже 60 символов на русском языке....
Frolov Kirill
Nov 2 2012, 12:30
Цитата(Romashki @ Nov 1 2012, 15:21)

Хорошо б было бы еще, если б симкомовцы получение больших смсок сделали..... на сегодня пока не смог добиться получения даже 60 символов на русском языке....
Больших смсок не бывает. Это на самом деле множество коротких. При получении в PDU всё работает ок.
Romashki
Nov 4 2012, 18:14
а в text не все ок!
Скажите пожалуйста возможность использовать компилятор GCC сразу была или была позже добавлена (или вообще - есть это? компиляция GCC)
Компилятор GCC теперь поддерживается начиная с версии SIM900DevIDE_MultiTask_GCC
Сейчас эта версия еще доделывается, но большинство заявленого работает.
Билд компилятора должен быть - GCC-2011.09-69-arm-none-eabi
bugish
Dec 10 2012, 14:11
Установил 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
Dec 10 2012, 14:28
>>>1137B02V01T900M64_ST - штатная прошивка от терминала T900. Зачем зашивалась - непонятно.
Вы наверное скачали вот это - T900DevIDE_MultiTask_GCC.exe Здесь свое ядро - 1137B02V01T900M64_ST_Core.cla
И предназначено для модуля который установлен в терминале с привязками к конкретному железу.
Для работы с общим SIM900DevIDE_MultiTask_GCC идет ядро - 1137B04V01SIM900M64_ST_EAT.cla с которым компилится программа пользователя.
bugish
Dec 11 2012, 09:15
Откатился на ядро - 1137B04V01SIM900M64_ST_EAT перекомпилил, eat1_09UpdateEmbeddedAp возвратила результат FL_OK (System will begin to update), keepGoing = FALSE; выход из fl_entry () - результат как и раньше висит не на что не реагирует помогает только RESET.
west329_
Dec 15 2012, 06:58
Можно поинтересоваться какая на данный момент последняя версия софта и ИДЕ для SIM900 ?
CADiLO
Dec 15 2012, 07:35
Последние версии здесь.
http://microchip.ua/tempдля 900 и 908 с DTMF - однозадачные версии
мультизадачная под GCC - пока без DTMF декодера
bugish
Dec 15 2012, 10:34
В любезно предоставленной микрочипом сборке SIM900DevIDE_MultiTask_GCC не забываем поменять в файле version1 значение
1137B01V01SIM900M64_ST_EAT_FOR_TEST_20120410_16_25.sym на 1137B04V01SIM900M64_ST_EAT.sym
Кто смог победить функцию eat1_09UpdateEmbeddedAp в сборке SIM900DevIDE_MultiTask_GCC отпишитесь пожалуйста.
Уважаемый 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
Dec 18 2012, 08:07
>>Зашил в модуль ...Embedded_AT\tools\SIM900DevIDE_MultiTask_GCC\EmbatSIM\gsmos\coreSW\rvctcore\1137B04V01SIM900M64_ST_EAT.cla
Не зашил в модуль, а шьем вместе с пользовательским. Должно заливаться 2 файла - ядро и пользовательский.
А у вас в опциях стоит - normal - обычное обновление. И Вы пытаетесь залить свой проект на место ядра.
Выберите опцию EmbeddedAT и укажите 2 файла.
И у меня отдельно выложен лоадер 1.6 - возьмите свежую версию.
bugish
Dec 20 2012, 11:43
Возникла необходимость применить WotchDog Timer (подвисала программа), решил разобраться с командой ebdat4_04Wdtkick()-Функция сброса сторожевого таймера. Вызывайте эту функцию с осторожностью, и только когда время выполнения кода EAT превышает время сброса сторожевым таймером (перевод макрогрупа). Вопрос как запустить WotchDog Timer и каков его интервал. Если я не ошибаюсь, это должен быть некий таймер, если его вовремя не сбросить, то должен пройти аппаратный RESET. Было предположение, что стартует после первого вызова ebdat4_04Wdtkick(), но ошибся либо интервал более 20 мин. Конечно можно слепить свой WotchDog Timer из любого таймера и ebdat4_03Reset(), но это уже не то.
Цитата(CADiLO @ Dec 18 2012, 12:07)

Не зашил в модуль, а шьем вместе с пользовательским. Должно заливаться 2 файла - ядро и пользовательский.
Спасибо, мастер)
Romashki
Jan 8 2013, 17:16
Эдуард, а там говорилось что для 900го выйдет новая прошивка с SPI и др. функциями....еще не обещают?
Romashki
Jan 11 2013, 10:15
Подскажите, кто нибудь в ЕАТ принимал СМС примерно в 200 символов на русском языке (text mode, UCS2)? Получаю смс, читаю и если маленькая (до 10 символов) - модуль выдает и номер и текс, как только приходит большая - выдает с интервалами непонятные обрывки этой смс, но явно что не все части выдает....
bugish
Jan 18 2013, 06:09
Чтобы работала функция 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
Jan 21 2013, 13:01
Натолкнулся нв следующую проблему.
Функция 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
Jan 21 2013, 13:33
А если попробовать так:
IMEIValue imei;
imei = ebdat4_31GetIMEI();
ebdat7_02DebugUartSend(imei.imei, sizeof(imei.imei));
Romashki
Jan 21 2013, 15:42
Проверил - действительно последнюю цифру не выдает.
CADiLO
Jan 22 2013, 06:57
Если тупо берут из FLASH, то там и хранится 14. 15-я считается при выдаче по GSN.
Romashki
Jan 23 2013, 19:37
Эдуард, подскажите, известно будет ли в мультитаск поддержка шины I2C ?
CADiLO
Jan 23 2013, 19:40
Заявку на интерфейсы они приняли. Посмотрим что будет в релизе. Дать 100% гарантии не могу, но бум требовать.
CADiLO
Jan 30 2013, 07:51
Имеется промежуточный билд EAT. Мультизадачник с декодером DTMF и вроде как новым генератором CLDTMF. Под компилятор GCC.
Еще добавлены расширеные АPI для SPI и I2C - кто там спрашивал ?

И еще... ну вобщем доки приложены к инсталятору.....

Запросы только мне в личку, раздавать до выхода релиза буду не всем.
Люди помогите разобраться. Не линкуется проект 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. Надо будет проверить.
Всё спасибо разобрался. Руками поправил путь для линкера (взяв его в кавычки).
К стати симкомовская IDE ну уж очень "убогая". Я на Eclipse + GCC ARM перешёл.
Romashki
Feb 11 2013, 06:18
А в каком файле путь поправили?
LD="$(PATH)/arm-none-eabi-ld"
в файле app_gcc_make_inc_s
А кто нибудь реализовывал полноценный кодер\декодер PDU сообщений? И еще странно что EVENT_SMS_IND существует,а API-шной функции выдёргивания и отправки SMS нету.
Romashki
Feb 12 2013, 07:17
Я работаю в text mode, API-шной функции выдёргивания и отправки SMS действительно нету (хотелось бы минимум три параметра получать из АПИ - номер отправителя, текст и время). По IND приходится AT командами вычитывать сообщение.
Эта функция и в Quectel, похоже, тупо использует AT в своем теле и вызывает callback при AT-ответе. При таком подходе не вижу преимущества АПИ, разве что визуально упростить код.
А указанные выше параметры все равно надо парсить руками из AT-ответа (в случае callback - с буфера по передаваемому указателю).
Народ а кто-нибуть тестировал ядро 1137B02V01SIM900M64_ST_DTMF_JD_EAT (насколько я понимаю это последнее) на предмет выхода в GPRS.
У меня странность наблюдается достаточно часто при EVENT_CREG_IND и cregInd_evt.status == 1, по моему в этот момент модуль зарегился в GSM сети оператора, но при чтении структуры ebdat4_29GetServiceCellInformation половина полей явно левая, и соответственно не регится в GPRS. А когда
там правильная инфа то всё идет правильно. Есть у кого мысли?
Народ кто-нибудь пользовался 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
Feb 20 2013, 06:31
Если не описана в SIM900_Embedded AT Application Note, значит ее не реализовали еще, но если есть в хидере, значит будет. Пока можно устанавливать через обычную АТ команду.
CADiLO
Feb 20 2013, 07:56
Сегодня после китайского НГ списался с Симкомом. Готовлю им замечания по релизу. Релиз выпустили именно на том что уже было готово. Понятно что не без огрехов, но работа не стоит, ЕАТ будет развиваться и дальше. Там как минимум еще с десяток API предполагается добавить. Ну и обещают, где-то к маю, версию EAT для 900R64. Более предметно пообщаюсь с ними на выставке. Вернусь - расскажу что еще ожидается.
Ну и вчера общался с одним из клиентов.... Монстры - иначе не скажешь... Дизассемблировали ядро, переписали полностью кусок отвечающий за энергопотребление и у них теперь модуль как мобилка - оптимизирован по потреблению.... Хочу к ним в гости съездить, посмотреть что еще сделали под себя из ЕАТ.
Разобрался. Нужно год вводить последние 2 цифры реального года.
Aurochs
Feb 20 2013, 18:01
Цитата(CADiLO @ Feb 20 2013, 09:56)

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

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

Цитата(Lucky @ Feb 20 2013, 17:18)

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

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

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

Отдельно SMS запретить вроде никак. Можно попробовать только так.
AT+GSMBUSY=1 — запрет всех входящих звонков.
•1, — запретить все входящие звонки
•0, — разрешить входящие
Результат данной команды не сохраняется в памяти и его надо повторять при каждом включении
Всё равно приходят. Проверено
CADiLO
Feb 21 2013, 08:59
Отметил в табличке - запросить сделать в EAT возможность запрета приема входящих SMS.
Только они потом с SMS сервера все рано кучей насыпятся. Может проще оператору отправить USSD команду - "запретить входящие SMS"
bugish
Feb 21 2013, 09:24
Хотел отключить индикацию принятого сообщения командой 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.....
Цитата(Lucky @ Feb 10 2013, 15:16)

Всё спасибо разобрался. Руками поправил путь для линкера (взяв его в кавычки).
К стати симкомовская IDE ну уж очень "убогая". Я на Eclipse + GCC ARM перешёл.
А у вас есть мануал с сайта www.sim.com по установке GCC ARM в Eclipse? Или может расскажете как его "прикрутить"?
Цырен.
Jun 14 2013, 07:40
Цитата(tumko @ Jun 11 2013, 20:38)

А у вас есть мануал с сайта www.sim.com по установке GCC ARM в Eclipse? Или может расскажете как его "прикрутить"?
Мануал в прилжении.
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Цитата(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 с которым компилится программа пользователя.
Однако на просторах сети я ее не нашел. Если кто-нибудь скинет эту версию, буду очень благодарен.