From 248a1e3882aae1f6c7559518557bf3de87fcd182 Mon Sep 17 00:00:00 2001 From: Harald Pichler Date: Tue, 9 Dec 2014 14:36:06 +0100 Subject: [PATCH] add leds and battery --- .../er-example-server.c | 29 +++++++++++++------ .../project-conf.h | 3 ++ .../resources/res-battery.c | 6 ++-- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/examples/osd/er-rest-example-merkurboard/er-example-server.c b/examples/osd/er-rest-example-merkurboard/er-example-server.c index 41a07a501..4b0d559c7 100644 --- a/examples/osd/er-rest-example-merkurboard/er-example-server.c +++ b/examples/osd/er-rest-example-merkurboard/er-example-server.c @@ -73,17 +73,18 @@ extern resource_t res_sub, res_b1_sep_b2; #if PLATFORM_HAS_LEDS +#include "dev/leds.h" extern resource_t res_leds, res_toggle; #endif #if PLATFORM_HAS_LIGHT #include "dev/light-sensor.h" extern resource_t res_light; #endif -/* #if PLATFORM_HAS_BATTERY #include "dev/battery-sensor.h" extern resource_t res_battery; #endif +/* #if PLATFORM_HAS_RADIO #include "dev/radio-sensor.h" extern resource_t res_radio; @@ -94,6 +95,14 @@ extern resource_t res_sht11; #endif */ +void +hw_init() +{ +#if defined (PLATFORM_HAS_LEDS) + leds_off(LEDS_RED); +#endif +} + PROCESS(er_example_server, "Erbium Example Server"); AUTOSTART_PROCESSES(&er_example_server); @@ -117,6 +126,7 @@ PROCESS_THREAD(er_example_server, ev, data) PRINTF("IP+UDP header: %u\n", UIP_IPUDPH_LEN); PRINTF("REST max chunk: %u\n", REST_MAX_CHUNK_SIZE); + hw_init(); /* Initialize the REST engine. */ rest_init_engine(); @@ -130,28 +140,29 @@ PROCESS_THREAD(er_example_server, ev, data) /* rest_activate_resource(&res_chunks, "test/chunks"); */ /* rest_activate_resource(&res_separate, "test/separate"); */ rest_activate_resource(&res_push, "test/push"); -/* rest_activate_resource(&res_event, "sensors/button"); */ +/* rest_activate_resource(&res_event, "s/button"); */ /* rest_activate_resource(&res_sub, "test/sub"); */ /* rest_activate_resource(&res_b1_sep_b2, "test/b1sepb2"); */ #if PLATFORM_HAS_LEDS -/* rest_activate_resource(&res_leds, "actuators/leds"); */ - rest_activate_resource(&res_toggle, "actuators/toggle"); +/* rest_activate_resource(&res_leds, "a/leds"); */ + rest_activate_resource(&res_toggle, "a/toggle"); #endif #if PLATFORM_HAS_LIGHT - rest_activate_resource(&res_light, "sensors/light"); + rest_activate_resource(&res_light, "s/light"); SENSORS_ACTIVATE(light_sensor); #endif -/* + #if PLATFORM_HAS_BATTERY - rest_activate_resource(&res_battery, "sensors/battery"); + rest_activate_resource(&res_battery, "s/battery"); SENSORS_ACTIVATE(battery_sensor); #endif +/* #if PLATFORM_HAS_RADIO - rest_activate_resource(&res_radio, "sensors/radio"); + rest_activate_resource(&res_radio, "s/radio"); SENSORS_ACTIVATE(radio_sensor); #endif #if PLATFORM_HAS_SHT11 - rest_activate_resource(&res_sht11, "sensors/sht11"); + rest_activate_resource(&res_sht11, "s/sht11"); SENSORS_ACTIVATE(sht11_sensor); #endif */ diff --git a/examples/osd/er-rest-example-merkurboard/project-conf.h b/examples/osd/er-rest-example-merkurboard/project-conf.h index bb9b05150..c4bb7cc61 100644 --- a/examples/osd/er-rest-example-merkurboard/project-conf.h +++ b/examples/osd/er-rest-example-merkurboard/project-conf.h @@ -39,6 +39,9 @@ #ifndef __PROJECT_ERBIUM_CONF_H__ #define __PROJECT_ERBIUM_CONF_H__ + #define PLATFORM_HAS_LEDS 1 + #define PLATFORM_HAS_BATTERY 1 + /* Custom channel and PAN ID configuration for your project. */ /* #undef RF_CHANNEL diff --git a/examples/osd/er-rest-example-merkurboard/resources/res-battery.c b/examples/osd/er-rest-example-merkurboard/resources/res-battery.c index b82523594..c7a025d38 100644 --- a/examples/osd/er-rest-example-merkurboard/resources/res-battery.c +++ b/examples/osd/er-rest-example-merkurboard/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 {