Hello everyone,
I'm trying to understand how the Arduino's WiFiNINA Library works.
I was working with the ESP-WROOM-02 that uses the ESP8266 module and know that it works through AT Commands, like "AT", "AT+RST" and so on. Also, the Nina w132 works with AT Commands too, as we can see here in the documentation provided by u-blox.
When I checked the Arduino's WiFiNINA Library I found in the wifi_spi.h uses an enum (short example below).
My question is, how does it work without using AT Commands?
enum {
... some lines omited here ...
GET_CONN_STATUS_CMD = 0x20,
GET_IPADDR_CMD = 0x21,
GET_MACADDR_CMD = 0x22,
GET_CURR_SSID_CMD = 0x23,
GET_CURR_BSSID_CMD = 0x24,
GET_CURR_RSSI_CMD = 0x25,
GET_CURR_ENCT_CMD = 0x26,
... some lines omited here ...
}
Example of usage:
void SpiDrv::sendCmd(uint8_t cmd, uint8_t numParam)
{
// Send Spi START CMD
spiTransfer(START_CMD);
// Send Spi C + cmd
spiTransfer(cmd & ~(REPLY_FLAG));
// Send Spi totLen
//spiTransfer(totLen);
// Send Spi numParam
spiTransfer(numParam);
// If numParam == 0 send END CMD
if (numParam == 0)
spiTransfer(END_CMD);
}