Димон Безпарольный 2 18 февраля, 2018 Опубликовано 18 февраля, 2018 (изменено) · Жалоба Хоть тут мне и приписали что я обвиняю в чем - то авторов MBED TLS (вероятно тоже "по делу"), хочу отдать должное - ребята грамотные, постарались на славу. Благодаря debug информации, проверкам конфигурации такая сложная библиотека не так уж трудно отлаживается. Респект. Что касается самого DBUG, то сколько тут местные "помощники" ни надрывались, ничего нового не придумали - не можешь ждать, делай буфер шире. Как промежуточное решение - задержка перед критическим во времени местом выполнения, чтобы войти в этот кусок кода с чистым буфером. Тогда буфер можно сделать меньше. Это вкратце. Изменено 18 февраля, 2018 пользователем Димон Безпарольный Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 18 февраля, 2018 Опубликовано 18 февраля, 2018 · Жалоба то сколько тут местные "помощники" ни надрывались, ничего нового не придумали - не можешь ждать, делай буфер шире. Ровно так же никто из профи не сможет ничего придумать, чтобы по вашему желанию "2х2=5". Грамотное решение - попросить вторую сторону не присылать данные, к обработке которых вы не готовы. TCP позволяет это делать, причем очень гибко и грамотно. Если вы не хотите разобраться как это сделать, то да - увеличивайте буфер, но не надо в код вставлять задержки, даже если сейчас это работает. И точно не нужно хамить людям, которые считают такой подход дурным тоном программирования. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 2 18 февраля, 2018 Опубликовано 18 февраля, 2018 · Жалоба Хоть тут мне и приписали что я обвиняю в чем - то авторов MBED TLS (вероятно тоже "по делу"), хочу отдать должное - ребята грамотные, постарались на славу. Да ладно! То-то чрез одно место оно работает… Хотя, надо еще уточнить, по чьей вине: то ли вы, товарищ, неправильно документацию читаете, то ли авторы этой библиотеки... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 18 февраля, 2018 Опубликовано 18 февраля, 2018 (изменено) · Жалоба Ровно так же никто из профи не сможет ничего придумать, чтобы по вашему желанию "2х2=5". Грамотное решение - попросить вторую сторону не присылать данные, к обработке которых вы не готовы. TCP позволяет это делать, причем очень гибко и грамотно. Если вы не хотите разобраться как это сделать, то да - увеличивайте буфер, но не надо в код вставлять задержки, даже если сейчас это работает. И точно не нужно хамить людям, которые считают такой подход дурным тоном программирования. Никто и не собирался изначально хамить. Хамство и переход на личности начался с 29 поста. Я лишь вежливо просил не гадить в этой теме. Но "помошник" так и не понял о чем его просят. Что касается 2х2 =5, люди предлагают иногда нестандартные решения. На это и надеялся. Но нарвался на хама . знал бы - не начинал бы сюда писать. На стадии handshake сервер ждать не будет. Так обьяснили инженеры IBM. Связано с загрузкой серверов. Да и я не представляю сейчас как это сделать через M95 в котором TCP реализован внутри. Да ладно! То-то чрез одно место оно работает… Хотя, надо еще уточнить, по чьей вине: то ли вы, товарищ, неправильно документацию читаете, то ли авторы этой библиотеки... Ну Вам конечно виднее. Вы же код писали - не я. Работает нормально. Третий час - без сбоев. Изменено 18 февраля, 2018 пользователем Димон Безпарольный Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 2 18 февраля, 2018 Опубликовано 18 февраля, 2018 · Жалоба Это оно без сбоев работает, пока не понадобилось еще что-то добавить. А там опять та же песня пойдет? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 81 18 февраля, 2018 Опубликовано 18 февраля, 2018 · Жалоба На стадии handshake сервер ждать не будет. Так обьяснили инженеры IBM. Связано с загрузкой серверов. Да и я не представляю сейчас как это сделать через M95 в котором TCP реализован внутри. Завтра у них немного изменится размер hadshake, сертификатов, или задержка в одном месте появится, а в другом исчезнет и у вас внезапно всё перестанет работать. Или вдруг сервер сменится.... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 18 февраля, 2018 Опубликовано 18 февраля, 2018 · Жалоба Завтра у них немного изменится размер hadshake, сертификатов, или задержка в одном месте появится, а в другом исчезнет и у вас внезапно всё перестанет работать. Или вдруг сервер сменится.... Вы наверно стандарт не читали. Весь мир работает с серверами MQTT IBM. В России кучу железа понаделали. Откуда столько страхов? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 18 февраля, 2018 Опубликовано 18 февраля, 2018 · Жалоба Да и я не представляю сейчас как это сделать через M95 в котором TCP реализован внутри. Почитать Инструкцию When the data transfer should be suspended, the CTS line is set inactive until the transfer from the receiving buffer has completed. When the receiving buffer is ok to receive more data, CTS goes active once again. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 18 февраля, 2018 Опубликовано 18 февраля, 2018 (изменено) · Жалоба Я уже писал, что аппаратная реализация не предусматривает пару RTS - CTS. К тому же в модулях ESP - 05 эти сигналы наружу не выведены. В изделии два радиомодуля. Изменено 18 февраля, 2018 пользователем Димон Безпарольный Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 18 февраля, 2018 Опубликовано 18 февраля, 2018 · Жалоба Я уже писал, что аппаратная реализация не предусматривает пару RTS - CTS. К тому же в модулях ESP - 05 эти сигналы наружу не выведены. В изделии два радиомодуля. Вам же для отладки нужно. Киньте проводком. Когда все отладите - отключите debug-вывод портянок и уберете провод. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 81 18 февраля, 2018 Опубликовано 18 февраля, 2018 · Жалоба Вы наверно стандарт не читали. Весь мир работает с серверами MQTT IBM. В России кучу железа понаделали. Откуда столько страхов? А мне и не надо читать. Если в программе требуется подбор задержек - значит программа неправильно построена. И эта неправильность внезапно вылезет в самый неподходящий момент. Вы же сами писали: На стадии handshake сервер ждать не будет. Так обьяснили инженеры IBM. Связано с загрузкой серверов. А завтра у инженеров IBM что-нибудь еще возникнет и они еще чего-нибудь поменяют.... Вот в этом и состоит разница между между профессиональным и дилетантским(читай начинающего) подходом, профессионал во-первых руководствуется правилами и стандартами при разработке, во-вторых он видит и понимает "подводные камни" которые могут возникнуть или точно проявятся и смотрит в перспективу. А дилетант говорит - у меня всё работает отлично, остальное меня не волнует. У меня студенты на практику приходят, типичные дилетанты, я им это сразу говорю :) и они делятся на две группы - одних ничего не интересует, главное чтобы заработало, они начинают подбирать в программах задержки, в схемах резисторы и конденсаторы, а другие пытаются разобраться и потом осознанно применяют. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 19 февраля, 2018 Опубликовано 19 февраля, 2018 (изменено) · Жалоба Стандарт как раз такое допскает. Задержка нужна была на стадии отладки как временное решение. Ее уже нет, как и вывода массива DBUG информации. Стандарт на TLS допускает такую работу сервера. Дилетант как раз и говорит: А мне и не надо читать. и не разобравшись в сути делает вывод: Если в программе требуется подбор задержек Ничего подбирать не требовалось. Читайте выше. Не делайте глупых выводов раз Вы кого - то там учите. Вам же для отладки нужно. Киньте проводком. Когда все отладите - отключите debug-вывод портянок и уберете провод. Так уже. DEBUG отключен. Библиотека TLS работает AS - IS, без изменения кода библиотеки. Изменено 19 февраля, 2018 пользователем Димон Безпарольный Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 26 февраля, 2018 Опубликовано 26 февраля, 2018 (изменено) · Жалоба Может кому пригодится - когда начал дорабатывать вывод в порт заметил что контроллер виснет на строке while(PC_TxHead != PC_TxTail) если переменные объявлять без volatile. Получается так: Если объявлять: volatile uint8_t PC_TxHead=0; volatile uint8_t PC_TxTail=0; То получается совсем другая картина: Оптимизация Level 3. Изменено 26 февраля, 2018 пользователем Димон Безпарольный Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 55 26 февраля, 2018 Опубликовано 26 февраля, 2018 · Жалоба Это уже всем ёжикам известно. Но за заботу огромное спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 27 февраля, 2018 Опубликовано 27 февраля, 2018 · Жалоба Какие же все таки люди злые. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться