Psion


English version is here

В последнее время довольно популярными стали PDA - personal data assistant. Всем удобная вещь, но основная часть работы всё равно производится на персональном компьютере. Поэтому большинство PDA комплектуются кабелем (либо инфракрасным интерфейсом) и специальным программным обеспечением. Вы, конечно, уже поняли, что это ПО, как правило, под Винды. Правда, в последнее время появились разработки на Java, но их интерграция с ОС и другим прикладным ПО, ИМХО, весьма слабая.

Мне в руки попался один из представителей PDA -- Psion Series 5. Весьма мощное (RISC-процессор, нет виндоуса ;-) и, главное, полезное устройство. Так как я большую часть времени провожу в OS/2, то, естественно, перезагружаться в Вин-95, чтобы перекинуть файл-другой, крайне неудобно. Я озадачился и поискал информацию о протоколе связи. К сожалению, фирма Psion, в лучших традициях MS тщательно скрывает интерфейсы и протоколы, поэтому найденная мной информация о Psion 5 получена людьми методом реинжиниринга. Кое-что пришлось "доковырять" самому.

В общих чертах проект выглядит так: есть базовая система обмена файлами с PDA, в неё встроен интерфейс для plug-in-ов -- конверторов данных. Такая структура позволяет не менять базовое ПО по мере появления новых форматов офисных пакетов и новых видов данных в PDA. Единственно, базовую систему нужно модифицировать, дополняя новыми протоколами обмена для новых типов PDA. Программа должна иметь PM-интерфейс, поддерживать drug&drop, и вообще по свойствам выглядеть, как обычный каталог. Идеально было бы изготовить IFS, но у меня духу не хватит ;-)

Готовность. К сожалению, я "несколько" ошибся при расчете времени, необходимого для "подьема" такой программы. Поэтому я пока застрял на PM-интерфейсе. Но работать-то с Psion-ом надо, поэтому, посмотрев на работы коллег из Linux-а, по мотивам изобразил утилиту работы с Psion-ом а-ля ftp в текстовом режиме: psiftp.zip, 157k. Программ там на самом деле две - одна собственно psiftp.exe; другая psiprn.exe -- это редиректор печати с последовательного порта на обычный.

В настоящее время программа поддерживает работу с Psion Series 3, Psion Sienna, Psion Series 5 (5Mx не проверялся из-за отсутствия оного, работа с Series 3, Sienna проверялась на эмуляторах, работа с Series 5 проверялась как на эмуляторе, так и с "живым"). Я сам пользуюсь этой программой, пока особых проблем не заметил.

Кроме того, для любителей острых ощущений. Я взял старенькую версиию OS2You, притянул из И-нета терминальную программу для Psion-а (Hermes, своя родная у него плоховата). Весьма забавно наблюдать File Commander на экране PDA и телнетится на Linux.

И последнее. При помощи Psion-а и стандартного кабеля очень удобно настраивать оборудование, имеющее COM-порт. Можно подлезть в такие места о которых и не мечтал ;-)

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

Условия распространения. Бесплатно.


[11.01.2000] psiftp v0.93, 157k
Исправлены некоторые мелкие ошибки. Добавлены новые команды: "backup <psion dir> <pc dir>", "restore <psion dir> <pc dir>". Команда "backup" сравнивает даты последней модификации файлов, проверяет атрибут "archive" и копирует все файлы начиная с указанного каталога с подкаталогами. Все атрибуты файлов и каталогов Psion-а сохраняются в OS/2 EA. Команда "restore" восстанавливает прежде сделанный backup и (я надеюсь :-) полностью восстанавлявает все атрибуты файлов и каталогов. Добавлена (точнее, возвращена на место) команда "sattr [+|-][rhsa] <psionfile>" - установить/сбросить атрибуты файла Psion. Добавлена команда "!os2 command", позволяющая не выходя из утилиты выполнять любую команду shell-а. Добавлена команда "@cmd file" - вызвать "командный" файл (ограничение: нельзя использовать вложенные файлы).

При работе над backup-ом я столкнулся с проблемой в функции "set file date" на Psion Series 3 emulator (возможно, это Y2K ?). Я обошел её стороной, но если кто-нибудь получит трап при просмотре каталога или неверную дату файла, сообщите пожалуйста мне (это оно :-).

Замечание. Если программа во время работы выдает ошибку "Async ... error" или "Abort operation...", или на Psion-е "Error writing..." -- это означает, что на Вашем Psion-е сели батарейки. Линк на Psion-е крайне неустойчив при низком напряжении батарей. Поэтому рекомендуется все операции по переписыванию файлов производить при подключеном внешнем питании.

