ㅤ
Это не оптимизированный код на скорую руку
Да даже на скорую руку программист у которого родной си такую хуйню не высрет
Ruslan
ПОЛУЧИНА )))) сцуко, навзрыд
Ruslan
Это вообще питон
прикинь, даже на питоне лютую дичь ежедневно высирают
Роджер
Обработка команд через сериал
Ruslan
Это вообще питон
подозреваю, про передачу структур в функцию ты даже не задумывался )
ㅤ
Обработка команд через сериал
Ну ты считаешь это нормальным?
Роджер
прикинь, даже на питоне лютую дичь ежедневно высирают
Там же строгая типизация там не получиться)))
Ruslan
Там же строгая типизация там не получиться)))
там нестрогая, это я заставляю типы указывать, чтобы им IDE подсказывала по минимуму, где они тупят
Роджер
Ну ты считаешь это нормальным?
Я просто по другому пока не видел и не задумывался как из сериала обрабатывать команды с параметрами.
Ruslan
я бы предложил тебе подумать о функции, но ты ж ебанёшь всё это в неё )))
ㅤ
Когда блять один два параметра сравнения я еще могу понять но когда уже пачка, то присираешь некую структуру где. Одно поле имя текстовой команды, второе поля ссыка на функцию. Ссылки на функции в си ты умеешь делать?. Хардкодить длинну это вообще пиздец
Роджер
я бы предложил тебе подумать о функции, но ты ж ебанёшь всё это в неё )))
Я стараюсь все обернуть в функции сейчас как можно больше вынести из поесловуто loop, чтобы там было по минимуму только вызов по таймеру функции.
Ruslan
да там русский текст рыдать заставляет, на прогу уже смотреть смысла нет
Роджер
Когда блять один два параметра сравнения я еще могу понять но когда уже пачка, то присираешь некую структуру где. Одно поле имя текстовой команды, второе поля ссыка на функцию. Ссылки на функции в си ты умеешь делать?. Хардкодить длинну это вообще пиздец
С ссылками умею, но не понимаю до конца ведь у меня там идет отлов четко форматированного сообщения: #команда#параметр# Если не в таком виде прилетает возвращает ошибку формата команды.
ㅤ
да там русский текст рыдать заставляет, на прогу уже смотреть смысла нет
Слушай ну язык программирования не обязан коррелировать с языком общения
Ruslan
ну там уровень чуркобеса
Роджер
И что блять? strtok-ом строку делишь на решетки, далее отдельно разбираешь
А если залетит не формату строка? Сколько мне городить проверок потом?
ㅤ
ну там уровень чуркобеса
Кстати да, за столько лет общения, как минимум в этом чате, можно было хотя бы запятые по смыслу расставлять. Да похуй с ним правильно выделять определенные обороты. НО бывает написано так, что догадайся сам что там
Ruslan
я думаю, он просто хочет уделать гайвера
ㅤ
я думаю, он просто хочет уделать гайвера
Ему до гайвера как до юпитера пешком
Роджер
Все написанное в коде, за частую делает для простоты и не всегда оптимизированно. По большей части из за отсутствия понимания как это оптимизировать. Не всегда легко придумать простой способ обработать команды от человека. И отловить ошибки. Хорошо, что хотя бы в коде не по символьно идет проверка команды, которую с сериала обрабатываю. Тем более команд может быть много и я их взял не с неба. Например приборы от вега абсолют, там формат команды такой: #команда=параметр# Что хотите сказать вега абсалют тоже говнокодит?
ㅤ
Ладно, последний вопрос. Как много времени в день/недель/месяц/год ты уделяешь коду?
Роджер
Все просто. Попробуй хотя бы готовые решения почитать
Активно использую гигхаб, для поиска решений и примеров, но там за чистую либо еще хуже чем у меня примеры, либо примеры для новичков от профи который забывает, что новички в силу опыта своего не могут знать столько, сколько требуется знаний, чтобы понять код и ход мысли при выполнении задачи. Отдельная тема это комментарии, либо ох нет либо они там ни о чем. За частую самое распространённое, это комментарий в начале код, кто написал код ниже. А в индийских или китайских кола есть молитвы к Богу, дабы он защитил их код от багов. И разве это нормально?
Ruslan
вот! а у тебя даже молитвы нет
ㅤ
Пару часов в неделю.
На мой взгляд ты тратишь время в пустую. Мог бы начать с книжек. Чтоб не высирать такой позор
Роджер
Ну по разбору пакетов GPS модуля. Был бы питон, там в одну команду это делается. Но в си, нет такого простого пути. А библиотеки разбирают данные не так как мне надо. Они их сразу в готовые данные разбирают. Что не подходит для работы с серверами. Из за чего точное место положение не определяется. И нет фильтрации координат. В любом случаи будет время я разберусь с дописыванием кода, и его оптимизацией. Да сейчас удалось сделать очень тупую игрушку с мусорным кодом. Но какие ресурсы и средства нужно, чтобы сделать готовый терминал, который чтобы работал нормально? А это не один миллион рублей. Нужно и народа больше, чем две мои ручки. Я уже сталкивался, что на производстве заказывали разработку своего типо решения. Мы тогда столкнулись с большими проблемами. Мало того что устройство вышло по цене 2500, так и заказать нужно было штук 300 сразу. Так было еще куча глюков в работе. И еще потом его месяцев 6 допиливал кто то в итоге так и не доделал. Так что считаю мой пример кода успешным он работает не глючит, ошибки испрадены многие именно в обработке ошибок, при работе с сервером. Работу он поддерживает с несколькими десятками серверов из сразу после заливки. Я даже смог сделать отправку не только координат на сервер, но и фотографий. Теперь, я хочу перевести устройство с WiFi на GSM стабильную, чтобы можно было использовать уже бля многих задач. Есть примеры сим800+ардуино. Но использование есп32 дает преимущества, так как на борту есть сразу есть блютуз. Можно добавить кан шину, 485 и работу с дута, например от эскорта, я их протокол знаю уже работал с ними даже делал копию. Тоже сразу и интеграцию с дисплеями и так далее.
Ruslan
ну так делай на питоне на малине или оранже, в чём проблема?
ㅤ
Вот это блять что такое?
Вот кстати про это. Даже у esp-idf в примерах есть готовый код Парсинга нмеа. Что мешало юзать его?
ㅤ
Ну по разбору пакетов GPS модуля. Был бы питон, там в одну команду это делается. Но в си, нет такого простого пути. А библиотеки разбирают данные не так как мне надо. Они их сразу в готовые данные разбирают. Что не подходит для работы с серверами. Из за чего точное место положение не определяется. И нет фильтрации координат. В любом случаи будет время я разберусь с дописыванием кода, и его оптимизацией. Да сейчас удалось сделать очень тупую игрушку с мусорным кодом. Но какие ресурсы и средства нужно, чтобы сделать готовый терминал, который чтобы работал нормально? А это не один миллион рублей. Нужно и народа больше, чем две мои ручки. Я уже сталкивался, что на производстве заказывали разработку своего типо решения. Мы тогда столкнулись с большими проблемами. Мало того что устройство вышло по цене 2500, так и заказать нужно было штук 300 сразу. Так было еще куча глюков в работе. И еще потом его месяцев 6 допиливал кто то в итоге так и не доделал. Так что считаю мой пример кода успешным он работает не глючит, ошибки испрадены многие именно в обработке ошибок, при работе с сервером. Работу он поддерживает с несколькими десятками серверов из сразу после заливки. Я даже смог сделать отправку не только координат на сервер, но и фотографий. Теперь, я хочу перевести устройство с WiFi на GSM стабильную, чтобы можно было использовать уже бля многих задач. Есть примеры сим800+ардуино. Но использование есп32 дает преимущества, так как на борту есть сразу есть блютуз. Можно добавить кан шину, 485 и работу с дута, например от эскорта, я их протокол знаю уже работал с ними даже делал копию. Тоже сразу и интеграцию с дисплеями и так далее.
Есть и в си это. Пусть не в одну. В 5 строчек
Роджер
На мой взгляд ты тратишь время в пустую. Мог бы начать с книжек. Чтоб не высирать такой позор
Отличный пример, приведи книги в пример, где я примерные дачи смогбы посмотреть пример решения? Многие примеры то не связные куски кода, которые типо как пример и между собой иногда вообще не имеют ни какой связи. Я когда делал на си ibeacon, потратил не мало времени, чтобы тратить куски примеров, которые были написано в разрыве друг от друга.
Роджер
Вот кстати про это. Даже у esp-idf в примерах есть готовый код Парсинга нмеа. Что мешало юзать его?
Значит хреново искал получается. Я пошёл по пути, которым смог решить задачу. Наставники на то и нужны, чтобы указать каким путем идти.
ㅤ
ну так делай на питоне на малине или оранже, в чём проблема?
Там потребление уже не то, смысл бекона в той же машине отменяется. Он там про воровство тачек выше писал. Хотя он наверное не знает, что их сначала в клетку загоняют. Плюс есть устройства сканирования попытки передачи данных. И найти его маяк вообще не проблема
Роджер
https://github.com/espressif/esp-idf/tree/0479494e7abe5aef71393fba2e184b3a78ea488f/examples/peripherals/uart/nmea0183_parser
Он тут выдает координаты по плоскости, а мне нужны по шару.
Денис
Он тут выдает координаты по плоскости, а мне нужны по шару.
все дружно.. достаем свои магические шары🧐
Роджер
Если бы все было так, просто я бы использовал готовую библиотеку типо gps++, го там данные выдаются по плоской карте, а не по шару, поэтому я использовал такой убогий вариант, чтобы хоть как то закрыть данную проблему. Вот закрою проблему с переводом модуля на GSM. Вернусь к переписывают обработки данных от gps. Тем более я в пакете не все обрабатываю. Там есть пакет в котором есть время и дата, хочу уйти от получения времени от НТП сервера и просто брать из пакета от gps.
Роджер
Так ты парсишь один и тот же вывод. Чем твое отличается от готового?
Пакет выдает верные данные, а вот библиотеки и примеры выдают обработанные конечные. Которые не подходят для работы с сервером. А перерасчет идет через числа с плавающей точкой, что еще ухудшает их точность.
ㅤ
Какой из этих пакетов тут не парсится?
Роджер
Ну укажи на параметр из пакета который не юзается в примере esp-idf?
Они все юзабельные, сделано под другую систему, заточено под idf.
ㅤ
Они все юзабельные, сделано под другую систему, заточено под idf.
Здесь про idf только event луп. Учитывая что в ардуине тот же idf
ㅤ
Перепиши на фиксированную точку, при открытом коде чисто механический труд
Так базы нет видишь ли, понимать чужие коты. Лютую копипасту проще понять. И при этом он даже не понимает этого
Роджер
Лучше давайте про их алгоритм распаривания пакета поговорим. Как он работает чисто под капотом. Как он строку символов превращает в структуру, где отдельно пюко всем параметрам можно обратиться.
Роджер
ㅤ
ㅤ
Шо блять ему тут нехватает?
Mezzo Lab
Перепиши на фиксированную точку, при открытом коде чисто механический труд
Покажи ему пошагово как с полным описанием, понятным даже лягушке А он потом обучающее видео снимет по данному сценарию
ㅤ
А ты еще и crc не проверяешь оказывается в своём высере
ㅤ
Если тебе в юарте насрут хуйни то твой маяк идет нахуй
Max
Шо блять ему тут нехватает?
Можно и не парсить. Отдаешь строку как есть на сервер, пускай мудохается
ㅤ
Можно и не парсить. Отдаешь строку как есть на сервер, пускай мудохается
Ну или так, да. А там питон в одну строчку (как он выше писал)
Mezzo Lab
Я ленивое чмо
Хреновый из тебя суенарист
Max
Хреновый из тебя суенарист
Шож, такова сумна доля
ㅤ
Хреновый из тебя суенарист
>суенарист Это кто?
ㅤ
Опять бананы пришли
Роджер
Я вижу по коду, что туда передали по ссылке полученный массив, а как он там дальше разбирается судя по функциям я не понимаю.
Mezzo Lab
Опять бананы пришли
Всё возвращается на круги своя
ㅤ
Сцуко может один раз K&R прочитать?
Mezzo Lab
Сцуко может один раз K&R прочитать?
Мне тут один чувак сказал что это одна из двух лучших книг в его жизни
Max
У меня в универе была афигительная книжка по си и плюсам. Не гуглиться, падло, надо до деревни ехать
Mezzo Lab
Но не для роджера