egts

package
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2023 License: MIT Imports: 15 Imported by: 0

README

= EGTS protocol specification

Order of the Ministry of Transport of Russia from 31.07.2012 N 285

.Composition of the Transport layer protocol package
[cols="^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^"]
[%autowidth]
|===
| bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | M/O | Type | Size (byte)
8+| PRV (Protocol Version) | M | BYTE | 1
2+| PRF (Prefix) | RTE 2+| ENA | CMP 2+| PR | M | BYTE | 1
8+| HL (Header Length) | M | BYTE | 1
8+| HE (Header Encoding) | M | BYTE | 1
8+| FDL (Frame Data Length) | M | USHORT | 2
8+| PID (Packet Identifier) | M | USHORT | 2
8+| PT (Packet Type) | M | BYTE | 1
8+| PRA (Peer Address) | O | USHORT | 2
8+| RCA (Recipient Address) | O | USHORT | 2
8+| TTL (Time To Live) | O | BYTE | 1
8+| HCS (Header Check Sum) | M | BYTE | 1
8+| SFRD (Services Frame Data) | O | BINARY | 0 ... 65517
8+| SFRCS (Services Frame Data Check Sum) | O | USHORT | 0,2
|===

The Transport Layer Protocol header consists of the following fields: PRV, PRF, PR, CMP, ENA, RTE, HL, HE, FDL, PID, PT, PRA, RCA, TTL, HCS. The Service Support Level protocol is represented by the SFRD field, the checksum of the Service Support Level field is contained in the SFRCS field.

- PRV parameter contains the value 0x01. The value of this parameter is incremented each time when changes in the header structure are made.
- SKID parameter specifies an identifier of a key used in encryption.
- The PRF parameter defines the prefix of the Transport Layer Header and contains the value 00. 5.8. The RTE (Route) field determines the need for further routing of this packet to the
remote hardware and software complex, as well as the presence of optional parameters PRA, RCA, TTL, required for routing this packet. If the field is 1, then routing is required and the PRA, RCA, TTL fields are present in the packet. This field sets the Dispatcher of the hardware and software complex on which the packet was generated, or the subscriber terminal that generated the packet for sending to the hardware and software complex, if the parameter "HOME_DISPATCHER_ID" is set in it, defining the address of the hardware and software complex on which this subscriber terminal is registered.
- The ENA (Encryption Algorithm) field specifies the algorithm code used to encrypt data from the SFRD field. If the field is set to 00, the data in the SFRD field is not encrypted.
- The CMP (Compressed) field determines whether data from the SFRD field is compressed. If the field has a value of 1, the data in the SFRD field is considered compressed.
- PR (Priority) field defines routing priority of this packet and can take the following values:
** 00 - highest
** 01 - high
** 10 - medium
** 11 - low

When a packet is received, Dispatcher routes a packet with a higher priority faster than packets with a lower priority.

- The HL field is the length of the Transport Layer header in bytes, including the checksum byte (HCS fields).
- The HE field defines the encoding method used for the next part of the Transport Layer Header following this parameter.
- The FDL field determines the size in bytes of the SFRD data field containing Service Level Support Protocol information.
- The PID field contains the Transport Layer packet number, increasing by 1 with each new packet sent on the sender side. Values in this field change by the rules of cyclic counter in the range from 0 to 65535, i.e. the next value is 0 when 65535 is reached.
- PT field - type of packet of Transport layer. Field PT can take following values.
** 0 - EGTS_PT_RESPONSE (confirmation on Transaction Level packet);
** 1 - EGTS_PT_APPDATA (packet containing Service Level Support Protocol data);
** 2 - EGTS_PT_SIGNED_APPDATA (packet containing Service Level Support Protocol data with signed). _NOT IMPLEMENTED YET!_
- The PRA field is the address of the hardware and software complex where this packet was generated. This address is unique within the network and is used to create a confirmation packet on the receiving side.
- RCA field - the address of the hardware and software complex, for which this packet is intended. At this address the identification of the package belonging to a particular hardware and software complex and its routing when using the intermediate hardware and software complexes.
- TTL field - the lifetime of the packet when routing between hardware and software complexes. Use of this parameter prevents packet looping during retransmission in systems with a complex topology of address points. The TTL is initially set by the hardware and software complex that generated the packet. The TTL value is set equal to the maximum allowed number of hardware and software complexes between the sending and receiving hardware and software complexes. The TTL value decreases by one when a packet is transmitted through each hardware and software complex, and the Transport Layer Header checksum is recalculated. When this parameter reaches 0 and when further routing is detected, the packet is destroyed and the corresponding PC_TTLEXPIRED code.
- HCS field - checksum of Transport Layer Header (starting from "PRV" field to "HCS" field, not including "HCS" field). CRC-8 algorithm is applied to all bytes of the specified sequence to calculate HCS field value.
- SFRD field - data structure, which depends on packet type and contains Service Level Support Protocol information.
- SFRCS field - checksum of the Service Support Level Protocol field. To calculate the checksum on data from the SFRD field, the CRC-16 algorithm is used. This field is present only if there is the SFRD field.

== EGTS_PT_APPDATA package data structure
.SFRD field format for EGTS_PT_APPDATA type packet.
[cols="^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^"]
[%autowidth]
|===
| bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | M/O | Type | Size (byte)
8+| SDR 1 (Service Data Record) | O | BINARY | 9 ... 65517
8+| SDR 2 | O | BINARY | 9 ... 65517
8+| ... | O | |
8+| SDR n | O | BINARY | 9 ... 65517
|===
The structures SDR 1, SDR 2, SDR n contain information of the Protocol level of service support.

== EGTS_PT_SIGNED_APPDATA package data structure
.SFRD field format for EGTS_PT_SIGNED_APPDATA type packet.
[cols="^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^"]
[%autowidth]
|===
| bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | M/O | Type | Size (byte)
8+| SIGL (Signature Length) | M | SHORT | 2
8+| SIGD (Signature Data) | O | BINARY | 0 ... 512
8+| SDR 1 (Service Data Record) | O | BINARY | 9 ... 65515
8+| SDR 2 | O | BINARY | 9 ... 65515
8+| ... | O | BINARY | 9 ... 65515
8+| SDR n | O | BINARY | 9 ... 65515
|===
- The parameter SIGL defines the length of the data "digital signature" from the field SIGD.
- The SIGD parameter contains directly "digital signature" data.
- Structures SDR 1, SDR 2, SDR n contain Service Level support information.
- On each packet of EGTS_PT_APPDATA or EGTS_PT_SIGNED_APPDATA type, arriving
from subscriber terminal to hardware-software complex or from hardware-software complex to subscriber terminal, sends EGTS_PT_RESPONSE packet, containing in PID field packet number from EGTS_PT_APPDATA or EGTS_PT_SIGNED_APPDATA

== EGTS_PT_RESPONSE package data structure
.SFRD field format for EGTS_PT_RESPONSE type packet
[cols="^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^"]
[%autowidth]
|===
| bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | M/O | Type | Size (byte)
8+| RPID (Response Packet ID) | M | USHORT | 2
8+| PR (Processing Result) | M | BYTE | 1
8+| SDR 1 (Service Data Record) | O | BINARY | 9 ... 65517
8+| SDR 2 | O | BINARY | 9 ... 65517
8+| ... | O | BINARY | 9 ... 65517
8+| SDR n | O | BINARY | 9 ... 65517
|===

.Processing Result
[cols="^.^,<.^,<.^"]
[%autowidth]
|===
| Value | Marking | Description
| 0 | EGTS_PC_OK | successfully processed
| 1 | EGTS_PC_IN_PROGRESS | in progress
| 128 | EGTS_PC_UNS_PROTOCOL | unsupported protocol
| 129 | EGTS_PC_DECRYPT_ERROR | decoding error
| 130 | EGTS_PC_PROC_DENIED | processing is prohibited
| 131 | EGTS_PC_INC_HEADERFORM | incorrect header format
| 132 | EGTS_PC_INC_DATAFORM | incorrect data format
| 133 | EGTS_PC_UNS_TYPE | unsupported type
| 134 | EGTS_PC_NOTEN_PARAMS | incorrect number of parameters
| 135 | EGTS_PC_DBL_PROC | retreatment attempt
| 136 | EGTS_PC_PROC_SRC_DENIED | processing of data from the source is prohibited
| 137 | EGTS_PC_HEADERCRC_ERROR | header checksum error
| 138 | EGTS_PC_DATACRC_ERROR | data checksum error
| 139 | EGTS_PC_INVDATALEN | incorrect data length
| 140 | EGTS_PC_ROUTE_NFOUND | route not found
| 141 | EGTS_PC_ROUTE_CLOSED | route closed
| 142 | EGTS_PC_ROUTE_DENIED | routing is prohibited
| 143 | EGTS_PC_INVADDR | incorrect address
| 144 | EGTS_PC_TTLEXPIRED | the number of data retransmissions is exceeded
| 145 | EGTS_PC_NO_ACK | no confirmation
| 146 | EGTS_PC_OBJ_NFOUND | object not found
| 147 | EGTS_PC_EVNT_NFOUND | no event found
| 148 | EGTS_PC_SRVC_NFOUND | service not found
| 149 | EGTS_PC_SRVC_DENIED | service is prohibited
| 150 | EGTS_PC_SRVC_UNKN | unknown service type
| 151 | EGTS_PC_AUTH_DENIED | authorization denied
| 152 | EGTS_PC_ALREADY_EXISTS | the object already exists
| 153 | EGTS_PC_ID_NFOUND | ID not found
| 154 | EGTS_PC_INC_DATETIME | incorrect date and time
| 155 | EGTS_PC_IO_ERROR | I/O error
| 156 | EGTS_PC_NO_RES_AVAIL | insufficient resources
| 157 | EGTS_PC_MODULE_FAULT | internal module failure
| 158 | EGTS_PC_MODULE_PWR_FLT | module power supply circuit failure
| 159 | EGTS_PC_MODULE_PROC_FLT | module microcontroller failure
| 160 | EGTS_PC_MODULE_SW_FLT | module program failure
| 161 | EGTS_PC_MODULE_FW_FLT | module internal software failure
| 162 | EGTS_PC_MODULE_IO_FLT | module I/O unit failure
| 163 | EGTS_PC_MODULE_MEM_FLT | module internal memory failure
| 164 | EGTS_PC_TEST_FAILED | test failed
|===

== Composition of EGTS_TELEDATA_SERVICE service
EGTS_TELEDATA_SERVICE service processes monitoring information from the subscriber's terminal.

.List of EGTS_TELEDATA_SERVICE service sub entries
[cols="^.^,<.^,<.^,^.^"]
[%autowidth]
|===
| Value | Marking | Description | Implemented
| 0  | EGTS_SR_RECORD_RESPONSE | It is used to carry out confirmation of receipt and transmission the results of the processing of the Tier service support | Y
| 16  | EGTS_SR_POS_DATA | Used by the subscriber terminal When transmitting basic data positioning | Y
| 17  | EGTS_SR_EXT_POS_DATA | Used by the subscriber terminal When transmitting additional data positioning | Y
| 18  | EGTS_SR_AD_SENSORS_DATA | It is used by the subscriber terminal to Transmission to the hardware and software information on the status of additional discrete and analog inputs | Y
| 19  | EGTS_SR_COUNTERS_DATA | It is used by the hardware and software The hardware and software system transmits to the subscriber's terminal with data about the values of the counting inputs | Y
| 20  | EGTS_SR_STATE_DATA | It is used to transmit to the hardware and software complex information about the status of the subscriber's terminal | Y
| 22  | EGTS_SR_LOOPIN_DATA | It is used by the subscriber terminal to Transmission to the hardware and software complex complex data on the status of loop inputs. | N
| 23  | EGTS_SR_ABS_DIG_SENS_DATA | It is used by the subscriber terminal to Transmission to the hardware and software complex complex data on the state of one digital input. | N
| 24  | EGTS_SR_ABS_AN_SENS_DATA | It is used by the subscriber terminal to Transmission to the hardware and software complex complex data on the state of one analog input. | Y
| 25  | EGTS_SR_ABS_CNTR_DATA | It is used by the subscriber terminal to Transmission to the hardware and software complex complex data on the state of one counting input. | Y
| 26  | EGTS_SR_ABS_LOOPIN_DATA | It is used by the subscriber terminal to Transmission to the hardware and software complex data on the status of a single loop input. | N
| 27  | EGTS_SR_LIQUID_LEVEL_SENSOR | It is used by the subscriber terminal to Transmission to the hardware and software complex Data on DUH readings is transmitted by the subscriber terminal. | Y
| 28  | EGTS_SR_PASSENGERS_COUNTERS | It is used by the subscriber terminal to transmit to the hardware and software complex data on counter readings of passenger traffic. | N
|===

