wifinina

package
v0.0.0-...-3bb5b45 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2019 License: BSD-3-Clause Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MaxSockets  = 4
	MaxNetworks = 10
	MaxAttempts = 10

	MaxLengthSSID   = 32
	MaxLengthWPAKey = 63
	MaxLengthWEPKey = 13

	LengthMacAddress = 6
	LengthIPV4       = 4

	WlFailure = -1
	WlSuccess = 1

	StatusNoShield       ConnectionStatus = 255
	StatusIdle           ConnectionStatus = 0
	StatusNoSSIDAvail    ConnectionStatus = 1
	StatusScanCompleted  ConnectionStatus = 2
	StatusConnected      ConnectionStatus = 3
	StatusConnectFailed  ConnectionStatus = 4
	StatusConnectionLost ConnectionStatus = 5
	StatusDisconnected   ConnectionStatus = 6

	EncTypeTKIP EncryptionType = 2
	EncTypeCCMP EncryptionType = 4
	EncTypeWEP  EncryptionType = 5
	EncTypeNone EncryptionType = 7
	EncTypeAuto EncryptionType = 8

	TCPStateClosed      = 0
	TCPStateListen      = 1
	TCPStateSynSent     = 2
	TCPStateSynRcvd     = 3
	TCPStateEstablished = 4
	TCPStateFinWait1    = 5
	TCPStateFinWait2    = 6
	TCPStateCloseWait   = 7
	TCPStateClosing     = 8
	TCPStateLastACK     = 9
	TCPStateTimeWait    = 10

	FlagCmd   = 0
	FlagReply = 1 << 7
	FlagData  = 0x40

	NinaCmdPos      = 1
	NinaParamLenPos = 2

	CmdStart = 0xE0
	CmdEnd   = 0xEE
	CmdErr   = 0xEF

	CmdSetNet          = 0x10
	CmdSetPassphrase   = 0x11
	CmdSetKey          = 0x12
	CmdSetIPConfig     = 0x14
	CmdSetDNSConfig    = 0x15
	CmdSetHostname     = 0x16
	CmdSetPowerMode    = 0x17
	CmdSetAPNet        = 0x18
	CmdSetAPPassphrase = 0x19
	CmdSetDebug        = 0x1A
	CmdGetTemperature  = 0x1B
	CmdGetReasonCode   = 0x1F

	CmdGetConnStatus     = 0x20
	CmdGetIPAddr         = 0x21
	CmdGetMACAddr        = 0x22
	CmdGetCurrSSID       = 0x23
	CmdGetCurrBSSID      = 0x24
	CmdGetCurrRSSI       = 0x25
	CmdGetCurrEncrType   = 0x26
	CmdScanNetworks      = 0x27
	CmdStartServerTCP    = 0x28
	CmdGetStateTCP       = 0x29
	CmdDataSentTCP       = 0x2A
	CmdAvailDataTCP      = 0x2B
	CmdGetDataTCP        = 0x2C
	CmdStartClientTCP    = 0x2D
	CmdStopClientTCP     = 0x2E
	CmdGetClientStateTCP = 0x2F
	CmdDisconnect        = 0x30
	CmdGetIdxRSSI        = 0x32
	CmdGetIdxEncrType    = 0x33
	CmdReqHostByName     = 0x34
	CmdGetHostByName     = 0x35
	CmdStartScanNetworks = 0x36
	CmdGetFwVersion      = 0x37
	CmdSendDataUDP       = 0x39
	CmdGetRemoteData     = 0x3A
	CmdGetTime           = 0x3B
	CmdGetIdxBSSID       = 0x3C
	CmdGetIdxChannel     = 0x3D
	CmdPing              = 0x3E
	CmdGetSocket         = 0x3F

	// All command with DATA_FLAG 0x40 send a 16bit Len
	CmdSendDataTCP   = 0x44
	CmdGetDatabufTCP = 0x45
	CmdInsertDataBuf = 0x46

	// regular format commands
	CmdSetPinMode      = 0x50
	CmdSetDigitalWrite = 0x51
	CmdSetAnalogWrite  = 0x52

	ErrTimeoutSlaveReady  Error = 0x01
	ErrTimeoutSlaveSelect Error = 0x02
	ErrCheckStartCmd      Error = 0x03
	ErrWaitRsp            Error = 0x04
	ErrUnexpectedLength   Error = 0xE0
	ErrNoParamsReturned   Error = 0xE1
	ErrIncorrectSentinel  Error = 0xE2
	ErrCmdErrorReceived   Error = 0xEF
	ErrNotImplemented     Error = 0xF0
	ErrUnknownHost        Error = 0xF1
	ErrSocketAlreadySet   Error = 0xF2
	ErrConnectionTimeout  Error = 0xF3
	ErrNoData             Error = 0xF4
	ErrDataNotWritten     Error = 0xF5
	ErrCheckDataError     Error = 0xF6
	ErrBufferTooSmall     Error = 0xF7
	ErrNoSocketAvail      Error = 0xFF

	NoSocketAvail uint8 = 0xFF
)
View Source
const (
	ProtoModeTCP = iota
	ProtoModeUDP
	ProtoModeTLS
	ProtoModeMul
)
View Source
const (
	ReadBufferSize = 128
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ConnectionStatus

type ConnectionStatus uint8

func (ConnectionStatus) String

func (c ConnectionStatus) String() string

type Device

type Device struct {
	SPI   machine.SPI
	CS    machine.Pin
	ACK   machine.Pin
	GPIO0 machine.Pin
	RESET machine.Pin
	// contains filtered or unexported fields
}

func (*Device) CheckDataSent

func (d *Device) CheckDataSent(sock uint8) (bool, error)

func (*Device) Configure

func (d *Device) Configure()

func (*Device) Disconnect

func (d *Device) Disconnect() error

func (*Device) GetClientState

func (d *Device) GetClientState(sock uint8) (uint8, error)

func (*Device) GetConnectionStatus

func (d *Device) GetConnectionStatus() (ConnectionStatus, error)

func (*Device) GetCurrentBSSID

func (d *Device) GetCurrentBSSID() (MACAddress, error)

func (*Device) GetCurrentEncryptionType

func (d *Device) GetCurrentEncryptionType() (EncryptionType, error)

func (*Device) GetCurrentRSSI

func (d *Device) GetCurrentRSSI() (int32, error)

func (*Device) GetCurrentSSID

func (d *Device) GetCurrentSSID() (string, error)

func (*Device) GetDataBuf

func (d *Device) GetDataBuf(sock uint8, buf []byte) (int, error)

func (*Device) GetFwVersion

func (d *Device) GetFwVersion() (string, error)

func (*Device) GetHostByName

func (d *Device) GetHostByName(hostname string) (IPAddress, error)

func (*Device) GetIP

func (d *Device) GetIP() (ip, subnet, gateway IPAddress, err error)

func (*Device) GetMACAddress

func (d *Device) GetMACAddress() (MACAddress, error)

func (*Device) GetNetworkBSSID

func (d *Device) GetNetworkBSSID(idx int) (MACAddress, error)

func (*Device) GetNetworkChannel

func (d *Device) GetNetworkChannel(idx int) (uint8, error)

func (*Device) GetNetworkEncrType

func (d *Device) GetNetworkEncrType(idx int) (EncryptionType, error)

func (*Device) GetNetworkRSSI

func (d *Device) GetNetworkRSSI(idx int) (int32, error)

func (*Device) GetNetworkSSID

func (d *Device) GetNetworkSSID(idx int) string

func (*Device) GetReasonCode

func (d *Device) GetReasonCode() (uint8, error)

func (*Device) GetSocket

func (d *Device) GetSocket() (uint8, error)

func (*Device) GetTemperature

func (d *Device) GetTemperature() (float32, error)

func (*Device) GetTime

func (d *Device) GetTime() (string, error)

func (*Device) NewDriver

func (d *Device) NewDriver() net.DeviceDriver

func (*Device) Ping

func (d *Device) Ping(ip IPAddress, ttl uint8) int16

func (*Device) ScanNetworks

func (d *Device) ScanNetworks() (uint8, error)

func (*Device) SendData

func (d *Device) SendData(buf []byte, sock uint8) (uint16, error)

func (*Device) SetDNS

func (d *Device) SetDNS(which uint8, dns1 uint32, dns2 uint32) error

func (*Device) SetDebug

func (d *Device) SetDebug(on bool) error

func (*Device) SetHostname

func (d *Device) SetHostname(hostname string) error

func (*Device) SetIP

func (d *Device) SetIP(which uint8, ip uint32, gw uint32, subnet uint32) error

func (*Device) SetKey

func (d *Device) SetKey(ssid string, index uint8, key string) error

func (*Device) SetNetwork

func (d *Device) SetNetwork(ssid string) error

func (*Device) SetNetworkForAP

func (d *Device) SetNetworkForAP(ssid string) error

func (*Device) SetPassphrase

func (d *Device) SetPassphrase(ssid string, passphrase string) error

func (*Device) SetPassphraseForAP

func (d *Device) SetPassphraseForAP(ssid string, passphrase string) error

func (*Device) SetPowerMode

func (d *Device) SetPowerMode(mode uint8) error

func (*Device) StartClient

func (d *Device) StartClient(addr uint32, port uint16, sock uint8, mode uint8) error

func (*Device) StartScanNetworks

func (d *Device) StartScanNetworks() (uint8, error)

func (*Device) StopClient

func (d *Device) StopClient(sock uint8) error

type Driver

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

func (*Driver) ConnectSSLSocket

func (drv *Driver) ConnectSSLSocket(addr, portStr string) error

func (*Driver) ConnectTCPSocket

func (drv *Driver) ConnectTCPSocket(addr, portStr string) error

func (*Driver) ConnectUDPSocket

func (drv *Driver) ConnectUDPSocket(addr, sport, lport string) error

func (*Driver) DisconnectSocket

func (drv *Driver) DisconnectSocket() error

func (*Driver) GetDNS

func (drv *Driver) GetDNS(domain string) (string, error)

func (*Driver) IsConnected

func (drv *Driver) IsConnected() (bool, error)

func (*Driver) IsSocketDataAvailable

func (drv *Driver) IsSocketDataAvailable() bool

IsSocketDataAvailable returns of there is socket data available

func (*Driver) ReadSocket

func (drv *Driver) ReadSocket(b []byte) (n int, err error)

func (*Driver) Response

func (drv *Driver) Response(timeout int) ([]byte, error)

func (*Driver) StartSocketSend

func (drv *Driver) StartSocketSend(size int) error

func (*Driver) Write

func (drv *Driver) Write(b []byte) (n int, err error)

type EncryptionType

type EncryptionType uint8

func (EncryptionType) String

func (e EncryptionType) String() string

type Error

type Error uint8

func (Error) Error

func (err Error) Error() string

type IPAddress

type IPAddress string // TODO: does WiFiNINA support ipv6???

func ParseIPv4

func ParseIPv4(s string) (IPAddress, error)

func (IPAddress) AsUint32

func (addr IPAddress) AsUint32() uint32

func (IPAddress) String

func (addr IPAddress) String() string

type MACAddress

type MACAddress uint64

func (MACAddress) String

func (addr MACAddress) String() string

Jump to

Keyboard shortcuts

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