Python на службе человека

Сижу, пишу проект. В проекте используется RS485 и протокол Modbus RTU.

Работа протокола Modbus RTU основывается на количественной оценке промежутков времени для того чтобы определять окончание посылки пакета. Если промежуток времени после приёма очередного байта в 3.5 раза превышает время передачи одного байта, то считается, что пакет принят полностью и теперь можно приступить к его обработке. Ничего сложного.

У меня в ТЗ прописано, что система должна работать с частотами 2400, 4800, 9600, 19200 и 38400 Бод. Требуется вычислить временной промежуток для всех этих скоростей. Всё просто.

Случись такая задача лет 10-20 назад, я бы взял бумагу, карандаш и калькулятор и быстренько бы нашёл эти времена. Но сейчас у меня под руками совершенно иные инструменты.

Я открываю консоль, набираю команду:

$ mkpy3 3.5

В текущем директории создается исполняемый файл 3.5.py с готовым шаблонным содержимым.

Следующая команда набирается последовательным нажатием следующих клавиш: «plu<Tab> 3<Tab>&<Enter>». Знак амперсенда (‘&’) в конце строки нужен для того, чтобы можно было вернуться в окно терминала, не закрывая при этом окно редактора.

$ pluma 3.5.py &

Эта команда открывает текстовый редактор Pluma и загружает в него файл 3.5.py

Далее я дописываю необходимый текст:

Затем нажимаю Ctrl-S (для сохранения на диске сделанных изменений) и Alt-Tab (для перехода в окно псевдотерминала). В окне псевдотерминала последовательно нажимаю клавиши «./3<Tab><Enter>» и получаю результат:

Вы в несколько раз дольше читали этот текст, чем у меня ушло времени от осознания задачи до получения результирующих цифр.

Для себя лично, я уже в который раз убеждаюсь, что для небольших задач типа этой, лучше использовать Питон, а не тыкать кнопки калькулятора.

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s