Subversion Repositories ESP8266_P1_Meter

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 raymond 1
 
2
#ifndef VERSION_H
3
#define VERSION_H	
4
 
5
// Year YY
6
#define BUILD_YEAR_CH0 (__DATE__[9])
7
#define BUILD_YEAR_CH1 (__DATE__[10])
8
 
9
// Month MM
10
#define BUILD_MONTH_IS_JAN (__DATE__[0] == 'J' && __DATE__[1] == 'a' && __DATE__[2] == 'n')
11
#define BUILD_MONTH_IS_FEB (__DATE__[0] == 'F')
12
#define BUILD_MONTH_IS_MAR (__DATE__[0] == 'M' && __DATE__[1] == 'a' && __DATE__[2] == 'r')
13
#define BUILD_MONTH_IS_APR (__DATE__[0] == 'A' && __DATE__[1] == 'p')
14
#define BUILD_MONTH_IS_MAY (__DATE__[0] == 'M' && __DATE__[1] == 'a' && __DATE__[2] == 'y')
15
#define BUILD_MONTH_IS_JUN (__DATE__[0] == 'J' && __DATE__[1] == 'u' && __DATE__[2] == 'n')
16
#define BUILD_MONTH_IS_JUL (__DATE__[0] == 'J' && __DATE__[1] == 'u' && __DATE__[2] == 'l')
17
#define BUILD_MONTH_IS_AUG (__DATE__[0] == 'A' && __DATE__[1] == 'u')
18
#define BUILD_MONTH_IS_SEP (__DATE__[0] == 'S')
19
#define BUILD_MONTH_IS_OCT (__DATE__[0] == 'O')
20
#define BUILD_MONTH_IS_NOV (__DATE__[0] == 'N')
21
#define BUILD_MONTH_IS_DEC (__DATE__[0] == 'D')
22
 
23
#define BUILD_MONTH_CH0 \
24
    ((BUILD_MONTH_IS_OCT || BUILD_MONTH_IS_NOV || BUILD_MONTH_IS_DEC) ? '1' : '0')
25
 
26
#define BUILD_MONTH_CH1 \
27
    ( \
28
        (BUILD_MONTH_IS_JAN) ? '1' : \
29
        (BUILD_MONTH_IS_FEB) ? '2' : \
30
        (BUILD_MONTH_IS_MAR) ? '3' : \
31
        (BUILD_MONTH_IS_APR) ? '4' : \
32
        (BUILD_MONTH_IS_MAY) ? '5' : \
33
        (BUILD_MONTH_IS_JUN) ? '6' : \
34
        (BUILD_MONTH_IS_JUL) ? '7' : \
35
        (BUILD_MONTH_IS_AUG) ? '8' : \
36
        (BUILD_MONTH_IS_SEP) ? '9' : \
37
        (BUILD_MONTH_IS_OCT) ? '0' : \
38
        (BUILD_MONTH_IS_NOV) ? '1' : \
39
        (BUILD_MONTH_IS_DEC) ? '2' : \
40
        '?' \
41
    )
42
 
43
// Day DD
44
#define BUILD_DAY_CH0 ((__DATE__[4] >= '0') ? (__DATE__[4]) : '0')
45
#define BUILD_DAY_CH1 (__DATE__[5])
46
 
47
// Hour HH
48
#define BUILD_HOUR_CH0 (__TIME__[0])
49
#define BUILD_HOUR_CH1 (__TIME__[1])
50
 
51
// Minute mm
52
#define BUILD_MIN_CH0 (__TIME__[3])
53
#define BUILD_MIN_CH1 (__TIME__[4])
54
 
55
#define BUILD_TIMESTAMP \
56
    (const char[]) { \
57
        BUILD_YEAR_CH0, BUILD_YEAR_CH1, \
58
        BUILD_MONTH_CH0, BUILD_MONTH_CH1, \
59
        BUILD_DAY_CH0, BUILD_DAY_CH1, \
60
        BUILD_HOUR_CH0, BUILD_HOUR_CH1, \
61
        BUILD_MIN_CH0, BUILD_MIN_CH1, \
62
        '\0' \
63
    }
64
 
65
#endif	// VERSION_H