Go Down

Topic: error compile my code (Read 965 times) previous topic - next topic

smallpoul

Here the code:
Code: [Select]
// Demo using DHCP and DNS to perform a web client request.
// 2011-06-08 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php

#include <EtherCard.h>
#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();
#define garderobe "82"

// ethernet interface mac address, must be unique on the LAN
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };

byte Ethernet::buffer[700];
static uint32_t timer;

char website[] PROGMEM = "192.168.2.19";
static byte hisip[] = {192,168,2,19};

// called when the client request is complete
static void my_callback (byte status, word off, word len) {
  Serial.println(">>>");
  Ethernet::buffer[off+300] = 0;
  Serial.print((const char*) Ethernet::buffer + off);
  Serial.println("...");
}

void setup () {
  Serial.begin(57600);
  Serial.println("\n[webClient]");
  mySwitch.enableReceive(1);

  if (ether.begin(sizeof Ethernet::buffer, mymac, 10) == 0)
    Serial.println( "Failed to access Ethernet controller");
  if (!ether.dhcpSetup())
    Serial.println("DHCP failed");

  ether.printIp("IP:  ", ether.myip);
  ether.printIp("GW:  ", ether.gwip); 
  ether.printIp("DNS: ", ether.dnsip);
  ether.copyIp(ether.hisip, hisip);
  ether.hisport = 3480;
  ether.printIp("SRV: ", ether.hisip);

  if (!ether.dnsLookup(website))
    Serial.println("DNS failed");
   
  ether.printIp("SRV: ", ether.hisip);
}

void loop () {
  ether.packetLoop(ether.packetReceive());
   if (mySwitch.available()) {
    unsigned long code = mySwitch.getReceivedValue();
    Serial.print("Received :");
    Serial.println( code );
    if (code == 5586965)
      {
    mySwitch.resetAvailable();
    sendtovera(garderobe);
}
}
}
void sendtovera(String devid){
ether.browseUrl(PSTR("/data_request?id=action&DeviceNum=52&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue="), devid, website, my_callback);
}



error:
Code: [Select]
nc28j60.cpp: In function 'void sendtovera(String)':
enc28j60:63: error: no matching function for call to 'EtherCard::browseUrl(char*, String&, char [13], void (&)(byte, word, word))'
/Users/Michael/Documents/Arduino/libraries/ethercardmaster/EtherCard.h:164: note: candidates are: static void EtherCard::browseUrl(prog_char*, const char*, prog_char*, void (*)(uint8_t, uint16_t, uint16_t))


I'm loss, i thing that ether card do not like string but not sure
thanks

Arrch


I'm loss, i thing that ether card do not like string but not sure
thanks


Actually, it loves strings. Strings, on the hand, it's not too fond of.

smallpoul

maybe it late here but i don't understand what you means?
Sorry

MaJiG

The C compiler is case-sensitive.

smallpoul

Normally to call it i use String not string, if i put string, it say that i have not  declare it.

Go Up