Documentation ¶
Index ¶
- Constants
- func ConvertDecimalToHexAndReverse(decimalValue uint64) string
- type AvlDataPacket
- type AvlRecord
- type CodecID
- type DeviceResponse
- type FM1200Protocol
- func (t *FM1200Protocol) ConsumeStream(reader *bufio.Reader, responseWriter io.Writer, dataStore store.Store) error
- func (t *FM1200Protocol) GetDeviceID() string
- func (p *FM1200Protocol) GetDeviceType() types.DeviceType
- func (p *FM1200Protocol) GetProtocolType() types.DeviceProtocolType
- func (t *FM1200Protocol) Login(reader *bufio.Reader) (ack []byte, bytesToSkip int, e error)
- func (t *FM1200Protocol) ParseDeviceResponse(dataReader *bufio.Reader, dataLen uint32) (*DeviceResponse, error)
- func (t *FM1200Protocol) SendCommandToDevice(writer io.Writer, command string) error
- func (p *FM1200Protocol) SetDeviceType(t types.DeviceType)
- func (t *FM1200Protocol) ValidateCrc(data []byte, expectedCrc uint32) bool
- type GpsElement
- type IOElement
- type IOProperty
- type Record
- type Response
Constants ¶
View Source
const ( TIO_DigitalInput1 IOProperty = 1 TIO_DigitalInput2 = 2 TIO_DigitalInput3 = 3 TIO_AnalogInput = 9 TIO_OdometerValue = 16 TIO_GSMSignal = 21 TIO_Speed = 24 TIO_RPM = 36 TIO_AmbientTemperature = 53 TIO_ExternalVoltage = 66 TIO_BatteryVoltage = 67 TIO_BatteryCurrent = 68 TIO_GPSPower = 69 TIO_PCBTemperature = 70 TIO_DallasTemperature = 72 TIO_IButtonID = 78 TIO_WorkingMode = 80 TIO_Speed_CAN = 81 TIO_FuelConsumed_CAN = 83 TIO_FuelLevelLtr_CAN = 84 TIO_RPM_CAN = 85 TIO_TotalMileage_CAN = 87 TIO_FuelLevelPercent_CAN = 89 TIO_Geozone1 = 155 TIO_Geozone2 = 156 TIO_Geozone3 = 157 TIO_Geozone4 = 158 TIO_Geozone5 = 159 TIO_AutoGeofence = 175 TIO_DigitalOutput1 = 179 TIO_DigitalOutput2 = 180 TIO_GPSPDOP = 181 TIO_GPSHDOP = 182 TIO_TripOdometerValue = 199 TIO_SleepMode = 200 TIO_CellID = 205 TIO_AreaCode = 206 TIO_RFID = 207 TIO_Ignition = 239 TIO_MovementSensor = 240 TIO_GSMOperator = 241 TIO_Towing = 246 TIO_CrashDetection = 247 TIO_TripMode = 250 TIO_ExcessiveIdling = 251 TIO_Unplug = 252 TIO_GreenDrivingStatus = 253 TIO_GreenDrivingValue = 254 TIO_Overspeeding = 255 TIO_VIN = 256 TIO_CrashTraceData = 257 TIO_VIN_CAN = 325 TIO_OdmTotalMileage = 389 TIO_FuelLevel = 390 )
Variables ¶
This section is empty.
Functions ¶
func ConvertDecimalToHexAndReverse ¶
ConvertDecimalToHexAndReverse convert decimal to hex and then reverse the hex string
Types ¶
type AvlDataPacket ¶
type AvlRecord ¶
type AvlRecord struct { Timestamp uint64 `json:"timestamp"` Priority uint8 `json:"priority"` GPSElement GpsElement `json:"gps_element"` IOElement IOElement `json:"io_element"` }
type DeviceResponse ¶
type DeviceResponse struct { CodecID byte // Codec ID (always 0x0C for Codec12) ResponseQuantity1 byte // Response Quantity 1 Type byte // Response Type (0x06 for response) ResponseSize uint32 // Response Size in bytes ResponseData []byte // Actual response data (in bytes) ResponseQuantity2 byte // Response Quantity 2 (should match Response Quantity 1) CRC uint32 // CRC-16 checksum }
type FM1200Protocol ¶
type FM1200Protocol struct { Imei string DeviceType types.DeviceType }
func (*FM1200Protocol) ConsumeStream ¶
func (*FM1200Protocol) GetDeviceID ¶
func (t *FM1200Protocol) GetDeviceID() string
func (*FM1200Protocol) GetDeviceType ¶
func (p *FM1200Protocol) GetDeviceType() types.DeviceType
func (*FM1200Protocol) GetProtocolType ¶
func (p *FM1200Protocol) GetProtocolType() types.DeviceProtocolType
func (*FM1200Protocol) ParseDeviceResponse ¶
func (t *FM1200Protocol) ParseDeviceResponse(dataReader *bufio.Reader, dataLen uint32) (*DeviceResponse, error)
func (*FM1200Protocol) SendCommandToDevice ¶
func (t *FM1200Protocol) SendCommandToDevice(writer io.Writer, command string) error
func (*FM1200Protocol) SetDeviceType ¶
func (p *FM1200Protocol) SetDeviceType(t types.DeviceType)
func (*FM1200Protocol) ValidateCrc ¶
func (t *FM1200Protocol) ValidateCrc(data []byte, expectedCrc uint32) bool
type GpsElement ¶
type IOElement ¶
type IOElement struct { EventID uint16 `json:"event_id"` NumProperties uint16 `json:"num_properties"` Properties1B map[IOProperty]uint8 `json:"properties_1b"` Properties2B map[IOProperty]uint16 `json:"properties_2b"` Properties4B map[IOProperty]uint32 `json:"properties_4b"` Properties8B map[IOProperty]uint64 `json:"properties_8b"` PropertiesNXB map[IOProperty][]byte `json:"properties_xb"` }
type IOProperty ¶
type IOProperty int
type Record ¶
func (*Record) ToProtobufDeviceStatus ¶
func (r *Record) ToProtobufDeviceStatus() *types.DeviceStatus
type Response ¶
func (*Response) ToProtobufDeviceResponse ¶
func (r *Response) ToProtobufDeviceResponse() *types.DeviceResponse
Click to show internal directories.
Click to hide internal directories.