See pico.hd-wireless.se for the lastest documentation, software and tutorials.
oWL Pico API is a programming interface for Wi-Fi (802.11) and network applications. It aims to be a complete interface for embedded applications wanting to use wireless as a communications interface.
The oWL Pico software API has a footprint of a few kilobytes and provides functions to support full Wi-Fi link management, network address management and TCP, UDP and RAW sockets - resembling a standard BSD socket interface.
The oWL Pico API has been designed to meet the following goals :
The API is structured into these functional groups:
There are three important properties of the oWL Pico API to keep in mind when programming with it.
The first is that oWL Pico API is asynchronous. For instance, when the wlp_linkup() function is called to attempt connection with an access point it will trigger a sequence of packets being exchanged with the access point after which, if everything is okay, a connection has been established. The wlp_linkup() call is asynchronous (or non-blocking) which means that you don't know if the connection attempt has succeeded after the call returns. You only know if the sequence was successfully started or not. To find out if, and when, the connection attempt was successful you must register an event handler using the function wlp_set_link_cb(). This is true of a number of API calls (which is indicated in their documentation).
The second important property is that the oWL Pico API is polled. oWL Pico API never executes "by itself", since it would then have to support interrupts, timers, locks and other operating system dependent features. Instead all asynchronous processes proceed when oWL Pico API is polled by calling the wlp_poll() function. When wlp_poll() is called the oWL Pico API reacts to any received packets, expires any internal timers and performs any other tasks necessary for forward progress. After wlp_poll() returns nothing will happen unless it or some other oWL Pico API function is called again.
The third important property is that oWL Pico API is not thread safe. All oWL Pico API calls must execute in the same context since the library has no knowledge of the locking mechanisms available (if any).
For further information, visit H&D Wireless.
Support and documentation: http://pico.hd-wireless.se/