Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана



Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
Устройство, способ, программа и интерфейс для эмуляции терминала с управлением посредством сенсорного экрана
G06F3/00 - Вводные устройства для передачи данных, подлежащих преобразованию в форму, пригодную для обработки в вычислительной машине; выводные устройства для передачи данных из устройств обработки в устройства вывода, например интерфейсы (пишущие машинки B41J; преобразование физических переменных величин F15B 5/00,G01; получение изображений G06T 1/00,G06T 9/00; кодирование, декодирование или преобразование кодов вообще H03M; передача цифровой информации H04L)

Владельцы патента RU 2678714:

Кочарян Ашот Эрнстович (RU)

Изобретение относится к устройствам эмуляции терминала. Технический результат заключается в обеспечении возможности обмениваться файлами с использованием разных протоколов. Устройство включает порт USB с поддержкой режима главного устройства (хост, host); преобразователь интерфейса, подключенный к USB порту; беспроводной приемопередатчик; сенсорный экран; пользовательский интерфейс для установления соединения с заданными устройствами; процессор, настроенный для: конфигурирования последовательного порта для преобразователя интерфейса, подключенного к USB порту; создания беспроводного виртуального последовательного порта для связи с одним из заданных устройств; инициализации и конфигурации эмуляторов терминалов для сконфигурированных последовательного и/или виртуального последовательного портов; выполнения операций эмуляторов терминалов по регистрации управляющих последовательностей терминала в сообщениях; осуществления обмена файлами с заданными устройствами с использованием одного из существующих протоколов или без протокола; создания соединения между последовательным портом и беспроводным виртуальным последовательным портом. 4 н. и 26 з.п. ф-лы, 36 ил.

 

ОБЛАСТЬ ТЕХНИКИ

Данное изобретение относится к области связи и конкретно к устройству, способу, программе и интерфейсу для эмуляции терминала с управлением посредством сенсорного экрана для проверки, управления и взаимодействия с заданным устройством.

УРОВЕНЬ ТЕХНИКИ

Эмуляторы терминалов являются известным способом эмуляции дисплейных терминалов в какой либо другой системе отображения информации. Эмулятор терминала можно, например, использовать для отладки работы операционной системы компьютера. Для обработки сообщений об ошибках некоторые операционные системы посылают их на последовательный порт компьютера.

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

Пользователи могут использовать эмуляторы терминалов, установленные на персональных компьютерах (ПК), включающих экран и устройства ввода такие, как мышь и клавиатура, для проверки и управления устройствами. Информация на дисплее и управляющая информация, вводимая с устройства ввода пользователем, могут быть преобразованы в последовательные сигналы и переданы между подключенным устройством и терминалом. Клавиатура используется для передачи кодов. Некоторые клавиши посылают один или несколько кодов немедленно при нажатии. Другие клавиши такие, как CTRL и SHIFT не посылают коды при нажатии, но модифицируют коды, посылаемые при нажатии других клавиш. Клавиатура содержит четыре клавиши со стрелками в четырех разных направлениях. Эти клавиши передают управляющие последовательности. При получении таких последовательностей терминалом курсор сместится на один символ вверх, вниз, направо или налево.

Электронные устройства с сенсорными экранами (например смартфоны, планшетные компьютеры и т.д.), позволяющие пользователям вводить информацию через дисплей, становятся все более популярными одновременно с быстрым развитием программируемых терминалов. Пользователям может удобным использование таких устройств с управлением посредством сенсорного экрана вместо ПК для проверки и управления устройствами.

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

Отображение потока данных, предлагаемое существующими эмуляторами терминалов такими, как VT100, не всегда удобно для взаимодействия с операционной системой подключаемого устройства. Например, иногда удобно вместо отображения сообщений в виде текста использовать другие форматы данных такие, как шестнадцатеричный, бинарный и т.д. Так же существующие эмуляторы терминалов отображают и входной, и выходной поток данных на одном общем экране, хотя иногда может быть удобно одновременно генерировать отображения входного и выходного потока данных в разных форматах, например, отображать принимаемые данные в форме текста, а посылаемые данные в шестнадцатеричном или бинарном формате. Так же желательно иметь удобный способ ввода данных в форматах, отличных от текстовых таких, как шестнадцатеричный и бинарный. Таким образом, другой важной проблемой разработки эмуляторов терминалов для электронных устройств является разработка удобного способа одновременного отображения принимаемых и посылаемых данных, и генерация посылаемых данных в режиме реального времени в разных форматах, отличных от реализованных в существующих эмуляюторах терминалов.

Электронные устройства с сенсорным экраном имеют разные типы портов такие, как универсальная последовательная шина (Universal Serial Bus, USB) и беспроводные, например Bluetooth. Пользователю может требоваться работать с одним устройством по нескольким разным портам связи, или одновременно работать с несколькими устройствами, подключенными к разным портам. Поэтому другой важной проблемой при разработке эмуляторов терминалов для электронных устройств с сенсорными экранами является разработка метода, позволяющего работать с одним устройством по нескольким портам, или одновременно работать с несколькими устройствами, подключенными к разным портам.

Устройство с эмулятором терминала не всегда имеет требуемый порт для прямого подключения к заданному устройству. Например, может требоваться подключиться к маршрутизатору через интерфейс командной строки, что может требовать наличия у терминала последовательного порта или USB порта, в то время как терминал может иметь только беспроводной порт связи. Или могут быть требования безопасности, секретности или другие требования, препятствующие прямому доступу к порту исследуемого устройства. Пользователю может требоваться использовать электронное устройство с сенсорным экраном для установления соединения между такими терминалом и заданным устройством.

Пользователю так же может требоваться обмениваться файлами с заданным устройством с использованием протоколов таких, как Xmodem, Ymodem и т.д. Поэтому другая важная задача в разработке эмуляторов терминалов для электронных устройств с сенсорными дисплеями состоит в разработке метода, позволяющего обмениваться файлами с использованием разных протоколов.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

В варианте осуществления согласно изобретению предлагается устройство, включающее в себя USB порт с поддержкой режима главного устройства (хост, host); преобразователь интерфейса, подключенный к USB порту; беспроводной приемопередатчик; сенсорный экран с компоновкой отображаемых на дисплее элементов, включающей в себя одно общее окно терминала или два отдельных окна терминала для полученных и посланных сообщений, командную строку; пользовательский интерфейс для установления соединения с заданными устройствами через порты устройства, для выбора компоновки элементов дисплея и настроек процессора; процессор, настроенный для: конфигурования последовательного порта для преобразователя интерфейса, подключенного к USB порту; создания беспроводного виртуального последовательного порта для связи с одним из заданных устройств; считывания сообщений от каждого из заданных устройств, полученных через последовательный порт преобразователя интерфейса, подключенного к USB порту, и/или через беспроводной виртуальный последовательный порт; записи сообщений для заданного устройства через последовательный порт преобразователя интерфейса, подключенного к USB порту, и/или через беспроводной виртуальный последовательный порт; инициализации и конфигурации эмуляторов терминалов для сконфигурированных последовательного и/или виртуального последовательного портов, индивидуальных и независимых для каждого из портов; выполнения операций эмуляторов терминалов по регистрации управляющих последовательностей терминала в сообщениях, полученных из последовательного и/или виртуального последовательного портов; выполнения операций терминалов, индивидуальных для каждого формата отображения (текстовый, шестнадцатеричный, бинарный и т.д.), по преобразованию сообщений, полученных из последовательного и/или виртуального последовательного портов, в сообщения в выбранном формате представления; выполнения операций эмуляторов терминалов по преобразованию нажатий экрана, включая движения вдоль поверхности экрана, в изменение положения курсора эмулятора терминала и управляющие последовательности терминалов для кнопок-стрелок; выполнения операций эмуляторов терминалов, индивидуальных для каждого формата отображения (текстовый, шестнадцатеричный, бинарный и т.д.), для преобразования данных, вводимых в окне терминала и в командной строке с виртуальной клавиатуры, в сообщения в выбранном формате представления; отправления сообщений и управляющих последовательностей терминала на последовательный порт и/или беспроводной виртуальный последовательный порт; преобразования данных, вводимых в окне терминала и в командной строке, в управляющие последовательности; формирования отображения полученных и посланных сообщений в окнах терминала и формирования отображения сообщений, введенных в командной строке, для выбранного формата отображения (текстовый, шестнадцатеричный, бинарный и т.д.); адаптации отображений полученных и посланных сообщений в окнах терминала к поворотам экрана; осуществления обмена файлами с заданными устройствами с использованием одного из существующих протоколов таких, как Xmodem, Ymodem или без протокола; создания соединения между последовательным портом и беспроводным виртуальным последовательным портом.

Преобразование пользовательских касаний области окна терминала включая движения вдоль поверхности экрана в команды терминала для клавиш-стрелок дает то преимущество, что пользователь получает интуитивно простой метод замены функционала клавиш-стрелок клавиатуры ПК для электронного устройства с сенсорным экраном, делая такой устройство простым в эксплуатации.

Так же, адаптация отображений полученных и посланных сообщений в окнах терминала к поворотам экрана позволяет пользователю выбрать наиболее удобную для него ориентацию аппарата и адаптировать терминал к этой ориентации, делая аппарат удобным в эксплуатации.

Использование двух отдельных окон терминала для присылаемых и отправляемых сообщений позволяет одновременно отображать входящие и исходящие данные и генерировать исходящие данные эмулятора терминала в разных форматах в режиме реального времени, упрощая для пользователя анализ данных.

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

Данный вариант осуществления согласно изобретению дает такое преимущество, что процессор может одновременно независимо взаимодействовать с несколькими подключенными устройствами.

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

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

В другом варианте осуществления согласно изобретению прелагается способ, включающий: отображение на дисплее сенсорного экрана компоновки элементов, включающей в себя одно общее окно терминала или два отдельных окна терминала для полученных и посланных сообщений, командную строку; пользовательский интерфейс для установления соединения с заданными устройствами через порты устройства, для выбора компоновки элементов дисплея и настроек процессора; конфигурирование последовательного порта для преобразователя интерфейса, подключенного к USB порту с поддержкой режима главного устройства (хост, host); создание беспроводного виртуального последовательного порта для связи с одним из заданных устройств; считывание сообщений от каждого из заданных устройств, полученных через последовательный порт преобразователя интерфейса, подключенного к USB порту, и/или через беспроводной виртуальный последовательный порт; запись сообщений для заданного устройства через последовательный порт преобразователя интерфейса, подключенного к USB порту, и/или через беспроводной виртуальный последовательный порт; инициализацию и конфигурацию эмуляторов терминалов для сконфигурированных последовательного и/или виртуального последовательного портов, индивидуальных и независимых для каждого из портов; выполнение операций эмуляторов терминалов по регистрации управляющих последовательностей терминала в сообщениях, полученных из последовательного и/или виртуального последовательного портов; выполнение операций терминалов, индивидуальных для каждого формата отображения (текстовый, шестнадцатеричный, бинарный и т.д.), по преобразованию сообщений, полученных из последовательного и/или виртуального последовательного портов, в сообщения в выбранном формате представления; выполнение операций эмуляторов терминалов по преобразованию нажатий экрана, включая движения вдоль поверхности экрана, в изменение положения курсора эмулятора терминала и управляющие последовательности терминалов для кнопок-стрелок; выполнение операций эмуляторов терминалов, индивидуальных для каждого формата отображения (текстовый, шестнадцатеричный, бинарный и т.д.), для преобразования данных, вводимых в окне терминала и в командной строке с виртуальной клавиатуры, в сообщения в выбранном формате представления; отправление сообщений и управляющих последовательностей терминала на последовательный порт и/или беспроводной виртуальный последовательный порт; преобразование данных, вводимых в окне терминала и в командной строке, в управляющие последовательности; формирование отображения полученных и посланных сообщений в окнах терминала и формирование отображения сообщений, введенных в командной строке, для выбранного формата отображения (текстовый, шестнадцатеричный, бинарный и т.д.); адаптацию отображений полученных и посланных сообщений в окнах терминала к поворотам экрана; осуществление обмена файлами с заданными устройствами с использованием одного из существующих протоколов таких, как Xmodem, Ymodem или без протокола; создание соединения между последовательным портом и беспроводным виртуальным последовательным портом.

