Всё то вам видно) если вам не нужен контроль над памятью, не нужна ни правая, ни левая нога, но хотите тормоза, оверрасход памяти и любите 1 час писать и 20 отлаживать, то Go отличный выбор
Rust вообще системный язык общего назначения, его и надо с ними сравнивать - C, C++, Pascal, Zig, Odin, Golang, Nim, не понимаю почему вообще сравнивать с Java или Kotlin а тем более PHP, тут только одно может быть сравнение на Kotlin вы найдете работу, на Rust нет, только если не тимлид и прям упретесь перед начальством что это вот пишем на Rust и всё тут
Я как-то попробовал скормить одной такой штуке некоторые файлы из ядра Linux, понял что чистого кода не бывает и сосредоточился на формировании красивого стиля самостоятельно, в основном через TDD
Спасибо, на моих платах, что имею дома по 485-му всё отлично работает, есть правда некоторые предложения по улучшению, кроме пресетов, но это скорее юзерфрендли, чем функционал
А впрочем, подумайте над вариантом добавить протокол из CAN), могу оказать содействие
Попробую ещё на заводе с другими устройствами и не программистами)
1) "Использовать макрос Modbus и функцию 0х10 Запись нескольких регистров. Регистрам, которые находятся между 0х64 и 0х70, можно задать нулевое значение. Убедитесь, что это не критично."
Ой, там я эти регистры натыкал ещё когда устройства не было даже в kiCAD нарисовано, там с большими интервалами
Скрытый текст
В теории конечно можно переделать карту регистров, но это ради одной чужой программы такое себе)))
2) "Использовать несколько макросов Modbus. В каждом макросе используется функция 0х06, которая записывает в один регистр"
Это рабочий вариант, но объяснять людям нажми все Xn чтобы установить режим X странно, если перед глазами компьютер, а не арифмометр
3) "Использовать макрос режима "Без протокола". Записать последовательно байты для каждой посылки. Попробовать отправить. "
Как вариант, впринципе разбор пакетов писал я, могу сделать чтобы он дробил длинные данные по длине пакета и совпавшей crc, добавлял их в очередь , и по хорошему надо бы, но опять же ради одной программы...
Было бы чудесно иметь в закромах возможность исполнить сразу несколько команд подряд, у меня есть одна плата на ПЛИС, там около 12 разных регистров пишется, чтобы задать параметры работы и естественно все в разных местах по адресам, эти параметры пишутся не один и не два раза за сеанс
Я бегло попробовал с моим самодельным устройством на 485-м, вскочил вопрос, а есть ли возможность задать готовые пресеты для отправки? Поясню, у меня при подключении инициализируются некоторые регистры и далее во время работы нужно переключать режимы, т.е. отсылать несколько вариантов заранее заданных данных, а не менять пакет туда-сюда
У меня был Conexant v.92 самый дешёвый что вообще был в продаже, я тогда не придал значения надписи Soft Modem, оказалось зря, всё веселое началось дома, оказалось там от модема только физический уровень, всё что выше по OSI делалось в драйверe для винды, ох и пляски было его поднять под mandrake linux, с какими-то open source дровами, написанными на GNAT от Васька2000, версии 0.1а
Это был теплый летний вечер в Древней Греции...)))
У Rust очень крутая кривая входа, на русском мало книг, в основном написаны когда версия была типа 1.2, а тут более менее свежак
Всё то вам видно) если вам не нужен контроль над памятью, не нужна ни правая, ни левая нога, но хотите тормоза, оверрасход памяти и любите 1 час писать и 20 отлаживать, то Go отличный выбор
Если нужно блеееейзинг код - ставьте Rust, там в rayon нет большинства из этих проблем, остальных нет в силу языка
Он не бородат, расходимся, borrow, ой, beard чекер не пройден растом
"то malloc() может сдвинуть границу (brk()) и вернуть память ОС."
Я думаю malloc не должен возвращать, речь про free
Что-то не тех Вы читаете) мои любимые авторы даже художественной литературы обычно учёные с кучей заслуг
Rust после Python странный выбор, всё такие язык не простой, обычного в него бегут плюсовики, посмотрите Mojo
Rust вообще системный язык общего назначения, его и надо с ними сравнивать - C, C++, Pascal, Zig, Odin, Golang, Nim, не понимаю почему вообще сравнивать с Java или Kotlin а тем более PHP, тут только одно может быть сравнение на Kotlin вы найдете работу, на Rust нет, только если не тимлид и прям упретесь перед начальством что это вот пишем на Rust и всё тут
Я как-то попробовал скормить одной такой штуке некоторые файлы из ядра Linux, понял что чистого кода не бывает и сосредоточился на формировании красивого стиля самостоятельно, в основном через TDD
Добыть металл из кремниевых пластин?))) ну успехов
Не проще перейти на rust, там есть tauri
Ни Java, ни Rust, ни C++, зато piet и wenyan, месье знает толк в извращениях
Вообще встречается часто, чаще всего в автомобиле, ну примерно как Манчестер-2 (MIL-STD-1553) в авиации, никакая ракета и самолёт без этого
Но и по внутренней сети между станками не раз видел CAN-устройства, например в Микроне
Я без шуток, оно используется
Напишу вам свои пожелания, мне нужно их сформировать
Спасибо, на моих платах, что имею дома по 485-му всё отлично работает, есть правда некоторые предложения по улучшению, кроме пресетов, но это скорее юзерфрендли, чем функционал
А впрочем, подумайте над вариантом добавить протокол из CAN), могу оказать содействие
Попробую ещё на заводе с другими устройствами и не программистами)
1) "Использовать макрос Modbus и функцию 0х10 Запись нескольких регистров. Регистрам, которые находятся между 0х64 и 0х70, можно задать нулевое значение. Убедитесь, что это не критично."
Ой, там я эти регистры натыкал ещё когда устройства не было даже в kiCAD нарисовано, там с большими интервалами
Скрытый текст
В теории конечно можно переделать карту регистров, но это ради одной чужой программы такое себе)))
2) "Использовать несколько макросов Modbus. В каждом макросе используется функция 0х06, которая записывает в один регистр"
Это рабочий вариант, но объяснять людям нажми все Xn чтобы установить режим X странно, если перед глазами компьютер, а не арифмометр
3) "Использовать макрос режима "Без протокола". Записать последовательно байты для каждой посылки. Попробовать отправить. "
Как вариант, впринципе разбор пакетов писал я, могу сделать чтобы он дробил длинные данные по длине пакета и совпавшей crc, добавлял их в очередь , и по хорошему надо бы, но опять же ради одной программы...
Было бы чудесно иметь в закромах возможность исполнить сразу несколько команд подряд, у меня есть одна плата на ПЛИС, там около 12 разных регистров пишется, чтобы задать параметры работы и естественно все в разных местах по адресам, эти параметры пишутся не один и не два раза за сеанс
Я бегло попробовал с моим самодельным устройством на 485-м, вскочил вопрос, а есть ли возможность задать готовые пресеты для отправки? Поясню, у меня при подключении инициализируются некоторые регистры и далее во время работы нужно переключать режимы, т.е. отсылать несколько вариантов заранее заданных данных, а не менять пакет туда-сюда
Скрытый текст
Что-то в таком духе
Спасибо, очень актуально, после праздников попробую, как раз сейчас анализирую пакеты с устройством без даташита, дам фидбэк
Там же 232-й есть?
У меня был Conexant v.92 самый дешёвый что вообще был в продаже, я тогда не придал значения надписи Soft Modem, оказалось зря, всё веселое началось дома, оказалось там от модема только физический уровень, всё что выше по OSI делалось в драйверe для винды, ох и пляски было его поднять под mandrake linux, с какими-то open source дровами, написанными на GNAT от Васька2000, версии 0.1а
У меня был Conexant