== EGTS_SR_POS_DATA sub record structure
.Subrecord format EGTS_SR_POS_DATA of EGTS_TELEDATA_SERVICE service
[cols="^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^,^.^"]
[%autowidth]
|===
| bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | M/O | Type | Size (byte)
8+| NTM (Navigation Time) | M | UINT | 4
8+| LAT (Latitude) | M | UINT | 4
8+| LONG (Longitude) | M | UINT | 4
8+| FLG (Flags) .2+| M .2+| BYTE .2+| 1
| ALTE | LOHS | LAHS | MV | BB | CS | FIX | VLD
8+| SPD (Speed) low bits .2+| M .2+| USHORT .2+| 2
| DIRH | ALTS 6+| SPD (Speed) high bits
8+| DIR (Direction) | M | BYTE | 1
8+| ODM (Odometer) | M | BINARY | 3
8+| DIN (Digital Inputs) | M | BYTE | 1
8+| SRC (Source) | M | BYTE | 1
8+| ALT (Altitude)  | O | BINARY | 3
8+| SRCD (Source Data) | O | SHORT | 2
|===
- NTM - navigation time (number of seconds since 00:00:00 01.01.2010 UTC);
- LAT - latitude modulo, degrees/90 - 0xFFFFFFFFFFFF and the integer part is taken;
- LONG - longitude modulo, degrees/180 - 0xFFFFFFFFFFFF and integer part taken;
- FLG - defines additional parameters of the navigation parcel;
- ALTE - bit flag defines presence of ALT field in the subrecord:
** 1 - ALT field is transmitted;
** 0 - is not transmitted;
- LOHS - bit flag defines hemisphere longitude:
** 0 - eastern longitude:
** 1 - west longitude;
- LAHS - the bit flag defines the hemisphere of latitude:
** 0 - north latitude;
** 1 - south latitude;
- MV - bit flag, motion feature:
** 1 - movement;
** 0 - vehicle is in parking mode;
- BB - bit flag, sign of sending data from memory ("black box"):
** 0 - actual data;
** 1 - data from memory ("black box");
- FIX - bit field, type of coordinate determination:
** 0 - 2D fix;
** 1 - 3D fix;
- CS - bit field, type of the system used:
** 0 - WGS-84 coordinate system;
** 1 - state geocentric coordinate system (PZ-90.02);
- VLD - bit flag, sign of "validity" of coordinate data:
** 1 - "valid" data;
** 0 - "invalid" data;
- SPD - speed in km/h with a resolution of 0,1 km/h (14 low bits are used);
- ALTS - (Altitude Sign) bit flag, defines the altitude relative to sea level and has a meaning  only when ALTE flag is set:
** 0 - point above sea level;
** 1 - below sea level;
- DIRH - (Direction the Highest bit) the highest bit (8) of the DIR parameter;
- DIR - direction of movement. Defined as the angle in degrees which is counted clockwise  clockwise between the North direction of geographic meridian and direction of movement at measurement point (additionally the most significant bit is in the DIRH field);
- ODM - traveled distance (mileage) in km, in increments of 0.1 km;
- DIN - bit flags, determine the state of main discrete inputs 1 ... 8 (if the bit is 1, the corresponding input is active, if 0, it is inactive). This field is included for convenience of use and traffic saving when working in the transport monitoring systems of the basic level;
- SRC - defines the source (event) which initiated sending of this navigation information (the information is presented in Table N 3);
- ALT - altitude above sea level, m (optional parameter, availability of which is determined by the ALTE bit flag);
- SRCD - data characterizing the source (event) from the SRC field. Presence and interpretation of the value of this field is determined by the SRC field.

.List of sources of EGTS_TELEDATA_SERVICE coordinate data parcels
[cols="^.^,<.^"]
[%autowidth]
|===
| Code | Description
| 0 | timer when the ignition is on
| 1 | covered distance
| 2 | exceeding the set value of the rotation angle
| 3 | response to a request
| 4 | change in the state of input X
| 5 | timer when the ignition is off
| 6 | disconnecting peripheral equipment
| 7 | exceeding one of the preset speed thresholds
| 8 | restart of the central processor (restart)
| 9 | Y output overload
| 10 | tamper switch is triggered
| 11 | switching to backup power / disconnecting external power
| 12 | the backup power supply voltage drops below the threshold value
| 13 | the "panic button" has been pressed
| 14 | request to establish a voice connection with the operator
| 15 | emergency call
| 16 | appearance of data from an external service
| 17 | reserved
| 18 | reserved
| 19 | backup battery failure
| 20 | rapid acceleration
| 21 | sudden braking
| 22 | disconnection or malfunction of the navigation module
| 23 | disconnection or malfunction of the automatic identification sensor accident events
| 24 | GSM/UMTS antenna failure or malfunction
| 25 | disconnection or malfunction of the navigation system antenna
| 26 | reserved
| 27 | speed drop below one of the preset thresholds
| 28 | moving when the ignition is off
| 29 | timer in "emergency tracking" mode
| 30 | start/end of navigation
| 31 | "unstable navigation" (exceeding the interruption frequency threshold navigation mode when the ignition is on or the emergency mode tracking mode)
| 32 | setting up an IP connection
| 33 | unstable registration in the mobile radio telephone network
| 34 | "unstable communication" (exceeding the frequency threshold The following table describes the labels in this manual and the labels in this manual or emergency tracking mode)
| 35 | change of operation
|===

Documentation

Overview

Packet egts implements EGTS (Era Glonass Telematics Standard) - telematic data transmission standard developed by the Government of the Russian Federation and approved by Order #285 of the Ministry of Transport of July 31, 2012

http://docs.cntd.ru/document/1200095098 EGTS_PACKET { _EGTS_PACKET_HEADER __SFRD - data structure, depending on the type of package EGTS_PACKET_HEADER.PT __SFRCS - checksum SFRD CRC-16 } The total length of the Transport Layer Protocol packet does not exceed 65535 bytes https://github.com/LdDl/go-egts/blob/master/docs_rus/egts.txt

Packet nv is a generated protocol buffer package.

It is generated from these files:

egts_sr_egtsplus_data.proto

It has these top-level messages:

StorageRecord
SensAccelerometerData
SensAinAinValue
SensBufferData
SensButtonPressCounter
SensCanLogData
ToProtobufRec
SensCounterCount
SensCrashData
SensDinsFlags
SensDoutsFlags
SensFmeterFrequency
SensFuelLevel
SensGsmCellMonotoringCellMonitoring
SensNdNavData
SensStorInfo
SensTermoData
SensTestEraTests
SensTrackerInfo

Index

Constants

View Source
const (
	SrRecordResponseType     byte = 0  // SrRecordResponseType is subrecord code of SR_RECORD_RESPONSE.
	SrTermIdentityType       byte = 1  // SrTermIdentityType is subrecord code of SR_TERM_IDENTITY.
	SrModuleDataType         byte = 2  // SrModuleDataType is subrecord code of SR_MODULE_DATA.
	SrDispatcherIdentityType byte = 5  // SrDispatcherIdentityType is subrecord code of SR_DISPATCHER_IDENTITY.
	SrAuthInfoType           byte = 7  // SrAuthInfoType is subrecord code of SR_AUTH_INFO.
	SrResultCodeType         byte = 9  // SrResultCodeType is subrecord code of SR_RESULT_CODE.
	SrEgtsPlusDataType       byte = 15 // SrEgtsPlusDataType is subrecord code of SR_PLUS_DATA.
	SrPosDataType            byte = 16 // SrPosDataType is subrecord code of SR_POS_DATA.
	SrExtPosDataType         byte = 17 // SrExtPosDataType is subrecord code of SR_EXT_POS_DATA.
	SrAdSensorsDataType      byte = 18 // SrAdSensorsDataType is subrecord code of SR_AD_SENSORS_DATA.
	SrCountersDataType       byte = 19 // SrCountersDataType is subrecord code of SR_COUNTERS_DATA.
	SrType20                 byte = 20 // SrType20 depending on the length may contain SR_STATE_DATA section (
	// if 5 bytes long) or SR_ACCEL_DATA.
	SrStateDataType          byte = 21 // SrStateDataType is subrecord code of SR_STATE_DATA.
	SrLoopinDataType         byte = 22 // SrLoopinDataType is subrecord code of SR_TERM_IDENTITY_TYPE ToDo check.
	SrAbsDigSensDataType     byte = 23 // SrAbsDigSensDataType is subrecord code of SR_ABS_DIG_SENS_DATA.
	SrAbsAnSensDataType      byte = 24 // SrAbsAnSensDataType is subrecord code of SR_ABS_AN_SENS_DATA.
	SrAbsCntrDataType        byte = 25 // SrAbsCntrDataType is subrecord code of SR_ABS_CNTR_DATA.
	SrAbsLoopinDataType      byte = 26 // SrAbsLoopinDataType is subrecord code of SR_ABS_LOOPIN_DATA.
	SrLiquidLevelSensorType  byte = 27 // SrLiquidLevelSensorType код is subrecord code of SR_LIQUID_LEVEL_SENSOR.
	SrPassengersCountersType byte = 28 // SrPassengersCountersType is subrecord code of SR_PASSENGERS_COUNTERS.
)

SubRecord Types.

View Source
const (
	// PtResponsePacket code of PT_RESPONSE type packet.
	PtResponsePacket byte = iota
	// PtAppdataPacket code of PT_APP_DATA type packet.
	PtAppdataPacket
	// PtSignedAppdataPacket code of PT_SIGNED_APPDATA type packet.
	PtSignedAppdataPacket
)

Packet types.

View Source
const (
	UndefinedService byte = iota
	// AuthService is service type of AUTH_SERVICE.
	AuthService
	// TeledataService is service type of TELEDATA_SERVICE.
	TeledataService
)

Service types.

View Source
const (
	EgtsPcOk             = uint8(0)   // код сообщения, что пакет успешно обработано
	EgtsPcInProgress     = uint8(1)   // код сообщения, что пакет в процессе обработки
	EgtsPcUnsProtocol    = uint8(128) // неподдерживаемый протокол
	EgtsPcDecryptError   = uint8(129) // ошибка декодирования
	EgtsPcProcDenied     = uint8(130) // обработка запрещена
	EgtsPcIncHeaderform  = uint8(131) // неверный формат заголовка
	EgtsPcIncDataform    = uint8(132) // неверный формат данных
	EgtsPcUnsType        = uint8(133) // EgtsPcUnsType неподдерживаемый тип
	EgtsPcNotenParams    = uint8(134) // неверное количество параметров
	EgtsPcDblProc        = uint8(135) // попытка повторной обработки
	EgtsPcProcSrcDenied  = uint8(136) // обработка данных от источника запрещена
	EgtsPcHeaderCrcError = uint8(137) // ошибка контрольной суммы заголовка
	EgtsPcDatacrcError   = uint8(138) // ошибка контрольной суммы данных
	EgtsPcInvdatalen     = uint8(139) // некорректная длина данных
	EgtsPcRouteNfound    = uint8(140) // маршрут не найден
	EgtsPcRouteClosed    = uint8(141) // маршрут закрыт
	EgtsPcRouteDenied    = uint8(142) // маршрутизация запрещена
	EgtsPcInvaddr        = uint8(143) // неверный адрес
	EgtsPcTtlexpired     = uint8(144) // превышено количество ретрансляции данных
	EgtsPcNoAck          = uint8(145) // нет подтверждения
	EgtsPcObjNfound      = uint8(146) // объект не найден
	EgtsPcEvntNfound     = uint8(147) // событие не найдено
	EgtsPcSrvcNfound     = uint8(148) // сервис не найден
	EgtsPcSrvcDenied     = uint8(149) // сервис запрещён
	EgtsPcSrvcUnkn       = uint8(150) // неизвестный тип сервиса
	EgtsPcAuthPenied     = uint8(151) // авторизация запрещена
	EgtsPcAlreadyExists  = uint8(152) // объект уже существует
	EgtsPcIDNfound       = uint8(153) // идентификатор не найден
	EgtsPcIncDatetime    = uint8(154) // неправильная дата и время
	EgtsPcIoError        = uint8(155) // ошибка ввода/вывода
	EgtsPcNoResAvail     = uint8(156) // недостаточно ресурсов
	EgtsPcModuleFault    = uint8(157) // внутренний сбой модуля
	EgtsPcModulePwrFlt   = uint8(158) // сбой в работе цепи питания модуля
	EgtsPcModuleProcFlt  = uint8(159) // сбой в работе микроконтроллера модуля
	EgtsPcModuleSwFlt    = uint8(160) // сбой в работе программы модуля
	EgtsPcModuleFwFlt    = uint8(161) // сбой в работе внутреннего ПО модуля
	EgtsPcModuleIoFlt    = uint8(162) // сбой в работе блока ввода/вывода модуля
	EgtsPcModuleMemFlt   = uint8(163) // сбой в работе внутренней памяти модуля
	EgtsPcTestFailed     = uint8(164) // тест не пройден
)
View Source
const (
	// LOHSEast is the east longitude of the WGS84 reference point.
	LOHSEast = "0"
	// LOHSWest is the west longitude of the WGS84 reference point.
	LOHSWest = "1"
	// LAHSNorth is the north latitude of the WGS84 reference point.
	LAHSNorth = "0"
	// LAHSSouth is the south latitude of the WGS84 reference point.
	LAHSSouth = "1"
	// MVParking is the parking state of the vehicle.
	MVParking = "0"
	// MVMoving is the moving state of the vehicle.
	MVMoving = "1"
	// BBActual is the actual coordinates of the vehicle.
	BBActual = "0"
	// BBMemory is the coordinates of the vehicle from black box memory.
	BBMemory = "1"
	// FIX2D is the 2D coordinates.
	FIX2D = "0"
	// FIX3D is the 3D coordinates.
	FIX3D = "1"
	// CSWGS84 is the WGS84 coordinates.
	CSWGS84 = "0"
	// CSPZ90 is the PZ90 coordinates.
	CSPZ90 = "1"
	// VLDInvalid marks that coordinates are not valid.
	VLDInvalid = "0"
	// VLDValid marks that coordinates are valid.
	VLDValid = "1"
	// ALTSAboveSea is the altitude above sea level.
	ALTSAboveSea = 0
	// ALTSBelowSea is the altitude below sea level.
	ALTSBelowSea = 1
)
View Source
const (
	// DefaultHeaderLen is default header length for EGTS protocol.
	DefaultHeaderLen = 11
)
View Source
const (
	// Delimiter is the delimiter used in the EGTS packet.
	Delimiter = uint8(0)
)