Согласно другому варианту осуществления согласно изобретению предлагается программа, включающая в себя набор инструкций для управления устройством, включающим в себя USB порт; преобразователь интерфейса, подключенный к USB порту; беспроводной приемопередатчик; сенсорный экран с компоновкой отображаемых на дисплее элементов, включающей в себя одно общее окно терминала или два отдельных окна терминала для полученных и посланных сообщений, командную строку; пользовательский интерфейс для установления соединения с заданными устройствами через порты устройства, для выбора компоновки элементов дисплея и настроек процессора; набор инструкций, дающих при загрузке в процессор: механизм конфигурования последовательного порта для преобразователя интерфейса, подключенного к USB порту; механизм создания беспроводного виртуального последовательного порта для связи с одним из заданных устройств; механизм считывания сообщений от каждого из заданных устройств, полученных через последовательный порт преобразователя интерфейса, подключенного к USB порту, и/или через беспроводной виртуальный последовательный порт; механизм записи сообщений для заданного устройства через последовательный порт преобразователя интерфейса, подключенного к USB порту, и/или через беспроводной виртуальный последовательный порт; механизм инициализации и конфигурации эмуляторов терминалов для сконфигурированных последовательного и/или виртуального последовательного портов, индивидуальных и независимых для каждого из портов; механизм выполнения операций эмуляторов терминалов по регистрации управляющих последовательностей терминала в сообщениях, полученных из последовательного и/или виртуального последовательного портов; механизм выполнения операций терминалов, индивидуальных для каждого формата отображения (текстовый, шестнадцатеричный, бинарный и т.д.), по преобразованию сообщений, полученных из последовательного и/или виртуального последовательного портов, в сообщения в выбранном формате представления; механизм выполнения операций эмуляторов терминалов по преобразованию нажатий экрана, включая движения вдоль поверхности экрана, в изменение положения курсора эмулятора терминала и управляющие последовательности терминалов для кнопок-стрелок; механизм выполнения операций эмуляторов терминалов, индивидуальных для каждого формата отображения (текстовый, шестнадцатеричный, бинарный и т.д.), для преобразования данных, вводимых в окне терминала и в командной строке с виртуальной клавиатуры, в сообщения в выбранном формате представления; механизм отправления сообщений и управляющих последовательностей терминала на последовательный порт и/или беспроводной виртуальный последовательный порт; механизм преобразования данных, вводимых в окне терминала и в командной строке, в управляющие последовательности; механизм формирования отображения полученных и посланных сообщений в окнах терминала и формирования отображения сообщений, введенных в командной строке, для выбранного формата отображения (текстовый, шестнадцатеричный, бинарный и т.д.); механизм адаптации отображений полученных и посланных сообщений в окнах терминала к поворотам экрана; механизм независимого обмена файлами с каждым из заданных устройств с использованием одного из существующих протоколов таких, как Xmodem, Ymodem или без протокола; механизм создания соединения между последовательным портом и беспроводным виртуальным последовательным портом. В другом варианте осуществления согласно изобретению предлагается пользовательский интерфейс, включающий в себя сенсорный экран с компоновкой отображаемых на дисплее элементов, включающей в себя одно общее окно терминала или два отдельных окна терминала для полученных и посланных сообщений, командную строку; пользовательский интерфейс для установления соединения с заданными устройствами через порты устройства, для выбора компоновки элементов дисплея и настроек процессора; отличающийся тем, что: при нажатиях экрана, включая движения вдоль поверхности экрана выполняются операции эмуляторов терминалов по преобразованию нажатий экрана, включая движения вдоль поверхности экрана, в изменение положения курсора эмулятора терминала и управляющие последовательности терминалов для кнопок-стрелок; при вводе данных в окне терминала и в командной строке с виртуальной клавиатуры выполняются операции эмуляторов терминалов, индивидуальные для каждого формата отображения (текстовый, шестнадцатеричный, бинарный и т.д.), для преобразования данных, вводимых в окне терминала и в командной строке с виртуальной клавиатуры, в сообщения в выбранном формате представления; при вводе данных в окне терминала и в командной строке с виртуальной клавиатуры формируются отображения введенных в окнах терминала сообщений и формируется отображение сообщений, введенных в командной строке, для выбранных форматов отображения (текстовый, шестнадцатеричный, бинарный и т.д.); при получении сообщений от подключенных устройств формируется отображение полученных сообщений в окнах терминала для выбранного формата отображения (текстовый, шестнадцатеричный, бинарный и т.д.); при поворотах экрана выполняется адаптация отображений полученных и посланных сообщений в окнах терминала; при обмене файлами отображается информация и адаптируется компоновка элементов, отображаемых на дисплее сенсорного экрана так, чтобы информировать пользователя о статусе процесса передачи файлов; при начале передачи файлов пользовательский интерфейс терминала за исключением интерфейса передачи файлов делается неактивным и делается активным при окончании; при установлении соединения между между последовательным портом и беспроводным виртуальным последовательным портом пользовательский интерфейс терминала за исключением интерфейса соединения между портами становится неактивным и делается активным при закрытии соединения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Прилагаемые фигуры включены для способствования уяснению излагаемых сведений. Они иллюстрируют варианты осуществления и в сочетании с излагаемым материалом могут помочь пониманию принципов изобретения. Другие варианты осуществления и другие подразумеваемые преимущества, предусмотренные закономерности и функции станут понятны при изучении подробного описания, приводимого далее. Элементы рисунков не обязательно нарисованы в реальных масштабах по отношению друг к другу. Общие сущности обозначаются на рисунках одинаковыми номерами.

фиг. 1 показывает блок-схему соединения заданного устройства с электронным устройством с сенсорным экраном данного изобретения.

фиг. 2 показывает блок-схему электронного устройства с сенсорным экраном данного изобретения.

фиг. 3 показывает блок-схему подключения электронного устройства с сенсорным экраном данного изобретения к заданному устройству через разные преобразователи интерфейса, подключенные к USB порту электронного устройства, или через встроенный беспроводной приемопередатчик электронного устройства.

фиг. 4 показывает блок-схему соединения компьютера с электронным устройством данного изобретения через разные преобразователи интерфейса, подключенные к USB порту компьютера, или через встроенный беспроводной приемопередатчик электронного устройства.

фиг. 5 показывает блок-схему соединения микроконтроллера платы микроконтроллера с внутренней элетрической цепью платы.

фиг. 6 показывает блок-схему соединения платы микроконтроллера с электронным устройством с сенсорным экраном данного изобретения через беспроводной TTL приемопередатчик, подключенный к TTL портам платы.

фиг. 7 показывает блок-схемы соединения беспроводного TTL приемопередачика и беспроводного СОМ приемопередатчика, а так же маршрутизатора с СОМ портом и маршрутизатора с CLI портом с электронным устройством данного изобретения, фиг. 8 показывает блок-схему метода управления электронным устройством с сенсорным экраном, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 9 показывает пользовательский интерфейс эмулятора терминала, включая пользовательский интерфейс для выбора подключаемого устройства, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 10 показывает пользовательский интерфейс эмулятора терминала включая пользовательский интерфейс для отображения информации о настойках соединения, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 11 показывает пользовательский интерфейс эмулятора терминала включая компоновку виртуальной клавиатуры для книжной ориентации, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 12 показывает пользовательский интерфейс эмулятора терминала включая компоновку виртуальной клавиатуры для альбомной ориентации, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 13 показывает метод преобразования окна эмулятора терминала при поворотах устройства с автоматическим масштабированием текста, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 14 показывает метод преобразования окна эмулятора терминала при поворотах устройства с сохранением размера шрифта, в соответствии с одним из вариантов реализации согласно изобретению.

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

фиг. 16 показывает пользовательский интерфейс эмулятора терминала для добавления нового элемента к списку кодовых последовательностей разных форматов, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 17 показывает пользовательский интерфейс эмулятора терминала для изменения элементов списка кодовых последовательностей разных форматов, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 18 показывает пользовательский интерфейс эмулятора терминала для отображения/скрывания кнопок, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 19 показывает пользовательский интерфейс эмулятора терминала для отображения/скрывания кнопок, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 20 показывает пользовательский интерфейс эмулятора терминала для отображения/скрывания кнопок, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 21 показывает пользовательский интерфейс эмулятора терминала для передачи файлов, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 22 показывает пользовательский интерфейс эмулятора терминала для выбора пересылаемого файла, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 23 показывает пользовательский интерфейс для выбора имени принимаемого файла, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 24 показывает пользовательский интерфейс эмулятора терминала для перезаписи файла при приеме, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 25 показывает кнопки меню для пользовательского интерфейса для передачи файлов, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 26 показывает пользовательский интерфейс эмулятора терминала для секции математических инструментов, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 27 показывает пользовательский интерфейс эмулятора терминала для разделенного экрана для отображения передаваемых и принимаемых данных для книжной ориентации, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 28 показывает пользовательский интерфейс эмулятора терминала для разделенного экрана для отображения передаваемых и принимаемых данных для альбомной ориентации, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 29 показывает пользовательский интерфейс эмулятора терминала для установления соединения с устройством по Bluetooth, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 30 показывает пользовательский интерфейс эмулятора терминала включая информационное сообщение эмулятора терминала об ожидании клиентского соединения по Bluetooth, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 31 показывает пользовательский интерфейс эмулятора терминала для переключения между разными соединениями включая контролируемое соединение нескольких подключенных устройств, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 32 показывает функциональную диаграмму с шагами метода для конфигурирования преобразователя интерфейса, подключенного к USB порту электронного устройства, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 33 показывает функциональную диаграмму с шагами метода для конфигурирования виртуального последовательного порта Bluetooth для сервера, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 34 показывает функциональную диаграмму с шагами метода для конфигурирования виртуального последовательного порта Bluetooth для клиента, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 35 показывает функциональную диаграмму с шагами метода для передачи файлов с использованием таких протоколов, как Xmodem и Ymodem, в соответствии с одним из вариантов реализации согласно изобретению.

фиг. 36 показывает функциональную диаграмму с шагами метода для приема файлов с использованием таких протоколов, как Xmodem и Ymodem, в соответствии с одним из вариантов реализации согласно изобретению.

ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

