Nenhuma descrição

ds1307.js 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /*jslint node:true, vars:true, bitwise:true, unparam:true */
  2. /*jshint unused:true */
  3. /*global */
  4. /*
  5. * Author: Zion Orent <zorent@ics.com>
  6. * Copyright (c) 2014 Intel Corporation.
  7. *
  8. * Permission is hereby granted, free of charge, to any person obtaining
  9. * a copy of this software and associated documentation files (the
  10. * "Software"), to deal in the Software without restriction, including
  11. * without limitation the rights to use, copy, modify, merge, publish,
  12. * distribute, sublicense, and/or sell copies of the Software, and to
  13. * permit persons to whom the Software is furnished to do so, subject to
  14. * the following conditions:
  15. *
  16. * The above copyright notice and this permission notice shall be
  17. * included in all copies or substantial portions of the Software.
  18. *
  19. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  20. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  21. * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  22. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
  23. * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  24. * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  25. * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  26. */
  27. // Load RTC Clock module for Grove - RTC clock
  28. var ds1307 = require('jsupm_ds1307');
  29. // load this on i2c bus 0
  30. var myRTCClockObj = new ds1307.DS1307(0);
  31. // always do this first
  32. console.log("Loading the current time... ");
  33. var result = myRTCClockObj.loadTime();
  34. if (!result)
  35. {
  36. console.log("myRTCClockObj.loadTime() failed.");
  37. process.exit(1);
  38. }
  39. printTime(myRTCClockObj);
  40. // set the year as an example
  41. console.log("setting the year to 50");
  42. myRTCClockObj.year = 50;
  43. myRTCClockObj.setTime();
  44. // reload the time and print it
  45. myRTCClockObj.loadTime();
  46. printTime(myRTCClockObj);
  47. function printTime(RTCObj)
  48. {
  49. var timeStr = "The time is: " +
  50. RTCObj.month + "/" + RTCObj.dayOfMonth + "/" + RTCObj.year + " " +
  51. RTCObj.hours + ":" + RTCObj.minutes + ":" + RTCObj.seconds;
  52. if (RTCObj.amPmMode)
  53. timeStr += (RTCObj.pm ? " PM " : " AM ");
  54. console.log(timeStr);
  55. console.log("Clock is in " +
  56. (RTCObj.amPmMode ? "AM/PM mode" : "24hr mode"));
  57. }