Socket APIs: Socket register access functions

Wiznet Socket API

Socket register access functions

These are functions to access socket registers. More...

Macros

#define setSn_MR(sn, mr)   WIZCHIP_WRITE(Sn_MR(sn),mr)
 Set Sn_MR register. More...
 
#define getSn_MR(sn)   WIZCHIP_READ(Sn_MR(sn))
 Get Sn_MR register. More...
 
#define setSn_CR(sn, cr)   WIZCHIP_WRITE(Sn_CR(sn), ((uint16_t)cr) & 0x00FF)
 Set Sn_CR register. More...
 
#define getSn_CR(sn)   ((uint8_t)WIZCHIP_READ(Sn_CR(sn)))
 Get Sn_CR register. More...
 
#define setSn_IMR(sn, imr)   WIZCHIP_WRITE(Sn_IMR(sn), ((uint16_t)imr) & 0x00FF)
 Set Sn_IMR register. More...
 
#define getSn_IMR(sn)   ((uint8_t)WIZCHIP_READ(Sn_IMR(sn)))
 Get Sn_IMR register. More...
 
#define setSn_IR(sn, ir)   WIZCHIP_WRITE(Sn_IR(sn), ((uint16_t)ir) & 0x00FF)
 Set Sn_IR register. More...
 
#define getSn_IR(sn)   ((uint8_t)WIZCHIP_READ(Sn_IR(sn)))
 Get Sn_IR register. More...
 
#define getSn_SSR(sn)   ((uint8_t)WIZCHIP_READ(Sn_SR(sn)))
 Get Sn_SR register. More...
 
#define setSn_PORTR(sn, port)   WIZCHIP_WRITE(Sn_PORTR(sn), port)
 Set Sn_PORTR register. More...
 
#define getSn_PORTR(sn, port)   WIZCHIP_READ(Sn_PORTR(sn))
 Get Sn_PORTR register. More...
 
#define setSn_DHAR(sn, dhar)
 Set Sn_DHAR register. More...
 
#define getSn_DHAR(sn, dhar)
 Get Sn_MR register. More...
 
#define setSn_DPORTR(sn, dport)   WIZCHIP_WRITE(Sn_DPORTR(sn),dport)
 Set Sn_DPORT register. More...
 
#define getSn_DPORTR(sn)   WIZCHIP_READ(Sn_DPORTR(sn))
 Get Sn_DPORT register. More...
 
#define setSn_DIPR(sn, dipr)
 Set Sn_DIPR register. More...
 
#define getSn_DIPR(sn, dipr)
 Get Sn_DIPR register. More...
 
#define setSn_MSSR(sn, mss)   WIZCHIP_WRITE(Sn_MSSR(sn), mss)
 Set Sn_MSSR register. More...
 
#define getSn_MSSR(sn)   WIZCHIP_READ(Sn_MSSR(sn))
 Get Sn_MSSR register. More...
 
#define setSn_KPALVTR(sn, kpalvt)   WIZCHIP_WRITE(Sn_KPALVTR(sn), (WIZCHIP_READ(Sn_KPALVTR(sn)) & 0x00FF) | (((uint16_t)kpalvt)<<8))
 Set Sn_KPALVTR register. More...
 
#define getSn_KPALVTR(sn)   ((uint8_t)(WIZCHIP_READ(Sn_KPALVTR(sn)) >> 8))
 Get Sn_KPALVTR register. More...
 
#define setSn_PROTOR(sn, proto)   WIZCHIP_WRITE(Sn_PROTOR(sn),(WIZCHIP_READ(Sn_PROTOR(sn) & 0xFF00) | (((uint16_t)proto) & 0x00FF))
 Set Sn_PROTOR register. More...
 
#define getSn_PROTOR(sn)   ((uint8_t)WIZCHIP_READ(Sn_PROTOR(sn)))
 Get Sn_PROTOR register. More...
 
#define setSn_TX_WRSR(sn, txwrs)
 Set Sn_TX_WRSR register. More...
 