Variables

View Source
var (
	// ErrSecretKey represents the error of secret key is nil.
	ErrSecretKey = errors.New("package is encrypted but secret key is nil")
)
View Source
var StorageRecordReason_name = map[int32]string{
	1:  "DEVICE_RESET",
	2:  "PROFILE_CHANGE",
	3:  "IGNITION_ON",
	4:  "IGNITION_OFF",
	5:  "TRIP_BEGIN",
	6:  "TRIP_END",
	7:  "STOP",
	8:  "MOVE",
	9:  "TOWING_BEGIN",
	10: "TOWING_END",
	11: "TIMER_MOVE",
	12: "TIMER_STOP",
	13: "ANGLE",
	14: "DISTANCE",
	15: "SOS_BUTTON",
	16: "SERVICE_BUTTON",
	17: "TAMPER",
	18: "ANTENNA_SWITCH",
	19: "GSM_LOST",
	20: "GSM_RECONNECT",
	21: "GNSS_LOST",
	22: "GNSS_REAQUISITION",
	23: "JAMMER_GSM",
	24: "JAMMER_GNSS",
	25: "OVER_SPEED",
	26: "OVER_RPM",
	27: "OVER_TEMPERATURE",
	28: "DANGEROUS_DRIVING",
	29: "ACCIDENT",
	30: "OVERTHROW",
	31: "ON_BATTERY",
	32: "BATTERY_DISCHARGE",
	33: "RADIO_TAG_REG",
	34: "RADIO_TAG_UNREG",
	35: "MOVE_WITHOUT_RADIO_TAG",
	36: "ECU_ERROR_CODE",
	37: "EXTERNAL_REQUEST",
	38: "DEVICE_TEST",
	99: "OTHER_REASON",
}
View Source
var StorageRecordReason_value = map[string]int32{
	"DEVICE_RESET":           1,
	"PROFILE_CHANGE":         2,
	"IGNITION_ON":            3,
	"IGNITION_OFF":           4,
	"TRIP_BEGIN":             5,
	"TRIP_END":               6,
	"STOP":                   7,
	"MOVE":                   8,
	"TOWING_BEGIN":           9,
	"TOWING_END":             10,
	"TIMER_MOVE":             11,
	"TIMER_STOP":             12,
	"ANGLE":                  13,
	"DISTANCE":               14,
	"SOS_BUTTON":             15,
	"SERVICE_BUTTON":         16,
	"TAMPER":                 17,
	"ANTENNA_SWITCH":         18,
	"GSM_LOST":               19,
	"GSM_RECONNECT":          20,
	"GNSS_LOST":              21,
	"GNSS_REAQUISITION":      22,
	"JAMMER_GSM":             23,
	"JAMMER_GNSS":            24,
	"OVER_SPEED":             25,
	"OVER_RPM":               26,
	"OVER_TEMPERATURE":       27,
	"DANGEROUS_DRIVING":      28,
	"ACCIDENT":               29,
	"OVERTHROW":              30,
	"ON_BATTERY":             31,
	"BATTERY_DISCHARGE":      32,
	"RADIO_TAG_REG":          33,
	"RADIO_TAG_UNREG":        34,
	"MOVE_WITHOUT_RADIO_TAG": 35,
	"ECU_ERROR_CODE":         36,
	"EXTERNAL_REQUEST":       37,
	"DEVICE_TEST":            38,
	"OTHER_REASON":           99,
}

Functions

func CRC16

func CRC16(data []byte) uint16

CRC16 calculates the CRC-16 checksum of the data.

func CRC8

func CRC8(data []byte) byte

CRC8 calculates the CRC-8 checksum of the data.

Types

type BinaryData

type BinaryData interface {
	// Decode parses the set of bytes into the packet structure.
	Decode([]byte) error
	// Encode encodes the packet structure into the set of bytes.
	Encode() ([]byte, error)
	// Length returns the length of the binary data.
	Length() uint16
}

BinaryData interface for working with binary sections.

type Options

type Options struct {
	Secret SecretKey
}

Options is struct for options of decode/encode operations.

type Packet added in v0.0.3

type Packet struct {
	// ProtocolVersion (PRV) parameter contains the value 0x01.
	// The value of this parameter is incremented every time you change the header structure.
	ProtocolVersion byte `json:"PRV"`
	// SecurityKeyID (SKID) parameter defines the identifier of the key used for encryption.
	SecurityKeyID byte `json:"SKID"`
	// Prefix (PRF) parameter defines the Transport layer header prefix and contains the value 00.
	Prefix string `json:"PRF"`
	// Route (RTE) field determines the need for further routing of this packet to the
	// remote hardware and software complex, as well as the presence of optional parameters PRA, RCA, TTL,
	// necessary for routing this packet. If the field is 1, then routing is required and the PRA, RCA,
	// TTL fields are present in the packet. This field sets the Dispatcher of the hardware and software complex on
	// which the packet was generated,
	// or the subscriber terminal that generated the packet for sending to the hardware and software complex,
	// in case it is set to the parameter "HOME_DISPATCHER_ID",
	// defining the address of the hardware and software complex on which this subscriber terminal is registered.
	Route string `json:"RTE"`
	// EncryptionAlg (ENA) field specifies the algorithm code used to encrypt data from the SFRD field.
	// If the field is 00, the data in the SFRD field is not encrypted.
	EncryptionAlg string `json:"ENA"`
	// Compression (CMP) field determines whether data from the SFRD field is compressed.
	// If the field is set to 1, the data in the SFRD field is considered compressed.
	Compression string `json:"CMP"`
	// Priority (PR) field determines the routing priority of this packet and can take the following values:
	// 00 - highest,
	// 01 - high,
	// 10 - average,
	// 11 - low.
	// When a packet is received,
	// Dispatcher routes a packet with a higher priority faster than packets with a lower priority.
	Priority string `json:"PR"`
	// HeaderLength (HL) field is the length of the Transport Layer header in bytes,
	// including the checksum byte (HCS fields).
	HeaderLength byte `json:"HL"`
	// HeaderEncoding (HE) field defines the encoding method used for the next part of the Transport Layer Header
	// following this parameter.
	HeaderEncoding byte `json:"HE"`
	// FrameDataLength (FDL) field specifies the size in bytes of the SFRD data field containing Service Level Support
	// protocol information.
	FrameDataLength uint16 `json:"FDL"`
	// PacketIdentifier (PID) field contains the Transport Layer packet number,
	// increasing by 1 with each new packet sent on the sender side.
	// The values in this field change according to cyclic counter rules in the range from 0 to 65535,
	// i.e. when the value 65535 is reached the next value is 0.
	PacketIdentifier uint16 `json:"PID"`
	// PacketType (PT) field is the packet type of the Transport Layer. The PT field can take the following values.
	// 0 - EGTS_PT_RESPONSE (acknowledgement on Transport Layer packet);
	// 1 - EGTS_PT_APPDATA (packet containing Service Level Support Protocol data);
	// 2 - EGTS_PT_SIGNED_APPDATA (packet containing Service Level Support Protocol data with digital signature).
	PacketType byte `json:"PT"`
	// PeerAddress (PRA) field is the address of the hardware and software complex on which this packet
	// generated. This address is unique within the network and is used to create a confirmation packet on the
	// receiving side.
	PeerAddress uint16 `json:"PRA"`
	// RecipientAddress (RCA) field - the address of the hardware and software complex,
	// for which the package is intended. At this address the identification of the package belonging to a
	// particular hardware and software complex and its routing when using the intermediate hardware and software
	// complexes.
	RecipientAddress uint16 `json:"RCA"`
	// ThTimeToLive (TTL) field is the packet lifetime when routing between hardware and software complexes.
	// Using this parameter prevents the packet from looping during retransmission in systems with a complex
	// topology of address points. The TTL is initially set by the hardware and software complex that generated the
	// packet. The TTL value is set equal to the maximum allowed number of hardware and software complexes between
	// the sending and receiving hardware and software complexes.
	// The TTL value decreases by one when a packet is transmitted through each hardware and software complex,
	// and the Transport Layer Header checksum is recalculated.
	// When this parameter reaches a value of 0 and when it is found necessary to further route the packet is
	// destroyed and the corresponding code PC_TTLEXPIRED is generated.
	TimeToLive byte `json:"TTL"`
	// HeaderCheckSum (HCS) field is the checksum of the Transport Layer Header (
	// from the "PRV" field to the "HCS" field, not including the "HCS" field).
	// The CRC-8 algorithm is applied to all bytes of the specified sequence to calculate the value of the HCS field.
	HeaderCheckSum byte `json:"HCS"`
	// ServicesFrameData (SFRD) field is a packet type-dependent data structure containing Service Level Support
	// Protocol information.
	ServicesFrameData BinaryData `json:"SFRD"`
	// ServicesFrameDataCheckSum (SFRCS) field is the checksum of the Service Support Protocol level field.
	// To calculate the checksum on data from the SFRD field,
	// the CRC-16 algorithm is used. This field is present only if the SFRD field is present.
	ServicesFrameDataCheckSum uint16 `json:"SFRCS"`
	// ErrorCode contains result of decode package.
	ErrorCode uint8 `json:"-"`
}

Packet structure describes of the EGTS packet. The Transport Layer Protocol header consists of the following fields: PRV, PRF, PR, CMP, ENA, RTE, HL, HE, FDL, PID, PT, PRA, RCA, TTL, HCS. The Service Support Layer protocol is represented by the SFRD field, the checksum of the Service Support Layer field is contained in the SFRCS field.

func (*Packet) Decode added in v0.0.3

func (p *Packet) Decode(content []byte, opt ...func(*Options)) error

Decode parses the set of bytes into the packet structure.

func (*Packet) Encode added in v0.0.3

func (p *Packet) Encode(opt ...func(*Options)) ([]byte, error)

Encode encodes the string into a byte slice.

func (*Packet) MarshalJSON added in v0.0.3

func (p *Packet) MarshalJSON() ([]byte, error)

MarshalJSON translates the package into json. Use it to get simple text representation of the package content.

func (*Packet) Response added in v0.0.3

func (p *Packet) Response() ([]byte, error)

Response prepares response for incoming packet.

type PtResponse

type PtResponse struct {
	ResponsePacketID uint16     `json:"RPID"`
	ProcessingResult uint8      `json:"PR"`
	SDR              BinaryData `json:"SDR"`
}

PtResponse substructure of EGTS_PT_RESPONSE type.

func (*PtResponse) Decode

func (s *PtResponse) Decode(content []byte) error

Decode decodes the bytes into EGTS_PT_RESPONSE type struct.

func (*PtResponse) Encode

func (s *PtResponse) Encode() ([]byte, error)

Encode encodes the EGTS_PT_RESPONSE type struct into bytes.

func (*PtResponse) Length

func (s *PtResponse) Length() uint16

Length returns the length of the EGTS_PT_RESPONSE type struct.

type RecordData

