|
1 | 1 | load('api_ds3231.js');
|
2 | 2 | load('api_timer.js');
|
| 3 | +load('api_events.js'); |
3 | 4 |
|
4 |
| -let DS3231_I2C_addresss = 0x68 ; |
| 5 | +let DS3231_I2C_addresss = 0x68; |
5 | 6 |
|
6 | 7 | // Initialize DS3231 library
|
7 | 8 | let rtc = DS3231.create(DS3231_I2C_addresss);
|
8 | 9 |
|
9 |
| -let setRtcDate = function(date, month, year) { |
| 10 | +let setRtcDate = function (date, month, year) { |
10 | 11 | rtc.setTimeDate(date);
|
11 | 12 | rtc.setTimeMonth(month);
|
12 | 13 | rtc.setTimeYear(year);
|
13 | 14 | };
|
14 | 15 |
|
15 |
| -let setRtcTime = function(hours, minutes, seconds) { |
| 16 | +let setRtcTime = function (hours, minutes, seconds) { |
16 | 17 | rtc.setTimeSeconds(seconds);
|
17 | 18 | rtc.setTimeMinutes(minutes);
|
18 | 19 | rtc.setTimeHours(hours);
|
19 | 20 | };
|
20 | 21 |
|
21 |
| -setRtcDate(15,09,17); |
22 |
| -setRtcTime(23,55,00); |
| 22 | +setRtcDate(15, 09, 17); |
| 23 | +setRtcTime(23, 55, 00); |
23 | 24 |
|
24 |
| -Timer.set(1000 /* milliseconds */, true /* repeat */, function() { |
25 |
| - print('Time: ', rtc.getTimeHours(), ':', rtc.getTimeMinutes(), ':', rtc.getTimeSeconds() ); |
| 25 | +Timer.set(1000 /* milliseconds */, true /* repeat */, function () { |
| 26 | + print('Time: ', rtc.getTimeHours(), ':', rtc.getTimeMinutes(), ':', rtc.getTimeSeconds()); |
26 | 27 | print('Date: ', rtc.getTimeDate(), '-', rtc.getTimeMonth(), '-', rtc.getTimeYear(), ' Day of the week -', rtc.getTimeDayOfTheWeek());
|
27 | 28 | }, null);
|
28 | 29 |
|
29 |
| - |
30 |
| - |
| 30 | +function timeChangedHandler(ev, evdata, userdata) { |
| 31 | + let now = ffi('char *update_time(void)')(); |
| 32 | + print('timeChangedHandler - now:' + now); |
| 33 | + let now_obj = JSON.parse(now); |
| 34 | + setRtcDate(now_obj.day, now_obj.month, now_obj.year); |
| 35 | + setRtcTime(now_obj.hour, now_obj.minute, now_obj.second); |
| 36 | +} |
| 37 | + |
| 38 | +// |
| 39 | +// Add handler for MGOS_EVENT_TIME_CHANGED |
| 40 | +// https://github.com/cesanta/mongoose-os/blob/1508fece2cf563b15ea52ba453487195332439e3/fw/include/mgos_event.h#L101 |
| 41 | +Event.addHandler(Event.SYS + 3, timeChangedHandler, null); |
0 commit comments