Browse Source

maxds3231m :: added working example (set/get date and temperature)

Signed-off-by: Kiveisha Yevgeniy <yevgeniy.kiveisha@intel.com>
Kiveisha Yevgeniy 10 years ago
parent
commit
b31e88c233
2 changed files with 78 additions and 0 deletions
  1. 3
    0
      examples/CMakeLists.txt
  2. 75
    0
      examples/maxds3231m.cxx

+ 3
- 0
examples/CMakeLists.txt View File

@@ -21,6 +21,7 @@ add_executable (stepmotor-example stepmotor.cxx)
21 21
 add_executable (pulsensor-example pulsensor.cxx)
22 22
 add_executable (mic-example mic-example.cxx)
23 23
 add_executable (mpu9150-example mpu9150-example.cxx)
24
+add_executable (maxds3231m-example maxds3231m.cxx)
24 25
 
25 26
 include_directories (${PROJECT_SOURCE_DIR}/src/hmc5883l)
26 27
 include_directories (${PROJECT_SOURCE_DIR}/src/grove)
@@ -40,6 +41,7 @@ include_directories (${PROJECT_SOURCE_DIR}/src/stepmotor)
40 41
 include_directories (${PROJECT_SOURCE_DIR}/src/pulsensor)
41 42
 include_directories (${PROJECT_SOURCE_DIR}/src/mic)
42 43
 include_directories (${PROJECT_SOURCE_DIR}/src/mpu9150)
44
+include_directories (${PROJECT_SOURCE_DIR}/src/maxds3231m)
43 45
 
44 46
 target_link_libraries (compass hmc5883l ${CMAKE_THREAD_LIBS_INIT})
45 47
 target_link_libraries (groveled grove ${CMAKE_THREAD_LIBS_INIT})
@@ -64,3 +66,4 @@ target_link_libraries (stepmotor-example stepmotor ${CMAKE_THREAD_LIBS_INIT})
64 66
 target_link_libraries (pulsensor-example pulsensor ${CMAKE_THREAD_LIBS_INIT})
65 67
 target_link_libraries (mic-example mic ${CMAKE_THREAD_LIBS_INIT})
66 68
 target_link_libraries (mpu9150-example mpu9150 ${CMAKE_THREAD_LIBS_INIT})
69
+target_link_libraries (maxds3231m-example maxds3231m ${CMAKE_THREAD_LIBS_INIT})

+ 75
- 0
examples/maxds3231m.cxx View File

@@ -0,0 +1,75 @@
1
+/*
2
+ * Author: Yevgeniy Kiveisha <yevgeniy.kiveisha@intel.com>
3
+ * Copyright (c) 2014 Intel Corporation.
4
+ *
5
+ * Permission is hereby granted, free of charge, to any person obtaining
6
+ * a copy of this software and associated documentation files (the
7
+ * "Software"), to deal in the Software without restriction, including
8
+ * without limitation the rights to use, copy, modify, merge, publish,
9
+ * distribute, sublicense, and/or sell copies of the Software, and to
10
+ * permit persons to whom the Software is furnished to do so, subject to
11
+ * the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be
14
+ * included in all copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
+ */
24
+
25
+#include <unistd.h>
26
+#include <iostream>
27
+#include "maxds3231m.h"
28
+#include <signal.h>
29
+
30
+int doWork = 0;
31
+upm::MAXDS3231M *sensor = NULL;
32
+
33
+void
34
+sig_handler(int signo)
35
+{
36
+    printf("got signal\n");
37
+    if (signo == SIGINT) {
38
+        printf("exiting application\n");
39
+        doWork = 1;
40
+    }
41
+}
42
+
43
+int
44
+main(int argc, char **argv)
45
+{
46
+    //! [Interesting]
47
+    upm::Time3231 t;
48
+    sensor = new upm::MAXDS3231M(0, ADDR);
49
+
50
+    t.second    = 1;
51
+    t.minute    = 3;
52
+    t.hour      = 3;
53
+    t.day       = 3;
54
+    t.month     = 3;
55
+    t.year      = 3;
56
+    t.weekDay   = 3;
57
+    sensor->setDate (t); // Note, second should be set to 1.
58
+
59
+    usleep (500000);
60
+
61
+    while (!doWork) {
62
+        if (sensor->getDate (t)) {
63
+            std::cout << (int)t.hour << ":" << (int)t.minute << ":" << (int)t.second << std::endl;
64
+        }
65
+        std::cout << "Temperature " << sensor->getTemperature() << std::endl;
66
+        usleep (1000000);
67
+    }
68
+    //! [Interesting]
69
+
70
+    std::cout << "exiting application" << std::endl;
71
+
72
+    delete sensor;
73
+
74
+    return 0;
75
+}