common

package
v0.0.0-...-5f8cf3a Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2019 License: BSD-3-Clause Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MaxNumber Number = Number(math.MaxFloat64)
	MinNumber Number = Number(-math.MaxFloat64)
	// Ref: https://en.wikipedia.org/wiki/Double-precision_floating-point_format#IEEE_754_double-precision_binary_floating-point_format:_binary64
	// The 53-bit significand precision gives from 15 to 17 significant decimal digits precision (2^−53 ≈ 1.11 × 10^−16). If a decimal string with at most 15 significant digits is converted to IEEE 754 double-precision representation, and then converted back to a decimal string with the same number of digits, the final result should match the original string. If an IEEE 754 double-precision number is converted to a decimal string with at least 17 significant digits, and then converted back to double-precision representation, the final result must match the original number.
	MaxIntNumber  int64  = 1e16
	MinIntNumber  int64  = -1e16
	MaxUintNumber uint64 = 1e16
)

Variables

View Source
var AlarmState_name = map[int32]string{
	0: "Overflow",
	1: "Underflow",
	2: "AutoCanceled",
	3: "ManualCanceled",
}
View Source
var AlarmState_value = map[string]int32{
	"Overflow":       0,
	"Underflow":      1,
	"AutoCanceled":   2,
	"ManualCanceled": 3,
}
View Source
var InvalidPackedLengthError error = errors.New("Invalid format for PackedLength")
View Source
var (
	NumberType reflect.Type = reflect.TypeOf(Number(0))
)

Functions

func AppendPackedLength

func AppendPackedLength(dest *ByteArray, length uint32)

func ByteCountOfPackedLength

func ByteCountOfPackedLength(length uint32) int

func ByteToHexString

func ByteToHexString(b byte) string

func CheckBufferSize

func CheckBufferSize(buf []byte, requiredLength int, args ...interface{})

func Float32Epsilon

func Float32Epsilon() float32

func Float64Epsilon

func Float64Epsilon() float64

func HexStringToByte

func HexStringToByte(s string) (byte, error)

func MarshalObject

func MarshalObject(obj encoding.BinaryMarshaler) []byte

func MarshalProtoMessage

func MarshalProtoMessage(pb proto.Message) ([]byte, error)

func MarshalSimpleType

func MarshalSimpleType(d interface{}) []byte

func MarshalString

func MarshalString(s string) []byte

func SetByteOrder

func SetByteOrder(o binary.ByteOrder)

func SetErrorWhenMarshalObjectErrorPanic

func SetErrorWhenMarshalObjectErrorPanic(typeName string, err *error) func()

func SetErrorWhenUnmarshalObjectErrorPanic

func SetErrorWhenUnmarshalObjectErrorPanic(typeName string, err *error) func()

func UnmarshalObject

func UnmarshalObject(dest BinaryUnmarshalerWithSize, data []byte) int

func UnmarshalProtoMessage

func UnmarshalProtoMessage(data []byte, out proto.Message) int

func UnmarshalSimpleType

func UnmarshalSimpleType(p interface{}, data []byte) int

func UnmarshalString

func UnmarshalString(dest *string, data []byte) int

func UnpackLength

func UnpackLength(data ByteArray) (uint32, error)

Types

type Alarm

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

func NewAlarm

func NewAlarm(data *NamedData, alarmRange Range, ignoreCount uint32) Alarm

func (*Alarm) AlarmCount

func (a *Alarm) AlarmCount() uint32

func (*Alarm) CancelAlarm

func (a *Alarm) CancelAlarm()

func (*Alarm) Check

func (a *Alarm) Check()

func (*Alarm) DataId

func (a *Alarm) DataId() string

func (*Alarm) Disable

func (a *Alarm) Disable()

func (*Alarm) Enable

func (a *Alarm) Enable()

func (*Alarm) IgnoreCount

func (a *Alarm) IgnoreCount() uint32

func (*Alarm) IsAlarming

func (a *Alarm) IsAlarming() bool

func (*Alarm) IsEnabled

func (a *Alarm) IsEnabled() bool

func (*Alarm) LastAlarmTime

func (a *Alarm) LastAlarmTime() time.Time

func (*Alarm) LastAlarmValue

func (a *Alarm) LastAlarmValue() Number

func (*Alarm) LastCancelTime

func (a *Alarm) LastCancelTime() time.Time

func (*Alarm) LastCancelValue

func (a *Alarm) LastCancelValue() Number

func (*Alarm) OnAlarm

func (a *Alarm) OnAlarm(f func(Number, *Alarm)) *Alarm

func (*Alarm) OnAlarmCanceled

func (a *Alarm) OnAlarmCanceled(f func(Number, *Alarm)) *Alarm

func (*Alarm) Range

func (a *Alarm) Range() Range

func (*Alarm) SetEnable

func (a *Alarm) SetEnable(en bool)

func (*Alarm) SetIgnoreCount

func (a *Alarm) SetIgnoreCount(c uint32) *Alarm

func (*Alarm) SetRange

func (a *Alarm) SetRange(newRange Range) *Alarm

func (*Alarm) State