type RecordData struct {
	SubrecordType   byte       `json:"SRT"`
	SubrecordLength uint16     `json:"SRL"`
	SubrecordData   BinaryData `json:"SRD"`
}

RecordData structure of the sub-section of the ServiceDataRecord record.

type RecordDataSet

type RecordDataSet []RecordData

RecordDataSet describes an array with subrecords of the EGTS protocol.

func (*RecordDataSet) Decode

func (rds *RecordDataSet) Decode(recDS []byte) error

Decode parses the set of bytes into RecordDataSet structure.

func (*RecordDataSet) Encode

func (rds *RecordDataSet) Encode() ([]byte, error)

Encode returns the set of bytes of the RecordDataSet structure.

func (*RecordDataSet) Length

func (rds *RecordDataSet) Length() uint16

Length returns the length of the RecordDataSet structure.

type SecretKey

type SecretKey interface {
	Decode([]byte) ([]byte, error)
	Encode(data []byte) ([]byte, error)
}

SecretKey is interface for secret key.

type SensAccelerometerData

type SensAccelerometerData struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	Buf              []byte  `protobuf:"bytes,2,opt,name=buf" json:"buf,omitempty"`
	Atm              *uint32 `protobuf:"varint,3,opt,name=atm" json:"atm,omitempty"`
	Frequency        *uint32 `protobuf:"varint,4,opt,name=frequency" json:"frequency,omitempty"`
	Range            *uint32 `protobuf:"varint,5,opt,name=range" json:"range,omitempty"`
	Format           *uint32 `protobuf:"varint,6,opt,name=format" json:"format,omitempty"`
	Zlib             *uint32 `protobuf:"varint,7,opt,name=zlib" json:"zlib,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Датчик ускорения

func (*SensAccelerometerData) Descriptor

func (*SensAccelerometerData) Descriptor() ([]byte, []int)

func (*SensAccelerometerData) GetAtm

func (m *SensAccelerometerData) GetAtm() uint32

func (*SensAccelerometerData) GetBuf

func (m *SensAccelerometerData) GetBuf() []byte

func (*SensAccelerometerData) GetFormat

func (m *SensAccelerometerData) GetFormat() uint32

func (*SensAccelerometerData) GetFrequency

func (m *SensAccelerometerData) GetFrequency() uint32

func (*SensAccelerometerData) GetRange

func (m *SensAccelerometerData) GetRange() uint32

func (*SensAccelerometerData) GetSensNum

func (m *SensAccelerometerData) GetSensNum() uint32

func (*SensAccelerometerData) GetZlib

func (m *SensAccelerometerData) GetZlib() uint32

func (*SensAccelerometerData) ProtoMessage

func (*SensAccelerometerData) ProtoMessage()

func (*SensAccelerometerData) Reset

func (m *SensAccelerometerData) Reset()

func (*SensAccelerometerData) String

func (m *SensAccelerometerData) String() string

type SensAinAinValue

type SensAinAinValue struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	Mv               *uint32 `protobuf:"varint,2,opt,name=mv" json:"mv,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Аналоговый вход

func (*SensAinAinValue) Descriptor

func (*SensAinAinValue) Descriptor() ([]byte, []int)

func (*SensAinAinValue) GetMv

func (m *SensAinAinValue) GetMv() uint32

func (*SensAinAinValue) GetSensNum

func (m *SensAinAinValue) GetSensNum() uint32

func (*SensAinAinValue) ProtoMessage

func (*SensAinAinValue) ProtoMessage()

func (*SensAinAinValue) Reset

func (m *SensAinAinValue) Reset()

func (*SensAinAinValue) String

func (m *SensAinAinValue) String() string

type SensBufferData

type SensBufferData struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	Data             []byte  `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"`
	IsPacked         *bool   `protobuf:"varint,3,opt,name=is_packed,json=isPacked" json:"is_packed,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Буферизованные данные

func (*SensBufferData) Descriptor

func (*SensBufferData) Descriptor() ([]byte, []int)

func (*SensBufferData) GetData

func (m *SensBufferData) GetData() []byte

func (*SensBufferData) GetIsPacked

func (m *SensBufferData) GetIsPacked() bool

func (*SensBufferData) GetSensNum

func (m *SensBufferData) GetSensNum() uint32

func (*SensBufferData) ProtoMessage

func (*SensBufferData) ProtoMessage()

func (*SensBufferData) Reset

func (m *SensBufferData) Reset()

func (*SensBufferData) String

func (m *SensBufferData) String() string

type SensButtonPressCounter

type SensButtonPressCounter struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	State            *bool   `protobuf:"varint,2,opt,name=state" json:"state,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Кнопка

func (*SensButtonPressCounter) Descriptor

func (*SensButtonPressCounter) Descriptor() ([]byte, []int)

func (*SensButtonPressCounter) GetSensNum

func (m *SensButtonPressCounter) GetSensNum() uint32

func (*SensButtonPressCounter) GetState

func (m *SensButtonPressCounter) GetState() bool

func (*SensButtonPressCounter) ProtoMessage

func (*SensButtonPressCounter) ProtoMessage()

func (*SensButtonPressCounter) Reset

func (m *SensButtonPressCounter) Reset()

func (*SensButtonPressCounter) String

func (m *SensButtonPressCounter) String() string

type SensCanLogData

type SensCanLogData struct {
	SensNum            *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	FlagSecurityState  *uint32 `protobuf:"varint,2,opt,name=flag_security_state,json=flagSecurityState" json:"flag_security_state,omitempty"`
	FlagAlarm          *uint32 `protobuf:"varint,3,opt,name=flag_alarm,json=flagAlarm" json:"flag_alarm,omitempty"`
	EngineTimeAll      *uint32 `protobuf:"varint,4,opt,name=engine_time_all,json=engineTimeAll" json:"engine_time_all,omitempty"`
	EngineTurnSpeed    *uint32 `protobuf:"varint,5,opt,name=engine_turn_speed,json=engineTurnSpeed" json:"engine_turn_speed,omitempty"`
	EngineTemperature  *int32  `protobuf:"zigzag32,6,opt,name=engine_temperature,json=engineTemperature" json:"engine_temperature,omitempty"`
	FuelConsumptionAll *uint32 `protobuf:"varint,7,opt,name=fuel_consumption_all,json=fuelConsumptionAll" json:"fuel_consumption_all,omitempty"`
	FuelLevel          *uint32 `protobuf:"varint,8,opt,name=fuel_level,json=fuelLevel" json:"fuel_level,omitempty"`
	TrackAll           *uint32 `protobuf:"varint,9,opt,name=track_all,json=trackAll" json:"track_all,omitempty"`
	Speed              *uint32 `protobuf:"varint,10,opt,name=speed" json:"speed,omitempty"`
	PressureAxis_1     *uint32 `protobuf:"varint,11,opt,name=pressure_axis_1,json=pressureAxis1" json:"pressure_axis_1,omitempty"`
	PressureAxis_2     *uint32 `protobuf:"varint,12,opt,name=pressure_axis_2,json=pressureAxis2" json:"pressure_axis_2,omitempty"`
	PressureAxis_3     *uint32 `protobuf:"varint,13,opt,name=pressure_axis_3,json=pressureAxis3" json:"pressure_axis_3,omitempty"`
	PressureAxis_4     *uint32 `protobuf:"varint,14,opt,name=pressure_axis_4,json=pressureAxis4" json:"pressure_axis_4,omitempty"`
	PressureAxis_5     *uint32 `protobuf:"varint,15,opt,name=pressure_axis_5,json=pressureAxis5" json:"pressure_axis_5,omitempty"`
	XXX_unrecognized   []byte  `json:"-"`
}

CANLog

func (*SensCanLogData) Descriptor

func (*SensCanLogData) Descriptor() ([]byte, []int)

func (*SensCanLogData) GetEngineTemperature

func (m *SensCanLogData) GetEngineTemperature() int32

func (*SensCanLogData) GetEngineTimeAll

func (m *SensCanLogData) GetEngineTimeAll() uint32

func (*SensCanLogData) GetEngineTurnSpeed

func (m *SensCanLogData) GetEngineTurnSpeed() uint32

func (*SensCanLogData) GetFlagAlarm

func (m *SensCanLogData) GetFlagAlarm() uint32

func (*SensCanLogData) GetFlagSecurityState

func (m *SensCanLogData) GetFlagSecurityState() uint32

func (*SensCanLogData) GetFuelConsumptionAll

func (m *SensCanLogData) GetFuelConsumptionAll() uint32

func (*SensCanLogData) GetFuelLevel

func (m *SensCanLogData) GetFuelLevel() uint32

func (*SensCanLogData) GetPressureAxis_1

func (m *SensCanLogData) GetPressureAxis_1() uint32

func (*SensCanLogData) GetPressureAxis_2

func (m *SensCanLogData) GetPressureAxis_2() uint32

func (*SensCanLogData) GetPressureAxis_3

func (m *SensCanLogData) GetPressureAxis_3() uint32

func (*SensCanLogData) GetPressureAxis_4

func (m *SensCanLogData) GetPressureAxis_4() uint32

func (*SensCanLogData) GetPressureAxis_5

func (m *SensCanLogData) GetPressureAxis_5() uint32

func (*SensCanLogData) GetSensNum

func (m *SensCanLogData) GetSensNum() uint32

func (*SensCanLogData) GetSpeed

func (m *SensCanLogData) GetSpeed() uint32

func (*SensCanLogData) GetTrackAll

func (m *SensCanLogData) GetTrackAll() uint32

func (*SensCanLogData) ProtoMessage

func (*SensCanLogData) ProtoMessage()

func (*SensCanLogData) Reset

func (m *SensCanLogData) Reset()

func (*SensCanLogData) String

func (m *SensCanLogData) String() string

type SensCanLogTmpDataExt

type SensCanLogTmpDataExt struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	FlagsHigh        *uint32 `protobuf:"varint,2,opt,name=flags_high,json=flagsHigh" json:"flags_high,omitempty"`
	FlagsLow         *uint32 `protobuf:"varint,3,opt,name=flags_low,json=flagsLow" json:"flags_low,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Расширение CANLog

func (*SensCanLogTmpDataExt) Descriptor

func (*SensCanLogTmpDataExt) Descriptor() ([]byte, []int)

func (*SensCanLogTmpDataExt) GetFlagsHigh

func (m *SensCanLogTmpDataExt) GetFlagsHigh() uint32

func (*SensCanLogTmpDataExt) GetFlagsLow

func (m *SensCanLogTmpDataExt) GetFlagsLow() uint32

func (*SensCanLogTmpDataExt) GetSensNum

func (m *SensCanLogTmpDataExt) GetSensNum() uint32

func (*SensCanLogTmpDataExt) ProtoMessage

func (*SensCanLogTmpDataExt) ProtoMessage()

func (*SensCanLogTmpDataExt) Reset

func (m *SensCanLogTmpDataExt) Reset()

func (*SensCanLogTmpDataExt) String

func (m *SensCanLogTmpDataExt) String() string

type SensCounterCount

type SensCounterCount struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	Value            *uint32 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Счётчик

func (*SensCounterCount) Descriptor

func (*SensCounterCount) Descriptor() ([]byte, []int)

func (*SensCounterCount) GetSensNum

func (m *SensCounterCount) GetSensNum() uint32

func (*SensCounterCount) GetValue

func (m *SensCounterCount) GetValue() uint32

func (*SensCounterCount) ProtoMessage

func (*SensCounterCount) ProtoMessage()

func (*SensCounterCount) Reset

func (m *SensCounterCount) Reset()

func (*SensCounterCount) String

func (m *SensCounterCount) String() string

type SensCrashData

type SensCrashData struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	Energy           *uint32 `protobuf:"varint,2,opt,name=energy" json:"energy,omitempty"`
	IsOverturned     *bool   `protobuf:"varint,3,opt,name=is_overturned,json=isOverturned" json:"is_overturned,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Датчик аварии

func (*SensCrashData) Descriptor

func (*SensCrashData) Descriptor() ([]byte, []int)

func (*SensCrashData) GetEnergy

func (m *SensCrashData) GetEnergy() uint32

func (*SensCrashData) GetIsOverturned

func (m *SensCrashData) GetIsOverturned() bool

func (*SensCrashData) GetSensNum

func (m *SensCrashData) GetSensNum() uint32

func (*SensCrashData) ProtoMessage

func (*SensCrashData) ProtoMessage()

func (*SensCrashData) Reset

func (m *SensCrashData) Reset()

func (*SensCrashData) String

func (m *SensCrashData) String() string

type SensDinsFlags

