problema de compilacion cuando agrego condicional

Gente, tengo esta rutina donde le quiero sacar el delay y reemplazarlo con un if para que me tome una muestra cada cierto tiempo… el problema es que cuando compilo me tira un error que dice httrequest was not declare in this scope…
alguien me podria decir donde tengo el error por favor??
desde ya gracias

#include <SPI.h>
#include <Ethernet.h>

char                 databuffer[35];
double               temp;
long intervalo =10000;   //300000 es el tiempo de nuestro delay   5 minutos     
long tiempo = 0;
long tiempoAnterior = 0;
boolean bandera=1;
// Mac unica de cada EthernetShield (deben cambiarla)
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x4E, 0xD7 };

// Descomentar esta linea si se desea un IP fijo
IPAddress ip(192,168,0,50);

// Descomentar esta linea para asignar un DNS fijo
IPAddress myDns(200,58,112,193);

// Inicializa la instancia client
EthernetClient client;

// Direccion del servidor
char server[] = "www.cmcens451.com";

// Variable de tiempo de la ultima conexion en milisegundos
unsigned long ultimaConexion = 0;          
// Estado de la ultima conexion
boolean ultimoEstado = false;
// Intervalo en milisegundos entre conexiones
const unsigned long intervaloConexion =1000; //300000;   

// Datos del sensor
float tempC; // Temperatura en celsius
int LM35 = 0; // Pin A0 del Arduino
int Direccion;
float velocidad;
float velMax;
float temperatura;
float OneHour;
float OneDay;
float presion;
int humedad,i;


//String envioDatos = "GET /estacion/carga.php?";
String envioDatos = "GET /carga2.php?";
#define parametro1 "&WindDirection="
#define parametro2 "&WindSpeedAverage="
#define parametro2 "&WindSpeedMax="
#define parametro3 "&Temperature="
#define parametro4 "&RainfallOneHour="
#define parametro5 "&BarPressure="
#define parametro6 "&Humidity="
#define parametro7 "&RainfallOneDay="


void getBuffer()                                                                    //Get weather status data
{
  int index;
  for (index = 0;index < 35;index ++)
  {
    if(Serial.available())
    {
      databuffer[index] = Serial.read();
      if (databuffer[0] != 'c')
      {
        index = -1;
      }
    }
    else
    {
      index --;
    }
  }
}
 
int transCharToInt(char *_buffer,int _start,int _stop)                               //char to int)
{
  int _index;
  int result = 0;
  int num = _stop - _start + 1;
  int _temp[num];
  for (_index = _start;_index <= _stop;_index ++)
  {
    _temp[_index - _start] = _buffer[_index] - '0';
    result = 10*result + _temp[_index - _start];
  }
  return result;
}
 
int WindDirection()                                                                  //Wind Direction
{
  return transCharToInt(databuffer,1,3);
}
 
float WindSpeedAverage()                                                             //air Speed (1 minute)
{
  temp = 0.44704 * transCharToInt(databuffer,5,7);
  return temp;
}
 
float WindSpeedMax()                                                                 //Max air speed (5 minutes)
{
  temp = 0.44704 * transCharToInt(databuffer,9,11);
  return temp;
}
 
float Temperature()                                                                  //Temperature ("C")
{
  temp = (transCharToInt(databuffer,13,15) - 32.00) * 5.00 / 9.00;
  return temp;
}
 
float RainfallOneHour()                                                              //Rainfall (1 hour)
{
  temp = transCharToInt(databuffer,17,19) * 25.40 * 0.01;
  return temp;
}
 
float RainfallOneDay()                                                               //Rainfall (24 hours)
{
  temp = transCharToInt(databuffer,21,23) * 25.40 * 0.01;
  return temp;
}
 
int Humidity()                                                                       //Humidity
{
  return transCharToInt(databuffer,25,26);
}
 
float BarPressure()                                                                  //Barometric Pressure
{
  temp = transCharToInt(databuffer,28,32);
  return temp / 10.00;
}
 
void setup() {
  // Inicializa puerto serial
  Serial.begin(9600);
  Serial.println("#### Internetdelascosas.cl ####");
  Serial.println("Sensor de temperatura LM35/ web");
  // Espera 1 segundo para que se inicie la tarjeta Ethernet
  delay(1000);
  // Si deseas usar un ip fijo y un DNS fijo descomentar esta linea y comentar la linea 39
   Ethernet.begin(mac, ip, myDns);
  // Inicializa la tarjeta ethernet mediante DHCP
  Ethernet.begin(mac);
  // Imprime la direccion IP de la tarjeta
  Serial.print("Direccion IP: ");
  Serial.println(Ethernet.localIP());
}
// Loop principal
void loop() {
 
        
      
   tiempo = millis();
  
      if(tiempo - tiempoAnterior > intervalo) 
      {
        
      tiempoAnterior = tiempo; 
 
   
     getBuffer();       
      Serial.print("Wind speed: ");
      Serial.print(WindSpeedMax());                                                          
      Serial.print("Wind Direction: ");
      Serial.print(WindDirection());
      Serial.println("  ");
      Serial.print("Average Wind Speed (One Minute): ");
      Serial.print(WindSpeedAverage());
      Serial.println("m/s  ");
      Serial.print("Rain Fall (One Hour): ");
      Serial.print(RainfallOneHour());
      Serial.println("mm  ");
      Serial.print("Temperature: ");
      Serial.print(Temperature());
      Serial.println("C  ");
      Serial.print("Humidity: ");
      Serial.print(Humidity());
      Serial.println("%  ");
      Serial.print("Barometric Pressure: ");
      Serial.print(BarPressure());
      Serial.println("hPa");
      Serial.println("");
      Serial.println("");
    
      Direccion = WindDirection();
      velocidad=WindSpeedAverage();
      temperatura=Temperature();
      OneHour=RainfallOneHour();
      presion=BarPressure();
      humedad = Humidity();
      velMax = WindSpeedMax();
      OneDay =RainfallOneDay();
  // Si hay datos que llegan por la conexion los envia a la puerta serial
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  // Si no hay conexion de red y se conecto correctamente la ultima vez
  // detiene el cliente Ehternet
  if (!client.connected() && ultimoEstado) {
    Serial.println();
    Serial.println("Desconectando...");
    client.stop();
  }

  // Si no esta conectado y han pasado X segundos (intervaloConexion) 
  // despues de la ultima conexion envia datos al servidor
  if(!client.connected() && (millis() - ultimaConexion > intervaloConexion)) {
    httpRequest();
  }
  // Actualiza la variable ultimoEstado 
  ultimoEstado = client.connected();
}
// Fin del loop principal

// Realiza la conexion http al servidor
void httpRequest() {
  // Se conecta al servidor en el puerto 80 (web)
  if (client.connect(server, 80)) {
     envioDatos +=  parametro1 + String(Direccion) + parametro2  + String(velocidad)+ parametro3  + String(temperatura) +  parametro4  + String(OneHour) + parametro5 +  String(presion) + parametro6 +  String(humedad) + parametro7  + String(velMax);
          client.print(envioDatos);
    // Envia el dato al puerto serial 
    Serial.print("Sensor LM35: "); 
    Serial.print(tempC); 
    Serial.println(" grados Celsius");
    // Envia el requerimiento al servidor via GET
    Serial.println("Iniciando conexion...");
    
    client.print("GET /carga2.php?");
    client.print(tempC);
    client.println(" HTTP/1.1");
    client.print("Host: ");
    client.println(server);
    client.println("User-Agent: Arduino-Ethernet");
    client.println("Connection: close");
    client.println();

    // Actualiza el tiempo en milisegundos de la ultima conexion
    ultimaConexion = millis();
  } 
  else {
    // Si la conexion fallo se desconecta
    Serial.println("Error al conectarse al servidor");
    Serial.println("Desconectando...");
    client.stop();
  }
} 
// delay (300000);}

Primer error

#define parametro2 "&WindSpeedAverage="
#define parametro2 "&WindSpeedMax="

paramétro redefinido, tienes dos parametro2

y acá tienes una llave que no cierras nunca

if (tiempo - tiempoAnterior > intervalo)  {

supongo que la cierras al final

Muchas gracias, ahora no me tira error de compilacion, pero cuando lo quiero subir me pone "programmer not running" .. probe de actualizar driver y sw, y cable de conexion.
alguna idea como solucionarlo? gracias nuevamente