Фигуры показывают устройство, включающее в себя USB порт с поддержкой режима главного устройства (хост, host); преобразователь интерфейса, подключенный к USB порту; беспроводной приемопередатчик; сенсорный экран с компоновкой отображаемых на дисплее элементов, включающей в себя одно общее окно терминала или два отдельных окна терминала для полученных и посланных сообщений, командную строку; пользовательский интерфейс для установления соединения с заданными устройствами через порты устройства, для выбора компоновки элементов дисплея и настроек процессора; процессор, настроенный для: конфигурования последовательного порта для преобразователя интерфейса, подключенного к USB порту; создания беспроводного виртуального последовательного порта для связи с одним из заданных устройств; считывания сообщений от каждого из заданных устройств, полученных через последовательный порт преобразователя интерфейса, подключенного к USB порту, и/или через беспроводной виртуальный последовательный порт; записи сообщений для заданного устройства через последовательный порт преобразователя интерфейса, подключенного к USB порту, и/или через беспроводной виртуальный последовательный порт; инициализации и конфигурации эмуляторов терминалов для сконфигурированных последовательного и/или виртуального последовательного портов, индивидуальных и независимых для каждого из портов; выполнения операций эмуляторов терминалов по регистрации управляющих последовательностей терминала в сообщениях, полученных из последовательного и/или виртуального последовательного портов; выполнения операций терминалов, индивидуальных для каждого формата отображения (текстовый, шестнадцатеричный, бинарный и т.д.), по преобразованию сообщений, полученных из последовательного и/или виртуального последовательного портов, в сообщения в выбранном формате представления; выполнения операций эмуляторов терминалов по преобразованию нажатий экрана, включая движения вдоль поверхности экрана, в изменение положения курсора эмулятора терминала и управляющие последовательности терминалов для кнопок-стрелок; выполнения операций эмуляторов терминалов, индивидуальных для каждого формата отображения (текстовый, шестнадцатеричный, бинарный и т.д.), для преобразования данных, вводимых в окне терминала и в командной строке с виртуальной клавиатуры, в сообщения в выбранном формате представления; отправления сообщений и управляющих последовательностей терминала на последовательный порт и/или беспроводной виртуальный последовательный порт; формирования отображения полученных и посланных сообщений в окнах терминала и формирования отображения сообщений, введенных в командной строке, для выбранного формата отображения (текстовый, шестнадцатеричный, бинарный и т.д.); преобразования данных, вводимых в окне терминала и в командной строке, в управляющие последовательности; адаптации отображений полученных и посланных сообщений в окнах терминала к поворотам экрана; осуществления обмена файлами с заданными устройствами с использованием одного из существующих протоколов таких, как Xmodem, Ymodem или без протокола; создания соединения между последовательным портом и беспроводным виртуальным последовательным портом.

Фиг. 1 показывает блок-схему соединения 1 устройства 2 с портом 3 электронного устройства с сенсорным экраном 4 с портом 5. Показанное устройство состоит из сенсорного экрана 6 с интерфейсом дисплея 7 и интерфейсом прикосновений 8, процессора 9, памяти 10, USB порта 11, преобразователя интерфейса 12, через который устанавливается соединение 13 с заданным устройством 14 через порт заданного устройства 15, и беспроводной приемопередатчик 16, через который может быть установлено соединение 17 с другим заданным устройством 18 через беспроводной порт заданного устройства 19, как показано на фиг. 2. Процессор 9 соединен для принимания входящих команд от сенсорного экрана 6 и для передачи исходящих команд экрану дисплея. Процессор 9 так же соединен для чтения и записи памяти 10, USB порта 11 и беспроводного приемопередатчика 16. Дисплей 6 настроен для отображения пользовательского интерфейса.

Память 10 содержит инструкции программы электронного устройства 4, которые, будучи загружены в процессор 9, позволяют управлять устройством 4 так, как это далее описано. Инструкции программы предоставляют команды и методы, которые позволяют устройству 4 реализовать способ, показанный на фиг. 8. На нем отображены только существенные при дальнейшем рассмотрении элементы. Следует однако понимать, что могут быть реализованы другие варианты выполнения данного изобретения, которые могут включать дополнительные элементы, не показанные здесь, или могут быть внесены логические изменения без отклонения от сущности и объема правовой охраны этого изобретения, как изложено в прилагаемой формуле изобретения.

В последующих вариантах реализации под подключаемым устройством понимаются устройства, подключенные через последовательный интерфейс (serial port, communication port, COM), интерфейс транзисторно-транзисторной логики (transistor-transistor logic, TTL), интерфейс командной строки (command line interface, CLI), USB интерфейс или подключенные через беспроводной приемопередатчик. Примеры таких устройств включают другое электронное устройство 4, маршрутизатор с интерфейсом командной строки, компьютер, посылающий сообщения через последовательный, USB или беспроводной порт, или беспроводной встроенный приемопередатчик, беспроводной TTL приемопередатчик такой, как беспроводной Bluetooth TTL приемопередатчик, или плата микроконтроллера такая как Arduino UNO, посылающая сообщения через USB порт или TTL порт и т.д. Устройства могут быть присоединены электрически к другим преобразователям интерфейса таким, как USB/TTL преобразователь, USB/СОМ преобразователь, беспроводной TTL приемопередатчик, беспроводной USB приемопередатчик и т.д. В этом случае преобразователь интерфейса электрически или беспроводным образом подключен к электронному устройству 4 для обмена данными. На фиг. 3 показаны блок-схемы конфигураций электронного устройства с сенсорным экраном, подключенного к заданному устройству. Например, на фиг. 3 электронное устройство 4 устанавливает соединение 17 через встроенный беспроводной приемопередатчик 14. В другом примере, показанном на фиг. 3, устройство 4 подключается к внутреннему электрическому контуру 20 платы микроконтроллера 21 через подключение USB порта 11 электронного устройства 4 к USB порту 22 платы микроконтроллера 21. В этом случае соединение с внутренним электрическим контуром 20 платы микроконтроллера 21 осуществляется TTL портом 23 USB/TTL преобразователя 24, встроенного в плату микроконтроллера 21. В другом примере, показанном на фиг. 3, электронное устройство 4 устанавливает соединение 13 через TTL порт 25 USB/TTL преобразователя 26, присоединенного через USB порт 27 к USB порту 11 электронного устройства 4. В другом примере на фиг. 3 электронное устройство 4 устанавливает соединение 13 через TTL порт 25 USB/TTL преобразователя 26, присоединенного через USB порт 27 к USB порту 11 электронного устройства 4. В другом примере на фиг. 3 электронное устройство 4 устанавливает соединение 13 через СОМ порт 28 USB/COM преобразователя 29, присоединенного через USB порт 30 к USB порту 11 электронного устройства 4. На фиг. 4 компьютер 31 устанавливает соединение 13 через TTL порт 25 USB/TTL преобразователя 26, присоединенного через USB порт 27 к USB опту 32 компьютера. В другом примере на фиг. 4 компьютер 31 устанавливает соединение 13 через СОМ порт 28 USB/COM преобразователя 29, присоединенного через USB порт 30 к USB порту 32 компьютера. В другом примере, показанном на фиг. 4, компьютер 31 устанавливает соединение 17 через встроенный беспроводной приемопередатчик 33. Компьютер 31 так же может устанавливать соединение 17 через беспроводной USB приемопередатчик 34, присоединенный через его USB порт 35 к USB порту 32 компьютера, или через беспроводной TTL приемопередатчик 36 с TTL портом 37 или через беспроводной СОМ приемопередатчик 38 с СОМ портом 39. Фиг. 5 показывает соединение платы микроконтроллера 21 через USB порт 22, уже показанное на фиг. 3. В этом случае соединение 13 с внутренним электрическим контуром 20 платы микроконтроллера 21 устанавливается через TTL порт 23 USB/TTL преобразователя 24, встроенного в плату микроконтроллера. Соединение может так же быть установлено через TTL порт электрического контура платы микроконтроллера без использования USB/TTL преобразователя 24. Например, беспроводной TTL приемопередатчик может быть подключен к TTL портам 40 электрического контура 20 через TTL порт 34, после чего может быть установлено соединение 17 с электронным устройством 4, как показано на фиг. 6. Фиг. 7 показывает соединение 13 беспроводного TTL приемопередатчика 36 с электронным устройством через TTL/COM преобразователь 41, позволяющий, например, изменять настройки беспроводного приемопередатчика 36. Беспроводной TTL приемопередатчик 36 и беспроводной СОМ приемопередатчик 38 могут так же установить прямое соединение 13 с электронным устройством 4 через TTL порт 37 и СОМ порт 39 соответственно, как показано на фиг. 7. На фиг. 7 так же показано соединение 13 маршрутизатора 42 и электронного устройства 4 через СОМ порт 43. В еще одном примере, показанном на фиг. 7, марштрутизатор 44 устанавливает соединение 13 присоединением rj45 порта 45 Cisco кабеля 46 к rj45 порту интерфейса командной строки 47 маршрутизатора.

На фиг. 8, фиг. 32, фиг. 33, фиг. 34 показана блок-схема управления электронным устройством 4. Примеры пользовательского интерфейса в соответствии с вариантом выполнения изобретения показаны на фиг. 9-31. Настройки сенсорного экрана позволяют процессору преобразовывать пользовательские прикосновения к экрану, включая движения вдоль экрана, в изменения позиции курсора эмулятора терминала.

Данные, полученные из порта 11 устройства, помещаются в блок памяти входящих сообщений 48. Данные из блока памяти входящих сообщений 48 обрабатываются преобразователем входящих сообщений 49, который формирует получающееся отображение отдельного окна терминала 50 для входящих сообщений из порта связи, хранящееся в блоке памяти 51, или отображение окна терминала 52, хранящееся в блоке памяти 53, для выбранного формата отображения данных (текстовый, шестнадцатеричный, бинарный и т.д.) и для текстового формата отображения данных изменяет положение курсора терминала, показанного на схеме блоком 54. В текстовом формате отображения данных преобразователь входящих сообщений 49 так же проверяет блок памяти входящих данных 48 на наличие управляющих последовательностей терминала: при обнаружении управляющей последовательности в последовательности байт, хранящихся в блоке памяти 48, эта последовательность удаляется из блока памяти 48, и выполняется операция для эмулятора терминала в соответствии с этой управляющей последовательностью. В варианте осуществления, показанном на фиг. 8, у эмулятора терминала есть два положения курсора: одно, называемое положением курсора пользователя, устанавливается в соответствии с прикосновениями пользователя к экрану, включая движения вдоль экрана, а второе, называемое положением курсора терминала, устанавливается в соответствии с командами терминала, полученными от подключенного устройства 14 с портом 15. В варианте осуществления, показанном на фиг. 8, оба положения курсора включены для иллюстрации в один блок 54. Данные из блока памяти экрана 53 используются для обновления окна терминала 52 приложения терминала, отображаемого на сенсорном экране 6 электронного устройства 4. Нажатия клавиш виртуальной клавиатуры 55 изменяют окно терминала 52 или командную строку 56, расположенную в нижней части экрана. Блок обработки исходящих сообщений 57 обрабатывает события окна терминала 52 и возвращает окно терминала 52 к его последнему состоянию до ввода с клавиатуры, а данные о нажатии клавиш посылает в преобразователь исходящих сообщений 58. Блок обработки исходящих сообщений 59 обрабатывает изменения командной строки 56, возвращает командную строку 56 к ее последнему состоянию до ввода с клавиатуры, и посылает данные о нажатиях клавиш в буфер 60. При нажатии клавиши 61, расположенной под окном терминала 52 в правом нижнем углу справа от командной строки 56, как показано на фиг. 21, эти данные передаются блоком 62 далее в преобразователь исходящих сообщений 58, а блок памяти 60 и командная строка 56 либо очищаются, либо нет, в зависимости от настроек процессора. Настройки процессора хранятся в памяти 10. Пользовательский интерфейс настроек открывается нажатием на кнопку меню 63, расположенную в панели меню 64 над окном терминала 52. Преобразователь исходящих сообщений 58 генерирует команды терминала и посылает их в блок памяти исходящих сообщений 65. Данные из блока памяти 65 посылаются через порт 11 и соединение 13 на порт 15 подключенного устройства 14.