type SensDinsFlags struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	Device           *uint32 `protobuf:"varint,2,opt,name=device" json:"device,omitempty"`
	External         *uint32 `protobuf:"varint,3,opt,name=external" json:"external,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Цифровые входы

func (*SensDinsFlags) Descriptor

func (*SensDinsFlags) Descriptor() ([]byte, []int)

func (*SensDinsFlags) GetDevice

func (m *SensDinsFlags) GetDevice() uint32

func (*SensDinsFlags) GetExternal

func (m *SensDinsFlags) GetExternal() uint32

func (*SensDinsFlags) GetSensNum

func (m *SensDinsFlags) GetSensNum() uint32

func (*SensDinsFlags) ProtoMessage

func (*SensDinsFlags) ProtoMessage()

func (*SensDinsFlags) Reset

func (m *SensDinsFlags) Reset()

func (*SensDinsFlags) String

func (m *SensDinsFlags) String() string

type SensDoutsFlags

type SensDoutsFlags struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	Device           *uint32 `protobuf:"varint,2,opt,name=device" json:"device,omitempty"`
	External         *uint32 `protobuf:"varint,3,opt,name=external" json:"external,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Цифровые выходы

func (*SensDoutsFlags) Descriptor

func (*SensDoutsFlags) Descriptor() ([]byte, []int)

func (*SensDoutsFlags) GetDevice

func (m *SensDoutsFlags) GetDevice() uint32

func (*SensDoutsFlags) GetExternal

func (m *SensDoutsFlags) GetExternal() uint32

func (*SensDoutsFlags) GetSensNum

func (m *SensDoutsFlags) GetSensNum() uint32

func (*SensDoutsFlags) ProtoMessage

func (*SensDoutsFlags) ProtoMessage()

func (*SensDoutsFlags) Reset

func (m *SensDoutsFlags) Reset()

func (*SensDoutsFlags) String

func (m *SensDoutsFlags) String() string

type SensFmeterFrequency

type SensFmeterFrequency struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	Value            *uint32 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Частотомер

func (*SensFmeterFrequency) Descriptor

func (*SensFmeterFrequency) Descriptor() ([]byte, []int)

func (*SensFmeterFrequency) GetSensNum

func (m *SensFmeterFrequency) GetSensNum() uint32

func (*SensFmeterFrequency) GetValue

func (m *SensFmeterFrequency) GetValue() uint32

func (*SensFmeterFrequency) ProtoMessage

func (*SensFmeterFrequency) ProtoMessage()

func (*SensFmeterFrequency) Reset

func (m *SensFmeterFrequency) Reset()

func (*SensFmeterFrequency) String

func (m *SensFmeterFrequency) String() string

type SensFuelLevel