#define getSn_TX_WRSR(sn)   ( (((uint32_t)WIZCHIP_READ(Sn_TX_WRSR(sn))) << 16) + (((uint32_t)WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_TX_WRSR(sn),1))) & 0x0000FFFF) )
 Get Sn_TX_WRSR register. More...
 
#define setSn_TX_FIFOR(sn, txfifo)   WIZCHIP_WRITE(Sn_TX_FIFOR(sn), txfifo);
 Set Sn_TX_FIFOR register. More...
 
#define getSn_RX_FIFOR(sn)   WIZCHIP_READ(Sn_RX_FIFOR(sn));
 Get Sn_RX_FIFOR register. More...
 
#define setSn_TOSR(sn, tos)   WIZCHIP_WRITE(Sn_TOS(sn), ((uint16_t)tos) & 0x00FF)
 Set Sn_TOSR register. More...
 
#define getSn_TOSR(sn)   ((uint8_t)WIZCHIP_READ(Sn_TOSR(sn)))
 Get Sn_TOSR register. More...
 
#define setSn_TTLR(sn, ttl)   WIZCHIP_WRITE(Sn_TTLR(sn), ((uint16_t)ttl) & 0x00FF)
 Set Sn_TTLR register. More...
 
#define getSn_TTLR(sn)   ((uint8_t)WIZCHIP_READ(Sn_TTL(sn)))
 Get Sn_TTLR register. More...
 
#define setSn_FRAGR(sn, frag)   WIZCHIP_WRITE(Sn_FRAGR(sn), (uint16_t)(frag >>8))
 Set Sn_FRAGR register. More...
 
#define getSn_FRAGR(sn)   (WIZCHIP_READ(Sn_FRAG(sn)) << 8)
 Get Sn_FRAGR register. More...
 

Functions

uint32_t getSn_TX_FSR (uint8_t sn)
 Get Sn_TX_FSR register. More...
 
uint32_t getSn_RX_RSR (uint8_t sn)
 Get Sn_RX_RSR register. More...
 

Detailed Description

These are functions to access socket registers.

Macro Definition Documentation

#define setSn_MR (   sn,
  mr 
)    WIZCHIP_WRITE(Sn_MR(sn),mr)

Set Sn_MR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint8_t)mrValue to set Sn_MR
See also
getSn_MR()

Definition at line 1890 of file w5300.h.

#define getSn_MR (   sn)    WIZCHIP_READ(Sn_MR(sn))

Get Sn_MR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint8_t. Value of Sn_MR.
See also
setSn_MR()

Definition at line 1900 of file w5300.h.

#define setSn_CR (   sn,
  cr 
)    WIZCHIP_WRITE(Sn_CR(sn), ((uint16_t)cr) & 0x00FF)

Set Sn_CR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint8_t)crValue to set Sn_CR
See also
getSn_CR()

Definition at line 1910 of file w5300.h.

#define getSn_CR (   sn)    ((uint8_t)WIZCHIP_READ(Sn_CR(sn)))

Get Sn_CR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint8_t. Value of Sn_CR.
See also
setSn_CR()

Definition at line 1920 of file w5300.h.

#define setSn_IMR (   sn,
  imr 
)    WIZCHIP_WRITE(Sn_IMR(sn), ((uint16_t)imr) & 0x00FF)

Set Sn_IMR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint8_t)imrValue to set Sn_IMR
See also
getSn_IMR()

Definition at line 1930 of file w5300.h.

#define getSn_IMR (   sn)    ((uint8_t)WIZCHIP_READ(Sn_IMR(sn)))

Get Sn_IMR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint8_t. Value of Sn_IMR.
See also
setSn_IMR()

Definition at line 1940 of file w5300.h.

#define setSn_IR (   sn,
  ir 
)    WIZCHIP_WRITE(Sn_IR(sn), ((uint16_t)ir) & 0x00FF)

Set Sn_IR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint8_t)irValue to set Sn_IR
See also
getSn_IR()

Definition at line 1950 of file w5300.h.

#define getSn_IR (   sn)    ((uint8_t)WIZCHIP_READ(Sn_IR(sn)))

Get Sn_IR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint8_t. Value of Sn_IR.
See also
setSn_IR()

Definition at line 1960 of file w5300.h.

