WICED™ Studio Forum Discussions
Browse the Community
Featured Discussions
WICED can support:
- WPS using PIN or PBC mode
- Soft AP mode
- Wi-Fi Direct
- And, an exclusive to WICED, out-of-band setup process called “Cooee”
The SDK has example apps:
- Snip.wps_enrollee
- Snip.wps_registrar
- Snip.config_mode
- Snip.easy_setup (Cooee)
- Snip.p2p
This discussion will be updated as new documentation and information becomes available.
This question arose from a customer and I thought others "out there" might have the same curiosity:
For iOS 7, Apple has increased the available MTU size. This allows for larger payloads to be sent and can help simplify the application software.
I was wondering how large of payloads are possible using the Broadcom BLE stack. For example, I am using the bleprofile_sendNotification() API function.
Here are my questions.
1 - What is the maximum MTU for the BCM20732?
2 - How many packets can be sent in parallel for a given connection event?
Answer:
#1. Max MTU is 23 bytes by default.
#2. Depends on how you define 'in parallel'. You cannot send more than one packet per RX/TX pair. You can have up to 255 RX/TX pairs per connection event (assuming that the other side is also BRCM silicon), default is 4, but whether it really uses all available RX/TX pairs depends on whether the master schedules more polls, other tasks like ADV/scans/connections that need to be serviced or the amount of data available to transmit on either side. If you define it as how many packets can be outstanding (unacked), then this is 15, before flow control kicks in. This is configurable, though at the cost of available RAM.
Note: There is a strong relationship between battery life and size of the MTU. Typically a smaller MTU = longer battery life but ultimately depends on how much data the application needs to send and how often.
RSSI or Received Signal Strength Indicator is the measurement of the power present in a received radio signal.
Use the wiced_wifi_get_associated_client_list( ) function to get the list of stations connected to the WICED SoftAP. The MAC address of each connected client is stored in a wiced_mac_t type structure.
wiced_mac_t is defined as:
typedef struct
{
uint8_t octet[6]; /**< Unique 6-byte MAC address */
} wiced_mac_t;
The mac address can then be passed to the function wiced_wifi_get_ap_client_rssi( ):
int32_t rssi = 0;
int client_number = 0;
wiced_result_t result;
struct
{
int count;
wiced_mac_t mac_list[MAX_SOFT_AP_CLIENTS];
} client_info;
/* Get the list of the stations connected to Wiced soft AP */
result = wiced_wifi_get_associated_client_list( &client_info, sizeof(client_info) );
if ( result == WICED_SUCCESS )
{
for ( client_number=0; client_number < client_info.count; client_number++ )
{
/* Get the RSSI of every client currently connected to the soft AP */
result = wiced_wifi_get_ap_client_rssi(&rssi, &client_info.mac_list[client_number]);
if ( result == WICED_SUCCESS )
{
WPRINT_APP_INFO(("| %d | %02x:%02x:%02x:%02x:%02x:%02x | %3lddBm |\r\n",
client_number,
client_info.mac_list[client_number].octet[0],
client_info.mac_list[client_number].octet[1],
client_info.mac_list[client_number].octet[2],
client_info.mac_list[client_number].octet[3],
client_info.mac_list[client_number].octet[4],
client_info.mac_list[client_number].octet[5],
rssi ));
}
}
}
API Details:
wiced_result_t wiced_wifi_get_associated_client_list ( void * client_list_buffer, uint16_t buffer_length ) | ||
Gets information about associated clients. Note: Only applicable if softAP interface is up | ||
Parameters | I/O | Description |
client_list_buffer | out | Pointer to a buffer that will be populated with a variable length structure defined by wiced_maclist_t. |
buffer_length | in | Length of the buffer. |
Return | WICED_SUCCESS if client list retrieval is successful. |
wiced_result_t wiced_wifi_get_ap_client_rssi( int32_t* rssi, wiced_mac_t* client_mac_addr ) | ||
Retrieve the latest RSSI value of the AP client. | ||
Parameters | I/O | Description |
rssi | out | Latest RSSI of the client. |
client_mac_addr | in | Mac address of the AP client |
Return | WICED_SUCCESS if RSSI is successfully retrieved. |
Use wiced_wifi_get_associated_client_list() to get the list of stations connected to the WICED soft AP. The MAC address of each connected client is stored in a wiced_mac_t type structure.
wiced_mac_t is defined as:
typedef struct
{
uint8_t octet[6]; /**< Unique 6-byte MAC address */
} wiced_mac_t;
Here's sample code:
struct
{
int count;
wiced_mac_t mac_list[MAX_SOFT_AP_CLIENTS];
} client_info;
result = wiced_wifi_get_associated_client_list( &client_info, sizeof(client_info) );
The mac address can be derived from client_info.mac_list[client_number].octet[0-5]
Show LessQuestion: Why does HelloClient.exe report the error message: "Broadcom Bluetooth profile pack for Windows (BTW) has to be installed"?
Answer:
======
Step 1: The first thing you need to ensure is you have the Bluetooth (WIDCOMM) drivers installed. If you have a folder in ~Program Files called WIDCOMM you are probably okay. If not, get them from: http://www.broadcom.com/support/bluetooth/update.php
Step 2: If Step 1 does not fix the problem, make sure you are using WICED-Smart SDK Version 1.0.1 or later. Version 1.0.0 may report this error even if WIDCOMM drivers were installed. If you dont know what SDK version you have installed, open the file (inside the SDK): ~WICED-Smart-SDK/version.txt
Show Less- « Previous
- Next »