type SensFuelLevel struct {
	SensNum          *uint32  `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	Value            *float32 `protobuf:"fixed32,2,opt,name=value" json:"value,omitempty"`
	Parrots          *uint32  `protobuf:"varint,3,opt,name=parrots" json:"parrots,omitempty"`
	Unit             *uint32  `protobuf:"varint,4,opt,name=unit" json:"unit,omitempty"`
	T                *uint32  `protobuf:"varint,5,opt,name=t" json:"t,omitempty"`
	Status           *uint32  `protobuf:"varint,6,opt,name=status" json:"status,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

Датчик топлива

func (*SensFuelLevel) Descriptor

func (*SensFuelLevel) Descriptor() ([]byte, []int)

func (*SensFuelLevel) GetParrots

func (m *SensFuelLevel) GetParrots() uint32

func (*SensFuelLevel) GetSensNum

func (m *SensFuelLevel) GetSensNum() uint32

func (*SensFuelLevel) GetStatus

func (m *SensFuelLevel) GetStatus() uint32

func (*SensFuelLevel) GetT

func (m *SensFuelLevel) GetT() uint32

func (*SensFuelLevel) GetUnit

func (m *SensFuelLevel) GetUnit() uint32

func (*SensFuelLevel) GetValue

func (m *SensFuelLevel) GetValue() float32

func (*SensFuelLevel) ProtoMessage

func (*SensFuelLevel) ProtoMessage()

func (*SensFuelLevel) Reset

func (m *SensFuelLevel) Reset()

func (*SensFuelLevel) String

func (m *SensFuelLevel) String() string

type SensGsmCellMonotoringCellMonitoring

type SensGsmCellMonotoringCellMonitoring struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	Lac              []byte  `protobuf:"bytes,4,opt,name=lac" json:"lac,omitempty"`
	Cid              []byte  `protobuf:"bytes,5,opt,name=cid" json:"cid,omitempty"`
	Rssi             []byte  `protobuf:"bytes,6,opt,name=rssi" json:"rssi,omitempty"`
	TimeAdv          []byte  `protobuf:"bytes,7,opt,name=time_adv,json=timeAdv" json:"time_adv,omitempty"`
	Mcc              *uint32 `protobuf:"varint,2,opt,name=mcc" json:"mcc,omitempty"`
	Mnc              *uint32 `protobuf:"varint,3,opt,name=mnc" json:"mnc,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Информация о базовых станциях GSM

func (*SensGsmCellMonotoringCellMonitoring) Descriptor

func (*SensGsmCellMonotoringCellMonitoring) Descriptor() ([]byte, []int)

func (*SensGsmCellMonotoringCellMonitoring) GetCid

func (*SensGsmCellMonotoringCellMonitoring) GetLac

func (*SensGsmCellMonotoringCellMonitoring) GetMcc

func (*SensGsmCellMonotoringCellMonitoring) GetMnc

func (*SensGsmCellMonotoringCellMonitoring) GetRssi

func (*SensGsmCellMonotoringCellMonitoring) GetSensNum

func (*SensGsmCellMonotoringCellMonitoring) GetTimeAdv

func (m *SensGsmCellMonotoringCellMonitoring) GetTimeAdv() []byte

func (*SensGsmCellMonotoringCellMonitoring) ProtoMessage

func (*SensGsmCellMonotoringCellMonitoring) ProtoMessage()

func (*SensGsmCellMonotoringCellMonitoring) Reset

func (*SensGsmCellMonotoringCellMonitoring) String

type SensNdNavData

type SensNdNavData struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	Longitude        *int32  `protobuf:"fixed32,2,opt,name=longitude" json:"longitude,omitempty"`
	Latitude         *int32  `protobuf:"fixed32,3,opt,name=latitude" json:"latitude,omitempty"`
	Altitude         *uint32 `protobuf:"varint,4,opt,name=altitude" json:"altitude,omitempty"`
	Speed            *uint32 `protobuf:"varint,5,opt,name=speed" json:"speed,omitempty"`
	Course           *uint32 `protobuf:"varint,6,opt,name=course" json:"course,omitempty"`
	SatCount         *uint32 `protobuf:"varint,7,opt,name=sat_count,json=satCount" json:"sat_count,omitempty"`
	Pdop             *uint32 `protobuf:"varint,8,opt,name=pdop" json:"pdop,omitempty"`
	Track            *uint32 `protobuf:"varint,9,opt,name=track" json:"track,omitempty"`
	Odometer         *uint32 `protobuf:"varint,10,opt,name=odometer" json:"odometer,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Навигационные данные

func (*SensNdNavData) Descriptor

func (*SensNdNavData) Descriptor() ([]byte, []int)

func (*SensNdNavData) GetAltitude

func (m *SensNdNavData) GetAltitude() uint32

func (*SensNdNavData) GetCourse

func (m *SensNdNavData) GetCourse() uint32

func (*SensNdNavData) GetLatitude

func (m *SensNdNavData) GetLatitude() int32

func (*SensNdNavData) GetLongitude

func (m *SensNdNavData) GetLongitude() int32

func (*SensNdNavData) GetOdometer

func (m *SensNdNavData) GetOdometer() uint32

func (*SensNdNavData) GetPdop

func (m *SensNdNavData) GetPdop() uint32

func (*SensNdNavData) GetSatCount

func (m *SensNdNavData) GetSatCount() uint32

func (*SensNdNavData) GetSensNum

func (m *SensNdNavData) GetSensNum() uint32

func (*SensNdNavData) GetSpeed

func (m *SensNdNavData) GetSpeed() uint32

func (*SensNdNavData) GetTrack

func (m *SensNdNavData) GetTrack() uint32

func (*SensNdNavData) ProtoMessage

func (*SensNdNavData) ProtoMessage()

func (*SensNdNavData) Reset

func (m *SensNdNavData) Reset()

func (*SensNdNavData) String

func (m *SensNdNavData) String() string

type SensStorInfo

type SensStorInfo struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	IdMax            *uint32 `protobuf:"varint,2,opt,name=id_max,json=idMax" json:"id_max,omitempty"`
	IdMin            *uint32 `protobuf:"varint,3,opt,name=id_min,json=idMin" json:"id_min,omitempty"`
	TmOldest         *uint32 `protobuf:"varint,4,opt,name=tm_oldest,json=tmOldest" json:"tm_oldest,omitempty"`
	TmOldestUnack    *uint32 `protobuf:"varint,5,opt,name=tm_oldest_unack,json=tmOldestUnack" json:"tm_oldest_unack,omitempty"`
	CntUnack         *uint32 `protobuf:"varint,6,opt,name=cnt_unack,json=cntUnack" json:"cnt_unack,omitempty"`
	CntUnackLosted   *uint32 `protobuf:"varint,7,opt,name=cnt_unack_losted,json=cntUnackLosted" json:"cnt_unack_losted,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Статистика хранилище навигационных данных

func (*SensStorInfo) Descriptor

func (*SensStorInfo) Descriptor() ([]byte, []int)

func (*SensStorInfo) GetCntUnack

func (m *SensStorInfo) GetCntUnack() uint32

func (*SensStorInfo) GetCntUnackLosted

func (m *SensStorInfo) GetCntUnackLosted() uint32

func (*SensStorInfo) GetIdMax

func (m *SensStorInfo) GetIdMax() uint32

func (*SensStorInfo) GetIdMin

func (m *SensStorInfo) GetIdMin() uint32

func (*SensStorInfo) GetSensNum

func (m *SensStorInfo) GetSensNum() uint32

func (*SensStorInfo) GetTmOldest

func (m *SensStorInfo) GetTmOldest() uint32

func (*SensStorInfo) GetTmOldestUnack

func (m *SensStorInfo) GetTmOldestUnack() uint32

func (*SensStorInfo) ProtoMessage

func (*SensStorInfo) ProtoMessage()

func (*SensStorInfo) Reset

func (m *SensStorInfo) Reset()

func (*SensStorInfo) String

func (m *SensStorInfo) String() string

type SensTermoData

type SensTermoData struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	Status           *uint32 `protobuf:"varint,2,opt,name=status" json:"status,omitempty"`
	Temperature      *int32  `protobuf:"zigzag32,3,opt,name=temperature" json:"temperature,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Датчик температуры

func (*SensTermoData) Descriptor

func (*SensTermoData) Descriptor() ([]byte, []int)

func (*SensTermoData) GetSensNum

func (m *SensTermoData) GetSensNum() uint32

func (*SensTermoData) GetStatus

func (m *SensTermoData) GetStatus() uint32

func (*SensTermoData) GetTemperature

func (m *SensTermoData) GetTemperature() int32

func (*SensTermoData) ProtoMessage

func (*SensTermoData) ProtoMessage()

func (*SensTermoData) Reset

func (m *SensTermoData) Reset()

func (*SensTermoData) String

func (m *SensTermoData) String() string

type SensTestEraTests

type SensTestEraTests struct {
	SensNum              *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	MicConFailure        *bool   `protobuf:"varint,2,opt,name=mic_con_failure,json=micConFailure" json:"mic_con_failure,omitempty"`
	MicFailure           *bool   `protobuf:"varint,3,opt,name=mic_failure,json=micFailure" json:"mic_failure,omitempty"`
	IgnitionFailure      *bool   `protobuf:"varint,4,opt,name=ignition_failure,json=ignitionFailure" json:"ignition_failure,omitempty"`
	UimFailure           *bool   `protobuf:"varint,5,opt,name=uim_failure,json=uimFailure" json:"uim_failure,omitempty"`
	BatFailure           *bool   `protobuf:"varint,6,opt,name=bat_failure,json=batFailure" json:"bat_failure,omitempty"`
	BatVoltLow           *bool   `protobuf:"varint,7,opt,name=bat_volt_low,json=batVoltLow" json:"bat_volt_low,omitempty"`
	CrashSensFailure     *bool   `protobuf:"varint,8,opt,name=crash_sens_failure,json=crashSensFailure" json:"crash_sens_failure,omitempty"`
	RaimProblem          *bool   `protobuf:"varint,9,opt,name=raim_problem,json=raimProblem" json:"raim_problem,omitempty"`
	GnssAntennaFailure   *bool   `protobuf:"varint,10,opt,name=gnss_antenna_failure,json=gnssAntennaFailure" json:"gnss_antenna_failure,omitempty"`
	EventsMemoryOverflow *bool   `protobuf:"varint,11,opt,name=events_memory_overflow,json=eventsMemoryOverflow" json:"events_memory_overflow,omitempty"`
	XXX_unrecognized     []byte  `json:"-"`
}

Тестовые данные ЭРА ГЛОНАСС

func (*SensTestEraTests) Descriptor

func (*SensTestEraTests) Descriptor() ([]byte, []int)

func (*SensTestEraTests) GetBatFailure

func (m *SensTestEraTests) GetBatFailure() bool

func (*SensTestEraTests) GetBatVoltLow

func (m *SensTestEraTests) GetBatVoltLow() bool

func (*SensTestEraTests) GetCrashSensFailure

func (m *SensTestEraTests) GetCrashSensFailure() bool

func (*SensTestEraTests) GetEventsMemoryOverflow

func (m *SensTestEraTests) GetEventsMemoryOverflow() bool

func (*SensTestEraTests) GetGnssAntennaFailure

func (m *SensTestEraTests) GetGnssAntennaFailure() bool

func (*SensTestEraTests) GetIgnitionFailure

func (m *SensTestEraTests) GetIgnitionFailure() bool

func (*SensTestEraTests) GetMicConFailure

func (m *SensTestEraTests) GetMicConFailure() bool

func (*SensTestEraTests) GetMicFailure

func (m *SensTestEraTests) GetMicFailure() bool

func (*SensTestEraTests) GetRaimProblem

func (m *SensTestEraTests) GetRaimProblem() bool

func (*SensTestEraTests) GetSensNum

func (m *SensTestEraTests) GetSensNum() uint32

func (*SensTestEraTests) GetUimFailure

func (m *SensTestEraTests) GetUimFailure() bool

func (*SensTestEraTests) ProtoMessage

func (*SensTestEraTests) ProtoMessage()

func (*SensTestEraTests) Reset

func (m *SensTestEraTests) Reset()

func (*SensTestEraTests) String

func (m *SensTestEraTests) String() string

type SensTrackerInfo

type SensTrackerInfo struct {
	SensNum          *uint32 `protobuf:"varint,1,opt,name=sens_num,json=sensNum" json:"sens_num,omitempty"`
	CntAck           *uint32 `protobuf:"varint,2,opt,name=cnt_ack,json=cntAck" json:"cnt_ack,omitempty"`
	CntAckRealtime   *uint32 `protobuf:"varint,3,opt,name=cnt_ack_realtime,json=cntAckRealtime" json:"cnt_ack_realtime,omitempty"`
	CntNoack         *uint32 `protobuf:"varint,4,opt,name=cnt_noack,json=cntNoack" json:"cnt_noack,omitempty"`
	CntConnect       *uint32 `protobuf:"varint,5,opt,name=cnt_connect,json=cntConnect" json:"cnt_connect,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

Статистика трэкера

func (*SensTrackerInfo) Descriptor

func (*SensTrackerInfo) Descriptor() ([]byte, []int)

func (*SensTrackerInfo) GetCntAck

func (m *SensTrackerInfo) GetCntAck() uint32

func (*SensTrackerInfo) GetCntAckRealtime

func (m *SensTrackerInfo) GetCntAckRealtime() uint32

func (*SensTrackerInfo) GetCntConnect

func (m *SensTrackerInfo) GetCntConnect() uint32

func (*SensTrackerInfo) GetCntNoack

func (m *SensTrackerInfo) GetCntNoack() uint32

func (*SensTrackerInfo) GetSensNum

func (m *SensTrackerInfo) GetSensNum() uint32

func (*SensTrackerInfo) ProtoMessage

func (*SensTrackerInfo) ProtoMessage()

func (*SensTrackerInfo) Reset

func (m *SensTrackerInfo) Reset()

func (*SensTrackerInfo) String

func (m *SensTrackerInfo) String() string

type ServiceDataRecord

type ServiceDataRecord struct {
	RecordLength             uint16    `json:"RL"`
	RecordNumber             uint16    `json:"RN"`
	SourceServiceOnDevice    string    `json:"SSOD"`
	RecipientServiceOnDevice string    `json:"RSOD"`
	Group                    string    `json:"GRP"`
	RecordProcessingPriority string    `json:"RPP"`
	TimeFieldExists          string    `json:"TMFE"`
	EventIDFieldExists       string    `json:"EVFE"`
	ObjectIDFieldExists      string    `json:"OBFE"`
	ObjectIdentifier         uint32    `json:"OID"`
	EventIdentifier          uint32    `json:"EVID"`
	Time                     time.Time `json:"TM"`
	SourceServiceType        byte      `json:"SST"`
	RecipientServiceType     byte      `json:"RST"`
	RecordDataSet            `json:"RD"`
}

ServiceDataRecord record containing monitoring information.

type ServiceDataSet

type ServiceDataSet []ServiceDataRecord

ServiceDataSet set of consecutive records with information.

func (*ServiceDataSet) Decode

func (s *ServiceDataSet) Decode(serviceDS []byte) error

Decode decodes the given byte slice into a ServiceDataRecord.

func (*ServiceDataSet) Encode

func (s *ServiceDataSet) Encode() ([]byte, error)

Encode encodes the given ServiceDataRecord into a byte slice.

func (*ServiceDataSet) Length

func (s *ServiceDataSet) Length() uint16

Length returns the length of the encoded byte slice.

type Splitter added in v0.0.3

type Splitter struct {
	// contains filtered or unexported fields
}

Splitter implements common.FrameSplitter contract to extract EGTS data packet from incoming bytes.

func NewSplitter added in v0.0.3

func NewSplitter() *Splitter

NewSplitter creates a new Splitter instance for EGTS protocol.

func (*Splitter) BadData added in v0.0.3

func (s *Splitter) BadData() []byte

BadData returns bad data if any registered. Use it to log which bytes couldn't be parsed as EGTS protocol.

func (*Splitter) Error added in v0.0.3

func (s *Splitter) Error() error

Error returns error if any registered. Use it to check that data corresponds to EGTS protocol.

func (*Splitter) Splitter added in v0.0.3

func (s *Splitter) Splitter() bufio.SplitFunc

Splitter implements bufio.SplitFunc contract to extract EGTS data packet from incoming bytes stream.

type SrAbsAnSensData

type SrAbsAnSensData struct {
	SensorNumber uint8  `json:"SensorNumber"`
	Value        uint32 `json:"Value"`
}

SrAbsAnSensData is a subrecord structure of EGTS_SR_ABS_AN_SENS_DATA type, which is used by the subscriber's terminal to transmit data about the state of one analog input.

func (*SrAbsAnSensData) Decode

func (e *SrAbsAnSensData) Decode(content []byte) error

Decode parses the set of bytes into EGTS_SR_ABS_AN_SENS_DATA structure.

func (*SrAbsAnSensData) Encode

func (e *SrAbsAnSensData) Encode() ([]byte, error)

Encode returns the set of bytes of the EGTS_SR_ABS_AN_SENS_DATA structure.

func (*SrAbsAnSensData) Length

func (e *SrAbsAnSensData) Length() uint16

Length returns the length of the EGTS_SR_ABS_AN_SENS_DATA structure.

type SrAbsCntrData

type SrAbsCntrData struct {
	CounterNumber uint8  `json:"CN"`
	CounterValue  uint32 `json:"CNV"`
}

SrAbsCntrData structure of EGTS_SR_ABS_CNTR_DATA type subrecord, which is used subscriber terminal to transmit data to the hardware and software complex about State of one count input.

func (*SrAbsCntrData) Decode

func (e *SrAbsCntrData) Decode(content []byte) error

Decode parses the set of bytes into EGTS_SR_ABS_CNTR_DATA structure.

func (*SrAbsCntrData) Encode

func (e *SrAbsCntrData) Encode() ([]byte, error)

Encode returns the set of bytes of EGTS_SR_ABS_CNTR_DATA structure.

func (*SrAbsCntrData) Length

func (e *SrAbsCntrData) Length() uint16

Length returns the length of EGTS_SR_ABS_CNTR_DATA structure.

type SrAdSensorsData

type SrAdSensorsData struct {
	DigitalInputsOctetExists1     string `json:"DIOE1"`
	DigitalInputsOctetExists2     string `json:"DIOE2"`
	DigitalInputsOctetExists3     string `json:"DIOE3"`
	DigitalInputsOctetExists4     string `json:"DIOE4"`
	DigitalInputsOctetExists5     string `json:"DIOE5"`
	DigitalInputsOctetExists6     string `json:"DIOE6"`
	DigitalInputsOctetExists7     string `json:"DIOE7"`
	DigitalInputsOctetExists8     string `json:"DIOE8"`
	DigitalOutputs                byte   `json:"DOUT"`
	AnalogSensorFieldExists1      string `json:"ASFE1"`
	AnalogSensorFieldExists2      string `json:"ASFE2"`
	AnalogSensorFieldExists3      string `json:"ASFE3"`
	AnalogSensorFieldExists4      string `json:"ASFE4"`
	AnalogSensorFieldExists5      string `json:"ASFE5"`
	AnalogSensorFieldExists6      string `json:"ASFE6"`
	AnalogSensorFieldExists7      string `json:"ASFE7"`
	AnalogSensorFieldExists8      string `json:"ASFE8"`
	AdditionalDigitalInputsOctet1 byte   `json:"ADIO1"`
	AdditionalDigitalInputsOctet2 byte   `json:"ADIO2"`
	AdditionalDigitalInputsOctet3 byte   `json:"ADIO3"`
	AdditionalDigitalInputsOctet4 byte   `json:"ADIO4"`
	AdditionalDigitalInputsOctet5 byte   `json:"ADIO5"`
	AdditionalDigitalInputsOctet6 byte   `json:"ADIO6"`
	AdditionalDigitalInputsOctet7 byte   `json:"ADIO7"`
	AdditionalDigitalInputsOctet8 byte   `json:"ADIO8"`
	AnalogSensor1                 uint32 `json:"ANS1"`
	AnalogSensor2                 uint32 `json:"ANS2"`
	AnalogSensor3                 uint32 `json:"ANS3"`
	AnalogSensor4                 uint32 `json:"ANS4"`
	AnalogSensor5                 uint32 `json:"ANS5"`
	AnalogSensor6                 uint32 `json:"ANS6"`
	AnalogSensor7                 uint32 `json:"ANS7"`
	AnalogSensor8                 uint32 `json:"ANS8"`
}

SrAdSensorsData is a subrecord structure of EGTS_SR_AD_SENSORS_DATA type, which is used by the subscriber's subscriber terminal to transmit information on the state of additional // discrete analog inputs to the hardware and software complex discrete and analog inputs.

func (*SrAdSensorsData) Decode

func (e *SrAdSensorsData) Decode(content []byte) error

Decode decodes the EGTS_SR_AD_SENSORS_DATA subrecord.

func (*SrAdSensorsData) Encode

func (e *SrAdSensorsData) Encode() ([]byte, error)

Encode encodes the EGTS_SR_AD_SENSORS_DATA struct into a byte array.

func (*SrAdSensorsData) Length

func (e *SrAdSensorsData) Length() uint16

Length returns the length of the message in bytes.

type SrAuthInfo

type SrAuthInfo struct {
	UserName       string `json:"UNM"`
	UserPassword   string `json:"UPSW"`
	ServerSequence string `json:"SS"`
}

SrAuthInfo subrecord structure of EGTS_SR_AUTH_INFO type, which is intended for transmitting to the telematics platform of the CA authentication data using the previously transmitted from the platform's side to implement data encryption.

func (*SrAuthInfo) Decode

func (e *SrAuthInfo) Decode(content []byte) error

Decode parses the set of bytes into EGTS_SR_AUTH_INFO structure.

func (*SrAuthInfo) Encode

func (e *SrAuthInfo) Encode() ([]byte, error)

Encode encodes the EGTS_SR_AUTH_INFO structure into the set of bytes.

func (*SrAuthInfo) Length

func (e *SrAuthInfo) Length() uint16

Length returns the length of the EGTS_SR_AUTH_INFO structure.

type SrCountersData

type SrCountersData struct {
	CounterFieldExists1 string `json:"CFE1"`
	CounterFieldExists2 string `json:"CFE2"`
	CounterFieldExists3 string `json:"CFE3"`
	CounterFieldExists4 string `json:"CFE4"`
	CounterFieldExists5 string `json:"CFE5"`
	CounterFieldExists6 string `json:"CFE6"`
	CounterFieldExists7 string `json:"CFE7"`
	CounterFieldExists8 string `json:"CFE8"`
	Counter1            uint32 `json:"CN1"`
	Counter2            uint32 `json:"CN2"`
	Counter3            uint32 `json:"CN3"`
	Counter4            uint32 `json:"CN4"`
	Counter5            uint32 `json:"CN5"`
	Counter6            uint32 `json:"CN6"`
	Counter7            uint32 `json:"CN7"`
	Counter8            uint32 `json:"CN8"`
}

SrCountersData is a subrecord structure of the EGTS_SR_COUNTERS_DATA type, which is used by the hardware and System for transmitting the count inputs values to the subscriber's terminal.

func (*SrCountersData) Decode

func (c *SrCountersData) Decode(content []byte) error

Decode decodes the EGTS_SR_COUNTERS_DATA subrecord into SrCountersData struct.

func (*SrCountersData) Encode

func (c *SrCountersData) Encode() ([]byte, error)

Encode encodes the SrCountersData struct into EGTS_SR_COUNTERS_DATA subrecord.

func (*SrCountersData) Length

func (c *SrCountersData) Length() uint16

Length returns the length of the EGTS_SR_COUNTERS_DATA.

type SrDispatcherIdentity

type SrDispatcherIdentity struct {
	DispatcherType uint8  `json:"DT"`
	DispatcherID   uint32 `json:"DID"`
	Description    string `json:"DSCR"`
}

SrDispatcherIdentity structure of subrecord of EGTS_SR_DISPATCHER_IDENTITY type, which is used only by the authorized TS when requesting authorization on the authorizing TS and contains credentials by the authorized ACH.

func (*SrDispatcherIdentity) Decode

func (d *SrDispatcherIdentity) Decode(content []byte) error

Decode parses the set of bytes into EGTS_SR_DISPATCHER_IDENTITY structure.

func (*SrDispatcherIdentity) Encode

func (d *SrDispatcherIdentity) Encode() ([]byte, error)

Encode returns the set of bytes of the EGTS_SR_DISPATCHER_IDENTITY structure.

func (*SrDispatcherIdentity) Length

func (d *SrDispatcherIdentity) Length() uint16

Length returns the length of the EGTS_SR_DISPATCHER_IDENTITY structure.

type SrExtPosData

type SrExtPosData struct {
	NavigationSystemFieldExists   string `json:"NSFE"`
	SatellitesFieldExists         string `json:"SFE"`
	PdopFieldExists               string `json:"PFE"`
	HdopFieldExists               string `json:"HFE"`
	VdopFieldExists               string `json:"VFE"`
	VerticalDilutionOfPrecision   uint16 `json:"VDOP"`
	HorizontalDilutionOfPrecision uint16 `json:"HDOP"`
	PositionDilutionOfPrecision   uint16 `json:"PDOP"`
	Satellites                    uint8  `json:"SAT"`
	NavigationSystem              uint16 `json:"NS"`
}

SrExtPosData structure of EGTS_SR_EXT_POS_DATA type subrecord, which is used by the subscriber's terminal when transmitting additional location data.

func (*SrExtPosData) Decode

func (e *SrExtPosData) Decode(content []byte) error

Decode decodes EGTS_SR_EXT_POS_DATA subrecord from incoming bytes stream.

func (*SrExtPosData) Encode

func (e *SrExtPosData) Encode() ([]byte, error)

Encode encodes EGTS_SR_EXT_POS_DATA subrecord to bytes stream.

func (*SrExtPosData) Length

func (e *SrExtPosData) Length() uint16

Length returns the length of the EGTS_SR_EXT_POS_DATA subrecord.

type SrLiquidLevelSensor

type SrLiquidLevelSensor struct {
	LiquidLevelSensorErrorFlag string `json:"LLSEF"`
	LiquidLevelSensorValueUnit string `json:"LLSVU"`
	RawDataFlag                string `json:"RDF"`
	LiquidLevelSensorNumber    uint8  `json:"LLSN"`
	ModuleAddress              uint16 `json:"MADDR"`
	LiquidLevelSensorData      uint32 `json:"LLSD"`
}

SrLiquidLevelSensor subrecord structure of EGTS_SR_LIQUID_LEVEL_SENSOR type, which is used subscriber terminal to transmit the data on DUH readings to the hardware-software complex.

func (*SrLiquidLevelSensor) Decode

func (e *SrLiquidLevelSensor) Decode(content []byte) error

Decode parses the set of bytes into EGTS_SR_LIQUID_LEVEL_SENSOR structure.

func (*SrLiquidLevelSensor) Encode

func (e *SrLiquidLevelSensor) Encode() ([]byte, error)

Encode encodes the EGTS_SR_LIQUID_LEVEL_SENSOR structure into the set of bytes.

func (*SrLiquidLevelSensor) Length

func (e *SrLiquidLevelSensor) Length() uint16

Length returns the length of the EGTS_SR_LIQUID_LEVEL_SENSOR structure.

type SrModuleData

type SrModuleData struct {
	ModuleType      int8   `json:"MT"`
	VendorID        uint32 `json:"VID"`
	FirmwareVersion uint16 `json:"FWV"`
	SoftwareVersion uint16 `json:"SWV"`
	Modification    byte   `json:"MD"`
	State           byte   `json:"ST"`
	SerialNumber    string `json:"SRN"`

	Description string `json:"DSCR"`
	// contains filtered or unexported fields
}

SrModuleData structure of EGTS_AUTH_SERVICE subrecord of EGTS_SR_MODULE_DATA type.

func (*SrModuleData) Decode

func (e *SrModuleData) Decode(content []byte) error

Decode decodes EGTS_SR_MODULE_DATA subrecord from incoming bytes stream.

func (*SrModuleData) Encode

func (e *SrModuleData) Encode() ([]byte, error)

Encode encodes EGTS_SR_MODULE_DATA subrecord to outgoing bytes stream.

func (*SrModuleData) Length

func (e *SrModuleData) Length() uint16

Length returns the length of EGTS_SR_MODULE_DATA subrecord.

type SrPosData

type SrPosData struct {
	// NavigationTime (NTM) - navigation time (number of seconds since 00:00:00 01.01.2010 UTC).
	NavigationTime time.Time `json:"NTM"`
	// Latitude (LAT) modulo, degrees/90 * 0xFFFFFFFFFFFF and the integer part is taken.
	Latitude float64 `json:"LAT"`
	// Longitude (LONG) modulo, degrees/180 - 0xFFFFFFFFFFFF and the integer part is taken.
	Longitude float64 `json:"LONG"`

	// ALTE - bit flag determines the presence of the ALT field in the subrecord:
	// 1 - the ALT field is transmitted;
	// 0 - is not transmitted.
	ALTE string `json:"ALTE"`
	// LOHS - A bit flag defines hemispheric longitude:
	// 0 - eastern longitude:
	// 1 - west longitude.
	LOHS string `json:"LOHS"`
	// LAHS - the bit flag defines the hemisphere latitude:
	// 0 - north latitude;
	// 1 - south latitude.
	LAHS string `json:"LAHS"`
	// MV - bit flag, sign of movement:
	// 1 - movement;
	// 0 - vehicle is in parking mode.
	MV string `json:"MV"`
	// BB - bit flag, sign of sending data from memory ("black box"):
	// 0 - actual data;
	// 1 - data from memory ("black box").
	BB string `json:"BB"`
	// FIX - bit field, type of coordinate determination:
	// 0 - 2D fix;
	// 1 - 3D fix.
	FIX string `json:"FIX"`
	// CS - bit field, the type of system used:
	// 0 - WGS-84 coordinate system;
	// 1 - state geocentric coordinate system (ПЗ-90.02).
	CS string `json:"CS"`
	// VLD - bit flag, a sign of "validity" of coordinate data:
	// 1 - data are "valid";
	// 0 - "invalid" data.
	VLD string `json:"VLD"`
	// DirectionHighestBit - (DIRH) the highest bit (8) of the DIR parameter.
	DirectionHighestBit uint8 `json:"DIRH"`
	// AltitudeSign - (ALTS) bit flag, defines the altitude relative to sea level and makes sense
	// only when the ALTE flag is set:
	// 0 - point above sea level;
	// 1 - below sea level.
	AltitudeSign uint8 `json:"ALTS"`
	// Speed (SPD) - speed in km/h in increments of 0.1 km/h (14 low bits are used).
	Speed uint16 `json:"SPD"`
	// Direction (DIR) - direction of movement. Defined as the angle in degrees, which is counted clockwise
	// between the north direction of the geographic meridian and the direction of motion at the measurement point (
	// additionally, the most significant bit is in the DIRH field).
	Direction byte `json:"DIR"`
	// Odometer (ODM) - пройденное расстояние (пробег) в км, с дискретностью 0,1 км.
	Odometer uint32 `json:"ODM"`
	// DigitalInputs (DIN) - bit flags, define the state of the main digital inputs 1 ... 8 (if the bit is 1,
	// then the corresponding input is active, if 0,
	// then it is inactive). This field is included for convenience of use and traffic saving when working in the
	// transport monitoring systems of the basic level.
	DigitalInputs byte `json:"DIN"`
	// Source (SRC) - defines the source (event) that initiated the sending of this navigation information.
	Source byte `json:"SRC"`
	// Altitude (ALT) - altitude above sea level, m (optional parameter,
	// the presence of which is determined by the ALTE bit flag).
	Altitude uint32 `json:"ALT"`
	// SourceData (SRCD) - data characterizing the source (event) from the SRC field.
	// The presence and interpretation of the value of this field is determined by the SRC field.
	SourceData int16 `json:"SRCD"`
}

SrPosData is structure of EGTS_SR_POS_DATA subrecord type, which is used by the subscriber's terminal when transmitting basic location data.

func (*SrPosData) Decode

func (e *SrPosData) Decode(content []byte) (err error)

Decode parses bytes into a subrecord structure.

func (*SrPosData) Encode

func (e *SrPosData) Encode() (result []byte, err error)

Encode converts a subwrite to a set of bytes.

func (*SrPosData) Length

func (e *SrPosData) Length() uint16

Length gets the length of the encoded subrecord.

type SrResponse

type SrResponse struct {
	ConfirmedRecordNumber uint16 `json:"CRN"`
	RecordStatus          uint8  `json:"RST"`
}

SrResponse subrecord structure of EGTS_SR_RESPONSE type, which is used to confirm reception of the results of service support processing.

func (*SrResponse) Decode

func (s *SrResponse) Decode(content []byte) error

Decode parses the set of bytes into EGTS_SR_RESPONSE structure.

func (*SrResponse) Encode

func (s *SrResponse) Encode() ([]byte, error)

Encode returns the set of bytes of EGTS_SR_RESPONSE structure.

func (*SrResponse) Length

func (s *SrResponse) Length() uint16

Length returns the length of EGTS_SR_RESPONSE structure.

type SrResultCode

type SrResultCode struct {
	ResultCode uint8 `json:"RCD"`
}

SrResultCode is the structure of EGTS_SR_RESULT_CODE subrecord, which is used by the telematics platform to inform the AC about the results of the AC authentication procedure.

func (*SrResultCode) Decode

func (s *SrResultCode) Decode(content []byte) error

Decode parses the set of bytes into EGTS_SR_RESULT_CODE structure.

func (*SrResultCode) Encode

func (s *SrResultCode) Encode() ([]byte, error)

Encode returns the set of bytes of the EGTS_SR_RESULT_CODE structure.

func (*SrResultCode) Length

func (s *SrResultCode) Length() uint16

Length returns the length of the EGTS_SR_RESULT_CODE structure.

type SrStateData

type SrStateData struct {
	State                  uint8  `json:"ST"`
	MainPowerSourceVoltage uint8  `json:"MPSV"`
	BackUpBatteryVoltage   uint8  `json:"BBV"`
	InternalBatteryVoltage uint8  `json:"IBV"`
	NMS                    string `json:"NMS"`
	IBU                    string `json:"IBU"`
	BBU                    string `json:"BBU"`
}

SrStateData is the structure of subrecord of EGTS_SR_STATE_DATA type, used to transmit to the information about the subscriber terminal state (current operation mode, voltage of the main and backup power supplies, etc.).

func (*SrStateData) Decode

func (e *SrStateData) Decode(content []byte) error

Decode parses the set of bytes into EGTS_SR_STATE_DATA structure.

func (*SrStateData) Encode

func (e *SrStateData) Encode() ([]byte, error)

Encode encodes the EGTS_SR_STATE_DATA structure into the set of bytes.

func (*SrStateData) Length

func (e *SrStateData) Length() uint16

Length returns the length of the EGTS_SR_STATE_DATA structure.

type SrTermIdentity

type SrTermIdentity struct {
	TerminalIdentifier       uint32 `json:"TID"`
	MNE                      string `json:"MNE"`
	BSE                      string `json:"BSE"`
	NIDE                     string `json:"NIDE"`
	SSRA                     string `json:"SSRA"`
	LNGCE                    string `json:"LNGCE"`
	IMSIE                    string `json:"IMSIE"`
	IMEIE                    string `json:"IMEIE"`
	HDIDE                    string `json:"HDIDE"`
	HomeDispatcherIdentifier uint16 `json:"HDID"`
	IMEI                     string `json:"IMEI"`
	IMSI                     string `json:"IMSI"`
	LanguageCode             string `json:"LNGC"`
	NetworkIdentifier        []byte `json:"NID"`
	BufferSize               uint16 `json:"BS"`
	MobileNumber             string `json:"MSISDN"`
}

SrTermIdentity structure of EGTS_SR_TERM_IDENTITY type subrecord, which is used by the AC when requesting authorization to the telematics platform and contains the AC credentials.

func (*SrTermIdentity) Decode

func (e *SrTermIdentity) Decode(content []byte) error

Decode parses the bytes into EGTS_SR_TERM_IDENTITY structure.

func (*SrTermIdentity) Encode

func (e *SrTermIdentity) Encode() ([]byte, error)

Encode returns the bytes of the EGTS_SR_TERM_IDENTITY structure.

func (*SrTermIdentity) Length

func (e *SrTermIdentity) Length() uint16

Length gets the length of the encoded subrecord.

type StorageRecord

type StorageRecord struct {
	// Номер записи
	RecordNumber *uint32 `protobuf:"varint,1,req,name=record_number,json=recordNumber" json:"record_number,omitempty"`
	// Время отметки
	TimeStamp *uint32 `protobuf:"fixed32,2,req,name=time_stamp,json=timeStamp" json:"time_stamp,omitempty"`
	// Причина формирования отметки (см. enum reason)
	RecordReason []StorageRecordReason `protobuf:"varint,3,rep,name=record_reason,json=recordReason,enum=nv.StorageRecordReason" json:"record_reason,omitempty"`
	// Статусные флаги
	StatusFlags *uint32 `protobuf:"fixed32,4,req,name=status_flags,json=statusFlags" json:"status_flags,omitempty"`
	// Датчик ускорения
	SensAccelerometerData []*SensAccelerometerData `protobuf:"bytes,18,rep,name=sens_accelerometer_data,json=sensAccelerometerData" json:"sens_accelerometer_data,omitempty"`
	// Аналоговый вход
	SensAinAinValue []*SensAinAinValue `protobuf:"bytes,9,rep,name=sens_ain_ain_value,json=sensAinAinValue" json:"sens_ain_ain_value,omitempty"`
	// Буферизованные данные
	SensBufferData []*SensBufferData `protobuf:"bytes,20,rep,name=sens_buffer_data,json=sensBufferData" json:"sens_buffer_data,omitempty"`
	// Кнопка
	SensButtonPressCounter []*SensButtonPressCounter `protobuf:"bytes,14,rep,name=sens_button_press_counter,json=sensButtonPressCounter" json:"sens_button_press_counter,omitempty"`
	// CANLog
	SensCanLogData []*SensCanLogData `protobuf:"bytes,16,rep,name=sens_can_log_data,json=sensCanLogData" json:"sens_can_log_data,omitempty"`
	// Расширение CANLog
	SensCanLogTmpDataExt []*SensCanLogTmpDataExt `protobuf:"bytes,17,rep,name=sens_can_log_tmp_data_ext,json=sensCanLogTmpDataExt" json:"sens_can_log_tmp_data_ext,omitempty"`
	// Счётчик
	SensCounterCount []*SensCounterCount `protobuf:"bytes,11,rep,name=sens_counter_count,json=sensCounterCount" json:"sens_counter_count,omitempty"`
	// Датчик аварии
	SensCrashData []*SensCrashData `protobuf:"bytes,24,rep,name=sens_crash_data,json=sensCrashData" json:"sens_crash_data,omitempty"`
	// Цифровые входы
	SensDinsFlags []*SensDinsFlags `protobuf:"bytes,10,rep,name=sens_dins_flags,json=sensDinsFlags" json:"sens_dins_flags,omitempty"`
	// Цифровые выходы
	SensDoutsFlags []*SensDoutsFlags `protobuf:"bytes,19,rep,name=sens_douts_flags,json=sensDoutsFlags" json:"sens_douts_flags,omitempty"`
	// Частотомер
	SensFmeterFrequency []*SensFmeterFrequency `protobuf:"bytes,12,rep,name=sens_fmeter_frequency,json=sensFmeterFrequency" json:"sens_fmeter_frequency,omitempty"`
	// Датчик топлива
	SensFuelLevel []*SensFuelLevel `protobuf:"bytes,8,rep,name=sens_fuel_level,json=sensFuelLevel" json:"sens_fuel_level,omitempty"`
	// Информация о базовых станциях GSM
	SensGsmCellMonotoringCellMonitoring []*SensGsmCellMonotoringCellMonitoring `` /* 168-byte string literal not displayed */
	// Навигационные данные
	SensNdNavData []*SensNdNavData `protobuf:"bytes,7,rep,name=sens_nd_nav_data,json=sensNdNavData" json:"sens_nd_nav_data,omitempty"`
	// Статистика хранилище навигационных данных
	SensStorInfo []*SensStorInfo `protobuf:"bytes,21,rep,name=sens_stor_info,json=sensStorInfo" json:"sens_stor_info,omitempty"`
	// Датчик температуры
	SensTermoData []*SensTermoData `protobuf:"bytes,15,rep,name=sens_termo_data,json=sensTermoData" json:"sens_termo_data,omitempty"`
	// Тестовые данные ЭРА ГЛОНАСС
	SensTestEraTests []*SensTestEraTests `protobuf:"bytes,23,rep,name=sens_test_era_tests,json=sensTestEraTests" json:"sens_test_era_tests,omitempty"`
	// Статистика трэкера
	SensTrackerInfo  []*SensTrackerInfo `protobuf:"bytes,22,rep,name=sens_tracker_info,json=sensTrackerInfo" json:"sens_tracker_info,omitempty"`
	XXX_unrecognized []byte             `json:"-"`
}

func (*StorageRecord) Decode

func (m *StorageRecord) Decode(content []byte) error

func (*StorageRecord) Descriptor

func (*StorageRecord) Descriptor() ([]byte, []int)

func (*StorageRecord) Encode

func (m *StorageRecord) Encode() ([]byte, error)

func (*StorageRecord) GetRecordNumber

func (m *StorageRecord) GetRecordNumber() uint32

func (*StorageRecord) GetRecordReason

func (m *StorageRecord) GetRecordReason() []StorageRecordReason

func (*StorageRecord) GetSensAccelerometerData

func (m *StorageRecord) GetSensAccelerometerData() []*SensAccelerometerData

func (*StorageRecord) GetSensAinAinValue

func (m *StorageRecord) GetSensAinAinValue() []*SensAinAinValue

func (*StorageRecord) GetSensBufferData

func (m *StorageRecord) GetSensBufferData() []*SensBufferData

func (*StorageRecord) GetSensButtonPressCounter

func (m *StorageRecord) GetSensButtonPressCounter() []*SensButtonPressCounter

func (*StorageRecord) GetSensCanLogData

func (m *StorageRecord) GetSensCanLogData() []*SensCanLogData

func (*StorageRecord) GetSensCanLogTmpDataExt

func (m *StorageRecord) GetSensCanLogTmpDataExt() []*SensCanLogTmpDataExt

func (*StorageRecord) GetSensCounterCount

func (m *StorageRecord) GetSensCounterCount() []*SensCounterCount

func (*StorageRecord) GetSensCrashData

func (m *StorageRecord) GetSensCrashData() []*SensCrashData

func (*StorageRecord) GetSensDinsFlags

func (m *StorageRecord) GetSensDinsFlags() []*SensDinsFlags

func (*StorageRecord) GetSensDoutsFlags

func (m *StorageRecord) GetSensDoutsFlags() []*SensDoutsFlags

func (*StorageRecord) GetSensFmeterFrequency

func (m *StorageRecord) GetSensFmeterFrequency() []*SensFmeterFrequency

func (*StorageRecord) GetSensFuelLevel

func (m *StorageRecord) GetSensFuelLevel() []*SensFuelLevel

func (*StorageRecord) GetSensGsmCellMonotoringCellMonitoring

func (m *StorageRecord) GetSensGsmCellMonotoringCellMonitoring() []*SensGsmCellMonotoringCellMonitoring

func (*StorageRecord) GetSensNdNavData

func (m *StorageRecord) GetSensNdNavData() []*SensNdNavData

func (*StorageRecord) GetSensStorInfo

func (m *StorageRecord) GetSensStorInfo() []*SensStorInfo

func (*StorageRecord) GetSensTermoData

func (m *StorageRecord) GetSensTermoData() []*SensTermoData

func (*StorageRecord) GetSensTestEraTests

func (m *StorageRecord) GetSensTestEraTests() []*SensTestEraTests

func (*StorageRecord) GetSensTrackerInfo

func (m *StorageRecord) GetSensTrackerInfo() []*SensTrackerInfo

func (*StorageRecord) GetStatusFlags

func (m *StorageRecord) GetStatusFlags() uint32

func (*StorageRecord) GetTimeStamp

func (m *StorageRecord) GetTimeStamp() uint32

func (*StorageRecord) Length

func (m *StorageRecord) Length() uint16

func (*StorageRecord) ProtoMessage

func (*StorageRecord) ProtoMessage()

func (*StorageRecord) Reset

func (m *StorageRecord) Reset()

func (*StorageRecord) String

func (m *StorageRecord) String() string

type StorageRecordReason

type StorageRecordReason int32
const (
	StorageRecord_DEVICE_RESET           StorageRecordReason = 1
	StorageRecord_PROFILE_CHANGE         StorageRecordReason = 2
	StorageRecord_IGNITION_ON            StorageRecordReason = 3
	StorageRecord_IGNITION_OFF           StorageRecordReason = 4
	StorageRecord_TRIP_BEGIN             StorageRecordReason = 5
	StorageRecord_TRIP_END               StorageRecordReason = 6
	StorageRecord_STOP                   StorageRecordReason = 7
	StorageRecord_MOVE                   StorageRecordReason = 8
	StorageRecord_TOWING_BEGIN           StorageRecordReason = 9
	StorageRecord_TOWING_END             StorageRecordReason = 10
	StorageRecord_TIMER_MOVE             StorageRecordReason = 11
	StorageRecord_TIMER_STOP             StorageRecordReason = 12
	StorageRecord_ANGLE                  StorageRecordReason = 13
	StorageRecord_DISTANCE               StorageRecordReason = 14
	StorageRecord_SOS_BUTTON             StorageRecordReason = 15
	StorageRecord_SERVICE_BUTTON         StorageRecordReason = 16
	StorageRecord_TAMPER                 StorageRecordReason = 17
	StorageRecord_ANTENNA_SWITCH         StorageRecordReason = 18
	StorageRecord_GSM_LOST               StorageRecordReason = 19
	StorageRecord_GSM_RECONNECT          StorageRecordReason = 20
	StorageRecord_GNSS_LOST              StorageRecordReason = 21
	StorageRecord_GNSS_REAQUISITION      StorageRecordReason = 22
	StorageRecord_JAMMER_GSM             StorageRecordReason = 23
	StorageRecord_JAMMER_GNSS            StorageRecordReason = 24
	StorageRecord_OVER_SPEED             StorageRecordReason = 25
	StorageRecord_OVER_RPM               StorageRecordReason = 26
	StorageRecord_OVER_TEMPERATURE       StorageRecordReason = 27
	StorageRecord_DANGEROUS_DRIVING      StorageRecordReason = 28
	StorageRecord_ACCIDENT               StorageRecordReason = 29
	StorageRecord_OVERTHROW              StorageRecordReason = 30
	StorageRecord_ON_BATTERY             StorageRecordReason = 31
	StorageRecord_BATTERY_DISCHARGE      StorageRecordReason = 32
	StorageRecord_RADIO_TAG_REG          StorageRecordReason = 33
	StorageRecord_RADIO_TAG_UNREG        StorageRecordReason = 34
	StorageRecord_MOVE_WITHOUT_RADIO_TAG StorageRecordReason = 35
	StorageRecord_ECU_ERROR_CODE         StorageRecordReason = 36
	StorageRecord_EXTERNAL_REQUEST       StorageRecordReason = 37
	StorageRecord_DEVICE_TEST            StorageRecordReason = 38
	StorageRecord_OTHER_REASON           StorageRecordReason = 99
)

func (StorageRecordReason) Enum

func (StorageRecordReason) EnumDescriptor

func (StorageRecordReason) EnumDescriptor() ([]byte, []int)

func (StorageRecordReason) String

func (x StorageRecordReason) String() string

func (*StorageRecordReason) UnmarshalJSON

func (x *StorageRecordReason) UnmarshalJSON(data []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL