v4orb2.wiki

описание пикапов и диссектора ВЭПП3-4
git clone http://www.inp.nsk.su/~bekhte/v4orb2.wiki.git
Log | Files | Refs

commit 19d657cae250e7da1303b222c880db075674adbe
parent 0be4550ed3824ea94748f80a61e5b74dc06fd78e
Author: E.A.Bekhtenev <E.A.Bekhtenev@inp.nsk.su>
Date:   Thu Oct  6 14:13:33 +0700

upd kserv

Diffstat:
kserv.md | 83+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 83 insertions(+), 0 deletions(-)
diff --git a/kserv.md b/kserv.md @@ -58,10 +58,29 @@ Nturns = 1-2 миллиона оборотов). Таким образом, во Код = 64 – посылка параметров в сервер (5 параметров + маску пикап-станций к которым применяются настройки), [описание см.](#param); +запрос: + +* параметры +* *uint32_t* - маска + +ответ: + +* нет + ### 65 Код = 65 – тоже что [64](#64), дополнительно возвращает результат исполнения 4 байта ( результат всегда 0, что означает успех, поскольку сервер теперь не работает напрямую с железом) +запрос: + +* параметры +* *uint32_t* - маска + +ответ: + +* *uint32_t* - 0 + + ### 96 Код = 96 – тоже что [65](#96) @@ -70,17 +89,50 @@ Nturns = 1-2 миллиона оборотов). Таким образом, во Код = 67 – посылка параметров в сервер (в формате кода [64](#64)), и получение медленных данных для всех 20-и пикап-станций, независимо включена та или иная станция или нет. Формат медленных данных [описан ниже](#slow). +запрос: + +* параметры +* *uint32_t* - маска + +ответ: + +* [медленные данные](#slow) + ### 6 Код = 6 – запуск быстрых измерений по маске, формат маски тот же что и в [параметрах](#param). +запрос: + +* *uint32_t* - маска + +ответ: + +* нет + ### 7 Код = 7 – запуск пооборотных измерений по маске, формат маски тот же что и в [параметрах](#param). +запрос: + +* *uint32_t* - маска + +ответ: + +* нет + ### 2 Код = 2 – чтение медленных данных для всех 20-и пикап-станций, если есть пикапстанции работающие в режиме 3 Гц то происходит ожидание свежих данных от них, для остальных пикап станций отдаются последние актуальные данные. Если нет пикапстанций в режиме 3 Гц, ответ отдается мгновенно. Формат ответа тотже что код [67](#67); +запрос: + +* нет + +ответ: + +* [медленные данные](#slow) + ### 3 Код = 3 – тоже что [2](#2). @@ -89,10 +141,26 @@ Nturns = 1-2 миллиона оборотов). Таким образом, во Код = 4 – ожидание окончания измерения (код [6](#6)) и чтение 2-х массивов быстрых данных (координат X, Z) по 1024 вещественных чисел каждый. После посылки кода команды в сервер посылается еще один байт – номер пикап-станции (0-19), для которой надо прочитать результат измерений. Команда ожидает окончание измерения конкретной пикапстанцией, только после этого из сервера приходят массивы данных. Данные будут достоверны только, если соответствующая пикап-станция включена и с ней есть связь по Ethernet. +запрос: + +* *uint8_t* - пикап id + +ответ: + +* быстрые данные + ### 69 Код = 69 – ожидание окончания измерения(код [7](#7)) и чтение 3-х массивов данных пооборотных измерений (координат X, Z, I) по Nt вещественных чисел каждый. Размер читаемых массивов пооборотных данных Nt может устанавливаться программно (см. [ниже](#t_bufer)): 2048, 4096, 8192, 16384, 32768, 65536 или 131072 чисел. После посылки кода команды в сервер посылается еще один байт – номер пикап-станции (0-19), откуда нужно прочитать данные. Только после этого из сервера приходят массивы данных. +запрос: + +* *uint8_t* - пикап id + +ответ: + +* пооборотные данные + ### 5 Код = 5 – тоже что [69](#69). @@ -101,10 +169,25 @@ Nturns = 1-2 миллиона оборотов). Таким образом, во Код = 8 – чтение маски реально работающих пикап-станций – 4 байт. Каждый бит этого байта (0-31) соответствует определенной пикап-станции. Реально работающая пикап-станция должна быть включена не только программно, но и электрически, то есть с ней должна быть связь по Ethernet. +запрос: + +* нет + +ответ: + +* *uint32_t* - маска + ### 9 Код = 9 – чтение буфера последних медленных измерений для выбранного пикапа. После кода команды сервер ожидает один байт с номером пикап-станции (0-19), и один байт с длинной массива n-1 (0-255 соответствует длине массива 1-256). В ответ отвечает: +запрос: + +* *uint8_t* - пикап id +* *uint8_t* - кол-во точек + +ответ: + * магическое число 2 байта (0x55aa) * координата X, n точек в формате _float_ * координата Y, n точек в формате _float_