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 таки эти операции появились, пусть через метод, но всё же в явном виде
"мы выливаем на студента слишком много слишком быстро"
Что ж они такие нежные, по хорошему надо дать теорию, ответить на вопросы если кому что не ясно, и вываливать задачу сразу на Rust с tokio, там компилятор просто не даст сделать ерунды, и пока не скомпилируется пусть разбирается что не так, когда учатся на своих ошибках - на дольше запоминается)))
Если использовать конструкцию в виде одной длинной строки, то компилятор Clang всё таки её превращает в rol/ror, поэтому просто имею файл с набором подобных макросов
Но сама ситуация не нормальная, при работе с некоторыми устройствами и криптографией очень полезная штука
Меня как то занимал вопрос почему в x86 на асме есть инструкции ror/rol, даже в Паскале есть, а в С/С++ нет и нужно корячиться с двумя сдвигами и лог.сложением
Что-то не тех Вы читаете) мои любимые авторы даже художественной литературы обычно учёные с кучей заслуг
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
Я подозреваю у вас часто новая команда)
Есть серия книг "мир программирования", без привязки к языку, там книги называются дискретная математика, основы кодирования, современные алгоритмы, сжатие текста, изображений и звука, и прочее, мне они дали больше базы, чем ВУЗ
Заметьте в Паскале это работает, не нужно писать три операции, не нужно писать свои версии для каждой разрядности передаваемого типа, работает само, почему они не могут это внести в Си я не понимаю.
Впрочем нужно шагать в ногу со временем, в Rust таки эти операции появились, пусть через метод, но всё же в явном виде
"мы выливаем на студента слишком много слишком быстро"
Что ж они такие нежные, по хорошему надо дать теорию, ответить на вопросы если кому что не ясно, и вываливать задачу сразу на Rust с tokio, там компилятор просто не даст сделать ерунды, и пока не скомпилируется пусть разбирается что не так, когда учатся на своих ошибках - на дольше запоминается)))
Если использовать конструкцию в виде одной длинной строки, то компилятор Clang всё таки её превращает в rol/ror, поэтому просто имею файл с набором подобных макросов
Но сама ситуация не нормальная, при работе с некоторыми устройствами и криптографией очень полезная штука
Меня как то занимал вопрос почему в x86 на асме есть инструкции ror/rol, даже в Паскале есть, а в С/С++ нет и нужно корячиться с двумя сдвигами и лог.сложением