From 9c90608d3c10db01af210b9c2f09409be35f12e1 Mon Sep 17 00:00:00 2001 From: Harald Pichler Date: Fri, 28 Nov 2014 14:04:39 +0100 Subject: [PATCH] bugfix hum temp --- examples/osd/climate2/er-example-server.c | 10 +++++----- examples/osd/climate2/resources/res-battery.c | 6 +++--- examples/osd/climate2/resources/res-dht11hum.c | 2 +- examples/osd/climate2/resources/res-dht11temp.c | 11 +++++------ examples/osd/climate2/resources/res-info.c | 4 ++-- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/examples/osd/climate2/er-example-server.c b/examples/osd/climate2/er-example-server.c index fbf78cc63..c3342c9e3 100644 --- a/examples/osd/climate2/er-example-server.c +++ b/examples/osd/climate2/er-example-server.c @@ -67,11 +67,13 @@ extern resource_t res_info; #if PLATFORM_HAS_DHT11HUM #include "dev/dht11.h" extern resource_t res_dht11hum; +extern uint16_t dht11_hum; #endif #if PLATFORM_HAS_DHT11TEMP #include "dev/dht11.h" extern resource_t res_dht11temp; +extern uint16_t dht11_temp; #endif #if defined (PLATFORM_HAS_DS1820) @@ -103,8 +105,7 @@ hw_init() #if PLATFORM_HAS_DS1820 ds1820_temp(); #endif -#if PLATFORM_HAS_DHT11 - //DHT_INIT(); +#if PLATFORM_HAS_DHT11HUM DHT_Read_Data(&dht11_temp, &dht11_hum); #endif } @@ -153,7 +154,7 @@ PROCESS_THREAD(rest_server_example, ev, data) #if PLATFORM_HAS_DS1820 rest_activate_resource(&res_ds1820,"s/temp"); #endif -#if PLATFORM_HAS_DHT11 +#if PLATFORM_HAS_DHT11HUM rest_activate_resource(&res_dht11hum,"s/hum"); #endif #if PLATFORM_HAS_DHT11TEMP @@ -186,8 +187,7 @@ PROCESS_THREAD(rest_server_example, ev, data) if(etimer_expired(&ds_periodic_timer)) { PRINTF("Periodic\n"); etimer_reset(&ds_periodic_timer); -#if PLATFORM_HAS_DHT11 - // DHT_Read_Data(&dht11_temp, &dht11_hum); +#if PLATFORM_HAS_DHT11HUM DHT_Read_Data(&dht11_temp, &dht11_hum); #endif #if PLATFORM_HAS_DS1820 diff --git a/examples/osd/climate2/resources/res-battery.c b/examples/osd/climate2/resources/res-battery.c index b82523594..c7a025d38 100644 --- a/examples/osd/climate2/resources/res-battery.c +++ b/examples/osd/climate2/resources/res-battery.c @@ -64,12 +64,12 @@ res_get_handler(void *request, void *response, uint8_t *buffer, uint16_t preferr if(accept == -1 || accept == REST.type.TEXT_PLAIN) { REST.set_header_content_type(response, REST.type.TEXT_PLAIN); - snprintf((char *)buffer, REST_MAX_CHUNK_SIZE, "%d", battery); + snprintf((char *)buffer, REST_MAX_CHUNK_SIZE, "%d.%02d", battery/1000, battery % 1000); - REST.set_response_payload(response, (uint8_t *)buffer, strlen((char *)buffer)); + REST.set_response_payload(response, buffer, strlen((char *)buffer)); } else if(accept == REST.type.APPLICATION_JSON) { REST.set_header_content_type(response, REST.type.APPLICATION_JSON); - snprintf((char *)buffer, REST_MAX_CHUNK_SIZE, "{'battery':%d}", battery); + snprintf((char *)buffer, REST_MAX_CHUNK_SIZE, "{'battery':%d.%02d}", battery/1000, battery % 1000); REST.set_response_payload(response, buffer, strlen((char *)buffer)); } else { diff --git a/examples/osd/climate2/resources/res-dht11hum.c b/examples/osd/climate2/resources/res-dht11hum.c index 84da7d151..6ba5de2f8 100644 --- a/examples/osd/climate2/resources/res-dht11hum.c +++ b/examples/osd/climate2/resources/res-dht11hum.c @@ -98,4 +98,4 @@ res_get_dht11hum_handler(void* request, void* response, uint8_t *buffer, uint16_ REST.set_response_payload(response, (uint8_t *)"Supporting content-types text/plain and application/json", 56); } } -#endif /* PLATFORM_HAS_DS1820 */ +#endif /* PLATFORM_HAS_DHT11HUM */ diff --git a/examples/osd/climate2/resources/res-dht11temp.c b/examples/osd/climate2/resources/res-dht11temp.c index 7d6cf1a30..187e4a11f 100644 --- a/examples/osd/climate2/resources/res-dht11temp.c +++ b/examples/osd/climate2/resources/res-dht11temp.c @@ -71,12 +71,11 @@ res_get_dht11temp_handler(void* request, void* response, uint8_t *buffer, uint16 { char message[100]; int length = 0; /* |<-------->| */ + + unsigned int accept = -1; + REST.get_header_accept(request, &accept); - const uint16_t *accept = NULL; - int num = REST.get_header_accept(request, &accept); - - if ((num==0) || (num && accept[0]==REST.type.TEXT_PLAIN)) - { + if(accept == -1 || accept == REST.type.TEXT_PLAIN){ REST.set_header_content_type(response, REST.type.TEXT_PLAIN); snprintf(message, REST_MAX_CHUNK_SIZE, "%d.%02d",dht11_temp/100, dht11_temp % 100); @@ -85,7 +84,7 @@ res_get_dht11temp_handler(void* request, void* response, uint8_t *buffer, uint16 REST.set_response_payload(response, buffer, length); } - else if (num && (accept[0]==REST.type.APPLICATION_JSON)) + else if (accept == REST.type.APPLICATION_JSON) { REST.set_header_content_type(response, REST.type.APPLICATION_JSON); snprintf(message, REST_MAX_CHUNK_SIZE, "{\"temp\":\"%d.%02d\"}",dht11_temp/100, dht11_temp % 100); diff --git a/examples/osd/climate2/resources/res-info.c b/examples/osd/climate2/resources/res-info.c index 8d3232ead..55a780772 100644 --- a/examples/osd/climate2/resources/res-info.c +++ b/examples/osd/climate2/resources/res-info.c @@ -72,8 +72,8 @@ res_get_info_handler(void* request, void* response, uint8_t *buffer, uint16_t pr /* Some data that has the length up to REST_MAX_CHUNK_SIZE. For more, see the chunk resource. */ // jSON Format - index += sprintf(message + index,"{\n \"version\" : \"V0.4.3\",\n"); - index += sprintf(message + index," \"name\" : \"6lowpan-climate\"\n"); + index += sprintf(message + index,"{\n \"version\" : \"V0.5.0\",\n"); + index += sprintf(message + index," \"name\" : \"6lowpan-climate2\"\n"); index += sprintf(message + index,"}\n"); length = strlen(message);