Hola amigos del foro, estoy trabajando el stack de tcpip de microchip, he ido poco a poco intentando compilar, pero todavía no he podido, he llegado hasta un punto de tener solo un error, claro esta sin saber si funciona, solo compilar, el error me dice que hay una estructura que no esta definida, pero si esta definida en un archivo de los del stack, a continuación les muestro el error:
../ARP.c: In function 'ARPPut':
../ARP.c:139: error: 'AppConfig' undeclared (first use in this function)
../ARP.c:139: error: (Each undeclared identifier is reported only once
../ARP.c:139: error: for each function it appears in.)
Este es el punto del codigo que arroja el error:
static BOOL ARPPut(ARP_PACKET *packet)
{
while(!MACIsTxReady());
MACSetWritePtr(BASE_TX_ADDR);
packet->HardwareType = HW_ETHERNET;
packet->Protocol = ARP_IP;
packet->MACAddrLen = sizeof(MAC_ADDR);
packet->ProtocolLen = sizeof(IP_ADDR);
// packet->SenderMACAddr = AppConfig.MyMACAddr; // HI-TECH PICC-18 compiler can't handle this statement, use memcpy() as a workaround
memcpy(&packet->SenderMACAddr, (void*)&AppConfig.MyMACAddr, sizeof(packet->SenderMACAddr)); packet->SenderIPAddr = AppConfig.MyIPAddr;
SwapARPPacket(packet);
MACPutHeader(&packet->TargetMACAddr, MAC_ARP, sizeof(*packet));
MACPutArray((BYTE*)packet, sizeof(*packet));
MACFlush();
return TRUE;
}
Y aquí donde esta definido:
// Declare AppConfig structure and some other supporting stack variables
APP_CONFIG AppConfig;
Y tambien podemos ver que es APP_CONFIG:
// Application-dependent structure used to contain address information
typedef struct __attribute__((__packed__))
{
IP_ADDR MyIPAddr; // IP address
IP_ADDR MyMask; // Subnet mask
IP_ADDR MyGateway; // Default Gateway
IP_ADDR PrimaryDNSServer; // Primary DNS Server
IP_ADDR SecondaryDNSServer; // Secondary DNS Server
IP_ADDR DefaultIPAddr; // Default IP address
IP_ADDR DefaultMask; // Default subnet mask
BYTE NetBIOSName[16]; // NetBIOS name
struct
{
unsigned char : 6;
unsigned char bIsDHCPEnabled : 1;
unsigned char bInConfigMode : 1;
} Flags; // Flag structure
MAC_ADDR MyMACAddr; // Application MAC address
#if defined(WF_CS_TRIS)
BYTE MySSID[32]; // Wireless SSID (if using MRF24WB0M)
BYTE SsidLength; // number of bytes in SSID
BYTE SecurityMode; // WF_SECURITY_OPEN or one of the other security modes
BYTE SecurityKey[64]; // WiFi Security key, or passphrase.
BYTE SecurityKeyLength; // number of bytes in security key (can be 0)
BYTE WepKeyIndex; // WEP key index (only valid for WEP)
#if defined(EZ_CONFIG_STORE) // WLAN configuration data stored to NVM
BYTE dataValid;
BYTE networkType;
BYTE saveSecurityInfo; // Save 32-byte PSK
#endif
#endif
#if defined(STACK_USE_SNMP_SERVER) || defined(STACK_USE_SNMPV3_SERVER)
// SNMPv2C Read community names
// SNMP_COMMUNITY_MAX_LEN (
+ 1 null termination byte
BYTE readCommunity[SNMP_MAX_COMMUNITY_SUPPORT][SNMP_COMMUNITY_MAX_LEN+1];
// SNMPv2C Write community names
// SNMP_COMMUNITY_MAX_LEN (
+ 1 null termination byte
BYTE writeCommunity[SNMP_MAX_COMMUNITY_SUPPORT][SNMP_COMMUNITY_MAX_LEN+1];
UINT32 SnmpEngineBootRcrd;
#endif
}APP_CONFIG;
Así que la verdad no tengo ni idea de por que esta ocurriendo este error, a ver si ustedes tienen alguna idea de que podría ser, gracias por la ayuda.