driver

package
v1.0.24 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2024 License: LGPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DriverItem

type DriverItem struct {
	Type          string
	Read          Translation
	Write         Translation
	Frequency     *int
	IsSensor      bool
	PairingNeeded bool
	HDesc         *HardwareDescriptor
}

DriverItem driver for an item type

type DriversManager

type DriversManager struct {
	sync.Mutex
	// contains filtered or unexported fields
}

DriversManager contains all the driver known by the firmware

func (*DriversManager) GetDriverItem

func (dm *DriversManager) GetDriverItem(id string, version string) (*DriverItem, bool)

GetDriverItem to get a driver item If the item is not in the struct, the function will try to find it on the disk

func (*DriversManager) InitDriversManager

func (dm *DriversManager) InitDriversManager()

InitDriversManager init the the struct

type Formula

type Formula struct {
	FormulaType           *string  `json:"translationType,omitempty"`
	Map                   string   `json:"map"`
	A                     *float64 `json:"a,omitempty"`
	B                     *float64 `json:"b,omitempty"`
	G                     *float64 `json:"g,omitempty"`
	StartWith             *string  `json:"startWith,omitempty"`
	ConstantPart          *string  `json:"constantPart,omitempty"`
	ValueFirstIndex       *int     `json:"valueFirstIndex,omitempty"`
	ValueLastIndex        *int     `json:"valueLastIndex,omitempty"`
	LearnBitIndex         *int     `json:"LRNBIndex,omitempty"`
	LearnBitValue         *int     `json:"learnBitValue,omitempty"`
	DIVFirstIndex         *int     `json:"divFirstIndex,omitempty"`
	DIVLastIndex          *int     `json:"divLastIndex,omitempty"`
	DivMap                *string  `json:"divMap,omitempty"`
	DataTypeIndex         *int     `json:"DTIndex,omitempty"`
	DTIndexLength         *int     `json:"DTIndexLength,omitempty"`
	DataTypeToExtract     *int     `json:"datatypeToExtract,omitempty"`
	ChannelIndex          *int     `json:"channelIndex,omitempty"`
	ChannelIndexLength    *int     `json:"channelIndexLength,omitempty"`
	ChannelIndexToExtract *int     `json:"channelIndexToExtract,omitempty"`
	HasFrameCounter       *bool    `json:"hasFrameCounter,omitempty"`
}

Formula struct for a formula

type HardwareDescriptor

type HardwareDescriptor struct {
	IsSensor            bool               `json:"sensor"`
	CommunicationType   *string            `json:"communicationType"`
	Protocol            *string            `json:"protocol"`
	ApplicationProtocol *string            `json:"applicationProtocol"`
	ChannelIndex        *int               `json:"channelIndex,omitempty"`
	EoRorg              *int8              `json:"eoRorg,omitempty"`
	EoFunc              *int8              `json:"eoFunc,omitempty"`
	Type                *int8              `json:"type,omitempty"`
	RemoteLearning      *bool              `json:"remoteLearning,omitempty"`
	UsesTriggers        *bool              `json:"usesTriggers,omitempty"`
	ExtendedType        *string            `json:"extendedType,omitempty"`
	ResetValue          *float64           `json:"resetValue,omitempty"`
	Formula             map[string]Formula `json:"formulas"`
	Frequency           *int               `json:"frequency,omitempty"`
	PairingNeeded       bool               `json:"pairingNeeded,omitempty"`

	// For sensor
	RequestFrame *string `json:"requestFrame,omitempty"`

	// For actuator
	AckFrame          *string `json:"ackFrame,omitempty"`
	StateRequestDelay *int    `json:"stateRequestDelay,omitempty"`
	AutoStateResponse *bool   `json:"autoStateResponse,omitempty"`
	StateRequestFrame *string `json:"stateRequestFrame,omitempty"`
	UrlToPropagate    *string `json:"urlToPropagate,omitempty"`
}

HardwareDescriptor struct for an hardware descriptor from hemis

type Translation

type Translation struct {
	Field string
	Map   map[interface{}]interface{}
	A     float64
}

Translation translation formula

func (*Translation) Translate

func (t *Translation) Translate(data interface{}) interface{}

Translate to convert a data into the right format

Jump to

Keyboard shortcuts

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