func (a *Alarm) State() AlarmState

type AlarmRecord

type AlarmRecord struct {
	DataId string
	State  AlarmState
	Value  Number
	Bound  Number
	Time   time.Time
}

func NewAlarmRecord

func NewAlarmRecord(a *Alarm) AlarmRecord

func (*AlarmRecord) FromProtoMessage

func (v *AlarmRecord) FromProtoMessage(p *types.SAlarmInfo)

func (*AlarmRecord) MarshalBinary

func (a *AlarmRecord) MarshalBinary() (data []byte, err error)

MarshalBinary implements the encoding.BinaryMarshaler interface.

func (*AlarmRecord) ToProtoMessage

func (a *AlarmRecord) ToProtoMessage() *types.SAlarmInfo

func (*AlarmRecord) UnmarshalBinary

func (v *AlarmRecord) UnmarshalBinary(data []byte) error

UnmarshalBinary implements the encoding.BinaryUnmarshaler interface.

func (*AlarmRecord) UnmarshalBinaryWithSize

func (v *AlarmRecord) UnmarshalBinaryWithSize(data []byte) (_ int, err error)

UnmarshalBinaryWithSize implements the common.BinaryUnmarshalerWithSize interface.

type AlarmState

type AlarmState int32
const (
	OverFlow       AlarmState = 0
	UnderFlow      AlarmState = 1
	AutoCanceled   AlarmState = 2
	ManualCanceled AlarmState = 3
)

type BinaryUnmarshalerWithSize

type BinaryUnmarshalerWithSize interface {
	UnmarshalBinaryWithSize(data []byte) (int, error)
}

type ByteArray

type ByteArray []byte

func NewByteArray

func NewByteArray(args ...interface{}) *ByteArray

func PackLength

func PackLength(length uint32) ByteArray

func (*ByteArray) AddCrc16

func (ba *ByteArray) AddCrc16()

func (*ByteArray) AppendByte

func (ba *ByteArray) AppendByte(b byte)

func (*ByteArray) AppendBytes

func (ba *ByteArray) AppendBytes(arr []byte)

func (*ByteArray) AppendIntAsByte

func (ba *ByteArray) AppendIntAsByte(i int)

func (*ByteArray) AppendString

func (ba *ByteArray) AppendString(s string)

func (*ByteArray) Assign

func (ba *ByteArray) Assign(data []byte)

func (*ByteArray) AssignByCopy

func (ba *ByteArray) AssignByCopy(data []byte)

func (ByteArray) Clone

func (ba ByteArray) Clone() ByteArray

func (ByteArray) Crc16

func (ba ByteArray) Crc16() uint16

func (ByteArray) Crc32

func (ba ByteArray) Crc32() uint32

func (ByteArray) Crc8

func (ba ByteArray) Crc8() byte

func (*ByteArray) FromProtoMessage

func (ba *ByteArray) FromProtoMessage(p *types.WSByteArray)

func (ByteArray) Len

func (ba ByteArray) Len() int

func (*ByteArray) MarshalBinary

func (ba *ByteArray) MarshalBinary() (_ []byte, err error)

MarshalBinary implements the encoding.BinaryMarshaler interface.

func (*ByteArray) ToProtoMessage

func (ba *ByteArray) ToProtoMessage() *types.WSByteArray

func (ByteArray) ToString

func (ba ByteArray) ToString() string

func (ByteArray) ToStringEx

func (ba ByteArray) ToStringEx(
	withLen bool, sep string, prefix string, suffix string) string

func (*ByteArray) UnmarshalBinary

func (ba *ByteArray) UnmarshalBinary(data []byte) error

UnmarshalBinary implements the encoding.BinaryUnmarshaler interface.

func (*ByteArray) UnmarshalBinaryWithSize

func (ba *ByteArray) UnmarshalBinaryWithSize(data []byte) (_ int, err error)

UnmarshalBinaryWithSize implements the common.BinaryUnmarshalerWithSize interface.

type MarshalObjectError

type MarshalObjectError error

func NewMarshalObjectError

func NewMarshalObjectError(err error) MarshalObjectError

type NamedData

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

func NewNamedData

func NewNamedData(id string, name string, initValue Number,
	dataRange Range) NamedData

func (*NamedData) AddCheckReadMethod

func (data *NamedData) AddCheckReadMethod(
	f func(*NamedData, Number) bool)

func (*NamedData) AddCheckWriteMethod

func (data *NamedData) AddCheckWriteMethod(
	f func(*NamedData, Number) bool)

func (*NamedData) Error

func (data *NamedData) Error() *Alarm

func (*NamedData) FromProtoMessage

func (v *NamedData) FromProtoMessage(p *types.WSData)

func (*NamedData) Id

func (data *NamedData) Id() string

func (*NamedData) IsAutoCheck

func (data *NamedData) IsAutoCheck() bool

func (*NamedData) IsReadable

func (data *NamedData) IsReadable() bool

func (*NamedData) IsWritable

func (data *NamedData) IsWritable(newValue Number) bool

func (*NamedData) MarshalBinary

