An application to log WiFi SSIDs for position lookup testing
Dependencies: C027_Support SWO mbed-rtos mbed picojson
Fork of lpc4088_ebb_ublox_Cellular_PubNubDemo_rtos by
device/DeviceFeedback.cpp
- Committer:
- rosterloh84
- Date:
- 2015-02-15
- Revision:
- 1:cac9b2960637
File content as of revision 1:cac9b2960637:
#include "DeviceFeedback.h" #include <stdlib.h> #include <string.h> #define MSG_SHOW_SUCCESS 1 #define MSG_SHOW_FAILURE 2 DeviceFeedback::DeviceFeedback(PwmOut led) : _led(led), _thread(DeviceFeedback::thread_func, this) { } void DeviceFeedback::showSuccess() { sendMessage(MSG_SHOW_SUCCESS); } void DeviceFeedback::showFailure() { sendMessage(MSG_SHOW_FAILURE); } void DeviceFeedback::sendMessage(uint8_t msg) { uint8_t *msgPtr; msgPtr = _mail.alloc(); *msgPtr = msg; _mail.put(msgPtr); } void DeviceFeedback::thread() { osEvent evt; uint8_t *msg; while (true) { if ((evt = _mail.get(1000)).status == osEventMail) { msg = (uint8_t*)evt.value.p; switch (*msg) { case MSG_SHOW_SUCCESS: for (float i=2000.0; i<10000.0; i+=2000.0) { _led.period(1.0/i); _led = 0.5; Thread::wait(200); _led = 0.0; Thread::wait(50); } break; case MSG_SHOW_FAILURE: for (float i=10000.0; i>2000.0; i-=2000.0) { _led.period(1.0/i); _led = 0.5; Thread::wait(200); _led = 0.0; Thread::wait(50); } break; } _mail.free(msg); } } } void DeviceFeedback::thread_func(void const *arg) { DeviceFeedback *that; that = (DeviceFeedback*)arg; that->thread(); }