From b89d8a9c11c23f9740f3f9508783c3f29fa0975f Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Sat, 7 Aug 2010 21:24:49 +0000 Subject: [PATCH] Moving SPI pin initialization from constructor to begin() function. That way, the SPI library won't alter any pin states unless / until you call begin(). --- .../BarometricPressureWebServer.pde | 5 +++-- libraries/Ethernet/utility/w5100.cpp | 5 ++++- libraries/SPI/SPI.cpp | 12 +++++++----- libraries/SPI/SPI.h | 14 ++------------ .../BarometricPressureSensor.pde | 7 ++++--- 5 files changed, 20 insertions(+), 23 deletions(-) diff --git a/libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.pde b/libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.pde index fd3f791d9..ea827fcc5 100644 --- a/libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.pde +++ b/libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.pde @@ -60,6 +60,9 @@ long pressure = 0; long lastReadingTime = 0; void setup() { + // start the SPI library: + SPI.begin(); + // start the Ethernet connection and the server: Ethernet.begin(mac, ip); server.begin(); @@ -68,8 +71,6 @@ void setup() { pinMode(dataReadyPin, INPUT); pinMode(chipSelectPin, OUTPUT); - // start the SPI library: - SPI.begin(); Serial.begin(9600); //Configure SCP1000 for low noise configuration: diff --git a/libraries/Ethernet/utility/w5100.cpp b/libraries/Ethernet/utility/w5100.cpp index a134427d8..5a2375205 100644 --- a/libraries/Ethernet/utility/w5100.cpp +++ b/libraries/Ethernet/utility/w5100.cpp @@ -25,8 +25,11 @@ W5100Class W5100; void W5100Class::init(void) { - initSS(); + delay(300); + SPI.begin(); + initSS(); + writeMR(1<