#define getSn_SSR (   sn)    ((uint8_t)WIZCHIP_READ(Sn_SR(sn)))

Get Sn_SR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint8_t. Value of Sn_SR.

Definition at line 1969 of file w5300.h.

#define setSn_PORTR (   sn,
  port 
)    WIZCHIP_WRITE(Sn_PORTR(sn), port)

Set Sn_PORTR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint16_t)portVariable to set Sn_PORTR.
See also
getSn_PORTR()

Definition at line 1980 of file w5300.h.

Referenced by close().

#define getSn_PORTR (   sn,
  port 
)    WIZCHIP_READ(Sn_PORTR(sn))

Get Sn_PORTR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint16_t. Variable of Sn_PORTR.
See also
setSn_PORTR()

Definition at line 1991 of file w5300.h.

#define setSn_DHAR (   sn,
  dhar 
)
Value:
{ \
WIZCHIP_WRITE(Sn_DHAR(sn), (((uint16_t)((dhar)[0])) << 8) + (((uint16_t)((dhar)[1])) & 0x00FF)); \
WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_DHAR(sn),2), (((uint16_t)((dhar)[0])) << 8) + (((uint16_t)((dhar)[1])) & 0x00FF)); \
WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_DHAR(sn),4), (((uint16_t)((dhar)[0])) << 8) + (((uint16_t)((dhar)[1])) & 0x00FF)); \
}
#define Sn_DHAR(n)
Peer MAC register address(R/W)
Definition: w5300.h:743
#define WIZCHIP_OFFSET_INC(ADDR, N)
Increase offset address.
Definition: w5300.h:60
void WIZCHIP_WRITE(uint32_t AddrSel, uint16_t wb)
It writes 1 byte value to a register.

Set Sn_DHAR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint8_t*)dharPointer variable to set socket n destination hardware address. It should be allocated 6 bytes.
See also
getSn_DHAR()

Definition at line 2002 of file w5300.h.

#define getSn_DHAR (   sn,
  dhar 
)
Value:
{ \
(dhar)[0] = (uint8_t)(WIZCHIP_READ(Sn_DHAR(sn)) >> 8); \
(dhar)[1] = (uint8_t) WIZCHIP_READ(Sn_DHAR(sn)); \
(dhar)[2] = (uint8_t)(WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_DHAR(sn),2)) >> 8); \
(dhar)[3] = (uint8_t) WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_DHAR(sn),2)); \
(dhar)[4] = (uint8_t)(WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_DHAR(sn),4)) >> 8); \
(dhar)[5] = (uint8_t) WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_DHAR(sn),4)); \
}
#define Sn_DHAR(n)
Peer MAC register address(R/W)
Definition: w5300.h:743
uint16_t WIZCHIP_READ(uint32_t AddrSel)
It reads 1 byte value from a register.
#define WIZCHIP_OFFSET_INC(ADDR, N)
Increase offset address.
Definition: w5300.h:60

Get Sn_MR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint8_t*)dharPointer variable to get socket n destination hardware address. It should be allocated 6 bytes.
See also
setSn_DHAR()

Definition at line 2015 of file w5300.h.

#define setSn_DPORTR (   sn,
  dport 
)    WIZCHIP_WRITE(Sn_DPORTR(sn),dport)

Set Sn_DPORT register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint16_t)dportValue to set Sn_DPORT
See also
getSn_DPORT()

Definition at line 2031 of file w5300.h.

#define getSn_DPORTR (   sn)    WIZCHIP_READ(Sn_DPORTR(sn))

Get Sn_DPORT register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint16_t. Value of Sn_DPORT.
See also
setSn_DPORT()
Note
This function is not available because W5300 have a bug to read Sn_DPORTR.
Don't use this function.

Definition at line 2045 of file w5300.h.

