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

Фотография

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


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

#1 Moder

Moder

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

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

Отправлено 20 марта 2017 - 04: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
  • 136 сообщений
  • Из:Москва
  • Судно: катер водоизмещающий
  • Название: "Герда"

Отправлено 20 марта 2017 - 07:36

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


  • -1

#3 StrangerM

StrangerM

    чужой

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

Отправлено 20 марта 2017 - 09:53

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

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


  • 1

#4 DoctorD

DoctorD

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

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

Отправлено 20 марта 2017 - 12: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

[font="arial, helvetica, sans-serif;"][color=rgb(0,0,0);background-color:rgb(221,221,204);]Each datagram contains between 3 and 18 characters:                                                           [/color][/font]89  U2  VW  XY  2Z

 

[font="arial, helvetica, sans-serif;font-size:12px;"]Type of command (the only byte with the command-bit set)                                                         | 89[/font]

 

[font="arial, helvetica, sans-serif;"]Attribute Character, specifying the total length of the datagram in the least significant nibble:    | U2[/font]

[font="arial, helvetica, sans-serif;"]      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[/font]

 

[font="arial, helvetica, sans-serif;"]First, mandatory data byte                                                                                                             | VW[/font]

 

[font="arial, helvetica, sans-serif;"]3 - 18  optional, additional data bytes                                                                                            | XY  2Z[/font]


  • 0

#5 Moder

Moder

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

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

Отправлено 20 марта 2017 - 14:23

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


  • 0

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

Григорий Ш.

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

  • Капитан
  • 2 141 сообщений
  • Из:Москва
  • Судно: Sunwind 20
  • Название: SALACIA

Отправлено 20 марта 2017 - 15: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
  • 329 сообщений
  • Из:СПб
  • Судно: Строю

Отправлено 20 марта 2017 - 17:46

Мне кажется как-то так:
 
rayst40komp.jpg
 
250 = [color=#ff0000;]2[/color]*90 + [color=#daa520;]35[/color]*2 + [color=#008000;]0[/color]/2
238 = [color=#0000ff;]2[/color]*90 + [color=#008080;]116[/color]/2
 
U = [color=#008000;]00[/color][color=#ff0000;]10[/color]B = 2H
VW = [color=#0000ff;]10[/color][color=#daa520;]100011[/color]B = A3H
XY = [color=#008080;]01110100[/color]B = 74H
 
89 22 A3 74 22

  • 0



Ответить



  


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

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