WiFi: move init from constructor to method

Zero SPI library is not responding correctly when invoked before main()

AVR compatibility ok
fixes arduino/ArduinoCore-samd#18
This commit is contained in:
Martino Facchin 2015-07-10 12:05:55 +02:00
parent 5d388e1646
commit 1fb0f84c46
3 changed files with 9 additions and 7 deletions

View File

@ -32,8 +32,6 @@ uint16_t WiFiClass::_server_port[MAX_SOCK_NUM] = { 0, 0, 0, 0 };
WiFiClass::WiFiClass()
{
// Driver initialization
init();
}
void WiFiClass::init()

View File

@ -43,8 +43,8 @@ void SpiDrv::begin()
pinMode(SLAVEREADY, INPUT);
pinMode(WIFILED, OUTPUT);
digitalWrite(SCK, LOW);
digitalWrite(MOSI, LOW);
// digitalWrite(SCK, LOW);
// digitalWrite(MOSI, LOW);
digitalWrite(SS, HIGH);
digitalWrite(SLAVESELECT, HIGH);
digitalWrite(WIFILED, LOW);

View File

@ -31,10 +31,14 @@
#define DUMMY_DATA 0xFF
#define WAIT_FOR_SLAVE_SELECT() \
if (!initialized) { \
SpiDrv::begin(); \
initialized = true; \
} \
SpiDrv::waitForSlaveReady(); \
SpiDrv::spiSlaveSelect();
static bool initialized = false;
class SpiDrv
{