FRDM-KL46Z board sLCD demo code
Fork of FRDM-KL46Z LCD rtc Demo by
main.cpp@5:15c484c41006, 2014-09-28 (annotated)
- Committer:
- salemtang
- Date:
- Sun Sep 28 01:50:26 2014 +0000
- Revision:
- 5:15c484c41006
- Parent:
- 4:15da67d64f85
- Child:
- 6:10b73ebdba3d
20140928_1050 modified
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
salemtang | 4:15da67d64f85 | 1 | #ifndef RTC_CLOCK_TEST |
salemtang | 4:15da67d64f85 | 2 | //#define RTC_CLOCK_TEST |
salemtang | 4:15da67d64f85 | 3 | #endif //RTC_CLOCK_TEST |
salemtang | 4:15da67d64f85 | 4 | #ifndef LED_BLINK_TEST |
salemtang | 4:15da67d64f85 | 5 | //#define LED_BLINK_TEST |
salemtang | 4:15da67d64f85 | 6 | #endif //LED_BLINK_TEST |
salemtang | 4:15da67d64f85 | 7 | |
salemtang | 2:678c0be8c23d | 8 | //_____________________________________________________________// |
salemtang | 2:678c0be8c23d | 9 | //======== INCLUDES ===========================================// |
salemtang | 2:678c0be8c23d | 10 | //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯// |
salemtang | 4:15da67d64f85 | 11 | #if (defined RTC_CLOCK_TEST) || (defined LED_BLINK_TEST) |
star297 | 0:4f67859595b2 | 12 | #include "mbed.h" |
salemtang | 4:15da67d64f85 | 13 | #endif //RTC_CLOCK_TEST || LED_BLINK_TEST |
salemtang | 4:15da67d64f85 | 14 | #ifdef RTC_CLOCK_TEST |
star297 | 0:4f67859595b2 | 15 | #include "SLCD.h" |
salemtang | 4:15da67d64f85 | 16 | #endif //RTC_CLOCK_TEST |
star297 | 0:4f67859595b2 | 17 | |
salemtang | 2:678c0be8c23d | 18 | //_____________________________________________________________// |
salemtang | 2:678c0be8c23d | 19 | //======== DEFINES ============================================// |
salemtang | 2:678c0be8c23d | 20 | //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯// |
salemtang | 4:15da67d64f85 | 21 | #ifdef LED_BLINK_TEST |
salemtang | 5:15c484c41006 | 22 | #define PWMDWELL 50 |
salemtang | 3:fb38dbc95b12 | 23 | #define DFDELTA 0.01 |
salemtang | 4:15da67d64f85 | 24 | #endif //RTC_CLOCK_TEST |
salemtang | 3:fb38dbc95b12 | 25 | |
salemtang | 3:fb38dbc95b12 | 26 | //_____________________________________________________________// |
salemtang | 3:fb38dbc95b12 | 27 | //======== MACROS =============================================// |
salemtang | 3:fb38dbc95b12 | 28 | //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯// |
star297 | 0:4f67859595b2 | 29 | |
salemtang | 2:678c0be8c23d | 30 | //_____________________________________________________________// |
salemtang | 2:678c0be8c23d | 31 | //======== PROTOTYPES =========================================// |
salemtang | 2:678c0be8c23d | 32 | //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯// |
salemtang | 4:15da67d64f85 | 33 | #if (defined RTC_CLOCK_TEST) || (defined LED_BLINK_TEST) |
salemtang | 3:fb38dbc95b12 | 34 | void initializeSetting (void); |
salemtang | 4:15da67d64f85 | 35 | #endif //RTC_CLOCK_TEST || LED_BLINK_TEST |
salemtang | 4:15da67d64f85 | 36 | #ifdef LED_BLINK_TEST |
salemtang | 3:fb38dbc95b12 | 37 | void ledBlink (float dutyfactor); |
salemtang | 4:15da67d64f85 | 38 | #endif //LED_BLINK_TEST |
salemtang | 4:15da67d64f85 | 39 | #ifdef RTC_CLOCK_TEST |
salemtang | 3:fb38dbc95b12 | 40 | void rtcClock (void); |
salemtang | 3:fb38dbc95b12 | 41 | void scrollMessage (void); |
salemtang | 3:fb38dbc95b12 | 42 | void switchinput1_INTIRQ (void); |
salemtang | 3:fb38dbc95b12 | 43 | void switchinput3_INTIRQ (void); |
salemtang | 4:15da67d64f85 | 44 | #endif //LED_BLINK_TEST |
salemtang | 3:fb38dbc95b12 | 45 | |
salemtang | 3:fb38dbc95b12 | 46 | //_____________________________________________________________// |
salemtang | 3:fb38dbc95b12 | 47 | //======== TABLES =============================================// |
salemtang | 3:fb38dbc95b12 | 48 | //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯// |
salemtang | 2:678c0be8c23d | 49 | |
salemtang | 2:678c0be8c23d | 50 | //_____________________________________________________________// |
salemtang | 2:678c0be8c23d | 51 | //======== VARIABLES ==========================================// |
salemtang | 2:678c0be8c23d | 52 | //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯// |
salemtang | 4:15da67d64f85 | 53 | #ifdef LED_BLINK_TEST |
salemtang | 3:fb38dbc95b12 | 54 | PwmOut greenled_PO(LED1); |
salemtang | 3:fb38dbc95b12 | 55 | PwmOut redled_PO(LED2); |
salemtang | 3:fb38dbc95b12 | 56 | DigitalIn switchinput1_DI(SW1); |
salemtang | 3:fb38dbc95b12 | 57 | DigitalIn switchinput3_DI(SW3); |
salemtang | 4:15da67d64f85 | 58 | float defaultdutyfactor = 0.0; |
salemtang | 4:15da67d64f85 | 59 | #endif //LED_BLINK_TEST |
salemtang | 4:15da67d64f85 | 60 | #ifdef RTC_CLOCK_TEST |
salemtang | 4:15da67d64f85 | 61 | DigitalOut greenled_DO(LED1); |
salemtang | 4:15da67d64f85 | 62 | DigitalOut redled_DO(LED2); |
salemtang | 3:fb38dbc95b12 | 63 | InterruptIn switchinput1_INT(SW1); |
salemtang | 3:fb38dbc95b12 | 64 | InterruptIn switchinput3_INT(SW3); |
star297 | 0:4f67859595b2 | 65 | SLCD slcd; |
star297 | 0:4f67859595b2 | 66 | Timer scroll; |
star297 | 0:4f67859595b2 | 67 | struct tm t; |
salemtang | 2:678c0be8c23d | 68 | int i, j, k, lastscroll, display_timer, minute, hour, colon, dp; |
star297 | 1:34f0bfc62803 | 69 | char message[60]; |
star297 | 0:4f67859595b2 | 70 | char buffer[32]; |
salemtang | 4:15da67d64f85 | 71 | #endif //RTC_CLOCK_TEST |
star297 | 0:4f67859595b2 | 72 | |
salemtang | 2:678c0be8c23d | 73 | //_____________________________________________________________// |
salemtang | 2:678c0be8c23d | 74 | //======== MAIN() =============================================// |
salemtang | 2:678c0be8c23d | 75 | //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯// |
salemtang | 2:678c0be8c23d | 76 | int main () |
star297 | 1:34f0bfc62803 | 77 | { |
salemtang | 4:15da67d64f85 | 78 | #if (defined RTC_CLOCK_TEST) || (defined LED_BLINK_TEST) |
salemtang | 3:fb38dbc95b12 | 79 | initializeSetting(); |
salemtang | 4:15da67d64f85 | 80 | #endif //RTC_CLOCK_TEST || LED_BLINK_TEST |
salemtang | 2:678c0be8c23d | 81 | |
salemtang | 3:fb38dbc95b12 | 82 | while (true) { |
salemtang | 4:15da67d64f85 | 83 | #ifdef RTC_CLOCK_TEST |
salemtang | 3:fb38dbc95b12 | 84 | rtcClock(); |
salemtang | 4:15da67d64f85 | 85 | #endif //RTC_CLOCK_TEST |
salemtang | 4:15da67d64f85 | 86 | |
salemtang | 4:15da67d64f85 | 87 | #ifdef LED_BLINK_TEST |
salemtang | 3:fb38dbc95b12 | 88 | if (!switchinput1_DI) { |
salemtang | 4:15da67d64f85 | 89 | ledBlink(0.5); |
salemtang | 4:15da67d64f85 | 90 | } else if (!switchinput3_DI) { |
salemtang | 3:fb38dbc95b12 | 91 | ledBlink(1.0); |
star297 | 1:34f0bfc62803 | 92 | } else { |
salemtang | 4:15da67d64f85 | 93 | ledBlink(2.0); |
star297 | 0:4f67859595b2 | 94 | } |
salemtang | 4:15da67d64f85 | 95 | #endif //LED_BLINK_TEST |
star297 | 0:4f67859595b2 | 96 | } |
star297 | 1:34f0bfc62803 | 97 | } |
star297 | 0:4f67859595b2 | 98 | |
salemtang | 2:678c0be8c23d | 99 | //_____________________________________________________________// |
salemtang | 2:678c0be8c23d | 100 | //======== FUNC() =============================================// |
salemtang | 2:678c0be8c23d | 101 | //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯// |
salemtang | 3:fb38dbc95b12 | 102 | //! ------------------------------------------------------------- |
salemtang | 3:fb38dbc95b12 | 103 | //! @brief Initialize Setting |
salemtang | 3:fb38dbc95b12 | 104 | //! @[in] nil |
salemtang | 3:fb38dbc95b12 | 105 | //! @retval nil |
salemtang | 3:fb38dbc95b12 | 106 | //! ------------------------------------------------------------- |
salemtang | 4:15da67d64f85 | 107 | #if (defined RTC_CLOCK_TEST) || (defined LED_BLINK_TEST) |
salemtang | 3:fb38dbc95b12 | 108 | void initializeSetting (void) |
salemtang | 3:fb38dbc95b12 | 109 | { |
salemtang | 4:15da67d64f85 | 110 | #ifdef LED_BLINK_TEST |
salemtang | 3:fb38dbc95b12 | 111 | switchinput1_DI.mode(PullUp); |
salemtang | 3:fb38dbc95b12 | 112 | switchinput3_DI.mode(PullUp); |
salemtang | 4:15da67d64f85 | 113 | #endif //LED_BLINK_TEST |
salemtang | 4:15da67d64f85 | 114 | |
salemtang | 4:15da67d64f85 | 115 | #ifdef RTC_CLOCK_TEST |
salemtang | 4:15da67d64f85 | 116 | time_t seconds = time(NULL); |
salemtang | 3:fb38dbc95b12 | 117 | |
salemtang | 3:fb38dbc95b12 | 118 | slcd.All_Segments(1); |
salemtang | 3:fb38dbc95b12 | 119 | wait(2); |
salemtang | 3:fb38dbc95b12 | 120 | slcd.All_Segments(0); |
salemtang | 3:fb38dbc95b12 | 121 | wait(1); |
salemtang | 3:fb38dbc95b12 | 122 | |
salemtang | 3:fb38dbc95b12 | 123 | greenled_DO = 1; |
salemtang | 3:fb38dbc95b12 | 124 | redled_DO = 1; |
salemtang | 3:fb38dbc95b12 | 125 | |
salemtang | 4:15da67d64f85 | 126 | sprintf(message, " rtc clock sw3 sets the hours sw1 sets the minutes"); |
salemtang | 3:fb38dbc95b12 | 127 | |
salemtang | 3:fb38dbc95b12 | 128 | // scrolling message |
salemtang | 3:fb38dbc95b12 | 129 | scroll.start(); |
salemtang | 3:fb38dbc95b12 | 130 | while (i < 58) { |
salemtang | 3:fb38dbc95b12 | 131 | while (i < 58) { |
salemtang | 3:fb38dbc95b12 | 132 | scrollMessage(); |
salemtang | 3:fb38dbc95b12 | 133 | } |
salemtang | 3:fb38dbc95b12 | 134 | } |
salemtang | 3:fb38dbc95b12 | 135 | wait(1); |
salemtang | 3:fb38dbc95b12 | 136 | |
salemtang | 5:15c484c41006 | 137 | switchinput1_INT.rise(switchinput1_INTIRQ); |
salemtang | 5:15c484c41006 | 138 | switchinput3_INT.rise(switchinput3_INTIRQ); |
salemtang | 4:15da67d64f85 | 139 | #endif //RTC_CLOCK_TEST |
salemtang | 3:fb38dbc95b12 | 140 | } |
salemtang | 4:15da67d64f85 | 141 | #endif //RTC_CLOCK_TEST || LED_BLINK_TEST |
salemtang | 3:fb38dbc95b12 | 142 | |
salemtang | 3:fb38dbc95b12 | 143 | //! ------------------------------------------------------------- |
salemtang | 3:fb38dbc95b12 | 144 | //! @brief LED Blink |
salemtang | 4:15da67d64f85 | 145 | //! @[in] dutyfactor Duty Factor Integer |
salemtang | 3:fb38dbc95b12 | 146 | //! @retval nil |
salemtang | 3:fb38dbc95b12 | 147 | //! ------------------------------------------------------------- |
salemtang | 4:15da67d64f85 | 148 | #ifdef LED_BLINK_TEST |
salemtang | 3:fb38dbc95b12 | 149 | void ledBlink (float dutyfactor) |
salemtang | 3:fb38dbc95b12 | 150 | { |
salemtang | 3:fb38dbc95b12 | 151 | redled_PO.write(defaultdutyfactor); |
salemtang | 3:fb38dbc95b12 | 152 | greenled_PO.write(dutyfactor - defaultdutyfactor); |
salemtang | 3:fb38dbc95b12 | 153 | defaultdutyfactor += DFDELTA; |
salemtang | 3:fb38dbc95b12 | 154 | if (defaultdutyfactor >= dutyfactor) defaultdutyfactor = 0.0; |
salemtang | 3:fb38dbc95b12 | 155 | wait_ms(PWMDWELL); |
salemtang | 3:fb38dbc95b12 | 156 | } |
salemtang | 4:15da67d64f85 | 157 | #endif |
salemtang | 3:fb38dbc95b12 | 158 | |
salemtang | 3:fb38dbc95b12 | 159 | //! ------------------------------------------------------------- |
salemtang | 3:fb38dbc95b12 | 160 | //! @brief RTC Clock |
salemtang | 3:fb38dbc95b12 | 161 | //! @[in] nil |
salemtang | 3:fb38dbc95b12 | 162 | //! @retval nil |
salemtang | 3:fb38dbc95b12 | 163 | //! ------------------------------------------------------------- |
salemtang | 4:15da67d64f85 | 164 | #ifdef RTC_CLOCK_TEST |
salemtang | 3:fb38dbc95b12 | 165 | void rtcClock (void) |
salemtang | 3:fb38dbc95b12 | 166 | { |
salemtang | 3:fb38dbc95b12 | 167 | time_t seconds = time(NULL); |
salemtang | 3:fb38dbc95b12 | 168 | |
salemtang | 3:fb38dbc95b12 | 169 | if (display_timer > 6) { |
salemtang | 5:15c484c41006 | 170 | // display Hours,Minutes for 2 seconds |
salemtang | 5:15c484c41006 | 171 | strftime(buffer, 4, "%H%M", localtime(&seconds)); |
salemtang | 3:fb38dbc95b12 | 172 | slcd.Colon(1); |
salemtang | 3:fb38dbc95b12 | 173 | redled_DO = 0; |
salemtang | 3:fb38dbc95b12 | 174 | slcd.DP2(0); |
salemtang | 3:fb38dbc95b12 | 175 | greenled_DO = 1; |
salemtang | 3:fb38dbc95b12 | 176 | } else { |
salemtang | 5:15c484c41006 | 177 | // display Minutes,Seconds for 8 seconds |
salemtang | 5:15c484c41006 | 178 | strftime(buffer, 4, "%M%S", localtime(&seconds)); |
salemtang | 3:fb38dbc95b12 | 179 | slcd.Colon(0); |
salemtang | 3:fb38dbc95b12 | 180 | redled_DO = 1; |
salemtang | 3:fb38dbc95b12 | 181 | slcd.DP2(1); |
salemtang | 3:fb38dbc95b12 | 182 | greenled_DO = 0; |
salemtang | 3:fb38dbc95b12 | 183 | } |
salemtang | 3:fb38dbc95b12 | 184 | |
salemtang | 3:fb38dbc95b12 | 185 | slcd.printf(buffer); |
salemtang | 3:fb38dbc95b12 | 186 | wait(0.5); |
salemtang | 3:fb38dbc95b12 | 187 | slcd.DP2(0); |
salemtang | 3:fb38dbc95b12 | 188 | greenled_DO = 1; |
salemtang | 3:fb38dbc95b12 | 189 | display_timer++; |
salemtang | 3:fb38dbc95b12 | 190 | if (display_timer > 9) display_timer = 0; |
salemtang | 3:fb38dbc95b12 | 191 | wait(0.5); |
salemtang | 3:fb38dbc95b12 | 192 | } |
salemtang | 4:15da67d64f85 | 193 | #endif //RTC_CLOCK_TEST |
salemtang | 3:fb38dbc95b12 | 194 | |
salemtang | 3:fb38dbc95b12 | 195 | //! ------------------------------------------------------------- |
salemtang | 3:fb38dbc95b12 | 196 | //! @brief Scroll Message |
salemtang | 3:fb38dbc95b12 | 197 | //! @[in] nil |
salemtang | 3:fb38dbc95b12 | 198 | //! @retval nil |
salemtang | 3:fb38dbc95b12 | 199 | //! ------------------------------------------------------------- |
salemtang | 4:15da67d64f85 | 200 | #ifdef RTC_CLOCK_TEST |
salemtang | 3:fb38dbc95b12 | 201 | void scrollMessage (void) |
star297 | 0:4f67859595b2 | 202 | { |
star297 | 1:34f0bfc62803 | 203 | if (scroll.read_ms() > lastscroll + 350) { |
star297 | 0:4f67859595b2 | 204 | scroll.reset(); |
star297 | 1:34f0bfc62803 | 205 | if (i > 58) { |
salemtang | 4:15da67d64f85 | 206 | i = 0; |
star297 | 0:4f67859595b2 | 207 | } |
star297 | 0:4f67859595b2 | 208 | int j, k = i; |
star297 | 0:4f67859595b2 | 209 | for (j = 0; j < 4; j++) { |
star297 | 0:4f67859595b2 | 210 | if (message[k+j]) { |
star297 | 0:4f67859595b2 | 211 | slcd.putc(message[k+j]); |
star297 | 0:4f67859595b2 | 212 | } else { |
star297 | 0:4f67859595b2 | 213 | slcd.putc(' '); |
star297 | 0:4f67859595b2 | 214 | k--; |
star297 | 0:4f67859595b2 | 215 | } |
star297 | 0:4f67859595b2 | 216 | } |
star297 | 0:4f67859595b2 | 217 | i++; |
salemtang | 2:678c0be8c23d | 218 | lastscroll = scroll.read_ms(); |
star297 | 0:4f67859595b2 | 219 | } |
star297 | 0:4f67859595b2 | 220 | } |
salemtang | 4:15da67d64f85 | 221 | #endif //RTC_CLOCK_TEST |
salemtang | 4:15da67d64f85 | 222 | |
salemtang | 3:fb38dbc95b12 | 223 | //! ------------------------------------------------------------- |
salemtang | 3:fb38dbc95b12 | 224 | //! @brief Set Minutes ISR |
salemtang | 3:fb38dbc95b12 | 225 | //! @[in] nil |
salemtang | 3:fb38dbc95b12 | 226 | //! @retval nil |
salemtang | 3:fb38dbc95b12 | 227 | //! ------------------------------------------------------------- |
salemtang | 4:15da67d64f85 | 228 | #ifdef RTC_CLOCK_TEST |
salemtang | 3:fb38dbc95b12 | 229 | void switchinput1_INTIRQ (void) |
star297 | 0:4f67859595b2 | 230 | { |
salemtang | 2:678c0be8c23d | 231 | display_timer = 7; |
star297 | 0:4f67859595b2 | 232 | time_t seconds = time(NULL); |
star297 | 1:34f0bfc62803 | 233 | char buffer[2]; |
star297 | 0:4f67859595b2 | 234 | strftime(buffer, 2,"%H", localtime(&seconds)); |
star297 | 1:34f0bfc62803 | 235 | hour = atoi(buffer); // get Hour integer |
star297 | 0:4f67859595b2 | 236 | strftime(buffer, 2,"%M", localtime(&seconds)); |
salemtang | 2:678c0be8c23d | 237 | minute = atoi(buffer); // get Minutes integer |
star297 | 0:4f67859595b2 | 238 | minute++; |
salemtang | 2:678c0be8c23d | 239 | if (minute > 59) minute = 0; |
salemtang | 2:678c0be8c23d | 240 | t.tm_sec = 0; // Seconds reset to zero |
star297 | 1:34f0bfc62803 | 241 | t.tm_min = minute; |
star297 | 1:34f0bfc62803 | 242 | t.tm_hour = hour; |
star297 | 1:34f0bfc62803 | 243 | t.tm_mday = 1; |
star297 | 1:34f0bfc62803 | 244 | t.tm_mon = 2; |
star297 | 1:34f0bfc62803 | 245 | t.tm_year = 114; |
salemtang | 2:678c0be8c23d | 246 | set_time(mktime(&t)); |
star297 | 0:4f67859595b2 | 247 | } |
salemtang | 4:15da67d64f85 | 248 | #endif //RTC_CLOCK_TEST |
star297 | 0:4f67859595b2 | 249 | |
salemtang | 3:fb38dbc95b12 | 250 | //! ------------------------------------------------------------- |
salemtang | 3:fb38dbc95b12 | 251 | //! @brief Set Hours ISR |
salemtang | 3:fb38dbc95b12 | 252 | //! @[in] nil |
salemtang | 3:fb38dbc95b12 | 253 | //! @retval nil |
salemtang | 3:fb38dbc95b12 | 254 | //! ------------------------------------------------------------- |
salemtang | 4:15da67d64f85 | 255 | #ifdef RTC_CLOCK_TEST |
salemtang | 3:fb38dbc95b12 | 256 | void switchinput3_INTIRQ (void) |
star297 | 0:4f67859595b2 | 257 | { |
salemtang | 2:678c0be8c23d | 258 | display_timer = 7; |
star297 | 0:4f67859595b2 | 259 | time_t seconds = time(NULL); |
star297 | 0:4f67859595b2 | 260 | char buffer[2]; |
star297 | 1:34f0bfc62803 | 261 | strftime(buffer, 2,"%H", localtime(&seconds)); |
star297 | 1:34f0bfc62803 | 262 | hour = atoi(buffer); // get Hour integer |
star297 | 0:4f67859595b2 | 263 | strftime(buffer, 2,"%M", localtime(&seconds)); |
salemtang | 2:678c0be8c23d | 264 | minute = atoi(buffer); // get Minutes integer |
star297 | 0:4f67859595b2 | 265 | hour++; |
salemtang | 2:678c0be8c23d | 266 | if (hour > 23) hour = 0; |
salemtang | 2:678c0be8c23d | 267 | t.tm_sec = 0; // Seconds reset to zero |
star297 | 1:34f0bfc62803 | 268 | t.tm_min = minute; |
star297 | 1:34f0bfc62803 | 269 | t.tm_hour = hour; |
star297 | 1:34f0bfc62803 | 270 | t.tm_mday = 1; |
star297 | 1:34f0bfc62803 | 271 | t.tm_mon = 2; |
star297 | 1:34f0bfc62803 | 272 | t.tm_year = 114; |
salemtang | 2:678c0be8c23d | 273 | set_time(mktime(&t)); |
star297 | 0:4f67859595b2 | 274 | } |
salemtang | 4:15da67d64f85 | 275 | #endif //RTC_CLOCK_TEST |