Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Терминальчик

На основе найденного на просторах интернета примера, как "подружить" ncurses и readline, переделал tty_term — простенький терминальный клиент. Теперь команды вводить намного удобней: они находятся в отдельной строке и запоминаются readline'ом.

Прокручивать экран сообщений тоже можно "до упора": абсолютно все сообщения запоминаются в связном списке (я решил, что нет смысла его ограничивать: все равно больше нескольких мегабайт накопить не удастся).
Правда, не решил проблему с изменением размера окна: почему-то "на кошках" все работает нормально, но тот же самый код, дополненный работой с последовательным терминалом, "задерживает" сигнал обновления до нажатия какой-либо клавиши! А еще оказалось, что изменение размера экрана посылает сигнал, который превосходно прерывает select() (а я в его обработчике совсем забыл сразу добавить реакцию на EINTR).
Ну и да: мне лень было заморачиваться с прокруткой экрана, чтобы все было красиво и по одной строчке, как бы ни менялся размер окна, поэтому прокрутка производится поэлементно (т.е. квантом является не отображаемая строка, а сохраненная в памяти).
Режим работы пока только текстовый. Если вдруг у меня появится устройство, имеющее бинарный протокол, возможно, добавлю еще представление в виде hex + ввод команд в таком же виде.
Tags: c, всячина
Subscribe

  • DHT22/DHT11 на STM32F103

    Добил шайтана! Сначала ожидал, что нужно будет полноценным захватом ШИМ пользоваться, но т.к. в протоколе неинформативная часть имеет постоянную…

  • Свеженькие железячки

    Получил сегодня с али ожидаемые железки, в т.ч. для восстановления моей файлопомойки. Во-первых, это блок питания на 16.8В, который я брал для…

  • BMP180 на STM32F103

    Добавил еще один сниппет — работа с BMP180 (датчик температуры и давления). Опять в даташите формула для вычисления "компенсированных" значений…

promo eddy_em august 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 3 comments