NetDev_WiFi_SPI_WrRd

This function is called by a device driver each time some data must be written &/or read from the wireless device/interface.

Files

net_bsp.c

Prototype

          static CPU_INT32U NetDev_WiFi_SPI_WrRd (NET_IF     *p_if,
                                                  CPU_INT08U *p_buf_wr,
                                                  CPU_INT08U *p_buf_rd,
                                                  CPU_INT16U  wr_rd_len,
                                                  NET_ERR    *p_err);

Note that since NetDev_WiFi_SPI_WrRd() is accessed only by function pointer via a BSP interface structure, it doesn’t need to be globally available and should therefore be declared as ‘static’.

Arguments

p_if

Pointer to specific interface to write and read data to SPI bus.

p_buf_wr

Pointer to a buffer that contains the data to write.

p_buf_rd

Pointer to a buffer that will receive the data read.

wr_rd_len

Number of octet to write and read.

p_err

Pointer to variable that will receive the return error code from this function:

NET_DEV_ERR_NONE
NET_DEV_ERR_FAULT

This is not an exclusive list of return errors and specific network device’s or device BSP functions may return any other specific errors as required.

Returned Value

None.

Required Configuration

None.

Notes / Warnings

  • NetDev_WiFi_SPI_ChipSelEn() should be called only after the SPI lock has been acquired by calling NetDev_WiFi_SPI_Lock().
  • Since each network device requires a unique NetDev_WiFi_SPI_WrRd(), it is recommended that each device’s NetDev_WiFi_SPI_WrRd() function be named using the following convention:

    NetDev_WiFi_[Device]SPI_WrRd[Number]()
    [Device]

    Network device name or type, e.g. RS9110 (optional if the development board does not support multiple devices)

[Number]

Network device number for each specific instance of device (optional if the development board does not support multiple instances of the specific device)

For example, the NetDev_WiFi_SPI_WrRd() function for the #2 RS9110 wireless device on an Atmel AT91SAM9263-EK should be named NetDev_WiFi_RS9110_SPI_WrRd2(), or NetDev_WiFi_RS9110_SPI_WrRd_2() with additional underscore optional.

See also section Network Board Support Package.