#define setSn_DIPR (   sn,
  dipr 
)
Value:
{ \
WIZCHIP_WRITE(Sn_DIPR(sn), (((uint16_t)((dipr)[0])) << 8) + (((uint16_t)((dipr)[1])) & 0x00FF)); \
WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_DIPR(sn),2), (((uint16_t)((dipr)[2])) << 8) + (((uint16_t)((dipr)[3])) & 0x00FF)); \
}
#define WIZCHIP_OFFSET_INC(ADDR, N)
Increase offset address.
Definition: w5300.h:60
void WIZCHIP_WRITE(uint32_t AddrSel, uint16_t wb)
It writes 1 byte value to a register.
#define Sn_DIPR(n)
Peer IP register address(R/W)
Definition: w5300.h:765

Set Sn_DIPR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint8_t*)diprPointer variable to set socket n destination IP address. It should be allocated 4 bytes.
See also
getSn_DIPR()

Definition at line 2056 of file w5300.h.

#define getSn_DIPR (   sn,
  dipr 
)
Value:
{ \
(dipr)[0] = (uint8_t)(WIZCHIP_READ(Sn_DIPR(sn)) >> 8); \
(dipr)[1] = (uint8_t) WIZCHIP_READ(Sn_DIPR(sn)); \
(dipr)[2] = (uint8_t)(WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_DIPR(sn),2)) >> 8); \
(dipr)[3] = (uint8_t) WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_DIPR(sn),2)); \
}
uint16_t WIZCHIP_READ(uint32_t AddrSel)
It reads 1 byte value from a register.
#define WIZCHIP_OFFSET_INC(ADDR, N)
Increase offset address.
Definition: w5300.h:60
#define Sn_DIPR(n)
Peer IP register address(R/W)
Definition: w5300.h:765

Get Sn_DIPR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint8_t*)diprPointer variable to get socket n destination IP address. It should be allocated 4 bytes.
See also
setSn_DIPR()

Definition at line 2068 of file w5300.h.

#define setSn_MSSR (   sn,
  mss 
)    WIZCHIP_WRITE(Sn_MSSR(sn), mss)

Set Sn_MSSR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint16_t)mssValue to set Sn_MSSR
See also
setSn_MSSR()

Definition at line 2082 of file w5300.h.

#define getSn_MSSR (   sn)    WIZCHIP_READ(Sn_MSSR(sn))

Get Sn_MSSR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint16_t. Value of Sn_MSSR.
See also
setSn_MSSR()

Definition at line 2092 of file w5300.h.

#define setSn_KPALVTR (   sn,
  kpalvt 
)    WIZCHIP_WRITE(Sn_KPALVTR(sn), (WIZCHIP_READ(Sn_KPALVTR(sn)) & 0x00FF) | (((uint16_t)kpalvt)<<8))

Set Sn_KPALVTR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint8_t)kpalvtValue to set Sn_KPALVTR
See also
getSn_KPALVTR()

Definition at line 2102 of file w5300.h.

Referenced by setsockopt().

#define getSn_KPALVTR (   sn)    ((uint8_t)(WIZCHIP_READ(Sn_KPALVTR(sn)) >> 8))

Get Sn_KPALVTR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint8_t. Value of Sn_KPALVTR.
See also
setSn_KPALVTR()

Definition at line 2112 of file w5300.h.

Referenced by getsockopt(), and setsockopt().

#define setSn_PROTOR (   sn,
  proto 
)    WIZCHIP_WRITE(Sn_PROTOR(sn),(WIZCHIP_READ(Sn_PROTOR(sn) & 0xFF00) | (((uint16_t)proto) & 0x00FF))

Set Sn_PROTOR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ _WIZCHIP_SOCK_NUM_.
(uint8_t)protoValue to set Sn_PROTOR
See also
getSn_PROTOR()

Definition at line 2122 of file w5300.h.

#define getSn_PROTOR (   sn)    ((uint8_t)WIZCHIP_READ(Sn_PROTOR(sn)))

Get Sn_PROTOR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ _WIZCHIP_SOCK_NUM_.
Returns
uint8_t. Value of Sn_PROTOR.
See also
setSn_PROTOR()

Definition at line 2133 of file w5300.h.

#define setSn_TX_WRSR (   sn,
  txwrs 
)
Value:
{ \
WIZCHIP_WRITE(Sn_TX_WRSR(sn), (uint16_t)(((uint32_t)txwrs) >> 16)); \
WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_TX_WRSR(sn),2), (uint16_t)txwrs); \
}
#define Sn_TX_WRSR(n)
SOCKETn TX write size register(R/W)
Definition: w5300.h:821
#define WIZCHIP_OFFSET_INC(ADDR, N)
Increase offset address.
Definition: w5300.h:60
void WIZCHIP_WRITE(uint32_t AddrSel, uint16_t wb)
It writes 1 byte value to a register.

