nauta 3!17 юганское издание
Что это
Nauta --- программа, позволяющая записывать и просматривать данные,
приходящие на последовательный порт Palmа.
Распространение
Это --- свободное программное обеспечение; его можно распространять и
изменять в условиях Общей общественной лицензии GNU, и так далее.
Оно распространяется с упованием на то, что будет полезным, но
безо всякой гарантии, и всё такое прочее.
Точные условия --- в GPL.txt
Главные особенности
Системные требования: PalmOS 3.3 и выше.
- Поддерживаемые протоколы:
- NMEA:
- сообщения BEC, BWC, BWR, GGA, GLL, GXA, RMA, RMC, OSD, TRF, VTG,
ZDA, ZFO, ZTG.
- типы датчиков AG, AP, CD, CS, CT, CV, CX, DE, DF, EC, EP, ER, GP, HC,
HE, HN, II, IN, LA, LC, OM, RA, SD, SS, TI, TR, VD, VM, VW, YX, ZA, ZC,
ZQ, ZV, WI. (ещё есть много бесполезных фирменных датчиков в полной базе
данных).
- TAIP (сообщения CP, LN, PV и TM, если понятно, о чём это я).
- TSIP (сообщения 0x41, 0x42, 0x43, 0x46, 0x4A, 0x56, 0x6D, 0x83, 0x84).
- есть ещё два тривиальных <<протокола>> --- HEX и TEXT:
данные не декодируются, а только прокручиваются в окне Порт и при желании
запоминаются.
- запись и просмотр всех данных от любого датчика с последовательным стыком.
- масштабируемая база данных (NMEA) типов датчиков и сообщений
(можно создавать свои базы данных --- утилиты для преобразования написаны
простым языком и легко могут быть транслированы под Unix, Windows и так
далее; в дистрибутив включены скомпилированные под MS-DOS и Linux 2.4.18).
- настраиваемые поля, определяемые пользоваетелем (для этого нужно
редактировать базу данных).
- поддержка альтернативных языков: существуют латинская, русская и аглинская
редакции.
NB: фирменные сообщения сейчас не поддерживаются, потому что я никогда не видел
таких смешных штук. но если это потребуется, можно мне написать.
Содержимое архива
Архив содержит nauta 3!17 (юганское издание), которое включает файлы:
- файлы PalmOS
nauta_lat.prc | nauta для Palmа (латинский) |
nauta_ru.prc | nauta для Palmа (русский, кодировка КОИ8-Р) |
nauta_ruwin.prc | nauta для Palmа (русский, кодировка Windows) |
nauta_br.prc | nauta для Palmа (аглинский) |
dbnmea.pdb | база данных сообщений и типов датчиков NMEA (полная) |
brief.pdb | сокращённая база данных NMEA (без фирменных датчиков) |
- Утилиты для преобразования в каталоге utils/:
скомпилированные под Linux 2.4.18 --- в каталоге linux/,
скомпилированные под MS-DOS --- в каталоге dos/
db2txt | преобразует базу данных с записанными сообщениями в файл |
dbnm2txt | преобразует базу данных NMEA в текстовый файл |
txt2dbnm | преобразует текстовый файл в базу данных NMEA |
- Описания в каталоге doc/
- Исходники в каталоге src/
Установка
- Удалить предыдущую версию программы, если установлена.
- Установить нужный вариант nauta.prc и базу данныx NMEA (dbnmea.pdb или
brief.pdb).
Замечания по использованию утилит
db2txt
Nauta создаёт базу данных nautadb у Palmа в памяти. если
перенести её как-нибудь на другой компьютер, можно преобразовать эту базу
данных в файл, где данные записаны в том порядке, в каком они поступили в Palm.
для этого нужно запустить db2txt, например, так:
$ db2txt nautadb.pdb nautadb.dat
Результат запишется в nautadb.dat.
dbnm2txt and txt2dbnm
Для создания или изменения базы данных NMEA имеет смысл преобразовать файл
базы данных в текстовый файл. это делается утилиткой
dbnm2txt:
$ dbnm2txt dbnmea.pdb dbnmea.txt
Каждая строка текстового файла определяет или тип датчика, или тип
сообщения. строки, описывающие типы датчиков, содержат две буквы перед '|'.
строка после '|' --- это сообщение, которое будет появляться в поле
<<датчик>> в окне <<Навиг>>, напр.
OM|OMEGA Navigation System
(если хочешь, переведи эти сообщения на русский; я не берусь)
Точно так же определяются фирменные датчики, только там перед '|' стоят
четыре буквы.
Строки, определяющие типы сообщений, содержат три символа перед '|'.
остальные символы задают структуру сообщения: первый знак --- тип
параметра, два следующих --- номер поля сообщения, содержащего этот
параметр, напр.
GGA|t01l02o04q06n07p08a09101202
- GGA --- тип сообщения
- t01 --- Всемирое координированное время --- в первом поле
- l02 --- широта --- во втором и третьем полях
- o04 --- долгота --- в четвёртом и пятом полях
- q06 --- знак качества --- в шестом поле
- n07 --- число видимых спутников --- в седьмом поле
- p08 --- горизонтальный геометрический фактор --- в восьмом поле
- a09 --- высота --- в девятом поле
- 101 --- пользовательский параметр номер 1 --- в первом поле
- 202 --- пользовательский параметр номер 2 --- во втором поле
Полный список типов параметров здесь.
Теперь можно отредактировать файл и преобразовать его обратно в базу данных
утилиткой txt2dbnm.
- Типы датчиков, сообщений и фирменных датчиков должны идти в
алфавитном порядке.
- Строки описаний должны содержать не более тридцати четырёх знаков
после '|'.
Дополнительные сведения
См. справки в программе и документацию NMEA 0183 (кто бы мне её прислал...).
Описание TSIP и TAIP можно нарыть на
Trimbleной домашней страничке.
А я и так уже утомился писать всё это на стольких языках.
Известные сомнительные достоинства
- Когда записанные данные передаются по последовательному порту,
pose под Linucой привык зависать. (я говорю про
pose, а не про виртуальную машинку, которую он эмулирует).
всё идёт замечательно под Windows (или, натурально, на взаправдышном Palmе).
- Когда вываливаются окошки предупреждений, можно прозевать данные
на порту: в это время буфер не опустошается. на самом деле именно поэтому я
переписал окошки для подсказок (другой причиной была локализация).
- После того, как прочтена подсказка к окошку передачи записанных данных,
эти данные передаются с самого начала (там нет подсказки? значит, я её убрал).
- Иконки подсказок в уголках окошек на PalmOS&nbps;3.3 рисуются неправильно.
- TSIP поддерживается недостаточно полно: для этого пришлось бы совершать
нетривиальные действия с плавающей точкой.
Автор
Д.Т.Инеев, супер V 93
<ineiev@yahoo.co.uk>