Если в настройках процессора включен режим локального эха 66, то преобразователь исходящих сообщений 58 так же посылает сигнал на блок локального эха 67, который формирует отображение окна терминала и обновляет блок памяти 53 для отображения эха команд пользователя в окне терминала 52. В некоторых вариантах реализации согласно изобретению в текстовом формате отображения данных блок памяти 53 хранит данные окна терминала 52 в форме последовательности символьных строк одинаковой длины W+1, где W - ширина окна терминала в количестве символов. Индекс элемента строки определяет х координату позиции символа, а индекс строки определяет у координату позиции символа. Значение последнего символа каждой строки устанавливается равным символу новой строки '\n'. При получении инструкции от преобразователя исходящих сообщений 58 записать новый символ в окно терминала 52, блок локального эха 67 обновляет положение курсора пользователя до текущего положения курсора терминала, используя положение курсора терминала, определяет индекс строки и индекс символа этой строки и изменяет его значение на значение, полученное от преобразователя исходящих сообщений 58. После этого значение положения курсора пользователя и положение курсора терминала обновляется. При получении от преобразователя исходящих сообщений 58 символа новой строки '\n' блок локального эха 67 не записывает его в блок памяти 53, а обновляет значение положения курсора терминала и значение положения курсора пользователя в соответствии с выбранным способом обработки символа конца строки при передаче сигнала. В некоторых вариантах реализации согласно изобретению окно терминала 52 настроено для отображения символьных строк. При запросе окно терминала 52 обрабатывает строки из блока памяти 53 и отображает их на экране так, что каждый символ конца строки '\n' начинает новую строку. Примером такой реализации окна терминала является EditText, подкласс класса TextView системы Android.

В некоторых вариантах осуществления согласно изобретению настройки процессора содержат опцию курсора пользователя. Если локальное эхо 66 включено или локальное эхо 66 выключено, но включена опция курсора пользователя, тогда блок обработки прикосновений 68 обрабатывает прикосновения экрана включая движения вдоль поверхности окна терминала 52, посылает команды терминала в блок памяти исходящих сообщений 65 и обновляет положение курсора пользователя. В случае потери окном терминала 52 фокуса или получения фокуса новое положение курсора пользователя сравнивается с последним положением. Если положение курсора пользователя изменилось, то последовательность команд терминала, соответствующая этому изменению, посылается в блок памяти исходящего сигнала 65. В некоторых вариантах осуществления согласно изобретению окно терминала занимает только часть области экрана окна терминала. Если курсор перетаскивается за пределы границ окна терминала или совершается нажатие на область экрана окна терминала за пределами границ окна терминала, положение курсора ограничивается границами окна терминала.

В случае 69, если и локальное эхо, и опция курсора пользователя выключены, блок обработки прикосновений 68 не обрабатывает прикосновения к окну терминала 52 и не обновляет положение курсора пользователя. Если режим локального эха 66 включен, тогда блок обработки прикосновений 68 применяет изменения положения курсора пользователя и к положению курсора терминала, в противном случае положение курсора терминала изменяется только при получении команд терминала от подключенного устройства 14. Положение курсора пользователя используется блоком обработки прикосновений 68 для генерации посылаемых блоку памяти исходящих сообщений 65 команд терминала, соответствующих нажатию клавиш-стрелок, а положение курсора терминала используется для определения текущего положения курсора, где следует поместить либо символ, полученный от подключенного устройства 14, либо локальным эхом отобразить символ, введенный пользователем с виртуальной клавиатуры 55. Нажатие на кнопку корзины 70 в панели меню 64 очищает блоки памяти 51, 53 и 60. Нажатие на кнопку меню информации 71 открывает информацию о приложении и раздел журнала записей передаваемых и принятых сигналов. Нажатие на кнопку меню 72 запускает процедуру подключения/отключения устройства. Когда ни одного устройства не подключено и настройки программы не выбраны, окно терминала 52 неактивно. Если никакие устройства не подключены, нажатие на кнопку 72 открывает список 73 доступных устройств, как показано на фиг. 9. Нажатие на кнопку меню 72 еще раз закрывает список. Нажатие на элементе из списка 73, например, 74, закрывает список и осуществляется попытка подключения выбранного устройства. В случае успеха цвет кнопки 72 панели меню 64 становится зеленым, и на экране появляется информация 75 об установленном соединении, как показано на фиг. 10. Нажатие на него скрывает сообщение 75. После подключения устройства 14 и выбора настроек процессора окно терминала 52 становится активным, и нажатие на окно терминала 52 или командную строку 56 открывает виртуальную клавиатуру 76, как показано на фиг. 11. При открытии виртуальной клавиатуры 76 окно терминала 52 изменяет свой размер до области над клавиатурой. При вращении экрана из книжной ориентации в альбомную окно терминала 52 и виртуальная клавиатура 76 изменяют ориентацию, как показано на фиг. 12. При вращении из альбомной ориентации в книжную окно терминала возвращается к состоянию, показанному на фиг. 11. Если в настройках приложения включена опция автоматического масштабирования, при поворотах размер шрифта текста 77 окна терминала 52 автоматически изменяется 78 так, что ширина окна терминала остается одинаковой в количестве символов и равной величине, определенной в настойках приложения, а окно терминала заполняет всю ширину экрана устройства, как показано на фиг. 13. Если автоматическое масштабирование выключено, то размер шрифта остается равным величине, определенной в настройках процессора, как показано на фиг. 14. Более того, если при вращении новая ширина экрана 80 оказывается меньше, чем длина строки текста 81 в окне терминала, то часть текста за пределами правой границы окна терминала будет отрезана.

В некоторых вариантах реализации согласно изобретению добавлена кнопка 82 слева от командной строки 56. Нажатие на кнопку 82 переключает блок обработки исходящих сообщений 59 и командную строку 56 между разными форматами отображения (текстовым, шестнадцатеричным, бинарным и т.д.) так, что кнопка 82 отображает обозначение соответствующего формата (АВ, 0х, 0b и т.д.), как показано на фиг. 15. В некоторых вариантах реализации согласно изобретению добавляется другая кнопка 83 в правом нижнем углу окна терминала 52. Нажатие на кнопку 83 переключает блок обработки исходящих сообщений 57 и окно терминала 52 между разными форматами отображения данных (текстовым, шестнадцатеричным, бинарным и т.д.) так, что кнопка 83 отображает обозначение соответствующего формата (АВ, 0х, 0b и т.д.), как так же показано на фиг. 15.

В некоторых вариантах реализации согласно изобретению в нетекстовых форматах отображения данных (шестнадцатеричном, бинароном и т.д.) используется интеллектуальный метод ввода/удаления данных. При вводе первого символа нового числа, в начале числа добавляется префикс для выбранного формата отображения (например, префикс 0х для шестнадцатеричного формата 84, префикс 0b для бинарного формата 85). Если ввод осуществляется в окне терминала 52, то после ввода последнего символа числа в нетекстовом формате соответствующее значение посылается преобразователем исходящих сообщений 58 в блок памяти исходящих сообщений 65. При удалении последнего символа числа в нетекстовом формате преобразователь исходящих сообщений 58 посылает код 0x08 в блок памяти исходящих сообщений 65. При удалении других символов чисел в нетекстовых форматах преобразователь исходящих сообщений 58 не генерирует никаких сигналов для блока памяти 65. Этот метод позволяет вводить данные в таких форматах как шестнадцатеричный и бинарный в режиме реального времени так, как если бы они вводились и удалялись одним нажатием клавиши. Такой же подход может быть использован для других форматов данных, например, для восьмеричного формата и т.д. При удалении первого символа числа в нетекстовом формате префикс так же автоматически удаляется.

В некоторых вариантах реализации согласно изобретению в нетекстовых форматах представления при нажатии клавиши "." 86 виртуальной клавиатуры 76 после завершения ввода последнего числа 87, следующее вводимое число будет представлять собой число повторений того же самого числа, посланных одно за другим. Если ввод осуществляется в командной строке 56, то после нажатия клавиши "." 86 обозначение формата на кнопке 82 слева от командной строки станет зеленым. После завершения ввода числа обозначение формата на кнопке 82 станет черным. При нажатии кнопки 61 соответствующее число повторений кода 87 будет послано на подключенное устройство.

В некоторых реализациях согласно данному изобретению, посылание кода 0x08 при нажатии клавиши стирания может быть включено или отключено в настойках процессора.

Если ввод осуществляется в окне терминала 52, то при нажатии клавиши "." 86 виртуальной клавиатуры 76 обозначение формата, отображаемое на кнопке 83 в правой нижней части окна терминала 52, станет зеленым. После завершения ввода числа оно станет синим, и следующее вводимое число будет значением нового посылаемого кода. При вводе первого символа числа в нетекстовом формате после нажатия кнопки "." 86 отображается префикс, начинающийся с символа "-" (например, префикс "-0х" 88 отображается для числа 87 в шестнадцатеричном формате), обозначающий, что вводимое число представляет число повторений кода. При вводе последнего символа числа соответствующее количество повторений кода будет последовательно послано преобразователем исходящих сообщений 58 в блок памяти исходящих сообщений 65. Если далее удаляется последний символ числа в нетекстовом формате, то если число начинается с префикса, начинающегося с символа "-" (например, префикс "-0х" для шестнадцатеричного числа), то последующее число повторений кода "0x08" будет послано преобразователем исходящих сообщений 58 в блок памяти исходящих сообщений 65. Таким образом, для того, чтобы послать N+1 раз код 0xab, необходимо сначала нажать "а" и "b", потом нажать кнопку "." 86 и ввести число N в соответствующем формате представления. Например, для шестнадцатеричного формата представления это позволяет послать до 256 последовательных повторений одного и того же кода. Если локальное эхо 66 включено, то при посылании последовательностей из командной строки блок локального эха 67 преобразует их в представление, установленное в окне терминала 52.

При стирании последнего символа числа в нетекстовом формате, начилающегося с префикса, начинающегося с символа обозначение на кнопке 83 станет зеленым, обозначая, что редактируемое число представляет собой число последовательных повторений числа перед префиксом. Если ввести последний символ числа еще раз, новое число повторений кода 87 будет послано (например, кода 87 для шестнадцатеричного формата) и обозначение на кнопке 83 станет синим. В противном случае, при стирании первого символа числа, начинающегося с префикса, начинающегося с префикса “-“, префикс будет так же автоматически удален, а цвет обозначения на кнопке 83 станет синим.

В некоторых реализациях согласно изобретению для осуществления удобного доступа к набору управляющих последовательностей добавлена кнопка 89 в левом нижнем углу окна терминала 52. При нажатии на нее активируется режим ввода управляющих последовательностей, при котором блоки обработки исходящих сообщений 57 и 59 преобразуют нажатия клавиш виртуальной клавиатуры 76 в соответствующие управляющие последовательности. Например, при нажатии кнопки А 90 блок обработки исходящих сообщений 57 преобразует ее в управляющую последовательность CTRL-А, равную 0x01, при нажатии кнопки В блок обработки исходящих сообщений преобразует ее в управляющую последовательность CTRL-B, равную 0x02 и т.д.

В некоторых реализациях согласно изобретению блок локального эха 67 и преобразователь входящих сообщений 49 могут выполнять автоматическое завершение ввода чисел, вводимых в нетекстовых форматах в окне терминала. В соответствии с этим методом, если локальное эхо включено, при нажатии кнопки отсылки сообщения 61, перед отображением сообщения командной строки 56 в окне терминала 52, если ввод последнего числа в нетекстовом формате не завершен 91, ввод числа автоматически завершается заполнением оставшихся для ввода символов нулями или удалением числа в зависимости от выбранных настроек. При получении преобразователем входящих сообщений 49 сообщения от подключенного устройства ввод числа так же будет автоматически завершен заполнением оставшихся для ввода символов нулями или удалением числа в зависимости от выбранных настроек.

