vcdMaker demo logger library. See http://vcdmaker.org for details. vcdMaker demos: For Freescale FRDM-KL46Z: https://developer.mbed.org/users/ketjow/code/vcdMaker_Demo/ For ST Disco L476: https://developer.mbed.org/users/ketjow/code/vcdMaker_Demo_DISCO_L476/
logger.hpp
- Committer:
- ketjow
- Date:
- 2016-05-27
- Revision:
- 0:caae6cde6ca8
File content as of revision 0:caae6cde6ca8:
/*! @file logger.hpp The header of the logger base class. @par Full Description The header of the logger base class. @if REVISION_HISTORY_INCLUDED @par Edit History @li [0] wojciech.rynczuk@wp.pl 20-JAN-2015 Initial file revision. @endif @ingroup Logger The MIT License (MIT) Copyright (c) 2016 Wojciech Rynczuk */ #ifndef _LOGGER_HPP_ #define _LOGGER_HPP_ #include <stdint.h> #include "mbed.h" //Timer class Logger { public: Logger(uint32_t nLines, uint32_t nCharacters); ~Logger(); uint32_t Log(const char* line); uint32_t Print(); int32_t GetTime(); void StartRecording(); void StopRecording(); bool IsRecording(); //protected: virtual void Printf(const char*) = 0; virtual void AlarmFull() = 0; virtual uint32_t StartAction() = 0; virtual uint32_t StopAction() = 0; private: bool m_isRecording; Timer m_Timer; char* m_pLogData; uint32_t m_Lines; uint32_t m_Characters; uint32_t m_ReadMarker; volatile uint32_t m_WriteMarker; }; #endif