Set Sn_TX_WRSR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint32_t)txwrsValue to set Sn_KPALVTR (It should be <= 0x00010000)
See also
getSn_TX_WRSR()

Definition at line 2144 of file w5300.h.

Referenced by send(), and sendto().

#define getSn_TX_WRSR (   sn)    ( (((uint32_t)WIZCHIP_READ(Sn_TX_WRSR(sn))) << 16) + (((uint32_t)WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_TX_WRSR(sn),1))) & 0x0000FFFF) )

Get Sn_TX_WRSR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint32_t. Value of Sn_TX_WRSR.
See also
setSn_TX_WRSR()

Definition at line 2156 of file w5300.h.

#define setSn_TX_FIFOR (   sn,
  txfifo 
)    WIZCHIP_WRITE(Sn_TX_FIFOR(sn), txfifo);

Set Sn_TX_FIFOR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint16_t)txfifo.Value to set Sn_TX_FIFOR.

Definition at line 2181 of file w5300.h.

#define getSn_RX_FIFOR (   sn)    WIZCHIP_READ(Sn_RX_FIFOR(sn));

Get Sn_RX_FIFOR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint16_t. Value of Sn_RX_FIFOR.

Definition at line 2190 of file w5300.h.

#define setSn_TOSR (   sn,
  tos 
)    WIZCHIP_WRITE(Sn_TOS(sn), ((uint16_t)tos) & 0x00FF)

Set Sn_TOSR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ _WIZCHIP_SOCK_NUM_.
(uint8_t)tosValue to set Sn_TOSR
See also
getSn_TOSR()

Definition at line 2200 of file w5300.h.

#define getSn_TOSR (   sn)    ((uint8_t)WIZCHIP_READ(Sn_TOSR(sn)))

Get Sn_TOSR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ _WIZCHIP_SOCK_NUM_ .
Returns
uint8_t. Value of Sn_TOSR.
See also
setSn_TOSR()

Definition at line 2211 of file w5300.h.

#define setSn_TTLR (   sn,
  ttl 
)    WIZCHIP_WRITE(Sn_TTLR(sn), ((uint16_t)ttl) & 0x00FF)

Set Sn_TTLR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint8_t)ttlValue to set Sn_TTLR
See also
getSn_TTLR()

Definition at line 2222 of file w5300.h.

#define getSn_TTLR (   sn)    ((uint8_t)WIZCHIP_READ(Sn_TTL(sn)))

Get Sn_TTLR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint8_t. Value of Sn_TTLR.
See also
setSn_TTLR()

Definition at line 2233 of file w5300.h.

#define setSn_FRAGR (   sn,
  frag 
)    WIZCHIP_WRITE(Sn_FRAGR(sn), (uint16_t)(frag >>8))

Set Sn_FRAGR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
(uint16_t)fragValue to set Sn_FRAGR
See also
getSn_FRAGR()

Definition at line 2244 of file w5300.h.

#define getSn_FRAGR (   sn)    (WIZCHIP_READ(Sn_FRAG(sn)) << 8)

Get Sn_FRAGR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint16_t. Value of Sn_FRAGR.
See also
setSn_FRAGR()

Definition at line 2255 of file w5300.h.

Function Documentation

uint32_t getSn_TX_FSR ( uint8_t  sn)

Get Sn_TX_FSR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint32_t. Value of Sn_TX_FSR.
uint32_t getSn_RX_RSR ( uint8_t  sn)

Get Sn_RX_RSR register.

Parameters
(uint8_t)snSocket number. It should be 0 ~ 7.
Returns
uint32_t. Value of Sn_RX_RSR.
Generated on Wed May 4 2016 16:44:00 for Socket APIs by   doxygen 1.8.9.1