В некоторых реализациях согласно изобретению в нижней части окна терминала добавлены кнопка 92 и список элементов 93. Если устройство подключено и командная строка 56 непуста, при нажатии кнопки 92 открывается диалог 94, как показано на фиг. 16. При нажатии кнопки 95 в список 93 добавляется новый элемент. Если текстовое поле 96 непусто, то имя нового элемента будет установлено в соответствии с его значением, в противном случае оно будет установлено в соответствии с порядковым номером нового элемента в списке 93.При нажатии на кнопку 97 диалог 94 закрывается без каких-либо дополнительных действий. При нажатии на элемент списка 93, например 98, его значение 99 отображается в командной строке 56 и командная строка 56 переключается в формат данных, в котором было сохранено значение 99 (текстовый, шестнадцатеричный, бинарный и т.д.), а кнопка 82 будет отображать соответствующее обозначение (АВ, 0х, 0b и т.д.), как показано на фиг. 15. При долгом нажатии на тот же элемент 98 появится диалог 100, как показано на фиг. 17. Нажатие кнопки 101 сохраняет новое значение элемента списка 98. Нажатие кнопки 102 удаляет элемент списка 98. Нажатие кнопки 103 закрывает диалог без дополнительных действий.

В некоторых вариантах реализации согласно изобретению используется метод для отображения/скрытия отдельных кнопок при долгом нажатии на другие кнопки. Например, в соответствии с вариантом реализации, показанным на фиг. 18-20, долгое нажатие на кнопку 61 показывает/скрывает кнопку 92 и список 93, как показано на фиг. 18 и фиг. 20, а долгое нажатие на кнопку 82 показывает или скрывает кнопки 89 и 83, как показано на фиг. 19 и фиг. 20.

В некоторых вариантах реализации согласно изобретению для передачи и приема файлов используются различные протоколы такие, как Xmodem, Ymodem и т.д., или не используются протоколы. В случае передачи файла вместо записи данных в блок памяти исходящих сообщений 65 из блока преобразования сигнала 58, модем 104 пишет в блок памяти исходящих сообщений 65 данные из локального файла 105 и отклики, посылаемые подключенному устройству 14. В случае приема файла вместо записи данных в преобразователь входящих сообщений 49 принимаемые пакеты и отклики от подключенного устройства 14 принимаются модемом 104, и полученная информация записывается в локальный файл 106. Для передачи файлов в панель меню 64 добавлена кнопка 107. При нажатии кнопки 107 поверх окна терминала 52 открывается диалог 108 для передачи файлов, как показано на фиг. 21. Нажатие на кнопку 109 в верхнем левом углу диалога 108 позволяет выбрать протокол передачи 110. Кнопка 111 в нижнем левом углу диалога 108 позволяет выбрать направление передачи 112. Передача файла активизируется нажатием кнопки 113 в нижнем правом углу диалога. Еще одно нажатие на кнопку прерывает передачу файла. При начале передачи под диалогом появляется строка 114 с информацией о статусе передачи, числе и проценте переданных байтов и средней скорости передачи. Так же отображается полоса загрузки 115 для визуального отображения процента переданных данных. При передаче файла, при нажатии кнопки 113 появляется список файлов 116, расположенных в локальной директории, например /UDevTerm/Sent, как показано на фиг. 22. Нажатие на элемент списка, например, 117, выбирает соответствующий файл для передачи. Если выбрано получение файла, нажатие кнопки 113 в зависимости от выбранного протокола может отображать диалог 118 для выбора имени сохраняемого файла, как показано на фиг. 23. Например, эта опция может использоваться при приеме файла без притокола и использовании протокола Xmodem. Строка 119 содержит имя файла, в который будет выполняться запись, расположенного в локальной директории, например, в /UDevTerm/Save. При нажатии кнопки 120 приложение попытается создать соответствующий файл. При нажатии кнопки 121 принимание файла будет отменено. Если файл уже существует, при нажатии кнопки 120 для любого протокола отображается диалог 122, спрашивающий, перезаписывать ли файл, как показано на фиг. 24. При нажатии кнопки 123 информация файла будет удалена. При нажатии 124 принимание файла будет отменено. Для передачи/принимания файла может использовать следующая последовательность действий. Во-первых, нажимается кнопка 107 для открытия диалога 108 передачи файла. Во-вторых, нажимается кнопка 109 для выбора требуемого протокола 110. В-третьих, нажимается кнопка 111 для выбора направления передачи 112, нажимается кнопка 113 для начала передачи. В-четвертых, выбирается имя файла для сохранения данных при приеме, если требуется. В-пятых, открывается приложение на подключенном устройстве и устанавливается соединение с требуемыми настройками. Выбирается протокол передачи данных и начинается передача. В-шестых, при окончании передачи проверяются результаты передачи.

Во время передачи диалог 108 можно скрыть нажатием кнопки меню 107 панели 64. Кнопка 107 изменяется на 126 во время передачи и на 127 во время приема для информирования пользователя о статусе передачи, если диалог 108 скрыт, как показано на фиг. 25. Кнопка 107 возвращается к исходной форме 125 при окончании передачи.

В некоторых вариантах реализации согласно изобретению процессор настроен для выполнения различных математических вычислений, которые могут быть полезными при работе с различными форматами данных такими, как текстовый, шестнадцатеричный и бинарный. Для получения доступа к этим вычислениям в панель меню 64 добавлена кнопка 128, как показано на фиг. 26. При нажатии на нее открывается окно 129. Это окно может содержать различные математические инструменты, например, оно может содержать поля 130, 131, 132 для ввода чисел в десятичном, шестнадцатеричном и бинарном представлениях соответственно. Если одно из полей заполняется, остальные два поля автоматически обновляются. Так же можно добавить поле 133 для ввода последовательностей чисел в шестнадцатеричном формате для вычислени CRC значений, например, для протокола Xmodem. Окно может быть настроено для вставки в него скопированных данных. После нажатия кнопки 134 значение CRC в шестнадцатеричном формате отображается в поле 135.

В некоторых вариантах реализации согласно изобретению добавляется отдельное окно терминала 50 для принимаемых сообщений, как показано на фиг. 27. Окна терминалов 52 и 50 имеют отдельные блоки памяти, блок памяти 51 для окна терминала 50 заполняется преобразователем входящих сообщений 49, а блок памяти 53 для окна терминала 52 заполняется блоком локального эха 67. Для одинакового отображения данных в обоих окнах кнопки 83, 89, 92 и список 93, расположенные в нижней части окна 52 для вариантов реализации без окна 50, перемещаются на линию, разделяющую окна терминалов 50 и 52, как показано на фиг. 27. Положение курсора пользователя, обновляемое обработкой прикосновений к экрану включая движения вдоль экрана, теперь влияет только на работу блока локального эха 67 для окна терминала 52, а положение курсора терминала теперь используется только преобразователем входящих сообщений 49 для окна терминала 50. Нажатие на кнопку 83 переключает отображение данных окна терминала 52 между разными форматами представления (текстовым, шестнадцатеричным, бинарным и т.д.). Нажатие на кнопку 82 переключает формат представления данных командной строки 56. Для вариантов реализации с окном терминала 50 это нажатие дополнительно переключает отображение окна терминала 50 для принятого сигнала между разными форматами представления (текстовым, шестнадцатеричным, бинарным и т.д.). Для текстового формата оба окна терминала преобразуются по методу, показанному на фиг. 13 и фиг. 14. Фиг. 28 показывает приложение для компоновки экрана с двумя окнами для альбомной ориентации. В некоторых вариантах реализации согласно изобретению два отдельных экрана для принимаемых и посылаемых сообщений могут быть использованы для обмена сообщениями.

В некоторых вариантах реализации согласно изобретению выполняется переключение между компоновкой экрана с одним общим и двумя отдельными окнами терминалов для принимаемых и посылаемых сообщений, как показано в виде блок-схемы с переключателями 136 и 137. Для терминала с окном терминала 50 переключатель 136 соединяет преобразователь входящих сообщений 49 с блоком памяти 51 для окна терминала 50, а переключатель 137 разомкнут так, что положение курсора терминала используется только преобразователем входящих сообщений 49 для окна терминала 50. Для терминала без окна терминала 50 переключатель 136 соединяет преобразователь входящих сообщений 49 с блоком памяти 53 для окна терминала 52, а переключатель 137 замкнут так, что и положение курсора пользователя, и положение курсора терминала используются блоком локального эха 67 через блок 54.

В некоторых вариантах реализации согласно изобретению для терминала с окном терминала 50 в текстовом формате, при получении команды терминала от блока памяти 48, соответствующей нажатию кнопки-стрелки, преобразователь входящих сообщений 49 обновляет положение курсора терминала. Если же получена команда записи нового символа в окно терминала 50, то преобразователь входящего сигнала 49 использует текущее значение положения курсора терминала для обновления окна терминала 50, а затем обновляет положение курсора терминала. В некоторых вариантах реализации согласно изобретению для терминала с окном терминала 50 в текстовом представлении блок памяти 51 хранит данные окна терминала 50 в виде последовательности строк одинаковой длины W+1, где W - ширина окна терминала в количестве символов. Индекс элемента строки дает х координату позиции символа, а индекс строки дает у координату позиции символа. Значение последнего символа каждой строки равно значению символа новой строки '\n'. При получении от блока памяти входящих сообщений 48 команды терминала, соответствующей кнопке-стрелке, преобразователь входящих сообщений 49 обновляет положение курсора терминала. При получении инструкции для записи нового символа в окно терминала 50, преобразователь входящих сообщений 49, используя положение курсора терминала, определяет индекс строки и индекс символа строки, и изменяет его значение на значение, полученное из блока памяти 48. Затем обновляется положение курсора терминала. При получении из блока памяти 48 символьной последовательности, выбранной в настройках приложения в качестве последовательности новой строки, преобразователь входящих сообщений 49 не записывает эту последовательность в блок памяти 51, а обновляет положение курсора терминала. В некоторых вариантах реализации согласно изобретению область окна терминала 50 настроена для отображения строк символов. При запросе окно терминала 50 обрабатывает строки из блока памяти 51 и отображает их на экране, каждый символ '\n' начинает новую строку. Примером такой реализации области окна терминала является EditText, подкласс класса Text View системы Android. В некоторых вариантах реализации согласно изобретению для терминала без окна терминала 50 в текстовом представлении при получении от блока памяти входящих сообщений 48 команды терминала, соответствующей кнопке-стрелке, преобразователь входящих сообщений 49 обновляет положение курсора терминала и положение курсора пользователя. При получении от блока памяти входящих сообщений 48 инструкции записи нового символа в окно терминала 52, преобразователь входящих сообщений 49, используя положение курсора терминала, обновляет окно терминала 52 и затем обновляет положение курсора терминала.

