7cb84d1660
the matrix needs an update, though. Not all words are well put
106 lines
2.7 KiB
C++
106 lines
2.7 KiB
C++
// --------------------------------------------------------------------------------------------------------------------
|
|
/// \file clock.h
|
|
/// \brief File description
|
|
// --------------------------------------------------------------------------------------------------------------------
|
|
//
|
|
// vbchaos software design
|
|
//
|
|
// --------------------------------------------------------------------------------------------------------------------
|
|
/// $Revision: $
|
|
/// $Author: $
|
|
/// $Date: $
|
|
// (c) 2023 vbchaos
|
|
// --------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
#ifndef MAIN_INC_CLOCK_H_
|
|
#define MAIN_INC_CLOCK_H_
|
|
|
|
/**
|
|
* clock implementation
|
|
* \defgroup clock
|
|
* \brief {group_description}
|
|
* \addtogroup {Layer}
|
|
*
|
|
* Detailed description
|
|
* @{
|
|
*/
|
|
|
|
|
|
|
|
// --------------------------------------------------------------------------------------------------------------------
|
|
// Include files
|
|
// --------------------------------------------------------------------------------------------------------------------
|
|
|
|
// CompilerIncludes
|
|
// All include files that are provided by the compiler directly
|
|
|
|
|
|
|
|
// ProjectIncludes
|
|
// All include files that are provided by the project
|
|
#include "time.h"
|
|
|
|
// --------------------------------------------------------------------------------------------------------------------
|
|
// Constant and macro definitions
|
|
// --------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
// --------------------------------------------------------------------------------------------------------------------
|
|
// Type definitions.
|
|
// --------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
// --------------------------------------------------------------------------------------------------------------------
|
|
// Function declarations
|
|
// --------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
class Clock
|
|
{
|
|
public:
|
|
|
|
enum FifthsIndication
|
|
{
|
|
None_FifthIndication = 0,
|
|
Five,
|
|
Ten,
|
|
Quarter
|
|
};
|
|
|
|
enum BeforeAfterIndication
|
|
{
|
|
None_BeforeAfter = 0,
|
|
Before,
|
|
After
|
|
};
|
|
|
|
struct TimeStructure
|
|
{
|
|
bool prefix;
|
|
bool almost;
|
|
FifthsIndication fifths;
|
|
BeforeAfterIndication beforeAfter;
|
|
bool half;
|
|
int hours;
|
|
bool hourPostfix;
|
|
};
|
|
|
|
Clock();
|
|
|
|
TimeStructure updateTime(void);
|
|
|
|
private:
|
|
time_t currentTime;
|
|
|
|
void toString(TimeStructure* timestructure);
|
|
int calculateHours(int hour);
|
|
};
|
|
|
|
|
|
/** @} */
|
|
|
|
#endif /* MAIN_INC_CLOCK_H_ */
|