turnon 1 9 марта Опубликовано 9 марта · Жалоба On 3/23/2013 at 7:52 PM, zebrox said: Список юрц известен, просто проверяем каждую строку на начало интересующего юрц, если совпало - значит пришел юрц. Если пришел ок или еррор или еще чего, то мы же знаем, в каком состоянии находится порт==знаем какую последнюю команду отправили, соответсвенно можем и ответ обработать. К тому-же на 90% ответов можно сделать такую-же ловушку как на юрц, если строка начинается на что-то, значит это ответ. Вот с запросом имея сложнее. В симах ответ идет без подстроки идентификатора. В этом случае шлю запрос имей, перевожу порт в состояние чтения имея, приходит строка, вижу, что порт в состоянии чтения имея, проверяю строку на длинну, если 15, и только цифры, то пришел имей, записываю его, отпускаю порт. Все ответы на запрос в конце имеют \r\nOK\r\n. Так и отличаю ответ от юрц, в том числе и на чтение имея. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 9 марта Опубликовано 9 марта · Жалоба 7 часов назад, turnon сказал: Все ответы на запрос в конце имеют \r\nOK\r\n. Не факт. URC может прийти между командой и откликом на неё. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
turnon 1 9 марта Опубликовано 9 марта · Жалоба 42 minutes ago, jcxz said: Не факт. URC может прийти между командой и откликом на неё. Отклик на запрос приходит в виде \r\nREPLY\r\n\r\nOK\r\n. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 9 марта Опубликовано 9 марта · Жалоба 6 часов назад, turnon сказал: Отклик на запрос приходит в виде \r\nREPLY\r\n\r\nOK\r\n. Вот между "REPLY\r\n" и "OK\r\n" и может вклиниться URC. 1000 раз не вклинится, а на 1001-й - вклинится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
turnon 1 10 марта Опубликовано 10 марта · Жалоба 21 hours ago, jcxz said: Вот между "REPLY\r\n" и "OK\r\n" и может вклиниться URC. 1000 раз не вклинится, а на 1001-й - вклинится. Может он тогда и внутри ответа между символами вклинится? Или где границы вклинивания? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 10 марта Опубликовано 10 марта · Жалоба 16 minutes ago, turnon said: Может он тогда и внутри ответа между символами вклинится? Или где границы вклинивания? Не думаю, что создатели прошивки настолько глупы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 11 марта Опубликовано 11 марта · Жалоба 5 часов назад, x893 сказал: Не думаю, что создатели прошивки настолько глупы. И не думайте. Иногда они ещё глупее. В некоторых прошивках URC может вклиниться даже внутрь строки ответа на команду! Встречал и такое. Дно было пробито (создателями). 5 часов назад, turnon сказал: Может он тогда и внутри ответа между символами вклинится? Или где границы вклинивания? Бывает и такое. Но это уже скорее баг. А вот URC между строками ответа - вполне нормальное явление. Так как нисколько не мешает обработке ни того ни другого. Главное чтобы URC можно было отличить от любой строки ответа на команду. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexRayne 7 11 марта Опубликовано 11 марта (изменено) · Жалоба 4 часа назад, jcxz сказал: И не думайте. Иногда они ещё глупее. В некоторых прошивках URC может вклиниться даже внутрь строки ответа на команду! Встречал и такое. Дно было пробито (создателями). Бывает и такое. Но это уже скорее баг. А вот URC между строками ответа - вполне нормальное явление. Так как нисколько не мешает обработке ни того ни другого. Главное чтобы URC можно было отличить от любой строки ответа на команду. а можно засветить эти модули? кто такое дно делает? Изменено 11 марта пользователем AlexRayne Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 11 марта Опубликовано 11 марта · Жалоба >>>>а можно засветить эти модули? кто такое дно делает? Это "дно" есть у всех производителей модулей, так как свой 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 модулей получите непонятки вклинившиеся в ваш обмен с модулем, то прежде чем кричать "караул", стоит ознакомиться с действующими стандартами, так как производители многое не описывают в документации, считая, что инженеры работающие с сотовой связью, имеют достаточный для этого уровень знаний. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexRayne 7 13 марта Опубликовано 13 марта · Жалоба В 11.03.2024 в 10:55, CADiLO сказал: Это "дно" есть у всех производителей модулей Ну вот я поработал с A7682 - не встретил этого дна. Так что не у всех производителей таки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 13 марта Опубликовано 13 марта · Жалоба >>> Ну вот я поработал с A7682 - не встретил этого дна. Так что не у всех производителей таки. Э не, там стек уже LTE, а GSM как рудимент. Поэтому обработчик может работать по другому. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 13 марта Опубликовано 13 марта · Жалоба В 11.03.2024 в 07:51, AlexRayne сказал: а можно засветить эти модули? кто такое дно делает? Конкретно я с таким сталкивался на BT-модулях Bluegiga WT-12. Но допускаю, что подобные баги есть и в других изделиях. 2 часа назад, AlexRayne сказал: Ну вот я поработал с A7682 - не встретил этого дна. Так что не у всех производителей таки. Значит вам повезло и там такого бага там нет. Или просто в ваших условиях работы этот баг не проявлялся. Даже в WT-12 это происходит только при определённых настройках и определённом порядке событий. И то не всегда. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться