codec

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2022 License: GPL-3.0 Imports: 11 Imported by: 2

Documentation

Overview

Package codec is define Encoder and Decoder for GB26875.3-2011

Index

Constants

View Source
const (
	HeadFlag          byte = 0x40 // packet header flag: 0x40 0x40
	TailFlag          byte = 0x23 // packet tail flag 0x23 0x23
	DefaultHeadLength int  = 26   // packet header length head_flag 2byte + serial 2byte + version 2byte + timestamp 6byte + source 6byte + target 6byte + data length 2byte
	DefaultTailLength int  = 3    // packet tail length check sum 1byte + tail flag 2byte
)

Variables

View Source
var (
	ErrPacketInvalid         = errors.New("packet invalid")          // packet is invalid
	ErrPacketNotEnough       = errors.New("packet not enough")       // packet data not enough
	ErrPacketChecksumInvalid = errors.New("packet checksum invalid") // packet checksum invalid

)

define errors

Functions

func Decode

func Decode(b []byte) (*constant.Packet, int, error)

Decode is decoded bytes to GB26875.3-2011 packet

func DecodeAppData

func DecodeAppData(packet *constant.Packet)

DecodeAppData decode the application data

func Encode

func Encode(packet *constant.Packet) ([]byte, error)

Encode is encoded GB26875.3-2011 packet to bytes

func NewInitializeTransmissionAppData

func NewInitializeTransmissionAppData() []byte

NewInitializeTransmissionAppData create a initialize transmission app data request

func NewInspectSentriesAppData

func NewInspectSentriesAppData(timeoutMinute int) []byte

NewInspectSentriesAppData create a inspect sentries app data request

func NewQueryEquipmentConfigureAppData

func NewQueryEquipmentConfigureAppData(equipments ...constant.Equipment) []byte

NewQueryEquipmentConfigureAppData create a query equipment configure app data request

func NewQueryEquipmentParameterAppData

func NewQueryEquipmentParameterAppData(equipments ...constant.Equipment) []byte

NewQueryEquipmentParameterAppData create a query equipment parameter app data request

func NewQueryEquipmentStateAppData

func NewQueryEquipmentStateAppData(equipments ...constant.Equipment) []byte

NewQueryEquipmentStateAppData create a query equipment state app data request

func NewQuerySystemConfigureAppData

func NewQuerySystemConfigureAppData(controllers ...constant.Controller) []byte

NewQuerySystemConfigureAppData create a query system configure app data request

func NewQuerySystemOperatingInformationAppData

func NewQuerySystemOperatingInformationAppData(controller constant.Controller, total int, startTime time.Time) []byte

NewQuerySystemOperatingInformationAppData create a query system operating information app data request

func NewQuerySystemSoftwareVersionAppData

func NewQuerySystemSoftwareVersionAppData(controller constant.Controller) []byte

NewQuerySystemSoftwareVersionAppData create a query system software version app data request

func NewQuerySystemStateAppData

func NewQuerySystemStateAppData(controllers ...constant.Controller) []byte

NewQuerySystemStateAppData create a query system state app data request

func NewQuerySystemTimeAppData

func NewQuerySystemTimeAppData(controller constant.Controller) []byte

NewQuerySystemTimeAppData create a query system time app data request

func NewQueryTransmissionConfigureAppData

func NewQueryTransmissionConfigureAppData() []byte

NewQueryTransmissionConfigureAppData create a query transmission configure app data request

func NewQueryTransmissionOperatingInformationAppData

func NewQueryTransmissionOperatingInformationAppData(total int, startTime time.Time) []byte

NewQueryTransmissionOperatingInformationAppData create a query transmission operating information app data request

func NewQueryTransmissionSoftwareVersionAppData

func NewQueryTransmissionSoftwareVersionAppData() []byte

NewQueryTransmissionSoftwareVersionAppData create a query transmission software version app data request

func NewQueryTransmissionStateAppData

func NewQueryTransmissionStateAppData() []byte

NewQueryTransmissionStateAppData create a query transmission state app data request

func NewQueryTransmissionTimeAppData

func NewQueryTransmissionTimeAppData() []byte

NewQueryTransmissionTimeAppData create a query transmission time app data request

func NewSyncTransmissionTimeAppData

func NewSyncTransmissionTimeAppData(syncTime time.Time) []byte

NewSyncTransmissionTimeAppData create a sync transmission app data request

func RegistryAppDecoder

func RegistryAppDecoder(tp constant.AppType, fn AppDecoder) (overwrite bool)

RegistryAppDecoder registry app decoder

Types

type AppDataDecoder

type AppDataDecoder func(b []byte, packet *constant.Packet)

AppDataDecoder is decode app data func

func (AppDataDecoder) Decode

func (a AppDataDecoder) Decode(b []byte, packet *constant.Packet)

Decode is decode app data

type AppDecoder

type AppDecoder interface {
	Decode(b []byte, packet *constant.Packet)
}

AppDecoder is app data decoder

type Codec

type Codec interface {
	Encoder
	Decoder
}

Codec is Encoder and Decoder of GB26875.3-2011

type Decoder

type Decoder interface {
	Decode(b []byte) (*constant.Packet, int, error)
}

Decoder is decoded bytes to packet GB26875.3-2011

type Encoder

type Encoder interface {
	Encode(packet *constant.Packet) ([]byte, error)
}

Encoder is encoded packet to bytes

type ReaderDecoder

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

ReaderDecoder is a decoder for io.Reader

func NewReaderDecoder

func NewReaderDecoder(reader io.Reader) *ReaderDecoder

NewReaderDecoder is create ReaderDecoder

func (ReaderDecoder) Close

func (r ReaderDecoder) Close() error

Jump to

Keyboard shortcuts

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