|
|
  |
Telit в своем репертуаре? |
|
|
|
Aug 16 2011, 11:45
|
Участник

Группа: Validating
Сообщений: 24
Регистрация: 4-02-08
Пользователь №: 34 736

|
Цитата(butthead2 @ Aug 15 2011, 00:50)  Да это издевательство форменное. В прошивке 185 относительно 184 изменилась команда #ssendext. Теперь настройка режима передачи в виде текста или hex на нее не действует - передача только текстом независимо от настроек. А кстати, может кто подскажет, как отправлять/принимать данные в hex командой #ssend (#ssendext)? модуль GL868, прошивка 10.00.184. включаю прием/передачу в hex формате командой AT#SCFGEXT, а не работает. передача текста работает. может кто примерчик покажет?
|
|
|
|
|
Aug 16 2011, 12:43
|
Участник

Группа: Validating
Сообщений: 24
Регистрация: 4-02-08
Пользователь №: 34 736

|
Цитата(butthead2 @ Aug 16 2011, 16:22)  AT#SCFGEXT=1,2,1,0,0,1
AT#SSEND=1
> 03AA7E00C6 Ctrl+Z Спасибо, вроде я так же пробовал, не работало. А сейчас вдруг прохрюкалось  Может где ошибка у меня была
|
|
|
|
|
Aug 16 2011, 16:00
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 22-07-09
Пользователь №: 51 470

|
Цитата(=F8= @ Aug 16 2011, 18:16)  Это еще, что. Вот если попробуете посредством SSEND более-менее приличный поток данных передать будет еще один "сюрпрайз!"  ИМХО лучше их вообще не использовать - только прозрачный режим, вот он без проблем(тфу, тфу, тфу) работает. Встроенные стеки имеют массу ограничений, не для больших потоков они. Так, сотней байт перекинутся. А непрозрачный режим очень полезен там, где передача данных не основная функция устройства - замахаешься переключать режимы. Еще очень интересный момент. Когда выдается к примеру URC или ответ на команду, и в этот момент дать следующую команду, то она не сработает ( ERROR или с ошибкой в параметрах- смотря какую часть текста заденем) - похоже на взаимную блокировку RX и TX потоков. Возможно у меня этот эффект проявляется из-за некорректного подключения прослушивающего траффик кома. Кто то подобное наблюдал или все ок?
|
|
|
|
|
Aug 17 2011, 07:49
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 14-10-10
Пользователь №: 60 149

|
Цитата Еще очень интересный момент. Когда выдается к примеру URC или ответ на команду, и в этот момент дать следующую команду, то она не сработает ( ERROR или с ошибкой в параметрах- смотря какую часть текста заденем) - похоже на взаимную блокировку RX и TX потоков. Возможно у меня этот эффект проявляется из-за некорректного подключения прослушивающего траффик кома. Кто то подобное наблюдал или все ок? Вообще-то в описании команд указано, что новую команду нельзя выдавать до полного завершения предшествующей. Даже подчеркнуто, что не следует ориентироваться на OK в качестве признака завершения, поскольку далее следуют <CR><LF>.
Сообщение отредактировал box415 - Aug 17 2011, 07:58
|
|
|
|
|
Aug 17 2011, 09:07
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 22-07-09
Пользователь №: 51 470

|
Цитата(box415 @ Aug 17 2011, 10:49)  Вообще-то в описании команд указано, что новую команду нельзя выдавать до полного завершения предшествующей. Даже подчеркнуто, что не следует ориентироваться на OK в качестве признака завершения, поскольку далее следуют <CR><LF>. Перечитал внимательно. Да, указано. Но ответ на команды это такое дело, программно естественно дальше не пойдешь пока нет ответа. А про URC индусописатели ничего не слышали??? Собственно на них сбои и заметны. Я балдею с этого телита...
|
|
|
|
|
Aug 17 2011, 11:39
|
Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954

|
Цитата(butthead2 @ Aug 16 2011, 19:00)  Встроенные стеки имеют массу ограничений, не для больших потоков они. Так, сотней байт перекинутся. А непрозрачный режим очень полезен там, где передача данных не основная функция устройства - замахаешься переключать режимы. Эти ограничения касаются в основном кол-ва одновременно устанавливаемых соединений, но никак не объема передаваемых данных. На том-же телите в прозрачном режиме 1-2М передаются без проблем. В непрозрачном - да передать можно не белее чем гарантированно поместится в буфер. А переключатся, как раз, не проблема - всего то и надо DTR-ом дернуть. Цитата Еще очень интересный момент. Когда выдается к примеру URC или ответ на команду, и в этот момент дать следующую команду, то она не сработает ( ERROR или с ошибкой в параметрах- смотря какую часть текста заденем) - похоже на взаимную блокировку RX и TX потоков. Возможно у меня этот эффект проявляется из-за некорректного подключения прослушивающего траффик кома. Кто то подобное наблюдал или все ок? Нет, такого не наблюдал. Это, что касается URC, от привычки-же подавать команды сплошным потом еще симком отучил. Но наблюдал такой эффект из-за неточной установки скорости порта или из-за проблем с уровнями сигналов (точно сказать не могу т.к. толком не разбирался), проблема прошла после того как снизил скорость порта до 57600.
|
|
|
|
|
Aug 17 2011, 12:05
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 22-07-09
Пользователь №: 51 470

|
Цитата(=F8= @ Aug 17 2011, 14:39)  На том-же телите в прозрачном режиме 1-2М передаются без проблем. Тут скорее вопрос скорости встает - такой обьем можно и на куски порубить и медленно через непрозрачный режим запхать. Это скорее вопрос религиозный - кому что важнее. Цитата(=F8= @ Aug 17 2011, 14:39)  от привычки-же подавать команды сплошным потом еще симком отучил. Но наблюдал такой эффект из-за неточной установки скорости порта или из-за проблем с уровнями сигналов (точно сказать не могу т.к. толком не разбирался), проблема прошла после того как снизил скорость порта до 57600. Потоком подавать не анализируя ответы это... просто кю, дешевая поделка. В доке есть какие то пространные замечания про возможные ошибки на больших скоростях. Какие считать большими естесно не сказано. Попробовал зафиксировать на 19200, посмотрю что будет.
|
|
|
|
|
Aug 17 2011, 13:01
|
Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954

|
Цитата(butthead2 @ Aug 17 2011, 15:05)  Тут скорее вопрос скорости встает - такой обьем можно и на куски порубить и медленно через непрозрачный режим запхать. Это скорее вопрос религиозный - кому что важнее. Да не совсем религиозный. В командном режиме нет возможности контролировать переполнение буфера. При переполнении при попытке отправить пакет получите ERROR, при этом часть данных может таки быть отправлена поэтому просто повторить передачу не получится. CTS в этом режиме не работает(и IPR, и #CFLO, и #FLO все пробовал - пофиг). Гарантировать же непереполнение буфера при том, что возможны "замирания" в GPRS канале секунд порядка 30сек тяжковато. В прозрачном режиме CTS работает как положено. Цитата В доке есть какие то пространные замечания про возможные ошибки на больших скоростях. Какие считать большими естесно не сказано. Попробовал зафиксировать на 19200, посмотрю что будет. Вообще со скоростью ситуация непонятная. Есть 2 девайса с GL868(оба модуля из одной партии), один на STM32 другой на PIC32 и в том и другом выход UARTа, для согласования уровней, сконфигурирован как ОК. PIC32 на 115200 с модулем работает без ошибок, а вот на STM32 вышеописанная проблема. Пока грешу на то, что STMовская библиотека через которую конфигурировался UART не точно выставляет скорость. Как будет чуток времени буду копать дальше, а пока оставил на 57600.
|
|
|
|
|
Aug 17 2011, 13:37
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 22-07-09
Пользователь №: 51 470

|
Цитата(=F8= @ Aug 17 2011, 16:01)  Да не совсем религиозный. В командном режиме нет возможности контролировать переполнение буфера. При переполнении при попытке отправить пакет получите ERROR, при этом часть данных может таки быть отправлена поэтому просто повторить передачу не получится. CTS в этом режиме не работает(и IPR, и #CFLO, и #FLO все пробовал - пофиг). Гарантировать же непереполнение буфера при том, что возможны "замирания" в GPRS канале секунд порядка 30сек тяжковато. В прозрачном режиме CTS работает как положено. Совсем религиозный  задачи у всех разные и самое главное ПРОТОКОЛЫ. Меня переполнение не трогает ни разу - протокол основан на запросах с сервера. Если гнать потоком, то конечно - непрозрачный режим не годится. Так что нельзя сказать однозначто что этот режим дерьмо, а второй идеальный. Для унивесальности в модеме обязаны быть оба режима. Цитата(=F8= @ Aug 17 2011, 16:01)  Вообще со скоростью ситуация непонятная. Есть 2 девайса с GL868(оба модуля из одной партии), один на STM32 другой на PIC32 и в том и другом выход UARTа, для согласования уровней, сконфигурирован как ОК. PIC32 на 115200 с модулем работает без ошибок, а вот на STM32 вышеописанная проблема. Пока грешу на то, что STMовская библиотека через которую конфигурировался UART не точно выставляет скорость. Как будет чуток времени буду копать дальше, а пока оставил на 57600. Точно так же: GL868 + STM32 с ОК = проблем ноль (ну кроме вышеупомянутых URC). От библиотек отказаля сразу - поглядел на исходники - волосы на голове зашевелились. Да еще и с ошибками.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|