diff --git a/node/code/Makefile b/node/code/Makefile index 71a39211..9f010740 100644 --- a/node/code/Makefile +++ b/node/code/Makefile @@ -46,8 +46,8 @@ CFLAGS += -DEVENT_THREAD_MEDIUM_STACKSIZE='(3*1024)' # Uncomment to enable Wakaama debug log #CFLAGS += -DCONFIG_LWM2M_WITH_LOGS=1 # Specific the server URI address (NOTE: Domain names not supported yet) -LWM2M_SERVER_URI ?= '"coap://[2001:db8:1::1]:5683"' -# LWM2M_SERVER_URI ?= '"coap://[fd00:dead:beef::1]:5683"' +# LWM2M_SERVER_URI ?= '"coap://[2001:db8:1::1]:5683"' +LWM2M_SERVER_URI ?= '"coap://[fd00:dead:beef::1]:5683"' # Configure via CFLAGS only if not done via Kconfig ifndef CONFIG_LWM2M_SERVER_URI CFLAGS += -DCONFIG_LWM2M_SERVER_URI=$(LWM2M_SERVER_URI) diff --git a/node/code/modules/display_handler/display_handler.c b/node/code/modules/display_handler/display_handler.c index 4c16e762..98e84f76 100644 --- a/node/code/modules/display_handler/display_handler.c +++ b/node/code/modules/display_handler/display_handler.c @@ -64,8 +64,8 @@ handler_result_t displayHandler_handleEvent(EVENT_T event){ right_released(); break; case REGISTER_CODE: - //init_not_registered_code(get_register_code()); - init_not_registered_code("Hallo Tom"); + init_not_registered_code(get_register_code()); + //init_not_registered_code("Hallo Tom"); break; case REGISTERED: init_registered_no_pet(); diff --git a/node/code/modules/fsm/fsm.c b/node/code/modules/fsm/fsm.c index 126ec5dd..bef2e857 100644 --- a/node/code/modules/fsm/fsm.c +++ b/node/code/modules/fsm/fsm.c @@ -196,6 +196,7 @@ handler_result_t on_handler(EVENT_T event) { void on_entry(void) { DEBUG("[FSM:on_entry_handler]: called\n"); ioHandler_handleEvent(VIBRATE); + ioHandler_handleEvent(SCREEN_ON); traverse_state(&On_Level[0]); //wie gehe ich in den Child State } @@ -226,6 +227,8 @@ void off_entry(void) { display_init(); startDisplayThread(); } + ioHandler_handleEvent(SCREEN_OFF); + ioHandler_handleEvent(VIBRATE); } void off_exit(void) { @@ -234,8 +237,11 @@ void off_exit(void) { handler_result_t unregistered_handler(EVENT_T event) { switch (event) { - case REGISTERED: + case REGISTER_CODE: displayHandler_handleEvent(REGISTERED); + displayHandler_handleEvent(REGISTER_CODE); + return HANDLED; + case REGISTERED: traverse_state(&On_Level[1]); return HANDLED; default: diff --git a/node/code/modules/fsm/include/events.h b/node/code/modules/fsm/include/events.h index a7364505..1ea669de 100644 --- a/node/code/modules/fsm/include/events.h +++ b/node/code/modules/fsm/include/events.h @@ -54,6 +54,8 @@ typedef enum { PET_BORED, PET_DIRTY, VIBRATE, + SCREEN_OFF, + SCREEN_ON, INIT, REGISTER, REGISTERED, diff --git a/node/code/modules/io_handler/include/init_buttons.h b/node/code/modules/io_handler/include/init_buttons.h index bdb599ff..a74e79cd 100644 --- a/node/code/modules/io_handler/include/init_buttons.h +++ b/node/code/modules/io_handler/include/init_buttons.h @@ -27,6 +27,9 @@ void button_down_callback (void *arg); void button_right_callback (void *arg); void button_ok_callback (void *arg); +//Screen functions: +void screen_off(void); +void screen_on(void); void timer_long_pressed_cb(void *arg); //Vibration functions prototypes: diff --git a/node/code/modules/io_handler/init_buttons.c b/node/code/modules/io_handler/init_buttons.c index 71dca78d..c7406851 100644 --- a/node/code/modules/io_handler/init_buttons.c +++ b/node/code/modules/io_handler/init_buttons.c @@ -29,6 +29,10 @@ gpio_t button_up = GPIO_PIN(0, 28); //PIN A3 gpio_t button_down = GPIO_PIN(0, 2); //PIN A4 gpio_t button_left = GPIO_PIN(0, 3); //PIN A5 +//For turning screen on and off: +gpio_t screen_gpio = GPIO_PIN(0, 7); //PIN 6 +gpio_mode_t screen_gpio_mode = GPIO_OUT; //Define the screen GPIO as Output GPIO + //Define the vibration module GPIO: gpio_t vibr_gpio = GPIO_PIN(1, 9); gpio_mode_t vibr_gpio_mode = GPIO_OUT; //Define the vibr. GPIO as Output GPIO @@ -50,12 +54,24 @@ int init_buttons(void) puts("Vibration Module initialization..."); + //Initialize screen gpio + gpio_init(screen_gpio, screen_gpio_mode); + gpio_set(screen_gpio); + //Initialize vibration module gpio_init(vibr_gpio, vibr_gpio_mode); gpio_clear(vibr_gpio); return 0; } +void screen_off(void) { + gpio_clear(screen_gpio); +} + +void screen_on(void) { + gpio_set(screen_gpio); +} + void timer_long_pressed_cb(void *arg) { (void) arg; long_pressed = true; diff --git a/node/code/modules/io_handler/io_handler.c b/node/code/modules/io_handler/io_handler.c index a5b3582d..79b03115 100644 --- a/node/code/modules/io_handler/io_handler.c +++ b/node/code/modules/io_handler/io_handler.c @@ -35,6 +35,14 @@ handler_result_t ioHandler_handleEvent(EVENT_T event){ DEBUG("[IoHandler:handleEvent]: vibrate\n"); vibrate(VIBRATE_FOR_MSEC); break; + case SCREEN_OFF: + DEBUG("[IoHandler:handleEvent]: screen_off\n"); + screen_off(); + break; + case SCREEN_ON: + DEBUG("[IoHandler:handleEvent]: screen_on\n"); + screen_on(); + break; default: break; } diff --git a/node/code/modules/lwm2m_handler/include/device_model.h b/node/code/modules/lwm2m_handler/include/device_model.h index 587ec1d9..9324bab9 100644 --- a/node/code/modules/lwm2m_handler/include/device_model.h +++ b/node/code/modules/lwm2m_handler/include/device_model.h @@ -30,7 +30,7 @@ #include "lwm2m_client.h" #ifndef CONFIG_LWM2M_STRING_MAX_SIZE -#define CONFIG_LWM2M_STRING_MAX_SIZE 8 +#define CONFIG_LWM2M_STRING_MAX_SIZE 20 #endif #define LWM2M_DEVICE_STATUS_ID 0