Перейти к содержимому


Фотография

Последовательность SeaTalk


Сообщений в теме: 6

#1 maxik

maxik

    Яхтенный капитан

  • Администратор
  • 2 116 сообщений
  • Из:Москва
  • Судно: 34 фута
  • Название: Ирида

Отправлено 20 Март 2017 - 00:55

Приветствую.

 

В описании Seatalk на тему определения курса есть следующая формула:

 

89  U2  VW  XY  2Z  Compass heading sent by ST40 compass instrument
                     (it is read as a compass heading by the ST1000(+) or ST2000(+) autopilot)
                       Compass heading in degrees:
                         The two lower bits of  U  *  90   +
                         the six lower bits of VW  *   2   +
                         the two higher bits of U  /   2   =
                         (U & 0x3) * 90 + (VW & 0x3F) * 2 + (U & 0xC) / 2
                      Locked stear reference (only send by the ST40 compass):
                         The two higher bits of V * 90 + XY / 2
                       Z & 0x2 = 0 : St40 in Standby mode
                       Z & 0x2 = 2 : St40 in Locked stear mode
                     Corresponding NMEA sentences: HDM, HDG, HDT, VHW

 

Не  могу понять, что это за U и VW. Может кто с этим разбирался?


  • 0

#2 Герда

Герда

    Рулевой 3-го класса

  • Основной экипаж
  • PipPipPipPip
  • 113 сообщений
  • Из:Москва
  • Судно: катер водоизмещающий
  • Название: "Герда"

Отправлено 20 Март 2017 - 03:36

Глубоко капаете...


  • -1

#3 StrangerM

StrangerM

    чужой

  • Модератор форума
  • 12 952 сообщений
  • Из:СПб
  • Судно: МН
  • Название: Stranger

Отправлено 20 Март 2017 - 05:53

Глубоко капаете...

Ох, как мне не хочется предупреждения за флуд выдавать.


  • 1

#4 DoctorD

DoctorD

    Рулевой 2-го класса

  • Основной экипаж
  • PipPipPipPipPip
  • 226 сообщений
  • Из:СПб
  • Судно: Строю

Отправлено 20 Март 2017 - 08:49

Приветствую.

 

В описании Seatalk на тему определения курса есть следующая формула:

 

89  U2  VW  XY  2Z  Compass heading sent by ST40 compass instrument
                     (it is read as a compass heading by the ST1000(+) or ST2000(+) autopilot)
                       Compass heading in degrees:
                         The two lower bits of  U  *  90   +
                         the six lower bits of VW  *   2   +
                         the two higher bits of U  /   2   =
                         (U & 0x3) * 90 + (VW & 0x3F) * 2 + (U & 0xC) / 2
                      Locked stear reference (only send by the ST40 compass):
                         The two higher bits of V * 90 + XY / 2
                       Z & 0x2 = 0 : St40 in Standby mode
                       Z & 0x2 = 2 : St40 in Locked stear mode
                     Corresponding NMEA sentences: HDM, HDG, HDT, VHW

 

Не  могу понять, что это за U и VW. Может кто с этим разбирался?

Composition of Messages

Each datagram contains between 3 and 18 characters:                                                             89  U2  VW  XY  2Z  

 

Type of command (the only byte with the command-bit set)                                                         | 89

 

Attribute Character, specifying the total length of the datagram in the least significant nibble:    | U2

      Most  significant 4 bits: 0 or part of a data value                                                                     | U
       Least significant 4 bits: Number of additional data bytes = n  =>                                           | 2
       Total length of datagram = 3 + n  characters                                                                          | 5

 

First, mandatory data byte                                                                                                             | VW

 

3 - 18  optional, additional data bytes                                                                                            | XY  2Z


  • 0

#5 maxik

maxik

    Яхтенный капитан

  • Администратор
  • 2 116 сообщений
  • Из:Москва
  • Судно: 34 фута
  • Название: Ирида

Отправлено 20 Март 2017 - 10:23

Да это-то я все читал. Но вот есть у меня курс в градусах, как его перевести в сообщение seatalk?


  • 0

#6 Григорий Ш.

Григорий Ш.

    Рулевой 1-го класса

  • Основной экипаж
  • PipPipPipPipPipPip
  • 975 сообщений
  • Из:Москва
  • Судно: Sunwind 20
  • Название: SALACIA

Отправлено 20 Март 2017 - 11:50

Не спец по com-интерфейсу и про нотацию не скажу, но если просто по тексту, курс кодируется определенными битами 4-байтовой посылки. 

(U & 0x3) * 90 + (VW & 0x3F) * 2 + (U & 0xC) / 2

Допустим, курс 201,5 градуса.

Делим на 90, целая часть 2 (180 гр)  в остатке 21,5 гр.

Значит, нижние биты первого байта U2 выглядят так: 10

Делим 21,5 на 2 - целая часть 10, в остатке 1,5 гр.

6 верхних битов второго байта VW: 001010

ну, и 1,5 - 3 единицы по полградуса (это точность передачи) - это 2 верхних бита первого байта: 11

То есть так:  11000010 00101000 

:innocent:


  • 0

#7 DoctorD

DoctorD

    Рулевой 2-го класса

  • Основной экипаж
  • PipPipPipPipPip
  • 226 сообщений
  • Из:СПб
  • Судно: Строю

Отправлено 20 Март 2017 - 13:46

Мне кажется как-то так:
 
rayst40komp.jpg
 
250 = 2*90 + 35*2 + 0/2
238 = 2*90 + 116/2
 
U = 0010B = 2H
VW = 10100011B = A3H
XY = 01110100B = 74H
 
89 22 A3 74 22

  • 0



Ответить



  


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей