classes

package
v0.0.0-...-7a68c68 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2022 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	//BeaconPeriod is a period beacons
	BeaconPeriod = 128
	//Pingslots is number of ping slots in one period beacon
	Pingslots = 4096
	//PingDuration is a duration of a slot (ms)
	PingDuration = 30
	//TimeoutClassB is a timeout by last dl (s)
	TimeoutClassB = 120
)
View Source
const (
	Close = iota
	Open
	Exit
)
View Source
const (
	ClassA = iota
	ClassB
	ClassC
)

Variables

View Source
var ClassRegistry = map[int]ClassType{
	ClassA: {func() Class { return &TypeA{} }},
	ClassB: {func() Class { return &TypeB{} }},
	ClassC: {func() Class { return &TypeC{} }},
}

Functions

This section is empty.

Types

type Class

type Class interface {
	Setup(*models.InformationDevice)
	SendData(rxpk pkt.RXPK)
	ReceiveWindows(time.Duration, time.Duration) *lorawan.PHYPayload
	RetransmissionCData(downlink *dl.InformationDownlink) error
	RetransmissionUnCData(downlink *dl.InformationDownlink) error
	GetClass() int
	ToString() string
	CloseRX2()
}

func GetClass

func GetClass(Code int) Class

type ClassType

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

type TypeA

type TypeA struct {
	Info *models.InformationDevice
}

func (*TypeA) CloseRX2

func (a *TypeA) CloseRX2()

func (*TypeA) GetClass

func (a *TypeA) GetClass() int

func (*TypeA) ReceiveWindows

func (a *TypeA) ReceiveWindows(delayRX1 time.Duration, delayRX2 time.Duration) *lorawan.PHYPayload

func (*TypeA) RetransmissionCData

func (a *TypeA) RetransmissionCData(downlink *dl.InformationDownlink) error

func (*TypeA) RetransmissionUnCData

func (a *TypeA) RetransmissionUnCData(downlink *dl.InformationDownlink) error

func (*TypeA) SendData

func (a *TypeA) SendData(rxpk pkt.RXPK)

func (*TypeA) Setup

func (a *TypeA) Setup(info *models.InformationDevice)

func (*TypeA) ToString

func (a *TypeA) ToString() string

type TypeB

type TypeB struct {
	Info *models.InformationDevice
}

TypeB è implementata come la classe A

func (*TypeB) CloseRX2

func (b *TypeB) CloseRX2()

func (*TypeB) GetClass

func (b *TypeB) GetClass() int

func (*TypeB) ReceiveWindows

func (b *TypeB) ReceiveWindows(delayRX1 time.Duration, delayRX2 time.Duration) *lorawan.PHYPayload

func (*TypeB) RetransmissionCData

func (b *TypeB) RetransmissionCData(downlink *dl.InformationDownlink) error

func (*TypeB) RetransmissionUnCData

func (b *TypeB) RetransmissionUnCData(downlink *dl.InformationDownlink) error

func (*TypeB) SendData

func (b *TypeB) SendData(rxpk pkt.RXPK)

func (*TypeB) Setup

func (b *TypeB) Setup(info *models.InformationDevice)

func (*TypeB) ToString

func (b *TypeB) ToString() string

type TypeC

type TypeC struct {
	Info      *models.InformationDevice
	Supported bool `json:"supported"`

	Mutex    sync.Mutex `json:"-"`
	Open     int        `json:"-"`
	CondOpen *sync.Cond `json:"-"`
}

TypeC mode

func (*TypeC) CloseRX2

func (c *TypeC) CloseRX2()

func (*TypeC) CloseWindow

func (c *TypeC) CloseWindow()

func (*TypeC) GetClass

func (c *TypeC) GetClass() int

func (*TypeC) OpenWindow

func (c *TypeC) OpenWindow()

func (*TypeC) RX2

func (c *TypeC) RX2()

func (*TypeC) ReceiveWindows

func (c *TypeC) ReceiveWindows(delayRX1 time.Duration, delayRX2 time.Duration) *lorawan.PHYPayload

func (*TypeC) RetransmissionCData

func (c *TypeC) RetransmissionCData(downlink *dl.InformationDownlink) error

func (*TypeC) RetransmissionUnCData

func (c *TypeC) RetransmissionUnCData(downlink *dl.InformationDownlink) error

func (*TypeC) SendData

func (c *TypeC) SendData(rxpk pkt.RXPK)

func (*TypeC) Setup

func (c *TypeC) Setup(info *models.InformationDevice)

func (*TypeC) ToString

func (c *TypeC) ToString() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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