[gnoduino] Fix barometric examples for non-ancient gcc



commit 6c040a1062368e434dfdb5104e84fb8a5a21d76b
Author: Pascal de Bruijn <pmjdebruijn pcode nl>
Date:   Thu May 23 22:49:47 2013 +0200

    Fix barometric examples for non-ancient gcc

 .../BarometricPressureWebServer.ino                |  103 +++++++-------
 .../BarometricPressureSensor.ino                   |   94 +++++++-------
 .../BarometricPressureSensor.ino                   |  143 --------------------
 3 files changed, 97 insertions(+), 243 deletions(-)
---
diff --git a/libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.ino 
b/libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.ino
index bfbcb6d..e21df23 100644
--- a/libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.ino
+++ b/libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.ino
@@ -56,6 +56,57 @@ float temperature = 0.0;
 long pressure = 0;
 long lastReadingTime = 0;
 
+//Send a write command to SCP1000
+void writeRegister(byte registerName, byte registerValue) {
+  // SCP1000 expects the register name in the upper 6 bits
+  // of the byte:
+  registerName <<= 2;
+  // command (read or write) goes in the lower two bits:
+  registerName |= 0b00000010; //Write command
+
+  // take the chip select low to select the device:
+  digitalWrite(chipSelectPin, LOW); 
+
+  SPI.transfer(registerName); //Send register location
+  SPI.transfer(registerValue); //Send value to record into register
+
+  // take the chip select high to de-select:
+  digitalWrite(chipSelectPin, HIGH); 
+}
+
+
+//Read register from the SCP1000:
+unsigned int readRegister(byte registerName, int numBytes) {
+  byte inByte = 0;           // incoming from  the SPI read
+  unsigned int result = 0;   // result to return 
+
+  // SCP1000 expects the register name in the upper 6 bits
+  // of the byte:
+  registerName <<=  2;
+  // command (read or write) goes in the lower two bits:
+  registerName &= 0b11111100; //Read command
+
+  // take the chip select low to select the device:
+  digitalWrite(chipSelectPin, LOW); 
+  // send the device the register you want to read:
+  int command = SPI.transfer(registerName); 
+  // send a value of 0 to read the first byte returned:
+  inByte = SPI.transfer(0x00); 
+  
+  result = inByte;
+  // if there's more than one byte returned, 
+  // shift the first byte then get the second byte:
+  if (numBytes > 1){
+    result = inByte << 8;
+    inByte = SPI.transfer(0x00); 
+    result = result |inByte;
+  }
+  // take the chip select high to de-select:
+  digitalWrite(chipSelectPin, HIGH); 
+  // return the result:
+  return(result);
+}
+
 void setup() {
   // start the SPI library:
   SPI.begin();
@@ -168,55 +219,3 @@ void listenForEthernetClients() {
     client.stop();
   }
 } 
-
-
-//Send a write command to SCP1000
-void writeRegister(byte registerName, byte registerValue) {
-  // SCP1000 expects the register name in the upper 6 bits
-  // of the byte:
-  registerName <<= 2;
-  // command (read or write) goes in the lower two bits:
-  registerName |= 0b00000010; //Write command
-
-  // take the chip select low to select the device:
-  digitalWrite(chipSelectPin, LOW); 
-
-  SPI.transfer(registerName); //Send register location
-  SPI.transfer(registerValue); //Send value to record into register
-
-  // take the chip select high to de-select:
-  digitalWrite(chipSelectPin, HIGH); 
-}
-
-
-//Read register from the SCP1000:
-unsigned int readRegister(byte registerName, int numBytes) {
-  byte inByte = 0;           // incoming from  the SPI read
-  unsigned int result = 0;   // result to return 
-
-  // SCP1000 expects the register name in the upper 6 bits
-  // of the byte:
-  registerName <<=  2;
-  // command (read or write) goes in the lower two bits:
-  registerName &= 0b11111100; //Read command
-
-  // take the chip select low to select the device:
-  digitalWrite(chipSelectPin, LOW); 
-  // send the device the register you want to read:
-  int command = SPI.transfer(registerName); 
-  // send a value of 0 to read the first byte returned:
-  inByte = SPI.transfer(0x00); 
-  
-  result = inByte;
-  // if there's more than one byte returned, 
-  // shift the first byte then get the second byte:
-  if (numBytes > 1){
-    result = inByte << 8;
-    inByte = SPI.transfer(0x00); 
-    result = result |inByte;
-  }
-  // take the chip select high to de-select:
-  digitalWrite(chipSelectPin, HIGH); 
-  // return the result:
-  return(result);
-}
diff --git a/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.ino 
b/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.ino
index 9d77a42..828fbd6 100644
--- a/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.ino
+++ b/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.ino
@@ -37,53 +37,6 @@ const byte WRITE = 0b00000010;   // SCP1000's write command
 const int dataReadyPin = 6;
 const int chipSelectPin = 7;
 
