From 25afb83209113e79792e444e27a1579fb6ff0469 Mon Sep 17 00:00:00 2001
From: George Oikonomou <george@contiki-ng.org>
Date: Sun, 5 Nov 2017 22:16:54 +0000
Subject: [PATCH] Change CC2538 MQTT demo to use the button HAL

---
 .../cc2538-common/mqtt-demo/mqtt-demo.c                | 10 ++++++----
 .../cc2538-common/mqtt-demo/project-conf.h             |  1 -
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/examples/platform-specific/cc2538-common/mqtt-demo/mqtt-demo.c b/examples/platform-specific/cc2538-common/mqtt-demo/mqtt-demo.c
index b818b88ca5..5ed836cc1d 100644
--- a/examples/platform-specific/cc2538-common/mqtt-demo/mqtt-demo.c
+++ b/examples/platform-specific/cc2538-common/mqtt-demo/mqtt-demo.c
@@ -50,7 +50,7 @@
 #include "sys/etimer.h"
 #include "sys/ctimer.h"
 #include "lib/sensors.h"
-#include "dev/button-sensor.h"
+#include "dev/button-hal.h"
 #include "dev/leds.h"
 #include "dev/cc2538-sensors.h"
 
@@ -138,7 +138,7 @@ static uint8_t state;
 #define DEFAULT_RSSI_MEAS_INTERVAL  (CLOCK_SECOND * 30)
 /*---------------------------------------------------------------------------*/
 /* Take a sensor reading on button press */
-#define PUBLISH_TRIGGER &button_sensor
+#define PUBLISH_TRIGGER BUTTON_HAL_ID_USER_BUTTON
 
 /* Payload length of ICMPv6 echo requests used to measure RSSI with def rt */
 #define ECHO_REQ_PAYLOAD_LEN   20
@@ -704,7 +704,8 @@ PROCESS_THREAD(mqtt_demo_process, ev, data)
 
     PROCESS_YIELD();
 
-    if(ev == sensors_event && data == PUBLISH_TRIGGER) {
+    if(ev == button_hal_release_event &&
+       ((button_hal_button_t *)data)->unique_id == PUBLISH_TRIGGER) {
       if(state == STATE_ERROR) {
         connect_attempt = 1;
         state = STATE_REGISTERED;
@@ -713,7 +714,8 @@ PROCESS_THREAD(mqtt_demo_process, ev, data)
 
     if((ev == PROCESS_EVENT_TIMER && data == &publish_periodic_timer) ||
        ev == PROCESS_EVENT_POLL ||
-       (ev == sensors_event && data == PUBLISH_TRIGGER)) {
+       (ev == button_hal_release_event &&
+        ((button_hal_button_t *)data)->unique_id == PUBLISH_TRIGGER)) {
       state_machine();
     }
 
diff --git a/examples/platform-specific/cc2538-common/mqtt-demo/project-conf.h b/examples/platform-specific/cc2538-common/mqtt-demo/project-conf.h
index a3cc4073b3..ac86990c60 100644
--- a/examples/platform-specific/cc2538-common/mqtt-demo/project-conf.h
+++ b/examples/platform-specific/cc2538-common/mqtt-demo/project-conf.h
@@ -45,7 +45,6 @@
 
 /* User configuration */
 #define MQTT_DEMO_STATUS_LED      LEDS_GREEN
-#define MQTT_DEMO_PUBLISH_TRIGGER &button_right_sensor
 
 /* If undefined, the demo will attempt to connect to IBM's quickstart */
 #define MQTT_DEMO_BROKER_IP_ADDR "fd00::1"
-- 
GitLab