Core Base Classes for the Light Endpoints
Dependents: mbed_mqtt_endpoint_ublox_ethernet mbed_mqtt_endpoint_ublox_cellular mbed_nsp_endpoint_ublox_cellular mbed_nsp_endpoint_ublox_ethernet ... more
ErrorHandler.h
- Committer:
- ansond
- Date:
- 2014-03-11
- Revision:
- 84:4a993dd7c38b
- Parent:
- 83:2f49051d6acf
- Child:
- 112:1fb53d4729af
File content as of revision 84:4a993dd7c38b:
/* Copyright C2013 Doug Anson, MIT License * * Permission is hereby granted, free of charge, to any person obtaining a copy of this software * and associated documentation files the "Software", to deal in the Software without restriction, * including without limitation the rights to use, copy, modify, merge, publish, distribute, * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all copies or * substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef _ERROR_HANDLER_H_ #define _ERROR_HANDLER_H_ // Tunables #include "Definitions.h" // Support for std args #include <stdarg.h> // LCD Support #include "C12832_lcd.h" // Mutex support #include "rtos.h" class ErrorHandler { private: Serial *m_pc; C12832_LCD *m_lcd; char m_message[MAX_LOG_MESSAGE+1]; Mutex *m_mutex; Mutex *m_close_mutex; Mutex *m_led_mutex; Mutex *m_rgb_mutex; public: ErrorHandler(Serial *pc,C12832_LCD *lcd); ~ErrorHandler(); void log(const char *format, ...); void log_memory(const char *format, ...); void checkForExit(); void pause(const char *format, ...); void turnLEDRed(); void turnLEDGreen(); void turnLEDBlue(); void turnLEDBlack(); void turnLEDYellow(); void blinkTransportTxLED(); void blinkTransportRxLED(); void releaseMutexes(); void dimRGB(float value); void led2On(); void led2Off(); void led3On(); void led3Off(); private: void setRGBLED(float H, float S, float V); void blinkLED(DigitalOut led); void resetLEDs(); void changeLED(DigitalOut led,bool onoff); }; #endif // _ERROR_HANDLER_H_