Hint. Если Вы еще не нашли, то программа ведет "историю команд" и Вы можете, используя клавиши "стрелка вверх/вниз" перебирать ранеее поданные команды, редактировать их и выполнять снова (как в командной строке OS/2).
Hint. Вместо "exit" Вы можете просто нажать <ESCAPE>.
Hint. Вы можете вызвать программу с указанием "командного файла" в строке: "psiftp @file".
Hint. Для Psion Series 5 Вы можете использовать длинные и имена файлов и национальные буквы, для этого его надо взять в кавычки, например: "D:\Это длинное русское имя файла".

[25.01.2000] psiftp v0.94, 251k
Вы не поверите, но это первый случай в моей практике, когда программа работает правильно с русской codepage и не работает в других. В общем, я нашел у себя в программе psiftp большой баг. Точнее, баг-то даже не мой (только исправлять его пришлось мне ;-) Короче. Я пользуюсь набором функций "iconv" из VisualAge C++ для работы с национальными настройками, однако, как оказалось, эти средства не встроены в OS/2 (ну нет необходимых DLL-ей и таблиц), и в документации на VisualAge C++ я ничего не нашел (может, плохо искал, поправьте если так). Таким образом, появилась новая редакция (0.94) утилит для работы с ПДА Psion.

[24.03.2000] psiftp v0.95, 342k
Добавлены обработчики системных сообщений для корректного завершения программы (закрытия портов, завершения тредов и т.п.) Первый раз в пакет включен порт утилиты PsiConv Frodo Looijaard, <frodol@dds.nl>. Пока эта утилита может конвертировать только файлы Word Psion-а в ASCII, HTML или HTML v4. Кроме того, она имеет определенные проблемы с русским текстами, и я не портировал часть, касающуюся изображений (для этого требуется библиотека ImageMagick).

[18.05.2000] psiftp v0.97, 383k
Добавлены пара команд rem и echo для командных файлов. Длина командной строки увеличена до 254 байт. Добавлен диалог retry для команд, работающих с многими файлами, таких как mget/mput, backup/restore. Теперь, если, например, файл занят, вы можете выбрать, повторить операцию или нет (разумеется, что при этом должен быть включен режим prompt on ;-). Вы можете отключить этот диалог командой prompt off.

Добавлен лог-файл. Чтобы программа создала лог-файл, достаточно перенаправить "stderr" в любой файл, например такой командой: psiftp 2>logfilename.

В программу PsiPrn изменения не вносились (пока). В каталоге "Lib" содержится библиотека, h-файлы и пример программы связи с ПДА Psion. Добавлена команда resp . Если запрос подтверждений отключен, вы имеете возможность автоматически управлять ответами на подобные запросы. Может оказаться полезным, например, при восстановлении файлов из backup-а. Обычно psiftp сравнивает даты файлов, и если файл на Psion-е старее, чем в бэкапе, то он будет всегда восстановлен. Если же он такой же или новее, то вам будет выдан запрос "Overwrite ?" (Переписать ?). Если вы желаете восстановить только новые файлы из резервной копии, то можно создать такой "командный" файл:


prompt off
resp n
restore PC\D D:
PsiFtp пропустит все одинаковые (или более старые) файлы из резервной копии и восстановит только отсутствующие или более старые на Psion-е.

Остальное смотрите в readme.

[19.06.2000] Описание Psion Link Protocol, часть 1

[13.03.2001] psiftp v1.0: psiftp.zip, 1.2Mb
Psion OS/2 NetDrive plugin v1.0b: psiplug.zip, 83k

[18.09.2001] psiftp v1.2: psiftp12.zip, 1.3Mb
Добавлен ключ командной строки '-r'. Предназначен для отключения поддержки RPC для старых Sibo машинах (которые не имеют правильно установленного SYS$RPCS.IMG. Проконсультируйтесь в вашем Руководстве Пользователя Псион).
Добавлена поддержка Rexx.
Порт PsiConv остался старым; я жду, пока будет реализована поддержка RTF.

[15.10.2001] psiftp v1.3: psiftp13.zip, 1.3Mb
Несколько повышена производительность (примерно 10-15%). Исправлены некоторые мелкие ошибки в RPC. Работа RPC с моим эмулятором Sibo нестабильна. Если вас интересует поддержка RPC для Sibo машин, дайте мне знать. Исправлена ошибка с примере Rexx для RPC.

ndppsion.zip, 110k
Плагин NetDrive, позволяющий получить доступ к дискам Psion как к обычным разделам OS/2.

Credits:
Philip Proudman <philip.proudman@btinternet.com>
Fritz Elfert <felfert@to.com>
Matt J. Gumbley <matt@gumbley.demon.co.uk>
Olaf Flebbe <o.flebbe@science-computing.de>
Erik Huelsmann <f.w.h.hulsmann@rcondw.rug.nl>

Андрей А. Породько


Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