func (data *NamedData) MarshalBinary() (result []byte, err error)

MarshalBinary implements the encoding.BinaryMarshaler interface.

func (*NamedData) Name

func (data *NamedData) Name() string

func (*NamedData) OnModified

func (data *NamedData) OnModified(
	f func(*NamedData, Number, Number))

func (*NamedData) OnRangeModified

func (data *NamedData) OnRangeModified(f func(Range, Range))

func (*NamedData) Range

func (data *NamedData) Range() Range

func (*NamedData) SetAutoCheck

func (data *NamedData) SetAutoCheck(b bool)

func (*NamedData) SetName

func (data *NamedData) SetName(s string)

func (*NamedData) SetRane

func (data *NamedData) SetRane(r Range) bool

func (*NamedData) SetValue

func (data *NamedData) SetValue(newValue Number) bool

func (*NamedData) SignalCheckRead

func (data *NamedData) SignalCheckRead() SignalDataCheck

func (*NamedData) SignalCheckWrite

func (data *NamedData) SignalCheckWrite() SignalDataCheck

func (*NamedData) ToProtoMessage

func (v *NamedData) ToProtoMessage() *types.WSData

func (*NamedData) UnmarshalBinary

func (v *NamedData) UnmarshalBinary(data []byte) error

UnmarshalBinary implements the encoding.BinaryUnmarshaler interface.

func (*NamedData) UnmarshalBinaryWithSize

func (v *NamedData) UnmarshalBinaryWithSize(data []byte) (_ int, err error)

UnmarshalBinaryWithSize implements the common.BinaryUnmarshalerWithSize interface.

func (*NamedData) Value

func (data *NamedData) Value() Number

func (*NamedData) Warning

func (data *NamedData) Warning() *Alarm

type Number

type Number float64
const (
	InvalidValue Number = -1
)

func NewNumber

func NewNumber(d interface{}) *Number

func (*Number) FromProtoMessage

func (v *Number) FromProtoMessage(p *types.WSNumber)

func (*Number) MarshalBinary

func (v *Number) MarshalBinary() (_ []byte, err error)

MarshalBinary implements the encoding.BinaryMarshaler interface.

func (Number) ToByte

func (v Number) ToByte() byte

func (Number) ToFloat32

func (v Number) ToFloat32() float32

func (Number) ToFloat64

func (v Number) ToFloat64() float64

func (Number) ToInt16

func (v Number) ToInt16() int16

func (Number) ToInt32

func (v Number) ToInt32() int32

func (Number) ToInt64

func (v Number) ToInt64() int64

func (Number) ToInt8

func (v Number) ToInt8() int8

func (*Number) ToProtoMessage

func (v *Number) ToProtoMessage() *types.WSNumber

func (Number) ToUint16

func (v Number) ToUint16() uint16

func (Number) ToUint32

func (v Number) ToUint32() uint32

func (Number) ToUint64

func (v Number) ToUint64() uint64

func (Number) ToUint8

func (v Number) ToUint8() uint8

func (*Number) UnmarshalBinary

func (v *Number) UnmarshalBinary(data []byte) error

UnmarshalBinary implements the encoding.BinaryUnmarshaler interface.

func (*Number) UnmarshalBinaryWithSize

func (v *Number) UnmarshalBinaryWithSize(data []byte) (_ int, err error)

UnmarshalBinaryWithSize implements the common.BinaryUnmarshalerWithSize interface.

type Range

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

func MaxRange

func MaxRange() Range

func NewRange

func NewRange(low Number, high Number) Range

func NewRangeFromInternalType

func NewRangeFromInternalType(low *types.WSNumber, high *types.WSNumber) Range

func (*Range) Change

func (r *Range) Change(low Number, high Number)

func (*Range) ChangeFromInternalType

func (r *Range) ChangeFromInternalType(low *types.WSNumber, high *types.WSNumber)

func (Range) High

func (r Range) High() Number

func (Range) Low

func (r Range) Low() Number

type SignalAlarm

type SignalAlarm []func(Number, *Alarm)

func (*SignalAlarm) Connect

func (sig *SignalAlarm) Connect(f func(Number, *Alarm))

type SignalDataCheck

type SignalDataCheck []func(*NamedData, Number) bool

func (*SignalDataCheck) Connect

func (sig *SignalDataCheck) Connect(f func(*NamedData, Number) bool)

type SignalDataModified

type SignalDataModified []func(*NamedData, Number, Number)

func (*SignalDataModified) Connect

func (sig *SignalDataModified) Connect(
	f func(*NamedData, Number, Number))

type SignalDataRangeModified

type SignalDataRangeModified []func(Range, Range)

func (*SignalDataRangeModified) Connect

func (sig *SignalDataRangeModified) Connect(f func(Range, Range))

type UnmarshalObjectError

type UnmarshalObjectError error

func NewNotEnoughDataError

func NewNotEnoughDataError(required, offer, offset int) UnmarshalObjectError

func NewUnmarshalObjectError

func NewUnmarshalObjectError(err error) UnmarshalObjectError

Jump to

Keyboard shortcuts

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