В некоторых вариантах реализации согласно изобретению для терминала без окна терминала 50 в текстовом формате блок памяти 53 хранит данные окна терминала 52 в форме последовательности строк символов одинаковой длины W+1, где W- ширина окна терминала в количестве символов. Индекс элемента строки определяет координату х символа, а индекс строки определяет координату у символа. Значение последнего символа каждой строки устанавливается равным '\n'. При получении от блока памяти входящих сообщений 48 команды терминала, соответвующей кнопке-стрелке, преобразователь сходящих сообщений 49 обновляет положение курсора терминала и положение курсора пользователя. При получении от блока памяти входящих сообщений 48 инструкции для записи нового символа в окно терминала 52, преобразователь входящих сообщений 49 обновляет положение курсора пользователя до текущего значения положения курсора терминала, используя положение курсора терминала, определяет индекс строки и индекс символа строки и изменяет его значение на значение, полученное от блока памяти входящих сообщений 48. После этого положение курсора пользователя и положение курсора терминала обновляются. При получении из блока памяти 48 символьной последовательности, выбранной в настройках приложения в качестве последовательности новой строки, преобразователь входящих сообщений 49 не записывает эту последовательность в блок памяти 53, а обновляет положение курсора терминала и положение курсора пользователя. В некоторых вариантах реализации согласно изобретению область окна терминала 52 настроена для отображения строк символов. При запросе окно 52 обрабатывает строки из блока памяти 53 и отображает их на экране, каждый символ '\n' начиначет новую строку. Примером такой реализации окна терминала является EditText, подкласс класса Text View системы Android.

В некоторых вариантах реализации согласно изобретению разработанный алгоритм терминала настроен для работы с разными портами связи такими, как USB и беспроводной порты связи электронного устройства. Например, связь с заданным устройством может быть установлена через порт Bluetooth электронного устройства. В этом случае предлагается следующий способ установки соединения. Нажатие на кнопку меню 72 открывает диалог 138 с автоматически обновляемым списком 139 обнаруженных Bluetooth устройств, как показано на фиг. 29. Нажатие на кнопку 140 позволяет выбрать между подключением к устройству в качестве клиента или хоста 141. Для установки соединения с одним из устройств, необходимо сначала сопрячь заданное устройство 18 и электронное устройство 4. Для этого необходимо выбрать одно из них, например, 142, и запросить сопряжение длинным нажатием на 142. В случае успешного запроса диалоги сопряжения появятся на экране электронного устройства 4 и заданного устройства 18. После подтверждения обоих диалогов, если сопряжение прошло успешно, пользователь информируется об этом окраской текста строки 142 в зеленый цвет. Теперь можно установить соединение с заданным устройством однократным нажатием на строку 142. (Если вместо этого еще раз совершить длинное нажатие на строку 142, то устройства будут рассопряжены, и цвет строки 142 изменится на черный). При подключении в электронного устройства 4 в качестве клиента необходимо установить серверное соединение на заданном устройстве 18. При подключении электронного устройства 4 в качестве сервера после нажатия на строку 142 диалог 138 исчезнет и появится сообщение 143, информирующее, что электронное устройство 4 ожидает подключения устройства в качестве клиента, как показано на фиг. 30. Если требуется прервать дальнейшее соединение, при нажатии на кнопку 72 соединение будет прервано. Для присоединения заданного устройства 18 в качестве клиента, необходимо создать на нем исходящий виртуальный последовательный порт для электронного устройства 4 и просоединиться к электронному устройству 4 через этот порт. В случае успешного соединения пользователь будет проинформирован об этом изменением цвета кнопки меню 72 на зеленый. Для закрытия Bluetooth соединения необходимо нажать на кнопку 72 еще раз.

В некоторых реализациях согласно изобретению процессор настроен для установки нескольких одновременных соединений так, что каждое из них обрабатывается независимым эмулятором терминала. Например, в соответствии с вариантом реализации согласно изобретению, блок-схема которого показана на фиг. 8, процессор настроен для одновременной установки соединений 13 и 17 через порты 11 и 16 с устройствами 14 и 18 (например, одно соединение через USB порт и одно через виртуальный последовательный порт Bluetooth). Оба эмулятора терминала 144 и 145 работают независимо так, что один из них отображает информацию и принимает от пользователя информацию, в то время как другой работает в фоновом режиме. Переключение между эмуляторами терминалов показанное на блок-схеме фиг. 8 переключателями 146-151, может быть осуществлено, например, длинным нажатием на кнопку меню 72, при котором кнопка изменяет свой внешний вид на 152 или 153 в зависимости от того, какой терминал в данный момент отображается, как показано на фиг. 31.

Заданное устройство не всегда имеет требуемый тип порта для прямого соединения с терминалом. Например, может требоваться подсоединиться к маршрутизатору через интерфейс командной строки, требующий наличия у терминала последовательного или USB порта, в то время как у терминала может быть только порт беспроводной связи. Или могут иметься требования безопасности или другие требования, не позволяющие осуществлять прямой доступ к порту заданного устройства. В некоторых вариантах реализации согласно изобретению процессор настроен создавать прямое контролируемое соединение между несколькими подключенными устройствами, например, между устройствами 14 и 18, как показано на блок-схеме на фиг. 8. В этом методе блоки памяти исходящих сообщений 65 и 156 и блоки памяти входящих сообщений 48 и 157 соединены через блок контроля соединения 158, как показано на фиг. 8. Блок контроля соединения 158 может быть использован для разных целей таких, как наблюдение, фильтрация, безопасность и т.д. Для соединения портов 11 и 16 требуется выполнить длинное нажатие на кнопку меню 72, после которого кнопка меняет свой внешний вид, например, на 155, 152, 153 для разных портов, и наконец на изображение 154, обозначающее прямое соединение портов. Если соединение между портами не установлено, кнопка 72 окрашена в желтый цвет. Если соединение с устройствами 14 и 18 установлено, однократное нажатие на кнопку 72 выключает эмуляторы терминалов 144 и 145 и создает прямое соединение между портами 11 и 16 соединением блоков памяти исходящих сообщений 65 и 156 и блоков памяти входящих сообщений 48 и 157 через блок контроля соединения 158, а цвет кнопки 72 становится зеленым. Еще одно нажатие на кнопку 72 закрывает соединение между портами 11 и 16 и включает эмуляторы терминалов 144 и 145, присоединяя блок памяти исходящих сообщений 65 к преобразователю исходящих сообщений 58 и блоку обработки прикосновений 68, блок памяти входящих сообщений 48 к преобразователю входящих сообщений 49, блок памяти исходящих сообщений 156 к преобразователю исходящих сообщений 159 и блоку обработки прикосновений 160, блок памяти входящих сообщений 157 к преобразователю входящих сообщений 161.

В некоторых вариантах реализации согласно изобретению процессор настроен для выполнения одновременной независимой передачи файлов через несколько соединений, как показано на блок-схеме варианта реализации на фиг. 8., где модемы 104 и 162 выполняют одновременную независимую передачу файлов через порты 11 и 16 электронного устройства 4.

В некоторых вариантах реализации согласно изобретению, как показано на блок-схеме на фиг. 8, переключатель 163 соответствует методу присоединения блока памяти входящих сообщений 48 либо к преобразователю входящих сообщений 49 эмулятора терминала, либо к модему 104 для получения файлов и откликов от устройства 14 в случае обмена файлами, или к блоку контроля соединений 158 для прямого соединения портов между устройствами 11 и 16. Переключатель 164 соответствует методу присоединения блока памяти исходящих сообщений 65 либо к преобразователю исходящего сигнала 58 эмулятора терминала, или к модему 104 для передачи файлов и откликов устройству 14 в случае обмена файлами, или к блоку контроля соединений 158 для прямого соединения портов между устройствами 14 и 18. Переключатель 165 соответствует методу присоединения блока обработки прикосновений 68 к блоку памяти исходящих сообщений 65 для включения блока при использовании эмулятора терминала или отключения блока при передаче файлов или прямой связи между портами 11 и 16.

Фиг. 32 показывает функциональную диаграмму с шагами для конфигурирования преобразователя интерфейса, подключенного к USB порту электронного устройства, в соответствии с одним из вариантов реализации согласно изобретению. На шаге 166 запрашивается список доступных USB устройств. Если список 167 непуст, на следующем шаге 168 выбирается устройство из этого списка и считываются значения точек источника, приемника (out Endpoint, in EndPoint), идентификатор изготовителя (vendor ID, VTD) и идентификатор продукта (product ID, PID). В противном случае, если список пуст, соединение не установлено 169, и конфигурационный процесс завершается. Если устройство было успешно выбрано, то на следующем шаге 170 устанавливается соединение с устройством. Если устройство уже было отключено 171, то соединение не установлено 169, и конфигурационный процесс заканчивается. Если соединение установлено 172, то на следующем шаге 173 считывается количество байт, доступных для пакетов данных точки источника и приемника. На следующем шаге 174 соединение считается установленным и конфигурационный процесс заканчивается.

Фиг. 33 показывает функциональную диаграмму с шагами для конфигурирования виртуального последовательного порта Bluetooth для сервера, в соответствии с одним из вариантов реализации согласно изобретению. На шаге 175 создается сокет сервера для последовательного соединения. Если сокет был успешно создан 176, начинается цикл для ожидания входящих подключений 177. В противном случае соединение не установлено 178 и конфигурационный процесс заканчивается. При получении входящего соединения сервер принимает его 179. В случае ошибки 180 соединение не установлено, и конфигурационный процесс заканчивается. В противном случае, если соединение установлено 181, на следующем шаге 182 сервер пытается получить входящий и исходящий потоки данных сокета. В случае ошибки 183 соединение прерывается и конфигурационный процесс заканчивается. В противном случае, соединение считается установленным 184 и конфигурационный процесс заканчивается.

Фиг. 34 показывает функциональную диаграмму с шагами для конфигурирования виртуального последовательного порта Bluetooth для клиента, в соответствии с одним из вариантов реализации согласно изобретению. На шаге 185 создается сокет последовательного соединения. Если создание прошло успешно 186, то делается попытка подключится к заданному устройству. В противном случае соединение не установлено 187 и конфигурационный процесс заканчивается. Процесс заканчивается и тогда, если при попытке соединения 188 произошла ошибка 189. Если соединение 190 установлено, то на следующем шаге 191 клиент пытается получить входящий и исходящий потоки сокета. В случае ошибки 192 соединение закрывается и конфигурационный процесс заканчивается. В противном случае, содинение считается уставновленным 193 и кофигурационный процесс заканчаивается.

Фиг. 35 показывает функциональную диаграмму с шагами для передачи файлов с использованием таких протоколов, как Xmodem и Ymodem, в соответствии с одним из вариантов реализации согласно изобретению. На шаге 194 ожидается получение входящих сообщений. Цикл 194 выполняется, пока не получено никаких сообщений или полученные сообщения 195 не содержат величин 0x43 и 0x15. Если получено 196 сообщение 0x15, то используется протокол для 8 битных величин циклического избыточного кода (Cyclic Redundancy Check, CRC) 197, и посылается 198 отклик 0x06 0x15 подключенному устройству. Если получено 199 сообщение 0x43, то используется протокол с 16 битными CRC величинами 200, и подключенному устройству посылается 201 отклик 0x06 0x43. После шага 198 или шага 201 в цикле выполняется шаг 202 для чтения данных из файла. Пока чтение файла не закончено, выполняется шаг 203 для передачи пакетов подключенному устройству, содержащих заголовок, данные из файла и CRC величину для детектирования ошибок. После отправления каждого пакета ожидается отклик 204 от подключенного устройства. При получении 205 отклика 0x06 от подключенного устройства предыдущая передача считается успешной и повторяется выполнение шага 202. При получении 206 отклика 0x15 от подключенного устройства предыдущая передача считается неуспешной, и пакет посылается еще раз 203. При получении 207 восьми последовательных байт 0x18 и восьми последовательных байт 0x08 от подключенного устройства та же последовательность отправляется 208 подключенному устройству и передача прерывается. Та же последовательность 208 посылается подключенному устройству, если пользователь решит прервать передачу 209. Если чтение файла закончено подключенному устройству посылается 210 сообщение 0x04, и передача заканчивается. Фиг. 36 показывает функциональную диаграмму с шагами для приема файлов с использованием таких протоколов, как Xmodem и Ymodem, в соответствии с одним из вариантов реализации согласно изобретению. На первом шаге запускается таймер 211 так, что через равные промежутки времени подключенному устройству посылается 212 код 0x15, если используются 8-битные CRC величины, или 0x43, если 213 используются 16 битные CRC величины. В течение времени выполнения цикла 211 порт электронного устройства проверяется на получение откликов 214 от подключенного устройства. Цикл продолжается до тех пор, пока не получен отклик 0x06 0x15 или 0x06 0x43. При получении 215 отклика 0x06 0x15 или получении 216 отклика 0x06 0x43 запускается цикл с шагом 217 для чтения данных, полученных от подключенного устройства. При получении 218 сообщения 0x04 от подключенного устройства прием файла считается завершенным и процесс завершается после отправления 219 отклика 0x06 подключенному устройству. При получении 220 восьми последовательных байт 0x18 и восьми последовательных байт 0x08 от подключенного устройства та же последовательность отправляется 221 подключенному устройству и прием файла предкращается. В противном случае принимаются заголовок пакета, данные и CRC величина 222. Считывание продолжается 223, пока не получено 224 известное количество байт пакета. После этого вычисляется CRC величина 225 для полученных данных и сравнивается 226 с полученным значением. Если эти две величины совпадают, то подключенному устройству посылается 227 код 0x06 и далее выполняется шаг 217. В противном случае, если CRC величины не совпадают, подключенному устройству посылается 228 код 0x15.

Блоки, показанные на фиг. 8, фиг. 32, фиг. 33, фиг. 34, фиг. 35, фиг. 36, могут представлять собой шаги в методе или разделы кода в программе электронного устройства 4. Изображение определенного порядка следования блоков не обязательно подразумевает, что существует обязательный порядок следования блоков, и расположение блоков может меняться. В частности, должно быть очевидным, что системы, устройства, способные выполнять описанные методы и последовательности действий, не обязательно ограничиваются системами, устройствами, показанными и описанными здесь, но так же могут быть и другими системами/устройствами.

Следует понимать, что в описанные примеры могут быть внесены изменения без отклонения от сущности и объема правовой охраны этого изобретения, как изложено в прилагаемой формуле изобретения. Например, в описанных вариантах реализации согласно изобретению предложен метод для отображения и генерации чисел в шестнадцатеричном и бинарном форматах. В других вариантах реализации можно использовать ту же идею для генерации и отображения числе в других форматах, например в восьмеричном формате. Так же, например, в описанных вариантах реализации предложен алгоритм для интерактивного окна терминала в текстовом формате. В разных вариантах реализации может использоваться эта же идея для разных текстовых форматов таких, как ascii, utf и т.д.

Инновации, предолженные в предшедствующем описании, могут быть использованы в комбинациях, отличных от явно приведенных.

Несмотря на стремление в последующей формуле изобретения сосредоточить внимание на инновациях изобретения, полагаемых особенно существенными, следует понимать, что автор заявки претендует на защиту по отношению к любой патентуемой инновации или комбинации инноваций, описанных выше по тексту и/или изображенных на фигурах в независимости от того, какое значение было придано им при изложении.

1. Устройство для эмуляции терминала с управлением посредством сенсорного экрана, включающее в себя:

USB порт с поддержкой режима главного устройства (хост, host);

преобразователь интерфейса, подключенный к USB порту;

беспроводной приемопередатчик;

сенсорный экран с компоновкой отображаемых на дисплее элементов, включающей в себя одно общее окно терминала или два отдельных окна терминала для полученных и посланных сообщений, командную строку;

пользовательский интерфейс для установления соединения с заданными устройствами через порты устройства, для выбора компоновки элементов дисплея и настроек процессора;

процессор, настроенный для: конфигурирования последовательного порта для преобразователя интерфейса, подключенного к USB порту; создания беспроводного виртуального последовательного порта для связи с одним из заданных устройств; считывания сообщений от каждого из заданных устройств, полученных через последовательный порт преобразователя интерфейса, подключенного к USB порту, и/или через беспроводной виртуальный последовательный порт; записи сообщений для заданного устройства через последовательный порт преобразователя интерфейса, подключенного к USB порту, и/или через беспроводной виртуальный последовательный порт; инициализации и конфигурации эмуляторов терминалов для сконфигурированных последовательного и/или виртуального последовательного портов, индивидуальных и независимых для каждого из портов; выполнения операций эмуляторов терминалов по регистрации управляющих последовательностей терминала в сообщениях, полученных из последовательного и/или виртуального последовательного портов; выполнения операций терминалов, индивидуальных для каждого формата отображения данных, по преобразованию сообщений, полученных из последовательного и/или виртуального последовательного портов, в сообщения в выбранном формате представления данных; выполнения операций эмуляторов терминалов по преобразованию нажатий экрана, включая движения вдоль поверхности экрана, в изменение положения курсора эмулятора терминала и управляющие последовательности терминалов для кнопок-стрелок; выполнения операций эмуляторов терминалов, индивидуальных для каждого формата отображения, для преобразования данных, вводимых в окне терминала и в командной строке с виртуальной клавиатуры, в сообщения в выбранном формате представления; отправления сообщений и управляющих последовательностей терминала на последовательный порт и/или беспроводной виртуальный последовательный порт; преобразования данных, вводимых в окне терминала и в командной строке, в управляющие последовательности; формирования отображения полученных и посланных сообщений в окнах терминала и формирования отображения сообщений, введенных в командной строке, для выбранного формата отображения; адаптации отображений полученных и посланных сообщений в окнах терминала к поворотам экрана; осуществления обмена файлами с заданными устройствами с использованием одного из существующих протоколов, таких как Xmodem, Ymodem, или без протокола; создания соединения между последовательным портом и беспроводным виртуальным последовательным портом.

2. Устройство по п. 1, отличающееся тем, что компоновка элементов, отображаемых на дисплее сенсорного экрана, включает кнопки для конфигурирования портов связи и установления соединения с заданными устройствами, переключения между различными форматами представления данных, генерации управляющих последовательностей, сохранения списка кодовых последовательностей в различных форматах, отправления сообщений из командной строки, переключения между эмуляторами терминалов, осуществления передачи файлов, установления прямого соединения между портами связи, переключения терминала между режимами с и без отдельного окна терминала для принятых сообщений.

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

4. Способ эмуляции терминала с управлением посредством сенсорного экрана, включающий:

отображение на дисплее сенсорного экрана компоновки элементов, включающей в себя одно общее окно терминала или два отдельных окна терминала для полученных и посланных сообщений, командную строку;

пользовательский интерфейс для установления соединения с заданными устройствами через порты устройства, для выбора компоновки элементов дисплея и настроек процессора;

конфигурирование последовательного порта для преобразователя интерфейса, подключенного к USB порту;

создание беспроводного виртуального последовательного порта для связи с одним из заданных устройств;

считывание сообщений от каждого из заданных устройств, полученных через последовательный порт преобразователя интерфейса, подключенного к USB порту,

и/или через беспроводной виртуальный последовательный порт;

запись сообщений для заданного устройства через последовательный порт преобразователя интерфейса, подключенного к USB порту, и/или через беспроводной виртуальный последовательный порт;

инициализацию и конфигурацию эмуляторов терминалов для сконфигурированных последовательного и/или виртуального последовательного портов, индивидуальных и независимых для каждого из портов;

выполнение операций эмуляторов терминалов по регистрации управляющих последовательностей терминала в сообщениях, полученных из последовательного

и/или виртуального последовательного портов;

выполнение операций терминалов, индивидуальных для каждого формата отображения данных, по преобразованию сообщений, полученных из последовательного и/или виртуального последовательного портов, в сообщения в выбранном формате представления;

выполнение операций эмуляторов терминалов по преобразованию нажатий экрана, включая движения вдоль поверхности экрана, в изменение положения курсора эмулятора терминала и управляющие последовательности терминалов для кнопок-стрелок;

выполнение операций эмуляторов терминалов, индивидуальных для каждого формата отображения данных, для преобразования данных, вводимых в окне терминала и в командной строке с виртуальной клавиатуры, в сообщения в выбранном формате представления;

отправление сообщений и управляющих последовательностей терминала на последовательный порт и/или беспроводной виртуальный последовательный порт:

преобразование данных, вводимых в окне терминала и в командной строке, в управляющие последовательности;

формирование отображения полученных и посланных сообщений в окнах терминала и формирование отображения сообщений, введенных в командной строке, для выбранного формата отображения данных;

адаптацию отображений полученных и посланных сообщений в окнах терминала к поворотам экрана;

осуществление независимого обмена файлами с каждым из заданных устройств с использованием одного из существующих протоколов, таких как Xmodem, Ymodem, или без протокола;

создание соединения между последовательным портом и беспроводным виртуальным последовательным портом.

5. Способ по п. 4, отличающийся тем, что если локальное эхо включено или локальное эхо выключено, но включена опция курсора, то при нажатиях на окно терминала, включая движения вдоль экрана, подключенному устройству посылаются команды терминала и обновляется позиция курсора пользователя.

6. Способ по п. 4, отличающийся тем, что для терминала с отдельным окном терминала для отображения сигнала, посылаемого подключенным устройством, в текстовом представлении при получении команды терминала от подключенного устройства для кнопки-стрелки положение курсора терминала обновляется, а при получении команды терминала отображения символа в окне терминала окно терминала для отображения данных, полученных от подключенного устройства, обновляется с использованием текущего значения положения курсора терминала, а затем обновляется положение курсора терминала.

7. Способ по п. 4, отличающийся тем, что для терминала без отдельного окна для отображения данных, полученных от подключенного устройства, при текстовом формате отображения данных при получении от подключенного устройства команд терминала для кнопок-стрелок обновляется и положение курсора пользователя, и положение курсора терминала, а при получении от подключенного устройства команды терминала отображения символа в окне терминала окно терминала обновляется с использованием текущего значения положения курсора терминала, и затем обновляются значения положения курсора терминала и положения курсора пользователя.

8. Способ по п. 4, отличающийся тем, что в текстовом формате отображения данных блок памяти окна терминала хранит данные окна терминала в форме последовательности строк символов одинаковой длины W+1, где W - ширина окна терминала в количестве символов, причем значение последнего символа строки приравнивается символу новой строки.

9. Способ по п. 4, отличающийся тем, что при текстовом формате отображения данных при включенном локальном эхе при вводе символов пользователем в окне терминала при вводе символа новой строки значение положения курсора терминала и значение положения курсора пользователя обновляются в соответствии с выбранным способом обработки символа новой строки при передаче данных, при вводе символов пользователем при вводе символа стирания заданному устройству посылается код 0x08 и обновляются значение положения курсора терминала и значение положения курсора пользователя, а при получении других символов при вводе символов пользователем по текущему значению положения курсора терминала определяются индекс строки в блоке памяти окна терминала и индекс символа этой строки, и затем значение найденного символа заменяется на значение, введенное пользователем, после чего обновляется значение положения курсора терминала и значение положения курсора пользователя.

