Перейти к содержанию
    

Есть ли классика обработки ответов от GSM модуля на стороне МК ?

On 3/23/2013 at 7:52 PM, zebrox said:

Список юрц известен, просто проверяем каждую строку на начало интересующего юрц, если совпало - значит пришел юрц.

Если пришел ок или еррор или еще чего, то мы же знаем, в каком состоянии находится порт==знаем какую последнюю команду отправили, соответсвенно можем и ответ обработать.

К тому-же на 90% ответов можно сделать такую-же ловушку как на юрц, если строка начинается на что-то, значит это ответ.

 

Вот с запросом имея сложнее. В симах ответ идет без подстроки идентификатора. В этом случае шлю запрос имей, перевожу порт в состояние чтения имея, приходит строка, вижу, что порт в состоянии чтения имея, проверяю строку на длинну, если 15, и только цифры, то пришел имей, записываю его, отпускаю порт.

Все ответы на запрос в конце имеют \r\nOK\r\n. Так и отличаю ответ от юрц, в том числе и на чтение имея.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 часов назад, turnon сказал:

Все ответы на запрос в конце имеют \r\nOK\r\n.

Не факт. URC может прийти между командой и откликом на неё.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

42 minutes ago, jcxz said:

Не факт. URC может прийти между командой и откликом на неё.

Отклик на запрос приходит в виде \r\nREPLY\r\n\r\nOK\r\n.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 часов назад, turnon сказал:

Отклик на запрос приходит в виде \r\nREPLY\r\n\r\nOK\r\n.

Вот между "REPLY\r\n" и "OK\r\n" и может вклиниться URC. 1000 раз не вклинится, а на 1001-й - вклинится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

21 hours ago, jcxz said:

Вот между "REPLY\r\n" и "OK\r\n" и может вклиниться URC. 1000 раз не вклинится, а на 1001-й - вклинится.

Может он тогда и внутри ответа между символами вклинится? Или где границы вклинивания?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 minutes ago, turnon said:

Может он тогда и внутри ответа между символами вклинится? Или где границы вклинивания?

Не думаю, что создатели прошивки настолько глупы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, x893 сказал:

Не думаю, что создатели прошивки настолько глупы.

И не думайте. Иногда они ещё глупее.  :sarcastic:

В некоторых прошивках URC может вклиниться даже внутрь строки ответа на команду! :shok: Встречал и такое. Дно было пробито (создателями).

5 часов назад, turnon сказал:

Может он тогда и внутри ответа между символами вклинится? Или где границы вклинивания?

Бывает и такое. Но это уже скорее баг. А вот URC между строками ответа - вполне нормальное явление. Так как нисколько не мешает обработке ни того ни другого. Главное чтобы URC можно было отличить от любой строки ответа на команду.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, jcxz сказал:

И не думайте. Иногда они ещё глупее.  :sarcastic:

В некоторых прошивках URC может вклиниться даже внутрь строки ответа на команду! :shok: Встречал и такое. Дно было пробито (создателями).

Бывает и такое. Но это уже скорее баг. А вот URC между строками ответа - вполне нормальное явление. Так как нисколько не мешает обработке ни того ни другого. Главное чтобы URC можно было отличить от любой строки ответа на команду.

а можно засветить эти модули? кто такое дно делает?

Изменено пользователем AlexRayne

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>>>а можно засветить эти модули? кто такое дно делает?

Это "дно" есть у всех производителей модулей, так как свой GSM стек еще никто не придумал.
А в том стеке что существует, багов вагон и маленькая тележка.
И URC это самое безобидное что может быть.
Кстати даже само название - URC (Unsolicited Result Code) определяет его возникновение в произвольном месте.
Чтобы не было вопросов стоит знакомиться с основополагающими документами ETSI - хотя бы в справочном режиме.

Тут даже вот такое предостережение есть

ETSI TS 127 007 V14.3.0 - AT command set for User Equipment

TE software implementors must take account that future versions of this specification may include additional parameters
beyond what is expected in any response to an AT Command, Read Command, Test Command, or unsolicited result code.

Разработчики программного обеспечения TE должны учитывать, что будущие версии этой спецификации могут включать дополнительные
параметры, выходящие за рамки ожидаемых в любом ответе на AT-команды, команды чтения, команды тестирования или URC.
 

Поэтому если в новых 4G или 5G модулей получите непонятки вклинившиеся в ваш обмен с модулем, то прежде 
чем кричать "караул", стоит ознакомиться с действующими стандартами, так как производители многое не описывают 
в документации, считая, что инженеры работающие с сотовой связью, имеют достаточный для этого уровень знаний.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 11.03.2024 в 10:55, CADiLO сказал:

Это "дно" есть у всех производителей модулей

Ну вот я поработал с A7682 - не встретил этого дна. Так что не у всех производителей таки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>> Ну вот я поработал с A7682 - не встретил этого дна. Так что не у всех производителей таки.

 

Э не, там стек уже LTE, а GSM как рудимент.

Поэтому обработчик может работать по другому.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 11.03.2024 в 07:51, AlexRayne сказал:

а можно засветить эти модули? кто такое дно делает?

Конкретно я с таким сталкивался на BT-модулях Bluegiga WT-12. Но допускаю, что подобные баги есть и в других изделиях.

2 часа назад, AlexRayne сказал:

Ну вот я поработал с A7682 - не встретил этого дна. Так что не у всех производителей таки.

Значит вам повезло и там такого бага там нет. Или просто в ваших условиях работы этот баг не проявлялся.

Даже в WT-12 это происходит только при определённых настройках и определённом порядке событий. И то не всегда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...