Index: win2300.c =================================================================== --- win2300.c (revision 3) +++ win2300.c (working copy) @@ -229,15 +229,16 @@ /******************************************************************** * http_request_url - Windows version * - * Inputs: urlline - URL to Weather Underground with path and data + * Inputs: urlline - URL to Weather site with path and data * as a pointer to char array (string) + * baseurl - hostname of site to send data to * * Returns: 0 on success and -1 if fail. * - * Action: Send a http request to Weather Underground + * Action: Send a http request to a weather site * ********************************************************************/ -int http_request_url(char *urlline) +int http_request_url(char *urlline, char *baseurl) { WORD wVersionRequested; WSADATA wsaData; @@ -267,7 +268,7 @@ return(-1); } - if ( (hostinfo = gethostbyname(WEATHER_UNDERGROUND_BASEURL)) == NULL ) + if ( (hostinfo = gethostbyname(baseurl)) == NULL ) { perror("Host not known by DNS server or DNS server not working"); return(-1); Index: rw2300.h =================================================================== --- rw2300.h (revision 3) +++ rw2300.h (working copy) @@ -54,6 +54,12 @@ #define WEATHER_UNDERGROUND_SOFTWARETYPE "open2300" +/* ONLY EDIT THESE IF HAMWEATHER CHANGES URL */ +#define HAMWEATHER_BASEURL "www.hamweather.net" +#define HAMWEATHER_PATH "/weatherstations/pwsupdate.php" + +#define HAMWEATHER_SOFTWARETYPE "open2300%20v" + #define MAX_APRS_HOSTS 6 typedef struct { @@ -71,6 +77,8 @@ int num_hosts; // total defined hosts char weather_underground_id[30]; char weather_underground_password[50]; + char hamweather_id[30]; + char hamweather_password[50]; char timezone[6]; //not integer because of half hour time zones double wind_speed_conv_factor; //from m/s to km/h or miles/hour int temperature_conv; //0=Celcius, 1=Fahrenheit @@ -305,7 +313,7 @@ int write_device(WEATHERSTATION serdevice, unsigned char *buffer, int size); void sleep_short(int milliseconds); void sleep_long(int seconds); -int http_request_url(char *urlline); +int http_request_url(char *urlline, char *baseurl); int citizen_weather_send(struct config_type *config, char *datastring); #endif /* _INCLUDE_RW2300_H_ */ Index: linux2300.c =================================================================== --- linux2300.c (revision 3) +++ linux2300.c (working copy) @@ -242,13 +242,14 @@ * * Inputs: urlline - URL to Weather Underground with path and data * as a pointer to char array (string) + * baseurl - hostname of site to send data to * * Returns: 0 on success and -1 if fail. * - * Action: Send a http request to Weather Underground + * Action: Send a http request to a weather site * ********************************************************************/ -int http_request_url(char *urlline) +int http_request_url(char *urlline, char *baseurl) { int sockfd; struct hostent *hostinfo; @@ -256,7 +257,7 @@ char buffer[1024]; int bytes_read; - if ( (hostinfo = gethostbyname(WEATHER_UNDERGROUND_BASEURL)) == NULL ) + if ( (hostinfo = gethostbyname(baseurl)) == NULL ) { perror("Host not known by DNS server or DNS server not working"); return(-1); Index: open2300-dist.conf =================================================================== --- open2300-dist.conf (revision 3) +++ open2300-dist.conf (working copy) @@ -21,7 +21,7 @@ # Units of measure (set them to your preference) -# The units of measure are ignored by wu2300 and cw2300 because both requires specific units +# The units of measure are ignored by wu2300, ham2300 and cw2300 because both requires specific units WIND_SPEED m/s # select MPH (miles/hour), m/s, or km/h TEMPERATURE C # Select C or F @@ -52,6 +52,12 @@ WEATHER_UNDERGROUND_PASSWORD WUPASSWORD # Password for Weather Underground +#### HAMWEATHER variables (used only by ham2300) + +HAMWEATHER_ID HAMID # ID received from Hamweather +HAMWEATHER_PASSWORD HAMPASSWORD # Password for Hamweather + + ### MYSQL Settings (only used by mysql2300) MYSQL_HOST localhost # Localhost or IP address/host name Index: Makefile =================================================================== --- Makefile (revision 3) +++ Makefile (working copy) @@ -23,6 +23,7 @@ LOGOBJ = log2300.o rw2300.o linux2300.o win2300.o FETCHOBJ = fetch2300.o rw2300.o linux2300.o win2300.o WUOBJ = wu2300.o rw2300.o linux2300.o win2300.o +HAMOBJ = ham2300.o rw2300.o linux2300.o win2300.o CWOBJ = cw2300.o rw2300.o linux2300.o win2300.o DUMPOBJ = dump2300.o rw2300.o linux2300.o win2300.o HISTOBJ = history2300.o rw2300.o linux2300.o win2300.o @@ -47,7 +48,7 @@ ####### Build rules -all: open2300 dump2300 log2300 fetch2300 wu2300 cw2300 history2300 histlog2300 bin2300 xml2300 light2300 interval2300 minmax2300 mysql2300 mysqlhistlog2300 +all: open2300 dump2300 log2300 fetch2300 wu2300 ham2300 cw2300 history2300 histlog2300 bin2300 xml2300 light2300 interval2300 minmax2300 mysql2300 mysqlhistlog2300 open2300 : $(OBJ) $(CC) $(CFLAGS) -o $@ $(OBJ) $(CC_LDFLAGS) @@ -64,6 +65,9 @@ wu2300 : $(WUOBJ) $(CC) $(CFLAGS) -o $@ $(WUOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) +ham2300 : $(HAMOBJ) + $(CC) $(CFLAGS) -o $@ $(HAMOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) + cw2300 : $(CWOBJ) $(CC) $(CFLAGS) -o $@ $(CWOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) @@ -105,6 +109,7 @@ $(INSTALL) log2300 $(bindir) $(INSTALL) fetch2300 $(bindir) $(INSTALL) wu2300 $(bindir) + $(INSTALL) ham2300 $(bindir) $(INSTALL) cw2300 $(bindir) $(INSTALL) histlog2300 $(bindir) $(INSTALL) xml2300 $(bindir) @@ -115,10 +120,10 @@ $(INSTALL) mysqlhistlog2300 $(bindir) uninstall: - rm -f $(bindir)/open2300 $(bindir)/dump2300 $(bindir)/log2300 $(bindir)/fetch2300 $(bindir)/wu2300 $(bindir)/cw2300 $(bindir)/xml2300 $(bindir)/light2300 $(bindir)/interval2300 $(bindir)/minmax2300 $(bindir)/mysql2300 $(bindir)/mysqlhistlog2300 + rm -f $(bindir)/open2300 $(bindir)/dump2300 $(bindir)/log2300 $(bindir)/fetch2300 $(bindir)/wu2300 $(bindir)/ham2300 $(bindir)/cw2300 $(bindir)/xml2300 $(bindir)/light2300 $(bindir)/interval2300 $(bindir)/minmax2300 $(bindir)/mysql2300 $(bindir)/mysqlhistlog2300 clean: - rm -f *~ *.o open2300 dump2300 log2300 fetch2300 wu2300 cw2300 history2300 histlog2300 bin2300 xml2300 mysql2300 pgsql2300 light2300 interval2300 minmax2300 mysql2300 mysqlhistlog2300 + rm -f *~ *.o open2300 dump2300 log2300 fetch2300 wu2300 ham2300 cw2300 history2300 histlog2300 bin2300 xml2300 mysql2300 pgsql2300 light2300 interval2300 minmax2300 mysql2300 mysqlhistlog2300 cleanexe: - rm -f *~ *.o open2300.exe dump2300.exe log2300.exe fetch2300.exe wu2300.exe cw2300.exe history2300.exe histlog2300.exe bin2300.exe xml2300.exe mysql2300.exe pgsql2300.exe light2300.exe interval2300.exe minmax2300.exe \ No newline at end of file + rm -f *~ *.o open2300.exe dump2300.exe log2300.exe fetch2300.exe wu2300.exe ham2300.exe cw2300.exe history2300.exe histlog2300.exe bin2300.exe xml2300.exe mysql2300.exe pgsql2300.exe light2300.exe interval2300.exe minmax2300.exe Index: wu2300.c =================================================================== --- wu2300.c (revision 3) +++ wu2300.c (working copy) @@ -127,7 +127,7 @@ } else { - http_request_url(urlline); + http_request_url(urlline, WEATHER_UNDERGROUND_BASEURL); } /* Reset minimum and maximum wind readings if reporting gusts */ Index: open2300-dist-win.conf =================================================================== --- open2300-dist-win.conf (revision 3) +++ open2300-dist-win.conf (working copy) @@ -21,7 +21,7 @@ # Units of measure (set them to your preference) -# The units of measure are ignored by wu2300 and cw2300 because both requires specific units +# The units of measure are ignored by wu2300, ham2300 and cw2300 because both requires specific units WIND_SPEED m/s # select MPH (miles/hour), m/s, or km/h TEMPERATURE C # Select C or F @@ -52,6 +52,12 @@ WEATHER_UNDERGROUND_PASSWORD WUPASSWORD # Password for Weather Underground +#### HAMWEATHER variables (used only by ham2300) + +HAMWEATHER_ID HAMID # ID received from Hamweather +HAMWEATHER_PASSWORD HAMPASSWORD # Password for Hamweather + + ### MYSQL Settings (only used by mysql2300) MYSQL_HOST localhost # Localhost or IP address/host name Index: rw2300.c =================================================================== --- rw2300.c (revision 3) +++ rw2300.c (working copy) @@ -2403,6 +2403,8 @@ config->num_hosts = 2; // default number of defined hosts strcpy(config->weather_underground_id, "WUID"); // Weather Underground ID strcpy(config->weather_underground_password, "WUPassword"); // Weather Underground Password + strcpy(config->hamweather_id, "HAMID"); // Hamweather ID + strcpy(config->hamweather_password, "HAMPassword"); // Hamweather Password strcpy(config->timezone, "1"); // Timezone, default CET config->wind_speed_conv_factor = 1.0; // Speed dimention, m/s is default config->temperature_conv = 0; // Temperature in Celcius @@ -2490,6 +2492,18 @@ continue; } + if ((strcmp(token,"HAMWEATHER_ID")==0) && (strlen(val)!=0)) + { + strcpy(config->hamweather_id, val); + continue; + } + + if ((strcmp(token,"HAMWEATHER_PASSWORD")==0)&&(strlen(val)!=0)) + { + strcpy(config->hamweather_password, val); + continue; + } + if ((strcmp(token,"TIMEZONE")==0) && (strlen(val) != 0)) { strcpy(config->timezone, val);