10. Способ по п. 4, отличающийся тем, что в текстовом формате отображения данных при получении от подключенного устройства последовательности, выбранной в настройках приложения в качестве последовательности новой строки, положение курсора терминала и положение курсора пользователя обновляются в соответствии с выбранной настройкой для обработки символа новой строки при получении данных, при обнаружении управляющей последовательности в последовательности байт, полученных от подключенного устройства, эта последовательность удаляется из памяти и выполняется операция для эмулятора терминала в соответствии с этой управляющей последовательностью, при получении символа стирания от подключенного устройства обновляются значение положения курсора терминала и значение положения курсора пользователя, а при получении других символов от подключенного устройства по текущему значению положения курсора терминала определяются индекс строки в блоке памяти окна терминала и индекс символа этой строки, и затем значение найденного символа заменяется на значение, полученное от подключенного устройства, после чего обновляются значение положения курсора терминала и значение положения курсора пользователя.

11. Способ по п. 4, отличающийся тем, что при вводе первого символа нового числа в нетекстовом формате префикс отображается перед первым символом числа.

12. Способ по п. 11, отличающийся тем, что при вводе в окне терминала при вводе последнего символа числа в нетекстовом формате соответствующий код посылается подключенному устройству.

13. Способ по п. 11, отличающийся тем, что при вводе в командной строке после ввода последнего символа числа в нетекстовом формате при нажатии кнопки отправления сообщений из командной строки соответствующий код будет послан подключенному устройству, в противном случае при вводе в командной строке при удалении первого символа числа в нетекстовом формате префикс числа также автоматически удаляется.

14. Способ по п. 11, отличающийся тем, что при вводе в командной строке после ввода последнего символа числа в нетекстовом формате получается число, представляющее собой код, который будет послан подключенному устройству из командной строки.

15. Способ по п. 12, отличающийся тем, что после ввода последнего символа числа в нетекстовом формате при удалении этого символа подключенному устройству посылается код 0x08, а следующее за этим удаление других символов числа не генерирует никаких сигналов, посылаемых подключенному устройству.

16. Способ по любому из пп. 11 и 15, отличающийся тем, что при удалении первого символа числа в нетекстовом формате префикс числа также автоматически удаляется.

17. Способ по п. 12, отличающийся тем, что при нажатии на выбранную в настройках эмулятора кнопку после окончания ввода последнего символа числа в нетекстовом формате следующее вводимое число будет представлять собой число повторений предыдущего числа, посланных друг за другом.

18. Способ по п. 17, отличающийся тем, что при вводе первого символа числа, следующего после нажатия выбранной в настройках эмулятора кнопки, будет отображен префикс, обозначающий, что следующее вводимое число представляет собой число повторений предыдущего числа, посланных одно за другим.

19. Способ по п. 18, отличающийся тем, что, если ввод делается в окне терминала, при вводе последнего символа числа, первый символ которого был введен после нажатия выбранной в настройках эмулятора кнопки, соответствующее число повторений предыдущего числа будет послано подключенному устройству.

20. Способ по п. 18, отличающийся тем, что если ввод делается в командной строке, то после ввода последнего символа числа, первый символ которого был введен после нажатия выбранной в настройках эмулятора кнопки, при нажатии кнопки отправления сообщений из командной строки соответствующее число повторений предыдущего числа будет послано подключенному устройству.

21. Способ по любому из пп. 12 и 20, отличающийся тем, что после ввода последнего символа числа, первый символ которого был введен после нажатия выбранной в настройках эмулятора кнопки, при стирании последнего символа этого числа соотвествующее число повторений кода "0x08" будет послано подключенному устройству, а если после этого ввести последний символ числа еще раз, то новое число последовательных повторений предыдущего числа будет послано подключенному устройству, в противном случае при стирании первого символа числа префикс этого числа также будет автоматически удален.

22. Способ по любому из пп. 14 и 20, отличающийся тем, что после нажатия кнопки отправления сообщений из командной строки последовательности символов в текстовом формате или чисел в нетекстовых форматах будут посланы подключенному устройству, при этом, если локальное эхо включено, то последовательности из командной строки будут преобразованы в выбранный формат отображения окна терминала для отображения в нем.

23. Способ по п. 4, отличающийся тем, что если включена опция автоматического масштабирования, то для текстового формата отображения при поворотах экрана размер шрифта окна терминала автоматически изменится так, что ширина экрана терминала в числе символов будет одной и той же, определенной в настойках, а окно терминала будет заполнять всю ширину экрана устройства.

24. Способ по п. 4, отличающийся тем, что если опция автоматического масштабирования выключена, размер шрифта окна терминала будет оставаться одним и тем же, равным величине, заданной в настройках программы, при этом при вращении терминала, если новая ширина экрана оказывается меньше, чем длина строки текста окна терминала, то часть текста за правой границей окна терминала будет отрезана.

25. Способ по п. 4, отличающийся тем, что отдельное окно терминала для полученных сообщений включается или отключается.

26. Способ по п. 4, отличающийся тем, что при включении отдельного окна терминала для полученных сообщений блок памяти окна терминала для посланных сообщений копируется в блок памяти окна терминала для полученных сообщений и очищается.

27. Способ по п. 4, отличающийся тем, что при отключении отдельного окна терминала для полученных сообщений блок памяти окна терминала полученных сообщений копируется в блок памяти терминала для посланных сообщений и очищается.

28. Способ по п. 4, дополнительно включающий подключение блоков памяти входящего сигнала либо к эмулятору терминала, либо к модему для обмена файлами, либо к блоку контроля прямого соединения между несколькими портами с подключенными устройствами.

29. Память, содержащая инструкции программы электронного устройства для эмуляции терминала с управлением посредством сенсорного экрана, включающие:

инструкции конфигурирования последовательного порта для преобразователя интерфейса, подключенного к USB порту;

инструкции создания беспроводного виртуального последовательного порта для связи с одним из заданных устройств;

инструкции считывания сообщений от каждого из заданных устройств, полученных через последовательный порт преобразователя интерфейса, подключенного к USB порту,

и/или через беспроводной виртуальный последовательный порт;

инструкции записи сообщений для заданного устройства через последовательный порт преобразователя интерфейса, подключенного к USB порту, и/или через беспроводной виртуальный последовательный порт;

инструкции инициализации и конфигурации эмуляторов терминалов для сконфигурированных последовательного и/или виртуального последовательного портов, индивидуальных и независимых для каждого из портов;

инструкции выполнения операций эмуляторов терминалов по регистрации управляющих последовательностей терминала в сообщениях, полученных из последовательного и/или виртуального последовательного портов;

инструкции выполнения операций терминалов, индивидуальных для каждого формата отображения данных, по преобразованию сообщений, полученных из последовательного и/или виртуального последовательного портов, в сообщения в выбранном формате представления;

инструкции выполнения операций эмуляторов терминалов по преобразованию нажатий экрана, включая движения вдоль поверхности экрана, в изменение положения курсора эмулятора терминала и управляющие последовательности терминалов для кнопок-стрелок;

инструкции выполнения операций эмуляторов терминалов, индивидуальных для каждого формата отображения данных, для преобразования данных, вводимых в окне терминала и в командной строке с виртуальной клавиатуры, в сообщения в выбранном формате представления;

инструкции отправления сообщений и управляющих последовательностей терминала на последовательный порт и/или беспроводной виртуальный последовательный порт;

инструкции преобразования данных, вводимых в окне терминала и в командной строке, в управляющие последовательности;

инструкции формирования отображения полученных и посланных сообщений в окнах терминала и формирования отображения сообщений, введенных в командной строке, для выбранного формата отображения данных;

инструкции адаптации отображений полученных и посланных сообщений в окнах терминала к поворотам экрана;

инструкции независимого обмена файлами с каждым из заданных устройств с использованием одного из существующих протоколов, таких как Xmodem, Ymodem, или без протокола;

инструкции создания соединения между последовательным портом и беспроводным виртуальным последовательным портом.

30. Память, содержащая инструкции программы электронного устройства, которые, будучи загруженными в процессор, обеспечивают выполнение устройством способа по любому из пп. 4-28.



 

Похожие патенты:

Изобретение относится к средствам для реализации измененной приоритетной маршрутизации прерываний ввода/вывода (I/O). Технический результат заключается в расширении арсенала технических средств для реализации измененной приоритетной маршрутизации прерываний ввода/вывода.

Изобретение относится к области устройств мобильной связи. Техническим результатом является отделение некоторых данных от других приложений и/или операций устройства мобильной связи и поддержание их безопасности на более высоком уровне, чем безопасность этих других приложений и/или операций.

Группа изобретений относится к технической поддержке пользователей. Технический результат – повышение качества технической поддержки пользователей.

Изобретение относится к системе и способу управления жизненным циклом крепежных деталей изделия, состоящего из множества составных частей. Технический результат заключается в автоматизации управления жизненным циклом крепежных деталей изделия, состоящего из множества составных частей.

Изобретение обеспечивает способ управления отказами, который может реализовывать сообщение об отказах и их обработку в среде виртуализации сетевых функций NFV. Технический результат изобретения заключается в возможности получения информации об отказах для аппаратурного и/или программного объекта для выполнения всесторонней обработки коррелированных фрагментов информации об отказах, которая может осуществить сообщение об отказах и обработку в среде NFV.

Изобретение относится к команде запуска виртуального выполнения для диспетчеризации множественных потоков на компьютере. Технический результат – сокращение непроизводительных издержек администрирования гипервизора в многопоточном окружении.

Изобретение относится к вычислительной технике. Технический результат заключается в защите от вредоносных программ.

Изобретение относится к вычислительным системам. Технический результат заключается в расширении арсенала средств.

Изобретение относится к диспетчеризации множественных потоков в компьютере. Техническим результатом является обеспечение диспетчеризации многопотоковой гостевой виртуальной машины.

Изобретение относится к области обработки данных. Технический результат изобретения заключается в повышении эффективности хранения данных с высокой степенью многопоточности за счет уменьшения нагрузки на базу данных и увеличения скорости обработки данных.

Изобретение относится к устройствам автоматики и вычислительной техники, в частности к микропрограммным устройствам с жесткими алгоритмами работы. Технический результат заключается в увеличении количества исполняемых функций, выполнение самодиагностики в реальном времени и возможности перенастройки исполняемых функций в реальном времени.

Группа изобретений относится к средствам сенсорного управления. Технический результат – повышение точности прикосновения сенсорной панели.

Изобретение относится к сенсорной кнопке управления, панели сенсорного управления и терминалу сенсорного управления. Технический результат заключается в обеспечении сенсорного управления.

Изобретение относится к устройствам управления отображением. Технический результат заключается в обеспечении возможности изменения прозрачности области прикосновения и перетаскивания в ответ на ввод данных пользователем на полупрозрачном слое.

Изобретение относится к области обработки информации. Технический результат заключается в повышении точности указания позиции объекта дополненной реальности (AR) за пределами области отображения блока отображения изображения.

Изобретение относится к системам отслеживания движения глаз. Технический результат заключается в повышении точности отслеживания движения глаз.

Изобретение относится к области парков развлечений. Технический результат заключается в обеспечении возможности создания визуальных эффектов на основе обнаруженного электромагнитного излучения, указывающего перемещение предмета.

Изобретение относится к устройствам ввода. Технический результат заключается в повышении скорости ввода данных.

Изобретение относится к головному устройству для транспортного средства. Головное устройство для транспортного средства содержит первый и второй дисплеи, первую и вторую секции управления отображением и секцию обработки приема входящих данных.

Группа изобретений относится к медицине. Способ интерпретации электрокардиограммы (ЭКГ) осуществляют с помощью системы для интерпретации ЭКГ.

Изобретение относится к методам связывания, которые выполнены с возможностью связывания аппаратного устройства для работы с вычислительным устройством. Технический результат заключается в сохранении вычислительных ресурсов вычислительного устройства.
Наверх