CMSIS-Driver Validation  
Driver Validation
Socket Operation

Functions

void WIFI_Transfer_Fixed (void)
 Function: WIFI_Transfer_Fixed. More...
 
void WIFI_Transfer_Incremental (void)
 Function: WIFI_Transfer_Incremental. More...
 
void WIFI_Send_Fragmented (void)
 Function: WIFI_Send_Fragmented. More...
 
void WIFI_Recv_Fragmented (void)
 Function: WIFI_Recv_Fragmented. More...
 
void WIFI_Test_Speed (void)
 Function: WIFI_Test_Speed. More...
 
void WIFI_Concurrent_Socket (void)
 Function: WIFI_Concurrent_Socket. More...
 
void WIFI_Downstream_Rate (void)
 Function: WIFI_Downstream_Rate. More...
 
void WIFI_Upstream_Rate (void)
 Function: WIFI_Upstream_Rate. More...
 

Description

These tests verify operation of the WiFi socket functions.

Function Documentation

◆ WIFI_Transfer_Fixed()

void WIFI_Transfer_Fixed ( void  )

The test function WIFI_Transfer_Fixed verifies data transfer in fixed size blocks.

Stream socket test:

  • Create stream socket
  • Transfer 128 blocks of 16 bytes
  • Transfer 32 blocks of 64 bytes
  • Transfer 8 blocks of 256 bytes
  • Transfer 2 blocks of 1024 bytes
  • Transfer 1 block of 2048 bytes
  • Close socket

Datagram socket test:

  • Create datagram socket
  • Transfer 128 blocks of 16 bytes
  • Transfer 32 blocks of 64 bytes
  • Transfer 8 blocks of 256 bytes
  • Transfer 2 blocks of 1024 bytes
  • Transfer 1 block of 1460 bytes
  • Close socket

◆ WIFI_Transfer_Incremental()

void WIFI_Transfer_Incremental ( void  )

The test function WIFI_Transfer_Incremental verifies data transfer in ascending size blocks. Each subsequent block that the socket sends is one byte larger than the previous block.

Stream socket test:

  • Create stream socket
  • Transfer 51 blocks of 1 - 50 bytes
  • Transfer 30 blocks of 51 - 80 bytes
  • Transfer 20 blocks of 81 - 100 bytes
  • Transfer 13 blocks of 120 - 132 bytes
  • Transfer 8 blocks of 252 - 259 bytes
  • Transfer 4 blocks of 510 - 513 bytes
  • Close socket

Datagram socket test:

  • Create datagram socket
  • Transfer 51 blocks of 1 - 50 bytes
  • Transfer 30 blocks of 51 - 80 bytes
  • Transfer 20 blocks of 81 - 100 bytes
  • Transfer 13 blocks of 120 - 132 bytes
  • Transfer 8 blocks of 252 - 259 bytes
  • Transfer 4 blocks of 510 - 513 bytes
  • Close socket

◆ WIFI_Send_Fragmented()

void WIFI_Send_Fragmented ( void  )

The test function WIFI_Send_Fragmented verifies data transfer in chunks.

Stream socket test:

  • Create stream socket
  • Send 16 blocks of 16 bytes, receive 1 block of 256 bytes
  • Send 16 blocks of 64 bytes, receive 1 block of 1024 bytes
  • Send 5 blocks of 256 bytes, receive 1 block of 1280 bytes
  • Send 2 blocks of 1024 bytes, receive 1 block of 2048 bytes
  • Close socket

◆ WIFI_Recv_Fragmented()

void WIFI_Recv_Fragmented ( void  )

The test function WIFI_Recv_Fragmented verifies data transfer in chunks.

Stream socket test:

  • Create stream socket
  • Send block of 256 bytes, receive 16 blocks of 16 bytes
  • Send block of 1024 bytes, receive 16 blocks of 64 bytes
  • Send block of 1280 bytes, receive 5 blocks of 256 bytes
  • Send block of 2048 bytes, receive 2 blocks of 1024 bytes
  • Close socket

◆ WIFI_Test_Speed()

void WIFI_Test_Speed ( void  )

The test function WIFI_Test_Speed tests data transfer speed.

Stream socket test:

  • Create stream socket
  • Transfer for 4 seconds, send and receive
  • Calculate transfer rate
  • Close socket

Datagram socket test:

  • Create datagram socket
  • Transfer for 4 seconds, send and receive
  • Calculate transfer rate
  • Close socket

◆ WIFI_Concurrent_Socket()

void WIFI_Concurrent_Socket ( void  )

The test function WIFI_Concurrent_Socket verifies transfer of two concurrent sockets.

Stream socket test:

  • Create two stream sockets
  • Start transfer on 2nd socket with 200ms intervals
  • Transfer on main socket, full speed
  • Calculate transfer rate
  • Close sockets

Datagram socket test:

  • Create datagram and stream sockets
  • Start transfer on stream socket with 200ms intervals
  • Transfer on main socket, full speed
  • Calculate transfer rate
  • Close sockets
    Note
    The test runs with a coherent thread, that performs an additional stream socket io.

◆ WIFI_Downstream_Rate()

void WIFI_Downstream_Rate ( void  )

The test function WIFI_Downstream_Rate tests the maximum rate at which the data can be received.

◆ WIFI_Upstream_Rate()

void WIFI_Upstream_Rate ( void  )

The test function WIFI_Upstream_Rate tests the maximum rate at which the data can be sent.