-void setup() {
-  Serial.begin(9600);
-
-  // start the SPI library:
-  SPI.begin();
-
-  // initalize the  data ready and chip select pins:
-  pinMode(dataReadyPin, INPUT);
-  pinMode(chipSelectPin, OUTPUT);
-
-  //Configure SCP1000 for low noise configuration:
-  writeRegister(0x02, 0x2D);
-  writeRegister(0x01, 0x03);
-  writeRegister(0x03, 0x02);
-  // give the sensor time to set up:
-  delay(100);
-}
-
-void loop() {
-  //Select High Resolution Mode
-  writeRegister(0x03, 0x0A);
-
-  // don't do anything until the data ready pin is high:
-  if (digitalRead(dataReadyPin) == HIGH) {
-    //Read the temperature data
-    int tempData = readRegister(0x21, 2);
-
-    // convert the temperature to celsius and display it:
-    float realTemp = (float)tempData / 20.0;
-    Serial.print("Temp[C]=");
-    Serial.print(realTemp);
-
-
-    //Read the pressure data highest 3 bits:
-    byte  pressure_data_high = readRegister(0x1F, 1);
-    pressure_data_high &= 0b00000111; //you only needs bits 2 to 0
-
-    //Read the pressure data lower 16 bits:
-    unsigned int pressure_data_low = readRegister(0x20, 2);
-    //combine the two parts into one 19-bit number:
-    long pressure = ((pressure_data_high << 16) | pressure_data_low)/4;
-
-    // display the temperature:
-    Serial.println("\tPressure [Pa]=" + String(pressure));
-  }
-}
-
 //Read from or write to register from the SCP1000:
 unsigned int readRegister(byte thisRegister, int bytesToRead ) {
   byte inByte = 0;           // incoming byte from the SPI
@@ -122,7 +75,6 @@ unsigned int readRegister(byte thisRegister, int bytesToRead ) {
 
 
 //Sends a write command to SCP1000
-
 void writeRegister(byte thisRegister, byte thisValue) {
 
   // SCP1000 expects the register address in the upper 6 bits
@@ -141,3 +93,49 @@ void writeRegister(byte thisRegister, byte thisValue) {
   digitalWrite(chipSelectPin, HIGH);
 }
 
+void setup() {
+  Serial.begin(9600);
+
+  // start the SPI library:
+  SPI.begin();
+
+  // initalize the  data ready and chip select pins:
+  pinMode(dataReadyPin, INPUT);
+  pinMode(chipSelectPin, OUTPUT);
+
+  //Configure SCP1000 for low noise configuration:
+  writeRegister(0x02, 0x2D);
+  writeRegister(0x01, 0x03);
+  writeRegister(0x03, 0x02);
+  // give the sensor time to set up:
+  delay(100);
+}
+
+void loop() {
+  //Select High Resolution Mode
+  writeRegister(0x03, 0x0A);
+
+  // don't do anything until the data ready pin is high:
+  if (digitalRead(dataReadyPin) == HIGH) {
+    //Read the temperature data
+    int tempData = readRegister(0x21, 2);
+
+    // convert the temperature to celsius and display it:
+    float realTemp = (float)tempData / 20.0;
+    Serial.print("Temp[C]=");
+    Serial.print(realTemp);
+
+
+    //Read the pressure data highest 3 bits:
+    byte  pressure_data_high = readRegister(0x1F, 1);
+    pressure_data_high &= 0b00000111; //you only needs bits 2 to 0
+
+    //Read the pressure data lower 16 bits:
+    unsigned int pressure_data_low = readRegister(0x20, 2);
+    //combine the two parts into one 19-bit number:
+    long pressure = ((pressure_data_high << 16) | pressure_data_low)/4;
+
+    // display the temperature:
+    Serial.println("\tPressure [Pa]=" + String(pressure));
+  }
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]