Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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_