From d0c5e5bfeba48b1117aedf556c6978b0b5e93724 Mon Sep 17 00:00:00 2001 From: lishifeng Date: Sat, 25 Oct 2025 23:20:31 +0800 Subject: [PATCH] feat: update doxygen --- CHANGELOG.md | 6 + Doxyfile | 1220 +-- README.md | 2 +- doc/html/annotated.html | 59 +- doc/html/bc_s.png | Bin 676 -> 0 bytes doc/html/bdwn.png | Bin 147 -> 0 bytes doc/html/classes.html | 59 +- doc/html/clipboard.js | 61 + doc/html/closed.png | Bin 132 -> 0 bytes doc/html/cookie.js | 58 + doc/html/darkmode_toggle.js | 228 + doc/html/dir_000001_000002.html | 112 + doc/html/dir_000002_000004.html | 112 + doc/html/dir_000005_000002.html | 112 + .../dir_11ec664f88f5f079ad4de1adb8458c37.html | 76 +- ...r_11ec664f88f5f079ad4de1adb8458c37_dep.md5 | 1 + ...r_11ec664f88f5f079ad4de1adb8458c37_dep.svg | 29 + .../dir_13e138d54eb8818da29c3992edef070a.html | 97 +- ...r_13e138d54eb8818da29c3992edef070a_dep.md5 | 1 + ...r_13e138d54eb8818da29c3992edef070a_dep.svg | 43 + .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 74 +- .../dir_b31d54d5631803016a26f28213a41162.html | 79 +- ...r_b31d54d5631803016a26f28213a41162_dep.md5 | 1 + ...r_b31d54d5631803016a26f28213a41162_dep.svg | 43 + .../dir_cfafba98a580ce4b62f8a6fa96d7cbb0.html | 97 +- ...r_cfafba98a580ce4b62f8a6fa96d7cbb0_dep.md5 | 1 + ...r_cfafba98a580ce4b62f8a6fa96d7cbb0_dep.svg | 43 + .../dir_e68e8157741866f444e17edd764ebbae.html | 71 +- doc/html/doc.png | Bin 746 -> 0 bytes doc/html/doxygen.css | 2238 ++++-- doc/html/doxygen.png | Bin 2049 -> 6015 bytes doc/html/doxygen.svg | 4 +- doc/html/doxygen_crawl.html | 446 ++ doc/html/driver__bmp384_8c.html | 850 +-- doc/html/driver__bmp384_8c__incl.md5 | 1 + doc/html/driver__bmp384_8c__incl.svg | 93 + doc/html/driver__bmp384_8c_source.html | 6614 +++++++++-------- doc/html/driver__bmp384_8h.html | 594 +- doc/html/driver__bmp384_8h__dep__incl.md5 | 1 + doc/html/driver__bmp384_8h__dep__incl.svg | 381 + doc/html/driver__bmp384_8h__incl.md5 | 1 + doc/html/driver__bmp384_8h__incl.svg | 75 + doc/html/driver__bmp384_8h_source.html | 1264 ++-- doc/html/driver__bmp384__basic_8c.html | 92 +- doc/html/driver__bmp384__basic_8c__incl.md5 | 1 + doc/html/driver__bmp384__basic_8c__incl.svg | 130 + doc/html/driver__bmp384__basic_8c_source.html | 619 +- doc/html/driver__bmp384__basic_8h.html | 129 +- .../driver__bmp384__basic_8h__dep__incl.md5 | 1 + .../driver__bmp384__basic_8h__dep__incl.svg | 41 + doc/html/driver__bmp384__basic_8h__incl.md5 | 1 + doc/html/driver__bmp384__basic_8h__incl.svg | 112 + doc/html/driver__bmp384__basic_8h_source.html | 133 +- doc/html/driver__bmp384__fifo_8c.html | 97 +- doc/html/driver__bmp384__fifo_8c__incl.md5 | 1 + doc/html/driver__bmp384__fifo_8c__incl.svg | 130 + doc/html/driver__bmp384__fifo_8c_source.html | 917 +-- doc/html/driver__bmp384__fifo_8h.html | 173 +- .../driver__bmp384__fifo_8h__dep__incl.md5 | 1 + .../driver__bmp384__fifo_8h__dep__incl.svg | 41 + doc/html/driver__bmp384__fifo_8h__incl.md5 | 1 + doc/html/driver__bmp384__fifo_8h__incl.svg | 112 + doc/html/driver__bmp384__fifo_8h_source.html | 169 +- doc/html/driver__bmp384__fifo__test_8c.html | 87 +- .../driver__bmp384__fifo__test_8c__incl.md5 | 1 + .../driver__bmp384__fifo__test_8c__incl.svg | 131 + .../driver__bmp384__fifo__test_8c_source.html | 1149 +-- doc/html/driver__bmp384__fifo__test_8h.html | 92 +- ...iver__bmp384__fifo__test_8h__dep__incl.md5 | 1 + ...iver__bmp384__fifo__test_8h__dep__incl.svg | 41 + .../driver__bmp384__fifo__test_8h__incl.md5 | 1 + .../driver__bmp384__fifo__test_8h__incl.svg | 112 + .../driver__bmp384__fifo__test_8h_source.html | 108 +- doc/html/driver__bmp384__interface_8h.html | 137 +- ...river__bmp384__interface_8h__dep__incl.md5 | 1 + ...river__bmp384__interface_8h__dep__incl.svg | 345 + .../driver__bmp384__interface_8h__incl.md5 | 1 + .../driver__bmp384__interface_8h__incl.svg | 94 + .../driver__bmp384__interface_8h_source.html | 158 +- ...river__bmp384__interface__template_8c.html | 132 +- ...__bmp384__interface__template_8c__incl.md5 | 1 + ...__bmp384__interface__template_8c__incl.svg | 112 + ...bmp384__interface__template_8c_source.html | 276 +- doc/html/driver__bmp384__interrupt_8c.html | 97 +- .../driver__bmp384__interrupt_8c__incl.md5 | 1 + .../driver__bmp384__interrupt_8c__incl.svg | 130 + .../driver__bmp384__interrupt_8c_source.html | 737 +- doc/html/driver__bmp384__interrupt_8h.html | 140 +- ...river__bmp384__interrupt_8h__dep__incl.md5 | 1 + ...river__bmp384__interrupt_8h__dep__incl.svg | 41 + .../driver__bmp384__interrupt_8h__incl.md5 | 1 + .../driver__bmp384__interrupt_8h__incl.svg | 112 + .../driver__bmp384__interrupt_8h_source.html | 145 +- .../driver__bmp384__interrupt__test_8c.html | 85 +- ...iver__bmp384__interrupt__test_8c__incl.md5 | 1 + ...iver__bmp384__interrupt__test_8c__incl.svg | 131 + ...er__bmp384__interrupt__test_8c_source.html | 1013 +-- .../driver__bmp384__interrupt__test_8h.html | 92 +- ..._bmp384__interrupt__test_8h__dep__incl.md5 | 1 + ..._bmp384__interrupt__test_8h__dep__incl.svg | 41 + ...iver__bmp384__interrupt__test_8h__incl.md5 | 1 + ...iver__bmp384__interrupt__test_8h__incl.svg | 112 + ...er__bmp384__interrupt__test_8h_source.html | 108 +- doc/html/driver__bmp384__read__test_8c.html | 82 +- .../driver__bmp384__read__test_8c__incl.md5 | 1 + .../driver__bmp384__read__test_8c__incl.svg | 131 + .../driver__bmp384__read__test_8c_source.html | 999 +-- doc/html/driver__bmp384__read__test_8h.html | 87 +- ...iver__bmp384__read__test_8h__dep__incl.md5 | 1 + ...iver__bmp384__read__test_8h__dep__incl.svg | 41 + .../driver__bmp384__read__test_8h__incl.md5 | 1 + .../driver__bmp384__read__test_8h__incl.svg | 112 + .../driver__bmp384__read__test_8h_source.html | 102 +- .../driver__bmp384__register__test_8c.html | 82 +- ...river__bmp384__register__test_8c__incl.md5 | 1 + ...river__bmp384__register__test_8c__incl.svg | 149 + ...ver__bmp384__register__test_8c_source.html | 4239 +++++------ .../driver__bmp384__register__test_8h.html | 87 +- ...__bmp384__register__test_8h__dep__incl.md5 | 1 + ...__bmp384__register__test_8h__dep__incl.svg | 41 + ...river__bmp384__register__test_8h__incl.md5 | 1 + ...river__bmp384__register__test_8h__incl.svg | 112 + ...ver__bmp384__register__test_8h_source.html | 102 +- doc/html/driver__bmp384__shot_8c.html | 92 +- doc/html/driver__bmp384__shot_8c__incl.md5 | 1 + doc/html/driver__bmp384__shot_8c__incl.svg | 130 + doc/html/driver__bmp384__shot_8c_source.html | 553 +- doc/html/driver__bmp384__shot_8h.html | 129 +- .../driver__bmp384__shot_8h__dep__incl.md5 | 1 + .../driver__bmp384__shot_8h__dep__incl.svg | 41 + doc/html/driver__bmp384__shot_8h__incl.md5 | 1 + doc/html/driver__bmp384__shot_8h__incl.svg | 112 + doc/html/driver__bmp384__shot_8h_source.html | 133 +- doc/html/dynsections.js | 250 +- doc/html/favicon.svg | 20 + doc/html/files.html | 113 +- doc/html/folderclosed.png | Bin 616 -> 0 bytes doc/html/folderopen.png | Bin 597 -> 0 bytes doc/html/functions.html | 240 +- doc/html/functions_vars.html | 242 +- doc/html/globals.html | 1316 +--- doc/html/globals_c.html | 60 +- doc/html/globals_d.html | 108 +- doc/html/globals_defs.html | 548 +- doc/html/globals_enum.html | 124 +- doc/html/globals_eval.html | 318 +- doc/html/globals_func.html | 578 +- doc/html/globals_m.html | 64 +- doc/html/globals_s.html | 64 +- doc/html/globals_t.html | 64 +- doc/html/globals_type.html | 68 +- doc/html/graph_legend.html | 167 + doc/html/graph_legend.md5 | 1 + doc/html/graph_legend.svg | 167 + doc/html/group__bmp384__base__driver.html | 1258 ++-- doc/html/group__bmp384__base__driver.md5 | 1 + doc/html/group__bmp384__base__driver.svg | 37 + doc/html/group__bmp384__driver.html | 101 +- doc/html/group__bmp384__driver.md5 | 1 + doc/html/group__bmp384__driver.svg | 149 + doc/html/group__bmp384__example__driver.html | 761 +- doc/html/group__bmp384__example__driver.md5 | 1 + doc/html/group__bmp384__example__driver.svg | 37 + ...1344c244ec5377b62da6a9ae96ee818_cgraph.md5 | 1 + ...1344c244ec5377b62da6a9ae96ee818_cgraph.svg | 57 + ...bc0441d8548ceb110377e8fb290f4ab_cgraph.md5 | 1 + ...bc0441d8548ceb110377e8fb290f4ab_cgraph.svg | 722 ++ ...649434f56e03bef7173ae81c144af67_cgraph.md5 | 1 + ...649434f56e03bef7173ae81c144af67_cgraph.svg | 39 + ...98747a71f19b86a7b84c1adb496b2f5_cgraph.md5 | 1 + ...98747a71f19b86a7b84c1adb496b2f5_cgraph.svg | 40 + ...e239464ed45ca5789b584d5e526d7fb_cgraph.md5 | 1 + ...e239464ed45ca5789b584d5e526d7fb_cgraph.svg | 594 ++ ...2046fe3d4c1f1deea6c28bf4c11e98b_cgraph.md5 | 1 + ...2046fe3d4c1f1deea6c28bf4c11e98b_cgraph.svg | 39 + ...82fd6e36789830396456ba530ce8831_cgraph.md5 | 1 + ...82fd6e36789830396456ba530ce8831_cgraph.svg | 40 + ...371d0f7b8faa0f57fb50649aec2681d_cgraph.md5 | 1 + ...371d0f7b8faa0f57fb50649aec2681d_cgraph.svg | 40 + ...c501058847f099812c8ba69db87cad5_cgraph.md5 | 1 + ...c501058847f099812c8ba69db87cad5_cgraph.svg | 39 + ...bd17e993ba378c79ac36cfe8d55b0ba_cgraph.md5 | 1 + ...bd17e993ba378c79ac36cfe8d55b0ba_cgraph.svg | 57 + ...6694054311934e96b5687c2efd4c2da_cgraph.md5 | 1 + ...6694054311934e96b5687c2efd4c2da_cgraph.svg | 40 + ...2900f8e82c30c2c8cf5173ef17f1f32_cgraph.md5 | 1 + ...2900f8e82c30c2c8cf5173ef17f1f32_cgraph.svg | 508 ++ ...676b9b3a062bbf2d58a7929a3e7310b_cgraph.md5 | 1 + ...676b9b3a062bbf2d58a7929a3e7310b_cgraph.svg | 565 ++ ...4d55473459cf359b6d04edeb4aa1b21_cgraph.md5 | 1 + ...4d55473459cf359b6d04edeb4aa1b21_cgraph.svg | 57 + doc/html/group__bmp384__extern__driver.html | 123 +- doc/html/group__bmp384__extern__driver.md5 | 1 + doc/html/group__bmp384__extern__driver.svg | 37 + doc/html/group__bmp384__fifo__driver.html | 504 +- doc/html/group__bmp384__fifo__driver.md5 | 1 + doc/html/group__bmp384__fifo__driver.svg | 37 + .../group__bmp384__interface__driver.html | 272 +- doc/html/group__bmp384__interface__driver.md5 | 1 + doc/html/group__bmp384__interface__driver.svg | 37 + ...624a8495bdb6ba3a658cc06251aad3f_cgraph.md5 | 1 + ...624a8495bdb6ba3a658cc06251aad3f_cgraph.svg | 41 + .../group__bmp384__interrupt__driver.html | 337 +- doc/html/group__bmp384__interrupt__driver.md5 | 1 + doc/html/group__bmp384__interrupt__driver.svg | 37 + doc/html/group__bmp384__link__driver.html | 357 +- doc/html/group__bmp384__link__driver.md5 | 1 + doc/html/group__bmp384__link__driver.svg | 37 + doc/html/group__bmp384__test__driver.html | 220 +- doc/html/group__bmp384__test__driver.md5 | 1 + doc/html/group__bmp384__test__driver.svg | 37 + ...93850b60072c06f243a0241f06739ec_cgraph.md5 | 1 + ...93850b60072c06f243a0241f06739ec_cgraph.svg | 1429 ++++ ...94014321b7bf673ec6b2e16ec1ca418_cgraph.md5 | 1 + ...94014321b7bf673ec6b2e16ec1ca418_cgraph.svg | 740 ++ ...b8775714c84396af1482ffe0378681a_cgraph.md5 | 1 + ...b8775714c84396af1482ffe0378681a_cgraph.svg | 740 ++ ...ec44cd8a80c4fb5467361300f5f8ab0_cgraph.md5 | 1 + ...ec44cd8a80c4fb5467361300f5f8ab0_cgraph.svg | 787 ++ ...30d2d05c9d54b0324eda0891185e41e_cgraph.md5 | 1 + ...30d2d05c9d54b0324eda0891185e41e_cgraph.svg | 40 + ...e8e2ec4ca80bc44872a0ed0d1c7aaee_cgraph.md5 | 1 + ...e8e2ec4ca80bc44872a0ed0d1c7aaee_cgraph.svg | 40 + doc/html/index.html | 63 +- doc/html/jquery.js | 197 +- doc/html/mainpage_8h.html | 66 +- doc/html/mainpage_8h_source.html | 61 +- doc/html/menu.js | 98 +- doc/html/menudata.js | 2 +- doc/html/nav_f.png | Bin 153 -> 0 bytes doc/html/nav_g.png | Bin 95 -> 0 bytes doc/html/nav_h.png | Bin 98 -> 0 bytes doc/html/navtree.css | 233 +- doc/html/navtree.js | 1245 ++-- doc/html/navtreedata.js | 11 +- doc/html/navtreeindex0.js | 160 +- doc/html/navtreeindex1.js | 356 +- doc/html/navtreeindex2.js | 253 - doc/html/navtreeindex3.js | 41 - doc/html/open.png | Bin 123 -> 0 bytes doc/html/resize.js | 140 - doc/html/search/all_0.html | 37 - doc/html/search/all_0.js | 606 +- doc/html/search/all_1.html | 37 - doc/html/search/all_1.js | 4 +- doc/html/search/all_2.html | 37 - doc/html/search/all_2.js | 75 +- doc/html/search/all_3.html | 37 - doc/html/search/all_3.js | 10 +- doc/html/search/all_4.html | 37 - doc/html/search/all_4.js | 3 +- doc/html/search/all_5.html | 37 - doc/html/search/all_5.js | 15 +- doc/html/search/all_6.html | 37 - doc/html/search/all_6.js | 13 +- doc/html/search/all_7.html | 37 - doc/html/search/all_7.js | 7 +- doc/html/search/all_8.html | 37 - doc/html/search/all_8.js | 19 +- doc/html/search/all_9.html | 37 - doc/html/search/all_9.js | 11 +- doc/html/search/all_a.js | 11 + doc/html/search/all_b.js | 13 + doc/html/search/classes_0.html | 37 - doc/html/search/classes_0.js | 6 +- doc/html/search/close.svg | 31 - doc/html/search/defines_0.html | 37 - doc/html/search/defines_0.js | 98 +- doc/html/search/defines_1.html | 37 - doc/html/search/defines_1.js | 2 +- doc/html/search/defines_2.html | 37 - doc/html/search/defines_2.js | 2 +- doc/html/search/defines_3.html | 37 - doc/html/search/defines_3.js | 4 +- doc/html/search/defines_4.html | 37 - doc/html/search/defines_4.js | 4 +- doc/html/search/defines_5.html | 37 - doc/html/search/defines_5.js | 4 +- doc/html/search/enums_0.html | 37 - doc/html/search/enums_0.js | 34 +- doc/html/search/enumvalues_0.html | 37 - doc/html/search/enumvalues_0.js | 130 +- doc/html/search/files_0.html | 37 - doc/html/search/files_0.js | 40 +- doc/html/search/files_1.html | 37 - doc/html/search/files_1.js | 2 +- doc/html/search/functions_0.html | 37 - doc/html/search/functions_0.js | 208 +- doc/html/search/groups_0.html | 37 - doc/html/search/groups_0.js | 19 +- doc/html/search/groups_1.js | 4 + doc/html/search/groups_2.js | 5 + doc/html/search/groups_3.js | 5 + doc/html/search/groups_4.js | 5 + doc/html/search/groups_5.js | 4 + doc/html/search/groups_6.js | 4 + doc/html/search/mag_sel.svg | 74 - doc/html/search/nomatches.html | 13 - doc/html/search/pages_0.html | 37 - doc/html/search/pages_0.js | 2 +- doc/html/search/pages_1.js | 4 + doc/html/search/search.css | 253 +- doc/html/search/search.js | 1032 ++- doc/html/search/search_l.png | Bin 567 -> 0 bytes doc/html/search/search_m.png | Bin 158 -> 0 bytes doc/html/search/search_r.png | Bin 553 -> 0 bytes doc/html/search/searchdata.js | 6 +- doc/html/search/typedefs_0.html | 37 - doc/html/search/typedefs_0.js | 6 +- doc/html/search/variables_0.html | 37 - doc/html/search/variables_0.js | 2 +- doc/html/search/variables_1.html | 37 - doc/html/search/variables_1.js | 2 +- doc/html/search/variables_2.html | 37 - doc/html/search/variables_2.js | 8 +- doc/html/search/variables_3.html | 37 - doc/html/search/variables_3.js | 16 +- doc/html/search/variables_4.html | 37 - doc/html/search/variables_4.js | 4 +- doc/html/search/variables_5.html | 37 - doc/html/search/variables_5.js | 22 +- doc/html/search/variables_6.html | 37 - doc/html/search/variables_6.js | 4 +- doc/html/search/variables_7.html | 37 - doc/html/search/variables_7.js | 12 +- doc/html/search/variables_8.html | 37 - doc/html/search/variables_8.js | 14 +- doc/html/splitbar.png | Bin 314 -> 0 bytes doc/html/structbmp384__frame__s.html | 97 +- doc/html/structbmp384__handle__s.html | 294 +- doc/html/structbmp384__info__s.html | 139 +- doc/html/sync_off.png | Bin 853 -> 0 bytes doc/html/sync_on.png | Bin 845 -> 0 bytes doc/html/tab_a.png | Bin 142 -> 0 bytes doc/html/tab_b.png | Bin 169 -> 0 bytes doc/html/tab_h.png | Bin 177 -> 0 bytes doc/html/tab_s.png | Bin 184 -> 0 bytes doc/html/tabs.css | 2 +- doc/html/{modules.html => topics.html} | 73 +- doc/html/{modules.js => topics.js} | 2 +- doc/image/doxygen.png | Bin 2049 -> 6015 bytes doc/image/favicon.svg | 20 + .../raspberrypi4b_driver_bmp384_interface.c | 4 +- 343 files changed, 32860 insertions(+), 22084 deletions(-) delete mode 100644 doc/html/bc_s.png delete mode 100644 doc/html/bdwn.png create mode 100644 doc/html/clipboard.js delete mode 100644 doc/html/closed.png create mode 100644 doc/html/cookie.js create mode 100644 doc/html/darkmode_toggle.js create mode 100644 doc/html/dir_000001_000002.html create mode 100644 doc/html/dir_000002_000004.html create mode 100644 doc/html/dir_000005_000002.html create mode 100644 doc/html/dir_11ec664f88f5f079ad4de1adb8458c37_dep.md5 create mode 100644 doc/html/dir_11ec664f88f5f079ad4de1adb8458c37_dep.svg create mode 100644 doc/html/dir_13e138d54eb8818da29c3992edef070a_dep.md5 create mode 100644 doc/html/dir_13e138d54eb8818da29c3992edef070a_dep.svg create mode 100644 doc/html/dir_b31d54d5631803016a26f28213a41162_dep.md5 create mode 100644 doc/html/dir_b31d54d5631803016a26f28213a41162_dep.svg create mode 100644 doc/html/dir_cfafba98a580ce4b62f8a6fa96d7cbb0_dep.md5 create mode 100644 doc/html/dir_cfafba98a580ce4b62f8a6fa96d7cbb0_dep.svg delete mode 100644 doc/html/doc.png create mode 100644 doc/html/doxygen_crawl.html create mode 100644 doc/html/driver__bmp384_8c__incl.md5 create mode 100644 doc/html/driver__bmp384_8c__incl.svg create mode 100644 doc/html/driver__bmp384_8h__dep__incl.md5 create mode 100644 doc/html/driver__bmp384_8h__dep__incl.svg create mode 100644 doc/html/driver__bmp384_8h__incl.md5 create mode 100644 doc/html/driver__bmp384_8h__incl.svg create mode 100644 doc/html/driver__bmp384__basic_8c__incl.md5 create mode 100644 doc/html/driver__bmp384__basic_8c__incl.svg create mode 100644 doc/html/driver__bmp384__basic_8h__dep__incl.md5 create mode 100644 doc/html/driver__bmp384__basic_8h__dep__incl.svg create mode 100644 doc/html/driver__bmp384__basic_8h__incl.md5 create mode 100644 doc/html/driver__bmp384__basic_8h__incl.svg create mode 100644 doc/html/driver__bmp384__fifo_8c__incl.md5 create mode 100644 doc/html/driver__bmp384__fifo_8c__incl.svg create mode 100644 doc/html/driver__bmp384__fifo_8h__dep__incl.md5 create mode 100644 doc/html/driver__bmp384__fifo_8h__dep__incl.svg create mode 100644 doc/html/driver__bmp384__fifo_8h__incl.md5 create mode 100644 doc/html/driver__bmp384__fifo_8h__incl.svg create mode 100644 doc/html/driver__bmp384__fifo__test_8c__incl.md5 create mode 100644 doc/html/driver__bmp384__fifo__test_8c__incl.svg create mode 100644 doc/html/driver__bmp384__fifo__test_8h__dep__incl.md5 create mode 100644 doc/html/driver__bmp384__fifo__test_8h__dep__incl.svg create mode 100644 doc/html/driver__bmp384__fifo__test_8h__incl.md5 create mode 100644 doc/html/driver__bmp384__fifo__test_8h__incl.svg create mode 100644 doc/html/driver__bmp384__interface_8h__dep__incl.md5 create mode 100644 doc/html/driver__bmp384__interface_8h__dep__incl.svg create mode 100644 doc/html/driver__bmp384__interface_8h__incl.md5 create mode 100644 doc/html/driver__bmp384__interface_8h__incl.svg create mode 100644 doc/html/driver__bmp384__interface__template_8c__incl.md5 create mode 100644 doc/html/driver__bmp384__interface__template_8c__incl.svg create mode 100644 doc/html/driver__bmp384__interrupt_8c__incl.md5 create mode 100644 doc/html/driver__bmp384__interrupt_8c__incl.svg create mode 100644 doc/html/driver__bmp384__interrupt_8h__dep__incl.md5 create mode 100644 doc/html/driver__bmp384__interrupt_8h__dep__incl.svg create mode 100644 doc/html/driver__bmp384__interrupt_8h__incl.md5 create mode 100644 doc/html/driver__bmp384__interrupt_8h__incl.svg create mode 100644 doc/html/driver__bmp384__interrupt__test_8c__incl.md5 create mode 100644 doc/html/driver__bmp384__interrupt__test_8c__incl.svg create mode 100644 doc/html/driver__bmp384__interrupt__test_8h__dep__incl.md5 create mode 100644 doc/html/driver__bmp384__interrupt__test_8h__dep__incl.svg create mode 100644 doc/html/driver__bmp384__interrupt__test_8h__incl.md5 create mode 100644 doc/html/driver__bmp384__interrupt__test_8h__incl.svg create mode 100644 doc/html/driver__bmp384__read__test_8c__incl.md5 create mode 100644 doc/html/driver__bmp384__read__test_8c__incl.svg create mode 100644 doc/html/driver__bmp384__read__test_8h__dep__incl.md5 create mode 100644 doc/html/driver__bmp384__read__test_8h__dep__incl.svg create mode 100644 doc/html/driver__bmp384__read__test_8h__incl.md5 create mode 100644 doc/html/driver__bmp384__read__test_8h__incl.svg create mode 100644 doc/html/driver__bmp384__register__test_8c__incl.md5 create mode 100644 doc/html/driver__bmp384__register__test_8c__incl.svg create mode 100644 doc/html/driver__bmp384__register__test_8h__dep__incl.md5 create mode 100644 doc/html/driver__bmp384__register__test_8h__dep__incl.svg create mode 100644 doc/html/driver__bmp384__register__test_8h__incl.md5 create mode 100644 doc/html/driver__bmp384__register__test_8h__incl.svg create mode 100644 doc/html/driver__bmp384__shot_8c__incl.md5 create mode 100644 doc/html/driver__bmp384__shot_8c__incl.svg create mode 100644 doc/html/driver__bmp384__shot_8h__dep__incl.md5 create mode 100644 doc/html/driver__bmp384__shot_8h__dep__incl.svg create mode 100644 doc/html/driver__bmp384__shot_8h__incl.md5 create mode 100644 doc/html/driver__bmp384__shot_8h__incl.svg create mode 100644 doc/html/favicon.svg delete mode 100644 doc/html/folderclosed.png delete mode 100644 doc/html/folderopen.png create mode 100644 doc/html/graph_legend.html create mode 100644 doc/html/graph_legend.md5 create mode 100644 doc/html/graph_legend.svg create mode 100644 doc/html/group__bmp384__base__driver.md5 create mode 100644 doc/html/group__bmp384__base__driver.svg create mode 100644 doc/html/group__bmp384__driver.md5 create mode 100644 doc/html/group__bmp384__driver.svg create mode 100644 doc/html/group__bmp384__example__driver.md5 create mode 100644 doc/html/group__bmp384__example__driver.svg create mode 100644 doc/html/group__bmp384__example__driver_ga01344c244ec5377b62da6a9ae96ee818_cgraph.md5 create mode 100644 doc/html/group__bmp384__example__driver_ga01344c244ec5377b62da6a9ae96ee818_cgraph.svg create mode 100644 doc/html/group__bmp384__example__driver_ga0bc0441d8548ceb110377e8fb290f4ab_cgraph.md5 create mode 100644 doc/html/group__bmp384__example__driver_ga0bc0441d8548ceb110377e8fb290f4ab_cgraph.svg create mode 100644 doc/html/group__bmp384__example__driver_ga1649434f56e03bef7173ae81c144af67_cgraph.md5 create mode 100644 doc/html/group__bmp384__example__driver_ga1649434f56e03bef7173ae81c144af67_cgraph.svg create mode 100644 doc/html/group__bmp384__example__driver_ga198747a71f19b86a7b84c1adb496b2f5_cgraph.md5 create mode 100644 doc/html/group__bmp384__example__driver_ga198747a71f19b86a7b84c1adb496b2f5_cgraph.svg create mode 100644 doc/html/group__bmp384__example__driver_ga2e239464ed45ca5789b584d5e526d7fb_cgraph.md5 create mode 100644 doc/html/group__bmp384__example__driver_ga2e239464ed45ca5789b584d5e526d7fb_cgraph.svg create mode 100644 doc/html/group__bmp384__example__driver_ga32046fe3d4c1f1deea6c28bf4c11e98b_cgraph.md5 create mode 100644 doc/html/group__bmp384__example__driver_ga32046fe3d4c1f1deea6c28bf4c11e98b_cgraph.svg create mode 100644 doc/html/group__bmp384__example__driver_ga482fd6e36789830396456ba530ce8831_cgraph.md5 create mode 100644 doc/html/group__bmp384__example__driver_ga482fd6e36789830396456ba530ce8831_cgraph.svg create mode 100644 doc/html/group__bmp384__example__driver_ga5371d0f7b8faa0f57fb50649aec2681d_cgraph.md5 create mode 100644 doc/html/group__bmp384__example__driver_ga5371d0f7b8faa0f57fb50649aec2681d_cgraph.svg create mode 100644 doc/html/group__bmp384__example__driver_ga5c501058847f099812c8ba69db87cad5_cgraph.md5 create mode 100644 doc/html/group__bmp384__example__driver_ga5c501058847f099812c8ba69db87cad5_cgraph.svg create mode 100644 doc/html/group__bmp384__example__driver_ga6bd17e993ba378c79ac36cfe8d55b0ba_cgraph.md5 create mode 100644 doc/html/group__bmp384__example__driver_ga6bd17e993ba378c79ac36cfe8d55b0ba_cgraph.svg create mode 100644 doc/html/group__bmp384__example__driver_ga86694054311934e96b5687c2efd4c2da_cgraph.md5 create mode 100644 doc/html/group__bmp384__example__driver_ga86694054311934e96b5687c2efd4c2da_cgraph.svg create mode 100644 doc/html/group__bmp384__example__driver_ga92900f8e82c30c2c8cf5173ef17f1f32_cgraph.md5 create mode 100644 doc/html/group__bmp384__example__driver_ga92900f8e82c30c2c8cf5173ef17f1f32_cgraph.svg create mode 100644 doc/html/group__bmp384__example__driver_gad676b9b3a062bbf2d58a7929a3e7310b_cgraph.md5 create mode 100644 doc/html/group__bmp384__example__driver_gad676b9b3a062bbf2d58a7929a3e7310b_cgraph.svg create mode 100644 doc/html/group__bmp384__example__driver_gaf4d55473459cf359b6d04edeb4aa1b21_cgraph.md5 create mode 100644 doc/html/group__bmp384__example__driver_gaf4d55473459cf359b6d04edeb4aa1b21_cgraph.svg create mode 100644 doc/html/group__bmp384__extern__driver.md5 create mode 100644 doc/html/group__bmp384__extern__driver.svg create mode 100644 doc/html/group__bmp384__fifo__driver.md5 create mode 100644 doc/html/group__bmp384__fifo__driver.svg create mode 100644 doc/html/group__bmp384__interface__driver.md5 create mode 100644 doc/html/group__bmp384__interface__driver.svg create mode 100644 doc/html/group__bmp384__interface__driver_gac624a8495bdb6ba3a658cc06251aad3f_cgraph.md5 create mode 100644 doc/html/group__bmp384__interface__driver_gac624a8495bdb6ba3a658cc06251aad3f_cgraph.svg create mode 100644 doc/html/group__bmp384__interrupt__driver.md5 create mode 100644 doc/html/group__bmp384__interrupt__driver.svg create mode 100644 doc/html/group__bmp384__link__driver.md5 create mode 100644 doc/html/group__bmp384__link__driver.svg create mode 100644 doc/html/group__bmp384__test__driver.md5 create mode 100644 doc/html/group__bmp384__test__driver.svg create mode 100644 doc/html/group__bmp384__test__driver_ga793850b60072c06f243a0241f06739ec_cgraph.md5 create mode 100644 doc/html/group__bmp384__test__driver_ga793850b60072c06f243a0241f06739ec_cgraph.svg create mode 100644 doc/html/group__bmp384__test__driver_ga794014321b7bf673ec6b2e16ec1ca418_cgraph.md5 create mode 100644 doc/html/group__bmp384__test__driver_ga794014321b7bf673ec6b2e16ec1ca418_cgraph.svg create mode 100644 doc/html/group__bmp384__test__driver_ga7b8775714c84396af1482ffe0378681a_cgraph.md5 create mode 100644 doc/html/group__bmp384__test__driver_ga7b8775714c84396af1482ffe0378681a_cgraph.svg create mode 100644 doc/html/group__bmp384__test__driver_ga7ec44cd8a80c4fb5467361300f5f8ab0_cgraph.md5 create mode 100644 doc/html/group__bmp384__test__driver_ga7ec44cd8a80c4fb5467361300f5f8ab0_cgraph.svg create mode 100644 doc/html/group__bmp384__test__driver_gab30d2d05c9d54b0324eda0891185e41e_cgraph.md5 create mode 100644 doc/html/group__bmp384__test__driver_gab30d2d05c9d54b0324eda0891185e41e_cgraph.svg create mode 100644 doc/html/group__bmp384__test__driver_gade8e2ec4ca80bc44872a0ed0d1c7aaee_cgraph.md5 create mode 100644 doc/html/group__bmp384__test__driver_gade8e2ec4ca80bc44872a0ed0d1c7aaee_cgraph.svg delete mode 100644 doc/html/nav_f.png delete mode 100644 doc/html/nav_g.png delete mode 100644 doc/html/nav_h.png delete mode 100644 doc/html/navtreeindex2.js delete mode 100644 doc/html/navtreeindex3.js delete mode 100644 doc/html/open.png delete mode 100644 doc/html/resize.js delete mode 100644 doc/html/search/all_0.html delete mode 100644 doc/html/search/all_1.html delete mode 100644 doc/html/search/all_2.html delete mode 100644 doc/html/search/all_3.html delete mode 100644 doc/html/search/all_4.html delete mode 100644 doc/html/search/all_5.html delete mode 100644 doc/html/search/all_6.html delete mode 100644 doc/html/search/all_7.html delete mode 100644 doc/html/search/all_8.html delete mode 100644 doc/html/search/all_9.html create mode 100644 doc/html/search/all_a.js create mode 100644 doc/html/search/all_b.js delete mode 100644 doc/html/search/classes_0.html delete mode 100644 doc/html/search/close.svg delete mode 100644 doc/html/search/defines_0.html delete mode 100644 doc/html/search/defines_1.html delete mode 100644 doc/html/search/defines_2.html delete mode 100644 doc/html/search/defines_3.html delete mode 100644 doc/html/search/defines_4.html delete mode 100644 doc/html/search/defines_5.html delete mode 100644 doc/html/search/enums_0.html delete mode 100644 doc/html/search/enumvalues_0.html delete mode 100644 doc/html/search/files_0.html delete mode 100644 doc/html/search/files_1.html delete mode 100644 doc/html/search/functions_0.html delete mode 100644 doc/html/search/groups_0.html create mode 100644 doc/html/search/groups_1.js create mode 100644 doc/html/search/groups_2.js create mode 100644 doc/html/search/groups_3.js create mode 100644 doc/html/search/groups_4.js create mode 100644 doc/html/search/groups_5.js create mode 100644 doc/html/search/groups_6.js delete mode 100644 doc/html/search/mag_sel.svg delete mode 100644 doc/html/search/nomatches.html delete mode 100644 doc/html/search/pages_0.html create mode 100644 doc/html/search/pages_1.js delete mode 100644 doc/html/search/search_l.png delete mode 100644 doc/html/search/search_m.png delete mode 100644 doc/html/search/search_r.png delete mode 100644 doc/html/search/typedefs_0.html delete mode 100644 doc/html/search/variables_0.html delete mode 100644 doc/html/search/variables_1.html delete mode 100644 doc/html/search/variables_2.html delete mode 100644 doc/html/search/variables_3.html delete mode 100644 doc/html/search/variables_4.html delete mode 100644 doc/html/search/variables_5.html delete mode 100644 doc/html/search/variables_6.html delete mode 100644 doc/html/search/variables_7.html delete mode 100644 doc/html/search/variables_8.html delete mode 100644 doc/html/splitbar.png delete mode 100644 doc/html/sync_off.png delete mode 100644 doc/html/sync_on.png delete mode 100644 doc/html/tab_a.png delete mode 100644 doc/html/tab_b.png delete mode 100644 doc/html/tab_h.png delete mode 100644 doc/html/tab_s.png rename doc/html/{modules.html => topics.html} (56%) rename doc/html/{modules.js => topics.js} (86%) create mode 100644 doc/image/favicon.svg diff --git a/CHANGELOG.md b/CHANGELOG.md index c2883f9..cde5ef8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 1.0.6 (2025-10-26) + +## Features + +- update doxygen + ## 1.0.5 (2025-04-17) ## Bug Fixes diff --git a/Doxyfile b/Doxyfile index 3aa8a29..382b021 100644 --- a/Doxyfile +++ b/Doxyfile @@ -1,7 +1,7 @@ -# Doxyfile 1.9.1 +# Doxyfile 1.15.0 # This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. +# Doxygen (www.doxygen.org) for a project. # # All text after a double hash (##) is considered a comment and is placed in # front of the TAG it is preceding. @@ -12,6 +12,16 @@ # For lists, items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (\" \"). +# +# Note: +# +# Use Doxygen to compare the used configuration file with the template +# configuration file: +# doxygen -x [configFile] +# Use Doxygen to compare the used configuration file with the template +# configuration file without replacing the environment variables or CMake type +# replacement variables: +# doxygen -x_noenv [configFile] #--------------------------------------------------------------------------- # Project related configuration options @@ -38,13 +48,13 @@ PROJECT_NAME = "LibDriver BMP384" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.0.0 +PROJECT_NUMBER = # Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer a +# for a project that appears at the top of each page and should give viewers a # quick idea about the purpose of the project. Keep the description short. -PROJECT_BRIEF = "BMP384 full-featured driver" +PROJECT_BRIEF = # With the PROJECT_LOGO tag one can specify a logo or an icon that is included # in the documentation. The maximum height of the logo should not exceed 55 @@ -53,24 +63,42 @@ PROJECT_BRIEF = "BMP384 full-featured driver" PROJECT_LOGO = doc/image/doxygen.png +# With the PROJECT_ICON tag one can specify an icon that is included in the tabs +# when the HTML document is shown. Doxygen will copy the logo to the output +# directory. + +PROJECT_ICON = doc/image/favicon.svg + # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is -# entered, it will be relative to the location where doxygen was started. If +# entered, it will be relative to the location where Doxygen was started. If # left blank the current directory will be used. OUTPUT_DIRECTORY = doc -# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- -# directories (in 2 levels) under the output directory of each output format and -# will distribute the generated files over these directories. Enabling this -# option can be useful when feeding doxygen a huge amount of source files, where -# putting all generated files in the same directory would otherwise causes -# performance problems for the file system. +# If the CREATE_SUBDIRS tag is set to YES then Doxygen will create up to 4096 +# sub-directories (in 2 levels) under the output directory of each output format +# and will distribute the generated files over these directories. Enabling this +# option can be useful when feeding Doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise cause +# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to +# control the number of sub-directories. # The default value is: NO. CREATE_SUBDIRS = NO -# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# Controls the number of sub-directories that will be created when +# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every +# level increment doubles the number of directories, resulting in 4096 +# directories at level 8 which is the default and also the maximum value. The +# sub-directories are organized in 2 levels, the first level always has a fixed +# number of 16 directories. +# Minimum value: 0, maximum value: 8, default value: 8. +# This tag requires that the tag CREATE_SUBDIRS is set to YES. + +CREATE_SUBDIRS_LEVEL = 8 + +# If the ALLOW_UNICODE_NAMES tag is set to YES, Doxygen will allow non-ASCII # characters to appear in the names of generated files. If set to NO, non-ASCII # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode # U+3044. @@ -79,36 +107,28 @@ CREATE_SUBDIRS = NO ALLOW_UNICODE_NAMES = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this +# documentation generated by Doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, -# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), -# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, -# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, -# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, -# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, -# Ukrainian and Vietnamese. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, +# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English +# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, +# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with +# English messages), Korean, Korean-en (Korean with English messages), Latvian, +# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, +# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, +# Swedish, Turkish, Ukrainian and Vietnamese. # The default value is: English. OUTPUT_LANGUAGE = English -# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all generated output in the proper direction. -# Possible values are: None, LTR, RTL and Context. -# The default value is: None. - -OUTPUT_TEXT_DIRECTION = None - -# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member +# If the BRIEF_MEMBER_DESC tag is set to YES, Doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. # The default value is: YES. BRIEF_MEMBER_DESC = YES -# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief +# If the REPEAT_BRIEF tag is set to YES, Doxygen will prepend the brief # description of a member or function before the detailed description # # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the @@ -139,13 +159,13 @@ ABBREVIATE_BRIEF = "The $name class" \ the # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# doxygen will generate a detailed section even if there is only a brief +# Doxygen will generate a detailed section even if there is only a brief # description. # The default value is: NO. ALWAYS_DETAILED_SEC = NO -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# If the INLINE_INHERITED_MEMB tag is set to YES, Doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. @@ -153,7 +173,7 @@ ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO -# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path +# If the FULL_PATH_NAMES tag is set to YES, Doxygen will prepend the full path # before files name in the file list and in the header files. If set to NO the # shortest path that makes the file name unique will be used # The default value is: YES. @@ -163,11 +183,11 @@ FULL_PATH_NAMES = YES # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. # Stripping is only done if one of the specified strings matches the left-hand # part of the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the path to +# If left blank the directory from which Doxygen is run is used as the path to # strip. # # Note that you can specify absolute paths here, but also relative paths, which -# will be relative from the directory where doxygen is started. +# will be relative from the directory where Doxygen is started. # This tag requires that the tag FULL_PATH_NAMES is set to YES. STRIP_FROM_PATH = @@ -181,41 +201,42 @@ STRIP_FROM_PATH = STRIP_FROM_INC_PATH = -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but -# less readable) file names. This can be useful is your file systems doesn't +# If the SHORT_NAMES tag is set to YES, Doxygen will generate much shorter (but +# less readable) file names. This can be useful if your file system doesn't # support long names like on DOS, Mac, or CD-ROM. # The default value is: NO. SHORT_NAMES = NO -# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the -# first line (until the first dot) of a Javadoc-style comment as the brief -# description. If set to NO, the Javadoc-style will behave just like regular Qt- -# style comments (thus requiring an explicit @brief command for a brief -# description.) +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen will interpret the +# first line (until the first dot, question mark or exclamation mark) of a +# Javadoc-style comment as the brief description. If set to NO, the Javadoc- +# style will behave just like regular Qt-style comments (thus requiring an +# explicit @brief command for a brief description.) # The default value is: NO. JAVADOC_AUTOBRIEF = NO -# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line +# If the JAVADOC_BANNER tag is set to YES then Doxygen will interpret a line # such as # /*************** # as being the beginning of a Javadoc-style comment "banner". If set to NO, the # Javadoc-style will behave just like regular comments and it will not be -# interpreted by doxygen. +# interpreted by Doxygen. # The default value is: NO. JAVADOC_BANNER = NO -# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first -# line (until the first dot) of a Qt-style comment as the brief description. If -# set to NO, the Qt-style will behave just like regular Qt-style comments (thus -# requiring an explicit \brief command for a brief description.) +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will interpret the first +# line (until the first dot, question mark or exclamation mark) of a Qt-style +# comment as the brief description. If set to NO, the Qt-style will behave just +# like regular Qt-style comments (thus requiring an explicit \brief command for +# a brief description.) # The default value is: NO. QT_AUTOBRIEF = NO -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen treat a # multi-line C++ special comment block (i.e. a block of //! or /// comments) as # a brief description. This used to be the default behavior. The new default is # to treat a multi-line C++ comment block as a detailed description. Set this @@ -227,10 +248,10 @@ QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO -# By default Python docstrings are displayed as preformatted text and doxygen's +# By default Python docstrings are displayed as preformatted text and Doxygen's # special commands cannot be used. By setting PYTHON_DOCSTRING to NO the -# doxygen's special commands can be used and the contents of the docstring -# documentation blocks is shown as doxygen documentation. +# Doxygen's special commands can be used and the contents of the docstring +# documentation blocks is shown as Doxygen documentation. # The default value is: YES. PYTHON_DOCSTRING = YES @@ -241,7 +262,7 @@ PYTHON_DOCSTRING = YES INHERIT_DOCS = YES -# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# If the SEPARATE_MEMBER_PAGES tag is set to YES then Doxygen will produce a new # page for each member. If set to NO, the documentation of a member will be part # of the file/class/namespace that contains it. # The default value is: NO. @@ -258,16 +279,16 @@ TAB_SIZE = 4 # the documentation. An alias has the form: # name=value # For example adding -# "sideeffect=@par Side Effects:\n" +# "sideeffect=@par Side Effects:^^" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines (in the resulting output). You can put ^^ in the value part of an -# alias to insert a newline as if a physical newline was in the original file. -# When you need a literal { or } or , in the value part of an alias you have to -# escape them by means of a backslash (\), this can lead to conflicts with the -# commands \{ and \} for these it is advised to use the version @{ and @} or use -# a double escape (\\{ and \\}) +# "Side Effects:". Note that you cannot put \n's in the value part of an alias +# to insert newlines (in the resulting output). You can put ^^ in the value part +# of an alias to insert a newline as if a physical newline was in the original +# file. When you need a literal { or } or , in the value part of an alias you +# have to escape them by means of a backslash (\), this can lead to conflicts +# with the commands \{ and \} for these it is advised to use the version @{ and +# @} or use a double escape (\\{ and \\}) ALIASES = @@ -311,58 +332,92 @@ OPTIMIZE_OUTPUT_SLICE = NO # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, JavaScript, -# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, VHDL, -# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: +# language is one of the parsers supported by Doxygen: IDL, Java, JavaScript, +# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, +# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: # FortranFree, unknown formatted Fortran: Fortran. In the later case the parser # tries to guess whether the code is fixed or free formatted code, this is the -# default for Fortran type files). For instance to make doxygen treat .inc files +# default for Fortran type files). For instance to make Doxygen treat .inc files # as Fortran files (default is PHP), and .f files as C (default is Fortran), # use: inc=Fortran f=C. # # Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. When specifying no_extension you should add +# the files are not read by Doxygen. When specifying no_extension you should add # * to the FILE_PATTERNS. # # Note see also the list of default file extension mappings. EXTENSION_MAPPING = -# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# If the MARKDOWN_SUPPORT tag is enabled then Doxygen pre-processes all comments # according to the Markdown format, which allows for more readable # documentation. See https://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you can -# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# The output of markdown processing is further processed by Doxygen, so you can +# mix Doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. # The default value is: YES. MARKDOWN_SUPPORT = YES +# If the MARKDOWN_STRICT tag is enabled then Doxygen treats text in comments as +# Markdown formatted also in cases where Doxygen's native markup format +# conflicts with that of Markdown. This is only relevant in cases where +# backticks are used. Doxygen's native markup style allows a single quote to end +# a text fragment started with a backtick and then treat it as a piece of quoted +# text, whereas in Markdown such text fragment is treated as verbatim and only +# ends when a second matching backtick is found. Also, Doxygen's native markup +# format requires double quotes to be escaped when they appear in a backtick +# section, whereas this is not needed for Markdown. +# The default value is: YES. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +MARKDOWN_STRICT = YES + # When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up # to that level are automatically included in the table of contents, even if # they do not have an id attribute. # Note: This feature currently applies only to Markdown headings. -# Minimum value: 0, maximum value: 99, default value: 5. +# Minimum value: 0, maximum value: 99, default value: 6. # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. -TOC_INCLUDE_HEADINGS = 5 +TOC_INCLUDE_HEADINGS = 6 -# When enabled doxygen tries to link words that correspond to documented +# The MARKDOWN_ID_STYLE tag can be used to specify the algorithm used to +# generate identifiers for the Markdown headings. Note: Every identifier is +# unique. +# Possible values are: DOXYGEN use a fixed 'autotoc_md' string followed by a +# sequence number starting at 0 and GITHUB use the lower case version of title +# with any whitespace replaced by '-' and punctuation characters removed. +# The default value is: DOXYGEN. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +MARKDOWN_ID_STYLE = DOXYGEN + +# When enabled Doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can # be prevented in individual cases by putting a % sign in front of the word or -# globally by setting AUTOLINK_SUPPORT to NO. +# globally by setting AUTOLINK_SUPPORT to NO. Words listed in the +# AUTOLINK_IGNORE_WORDS tag are excluded from automatic linking. # The default value is: YES. AUTOLINK_SUPPORT = YES +# This tag specifies a list of words that, when matching the start of a word in +# the documentation, will suppress auto links generation, if it is enabled via +# AUTOLINK_SUPPORT. This list does not affect links explicitly created using \# +# or the \link or commands. +# This tag requires that the tag AUTOLINK_SUPPORT is set to YES. + +AUTOLINK_IGNORE_WORDS = + # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should set this -# tag to YES in order to let doxygen match functions declarations and +# tag to YES in order to let Doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); -# versus func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. +# versus func(std::string) {}). This also makes the inheritance and +# collaboration diagrams that involve STL classes more complete and accurate. # The default value is: NO. BUILTIN_STL_SUPPORT = NO @@ -374,16 +429,16 @@ BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen -# will parse them like normal C++ but will assume all classes use public instead -# of private inheritance when no explicit protection keyword is present. +# https://www.riverbankcomputing.com/software) sources only. Doxygen will parse +# them like normal C++ but will assume all classes use public instead of private +# inheritance when no explicit protection keyword is present. # The default value is: NO. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate # getter and setter methods for a property. Setting this option to YES will make -# doxygen to replace the get and set methods by a property in the documentation. +# Doxygen to replace the get and set methods by a property in the documentation. # This will only work if the methods are indeed getting or setting a simple # type. If this is not the case, or you want to show the methods anyway, you # should set this option to NO. @@ -392,7 +447,7 @@ SIP_SUPPORT = NO IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES then doxygen will reuse the documentation of the first +# tag is set to YES then Doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. # The default value is: NO. @@ -450,34 +505,42 @@ TYPEDEF_HIDES_STRUCT = NO # The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This # cache is used to resolve symbols given their name and scope. Since this can be # an expensive process and often the same symbol appears multiple times in the -# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small -# doxygen will become slower. If the cache is too large, memory is wasted. The +# code, Doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# Doxygen will become slower. If the cache is too large, memory is wasted. The # cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range # is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 -# symbols. At the end of a run doxygen will report the cache usage and suggest +# symbols. At the end of a run Doxygen will report the cache usage and suggest # the optimal cache size from a speed point of view. # Minimum value: 0, maximum value: 9, default value: 0. LOOKUP_CACHE_SIZE = 0 -# The NUM_PROC_THREADS specifies the number threads doxygen is allowed to use -# during processing. When set to 0 doxygen will based this on the number of +# The NUM_PROC_THREADS specifies the number of threads Doxygen is allowed to use +# during processing. When set to 0 Doxygen will based this on the number of # cores available in the system. You can set it explicitly to a value larger # than 0 to get more control over the balance between CPU load and processing # speed. At this moment only the input processing can be done using multiple # threads. Since this is still an experimental feature the default is set to 1, -# which efficively disables parallel processing. Please report any issues you +# which effectively disables parallel processing. Please report any issues you # encounter. Generating dot graphs in parallel is controlled by the # DOT_NUM_THREADS setting. -# Minimum value: 0, maximum value: 32, default value: 1. +# Minimum value: 0, maximum value: 512, default value: 1. NUM_PROC_THREADS = 1 +# If the TIMESTAMP tag is set different from NO then each generated page will +# contain the date or date and time when the page was generated. Setting this to +# NO can help when comparing the output of multiple runs. +# Possible values are: YES, NO, DATETIME and DATE. +# The default value is: NO. + +TIMESTAMP = NO + #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- -# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# If the EXTRACT_ALL tag is set to YES, Doxygen will assume all entities in # documentation are documented, even if no documentation was available. Private # class members and static file members will be hidden unless the # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. @@ -543,7 +606,7 @@ EXTRACT_ANON_NSPACES = NO RESOLVE_UNNAMED_PARAMS = YES -# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation # section is generated. This option has no effect if EXTRACT_ALL is enabled. @@ -551,22 +614,31 @@ RESOLVE_UNNAMED_PARAMS = YES HIDE_UNDOC_MEMBERS = NO -# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. If set # to NO, these classes will be included in the various overviews. This option -# has no effect if EXTRACT_ALL is enabled. +# will also hide undocumented C++ concepts if enabled. This option has no effect +# if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_CLASSES = NO -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# If the HIDE_UNDOC_NAMESPACES tag is set to YES, Doxygen will hide all +# undocumented namespaces that are normally visible in the namespace hierarchy. +# If set to NO, these namespaces will be included in the various overviews. This +# option has no effect if EXTRACT_ALL is enabled. +# The default value is: YES. + +HIDE_UNDOC_NAMESPACES = YES + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all friend # declarations. If set to NO, these declarations will be included in the # documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO -# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. If set to NO, these # blocks will be appended to the function's detailed documentation block. # The default value is: NO. @@ -580,37 +652,44 @@ HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO -# With the correct setting of option CASE_SENSE_NAMES doxygen will better be +# With the correct setting of option CASE_SENSE_NAMES Doxygen will better be # able to match the capabilities of the underlying filesystem. In case the # filesystem is case sensitive (i.e. it supports files in the same directory # whose names only differ in casing), the option must be set to YES to properly # deal with such files in case they appear in the input. For filesystems that -# are not case sensitive the option should be be set to NO to properly deal with +# are not case sensitive the option should be set to NO to properly deal with # output files written for symbols that only differ in casing, such as for two # classes, one named CLASS and the other named Class, and to also support # references to files without having to specify the exact matching casing. On -# Windows (including Cygwin) and MacOS, users should typically set this option +# Windows (including Cygwin) and macOS, users should typically set this option # to NO, whereas on Linux or other Unix flavors it should typically be set to # YES. -# The default value is: system dependent. +# Possible values are: SYSTEM, NO and YES. +# The default value is: SYSTEM. -CASE_SENSE_NAMES = NO +CASE_SENSE_NAMES = SYSTEM -# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# If the HIDE_SCOPE_NAMES tag is set to NO then Doxygen will show members with # their full class and namespace scopes in the documentation. If set to YES, the # scope will be hidden. # The default value is: NO. HIDE_SCOPE_NAMES = YES -# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then Doxygen will # append additional text to a page's title, such as Class Reference. If set to # YES the compound reference will be hidden. # The default value is: NO. HIDE_COMPOUND_REFERENCE= NO -# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class +# will show which file needs to be included to use the class. +# The default value is: YES. + +SHOW_HEADERFILE = YES + +# If the SHOW_INCLUDE_FILES tag is set to YES then Doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. @@ -623,7 +702,7 @@ SHOW_INCLUDE_FILES = YES SHOW_GROUPED_MEMB_INC = NO -# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen will list include # files with double quotes in the documentation rather than with sharp brackets. # The default value is: NO. @@ -635,14 +714,14 @@ FORCE_LOCAL_INCLUDES = NO INLINE_INFO = YES -# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# If the SORT_MEMBER_DOCS tag is set to YES then Doxygen will sort the # (detailed) documentation of file and class members alphabetically by member # name. If set to NO, the members will appear in declaration order. # The default value is: YES. SORT_MEMBER_DOCS = YES -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# If the SORT_BRIEF_DOCS tag is set to YES then Doxygen will sort the brief # descriptions of file, namespace and class members alphabetically by member # name. If set to NO, the members will appear in declaration order. Note that # this will also influence the order of the classes in the class list. @@ -650,7 +729,7 @@ SORT_MEMBER_DOCS = YES SORT_BRIEF_DOCS = NO -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then Doxygen will sort the # (brief and detailed) documentation of class members so that constructors and # destructors are listed first. If set to NO the constructors will appear in the # respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. @@ -662,7 +741,7 @@ SORT_BRIEF_DOCS = NO SORT_MEMBERS_CTORS_1ST = NO -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# If the SORT_GROUP_NAMES tag is set to YES then Doxygen will sort the hierarchy # of group names into alphabetical order. If set to NO the group names will # appear in their defined order. # The default value is: NO. @@ -679,11 +758,11 @@ SORT_GROUP_NAMES = NO SORT_BY_SCOPE_NAME = NO -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# If the STRICT_PROTO_MATCHING option is enabled and Doxygen fails to do proper # type resolution of all parameters of a function it will reject a match between # the prototype and the implementation of a member function even if there is # only one candidate or it is obvious which candidate to choose by doing a -# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# simple string match. By disabling STRICT_PROTO_MATCHING Doxygen will still # accept a match between prototype and implementation in such cases. # The default value is: NO. @@ -753,24 +832,25 @@ SHOW_FILES = YES SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from +# Doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command command input-file, where command is the value of the # FILE_VERSION_FILTER tag, and input-file is the name of an input file provided -# by doxygen. Whatever the program writes to standard output is used as the file +# by Doxygen. Whatever the program writes to standard output is used as the file # version. For an example see the documentation. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated +# by Doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. You can +# that represents Doxygen's defaults, run Doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. +# will be used as the name of the layout file. See also section "Changing the +# layout of pages" for information. # -# Note that if you run doxygen from a directory containing a file called -# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# Note that if you run Doxygen from a directory containing a file called +# DoxygenLayout.xml, Doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. LAYOUT_FILE = @@ -785,19 +865,35 @@ LAYOUT_FILE = CITE_BIB_FILES = +# The EXTERNAL_TOOL_PATH tag can be used to extend the search path (PATH +# environment variable) so that external tools such as latex and gs can be +# found. +# Note: Directories specified with EXTERNAL_TOOL_PATH are added in front of the +# path already specified by the PATH variable, and are added in the order +# specified. +# Note: This option is particularly useful for macOS version 14 (Sonoma) and +# higher, when running Doxygen from Doxywizard, because in this case any user- +# defined changes to the PATH are ignored. A typical example on macOS is to set +# EXTERNAL_TOOL_PATH = /Library/TeX/texbin /usr/local/bin +# together with the standard path, the full search path used by doxygen when +# launching external tools will then become +# PATH=/Library/TeX/texbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin + +EXTERNAL_TOOL_PATH = + #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated to -# standard output by doxygen. If QUIET is set to YES this implies that the +# standard output by Doxygen. If QUIET is set to YES this implies that the # messages are off. # The default value is: NO. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are -# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# generated to standard error (stderr) by Doxygen. If WARNINGS is set to YES # this implies that the warnings are on. # # Tip: Turn warnings on while writing the documentation. @@ -805,52 +901,97 @@ QUIET = NO WARNINGS = YES -# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# If the WARN_IF_UNDOCUMENTED tag is set to YES then Doxygen will generate # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag # will automatically be disabled. # The default value is: YES. WARN_IF_UNDOCUMENTED = YES -# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. +# If the WARN_IF_DOC_ERROR tag is set to YES, Doxygen will generate warnings for +# potential errors in the documentation, such as documenting some parameters in +# a documented function twice, or documenting parameters that don't exist or +# using markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES +# If WARN_IF_INCOMPLETE_DOC is set to YES, Doxygen will warn about incomplete +# function parameter documentation. If set to NO, Doxygen will accept that some +# parameters have no documentation without warning. +# The default value is: YES. + +WARN_IF_INCOMPLETE_DOC = YES + # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong or incomplete -# parameter documentation, but not about the absence of documentation. If -# EXTRACT_ALL is set to YES then this flag will automatically be disabled. +# value. If set to NO, Doxygen will only warn about wrong parameter +# documentation, but not about the absence of documentation. If EXTRACT_ALL is +# set to YES then this flag will automatically be disabled. See also +# WARN_IF_INCOMPLETE_DOC # The default value is: NO. WARN_NO_PARAMDOC = NO -# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# If WARN_IF_UNDOC_ENUM_VAL option is set to YES, Doxygen will warn about +# undocumented enumeration values. If set to NO, Doxygen will accept +# undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: NO. + +WARN_IF_UNDOC_ENUM_VAL = NO + +# If WARN_LAYOUT_FILE option is set to YES, Doxygen will warn about issues found +# while parsing the user defined layout file, such as missing or wrong elements. +# See also LAYOUT_FILE for details. If set to NO, problems with the layout file +# will be suppressed. +# The default value is: YES. + +WARN_LAYOUT_FILE = YES + +# If the WARN_AS_ERROR tag is set to YES then Doxygen will immediately stop when # a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS -# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but -# at the end of the doxygen process doxygen will return with a non-zero status. -# Possible values are: NO, YES and FAIL_ON_WARNINGS. +# then Doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but +# at the end of the Doxygen process Doxygen will return with a non-zero status. +# If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS_PRINT then Doxygen behaves +# like FAIL_ON_WARNINGS but in case no WARN_LOGFILE is defined Doxygen will not +# write the warning messages in between other messages but write them at the end +# of a run, in case a WARN_LOGFILE is defined the warning messages will be +# besides being in the defined file also be shown at the end of a run, unless +# the WARN_LOGFILE is defined as - i.e. standard output (stdout) in that case +# the behavior will remain as with the setting FAIL_ON_WARNINGS. +# Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT. # The default value is: NO. WARN_AS_ERROR = NO -# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# The WARN_FORMAT tag determines the format of the warning messages that Doxygen # can produce. The string should contain the $file, $line, and $text tags, which # will be replaced by the file and line number from which the warning originated # and the warning text. Optionally the format may contain $version, which will # be replaced by the version of the file (if it could be obtained via # FILE_VERSION_FILTER) +# See also: WARN_LINE_FORMAT # The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text" +# In the $text part of the WARN_FORMAT command it is possible that a reference +# to a more specific place is given. To make it easier to jump to this place +# (outside of Doxygen) the user can define a custom "cut" / "paste" string. +# Example: +# WARN_LINE_FORMAT = "'vi $file +$line'" +# See also: WARN_FORMAT +# The default value is: at line $line of file $file. + +WARN_LINE_FORMAT = "at line $line of file $file" + # The WARN_LOGFILE tag can be used to specify a file to which warning and error # messages should be written. If left blank the output is written to standard -# error (stderr). +# error (stderr). In case the file specified cannot be opened for writing the +# warning and error messages are written to standard error. When as file - is +# specified the warning and error messages are written to standard output +# (stdout). WARN_LOGFILE = @@ -871,37 +1012,52 @@ INPUT = src \ doc/mainpage # This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# that Doxygen parses. Internally Doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv # documentation (see: # https://www.gnu.org/software/libiconv/) for the list of possible encodings. +# See also: INPUT_FILE_ENCODING # The default value is: UTF-8. INPUT_ENCODING = UTF-8 +# This tag can be used to specify the character encoding of the source files +# that Doxygen parses. The INPUT_FILE_ENCODING tag can be used to specify +# character encoding on a per file pattern basis. Doxygen will compare the file +# name with each pattern and apply the encoding instead of the default +# INPUT_ENCODING if there is a match. The character encodings are a list of the +# form: pattern=encoding (like *.php=ISO-8859-1). +# See also: INPUT_ENCODING for further information on supported encodings. + +INPUT_FILE_ENCODING = + # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and # *.h) to filter out the source-files in the directories. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not -# read by doxygen. +# read by Doxygen. # # Note the list of default checked file patterns might differ from the list of # default file extension mappings. # -# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, -# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, -# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, -# *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment), -# *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, *.vhdl, -# *.ucf, *.qsf and *.ice. +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cxxm, +# *.cpp, *.cppm, *.ccm, *.c++, *.c++m, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, +# *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, +# *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be +# provided as Doxygen C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +# *.f18, *.f, *.for, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice. FILE_PATTERNS = *.c \ *.cc \ *.cxx \ + *.cxxm \ *.cpp \ + *.cppm \ + *.ccm \ *.c++ \ + *.c++m \ *.java \ *.ii \ *.ixx \ @@ -916,6 +1072,7 @@ FILE_PATTERNS = *.c \ *.hxx \ *.hpp \ *.h++ \ + *.l \ *.cs \ *.d \ *.php \ @@ -953,7 +1110,7 @@ RECURSIVE = YES # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. # -# Note that relative paths are relative to the directory from which doxygen is +# Note that relative paths are relative to the directory from which Doxygen is # run. EXCLUDE = @@ -978,10 +1135,7 @@ EXCLUDE_PATTERNS = # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories use the pattern */test/* +# ANamespace::AClass, ANamespace::*Test EXCLUDE_SYMBOLS = @@ -1011,7 +1165,7 @@ EXAMPLE_RECURSIVE = NO IMAGE_PATH = -# The INPUT_FILTER tag can be used to specify a program that doxygen should +# The INPUT_FILTER tag can be used to specify a program that Doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command: # @@ -1026,9 +1180,14 @@ IMAGE_PATH = # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. # +# Note that Doxygen will use the data processed and written to standard output +# for further processing, therefore nothing else, like debug statements or used +# commands (so in case of a Windows batch file always use @echo OFF), should be +# written to standard output. +# # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. +# properly processed by Doxygen. INPUT_FILTER = @@ -1041,7 +1200,7 @@ INPUT_FILTER = # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. +# properly processed by Doxygen. FILTER_PATTERNS = @@ -1063,10 +1222,28 @@ FILTER_SOURCE_PATTERNS = # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that # is part of the input, its contents will be placed on the main page # (index.html). This can be useful if you have a project on for instance GitHub -# and want to reuse the introduction page also for the doxygen output. +# and want to reuse the introduction page also for the Doxygen output. USE_MDFILE_AS_MAINPAGE = +# If the IMPLICIT_DIR_DOCS tag is set to YES, any README.md file found in sub- +# directories of the project's root, is used as the documentation for that sub- +# directory, except when the README.md starts with a \dir, \page or \mainpage +# command. If set to NO, the README.md file needs to start with an explicit \dir +# command in order to be used as directory documentation. +# The default value is: YES. + +IMPLICIT_DIR_DOCS = YES + +# The Fortran standard specifies that for fixed formatted Fortran code all +# characters from position 72 are to be considered as comment. A common +# extension is to allow longer lines before the automatic comment starts. The +# setting FORTRAN_COMMENT_AFTER will also make it possible that longer lines can +# be processed before the automatic comment starts. +# Minimum value: 7, maximum value: 10000, default value: 72. + +FORTRAN_COMMENT_AFTER = 72 + #--------------------------------------------------------------------------- # Configuration options related to source browsing #--------------------------------------------------------------------------- @@ -1081,12 +1258,13 @@ USE_MDFILE_AS_MAINPAGE = SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body of functions, -# classes and enums directly into the documentation. +# multi-line macros, enums or list initialized variables directly into the +# documentation. # The default value is: NO. INLINE_SOURCES = NO -# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct Doxygen to hide any # special comment blocks from generated source code fragments. Normal C, C++ and # Fortran comments will always remain visible. # The default value is: YES. @@ -1124,7 +1302,7 @@ REFERENCES_LINK_SOURCE = YES SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will -# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# point to the HTML generated by the htags(1) tool instead of Doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system # (see https://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. @@ -1138,14 +1316,14 @@ SOURCE_TOOLTIPS = YES # Doxygen will invoke htags (and that will in turn invoke gtags), so these # tools must be available from the command line (i.e. in the search path). # -# The result: instead of the source browser generated by doxygen, the links to +# The result: instead of the source browser generated by Doxygen, the links to # source code will now point to the output of htags. # The default value is: NO. # This tag requires that the tag SOURCE_BROWSER is set to YES. USE_HTAGS = NO -# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# If the VERBATIM_HEADERS tag is set the YES then Doxygen will generate a # verbatim copy of the header file for each class for which an include is # specified. Set to NO to disable this. # See also: Section \class. @@ -1153,26 +1331,28 @@ USE_HTAGS = NO VERBATIM_HEADERS = YES -# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the +# If the CLANG_ASSISTED_PARSING tag is set to YES then Doxygen will use the # clang parser (see: # http://clang.llvm.org/) for more accurate parsing at the cost of reduced # performance. This can be particularly helpful with template rich C++ code for -# which doxygen's built-in parser lacks the necessary type information. -# Note: The availability of this option depends on whether or not doxygen was +# which Doxygen's built-in parser lacks the necessary type information. +# Note: The availability of this option depends on whether or not Doxygen was # generated with the -Duse_libclang=ON option for CMake. # The default value is: NO. CLANG_ASSISTED_PARSING = NO -# If clang assisted parsing is enabled and the CLANG_ADD_INC_PATHS tag is set to -# YES then doxygen will add the directory of each input to the include path. +# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS +# tag is set to YES then Doxygen will add the directory of each input to the +# include path. # The default value is: YES. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. CLANG_ADD_INC_PATHS = YES # If clang assisted parsing is enabled you can provide the compiler with command # line options that you would normally use when invoking the compiler. Note that -# the include paths will already be set by doxygen for the files and directories +# the include paths will already be set by Doxygen for the files and directories # specified with INPUT and INCLUDE_PATH. # This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. @@ -1186,7 +1366,7 @@ CLANG_OPTIONS = # specifying the -p option to a clang tool, such as clang-check. These options # will then be passed to the parser. Any options specified with CLANG_OPTIONS # will be added as well. -# Note: The availability of this option depends on whether or not doxygen was +# Note: The availability of this option depends on whether or not Doxygen was # generated with the -Duse_libclang=ON option for CMake. CLANG_DATABASE_PATH = @@ -1202,10 +1382,11 @@ CLANG_DATABASE_PATH = ALPHABETICAL_INDEX = YES -# In case all classes in a project start with a common prefix, all classes will -# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag -# can be used to specify a prefix (or a list of prefixes) that should be ignored -# while generating the index headers. +# The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes) +# that should be ignored while generating the index headers. The IGNORE_PREFIX +# tag works for classes, function and member names. The entity will be placed in +# the alphabetical list under the first letter of the entity name that remains +# after removing the prefix. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = @@ -1214,7 +1395,7 @@ IGNORE_PREFIX = # Configuration options related to the HTML output #--------------------------------------------------------------------------- -# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output +# If the GENERATE_HTML tag is set to YES, Doxygen will generate HTML output # The default value is: YES. GENERATE_HTML = YES @@ -1235,40 +1416,40 @@ HTML_OUTPUT = html HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a user-defined HTML header file for -# each generated HTML page. If the tag is left blank doxygen will generate a +# each generated HTML page. If the tag is left blank Doxygen will generate a # standard header. # # To get valid HTML the header file that includes any scripts and style sheets -# that doxygen needs, which is dependent on the configuration options used (e.g. +# that Doxygen needs, which is dependent on the configuration options used (e.g. # the setting GENERATE_TREEVIEW). It is highly recommended to start with a # default header using # doxygen -w html new_header.html new_footer.html new_stylesheet.css # YourConfigFile # and then modify the file new_header.html. See also section "Doxygen usage" -# for information on how to generate the default header that doxygen normally +# for information on how to generate the default header that Doxygen normally # uses. # Note: The header is subject to change so you typically have to regenerate the -# default header when upgrading to a newer version of doxygen. For a description +# default header when upgrading to a newer version of Doxygen. For a description # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each -# generated HTML page. If the tag is left blank doxygen will generate a standard +# generated HTML page. If the tag is left blank Doxygen will generate a standard # footer. See HTML_HEADER for more information on how to generate a default # footer and what special commands can be used inside the footer. See also # section "Doxygen usage" for information on how to generate the default footer -# that doxygen normally uses. +# that Doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style # sheet that is used by each HTML page. It can be used to fine-tune the look of -# the HTML output. If left blank doxygen will generate a default style sheet. +# the HTML output. If left blank Doxygen will generate a default style sheet. # See also section "Doxygen usage" for information on how to generate the style -# sheet that doxygen normally uses. +# sheet that Doxygen normally uses. # Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as # it is more robust and this tag (HTML_STYLESHEET) will in the future become # obsolete. @@ -1278,13 +1459,18 @@ HTML_STYLESHEET = # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined # cascading style sheets that are included after the standard style sheets -# created by doxygen. Using this option one can overrule certain style aspects. +# created by Doxygen. Using this option one can overrule certain style aspects. # This is preferred over using HTML_STYLESHEET since it does not replace the # standard style sheet and is therefore more robust against future updates. # Doxygen will copy the style sheet files to the output directory. # Note: The order of the extra style sheet files is of importance (e.g. the last # style sheet in the list overrules the setting of the previous ones in the -# list). For an example see the documentation. +# list). +# Note: Since the styling of scrollbars can currently not be overruled in +# Webkit/Chromium, the styling will be left out of the default doxygen.css if +# one or more extra stylesheets have been specified. So if scrollbar +# customization is desired it has to be added explicitly. For an example see the +# documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = @@ -1299,9 +1485,22 @@ HTML_EXTRA_STYLESHEET = HTML_EXTRA_FILES = +# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output +# should be rendered with a dark or light theme. +# Possible values are: LIGHT always generates light mode output, DARK always +# generates dark mode output, AUTO_LIGHT automatically sets the mode according +# to the user preference, uses light mode if no preference is set (the default), +# AUTO_DARK automatically sets the mode according to the user preference, uses +# dark mode if no preference is set and TOGGLE allows a user to switch between +# light and dark mode via a button. +# The default value is: AUTO_LIGHT. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE = TOGGLE + # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see +# this color. Hue is specified as an angle on a color-wheel, see # https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. @@ -1311,7 +1510,7 @@ HTML_EXTRA_FILES = HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A +# in the HTML output. For a value of 0 the output will use gray-scales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1329,15 +1528,6 @@ HTML_COLORSTYLE_SAT = 100 HTML_COLORSTYLE_GAMMA = 80 -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to YES can help to show when doxygen was last run and thus if the -# documentation is up to date. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_TIMESTAMP = NO - # If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML # documentation will contain a main index with vertical navigation menus that # are dynamically created via JavaScript. If disabled, the navigation index will @@ -1357,6 +1547,33 @@ HTML_DYNAMIC_MENUS = YES HTML_DYNAMIC_SECTIONS = NO +# If the HTML_CODE_FOLDING tag is set to YES then classes and functions can be +# dynamically folded and expanded in the generated HTML source code. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_CODE_FOLDING = YES + +# If the HTML_COPY_CLIPBOARD tag is set to YES then Doxygen will show an icon in +# the top right corner of code and text fragments that allows the user to copy +# its content to the clipboard. Note this only works if supported by the browser +# and the web page is served via a secure context (see: +# https://www.w3.org/TR/secure-contexts/), i.e. using the https: or file: +# protocol. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COPY_CLIPBOARD = YES + +# Doxygen stores a couple of settings persistently in the browser (via e.g. +# cookies). By default these settings apply to all HTML pages generated by +# Doxygen across all projects. The HTML_PROJECT_COOKIE tag can be used to store +# the settings under a project specific key, such that the user preferences will +# be stored separately. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_PROJECT_COOKIE = + # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries # shown in the various tree structured indices initially; the user can expand # and collapse entries dynamically later on. Doxygen will expand the tree to @@ -1374,7 +1591,7 @@ HTML_INDEX_NUM_ENTRIES = 100 # generated that can be used as input for Apple's Xcode 3 integrated development # environment (see: # https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To -# create a documentation set, doxygen will generate a Makefile in the HTML +# create a documentation set, Doxygen will generate a Makefile in the HTML # output directory. Running make will produce the docset in that directory and # running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at @@ -1393,6 +1610,13 @@ GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" +# This tag determines the URL of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDURL = + # This tag specifies a string that should uniquely identify the documentation # set bundle. This should be a reverse domain-name style string, e.g. # com.mycompany.MyDocSet. Doxygen will append .docset to the name. @@ -1415,14 +1639,18 @@ DOCSET_PUBLISHER_ID = org.doxygen.Publisher DOCSET_PUBLISHER_NAME = Publisher -# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# If the GENERATE_HTMLHELP tag is set to YES then Doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: -# https://www.microsoft.com/en-us/download/details.aspx?id=21138) on Windows. +# on Windows. In the beginning of 2021 Microsoft took the original page, with +# a.o. the download links, offline (the HTML help workshop was already many +# years in maintenance mode). You can download the HTML help workshop from the +# web archives at Installation executable (see: +# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo +# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). # # The HTML Help Workshop contains a compiler that can convert all HTML output -# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# generated by Doxygen into a single compiled HTML file (.chm). Compiled HTML # files are now used as the Windows 98 help format, and will replace the old # Windows help format (.hlp) on all Windows platforms in the future. Compressed # HTML files also contain an index, a table of contents, and you can search for @@ -1442,7 +1670,7 @@ CHM_FILE = # The HHC_LOCATION tag can be used to specify the location (absolute path # including file name) of the HTML help compiler (hhc.exe). If non-empty, -# doxygen will try to run the HTML help compiler on the generated index.hhp. +# Doxygen will try to run the HTML help compiler on the generated index.hhp. # The file has to be specified with full path. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. @@ -1476,6 +1704,16 @@ BINARY_TOC = NO TOC_EXPAND = NO +# The SITEMAP_URL tag is used to specify the full URL of the place where the +# generated documentation will be placed on the server by the user during the +# deployment of the documentation. The generated sitemap is called sitemap.xml +# and placed on the directory specified by HTML_OUTPUT. In case no SITEMAP_URL +# is specified no sitemap is generated. For information about the sitemap +# protocol see https://www.sitemaps.org +# This tag requires that the tag GENERATE_HTML is set to YES. + +SITEMAP_URL = + # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help @@ -1534,7 +1772,7 @@ QHP_CUST_FILTER_ATTRS = QHP_SECT_FILTER_ATTRS = # The QHG_LOCATION tag can be used to specify the location (absolute path -# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to +# including file name) of Qt's qhelpgenerator. If non-empty Doxygen will try to # run qhelpgenerator on the generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1578,18 +1816,39 @@ DISABLE_INDEX = NO # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. -# The default value is: NO. +# further fine tune the look of the index (see "Fine-tuning the output"). As an +# example, the default style sheet generated by Doxygen has an example that +# shows how to put an image at the root of the tree instead of the PROJECT_NAME. +# Since the tree basically has more details information than the tab index, you +# could consider setting DISABLE_INDEX to YES when enabling this option. +# The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = YES +# When GENERATE_TREEVIEW is set to YES, the PAGE_OUTLINE_PANEL option determines +# if an additional navigation panel is shown at the right hand side of the +# screen, displaying an outline of the contents of the main page, similar to +# e.g. https://developer.android.com/reference If GENERATE_TREEVIEW is set to +# NO, this option has no effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +PAGE_OUTLINE_PANEL = YES + +# When GENERATE_TREEVIEW is set to YES, the FULL_SIDEBAR option determines if +# the side bar is limited to only the treeview area (value NO) or if it should +# extend to the full height of the window (value YES). Setting this to YES gives +# a layout similar to e.g. https://docs.readthedocs.io with more room for +# contents, but less room for the project logo, title, and description. If +# GENERATE_TREEVIEW is set to NO, this option has no effect. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FULL_SIDEBAR = NO + # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that -# doxygen will group on one line in the generated HTML documentation. +# Doxygen will group on one line in the generated HTML documentation. # # Note that a value of 0 will completely suppress the enum values from appearing # in the overview section. @@ -1598,6 +1857,12 @@ GENERATE_TREEVIEW = YES ENUM_VALUES_PER_LINE = 4 +# When the SHOW_ENUM_VALUES tag is set doxygen will show the specified +# enumeration values besides the enumeration mnemonics. +# The default value is: NO. + +SHOW_ENUM_VALUES = NO + # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used # to set the initial width (in pixels) of the frame in which the tree is shown. # Minimum value: 0, maximum value: 1500, default value: 250. @@ -1605,14 +1870,21 @@ ENUM_VALUES_PER_LINE = 4 TREEVIEW_WIDTH = 250 -# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to +# If the EXT_LINKS_IN_WINDOW option is set to YES, Doxygen will open links to # external symbols imported via tag files in a separate window. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. EXT_LINKS_IN_WINDOW = NO -# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg +# If the OBFUSCATE_EMAILS tag is set to YES, Doxygen will obfuscate email +# addresses. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +OBFUSCATE_EMAILS = YES + +# If the HTML_FORMULA_FORMAT option is set to svg, Doxygen will use the pdf2svg # tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see # https://inkscape.org) to generate formulas as SVG images instead of PNGs for # the HTML output. These images will generally look nicer at scaled resolutions. @@ -1621,28 +1893,17 @@ EXT_LINKS_IN_WINDOW = NO # The default value is: png. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_FORMULA_FORMAT = png +HTML_FORMULA_FORMAT = svg # Use this tag to change the font size of LaTeX formulas included as images in # the HTML documentation. When you change the font size after a successful -# doxygen run you need to manually remove any form_*.png images from the HTML +# Doxygen run you need to manually remove any form_*.png images from the HTML # output directory to force them to be regenerated. # Minimum value: 8, maximum value: 50, default value: 10. # This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_FONTSIZE = 10 -# Use the FORMULA_TRANSPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_TRANSPARENT = YES - # The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands # to create new LaTeX commands to be used in formulas as building blocks. See # the section "Including formulas" for details. @@ -1660,51 +1921,90 @@ FORMULA_MACROFILE = USE_MATHJAX = NO +# With MATHJAX_VERSION it is possible to specify the MathJax version to be used. +# Note that the different versions of MathJax have different requirements with +# regards to the different settings, so it is possible that also other MathJax +# settings have to be changed when switching between the different MathJax +# versions. +# Possible values are: MathJax_2, MathJax_3 and MathJax_4. +# The default value is: MathJax_2. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_VERSION = MathJax_2 + # When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. +# the MathJax output. For more details about the output format see MathJax +# version 2 (see: +# https://docs.mathjax.org/en/v2.7/output.html), MathJax version 3 (see: +# https://docs.mathjax.org/en/v3.2/output/index.html) and MathJax version 4 +# (see: +# https://docs.mathjax.org/en/v4.0/output/index.htm). # Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. +# compatibility. This is the name for Mathjax version 2, for MathJax version 3 +# this will be translated into chtml), NativeMML (i.e. MathML. Only supported +# for MathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This +# is the name for Mathjax version 3, for MathJax version 2 this will be +# translated into HTML-CSS) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_FORMAT = HTML-CSS # When MathJax is enabled you need to specify the location relative to the HTML -# output directory using the MATHJAX_RELPATH option. The destination directory -# should contain the MathJax.js script. For instance, if the mathjax directory -# is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax -# Content Delivery Network so you can quickly see the result without installing -# MathJax. However, it is strongly recommended to install a local copy of -# MathJax from https://www.mathjax.org before deployment. -# The default value is: https://cdn.jsdelivr.net/npm/mathjax@2. +# output directory using the MATHJAX_RELPATH option. For Mathjax version 2 the +# destination directory should contain the MathJax.js script. For instance, if +# the mathjax directory is located at the same level as the HTML output +# directory, then MATHJAX_RELPATH should be ../mathjax.s For Mathjax versions 3 +# and 4 the destination directory should contain the tex-.js script +# (where is either chtml or svg). The default value points to the +# MathJax Content Delivery Network so you can quickly see the result without +# installing MathJax. However, it is strongly recommended to install a local +# copy of MathJax from https://www.mathjax.org before deployment. The default +# value is: +# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 +# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 +# - in case of MathJax version 4: https://cdn.jsdelivr.net/npm/mathjax@4 # This tag requires that the tag USE_MATHJAX is set to YES. -MATHJAX_RELPATH = https://cdn.jsdelivr.net/npm/mathjax@2 +MATHJAX_RELPATH = # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example +# for MathJax version 2 (see https://docs.mathjax.org/en/v2.7/tex.html): # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# For example for MathJax version 3 (see +# https://docs.mathjax.org/en/v3.2/input/tex/extensions/): +# MATHJAX_EXTENSIONS = ams +# For example for MathJax version 4 (see +# https://docs.mathjax.org/en/v4.0/input/tex/extensions/): +# MATHJAX_EXTENSIONS = units +# Note that for Mathjax version 4 quite a few extensions are already +# automatically loaded. To disable a package in Mathjax version 4 one can use +# the package name prepended with a minus sign (- like MATHJAX_EXTENSIONS += +# -textmacros) # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = -# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces -# of code that will be used on startup of the MathJax code. See the MathJax site -# (see: -# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an -# example see the documentation. +# The MATHJAX_CODEFILE tag can be used to specify a file with JavaScript pieces +# of code that will be used on startup of the MathJax code. See the Mathjax site +# for more details: +# - MathJax version 2 (see: +# https://docs.mathjax.org/en/v2.7/) +# - MathJax version 3 (see: +# https://docs.mathjax.org/en/v3.2/) +# - MathJax version 4 (see: +# https://docs.mathjax.org/en/v4.0/) For an example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_CODEFILE = -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for -# the HTML output. The underlying search engine uses javascript and DHTML and +# When the SEARCHENGINE tag is enabled Doxygen will generate a search box for +# the HTML output. The underlying search engine uses JavaScript and DHTML and # should work on any modern browser. Note that when using HTML help # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) # there is already a search function so this one should typically be disabled. -# For large projects the javascript based search engine can be slow, then +# For large projects the JavaScript based search engine can be slow, then # enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to # search using the keyboard; to jump to the search box use + S # (what the is depends on the OS and browser, but it is typically @@ -1723,7 +2023,7 @@ SEARCHENGINE = YES # When the SERVER_BASED_SEARCH tag is enabled the search engine will be # implemented using a web server instead of a web client using JavaScript. There # are two flavors of web server based searching depending on the EXTERNAL_SEARCH -# setting. When disabled, doxygen will generate a PHP script for searching and +# setting. When disabled, Doxygen will generate a PHP script for searching and # an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing # and searching needs to be provided by external tools. See the section # "External Indexing and Searching" for details. @@ -1732,7 +2032,7 @@ SEARCHENGINE = YES SERVER_BASED_SEARCH = NO -# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP +# When EXTERNAL_SEARCH tag is enabled Doxygen will no longer generate the PHP # script for searching. Instead the search results are written to an XML file # which needs to be processed by an external indexer. Doxygen will invoke an # external search engine pointed to by the SEARCHENGINE_URL option to obtain the @@ -1777,7 +2077,7 @@ SEARCHDATA_FILE = searchdata.xml EXTERNAL_SEARCH_ID = -# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen +# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through Doxygen # projects other than the one defined by this configuration file, but that are # all added to the same external search index. Each project needs to have a # unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of @@ -1791,7 +2091,7 @@ EXTRA_SEARCH_MAPPINGS = # Configuration options related to the LaTeX output #--------------------------------------------------------------------------- -# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output. +# If the GENERATE_LATEX tag is set to YES, Doxygen will generate LaTeX output. # The default value is: YES. GENERATE_LATEX = NO @@ -1836,7 +2136,7 @@ MAKEINDEX_CMD_NAME = makeindex LATEX_MAKEINDEX_CMD = makeindex -# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX +# If the COMPACT_LATEX tag is set to YES, Doxygen generates more compact LaTeX # documents. This may be useful for small projects and may help to save some # trees in general. # The default value is: NO. @@ -1865,36 +2165,38 @@ PAPER_TYPE = a4 EXTRA_PACKAGES = -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the -# generated LaTeX document. The header should contain everything until the first -# chapter. If it is left blank doxygen will generate a standard header. See -# section "Doxygen usage" for information on how to let doxygen write the -# default header to a separate file. +# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for +# the generated LaTeX document. The header should contain everything until the +# first chapter. If it is left blank Doxygen will generate a standard header. It +# is highly recommended to start with a default header using +# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty +# and then modify the file new_header.tex. See also section "Doxygen usage" for +# information on how to generate the default header that Doxygen normally uses. # -# Note: Only use a user-defined header if you know what you are doing! The -# following commands have a special meaning inside the header: $title, -# $datetime, $date, $doxygenversion, $projectname, $projectnumber, -# $projectbrief, $projectlogo. Doxygen will replace $title with the empty -# string, for the replacement values of the other commands the user is referred -# to HTML_HEADER. +# Note: Only use a user-defined header if you know what you are doing! +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of Doxygen. The following +# commands have a special meaning inside the header (and footer): For a +# description of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_HEADER = -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the -# generated LaTeX document. The footer should contain everything after the last -# chapter. If it is left blank doxygen will generate a standard footer. See +# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for +# the generated LaTeX document. The footer should contain everything after the +# last chapter. If it is left blank Doxygen will generate a standard footer. See # LATEX_HEADER for more information on how to generate a default footer and what -# special commands can be used inside the footer. -# -# Note: Only use a user-defined footer if you know what you are doing! +# special commands can be used inside the footer. See also section "Doxygen +# usage" for information on how to generate the default footer that Doxygen +# normally uses. Note: Only use a user-defined footer if you know what you are +# doing! # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_FOOTER = # The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined # LaTeX style sheets that are included after the standard style sheets created -# by doxygen. Using this option one can overrule certain style aspects. Doxygen +# by Doxygen. Using this option one can overrule certain style aspects. Doxygen # will copy the style sheet files to the output directory. # Note: The order of the extra style sheet files is of importance (e.g. the last # style sheet in the list overrules the setting of the previous ones in the @@ -1920,7 +2222,7 @@ LATEX_EXTRA_FILES = PDF_HYPERLINKS = YES -# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as +# If the USE_PDFLATEX tag is set to YES, Doxygen will use the engine as # specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX # files. Set this option to YES, to get a higher quality PDF documentation. # @@ -1930,47 +2232,35 @@ PDF_HYPERLINKS = YES USE_PDFLATEX = YES -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode -# command to the generated LaTeX files. This will instruct LaTeX to keep running -# if errors occur, instead of asking the user for help. This option is also used -# when generating formulas in HTML. +# The LATEX_BATCHMODE tag signals the behavior of LaTeX in case of an error. +# Possible values are: NO same as ERROR_STOP, YES same as BATCH, BATCH In batch +# mode nothing is printed on the terminal, errors are scrolled as if is +# hit at every error; missing files that TeX tries to input or request from +# keyboard input (\read on a not open input stream) cause the job to abort, +# NON_STOP In nonstop mode the diagnostic message will appear on the terminal, +# but there is no possibility of user interaction just like in batch mode, +# SCROLL In scroll mode, TeX will stop only for missing files to input or if +# keyboard input is necessary and ERROR_STOP In errorstop mode, TeX will stop at +# each error, asking for user intervention. # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_BATCHMODE = NO -# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the +# If the LATEX_HIDE_INDICES tag is set to YES then Doxygen will not include the # index chapters (such as File Index, Compound Index, etc.) in the output. # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_HIDE_INDICES = NO -# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source -# code with syntax highlighting in the LaTeX output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_SOURCE_CODE = NO - # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See # https://en.wikipedia.org/wiki/BibTeX and \cite for more info. -# The default value is: plain. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_BIB_STYLE = plain - -# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated -# page will contain the date and time when the page was generated. Setting this -# to NO can help when comparing the output of multiple runs. -# The default value is: NO. +# The default value is: plainnat. # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_TIMESTAMP = NO +LATEX_BIB_STYLE = plainnat # The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) # path from which the emoji images will be read. If a relative path is entered, @@ -1984,7 +2274,7 @@ LATEX_EMOJI_DIRECTORY = # Configuration options related to the RTF output #--------------------------------------------------------------------------- -# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The +# If the GENERATE_RTF tag is set to YES, Doxygen will generate RTF output. The # RTF output is optimized for Word 97 and may not look too pretty with other RTF # readers/editors. # The default value is: NO. @@ -1999,7 +2289,7 @@ GENERATE_RTF = NO RTF_OUTPUT = rtf -# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF +# If the COMPACT_RTF tag is set to YES, Doxygen generates more compact RTF # documents. This may be useful for small projects and may help to save some # trees in general. # The default value is: NO. @@ -2019,38 +2309,36 @@ COMPACT_RTF = NO RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's +# Load stylesheet definitions from file. Syntax is similar to Doxygen's # configuration file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. # # See also section "Doxygen usage" for information on how to generate the -# default style sheet that doxygen normally uses. +# default style sheet that Doxygen normally uses. # This tag requires that the tag GENERATE_RTF is set to YES. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an RTF document. Syntax is -# similar to doxygen's configuration file. A template extensions file can be +# similar to Doxygen's configuration file. A template extensions file can be # generated using doxygen -e rtf extensionFile. # This tag requires that the tag GENERATE_RTF is set to YES. RTF_EXTENSIONS_FILE = -# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code -# with syntax highlighting in the RTF output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. +# The RTF_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the RTF_OUTPUT output directory. +# Note that the files will be copied as-is; there are no commands or markers +# available. # This tag requires that the tag GENERATE_RTF is set to YES. -RTF_SOURCE_CODE = NO +RTF_EXTRA_FILES = #--------------------------------------------------------------------------- # Configuration options related to the man page output #--------------------------------------------------------------------------- -# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for +# If the GENERATE_MAN tag is set to YES, Doxygen will generate man pages for # classes and files. # The default value is: NO. @@ -2081,7 +2369,7 @@ MAN_EXTENSION = .3 MAN_SUBDIR = -# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, then it # will generate one additional man file for each entity documented in the real # man page(s). These additional files only source the real man page, but without # them the man command would be unable to find the correct page. @@ -2094,7 +2382,7 @@ MAN_LINKS = NO # Configuration options related to the XML output #--------------------------------------------------------------------------- -# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that +# If the GENERATE_XML tag is set to YES, Doxygen will generate an XML file that # captures the structure of the code including all documentation. # The default value is: NO. @@ -2108,7 +2396,7 @@ GENERATE_XML = NO XML_OUTPUT = xml -# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program +# If the XML_PROGRAMLISTING tag is set to YES, Doxygen will dump the program # listings (including syntax highlighting and cross-referencing information) to # the XML output. Note that enabling this will significantly increase the size # of the XML output. @@ -2117,7 +2405,7 @@ XML_OUTPUT = xml XML_PROGRAMLISTING = YES -# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include +# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, Doxygen will include # namespace members in file scope as well, matching the HTML output. # The default value is: NO. # This tag requires that the tag GENERATE_XML is set to YES. @@ -2128,7 +2416,7 @@ XML_NS_MEMB_FILE_SCOPE = NO # Configuration options related to the DOCBOOK output #--------------------------------------------------------------------------- -# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files +# If the GENERATE_DOCBOOK tag is set to YES, Doxygen will generate Docbook files # that can be used to generate PDF. # The default value is: NO. @@ -2142,21 +2430,12 @@ GENERATE_DOCBOOK = NO DOCBOOK_OUTPUT = docbook -# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the -# program listings (including syntax highlighting and cross-referencing -# information) to the DOCBOOK output. Note that enabling this will significantly -# increase the size of the DOCBOOK output. -# The default value is: NO. -# This tag requires that the tag GENERATE_DOCBOOK is set to YES. - -DOCBOOK_PROGRAMLISTING = NO - #--------------------------------------------------------------------------- # Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- -# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an -# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures +# If the GENERATE_AUTOGEN_DEF tag is set to YES, Doxygen will generate an +# AutoGen Definitions (see https://autogen.sourceforge.net/) file that captures # the structure of the code including all documentation. Note that this feature # is still experimental and incomplete at the moment. # The default value is: NO. @@ -2167,11 +2446,33 @@ GENERATE_AUTOGEN_DEF = NO # Configuration options related to Sqlite3 output #--------------------------------------------------------------------------- +# If the GENERATE_SQLITE3 tag is set to YES Doxygen will generate a Sqlite3 +# database with symbols found by Doxygen stored in tables. +# The default value is: NO. + +GENERATE_SQLITE3 = NO + +# The SQLITE3_OUTPUT tag is used to specify where the Sqlite3 database will be +# put. If a relative path is entered the value of OUTPUT_DIRECTORY will be put +# in front of it. +# The default directory is: sqlite3. +# This tag requires that the tag GENERATE_SQLITE3 is set to YES. + +SQLITE3_OUTPUT = sqlite3 + +# The SQLITE3_RECREATE_DB tag is set to YES, the existing doxygen_sqlite3.db +# database file will be recreated with each Doxygen run. If set to NO, Doxygen +# will warn if a database file is already found and not modify it. +# The default value is: YES. +# This tag requires that the tag GENERATE_SQLITE3 is set to YES. + +SQLITE3_RECREATE_DB = YES + #--------------------------------------------------------------------------- # Configuration options related to the Perl module output #--------------------------------------------------------------------------- -# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module +# If the GENERATE_PERLMOD tag is set to YES, Doxygen will generate a Perl module # file that captures the structure of the code including all documentation. # # Note that this feature is still experimental and incomplete at the moment. @@ -2179,7 +2480,7 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO -# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary +# If the PERLMOD_LATEX tag is set to YES, Doxygen will generate the necessary # Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI # output from the Perl module output. # The default value is: NO. @@ -2209,13 +2510,13 @@ PERLMOD_MAKEVAR_PREFIX = # Configuration options related to the preprocessor #--------------------------------------------------------------------------- -# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all +# If the ENABLE_PREPROCESSING tag is set to YES, Doxygen will evaluate all # C-preprocessor directives found in the sources and include files. # The default value is: YES. ENABLE_PREPROCESSING = YES -# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names +# If the MACRO_EXPANSION tag is set to YES, Doxygen will expand all macro names # in the source code. If set to NO, only conditional compilation will be # performed. Macro expansion can be done in a controlled way by setting # EXPAND_ONLY_PREDEF to YES. @@ -2241,7 +2542,8 @@ SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by the -# preprocessor. +# preprocessor. Note that the INCLUDE_PATH is not recursive, so the setting of +# RECURSIVE has no effect here. # This tag requires that the tag SEARCH_INCLUDES is set to YES. INCLUDE_PATH = @@ -2273,7 +2575,7 @@ PREDEFINED = EXPAND_AS_DEFINED = -# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will +# If the SKIP_FUNCTION_MACROS tag is set to YES then Doxygen's preprocessor will # remove all references to function-like macros that are alone on a line, have # an all uppercase name, and do not end with a semicolon. Such function macros # are typically used for boiler-plate code, and will confuse the parser if not @@ -2297,26 +2599,26 @@ SKIP_FUNCTION_MACROS = YES # section "Linking to external documentation" for more information about the use # of tag files. # Note: Each tag file must have a unique name (where the name does NOT include -# the path). If a tag file is not located in the directory in which doxygen is +# the path). If a tag file is not located in the directory in which Doxygen is # run, you must also specify the path to the tagfile here. TAGFILES = -# When a file name is specified after GENERATE_TAGFILE, doxygen will create a +# When a file name is specified after GENERATE_TAGFILE, Doxygen will create a # tag file that is based on the input files it reads. See section "Linking to # external documentation" for more information about the usage of tag files. GENERATE_TAGFILE = -# If the ALLEXTERNALS tag is set to YES, all external class will be listed in -# the class index. If set to NO, only the inherited external classes will be -# listed. +# If the ALLEXTERNALS tag is set to YES, all external classes and namespaces +# will be listed in the class and namespace index. If set to NO, only the +# inherited external classes will be listed. # The default value is: NO. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will be +# in the topic index. If set to NO, only the current project's groups will be # listed. # The default value is: YES. @@ -2330,99 +2632,111 @@ EXTERNAL_GROUPS = YES EXTERNAL_PAGES = YES #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to diagram generator tools #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram -# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to -# NO turns the diagrams off. Note that this option also works with HAVE_DOT -# disabled, but it is recommended to install and use dot, since it yields more -# powerful graphs. -# The default value is: YES. - -CLASS_DIAGRAMS = YES - -# You can include diagrams made with dia in doxygen documentation. Doxygen will -# then run dia to produce the diagram and insert it in the documentation. The -# DIA_PATH tag allows you to specify the directory where the dia binary resides. -# If left empty dia is assumed to be found in the default search path. - -DIA_PATH = - # If set to YES the inheritance and collaboration graphs will hide inheritance # and usage relations if the target is undocumented or is not a class. # The default value is: YES. HIDE_UNDOC_RELATIONS = YES -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# If you set the HAVE_DOT tag to YES then Doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz (see: -# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent +# https://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent # Bell Labs. The other options in this section have no effect if this option is # set to NO # The default value is: NO. -HAVE_DOT = NO +HAVE_DOT = YES -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed -# to run in parallel. When set to 0 doxygen will base this on the number of +# The DOT_NUM_THREADS specifies the number of dot invocations Doxygen is allowed +# to run in parallel. When set to 0 Doxygen will base this on the number of # processors available in the system. You can set it explicitly to a value # larger than 0 to get control over the balance between CPU load and processing # speed. -# Minimum value: 0, maximum value: 32, default value: 0. +# Minimum value: 0, maximum value: 512, default value: 0. # This tag requires that the tag HAVE_DOT is set to YES. DOT_NUM_THREADS = 0 -# When you want a differently looking font in the dot files that doxygen -# generates you can specify the font name using DOT_FONTNAME. You need to make -# sure dot is able to find the font, which can be done by putting it in a -# standard location or by setting the DOTFONTPATH environment variable or by -# setting DOT_FONTPATH to the directory containing the font. -# The default value is: Helvetica. +# DOT_COMMON_ATTR is common attributes for nodes, edges and labels of +# subgraphs. When you want a differently looking font in the dot files that +# Doxygen generates you can specify fontname, fontcolor and fontsize attributes. +# For details please see Node, +# Edge and Graph Attributes specification You need to make sure dot is able +# to find the font, which can be done by putting it in a standard location or by +# setting the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. Default graphviz fontsize is 14. +# The default value is: fontname=Helvetica,fontsize=10. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10" + +# DOT_EDGE_ATTR is concatenated with DOT_COMMON_ATTR. For elegant style you can +# add 'arrowhead=open, arrowtail=open, arrowsize=0.5'. Complete documentation about +# arrows shapes. +# The default value is: labelfontname=Helvetica,labelfontsize=10. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTNAME = Helvetica +DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10" -# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of -# dot graphs. -# Minimum value: 4, maximum value: 24, default value: 10. +# DOT_NODE_ATTR is concatenated with DOT_COMMON_ATTR. For view without boxes +# around nodes set 'shape=plain' or 'shape=plaintext' Shapes specification +# The default value is: shape=box,height=0.2,width=0.4. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTSIZE = 10 +DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4" -# By default doxygen will tell dot to use the default font as specified with -# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set -# the path where dot can find it using this tag. +# You can set the path where dot can find font specified with fontname in +# DOT_COMMON_ATTR and others dot attributes. # This tag requires that the tag HAVE_DOT is set to YES. DOT_FONTPATH = -# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for -# each documented class showing the direct and indirect inheritance relations. -# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO. +# If the CLASS_GRAPH tag is set to YES or GRAPH or BUILTIN then Doxygen will +# generate a graph for each documented class showing the direct and indirect +# inheritance relations. In case the CLASS_GRAPH tag is set to YES or GRAPH and +# HAVE_DOT is enabled as well, then dot will be used to draw the graph. In case +# the CLASS_GRAPH tag is set to YES and HAVE_DOT is disabled or if the +# CLASS_GRAPH tag is set to BUILTIN, then the built-in generator will be used. +# If the CLASS_GRAPH tag is set to TEXT the direct and indirect inheritance +# relations will be shown as texts / links. Explicit enabling an inheritance +# graph or choosing a different representation for an inheritance graph of a +# specific class, can be accomplished by means of the command \inheritancegraph. +# Disabling an inheritance graph can be accomplished by means of the command +# \hideinheritancegraph. +# Possible values are: NO, YES, TEXT, GRAPH and BUILTIN. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. CLASS_GRAPH = YES -# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a +# If the COLLABORATION_GRAPH tag is set to YES then Doxygen will generate a # graph for each documented class showing the direct and indirect implementation # dependencies (inheritance, containment, and class references variables) of the -# class with other documented classes. +# class with other documented classes. Explicit enabling a collaboration graph, +# when COLLABORATION_GRAPH is set to NO, can be accomplished by means of the +# command \collaborationgraph. Disabling a collaboration graph can be +# accomplished by means of the command \hidecollaborationgraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. COLLABORATION_GRAPH = YES -# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for -# groups, showing the direct groups dependencies. +# If the GROUP_GRAPHS tag is set to YES then Doxygen will generate a graph for +# groups, showing the direct groups dependencies. Explicit enabling a group +# dependency graph, when GROUP_GRAPHS is set to NO, can be accomplished by means +# of the command \groupgraph. Disabling a directory graph can be accomplished by +# means of the command \hidegroupgraph. See also the chapter Grouping in the +# manual. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. GROUP_GRAPHS = YES -# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and +# If the UML_LOOK tag is set to YES, Doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. # The default value is: NO. @@ -2443,10 +2757,19 @@ UML_LOOK = NO UML_LIMIT_NUM_FIELDS = 10 -# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and +# If the UML_LOOK tag is enabled, field labels are shown along the edge between +# two class nodes. If there are many fields and many nodes the graph may become +# too cluttered. The UML_MAX_EDGE_LABELS threshold limits the number of items to +# make the size more manageable. Set this to 0 for no limit. +# Minimum value: 0, maximum value: 100, default value: 10. +# This tag requires that the tag UML_LOOK is set to YES. + +UML_MAX_EDGE_LABELS = 10 + +# If the DOT_UML_DETAILS tag is set to NO, Doxygen will show attributes and # methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS -# tag is set to YES, doxygen will add type and arguments for attributes and -# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen +# tag is set to YES, Doxygen will add type and arguments for attributes and +# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, Doxygen # will not generate fields with class member information in the UML graphs. The # class diagrams will look similar to the default class diagrams but using UML # notation for the relationships. @@ -2458,8 +2781,8 @@ DOT_UML_DETAILS = NO # The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters # to display on a single line. If the actual line length exceeds this threshold -# significantly it will wrapped across multiple lines. Some heuristics are apply -# to avoid ugly line breaks. +# significantly it will be wrapped across multiple lines. Some heuristics are +# applied to avoid ugly line breaks. # Minimum value: 0, maximum value: 1000, default value: 17. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2474,24 +2797,29 @@ DOT_WRAP_THRESHOLD = 17 TEMPLATE_RELATIONS = NO # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to -# YES then doxygen will generate a graph for each documented file showing the +# YES then Doxygen will generate a graph for each documented file showing the # direct and indirect include dependencies of the file with other documented -# files. +# files. Explicit enabling an include graph, when INCLUDE_GRAPH is is set to NO, +# can be accomplished by means of the command \includegraph. Disabling an +# include graph can be accomplished by means of the command \hideincludegraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. INCLUDE_GRAPH = YES # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are -# set to YES then doxygen will generate a graph for each documented file showing +# set to YES then Doxygen will generate a graph for each documented file showing # the direct and indirect include dependencies of the file with other documented -# files. +# files. Explicit enabling an included by graph, when INCLUDED_BY_GRAPH is set +# to NO, can be accomplished by means of the command \includedbygraph. Disabling +# an included by graph can be accomplished by means of the command +# \hideincludedbygraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. INCLUDED_BY_GRAPH = YES -# If the CALL_GRAPH tag is set to YES then doxygen will generate a call +# If the CALL_GRAPH tag is set to YES then Doxygen will generate a call # dependency graph for every global function or class method. # # Note that enabling this option will significantly increase the time of a run. @@ -2501,9 +2829,9 @@ INCLUDED_BY_GRAPH = YES # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. -CALL_GRAPH = NO +CALL_GRAPH = YES -# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller +# If the CALLER_GRAPH tag is set to YES then Doxygen will generate a caller # dependency graph for every global function or class method. # # Note that enabling this option will significantly increase the time of a run. @@ -2515,44 +2843,59 @@ CALL_GRAPH = NO CALLER_GRAPH = NO -# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical +# If the GRAPHICAL_HIERARCHY tag is set to YES then Doxygen will graphical # hierarchy of all classes instead of a textual one. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. GRAPHICAL_HIERARCHY = YES -# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the +# If the DIRECTORY_GRAPH tag is set to YES then Doxygen will show the # dependencies a directory has on other directories in a graphical way. The # dependency relations are determined by the #include relations between the -# files in the directories. +# files in the directories. Explicit enabling a directory graph, when +# DIRECTORY_GRAPH is set to NO, can be accomplished by means of the command +# \directorygraph. Disabling a directory graph can be accomplished by means of +# the command \hidedirectorygraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. DIRECTORY_GRAPH = YES +# The DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of levels +# of child directories generated in directory dependency graphs by dot. +# Minimum value: 1, maximum value: 25, default value: 1. +# This tag requires that the tag DIRECTORY_GRAPH is set to YES. + +DIR_GRAPH_MAX_DEPTH = 1 + # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. For an explanation of the image formats see the section # output formats in the documentation of the dot tool (Graphviz (see: -# http://www.graphviz.org/)). -# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order -# to make the SVG files visible in IE 9+ (other browsers do not have this -# requirement). +# https://www.graphviz.org/)). +# +# Note the formats svg:cairo and svg:cairo:cairo cannot be used in combination +# with INTERACTIVE_SVG (the INTERACTIVE_SVG will be set to NO). # Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo, -# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and -# png:gdiplus:gdiplus. +# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus, +# png:gdiplus:gdiplus, svg:cairo, svg:cairo:cairo, svg:svg, svg:svg:core, +# gif:cairo, gif:cairo:gd, gif:cairo:gdiplus, gif:gdiplus, gif:gdiplus:gdiplus, +# gif:gd, gif:gd:gd, jpg:cairo, jpg:cairo:gd, jpg:cairo:gdiplus, jpg:gd, +# jpg:gd:gd, jpg:gdiplus and jpg:gdiplus:gdiplus. # The default value is: png. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_IMAGE_FORMAT = png +DOT_IMAGE_FORMAT = svg -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. +# If DOT_IMAGE_FORMAT is set to svg or svg:svg or svg:svg:core, then this option +# can be set to YES to enable generation of interactive SVG images that allow +# zooming and panning. # # Note that this requires a modern browser other than Internet Explorer. Tested # and working are Firefox, Chrome, Safari, and Opera. -# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make -# the SVG files visible. Older versions of IE do not have SVG support. +# +# Note This option will be automatically disabled when DOT_IMAGE_FORMAT is set +# to svg:cairo or svg:cairo:cairo. # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2571,11 +2914,12 @@ DOT_PATH = DOTFILE_DIRS = -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the \mscfile -# command). +# You can include diagrams made with dia in Doxygen documentation. Doxygen will +# then run dia to produce the diagram and insert it in the documentation. The +# DIA_PATH tag allows you to specify the directory where the dia binary resides. +# If left empty dia is assumed to be found in the default search path. -MSCFILE_DIRS = +DIA_PATH = # The DIAFILE_DIRS tag can be used to specify one or more directories that # contain dia files that are included in the documentation (see the \diafile @@ -2583,35 +2927,41 @@ MSCFILE_DIRS = DIAFILE_DIRS = -# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the -# path where java can find the plantuml.jar file. If left blank, it is assumed -# PlantUML is not used or called during a preprocessing step. Doxygen will -# generate a warning when it encounters a \startuml command in this case and -# will not generate output for the diagram. +# When using PlantUML, the PLANTUML_JAR_PATH tag should be used to specify the +# path where java can find the plantuml.jar file or to the filename of jar file +# to be used. If left blank, it is assumed PlantUML is not used or called during +# a preprocessing step. Doxygen will generate a warning when it encounters a +# \startuml command in this case and will not generate output for the diagram. PLANTUML_JAR_PATH = -# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a -# configuration file for plantuml. +# When using PlantUML, the PLANTUML_CFG_FILE tag can be used to specify a +# configuration file for PlantUML. PLANTUML_CFG_FILE = -# When using plantuml, the specified paths are searched for files specified by -# the !include statement in a plantuml block. +# When using PlantUML, the specified paths are searched for files specified by +# the !include statement in a PlantUML block. PLANTUML_INCLUDE_PATH = +# The PLANTUMLFILE_DIRS tag can be used to specify one or more directories that +# contain PlantUml files that are included in the documentation (see the +# \plantumlfile command). + +PLANTUMLFILE_DIRS = + # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes # that will be shown in the graph. If the number of nodes in a graph becomes -# larger than this value, doxygen will truncate the graph, which is visualized -# by representing a node as a red box. Note that doxygen if the number of direct +# larger than this value, Doxygen will truncate the graph, which is visualized +# by representing a node as a red box. Note that if the number of direct # children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that # the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. # Minimum value: 0, maximum value: 10000, default value: 50. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_GRAPH_MAX_NODES = 50 +DOT_GRAPH_MAX_NODES = 10000 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs # generated by dot. A depth value of 3 means that only nodes reachable from the @@ -2625,18 +2975,6 @@ DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 0 -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not seem -# to support this out of the box. -# -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). -# The default value is: NO. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_TRANSPARENT = NO - # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) support @@ -2646,19 +2984,37 @@ DOT_TRANSPARENT = NO DOT_MULTI_TARGETS = NO -# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page +# If the GENERATE_LEGEND tag is set to YES Doxygen will generate a legend page # explaining the meaning of the various boxes and arrows in the dot generated # graphs. +# Note: This tag requires that UML_LOOK isn't set, i.e. the Doxygen internal +# graphical representation for inheritance and collaboration diagrams is used. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. GENERATE_LEGEND = YES -# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate +# If the DOT_CLEANUP tag is set to YES, Doxygen will remove the intermediate # files that are used to generate the various graphs. # -# Note: This setting is not only used for dot files but also for msc and -# plantuml temporary files. +# Note: This setting is not only used for dot files but also for msc temporary +# files. # The default value is: YES. DOT_CLEANUP = YES + +# You can define message sequence charts within Doxygen comments using the \msc +# command. If the MSCGEN_TOOL tag is left empty (the default), then Doxygen will +# use a built-in version of mscgen tool to produce the charts. Alternatively, +# the MSCGEN_TOOL tag can also specify the name an external tool. For instance, +# specifying prog as the value, Doxygen will call the tool as prog -T +# -o . The external tool should support +# output file formats "png", "eps", "svg", and "ismap". + +MSCGEN_TOOL = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the \mscfile +# command). + +MSCFILE_DIRS = diff --git a/README.md b/README.md index bb42e20..34327a6 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ BMP384 has a gel-filled cavity that allows higher robustness against water, liquids and other chemicals if the applicable integration concept is used. The BMP384 is perfectly suitable for applications of water-level and clog detection. It is compatible for use with other Bosch Sensortec sensors, including the BMI088 for better performance, robustness and stability. The BMP384 with its small footprint offers outstanding design flexibility, providing a single package solution that is easy to integrate into other existing and upcoming devices for smart homes, industrial products and wearables. -LibDriver BMP384 is a full-featured driver of BMP384 launched by LibDriver.It provides continuous reading of pressure and temperature, single reading of pressure and temperature, interrupt reading, FIFO acquisition and other functions. LibDriver is MISRA compliant. +LibDriver BMP384 is a full-featured driver for BMP384, launched by LibDriver.It provides continuous reading, single reading, interrupt reading, FIFO acquisition and additional features. LibDriver is MISRA compliant. ### Table of Contents diff --git a/doc/html/annotated.html b/doc/html/annotated.html index 8fa1e3d..2a9d3bf 100644 --- a/doc/html/annotated.html +++ b/doc/html/annotated.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: Data Structures + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Data Structures
+
Data Structures
Here are the data structures with brief descriptions:
- +
 Cbmp384_frame_sBmp384 frame structure definition
 Cbmp384_handle_sBmp384 handle structure definition
 Cbmp384_handle_sBmp384 handle structure definition
 Cbmp384_info_sBmp384 information structure definition
+
diff --git a/doc/html/bc_s.png b/doc/html/bc_s.png deleted file mode 100644 index 224b29aa9847d5a4b3902efd602b7ddf7d33e6c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT diff --git a/doc/html/bdwn.png b/doc/html/bdwn.png deleted file mode 100644 index 940a0b950443a0bb1b216ac03c45b8a16c955452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T - + - - + + LibDriver BMP384: Data Structure Index + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Data Structure Index
+
Data Structure Index
+
diff --git a/doc/html/clipboard.js b/doc/html/clipboard.js new file mode 100644 index 0000000..9da9f3c --- /dev/null +++ b/doc/html/clipboard.js @@ -0,0 +1,61 @@ +/** + +The code below is based on the Doxygen Awesome project, see +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 - 2022 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +let clipboard_title = "Copy to clipboard" +let clipboard_icon = `` +let clipboard_successIcon = `` +let clipboard_successDuration = 1000 + +$(function() { + if(navigator.clipboard) { + const fragments = document.getElementsByClassName("fragment") + for(const fragment of fragments) { + const clipboard_div = document.createElement("div") + clipboard_div.classList.add("clipboard") + clipboard_div.innerHTML = clipboard_icon + clipboard_div.title = clipboard_title + $(clipboard_div).click(function() { + const content = this.parentNode.cloneNode(true) + // filter out line number and folded fragments from file listings + content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() }) + let text = content.textContent + // remove trailing newlines and trailing spaces from empty lines + text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'') + navigator.clipboard.writeText(text); + this.classList.add("success") + this.innerHTML = clipboard_successIcon + window.setTimeout(() => { // switch back to normal icon after timeout + this.classList.remove("success") + this.innerHTML = clipboard_icon + }, clipboard_successDuration); + }) + fragment.insertBefore(clipboard_div, fragment.firstChild) + } + } +}) diff --git a/doc/html/closed.png b/doc/html/closed.png deleted file mode 100644 index 98cc2c909da37a6df914fbf67780eebd99c597f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT diff --git a/doc/html/cookie.js b/doc/html/cookie.js new file mode 100644 index 0000000..53ad21d --- /dev/null +++ b/doc/html/cookie.js @@ -0,0 +1,58 @@ +/*! + Cookie helper functions + Copyright (c) 2023 Dimitri van Heesch + Released under MIT license. +*/ +let Cookie = { + cookie_namespace: 'doxygen_', + + readSetting(cookie,defVal) { + if (window.chrome) { + const val = localStorage.getItem(this.cookie_namespace+cookie) || + sessionStorage.getItem(this.cookie_namespace+cookie); + if (val) return val; + } else { + let myCookie = this.cookie_namespace+cookie+"="; + if (document.cookie) { + const index = document.cookie.indexOf(myCookie); + if (index != -1) { + const valStart = index + myCookie.length; + let valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + return document.cookie.substring(valStart, valEnd); + } + } + } + return defVal; + }, + + writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete + if (window.chrome) { + if (days==0) { + sessionStorage.setItem(this.cookie_namespace+cookie,val); + } else { + localStorage.setItem(this.cookie_namespace+cookie,val); + } + } else { + let date = new Date(); + date.setTime(date.getTime()+(days*24*60*60*1000)); + const expiration = days!=0 ? "expires="+date.toGMTString()+";" : ""; + document.cookie = this.cookie_namespace + cookie + "=" + + val + "; SameSite=Lax;" + expiration + "path=/"; + } + }, + + eraseSetting(cookie) { + if (window.chrome) { + if (localStorage.getItem(this.cookie_namespace+cookie)) { + localStorage.removeItem(this.cookie_namespace+cookie); + } else if (sessionStorage.getItem(this.cookie_namespace+cookie)) { + sessionStorage.removeItem(this.cookie_namespace+cookie); + } + } else { + this.writeSetting(cookie,'',-1); + } + }, +} diff --git a/doc/html/darkmode_toggle.js b/doc/html/darkmode_toggle.js new file mode 100644 index 0000000..9c1ca07 --- /dev/null +++ b/doc/html/darkmode_toggle.js @@ -0,0 +1,228 @@ +/** + +The code below is based on the Doxygen Awesome project with some minor modifications +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 - 2022 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +class DarkModeToggle extends HTMLElement { + + static darkmode_cookie_name = ''+'prefers-dark'; + static lightmode_cookie_name = ''+'prefers-light'; + + static icon = ''; + static title = "Toggle Light/Dark Mode" + + static prefersLightModeInDarkModeKey = "prefers-light-mode-in-dark-mode" + static prefersDarkModeInLightModeKey = "prefers-dark-mode-in-light-mode" + + static _staticConstructor = function() { + DarkModeToggle.enableDarkMode(DarkModeToggle.userPreference) + // Update the color scheme when the browsers preference changes + // without user interaction on the website. + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { + DarkModeToggle.onSystemPreferenceChanged() + }) + // Update the color scheme when the tab is made visible again. + // It is possible that the appearance was changed in another tab + // while this tab was in the background. + document.addEventListener("visibilitychange", visibilityState => { + if (document.visibilityState === 'visible') { + DarkModeToggle.onSystemPreferenceChanged() + } + }); + }() + + static init() { + $(function() { + $(document).ready(function() { + const toggleButton = document.createElement('dark-mode-toggle') + toggleButton.title = DarkModeToggle.title + toggleButton.innerHTML = DarkModeToggle.icon + toggleButton.tabIndex = 0; + + function addButton() { + const titleArea = document.getElementById("titlearea"); + const searchBox = document.getElementById("MSearchBox"); + const mainMenu = document.getElementById("main-menu"); + const navRow1 = document.getElementById("navrow1"); + let mainMenuVisible = false; + if (mainMenu) { + const menuStyle = window.getComputedStyle(mainMenu); + mainMenuVisible = menuStyle.display!=='none' + } + const searchBoxPos1 = document.getElementById("searchBoxPos1"); + const buttonLi = document.getElementById('toggle-dark-mode'); + if (buttonLi) { + buttonLi.parentNode.removeChild(buttonLi); + } + if (searchBox) { // (1) search box visible + searchBox.parentNode.appendChild(toggleButton) + } else if (navRow1) { // (2) no search box, static menu bar + const li = document.createElement('li'); + li.id = 'toggle-dark-mode'; + li.style = 'float: right;' + li.appendChild(toggleButton); + toggleButton.style = 'width: 24px; height: 25px; padding-top: 11px; float: right;'; + const row = document.querySelector('#navrow1 > ul:first-of-type'); + row.appendChild(li) + } else if (mainMenu && mainMenuVisible) { // (3) no search box + dynamic menu bar expanded + const li = document.createElement('li'); + li.id = 'toggle-dark-mode'; + li.style = 'float: right;' + li.appendChild(toggleButton); + toggleButton.style = 'width: 14px; height: 36px; padding-top: 10px; float: right;'; + mainMenu.appendChild(li) + } else if (searchBoxPos1) { // (4) no search box + dynamic menu bar collapsed + toggleButton.style = 'width: 24px; height: 36px; padding-top: 10px; float: right;'; + searchBoxPos1.style = 'top: 0px;' + searchBoxPos1.appendChild(toggleButton); + } else if (titleArea) { // (5) no search box and no navigation tabs + toggleButton.style = 'width: 24px; height: 24px; position: absolute; right: 0px; top: 34px;'; + titleArea.append(toggleButton); + } + } + + $(document).ready(() => addButton()); + $(window).resize(() => addButton()); + let inFocus = false; + $(document).focusin(() => inFocus = true); + $(document).focusout(() => inFocus = false); + $(document).keyup(function(e) { + if (e.keyCode==27 && !inFocus) { // escape key maps to keycode `27` + e.stopPropagation(); + DarkModeToggle.userPreference = !DarkModeToggle.userPreference + } + }) + DarkModeToggle.setDarkModeVisibility(DarkModeToggle.darkModeEnabled) + }) + }) + } + + constructor() { + super(); + this.onclick=this.toggleDarkMode + this.onkeypress=function(e){if (e.keyCode==13) { this.toggleDarkMode(); }}; + } + + /** + * @returns `true` for dark-mode, `false` for light-mode system preference + */ + static get systemPreference() { + return window.matchMedia('(prefers-color-scheme: dark)').matches + } + + static get prefersDarkModeInLightMode() { + return Cookie.readSetting(DarkModeToggle.darkmode_cookie_name,'0')=='1'; + } + + static set prefersDarkModeInLightMode(preference) { + if (preference) { + Cookie.writeSetting(DarkModeToggle.darkmode_cookie_name,'1'); + } else { + Cookie.eraseSetting(DarkModeToggle.darkmode_cookie_name); + } + } + + static get prefersLightModeInDarkMode() { + return Cookie.readSetting(DarkModeToggle.lightmode_cookie_name,'0')=='1' + } + + static set prefersLightModeInDarkMode(preference) { + if (preference) { + Cookie.writeSetting(DarkModeToggle.lightmode_cookie_name,'1'); + } else { + Cookie.eraseSetting(DarkModeToggle.lightmode_cookie_name); + } + } + + /** + * @returns `true` for dark-mode, `false` for light-mode user preference + */ + static get userPreference() { + return (!DarkModeToggle.systemPreference && DarkModeToggle.prefersDarkModeInLightMode) || + (DarkModeToggle.systemPreference && !DarkModeToggle.prefersLightModeInDarkMode) + } + + static set userPreference(userPreference) { + DarkModeToggle.darkModeEnabled = userPreference + if (!userPreference) { + if (DarkModeToggle.systemPreference) { + DarkModeToggle.prefersLightModeInDarkMode = true + } else { + DarkModeToggle.prefersDarkModeInLightMode = false + } + } else { + if (!DarkModeToggle.systemPreference) { + DarkModeToggle.prefersDarkModeInLightMode = true + } else { + DarkModeToggle.prefersLightModeInDarkMode = false + } + } + DarkModeToggle.onUserPreferenceChanged() + } + + static setDarkModeVisibility(enable) { + let darkModeStyle, lightModeStyle; + if(enable) { + darkModeStyle = 'inline-block'; + lightModeStyle = 'none' + } else { + darkModeStyle = 'none'; + lightModeStyle = 'inline-block' + } + document.querySelectorAll('.dark-mode-visible' ).forEach(el => el.style.display = darkModeStyle); + document.querySelectorAll('.light-mode-visible').forEach(el => el.style.display = lightModeStyle); + } + static enableDarkMode(enable) { + if(enable) { + DarkModeToggle.darkModeEnabled = true + document.documentElement.classList.add("dark-mode") + document.documentElement.classList.remove("light-mode") + } else { + DarkModeToggle.darkModeEnabled = false + document.documentElement.classList.remove("dark-mode") + document.documentElement.classList.add("light-mode") + } + DarkModeToggle.setDarkModeVisibility(enable) + } + + static onSystemPreferenceChanged() { + DarkModeToggle.darkModeEnabled = DarkModeToggle.userPreference + DarkModeToggle.enableDarkMode(DarkModeToggle.darkModeEnabled) + } + + static onUserPreferenceChanged() { + DarkModeToggle.enableDarkMode(DarkModeToggle.darkModeEnabled) + } + + toggleDarkMode() { + DarkModeToggle.userPreference = !DarkModeToggle.userPreference + } +} + +customElements.define("dark-mode-toggle", DarkModeToggle); + +DarkModeToggle.init(); diff --git a/doc/html/dir_000001_000002.html b/doc/html/dir_000001_000002.html new file mode 100644 index 0000000..ec54152 --- /dev/null +++ b/doc/html/dir_000001_000002.html @@ -0,0 +1,112 @@ + + + + + + + +LibDriver BMP384: example -> interface Relation + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
LibDriver BMP384 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ + + + diff --git a/doc/html/dir_000002_000004.html b/doc/html/dir_000002_000004.html new file mode 100644 index 0000000..6b93b9f --- /dev/null +++ b/doc/html/dir_000002_000004.html @@ -0,0 +1,112 @@ + + + + + + + +LibDriver BMP384: interface -> src Relation + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
LibDriver BMP384 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+

interface → src Relation

File in interfaceIncludes file in src
driver_bmp384_interface.hdriver_bmp384.h
+
+ +
+ + + + diff --git a/doc/html/dir_000005_000002.html b/doc/html/dir_000005_000002.html new file mode 100644 index 0000000..8cef2df --- /dev/null +++ b/doc/html/dir_000005_000002.html @@ -0,0 +1,112 @@ + + + + + + + +LibDriver BMP384: test -> interface Relation + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
LibDriver BMP384 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ + +
+ + + + diff --git a/doc/html/dir_11ec664f88f5f079ad4de1adb8458c37.html b/doc/html/dir_11ec664f88f5f079ad4de1adb8458c37.html index 5326527..5ec0b97 100644 --- a/doc/html/dir_11ec664f88f5f079ad4de1adb8458c37.html +++ b/doc/html/dir_11ec664f88f5f079ad4de1adb8458c37.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: doc/mainpage Directory Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
mainpage Directory Reference
+
mainpage Directory Reference
+
+Directory dependency graph for mainpage:
+
+
+
- - - +

+

Files

file  mainpage.h [code]
 
 
mainpage.h
+ +
diff --git a/doc/html/dir_11ec664f88f5f079ad4de1adb8458c37_dep.md5 b/doc/html/dir_11ec664f88f5f079ad4de1adb8458c37_dep.md5 new file mode 100644 index 0000000..6fdb029 --- /dev/null +++ b/doc/html/dir_11ec664f88f5f079ad4de1adb8458c37_dep.md5 @@ -0,0 +1 @@ +9a2e53198467ff596c9c299cce3cdb89 \ No newline at end of file diff --git a/doc/html/dir_11ec664f88f5f079ad4de1adb8458c37_dep.svg b/doc/html/dir_11ec664f88f5f079ad4de1adb8458c37_dep.svg new file mode 100644 index 0000000..aec367e --- /dev/null +++ b/doc/html/dir_11ec664f88f5f079ad4de1adb8458c37_dep.svg @@ -0,0 +1,29 @@ + + + + + + +doc/mainpage + +clusterdir_e68e8157741866f444e17edd764ebbae + + +doc + + + + + +dir_11ec664f88f5f079ad4de1adb8458c37 + + +mainpage + + + + + diff --git a/doc/html/dir_13e138d54eb8818da29c3992edef070a.html b/doc/html/dir_13e138d54eb8818da29c3992edef070a.html index b69b6f8..8e12648 100644 --- a/doc/html/dir_13e138d54eb8818da29c3992edef070a.html +++ b/doc/html/dir_13e138d54eb8818da29c3992edef070a.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test Directory Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
test Directory Reference
+
test Directory Reference
+
+Directory dependency graph for test:
+
+
+
- - + - - + - - - - + + - - + - - + - - + - - + -

+

Files

file  driver_bmp384_fifo_test.c [code]
 
driver_bmp384_fifo_test.c
 driver bmp384 fifo test source file
 
file  driver_bmp384_fifo_test.h [code]
 
driver_bmp384_fifo_test.h
 driver bmp384 fifo test header file
 
file  driver_bmp384_interrupt_test.c [code]
 
file  driver_bmp384_interrupt_test.h [code]
 
driver_bmp384_interrupt_test.c
 
driver_bmp384_interrupt_test.h
 driver bmp384 interrupt test header file
 
file  driver_bmp384_read_test.c [code]
 
driver_bmp384_read_test.c
 driver bmp384 read test source file
 
file  driver_bmp384_read_test.h [code]
 
driver_bmp384_read_test.h
 driver bmp384 read test header file
 
file  driver_bmp384_register_test.c [code]
 
driver_bmp384_register_test.c
 driver bmp384 register test source file
 
file  driver_bmp384_register_test.h [code]
 
driver_bmp384_register_test.h
 driver bmp384 register test header file
 
+ +
diff --git a/doc/html/dir_13e138d54eb8818da29c3992edef070a_dep.md5 b/doc/html/dir_13e138d54eb8818da29c3992edef070a_dep.md5 new file mode 100644 index 0000000..7fbf6e9 --- /dev/null +++ b/doc/html/dir_13e138d54eb8818da29c3992edef070a_dep.md5 @@ -0,0 +1 @@ +5098d6f7c7b39f9e72f7b78557e27a3e \ No newline at end of file diff --git a/doc/html/dir_13e138d54eb8818da29c3992edef070a_dep.svg b/doc/html/dir_13e138d54eb8818da29c3992edef070a_dep.svg new file mode 100644 index 0000000..a11bcef --- /dev/null +++ b/doc/html/dir_13e138d54eb8818da29c3992edef070a_dep.svg @@ -0,0 +1,43 @@ + + + + + + +test + + +dir_13e138d54eb8818da29c3992edef070a + + +test + + + + + +dir_b31d54d5631803016a26f28213a41162 + + +interface + + + + + +dir_13e138d54eb8818da29c3992edef070a->dir_b31d54d5631803016a26f28213a41162 + + + + + + +4 + + + + + diff --git a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index bebe544..ec5580f 100644 --- a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: src Directory Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
src Directory Reference
+
src Directory Reference
- - + - - + -

+

Files

file  driver_bmp384.c [code]
 
driver_bmp384.c
 driver bmp384 source file
 
file  driver_bmp384.h [code]
 
driver_bmp384.h
 driver bmp384 header file
 
+ +
diff --git a/doc/html/dir_b31d54d5631803016a26f28213a41162.html b/doc/html/dir_b31d54d5631803016a26f28213a41162.html index 48f5610..d5144db 100644 --- a/doc/html/dir_b31d54d5631803016a26f28213a41162.html +++ b/doc/html/dir_b31d54d5631803016a26f28213a41162.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: interface Directory Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
interface Directory Reference
+
interface Directory Reference
+
+Directory dependency graph for interface:
+
+
+
- - + - - + -

+

Files

file  driver_bmp384_interface.h [code]
 
driver_bmp384_interface.h
 driver bmp384 interface header file
 
file  driver_bmp384_interface_template.c [code]
 
driver_bmp384_interface_template.c
 driver bmp384 interface template source file
 
+ +
diff --git a/doc/html/dir_b31d54d5631803016a26f28213a41162_dep.md5 b/doc/html/dir_b31d54d5631803016a26f28213a41162_dep.md5 new file mode 100644 index 0000000..0691cd6 --- /dev/null +++ b/doc/html/dir_b31d54d5631803016a26f28213a41162_dep.md5 @@ -0,0 +1 @@ +aafca4c50518e27727ecb11e3972f370 \ No newline at end of file diff --git a/doc/html/dir_b31d54d5631803016a26f28213a41162_dep.svg b/doc/html/dir_b31d54d5631803016a26f28213a41162_dep.svg new file mode 100644 index 0000000..b8eee62 --- /dev/null +++ b/doc/html/dir_b31d54d5631803016a26f28213a41162_dep.svg @@ -0,0 +1,43 @@ + + + + + + +interface + + +dir_b31d54d5631803016a26f28213a41162 + + +interface + + + + + +dir_68267d1309a1af8e8297ef4c3efbcdba + + +src + + + + + +dir_b31d54d5631803016a26f28213a41162->dir_68267d1309a1af8e8297ef4c3efbcdba + + + + + + +1 + + + + + diff --git a/doc/html/dir_cfafba98a580ce4b62f8a6fa96d7cbb0.html b/doc/html/dir_cfafba98a580ce4b62f8a6fa96d7cbb0.html index 3a8c15a..2a0d225 100644 --- a/doc/html/dir_cfafba98a580ce4b62f8a6fa96d7cbb0.html +++ b/doc/html/dir_cfafba98a580ce4b62f8a6fa96d7cbb0.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example Directory Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
example Directory Reference
+
example Directory Reference
+
+Directory dependency graph for example:
+
+
+
- - + - - + - - + - - + - - + - - + - - + - - + -

+

Files

file  driver_bmp384_basic.c [code]
 
driver_bmp384_basic.c
 driver bmp384 basic source file
 
file  driver_bmp384_basic.h [code]
 
driver_bmp384_basic.h
 driver bmp384 basic header file
 
file  driver_bmp384_fifo.c [code]
 
driver_bmp384_fifo.c
 driver bmp384 fifo source file
 
file  driver_bmp384_fifo.h [code]
 
driver_bmp384_fifo.h
 driver bmp384 fifo header file
 
file  driver_bmp384_interrupt.c [code]
 
driver_bmp384_interrupt.c
 driver bmp384 interrupt source file
 
file  driver_bmp384_interrupt.h [code]
 
driver_bmp384_interrupt.h
 driver bmp384 interrupt header file
 
file  driver_bmp384_shot.c [code]
 
driver_bmp384_shot.c
 driver bmp384 shot source file
 
file  driver_bmp384_shot.h [code]
 
driver_bmp384_shot.h
 driver bmp384 shot header file
 
+ +
diff --git a/doc/html/dir_cfafba98a580ce4b62f8a6fa96d7cbb0_dep.md5 b/doc/html/dir_cfafba98a580ce4b62f8a6fa96d7cbb0_dep.md5 new file mode 100644 index 0000000..51e5d4c --- /dev/null +++ b/doc/html/dir_cfafba98a580ce4b62f8a6fa96d7cbb0_dep.md5 @@ -0,0 +1 @@ +fe9591bb679e49e2adb3e15cf88bb486 \ No newline at end of file diff --git a/doc/html/dir_cfafba98a580ce4b62f8a6fa96d7cbb0_dep.svg b/doc/html/dir_cfafba98a580ce4b62f8a6fa96d7cbb0_dep.svg new file mode 100644 index 0000000..c0afe36 --- /dev/null +++ b/doc/html/dir_cfafba98a580ce4b62f8a6fa96d7cbb0_dep.svg @@ -0,0 +1,43 @@ + + + + + + +example + + +dir_cfafba98a580ce4b62f8a6fa96d7cbb0 + + +example + + + + + +dir_b31d54d5631803016a26f28213a41162 + + +interface + + + + + +dir_cfafba98a580ce4b62f8a6fa96d7cbb0->dir_b31d54d5631803016a26f28213a41162 + + + + + + +4 + + + + + diff --git a/doc/html/dir_e68e8157741866f444e17edd764ebbae.html b/doc/html/dir_e68e8157741866f444e17edd764ebbae.html index 6cb18b6..5e54beb 100644 --- a/doc/html/dir_e68e8157741866f444e17edd764ebbae.html +++ b/doc/html/dir_e68e8157741866f444e17edd764ebbae.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: doc Directory Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
doc Directory Reference
+
doc Directory Reference
- - - +

+

Directories

directory  mainpage
 
 
mainpage
+ +
diff --git a/doc/html/doc.png b/doc/html/doc.png deleted file mode 100644 index 17edabff95f7b8da13c9516a04efe05493c29501..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t diff --git a/doc/html/doxygen.css b/doc/html/doxygen.css index ffbff02..2e9a10a 100644 --- a/doc/html/doxygen.css +++ b/doc/html/doxygen.css @@ -1,29 +1,450 @@ -/* The standard CSS for doxygen 1.9.1 */ +/* The standard CSS for doxygen 1.15.0*/ + +html { +/* page base colors */ +--page-background-color: white; +--page-foreground-color: black; +--page-link-color: #3D578C; +--page-visited-link-color: #3D578C; +--page-external-link-color: #334975; + +/* index */ +--index-odd-item-bg-color: #F8F9FC; +--index-even-item-bg-color: white; +--index-header-color: black; +--index-separator-color: #A0A0A0; + +/* header */ +--header-background-color: #F9FAFC; +--header-separator-color: #C4CFE5; +--group-header-separator-color: #D9E0EE; +--group-header-color: #354C7B; +--inherit-header-color: gray; + +--footer-foreground-color: #2A3D61; +--footer-logo-width: 75px; +--citation-label-color: #334975; +--glow-color: cyan; + +--title-background-color: white; +--title-separator-color: #C4CFE5; +--directory-separator-color: #9CAFD4; +--separator-color: #4A6AAA; + +--blockquote-background-color: #F7F8FB; +--blockquote-border-color: #9CAFD4; + +--scrollbar-thumb-color: #C4CFE5; +--scrollbar-background-color: #F9FAFC; + +--icon-background-color: #728DC1; +--icon-foreground-color: white; +/* +--icon-doc-image: url('doc.svg'); +--icon-folder-open-image: url('folderopen.svg'); +--icon-folder-closed-image: url('folderclosed.svg');*/ +--icon-folder-open-fill-color: #C4CFE5; +--icon-folder-fill-color: #D8DFEE; +--icon-folder-border-color: #4665A2; +--icon-doc-fill-color: #D8DFEE; +--icon-doc-border-color: #4665A2; + +/* brief member declaration list */ +--memdecl-background-color: #F9FAFC; +--memdecl-separator-color: #DEE4F0; +--memdecl-foreground-color: #555; +--memdecl-template-color: #4665A2; +--memdecl-border-color: #D5DDEC; + +/* detailed member list */ +--memdef-border-color: #A8B8D9; +--memdef-title-background-color: #E2E8F2; +--memdef-proto-background-color: #EEF1F7; +--memdef-proto-text-color: #253555; +--memdef-doc-background-color: white; +--memdef-param-name-color: #602020; +--memdef-template-color: #4665A2; + +/* tables */ +--table-cell-border-color: #2D4068; +--table-header-background-color: #374F7F; +--table-header-foreground-color: #FFFFFF; + +/* labels */ +--label-background-color: #728DC1; +--label-left-top-border-color: #5373B4; +--label-right-bottom-border-color: #C4CFE5; +--label-foreground-color: white; + +/** navigation bar/tree/menu */ +--nav-background-color: #F9FAFC; +--nav-foreground-color: #364D7C; +--nav-border-color: #C4CFE5; +--nav-breadcrumb-separator-color: #C4CFE5; +--nav-breadcrumb-active-bg: #EEF1F7; +--nav-breadcrumb-color: #354C7B; +--nav-breadcrumb-border-color: #E1E7F2; +--nav-splitbar-bg-color: #DCE2EF; +--nav-splitbar-handle-color: #9CAFD4; +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #283A5D; +--nav-text-hover-color: white; +--nav-text-active-color: white; +--nav-menu-button-color: #364D7C; +--nav-menu-background-color: white; +--nav-menu-foreground-color: #555555; +--nav-menu-active-bg: #DCE2EF; +--nav-menu-active-color: #9CAFD4; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.5); +--nav-arrow-color: #B6C4DF; +--nav-arrow-selected-color: #90A5CE; + +/* sync icon */ +--sync-icon-border-color: #C4CFE5; +--sync-icon-background-color: #F9FAFC; +--sync-icon-selected-background-color: #EEF1F7; +--sync-icon-color: #C4CFE5; +--sync-icon-selected-color: #6884BD; + +/* table of contents */ +--toc-background-color: #F4F6FA; +--toc-border-color: #D8DFEE; +--toc-header-color: #4665A2; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: white; +--search-foreground-color: #909090; +--search-active-color: black; +--search-filter-background-color: rgba(255,255,255,.7); +--search-filter-backdrop-filter: blur(4px); +--search-filter-foreground-color: black; +--search-filter-border-color: rgba(150,150,150,.4); +--search-filter-highlight-text-color: white; +--search-filter-highlight-bg-color: #3D578C; +--search-results-foreground-color: #425E97; +--search-results-background-color: rgba(255,255,255,.8); +--search-results-backdrop-filter: blur(4px); +--search-results-border-color: rgba(150,150,150,.4); +--search-box-border-color: #B6C4DF; +--search-close-icon-bg-color: #A0A0A0; +--search-close-icon-fg-color: white; + +/** code fragments */ +--code-keyword-color: #008000; +--code-type-keyword-color: #604020; +--code-flow-keyword-color: #E08000; +--code-comment-color: #800000; +--code-preprocessor-color: #806020; +--code-string-literal-color: #002080; +--code-char-literal-color: #008080; +--code-xml-cdata-color: black; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #000000; +--code-vhdl-keyword-color: #700070; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #4665A2; +--code-external-link-color: #4665A2; +--fragment-foreground-color: black; +--fragment-background-color: #FBFCFD; +--fragment-border-color: #C4CFE5; +--fragment-lineno-border-color: #00FF00; +--fragment-lineno-background-color: #E8E8E8; +--fragment-lineno-foreground-color: black; +--fragment-lineno-link-fg-color: #4665A2; +--fragment-lineno-link-bg-color: #D8D8D8; +--fragment-lineno-link-hover-fg-color: #4665A2; +--fragment-lineno-link-hover-bg-color: #C8C8C8; +--fragment-copy-ok-color: #2EC82E; +--fragment-highlight-filter: -3; +--tooltip-foreground-color: black; +--tooltip-background-color: rgba(255,255,255,0.8); +--tooltip-arrow-background-color: white; +--tooltip-border-color: rgba(150,150,150,0.7); +--tooltip-backdrop-filter: blur(3px); +--tooltip-doc-color: grey; +--tooltip-declaration-color: #006318; +--tooltip-link-color: #4665A2; +--tooltip-shadow: 0 4px 8px 0 rgba(0,0,0,.25); +--fold-line-color: #808080; + +/** font-family */ +--font-family-normal: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +/** special sections */ +--warning-color-bg: #f8d1cc; +--warning-color-hl: #b61825; +--warning-color-text: #75070f; +--note-color-bg: #faf3d8; +--note-color-hl: #f3a600; +--note-color-text: #5f4204; +--todo-color-bg: #e4f3ff; +--todo-color-hl: #1879C4; +--todo-color-text: #274a5c; +--test-color-bg: #e8e8ff; +--test-color-hl: #3939C4; +--test-color-text: #1a1a5c; +--deprecated-color-bg: #ecf0f3; +--deprecated-color-hl: #5b6269; +--deprecated-color-text: #43454a; +--bug-color-bg: #e4dafd; +--bug-color-hl: #5b2bdd; +--bug-color-text: #2a0d72; +--invariant-color-bg: #d8f1e3; +--invariant-color-hl: #44b86f; +--invariant-color-text: #265532; +} + +html.dark-mode { +/* page base colors */ +--page-background-color: black; +--page-foreground-color: #C9D1D9; +--page-link-color: #90A5CE; +--page-visited-link-color: #90A5CE; +--page-external-link-color: #A3B4D7; + +/* index */ +--index-odd-item-bg-color: #0B101A; +--index-even-item-bg-color: black; +--index-header-color: #C4CFE5; +--index-separator-color: #334975; + +/* header */ +--header-background-color: #070B11; +--header-separator-color: #141C2E; +--group-header-separator-color: #1D2A43; +--group-header-color: #90A5CE; +--inherit-header-color: #A0A0A0; + +--footer-foreground-color: #5B7AB7; +--footer-logo-width: 60px; +--citation-label-color: #90A5CE; +--glow-color: cyan; + +--title-background-color: #090D16; +--title-separator-color: #212F4B; +--directory-separator-color: #283A5D; +--separator-color: #283A5D; + +--blockquote-background-color: #101826; +--blockquote-border-color: #283A5D; + +--scrollbar-thumb-color: #2C3F65; +--scrollbar-background-color: #070B11; + +--icon-background-color: #334975; +--icon-foreground-color: #C4CFE5; +--icon-folder-open-fill-color: #4665A2; +--icon-folder-fill-color: #5373B4; +--icon-folder-border-color: #C4CFE5; +--icon-doc-fill-color: #6884BD; +--icon-doc-border-color: #C4CFE5; + +/* brief member declaration list */ +--memdecl-background-color: #0B101A; +--memdecl-separator-color: #2C3F65; +--memdecl-foreground-color: #BBB; +--memdecl-template-color: #7C95C6; +--memdecl-border-color: #233250; + +/* detailed member list */ +--memdef-border-color: #233250; +--memdef-title-background-color: #1B2840; +--memdef-proto-background-color: #19243A; +--memdef-proto-text-color: #9DB0D4; +--memdef-doc-background-color: black; +--memdef-param-name-color: #D28757; +--memdef-template-color: #7C95C6; + +/* tables */ +--table-cell-border-color: #283A5D; +--table-header-background-color: #283A5D; +--table-header-foreground-color: #C4CFE5; + +/* labels */ +--label-background-color: #354C7B; +--label-left-top-border-color: #4665A2; +--label-right-bottom-border-color: #283A5D; +--label-foreground-color: #CCCCCC; + +/** navigation bar/tree/menu */ +--nav-background-color: #101826; +--nav-foreground-color: #364D7C; +--nav-border-color: #212F4B; +--nav-breadcrumb-separator-color: #212F4B; +--nav-breadcrumb-active-bg: #1D2A43; +--nav-breadcrumb-color: #90A5CE; +--nav-breadcrumb-border-color: #2A3D61; +--nav-splitbar-bg-color: #283A5D; +--nav-splitbar-handle-color: #4665A2; +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #B6C4DF; +--nav-text-hover-color: #DCE2EF; +--nav-text-active-color: #DCE2EF; +--nav-menu-button-color: #B6C4DF; +--nav-menu-background-color: #05070C; +--nav-menu-foreground-color: #BBBBBB; +--nav-menu-active-bg: #1D2A43; +--nav-menu-active-color: #C9D3E7; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.2); +--nav-arrow-color: #4665A2; +--nav-arrow-selected-color: #6884BD; + +/* sync icon */ +--sync-icon-border-color: #212F4B; +--sync-icon-background-color: #101826; +--sync-icon-selected-background-color: #1D2A43; +--sync-icon-color: #4665A2; +--sync-icon-selected-color: #5373B4; + +/* table of contents */ +--toc-background-color: #151E30; +--toc-border-color: #202E4A; +--toc-header-color: #A3B4D7; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: black; +--search-foreground-color: #C5C5C5; +--search-active-color: #F5F5F5; +--search-filter-background-color: #101826; +--search-filter-foreground-color: #90A5CE; +--search-filter-backdrop-filter: none; +--search-filter-border-color: #7C95C6; +--search-filter-highlight-text-color: #BCC9E2; +--search-filter-highlight-bg-color: #283A5D; +--search-results-background-color: black; +--search-results-foreground-color: #90A5CE; +--search-results-backdrop-filter: none; +--search-results-border-color: #334975; +--search-box-border-color: #334975; +--search-close-icon-bg-color: #909090; +--search-close-icon-fg-color: black; + +/** code fragments */ +--code-keyword-color: #CC99CD; +--code-type-keyword-color: #AB99CD; +--code-flow-keyword-color: #E08000; +--code-comment-color: #717790; +--code-preprocessor-color: #65CABE; +--code-string-literal-color: #7EC699; +--code-char-literal-color: #00E0F0; +--code-xml-cdata-color: #C9D1D9; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #C0C0C0; +--code-vhdl-keyword-color: #CF53C9; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #79C0FF; +--code-external-link-color: #79C0FF; +--fragment-foreground-color: #C9D1D9; +--fragment-background-color: #090D16; +--fragment-border-color: #30363D; +--fragment-lineno-border-color: #30363D; +--fragment-lineno-background-color: black; +--fragment-lineno-foreground-color: #6E7681; +--fragment-lineno-link-fg-color: #6E7681; +--fragment-lineno-link-bg-color: #303030; +--fragment-lineno-link-hover-fg-color: #8E96A1; +--fragment-lineno-link-hover-bg-color: #505050; +--fragment-copy-ok-color: #0EA80E; +--fragment-highlight-filter: 5; +--tooltip-foreground-color: #C9D1D9; +--tooltip-background-color: #202020; +--tooltip-arrow-background-color: #202020; +--tooltip-backdrop-filter: none; +--tooltip-border-color: #C9D1D9; +--tooltip-doc-color: #D9E1E9; +--tooltip-declaration-color: #20C348; +--tooltip-link-color: #79C0FF; +--tooltip-shadow: none; +--fold-line-color: #808080; + +/** font-family */ +--font-family-normal: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +/** special sections */ +--warning-color-bg: #2e1917; +--warning-color-hl: #ad2617; +--warning-color-text: #f5b1aa; +--note-color-bg: #3b2e04; +--note-color-hl: #f1b602; +--note-color-text: #ceb670; +--todo-color-bg: #163750; +--todo-color-hl: #1982D2; +--todo-color-text: #dcf0fa; +--test-color-bg: #121258; +--test-color-hl: #4242cf; +--test-color-text: #c0c0da; +--deprecated-color-bg: #2e323b; +--deprecated-color-hl: #738396; +--deprecated-color-text: #abb0bd; +--bug-color-bg: #2a2536; +--bug-color-hl: #7661b3; +--bug-color-text: #ae9ed6; +--invariant-color-bg: #303a35; +--invariant-color-hl: #76ce96; +--invariant-color-text: #cceed5; +} + +body { + background-color: var(--page-background-color); + color: var(--page-foreground-color); +} body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 22px; +} + +body.resizing { + user-select: none; + -webkit-user-select: none; } -p.reference, p.definition { - font: 400 14px/22px Roboto,sans-serif; +#doc-content { + scrollbar-width: thin; } /* @group Heading Levels */ -h1.groupheader { - font-size: 150%; +.title { + font-family: var(--font-family-normal); + line-height: 28px; + font-size: 160%; + font-weight: 400; + margin: 10px 2px; } -.title { - font: 400 14px/28px Roboto,sans-serif; +h1.groupheader { font-size: 150%; - font-weight: bold; - margin: 10px 2px; } h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; + box-shadow: 12px 0 var(--page-background-color), + -12px 0 var(--page-background-color), + 12px 1px var(--group-header-separator-color), + -12px 1px var(--group-header-separator-color); + color: var(--group-header-color); font-size: 150%; font-weight: normal; margin-top: 1.75em; @@ -32,6 +453,13 @@ h2.groupheader { width: 100%; } +td h2.groupheader { + box-shadow: 13px 0 var(--page-background-color), + -13px 0 var(--page-background-color), + 13px 1px var(--group-header-separator-color), + -13px 1px var(--group-header-separator-color); +} + h3.groupheader { font-size: 100%; } @@ -46,29 +474,20 @@ h1, h2, h3, h4, h5, h6 { } h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; + text-shadow: 0 0 15px var(--glow-color); } dt { font-weight: bold; } -ul.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; - column-count: 3; -} - p.startli, p.startdd { margin-top: 2px; } th p.starttd, th p.intertd, th p.endtd { - font-size: 100%; - font-weight: 700; + font-size: 100%; + font-weight: 700; } p.starttd { @@ -113,10 +532,11 @@ h3.version { } div.navtab { - border-right: 1px solid #A3B4D7; - padding-right: 15px; + margin-right: 6px; + padding-right: 6px; text-align: right; line-height: 110%; + background-color: var(--nav-background-color); } div.navtab table { @@ -127,20 +547,12 @@ td.navtab { padding-right: 6px; padding-left: 6px; } + td.navtabHL { - background-image: url('tab_a.png'); - background-repeat:repeat-x; padding-right: 6px; padding-left: 6px; -} - -td.navtabHL a, td.navtabHL a:visited { - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); -} - -a.navtab { - font-weight: bold; + border-radius: 0 6px 6px 0; + background-color: var(--nav-menu-active-bg); } div.qindex{ @@ -148,7 +560,13 @@ div.qindex{ width: 100%; line-height: 140%; font-size: 130%; - color: #A0A0A0; + color: var(--index-separator-color); +} + +#main-menu a:focus { + outline: auto; + z-index: 10; + position: relative; } dt.alphachar{ @@ -157,7 +575,7 @@ dt.alphachar{ } .alphachar a{ - color: black; + color: var(--index-header-color); } .alphachar a:hover, .alphachar a:visited{ @@ -176,8 +594,12 @@ dt.alphachar{ line-height: 1.15em; } +.classindex dl.even { + background-color: var(--index-even-item-bg-color); +} + .classindex dl.odd { - background-color: #F8F9FC; + background-color: var(--index-odd-item-bg-color); } @media(min-width: 1120px) { @@ -196,21 +618,18 @@ dt.alphachar{ /* @group Link Styling */ a { - color: #3D578C; + color: var(--page-link-color); font-weight: normal; text-decoration: none; } .contents a:visited { - color: #4665A2; + color: var(--page-visited-link-color); } -a:hover { - text-decoration: underline; -} - -.contents a.qindexHL:visited { - color: #FFFFFF; +span.label a:hover { + text-decoration: none; + background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%); } a.el { @@ -220,13 +639,40 @@ a.el { a.elRef { } -a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; +a.el, a.el:visited, a.code, a.code:visited, a.line, a.line:visited { + color: var(--page-link-color); } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; -} + color: var(--page-external-link-color); +} + +a.code.hl_class { /* style for links to class names in code snippets */ } +a.code.hl_struct { /* style for links to struct names in code snippets */ } +a.code.hl_union { /* style for links to union names in code snippets */ } +a.code.hl_interface { /* style for links to interface names in code snippets */ } +a.code.hl_protocol { /* style for links to protocol names in code snippets */ } +a.code.hl_category { /* style for links to category names in code snippets */ } +a.code.hl_exception { /* style for links to exception names in code snippets */ } +a.code.hl_service { /* style for links to service names in code snippets */ } +a.code.hl_singleton { /* style for links to singleton names in code snippets */ } +a.code.hl_concept { /* style for links to concept names in code snippets */ } +a.code.hl_namespace { /* style for links to namespace names in code snippets */ } +a.code.hl_package { /* style for links to package names in code snippets */ } +a.code.hl_define { /* style for links to macro names in code snippets */ } +a.code.hl_function { /* style for links to function names in code snippets */ } +a.code.hl_variable { /* style for links to variable names in code snippets */ } +a.code.hl_typedef { /* style for links to typedef names in code snippets */ } +a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } +a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } +a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } +a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } +a.code.hl_friend { /* style for links to friend names in code snippets */ } +a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } +a.code.hl_property { /* style for links to property names in code snippets */ } +a.code.hl_event { /* style for links to event names in code snippets */ } +a.code.hl_sequence { /* style for links to sequence names in code snippets */ } +a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } /* @end */ @@ -234,58 +680,126 @@ dl.el { margin-left: -1cm; } +ul.check { + list-style:none; + text-indent: -16px; + padding-left: 38px; +} +li.unchecked:before { + content: "\2610\A0"; +} +li.checked:before { + content: "\2611\A0"; +} + +ol { + text-indent: 0px; +} + ul { - overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ + text-indent: 0px; + overflow: visible; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; + list-style-type: none; } #side-nav ul { - overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ } #main-nav ul { - overflow: visible; /* reset ul rule for the navigation bar drop down lists */ + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ } .fragment { - text-align: left; - direction: ltr; - overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ - overflow-y: hidden; + text-align: left; + direction: ltr; + overflow-x: auto; + overflow-y: hidden; + position: relative; + min-height: 12px; + margin: 10px 0px; + padding: 10px 10px; + border: 1px solid var(--fragment-border-color); + border-radius: 4px; + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); } pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: monospace, fixed; - font-size: 105%; + word-wrap: break-word; + font-size: 10pt; + line-height: 125%; + font-family: var(--font-family-monospace); +} + +span.tt { + white-space: pre; + font-family: var(--font-family-monospace); + background-color: var(--fragment-background-color); +} + +.clipboard { + width: 24px; + height: 24px; + right: 5px; + top: 5px; + opacity: 0; + position: absolute; + display: inline; + overflow: hidden; + justify-content: center; + align-items: center; + cursor: pointer; +} + +.clipboard.success { + border: 1px solid var(--fragment-foreground-color); + border-radius: 4px; } -div.fragment { - padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ - margin: 4px 8px 4px 2px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; +.fragment:hover .clipboard, .clipboard.success { + opacity: .4; +} + +.clipboard:hover, .clipboard.success { + opacity: 1 !important; +} + +.clipboard:active:not([class~=success]) svg { + transform: scale(.91); +} + +.clipboard.success svg { + fill: var(--fragment-copy-ok-color); +} + +.clipboard.success { + border-color: var(--fragment-copy-ok-color); } div.line { - font-family: monospace, fixed; - font-size: 13px; + font-family: var(--font-family-monospace); + font-size: 13px; min-height: 13px; - line-height: 1.0; - text-wrap: unrestricted; + line-height: 1.2; + text-wrap: wrap; + word-break: break-all; white-space: -moz-pre-wrap; /* Moz */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ white-space: pre-wrap; /* CSS3 */ word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; + text-indent: -62px; + padding-left: 62px; padding-bottom: 0px; margin: 0px; -webkit-transition-property: background-color, box-shadow; @@ -301,29 +815,86 @@ div.line { } div.line:after { - content:"\000A"; - white-space: pre; + content:"\000A"; + white-space: pre; } div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; + background-color: var(--glow-color); + box-shadow: 0 0 10px var(--glow-color); } +span.fold { + display: inline-block; + width: 12px; + height: 12px; + margin-left: 4px; + margin-right: 1px; +} + +span.foldnone { + display: inline-block; + position: relative; + cursor: pointer; + user-select: none; +} + +span.fold.plus, span.fold.minus { + width: 10px; + height: 10px; + background-color: var(--fragment-background-color); + position: relative; + border: 1px solid var(--fold-line-color); + margin-right: 1px; +} + +span.fold.plus::before, span.fold.minus::before { + content: ''; + position: absolute; + background-color: var(--fold-line-color); +} + +span.fold.plus::before { + width: 2px; + height: 6px; + top: 2px; + left: 4px; +} + +span.fold.plus::after { + content: ''; + position: absolute; + width: 6px; + height: 2px; + top: 4px; + left: 2px; + background-color: var(--fold-line-color); +} + +span.fold.minus::before { + width: 6px; + height: 2px; + top: 4px; + left: 2px; +} span.lineno { padding-right: 4px; + margin-right: 9px; text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; - white-space: pre; + border-right: 2px solid var(--fragment-lineno-border-color); + color: var(--fragment-lineno-foreground-color); + background-color: var(--fragment-lineno-background-color); + white-space: pre; } -span.lineno a { - background-color: #D8D8D8; +span.lineno a, span.lineno a:visited { + color: var(--fragment-lineno-link-fg-color); + background-color: var(--fragment-lineno-link-bg-color); } span.lineno a:hover { - background-color: #C8C8C8; + color: var(--fragment-lineno-link-hover-fg-color); + background-color: var(--fragment-lineno-link-hover-bg-color); } .lineno { @@ -335,37 +906,28 @@ span.lineno a:hover { user-select: none; } -div.ah, span.ah { - background-color: black; - font-weight: bold; - color: #FFFFFF; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); -} - div.classindex ul { - list-style: none; - padding-left: 0; + list-style: none; + padding-left: 0; } div.classindex span.ai { - display: inline-block; + display: inline-block; } div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; + box-shadow: 13px 0 var(--page-background-color), + -13px 0 var(--page-background-color), + 13px 1px var(--group-header-separator-color), + -13px 1px var(--group-header-separator-color); + color: var(--group-header-color); + font-size: 110%; + font-weight: 500; + margin-left: 0px; + margin-top: 0em; + margin-bottom: 6px; + padding-top: 8px; + padding-bottom: 4px; } div.groupText { @@ -374,44 +936,25 @@ div.groupText { } body { - background-color: white; - color: black; - margin: 0; + color: var(--page-foreground-color); + margin: 0; } div.contents { margin-top: 10px; margin-left: 12px; - margin-right: 8px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; + margin-right: 12px; } p.formulaDsp { text-align: center; } -img.formulaDsp { - +img.dark-mode-visible { + display: none; +} +img.light-mode-visible { + display: none; } img.formulaInl, img.inline { @@ -420,9 +963,9 @@ img.formulaInl, img.inline { div.center { text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; } div.center img { @@ -437,89 +980,74 @@ address.footer { img.footer { border: 0px; vertical-align: middle; + width: var(--footer-logo-width); +} + +.compoundTemplParams { + color: var(--memdecl-template-color); + font-size: 80%; + line-height: 120%; } /* @group Code Colorization */ span.keyword { - color: #008000 + color: var(--code-keyword-color); } span.keywordtype { - color: #604020 + color: var(--code-type-keyword-color); } span.keywordflow { - color: #e08000 + color: var(--code-flow-keyword-color); } span.comment { - color: #800000 + color: var(--code-comment-color); } span.preprocessor { - color: #806020 + color: var(--code-preprocessor-color); } span.stringliteral { - color: #002080 + color: var(--code-string-literal-color); } span.charliteral { - color: #008080 + color: var(--code-char-literal-color); +} + +span.xmlcdata { + color: var(--code-xml-cdata-color); } span.vhdldigit { - color: #ff00ff + color: var(--code-vhdl-digit-color); } span.vhdlchar { - color: #000000 + color: var(--code-vhdl-char-color); } span.vhdlkeyword { - color: #700070 + color: var(--code-vhdl-keyword-color); } span.vhdllogic { - color: #ff0000 + color: var(--code-vhdl-logic-color); } blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -blockquote.DocNodeRTL { - border-left: 0; - border-right: 2px solid #9CAFD4; - margin: 0 4px 0 24px; - padding: 0 16px 0 12px; + background-color: var(--blockquote-background-color); + border-left: 2px solid var(--blockquote-border-color); + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; } /* @end */ -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - td.tiny { font-size: 75%; } @@ -527,18 +1055,24 @@ td.tiny { .dirtab { padding: 4px; border-collapse: collapse; - border: 1px solid #A3B4D7; + border: 1px solid var(--table-cell-border-color); } th.dirtab { - background: #EBEFF6; + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-weight: bold; } hr { - height: 0px; border: none; - border-top: 1px solid #4A6AAA; + margin-top: 16px; + margin-bottom: 16px; + height: 1px; + box-shadow: 13px 0 var(--page-background-color), + -13px 0 var(--page-background-color), + 13px 1px var(--group-header-separator-color), + -13px 1px var(--group-header-separator-color); } hr.footer { @@ -553,58 +1087,137 @@ table.memberdecls { } .memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; transition-property: background-color, box-shadow; transition-duration: 0.5s; } .memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; + background-color: var(--glow-color); + box-shadow: 0 0 15px var(--glow-color); +} + +.memberdecls tr[class^='memitem'] { + font-family: var(--font-family-monospace); } .mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; +.memItemLeft, .memItemRight { + padding-top: 2px; + padding-bottom: 2px; +} + +.memTemplParams { + padding-left: 10px; + padding-top: 5px; +} + +.memItemLeft, .memItemRight, .memTemplParams { + background-color: var(--memdecl-background-color); } .mdescLeft, .mdescRight { padding: 0px 8px 4px 8px; - color: #555; + color: var(--memdecl-foreground-color); } -.memSeparator { - border-bottom: 1px solid #DEE4F0; - line-height: 1px; - margin: 0px; - padding: 0px; +tr[class^='memdesc'] { + box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,.075); } -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; +.mdescLeft { + border-left: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); } -.memItemRight, .memTemplItemRight { - width: 100%; +.mdescRight { + border-right: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); } .memTemplParams { - color: #4665A2; - white-space: nowrap; + color: var(--memdecl-template-color); + white-space: nowrap; font-size: 80%; + border-left: 1px solid var(--memdecl-border-color); + border-right: 1px solid var(--memdecl-border-color); +} + +td.ititle { + border: 1px solid var(--memdecl-border-color); + border-top-left-radius: 4px; + border-top-right-radius: 4px; + padding-left: 10px; +} + +tr:not(:first-child) > td.ititle { + border-top: 0; + border-radius: 0; +} + +.memItemLeft { + white-space: nowrap; + border-left: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); + padding-left: 10px; + transition: none; +} + +.memItemRight { + width: 100%; + border-right: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); + padding-right: 10px; + transition: none; +} + +tr.heading + tr[class^='memitem'] td.memItemLeft, +tr.groupHeader + tr[class^='memitem'] td.memItemLeft, +tr.inherit_header + tr[class^='memitem'] td.memItemLeft { + border-top: 1px solid var(--memdecl-border-color); + border-top-left-radius: 4px; +} + +tr.heading + tr[class^='memitem'] td.memItemRight, +tr.groupHeader + tr[class^='memitem'] td.memItemRight, +tr.inherit_header + tr[class^='memitem'] td.memItemRight { + border-top: 1px solid var(--memdecl-border-color); + border-top-right-radius: 4px; +} + +tr.heading + tr[class^='memitem'] td.memTemplParams, +tr.heading + tr td.ititle, +tr.groupHeader + tr[class^='memitem'] td.memTemplParams, +tr.groupHeader + tr td.ititle, +tr.inherit_header + tr[class^='memitem'] td.memTemplParams { + border-top: 1px solid var(--memdecl-border-color); + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +table.memberdecls tr:last-child td.memItemLeft, +table.memberdecls tr:last-child td.mdescLeft, +table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft, +table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft, +table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft, +table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft { + border-bottom-left-radius: 4px; } +table.memberdecls tr:last-child td.memItemRight, +table.memberdecls tr:last-child td.mdescRight, +table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight, +table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight, +table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight, +table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight { + border-bottom-right-radius: 4px; +} + +tr.template .memItemLeft, tr.template .memItemRight { + border-top: none; + padding-top: 0; +} + + /* @end */ /* @group Member Details */ @@ -613,43 +1226,53 @@ table.memberdecls { .memtitle { padding: 8px; - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); border-top-right-radius: 4px; border-top-left-radius: 4px; margin-bottom: -1px; - background-image: url('nav_f.png'); - background-repeat: repeat-x; - background-color: #E2E8F2; + background-color: var(--memdef-proto-background-color); line-height: 1.25; - font-weight: 300; + font-family: var(--font-family-monospace); + font-weight: 500; + font-size: 16px; float:left; + box-shadow: 0 10px 0 -1px var(--memdef-proto-background-color), + 0 2px 8px 0 rgba(0,0,0,.075); + position: relative; +} + +.memtitle:after { + content: ''; + display: block; + background: var(--memdef-proto-background-color); + height: 10px; + bottom: -10px; + left: 0px; + right: -14px; + position: absolute; + border-top-right-radius: 6px; } .permalink { - font-size: 65%; - display: inline-block; - vertical-align: middle; + font-family: var(--font-family-monospace); + font-weight: 500; + line-height: 1.25; + font-size: 16px; + display: inline-block; + vertical-align: middle; } .memtemplate { font-size: 80%; - color: #4665A2; + color: var(--memdef-template-color); + font-family: var(--font-family-monospace); font-weight: normal; margin-left: 9px; } -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - .mempage { width: 100%; } @@ -658,22 +1281,21 @@ table.memberdecls { padding: 0; margin-bottom: 10px; margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; + display: table !important; + width: 100%; + box-shadow: 0 2px 8px 0 rgba(0,0,0,.075); + border-radius: 4px; } .memitem.glow { - box-shadow: 0 0 15px cyan; + box-shadow: 0 0 15px var(--glow-color); } .memname { - font-weight: 400; - margin-left: 6px; + font-family: var(--font-family-monospace); + font-size: 13px; + font-weight: 400; + margin-left: 6px; } .memname td { @@ -681,62 +1303,39 @@ table.memberdecls { } .memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #DFE5F1; - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 0px 6px 0px; + color: var(--memdef-proto-text-color); + font-weight: bold; + background-color: var(--memdef-proto-background-color); + border-top-right-radius: 4px; + border-bottom: 1px solid var(--memdef-border-color); } .overload { - font-family: "courier new",courier,monospace; + font-family: var(--font-family-monospace); font-size: 65%; } .memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 10px 2px 10px; - background-color: #FBFCFD; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: #FFFFFF; - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-bottom: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 10px 2px 10px; + border-top-width: 0; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; } dl.reflist dt { - padding: 5px; + padding: 5px; } dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; + margin: 0px 0px 10px 0px; + padding: 5px; } .paramkey { @@ -745,37 +1344,45 @@ dl.reflist dd { .paramtype { white-space: nowrap; + padding: 0px; + padding-bottom: 1px; } .paramname { - color: #602020; white-space: nowrap; + padding: 0px; + padding-bottom: 1px; + margin-left: 2px; } + .paramname em { + color: var(--memdef-param-name-color); font-style: normal; + margin-right: 1px; } -.paramname code { - line-height: 14px; + +.paramname .paramdefval { + font-family: var(--font-family-monospace); } .params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} + margin-left: 0px; + padding-left: 0px; +} .params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { - font-weight: bold; - vertical-align: top; + font-weight: bold; + vertical-align: top; } - + .params .paramtype, .tparams .paramtype { - font-style: italic; - vertical-align: top; -} - + font-style: italic; + vertical-align: top; +} + .params .paramdir, .tparams .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; + font-family: var(--font-family-monospace); + vertical-align: top; } table.mlabels { @@ -794,17 +1401,17 @@ td.mlabels-right { } span.mlabels { - margin-left: 8px; + margin-left: 8px; } span.mlabel { - background-color: #728DC1; - border-top:1px solid #5373B4; - border-left:1px solid #5373B4; - border-right:1px solid #C4CFE5; - border-bottom:1px solid #C4CFE5; + background-color: var(--label-background-color); + border-top:1px solid var(--label-left-top-border-color); + border-left:1px solid var(--label-left-top-border-color); + border-right:1px solid var(--label-right-bottom-border-color); + border-bottom:1px solid var(--label-right-bottom-border-color); text-shadow: none; - color: white; + color: var(--label-foreground-color); margin-right: 4px; padding: 2px 3px; border-radius: 3px; @@ -820,47 +1427,50 @@ span.mlabel { /* these are for tree view inside a (index) page */ div.directory { - margin: 10px 0px; - border-top: 1px solid #9CAFD4; - border-bottom: 1px solid #9CAFD4; - width: 100%; + margin: 10px 0px; + width: 100%; } .directory table { - border-collapse:collapse; + border-collapse:collapse; } .directory td { - margin: 0px; - padding: 0px; + margin: 0px; + padding: 0px; vertical-align: top; } .directory td.entry { - white-space: nowrap; - padding-right: 6px; + white-space: nowrap; + padding-right: 6px; padding-top: 3px; } .directory td.entry a { - outline:none; + outline:none; } .directory td.entry a img { - border: none; + border: none; } .directory td.desc { - width: 100%; - padding-left: 6px; + width: 100%; + padding-left: 6px; padding-right: 6px; padding-top: 3px; border-left: 1px solid rgba(0,0,0,0.05); } +.directory tr.odd { + padding-left: 6px; + background-color: var(--index-odd-item-bg-color); +} + .directory tr.even { padding-left: 6px; - background-color: #F7F8FB; + background-color: var(--index-even-item-bg-color); } .directory img { @@ -868,95 +1478,178 @@ div.directory { } .directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; } .directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: #3D578C; + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: var(--page-link-color); } .arrow { - color: #9CAFD4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; + color: var(--nav-background-color); + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 14px; + transition: opacity 0.3s ease; +} + +span.arrowhead { + position: relative; + padding: 0; + margin: 0 0 0 2px; + display: inline-block; + width: 5px; + height: 5px; + border-right: 2px solid var(--nav-arrow-color); + border-bottom: 2px solid var(--nav-arrow-color); + transform: rotate(-45deg); + transition: transform 0.3s ease; +} + +span.arrowhead.opened { + transform: rotate(45deg); +} + +.selected span.arrowhead { + border-right: 2px solid var(--nav-arrow-selected-color); + border-bottom: 2px solid var(--nav-arrow-selected-color); } .icon { - font-family: Arial, Helvetica; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: #728DC1; - color: white; - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; + font-family: var(--font-family-icon); + line-height: normal; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: var(--icon-background-color); + color: var(--icon-foreground-color); + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; } .icona { - width: 24px; - height: 22px; - display: inline-block; + width: 24px; + height: 22px; + display: inline-block; } -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderopen.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; +.iconfolder { + width: 24px; + height: 18px; + margin-top: 6px; + vertical-align:top; + display: inline-block; + position: relative; } -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderclosed.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; +.icondoc { + width: 24px; + height: 18px; + margin-top: 3px; + vertical-align:top; + display: inline-block; + position: relative; } -.icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('doc.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; +.folder-icon { + width: 16px; + height: 11px; + background-color: var(--icon-folder-fill-color); + border: 1px solid var(--icon-folder-border-color); + border-radius: 0 2px 2px 2px; + position: relative; + box-sizing: content-box; } -table.directory { - font: 400 14px Roboto,sans-serif; +.folder-icon::after { + content: ''; + position: absolute; + top: 2px; + left: -1px; + width: 16px; + height: 7px; + background-color: var(--icon-folder-open-fill-color); + border: 1px solid var(--icon-folder-border-color); + border-radius: 7px 7px 2px 2px; + transform-origin: top left; + opacity: 0; + transition: all 0.3s linear; +} + +.folder-icon::before { + content: ''; + position: absolute; + top: -3px; + left: -1px; + width: 6px; + height: 2px; + background-color: var(--icon-folder-fill-color); + border-top: 1px solid var(--icon-folder-border-color); + border-left: 1px solid var(--icon-folder-border-color); + border-right: 1px solid var(--icon-folder-border-color); + border-radius: 2px 2px 0 0; +} + +.folder-icon.open::after { + top: 3px; + opacity: 1; +} + +.doc-icon { + left: 6px; + width: 12px; + height: 16px; + background-color: var(--icon-doc-border-color); + clip-path: polygon(0 0, 66% 0, 100% 25%, 100% 100%, 0 100%); + position: relative; + display: inline-block; +} +.doc-icon::before { + content: ""; + left: 1px; + top: 1px; + width: 10px; + height: 14px; + background-color: var(--icon-doc-fill-color); + clip-path: polygon(0 0, 66% 0, 100% 25%, 100% 100%, 0 100%); + position: absolute; + box-sizing: border-box; +} +.doc-icon::after { + content: ""; + left: 7px; + top: 0px; + width: 3px; + height: 3px; + background-color: transparent; + position: absolute; + border: 1px solid var(--icon-doc-border-color); } + + + /* @end */ div.dynheader { - margin-top: 8px; + margin-top: 8px; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; @@ -965,9 +1658,16 @@ div.dynheader { user-select: none; } +span.dynarrow { + position: relative; + display: inline-block; + width: 12px; + bottom: 1px; +} + address { font-style: normal; - color: #2A3D61; + color: var(--footer-foreground-color); } table.doxtable caption { @@ -976,155 +1676,163 @@ table.doxtable caption { table.doxtable { border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; + margin-top: 4px; + margin-bottom: 4px; } table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; + border: 1px solid var(--table-cell-border-color); padding: 3px 7px 2px; } table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-size: 110%; padding-bottom: 4px; padding-top: 5px; } table.fieldtable { - /*width: 100%;*/ - margin-bottom: 10px; - border: 1px solid #A8B8D9; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + margin-bottom: 10px; + border: 1px solid var(--memdef-border-color); + border-spacing: 0px; + border-radius: 4px; + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); } .fieldtable td, .fieldtable th { - padding: 3px 7px 2px; + padding: 3px 7px 2px; } -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - vertical-align: top; +.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit { + white-space: nowrap; + border-right: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); + vertical-align: top; } .fieldtable td.fieldname { - padding-top: 3px; + padding-top: 3px; } +.fieldtable td.fieldinit { + padding-top: 3px; + text-align: right; +} + + .fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - /*width: 100%;*/ + border-bottom: 1px solid var(--memdef-border-color); } .fieldtable td.fielddoc p:first-child { - margin-top: 0px; -} - + margin-top: 0px; +} + .fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; + margin-bottom: 2px; } .fieldtable tr:last-child td { - border-bottom: none; + border-bottom: none; } .fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - font-size: 90%; - color: #253555; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - font-weight: 400; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; + background-color: var(--memdef-title-background-color); + font-size: 90%; + color: var(--memdef-proto-text-color); + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid var(--memdef-border-color); +} + +/* ----------- navigation breadcrumb styling ----------- */ + +#nav-path ul { + height: 30px; + line-height: 30px; + color: var(--nav-text-normal-color); overflow: hidden; - font-size: 13px; + margin: 0px; + padding-left: 4px; + background-image: none; + background: var(--page-background-color); + border-bottom: 1px solid var(--nav-breadcrumb-separator-color); + font-size: var(--nav-font-size-level1); + font-family: var(--font-family-nav); + position: relative; + z-index: 100; } -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ +#main-nav { + border-bottom: 1px solid var(--nav-border-color); +} + +.navpath li { list-style-type:none; float:left; + color: var(--nav-foreground-color); +} + +.navpath li.footer { + list-style-type:none; + float:right; padding-left:10px; padding-right:15px; - background-image:url('bc_s.png'); + background-image:none; background-repeat:no-repeat; background-position:right; - color:#364D7C; + font-size: 8pt; + color: var(--footer-foreground-color); } -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; +#nav-path li.navelem { + background-image: none; + display: flex; + align-items: center; + padding-left: 15px; } -.navpath li.navelem a:hover -{ - color:#6884BD; +.navpath li.navelem a { + text-shadow: none; + display: inline-block; + color: var(--nav-breadcrumb-color); + position: relative; + top: 0px; + height: 30px; + margin-right: -20px; } -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; +#nav-path li.navelem:after { + content: ''; + display: inline-block; + position: relative; + top: 0; + right: -15px; + width: 30px; + height: 30px; + transform: scaleX(0.5) scale(0.707) rotate(45deg); + z-index: 10; + background: var(--page-background-color); + box-shadow: 2px -2px 0 2px var(--nav-breadcrumb-separator-color); + border-radius: 0 5px 0 50px; +} + +#nav-path li.navelem:first-child { + margin-left: -6px; } +#nav-path li.navelem:hover, +#nav-path li.navelem:hover:after { + background-color: var(--nav-breadcrumb-active-bg); +} + +/* ---------------------- */ div.summary { @@ -1133,7 +1841,7 @@ div.summary padding-right: 5px; width: 50%; text-align: right; -} +} div.summary a { @@ -1142,14 +1850,14 @@ div.summary a table.classindex { - margin: 10px; - white-space: nowrap; - margin-left: 3%; - margin-right: 3%; - width: 94%; - border: 0; - border-spacing: 0; - padding: 0; + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; } div.ingroups @@ -1166,11 +1874,9 @@ div.ingroups a div.header { - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; margin: 0px; - border-bottom: 1px solid #C4CFE5; + background-color: var(--header-background-color); + border-bottom: 1px solid var(--header-separator-color); } div.headertitle @@ -1178,149 +1884,141 @@ div.headertitle padding: 5px 5px 5px 10px; } -.PageDocRTL-title div.headertitle { - text-align: right; - direction: rtl; -} - dl { - padding: 0 0 0 0; + padding: 0 0 0 0; } -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ -dl.section { - margin-left: 0px; - padding-left: 0px; +dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a { + font-weight: bold !important; } -dl.section.DocNodeRTL { - margin-right: 0px; - padding-right: 0px; +dl.warning, dl.attention, dl.important, dl.note, dl.deprecated, dl.bug, +dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark { + padding: 10px; + margin: 10px 0px; + overflow: hidden; + margin-left: 0; + border-radius: 4px; } -dl.note { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #D0C000; +dl.section dd { + margin-bottom: 2px; } -dl.note.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #D0C000; +dl.warning, dl.attention, dl.important { + background: var(--warning-color-bg); + border-left: 8px solid var(--warning-color-hl); + color: var(--warning-color-text); } -dl.warning, dl.attention { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #FF0000; +dl.warning dt, dl.attention dt, dl.important dt { + color: var(--warning-color-hl); } -dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #FF0000; +dl.warning .tt, dl.attention .tt, dl.important .tt { + background-color: hsl(from var(--warning-color-bg) h s calc(l + var(--fragment-highlight-filter))); } -dl.pre, dl.post, dl.invariant { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00D000; +dl.note, dl.remark { + background: var(--note-color-bg); + border-left: 8px solid var(--note-color-hl); + color: var(--note-color-text); } -dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00D000; +dl.note dt, dl.remark dt { + color: var(--note-color-hl); } -dl.deprecated { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #505050; +dl.note .tt, dl.remark .tt { + background-color: hsl(from var(--note-color-bg) h s calc(l + var(--fragment-highlight-filter))); } -dl.deprecated.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #505050; +dl.todo { + background: var(--todo-color-bg); + border-left: 8px solid var(--todo-color-hl); + color: var(--todo-color-text); } -dl.todo { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00C0E0; +dl.todo dt { + color: var(--todo-color-hl); } -dl.todo.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00C0E0; +dl.todo .tt { + background-color: hsl(from var(--todo-color-bg) h s calc(l + var(--fragment-highlight-filter))); } dl.test { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #3030E0; + background: var(--test-color-bg); + border-left: 8px solid var(--test-color-hl); + color: var(--test-color-text); +} + +dl.test dt { + color: var(--test-color-hl); +} + +dl.test .tt { + background-color: hsl(from var(--test-color-bg) h s calc(l + var(--fragment-highlight-filter))); } -dl.test.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #3030E0; +dl.bug dt a { + color: var(--bug-color-hl) !important; } dl.bug { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #C08050; + background: var(--bug-color-bg); + border-left: 8px solid var(--bug-color-hl); + color: var(--bug-color-text); } -dl.bug.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #C08050; +dl.bug dt a { + color: var(--bug-color-hl) !important; } -dl.section dd { - margin-bottom: 6px; +dl.bug .tt { + background-color: hsl(from var(--bug-color-bg) h s calc(l + var(--fragment-highlight-filter))); } +dl.deprecated { + background: var(--deprecated-color-bg); + border-left: 8px solid var(--deprecated-color-hl); + color: var(--deprecated-color-text); +} + +dl.deprecated dt a { + color: var(--deprecated-color-hl) !important; +} + +dl.deprecated .tt { + background-color: hsl(from var(--deprecated-color-bg) h s calc(l + var(--fragment-highlight-filter))); +} + + +dl.invariant, dl.pre, dl.post { + background: var(--invariant-color-bg); + border-left: 8px solid var(--invariant-color-hl); + color: var(--invariant-color-text); +} + +dl.invariant dt, dl.pre dt, dl.post dt { + color: var(--invariant-color-hl); +} + +dl.invariant .tt, dl.pre .tt, dl.post .tt { + background-color: hsl(from var(--invariant-color-bg) h s calc(l + var(--fragment-highlight-filter))); +} + +dl.note dd, dl.warning dd, dl.pre dd, dl.post dd, +dl.remark dd, dl.attention dd, dl.important dd, dl.invariant dd, +dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { + margin-inline-start: 0px; +} + + +#projectrow +{ + height: 56px; +} #projectlogo { @@ -1328,69 +2026,78 @@ dl.section dd { vertical-align: bottom; border-collapse: separate; } - + #projectlogo img -{ +{ border: 0px none; } - + #projectalign { - vertical-align: middle; + vertical-align: middle; + padding-left: 0.5em; } #projectname { - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; + font-size: 200%; + font-family: var(--font-family-title); + margin: 0; + padding: 0; +} + +#side-nav #projectname +{ + font-size: 130%; } - + #projectbrief { - font: 120% Tahoma, Arial,sans-serif; + font-size: 90%; + font-family: var(--font-family-title); margin: 0px; padding: 0px; } #projectnumber { - font: 50% Tahoma, Arial,sans-serif; + font-size: 50%; + font-family: var(--font-family-title); margin: 0px; padding: 0px; } #titlearea { - padding: 0px; + padding: 0 0 0 5px; margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; + border-bottom: 1px solid var(--title-separator-color); + background-color: var(--title-background-color); } .image { - text-align: center; + text-align: center; } .dotgraph { - text-align: center; + text-align: center; } .mscgraph { - text-align: center; + text-align: center; } .plantumlgraph { - text-align: center; + text-align: center; } .diagraph { - text-align: center; + text-align: center; } .caption @@ -1398,87 +2105,68 @@ dl.section dd { font-weight: bold; } -div.zoom -{ - border: 1px solid #90A5CE; -} - dl.citelist { - margin-bottom:50px; + margin-bottom:50px; } dl.citelist dt { - color:#334975; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; - text-align:right; - width:52px; + color:var(--citation-label-color); + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; } dl.citelist dd { - margin:2px 0 2px 72px; - padding:5px 0; + margin:2px 0 2px 72px; + padding:5px 0; } div.toc { - padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 8px 10px 10px; - width: 200px; -} - -.PageDocRTL-title div.toc { - float: left !important; - text-align: right; + padding: 14px 25px; + background-color: var(--toc-background-color); + border: 1px solid var(--toc-border-color); + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; } div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -.PageDocRTL-title div.toc li { - background-position-x: right !important; - padding-left: 0 !important; - padding-right: 10px; + background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; + font: 10px/1.2 var(--font-family-toc); + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; } div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; - border-bottom: 0 none; - margin: 0; + font: bold 12px/1.2 var(--font-family-toc); + color: var(--toc-header-color); + border-bottom: 0 none; + margin: 0; } div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; + list-style: none outside none; + border: medium none; + padding: 0px; } -div.toc li.level2 { - margin-left: 15px; +div.toc li[class^='level'] { + margin-left: 15px; } -div.toc li.level3 { - margin-left: 30px; +div.toc li.level1 { + margin-left: 0px; } -div.toc li.level4 { - margin-left: 45px; +div.toc li.empty { + background-image: none; + margin-top: 0px; } span.emoji { @@ -1487,30 +2175,13 @@ span.emoji { */ } -.PageDocRTL-title div.toc li.level1 { - margin-left: 0 !important; - margin-right: 0; -} - -.PageDocRTL-title div.toc li.level2 { - margin-left: 0 !important; - margin-right: 15px; -} - -.PageDocRTL-title div.toc li.level3 { - margin-left: 0 !important; - margin-right: 30px; -} - -.PageDocRTL-title div.toc li.level4 { - margin-left: 0 !important; - margin-right: 45px; +span.obfuscator { + display: none; } .inherit_header { - font-weight: bold; - color: gray; - cursor: pointer; + font-weight: 400; + cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; @@ -1520,62 +2191,69 @@ span.emoji { } .inherit_header td { - padding: 6px 0px 2px 5px; + padding: 6px 0 2px 0; } .inherit { - display: none; + display: none; } tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; + margin-top: 12px; + margin-bottom: 12px; } /* tooltip related style info */ .ttc { - position: absolute; - display: none; + position: absolute; + display: none; } #powerTip { cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; - border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; + color: var(--tooltip-foreground-color); + background-color: var(--tooltip-background-color); + backdrop-filter: var(--tooltip-backdrop-filter); + -webkit-backdrop-filter: var(--tooltip-backdrop-filter); + border: 1px solid var(--tooltip-border-color); + border-radius: 4px; + box-shadow: var(--tooltip-shadow); display: none; font-size: smaller; max-width: 80%; - opacity: 0.9; padding: 1ex 1em 1em; position: absolute; z-index: 2147483647; } #powerTip div.ttdoc { - color: grey; + color: var(--tooltip-doc-color); font-style: italic; } #powerTip div.ttname a { - font-weight: bold; + font-weight: bold; +} + +#powerTip a { + color: var(--tooltip-link-color); } #powerTip div.ttname { - font-weight: bold; + font-weight: bold; } #powerTip div.ttdeci { - color: #006318; + color: var(--tooltip-declaration-color); } #powerTip div { - margin: 0px; - padding: 0px; - font: 12px/16px Roboto,sans-serif; + margin: 0px; + padding: 0px; + font-size: 12px; + font-family: var(--font-family-tooltip); + line-height: 16px; } #powerTip:before, #powerTip:after { @@ -1620,12 +2298,12 @@ tr.heading h2 { } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #FFFFFF; + border-top-color: var(--tooltip-arrow-background-color); border-width: 10px; margin: 0px -10px; } -#powerTip.n:before { - border-top-color: #808080; +#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { + border-top-color: var(--tooltip-border-color); border-width: 11px; margin: 0px -11px; } @@ -1648,13 +2326,13 @@ tr.heading h2 { } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #FFFFFF; + border-bottom-color: var(--tooltip-arrow-background-color); border-width: 10px; margin: 0px -10px; } #powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; + border-bottom-color: var(--tooltip-border-color); border-width: 11px; margin: 0px -11px; } @@ -1675,13 +2353,13 @@ tr.heading h2 { left: 100%; } #powerTip.e:after { - border-left-color: #FFFFFF; + border-left-color: var(--tooltip-border-color); border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.e:before { - border-left-color: #808080; + border-left-color: var(--tooltip-border-color); border-width: 11px; top: 50%; margin-top: -11px; @@ -1691,13 +2369,13 @@ tr.heading h2 { right: 100%; } #powerTip.w:after { - border-right-color: #FFFFFF; + border-right-color: var(--tooltip-border-color); border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.w:before { - border-right-color: #808080; + border-right-color: var(--tooltip-border-color); border-width: 11px; top: 50%; margin-top: -11px; @@ -1705,33 +2383,33 @@ tr.heading h2 { @media print { - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } } /* @group Markdown */ table.markdownTable { border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; + margin-top: 4px; + margin-bottom: 4px; } table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; + border: 1px solid var(--table-cell-border-color); padding: 3px 7px 2px; } @@ -1739,8 +2417,8 @@ table.markdownTable tr { } th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-size: 110%; padding-bottom: 4px; padding-top: 5px; @@ -1758,36 +2436,56 @@ th.markdownTableHeadCenter, td.markdownTableBodyCenter { text-align: center } -.DocNodeRTL { - text-align: right; - direction: rtl; +tt, code, kbd +{ + display: inline-block; +} +tt, code, kbd +{ + vertical-align: top; +} +/* @end */ + +u { + text-decoration: underline; +} + +details>summary { + list-style-type: none; } -.DocNodeLTR { - text-align: left; - direction: ltr; +details > summary::-webkit-details-marker { + display: none; } -table.DocNodeRTL { - width: auto; - margin-right: 0; - margin-left: auto; +details>summary::before { + content: "\25ba"; + padding-right:4px; + font-size: 80%; } -table.DocNodeLTR { - width: auto; - margin-right: auto; - margin-left: 0; +details[open]>summary::before { + content: "\25bc"; + padding-right:4px; + font-size: 80%; } -tt, code, kbd, samp -{ - display: inline-block; - direction:ltr; +:root { + scrollbar-width: thin; + scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); } -/* @end */ -u { - text-decoration: underline; +::-webkit-scrollbar { + background-color: var(--scrollbar-background-color); + height: 12px; + width: 12px; +} +::-webkit-scrollbar-thumb { + border-radius: 6px; + box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); + border: solid 2px transparent; +} +::-webkit-scrollbar-corner { + background-color: var(--scrollbar-background-color); } diff --git a/doc/html/doxygen.png b/doc/html/doxygen.png index 94a300ab28944b01433531cdd823a7508963ce94..786d7ac74881bd34b9f9c5a6434a19fe94e04375 100644 GIT binary patch literal 6015 zcmbVP2UJtr(mqIUVxfv?2%r>`kN}|ukRl+2j#R-ALN6f+9chAqil|fp=^dnq(m@3Q z>AfQzK}3q6!Ug3IUa#xDf8AHs%UUPd=j?B0zL{_KtdmGxZ8c_wGYkL#Fl(r*=#zit zjxIVH0H8qce^>+n1{nusWnH4ani5DuRT&AFMj{~yC>#LPBcB*}nHYF+$bXw&dwn$` z=w4ZZb1(qrTjMo|&wsxS&1nenz!S3vZ#~uj9Yw&$<7IceZ9pSEM;M zMzOg&{-{szr9BX&Xa$v(9hl+%5t=|5BsgvS^jOol^X_4KM}j&IP?rLv=t9T+0siv< zf`B`v>VFnUWE@~S+agpg4wa_>hIKb%d;KT!QhKKhUQ<7|rT_}7D^wl`>27KRCTV;e z3_#flK=AEJdLl)c6L2Gzx0jXTMk(8i$4Zt+;C^mIXXt?;kOBevvil!e08>oBDaaCI z<18ceH1v^B(!8w(yQZp80iu#?CdFlWz6nE1M-&T1JT{VwPV0$b7@I2AqSvYCoF(?A zrRVm=^Q?4wJR`ajo;|Co+*is!^xb92*!(KycW$d)EOhw0+SX<+QVf;D3Y zh1uva`>8+pY@c&0N}o^9`F1zJm?*iEB91gs8v&9-W0 zmN5HtF+QJ}xXd%S6-4+np*TBDZ-3s&)l%hyQpUp{=LW%H?Mel@T^!G_Doqv-rNX+q zPcf<>^x_jCrw%WkKE#b%ZTgf@1nKQlByK;woRdI5*8469t4pCdm4pB8HKX(vo<3G@ z($L>aJfu&n-0M}m%NFgd*O4dVY9pQuOL*@uZ%`~S8+@$e6&1RVT3M7*q>R=MPpPvR z2BN!V9}({JD%|ibmC#}n!i1Sxmns<}Yp5tOq{JiMgs~69;?MNF7N}~HD1!4LU*`h}^^^J`h9JKOGK=Pm zf`l_QK|8#X4|#2v_Sk&xS_?AcGG+4V9d8kIVd9)oSC%t{R+LEeNztxKoqcC^KocRU zS6~_6S3rMoK6wRXSzppRU(qDR$-&rss?0{~&eK;6<@&`mPH!g4p=-j(2-NH8Svo12 z`%x85HFL-C74H61N>dC|S1hR4ffDM`$hte+O;HQ-vmd-&>IJ6R&PPNy=gktgsCV@b z5ZO7{Pyet3pN<4f# z5u4&z-(20f8y8uiQQR&Qb1f!3_e^eZuBH~Z)<$A~w_F!{(s1H+v5SesuEB1vB&$kA z$XSR!L>S@=(bK%B`EW_Qv(aJK0Xq0*&@uOVRi>$r>5_?r3A1TMv2yWtvH8=q3C?l; zG3W9R&-QM7v`@yEJNZp&cSGModrRJ}8~ZW(HQvnmEfrVv5)6I`6t-lJxt}t;6j`?|sL< za7c<&k*a*F!o{@g=kqy zP)q%tFOiT)o_iIM=I6YGEJZ9?XW|vLA~ePlMB!~-Jzu5yBJW31M^X~e%g`i0OzKGe zJ)gE^k>2HQg-4+}chH48zHN*P!y*AG?%27{JVU@fvk$CZOR1NIX zOM9cQ58|>|sm1R%xjU4RtdNgTl6C0TSPh$Z1hGA{J>8zJl#Z0q8hDKwdja$mY}L}a z+`DHSfFTzzxiaccJ)j3m&`9H?z6~Pw_RO9!Fm%Lb3?No zSH8f7meRFG;r-Qx+(k61MZ2XAc^Y|FlEryzjF7JK!bYQgbENMnWO8hhp{ij_K5##5 z;6u)^tf1_oEKR3U$3#a|hh)ObBK4;$r8_0gg##rMx?ddgZY;-LPpvys*&iVMQ zk)e^-mAjRVS(nvhC*DmYzpVNZa0vg7jcXf@=15CVd8@FswfHFJbRK_RYKpcrY6|{x z;p^jSu~8X58NVKyG*n>E#?)hIX-UlTyWaD4v%YgHsy!_un%W6wwLEpnf%t=rnzn+x zoY9)9PtQ7+zBY2*yjbFGA$@ard9}tVcoh1jcXfk15rtpyo&WNhJA|9X&34M)Q)GE$ z@sp9)rWeCT;S{7H?`G+Hwe9oCG*4)vS@xJbW}<5Y{Sp-pcJtQKrlS@W(iH@GhPj{m z*&l9>CC-d3sS(db$;Hd1`s;62to9n|bf*S*Idg-#(oWQJC6G+}m1k`xd&r-;y7x zM1G~D$E%wX0RYN(bWwQcD0l(@b)$o!3CRSlC4+TyfnsdjtZ`6p7d#nFeg#$V#$&Kf zI1Et+WPgU7-2aYQ!{0v4z0 zNv6qnlnq`+nSjHP+z5tlZq9!xrTZ6U5CRE>!$E?^4z4zCUPPgPu)wKcNH`SuNHz#u z6oL>pL?C3~5;6#B5m6}_QPDr4Xg3=NTc5v!ii?s({wFB8X>2eg%zp&iU}bFG2rd|M z#ttqRI~)w}Y6k}WuA_{yo3k5%9GJ{b>?aE}T1LZ_NW!>caT+QpFga9D4PjBsXK3%{Xe<+#TUa?I50(-k-YceI$loenR#j5gc}&*Y!~p_~=s&VlF4 z=VWEmEmD%;)MHY*T3<_0G0!W(X?u*Gs(r zF6l#ER#E?kS>ljgcdW%Vb?`1d?0m!9`X)T=u*5Q{Nz7A2I zgIt_=7eJwC#c$xx{7Musc7J)iFE%jbJjzs~Y&_SWRn1#!=1`p4FkzI^o8#3(&n4zH zc72*pbn)mZP7V7Cp|y_M;FBmYKDUP&t8>Zca5q4Ie@?Q0&X+h58OA8ec=@p|{3LiY$fQ5jPuQL8O0 zYNnsjtBj&u6L0&$Frl;kc-?V{#e-DVvzp$oPO@ZM`lt!C?!GrsX}odznetAy)2`KG znLL%+M3_s{w+n1cih)2y?9j=z(#6Z4DVjblCM_5V(XO(0Ts9A?tYkBvY|q2C4Yk^s z^8`7c__X9hOIfgQ!mx1}tu0f=jkc#7)le14|HHctn)YoqfODj0T)i3oX&nMg6Iid&6>zJh-IU*%87p9c} zB!;Y2GrcN0IK0f>)F$kdXPEM4=Yeihw2AP88w$dH;AG|tz;0-7p2aZsY!S}{#k{!% zvzC>ikCEZmLZj3J1@(rzUwzIVCab=9`#LlRYZ_GksDshWVpuCswGD%%n|q-}>j|1`P^Oa<8@9dEYTFiA4rcB;o0j`|HHJN3_S3YS19F+F@ zd#y={YfDls9OewCo%+%0#Ehm2#6%-W>(_h?#?peH zyxz2LZO?F)j1L>*esnxcLN8}S^tPH=MrhOUxfbQ~`0kwW zQu?vd`~0R>Uq-^B<27xMYgKjZrC#Y>Y4p`4l)RGrIX?u)4}(!$VoOZm?$Su)sZ=hR>d!RMyiTthnYdGpEC=eFgGw zyd(6B1?Za(?B8*6D^X|b=Vvs!l!X=9Xwo%@#cqJDys8X4<5uT&Yv9e+o?@_dTBm@p zSA_37)YqrG5^~(xJ8rpWU(C&WecJE=!iSfUt3!LiK54QxBu@i>zby#HHc+)c_T!jH z=!mSSX#a6jRkRrT+4{Y!+*(Fe9}~8&hZ`#QC0{wzudImcN8Iv~%DTB-9gvv$npP) zZLA(e6@VXT0hJ2YV2i{AN0L?oKOmPH3??94O{0;ZLTKf~POv2iL_!d21hf)kE7;WU z(Eb<_V}M?WiBM@u3pIg+pf~b^QhLEo2;b$i_9{wRFuOZ9-oBZ$`|i%{zHiGs$(x(Z ze$3f9JG1AUIWw0;B9TZW5{X12kw_#Gi9{liNF>_lkfCm4V`l)z1M`6sfMb9U1G9i5 zfZf2P`#lFd1w4&byN5vfz8EeA82bU>bHG{dw*WZ2!JRT?`~}zoJcL%ywjga32Co2P z4+YKyE&?t9j%uNn$AI4h>(Odg3-@o#;1p22?Mr~`-0;!`dx1NEm1y9WXS1O0mhyU{2Dm1(|TpH9jp~wXvpr!L+XcV;AHf zKlo%HXJ?JN8TbRR39VjkSm#XObl^PT8^Fi=yz=L6SlZjD-UhU*0Anu&*7adZz7G5n zSlhVKWf?MGVifo;a84grWajJF(CUq-atO4i0Ap_gR#cqzRzCg~4gas!Wcj~Lp8a%WJhXWA4cz5#jp#7_4*7pTzUPXVL2Uw#1050AsHJep_-zX3<=TRxd`aHw0rZcNW@V z!dQzD8&$_q0Nf7D5sr-kSD@9tNOiS?R^z~zfVYMF zuW&w1RKgWtY!*;kC>-7DhMnPV{3*10B=4zyX5^Neu}#9`B4G+Jb~f-c;pi*CVzhcE znzUV@)xFMF@Np7wO-w05dq8IEf6P;!MH?4I_iDT2ht4DRaU;ea6HAij3MhoQN;tX> zt+qD4_n;|;%w@oTJ(6UW($%pf4Cw*a2@%I#xrck8qt!${apUJZ82gbJPuNTW#(og^ zws7>PX!T~0RKvq6z&DI$Ui8u!QqF96-B(?9LNA%HxAk=gV|@X!ooKbQ;k6R|-P4Cw zZ)5Blp(kkImPYrTMpFeW5z1HRLib1JHTSaIy>(Uiu9Y#_JPzaTw;8R*YFzyr=Y$>I zQ+{IZ7ijg@TC(&|e+V*mju6h>=Q0n5l@a%0U5~MEU~E;iwm_>%=jHoY9Qv$Hz5!Pbh!9sQ{gj`6XIq*41exy|VUoKQPg0Y_}5oL#qarH7kMEtr6kn(FLLWJm)!UvGPSMvOD zF`4AcvM!t0ucWR5q|D_`a%dtVIbu~Nsc-m_rZM}Xt^#_!!6~GvykSM^0V5Ui`kr&9 z%k*wUT?HH=l>fV_00W_EY)F35I#YlzK8{P0eLo-#!Hts*>MB6WjcH?5OMCPee(>RY z&b=Yo9(5HUb-|A|6<|O}V||r3?^E1l$RpHMz)M28$2 zAT8$^mK8766vL0?^_KO3`9c(UM~FCe6(BiWr-TU6F)M|kWURtEI#nnSiUQPAK#{}$ z56_W#7#rjfc7n0DmAw6BfjHbeh>s^iL~jy~meNh?%+q#DHivBN10{{W$`eWLMOs}G zlz!7>PB;_vGEe#WB{N6;GV11UV_iGqeq}+n@ydB(aTiZLQWb*sK!Pt2vNyfj3(f9-@K&#i>#v4ACVr)>l#y}}n*RK`kKPKI($|!^` z&{*Zx{q}N5p3Z0Npthq4Wrf>B%E!&_<%>d?0*Z0|dg18Y+)RtSrmA&}{R;2{p_*;6 z4U9PJgpIwwWTD=eTPrsF3-ydW!#P(zQ+l6UH6LtxPAAqf)g{jQ@sXu^{LYQ5!;7(5 z$l}jJy&~=_$?w^g@95aVHU*^JQVzD=Ql?1z1@%qZG0V>ZzGK!DY0tPy(yod7 zbCB(tI7QkwR3z=3`@YyYcRFeB=>15$rw^F){{se0`VSfdCjAeYL?V$$Boc{4B9TZW f5{X2j3xNLtYfLWC+4bhf00000NkvXXu0mjfov-KK diff --git a/doc/html/doxygen.svg b/doc/html/doxygen.svg index d42dad5..79a7635 100644 --- a/doc/html/doxygen.svg +++ b/doc/html/doxygen.svg @@ -1,4 +1,6 @@ + @@ -17,7 +19,7 @@ - + diff --git a/doc/html/doxygen_crawl.html b/doc/html/doxygen_crawl.html new file mode 100644 index 0000000..d501fe8 --- /dev/null +++ b/doc/html/doxygen_crawl.html @@ -0,0 +1,446 @@ + + + +Validator / crawler helper + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/html/driver__bmp384_8c.html b/doc/html/driver__bmp384_8c.html index 35d77d9..96fd32e 100644 --- a/doc/html/driver__bmp384_8c.html +++ b/doc/html/driver__bmp384_8c.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: src/driver_bmp384.c File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384.c File Reference
+
driver_bmp384.c File Reference

driver bmp384 source file More...

#include "driver_bmp384.h"
+
+Include dependency graph for driver_bmp384.c:
+
+
+

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+

Macros

#define CHIP_NAME   "Bosch BMP384"
 chip information definition More...
 
#define MANUFACTURER_NAME   "Bosch"
 
#define SUPPLY_VOLTAGE_MIN   1.65f
 
#define SUPPLY_VOLTAGE_MAX   3.6f
 
#define MAX_CURRENT   0.8f
 
#define TEMPERATURE_MIN   -40.0f
 
#define TEMPERATURE_MAX   85.0f
 
#define DRIVER_VERSION   1000
 
#define BMP384_REG_CMD   0x7E
 chip register definition More...
 
#define BMP384_REG_NVM_PAR_T1_L   0x31
 
#define BMP384_REG_NVM_PAR_T1_H   0x32
 
#define BMP384_REG_NVM_PAR_T2_L   0x33
 
#define BMP384_REG_NVM_PAR_T2_H   0x34
 
#define BMP384_REG_NVM_PAR_T3   0x35
 
#define BMP384_REG_NVM_PAR_P1_L   0x36
 
#define BMP384_REG_NVM_PAR_P1_H   0x37
 
#define BMP384_REG_NVM_PAR_P2_L   0x38
 
#define BMP384_REG_NVM_PAR_P2_H   0x39
 
#define BMP384_REG_NVM_PAR_P3   0x3A
 
#define BMP384_REG_NVM_PAR_P4   0x3B
 
#define BMP384_REG_NVM_PAR_P5_L   0x3C
 
#define BMP384_REG_NVM_PAR_P5_H   0x3D
 
#define BMP384_REG_NVM_PAR_P6_L   0x3E
 
#define BMP384_REG_NVM_PAR_P6_H   0x3F
 
#define BMP384_REG_NVM_PAR_P7   0x40
 
#define BMP384_REG_NVM_PAR_P8   0x41
 
#define BMP384_REG_NVM_PAR_P9_L   0x42
 
#define BMP384_REG_NVM_PAR_P9_H   0x43
 
#define BMP384_REG_NVM_PAR_P10   0x44
 
#define BMP384_REG_NVM_PAR_P11   0x45
 
#define BMP384_REG_CONFIG   0x1F
 
#define BMP384_REG_ODR   0x1D
 
#define BMP384_REG_OSR   0x1C
 
#define BMP384_REG_PWR_CTRL   0x1B
 
#define BMP384_REG_IF_CONF   0x1A
 
#define BMP384_REG_INT_CTRL   0x19
 
#define BMP384_REG_FIFO_CONFIG_2   0x18
 
#define BMP384_REG_FIFO_CONFIG_1   0x17
 
#define BMP384_REG_FIFO_WTM_1   0x16
 
#define BMP384_REG_FIFO_WTM_0   0x15
 
#define BMP384_REG_FIFO_DATA   0x14
 
#define BMP384_REG_FIFO_LENGTH_1   0x13
 
#define BMP384_REG_FIFO_LENGTH_0   0x12
 
#define BMP384_REG_INT_STATUS   0x11
 
#define BMP384_REG_EVENT   0x10
 
#define BMP384_REG_SENSORTIME_2   0x0E
 
#define BMP384_REG_SENSORTIME_1   0x0D
 
#define BMP384_REG_SENSORTIME_0   0x0C
 
#define BMP384_REG_DATA_5   0x09
 
#define BMP384_REG_DATA_4   0x08
 
#define BMP384_REG_DATA_3   0x07
 
#define BMP384_REG_DATA_2   0x06
 
#define BMP384_REG_DATA_1   0x05
 
#define BMP384_REG_DATA_0   0x04
 
#define BMP384_REG_STATUS   0x03
 
#define BMP384_REG_ERR_REG   0x02
 
#define BMP384_REG_CHIP_ID   0x00
 
#define CHIP_NAME   "Bosch BMP384"
 chip information definition
#define MANUFACTURER_NAME   "Bosch"
#define SUPPLY_VOLTAGE_MIN   1.65f
#define SUPPLY_VOLTAGE_MAX   3.6f
#define MAX_CURRENT   0.8f
#define TEMPERATURE_MIN   -40.0f
#define TEMPERATURE_MAX   85.0f
#define DRIVER_VERSION   1000
#define BMP384_REG_CMD   0x7E
 chip register definition
#define BMP384_REG_NVM_PAR_T1_L   0x31
#define BMP384_REG_NVM_PAR_T1_H   0x32
#define BMP384_REG_NVM_PAR_T2_L   0x33
#define BMP384_REG_NVM_PAR_T2_H   0x34
#define BMP384_REG_NVM_PAR_T3   0x35
#define BMP384_REG_NVM_PAR_P1_L   0x36
#define BMP384_REG_NVM_PAR_P1_H   0x37
#define BMP384_REG_NVM_PAR_P2_L   0x38
#define BMP384_REG_NVM_PAR_P2_H   0x39
#define BMP384_REG_NVM_PAR_P3   0x3A
#define BMP384_REG_NVM_PAR_P4   0x3B
#define BMP384_REG_NVM_PAR_P5_L   0x3C
#define BMP384_REG_NVM_PAR_P5_H   0x3D
#define BMP384_REG_NVM_PAR_P6_L   0x3E
#define BMP384_REG_NVM_PAR_P6_H   0x3F
#define BMP384_REG_NVM_PAR_P7   0x40
#define BMP384_REG_NVM_PAR_P8   0x41
#define BMP384_REG_NVM_PAR_P9_L   0x42
#define BMP384_REG_NVM_PAR_P9_H   0x43
#define BMP384_REG_NVM_PAR_P10   0x44
#define BMP384_REG_NVM_PAR_P11   0x45
#define BMP384_REG_CONFIG   0x1F
#define BMP384_REG_ODR   0x1D
#define BMP384_REG_OSR   0x1C
#define BMP384_REG_PWR_CTRL   0x1B
#define BMP384_REG_IF_CONF   0x1A
#define BMP384_REG_INT_CTRL   0x19
#define BMP384_REG_FIFO_CONFIG_2   0x18
#define BMP384_REG_FIFO_CONFIG_1   0x17
#define BMP384_REG_FIFO_WTM_1   0x16
#define BMP384_REG_FIFO_WTM_0   0x15
#define BMP384_REG_FIFO_DATA   0x14
#define BMP384_REG_FIFO_LENGTH_1   0x13
#define BMP384_REG_FIFO_LENGTH_0   0x12
#define BMP384_REG_INT_STATUS   0x11
#define BMP384_REG_EVENT   0x10
#define BMP384_REG_SENSORTIME_2   0x0E
#define BMP384_REG_SENSORTIME_1   0x0D
#define BMP384_REG_SENSORTIME_0   0x0C
#define BMP384_REG_DATA_5   0x09
#define BMP384_REG_DATA_4   0x08
#define BMP384_REG_DATA_3   0x07
#define BMP384_REG_DATA_2   0x06
#define BMP384_REG_DATA_1   0x05
#define BMP384_REG_DATA_0   0x04
#define BMP384_REG_STATUS   0x03
#define BMP384_REG_ERR_REG   0x02
#define BMP384_REG_CHIP_ID   0x00
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+

Functions

uint8_t bmp384_get_error (bmp384_handle_t *handle, uint8_t *err)
 get the error More...
 
uint8_t bmp384_get_status (bmp384_handle_t *handle, uint8_t *status)
 get the status More...
 
uint8_t bmp384_get_sensortime (bmp384_handle_t *handle, uint32_t *t)
 get the sensor time More...
 
uint8_t bmp384_get_event (bmp384_handle_t *handle, bmp384_event_t *event)
 get the event More...
 
uint8_t bmp384_get_interrupt_status (bmp384_handle_t *handle, uint8_t *status)
 get the interrupt status More...
 
uint8_t bmp384_get_fifo_length (bmp384_handle_t *handle, uint16_t *length)
 get the fifo length More...
 
uint8_t bmp384_get_fifo_data (bmp384_handle_t *handle, uint8_t *data, uint16_t length)
 get the fifo data More...
 
uint8_t bmp384_set_fifo_watermark (bmp384_handle_t *handle, uint16_t watermark)
 set the fifo watermark More...
 
uint8_t bmp384_get_fifo_watermark (bmp384_handle_t *handle, uint16_t *watermark)
 get the fifo watermark More...
 
uint8_t bmp384_set_fifo (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo More...
 
uint8_t bmp384_get_fifo (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo status More...
 
uint8_t bmp384_set_fifo_stop_on_full (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo stopping on full More...
 
uint8_t bmp384_get_fifo_stop_on_full (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo stopping on full status More...
 
uint8_t bmp384_set_fifo_sensortime_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo sensor time on More...
 
uint8_t bmp384_get_fifo_sensortime_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo sensor time on status More...
 
uint8_t bmp384_set_fifo_pressure_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo pressure on More...
 
uint8_t bmp384_get_fifo_pressure_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo pressure on status More...
 
uint8_t bmp384_set_fifo_temperature_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo temperature on More...
 
uint8_t bmp384_get_fifo_temperature_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo temperature on status More...
 
uint8_t bmp384_set_fifo_subsampling (bmp384_handle_t *handle, uint8_t subsample)
 set the fifo subsampling More...
 
uint8_t bmp384_get_fifo_subsampling (bmp384_handle_t *handle, uint8_t *subsample)
 get the fifo subsampling More...
 
uint8_t bmp384_set_fifo_data_source (bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
 set the fifo data source More...
 
uint8_t bmp384_get_fifo_data_source (bmp384_handle_t *handle, bmp384_fifo_data_source_t *source)
 get the fifo data source More...
 
uint8_t bmp384_set_interrupt_pin_type (bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
 set the interrupt pin type More...
 
uint8_t bmp384_get_interrupt_pin_type (bmp384_handle_t *handle, bmp384_interrupt_pin_type_t *pin_type)
 get the interrupt pin type More...
 
uint8_t bmp384_set_interrupt_active_level (bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
 set the interrupt active level More...
 
uint8_t bmp384_get_interrupt_active_level (bmp384_handle_t *handle, bmp384_interrupt_active_level_t *level)
 get the interrupt active level More...
 
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable latching interrupt pin and interrupt status More...
 
uint8_t bmp384_get_latch_interrupt_pin_and_interrupt_status (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get latching interrupt pin and interrupt status More...
 
uint8_t bmp384_set_interrupt_fifo_watermark (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo watermark interrupt More...
 
uint8_t bmp384_get_interrupt_fifo_watermark (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt fifo watermark More...
 
uint8_t bmp384_set_interrupt_fifo_full (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo full interrupt More...
 
uint8_t bmp384_get_interrupt_fifo_full (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt fifo full More...
 
uint8_t bmp384_set_interrupt_data_ready (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the data ready interrupt More...
 
uint8_t bmp384_get_interrupt_data_ready (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt data ready status More...
 
uint8_t bmp384_set_spi_wire (bmp384_handle_t *handle, bmp384_spi_wire_t wire)
 set the spi wire More...
 
uint8_t bmp384_get_spi_wire (bmp384_handle_t *handle, bmp384_spi_wire_t *wire)
 get the spi wire More...
 
uint8_t bmp384_set_iic_watchdog_timer (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the iic watchdog timer More...
 
uint8_t bmp384_get_iic_watchdog_timer (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the iic watchdog timer status More...
 
uint8_t bmp384_set_iic_watchdog_period (bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
 set the iic watchdog period More...
 
uint8_t bmp384_get_iic_watchdog_period (bmp384_handle_t *handle, bmp384_iic_watchdog_period_t *period)
 get the iic watchdog period More...
 
uint8_t bmp384_set_pressure (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the pressure More...
 
uint8_t bmp384_get_pressure (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the pressure status More...
 
uint8_t bmp384_set_temperature (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the temperature More...
 
uint8_t bmp384_get_temperature (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the temperature status More...
 
uint8_t bmp384_set_mode (bmp384_handle_t *handle, bmp384_mode_t mode)
 set the chip mode More...
 
uint8_t bmp384_get_mode (bmp384_handle_t *handle, bmp384_mode_t *mode)
 get the chip mode More...
 
uint8_t bmp384_set_pressure_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
 set the pressure oversampling More...
 
uint8_t bmp384_get_pressure_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
 get the pressure oversampling More...
 
uint8_t bmp384_set_temperature_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
 set the temperature oversampling More...
 
uint8_t bmp384_get_temperature_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
 get the temperature oversampling More...
 
uint8_t bmp384_set_odr (bmp384_handle_t *handle, bmp384_odr_t odr)
 set the output data rate More...
 
uint8_t bmp384_get_odr (bmp384_handle_t *handle, bmp384_odr_t *odr)
 get the output data rate More...
 
uint8_t bmp384_set_filter_coefficient (bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
 set the filter coefficient More...
 
uint8_t bmp384_get_filter_coefficient (bmp384_handle_t *handle, bmp384_filter_coefficient_t *coefficient)
 get the filter coefficient More...
 
uint8_t bmp384_flush_fifo (bmp384_handle_t *handle)
 flush the fifo More...
 
uint8_t bmp384_softreset (bmp384_handle_t *handle)
 soft reset More...
 
uint8_t bmp384_extmode_en_middle (bmp384_handle_t *handle)
 extmode enable middle More...
 
uint8_t bmp384_init (bmp384_handle_t *handle)
 initialize the chip More...
 
uint8_t bmp384_deinit (bmp384_handle_t *handle)
 close the chip More...
 
uint8_t bmp384_read_temperature (bmp384_handle_t *handle, uint32_t *raw, float *c)
 read the temperature More...
 
uint8_t bmp384_read_pressure (bmp384_handle_t *handle, uint32_t *raw, float *pa)
 read the pressure More...
 
uint8_t bmp384_read_temperature_pressure (bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
 read the temperature and pressure More...
 
uint8_t bmp384_irq_handler (bmp384_handle_t *handle)
 irq handler More...
 
uint8_t bmp384_set_addr_pin (bmp384_handle_t *handle, bmp384_address_t addr_pin)
 set the iic address pin More...
 
uint8_t bmp384_get_addr_pin (bmp384_handle_t *handle, bmp384_address_t *addr_pin)
 get the iic address pin More...
 
uint8_t bmp384_set_interface (bmp384_handle_t *handle, bmp384_interface_t interface)
 set the interface More...
 
uint8_t bmp384_get_interface (bmp384_handle_t *handle, bmp384_interface_t *interface)
 get the interface More...
 
uint8_t bmp384_read_fifo (bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
 read the fifo More...
 
uint8_t bmp384_fifo_parse (bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
 parse the fifo data More...
 
uint8_t bmp384_set_reg (bmp384_handle_t *handle, uint8_t reg, uint8_t value)
 set the chip register More...
 
uint8_t bmp384_get_reg (bmp384_handle_t *handle, uint8_t reg, uint8_t *value)
 get the chip register More...
 
uint8_t bmp384_info (bmp384_info_t *info)
 get chip's information More...
 
uint8_t bmp384_get_error (bmp384_handle_t *handle, uint8_t *err)
 get the error
uint8_t bmp384_get_status (bmp384_handle_t *handle, uint8_t *status)
 get the status
uint8_t bmp384_get_sensortime (bmp384_handle_t *handle, uint32_t *t)
 get the sensor time
uint8_t bmp384_get_event (bmp384_handle_t *handle, bmp384_event_t *event)
 get the event
uint8_t bmp384_get_interrupt_status (bmp384_handle_t *handle, uint8_t *status)
 get the interrupt status
uint8_t bmp384_get_fifo_length (bmp384_handle_t *handle, uint16_t *length)
 get the fifo length
uint8_t bmp384_get_fifo_data (bmp384_handle_t *handle, uint8_t *data, uint16_t length)
 get the fifo data
uint8_t bmp384_set_fifo_watermark (bmp384_handle_t *handle, uint16_t watermark)
 set the fifo watermark
uint8_t bmp384_get_fifo_watermark (bmp384_handle_t *handle, uint16_t *watermark)
 get the fifo watermark
uint8_t bmp384_set_fifo (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo
uint8_t bmp384_get_fifo (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo status
uint8_t bmp384_set_fifo_stop_on_full (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo stopping on full
uint8_t bmp384_get_fifo_stop_on_full (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo stopping on full status
uint8_t bmp384_set_fifo_sensortime_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo sensor time on
uint8_t bmp384_get_fifo_sensortime_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo sensor time on status
uint8_t bmp384_set_fifo_pressure_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo pressure on
uint8_t bmp384_get_fifo_pressure_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo pressure on status
uint8_t bmp384_set_fifo_temperature_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo temperature on
uint8_t bmp384_get_fifo_temperature_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo temperature on status
uint8_t bmp384_set_fifo_subsampling (bmp384_handle_t *handle, uint8_t subsample)
 set the fifo subsampling
uint8_t bmp384_get_fifo_subsampling (bmp384_handle_t *handle, uint8_t *subsample)
 get the fifo subsampling
uint8_t bmp384_set_fifo_data_source (bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
 set the fifo data source
uint8_t bmp384_get_fifo_data_source (bmp384_handle_t *handle, bmp384_fifo_data_source_t *source)
 get the fifo data source
uint8_t bmp384_set_interrupt_pin_type (bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
 set the interrupt pin type
uint8_t bmp384_get_interrupt_pin_type (bmp384_handle_t *handle, bmp384_interrupt_pin_type_t *pin_type)
 get the interrupt pin type
uint8_t bmp384_set_interrupt_active_level (bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
 set the interrupt active level
uint8_t bmp384_get_interrupt_active_level (bmp384_handle_t *handle, bmp384_interrupt_active_level_t *level)
 get the interrupt active level
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable latching interrupt pin and interrupt status
uint8_t bmp384_get_latch_interrupt_pin_and_interrupt_status (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get latching interrupt pin and interrupt status
uint8_t bmp384_set_interrupt_fifo_watermark (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo watermark interrupt
uint8_t bmp384_get_interrupt_fifo_watermark (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt fifo watermark
uint8_t bmp384_set_interrupt_fifo_full (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo full interrupt
uint8_t bmp384_get_interrupt_fifo_full (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt fifo full
uint8_t bmp384_set_interrupt_data_ready (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the data ready interrupt
uint8_t bmp384_get_interrupt_data_ready (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt data ready status
uint8_t bmp384_set_spi_wire (bmp384_handle_t *handle, bmp384_spi_wire_t wire)
 set the spi wire
uint8_t bmp384_get_spi_wire (bmp384_handle_t *handle, bmp384_spi_wire_t *wire)
 get the spi wire
uint8_t bmp384_set_iic_watchdog_timer (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the iic watchdog timer
uint8_t bmp384_get_iic_watchdog_timer (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the iic watchdog timer status
uint8_t bmp384_set_iic_watchdog_period (bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
 set the iic watchdog period
uint8_t bmp384_get_iic_watchdog_period (bmp384_handle_t *handle, bmp384_iic_watchdog_period_t *period)
 get the iic watchdog period
uint8_t bmp384_set_pressure (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the pressure
uint8_t bmp384_get_pressure (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the pressure status
uint8_t bmp384_set_temperature (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the temperature
uint8_t bmp384_get_temperature (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the temperature status
uint8_t bmp384_set_mode (bmp384_handle_t *handle, bmp384_mode_t mode)
 set the chip mode
uint8_t bmp384_get_mode (bmp384_handle_t *handle, bmp384_mode_t *mode)
 get the chip mode
uint8_t bmp384_set_pressure_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
 set the pressure oversampling
uint8_t bmp384_get_pressure_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
 get the pressure oversampling
uint8_t bmp384_set_temperature_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
 set the temperature oversampling
uint8_t bmp384_get_temperature_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
 get the temperature oversampling
uint8_t bmp384_set_odr (bmp384_handle_t *handle, bmp384_odr_t odr)
 set the output data rate
uint8_t bmp384_get_odr (bmp384_handle_t *handle, bmp384_odr_t *odr)
 get the output data rate
uint8_t bmp384_set_filter_coefficient (bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
 set the filter coefficient
uint8_t bmp384_get_filter_coefficient (bmp384_handle_t *handle, bmp384_filter_coefficient_t *coefficient)
 get the filter coefficient
uint8_t bmp384_flush_fifo (bmp384_handle_t *handle)
 flush the fifo
uint8_t bmp384_softreset (bmp384_handle_t *handle)
 soft reset
uint8_t bmp384_extmode_en_middle (bmp384_handle_t *handle)
 extmode enable middle
uint8_t bmp384_init (bmp384_handle_t *handle)
 initialize the chip
uint8_t bmp384_deinit (bmp384_handle_t *handle)
 close the chip
uint8_t bmp384_read_temperature (bmp384_handle_t *handle, uint32_t *raw, float *c)
 read the temperature
uint8_t bmp384_read_pressure (bmp384_handle_t *handle, uint32_t *raw, float *pa)
 read the pressure
uint8_t bmp384_read_temperature_pressure (bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
 read the temperature and pressure
uint8_t bmp384_irq_handler (bmp384_handle_t *handle)
 irq handler
uint8_t bmp384_set_addr_pin (bmp384_handle_t *handle, bmp384_address_t addr_pin)
 set the iic address pin
uint8_t bmp384_get_addr_pin (bmp384_handle_t *handle, bmp384_address_t *addr_pin)
 get the iic address pin
uint8_t bmp384_set_interface (bmp384_handle_t *handle, bmp384_interface_t interface)
 set the interface
uint8_t bmp384_get_interface (bmp384_handle_t *handle, bmp384_interface_t *interface)
 get the interface
uint8_t bmp384_read_fifo (bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
 read the fifo
uint8_t bmp384_fifo_parse (bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
 parse the fifo data
uint8_t bmp384_set_reg (bmp384_handle_t *handle, uint8_t reg, uint8_t value)
 set the chip register
uint8_t bmp384_get_reg (bmp384_handle_t *handle, uint8_t reg, uint8_t *value)
 get the chip register
uint8_t bmp384_info (bmp384_info_t *info)
 get chip's information
-

Detailed Description

+

Detailed Description

driver bmp384 source file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -458,9 +336,9 @@

history

Definition in file driver_bmp384.c.

-

Macro Definition Documentation

- -

◆ BMP384_REG_CHIP_ID

+

Macro Definition Documentation

+ +

◆ BMP384_REG_CHIP_ID

@@ -476,8 +354,8 @@

-

◆ BMP384_REG_CMD

+ +

◆ BMP384_REG_CMD

@@ -495,8 +373,8 @@

-

◆ BMP384_REG_CONFIG

+ +

◆ BMP384_REG_CONFIG

@@ -512,8 +390,8 @@

-

◆ BMP384_REG_DATA_0

+ +

◆ BMP384_REG_DATA_0

@@ -529,8 +407,8 @@

-

◆ BMP384_REG_DATA_1

+ +

◆ BMP384_REG_DATA_1

@@ -546,8 +424,8 @@

-

◆ BMP384_REG_DATA_2

+ +

◆ BMP384_REG_DATA_2

@@ -563,8 +441,8 @@

-

◆ BMP384_REG_DATA_3

+ +

◆ BMP384_REG_DATA_3

@@ -580,8 +458,8 @@

-

◆ BMP384_REG_DATA_4

+ +

◆ BMP384_REG_DATA_4

@@ -597,8 +475,8 @@

-

◆ BMP384_REG_DATA_5

+ +

◆ BMP384_REG_DATA_5

@@ -614,8 +492,8 @@

-

◆ BMP384_REG_ERR_REG

+ +

◆ BMP384_REG_ERR_REG

@@ -631,8 +509,8 @@

-

◆ BMP384_REG_EVENT

+ +

◆ BMP384_REG_EVENT

@@ -648,8 +526,8 @@

-

◆ BMP384_REG_FIFO_CONFIG_1

+ +

◆ BMP384_REG_FIFO_CONFIG_1

@@ -665,8 +543,8 @@

-

◆ BMP384_REG_FIFO_CONFIG_2

+ +

◆ BMP384_REG_FIFO_CONFIG_2

@@ -682,8 +560,8 @@

-

◆ BMP384_REG_FIFO_DATA

+ +

◆ BMP384_REG_FIFO_DATA

@@ -699,8 +577,8 @@

-

◆ BMP384_REG_FIFO_LENGTH_0

+ +

◆ BMP384_REG_FIFO_LENGTH_0

@@ -716,8 +594,8 @@

-

◆ BMP384_REG_FIFO_LENGTH_1

+ +

◆ BMP384_REG_FIFO_LENGTH_1

@@ -733,8 +611,8 @@

-

◆ BMP384_REG_FIFO_WTM_0

+ +

◆ BMP384_REG_FIFO_WTM_0

@@ -750,8 +628,8 @@

-

◆ BMP384_REG_FIFO_WTM_1

+ +

◆ BMP384_REG_FIFO_WTM_1

@@ -767,8 +645,8 @@

-

◆ BMP384_REG_IF_CONF

+ +

◆ BMP384_REG_IF_CONF

@@ -784,8 +662,8 @@

-

◆ BMP384_REG_INT_CTRL

+ +

◆ BMP384_REG_INT_CTRL

@@ -801,8 +679,8 @@

-

◆ BMP384_REG_INT_STATUS

+ +

◆ BMP384_REG_INT_STATUS

@@ -818,8 +696,8 @@

-

◆ BMP384_REG_NVM_PAR_P10

+ +

◆ BMP384_REG_NVM_PAR_P10

@@ -835,8 +713,8 @@

-

◆ BMP384_REG_NVM_PAR_P11

+ +

◆ BMP384_REG_NVM_PAR_P11

@@ -852,8 +730,8 @@

-

◆ BMP384_REG_NVM_PAR_P1_H

+ +

◆ BMP384_REG_NVM_PAR_P1_H

@@ -869,8 +747,8 @@

-

◆ BMP384_REG_NVM_PAR_P1_L

+ +

◆ BMP384_REG_NVM_PAR_P1_L

@@ -886,8 +764,8 @@

-

◆ BMP384_REG_NVM_PAR_P2_H

+ +

◆ BMP384_REG_NVM_PAR_P2_H

@@ -903,8 +781,8 @@

-

◆ BMP384_REG_NVM_PAR_P2_L

+ +

◆ BMP384_REG_NVM_PAR_P2_L

@@ -920,8 +798,8 @@

-

◆ BMP384_REG_NVM_PAR_P3

+ +

◆ BMP384_REG_NVM_PAR_P3

@@ -937,8 +815,8 @@

-

◆ BMP384_REG_NVM_PAR_P4

+ +

◆ BMP384_REG_NVM_PAR_P4

@@ -954,8 +832,8 @@

-

◆ BMP384_REG_NVM_PAR_P5_H

+ +

◆ BMP384_REG_NVM_PAR_P5_H

@@ -971,8 +849,8 @@

-

◆ BMP384_REG_NVM_PAR_P5_L

+ +

◆ BMP384_REG_NVM_PAR_P5_L

@@ -988,8 +866,8 @@

-

◆ BMP384_REG_NVM_PAR_P6_H

+ +

◆ BMP384_REG_NVM_PAR_P6_H

@@ -1005,8 +883,8 @@

-

◆ BMP384_REG_NVM_PAR_P6_L

+ +

◆ BMP384_REG_NVM_PAR_P6_L

@@ -1022,8 +900,8 @@

-

◆ BMP384_REG_NVM_PAR_P7

+ +

◆ BMP384_REG_NVM_PAR_P7

@@ -1039,8 +917,8 @@

-

◆ BMP384_REG_NVM_PAR_P8

+ +

◆ BMP384_REG_NVM_PAR_P8

@@ -1056,8 +934,8 @@

-

◆ BMP384_REG_NVM_PAR_P9_H

+ +

◆ BMP384_REG_NVM_PAR_P9_H

@@ -1073,8 +951,8 @@

-

◆ BMP384_REG_NVM_PAR_P9_L

+ +

◆ BMP384_REG_NVM_PAR_P9_L

@@ -1090,8 +968,8 @@

-

◆ BMP384_REG_NVM_PAR_T1_H

+ +

◆ BMP384_REG_NVM_PAR_T1_H

@@ -1107,8 +985,8 @@

-

◆ BMP384_REG_NVM_PAR_T1_L

+ +

◆ BMP384_REG_NVM_PAR_T1_L

@@ -1124,8 +1002,8 @@

-

◆ BMP384_REG_NVM_PAR_T2_H

+ +

◆ BMP384_REG_NVM_PAR_T2_H

@@ -1141,8 +1019,8 @@

-

◆ BMP384_REG_NVM_PAR_T2_L

+ +

◆ BMP384_REG_NVM_PAR_T2_L

@@ -1158,8 +1036,8 @@

-

◆ BMP384_REG_NVM_PAR_T3

+ +

◆ BMP384_REG_NVM_PAR_T3

@@ -1175,8 +1053,8 @@

-

◆ BMP384_REG_ODR

+ +

◆ BMP384_REG_ODR

@@ -1192,8 +1070,8 @@

-

◆ BMP384_REG_OSR

+ +

◆ BMP384_REG_OSR

@@ -1209,8 +1087,8 @@

-

◆ BMP384_REG_PWR_CTRL

+ +

◆ BMP384_REG_PWR_CTRL

@@ -1226,8 +1104,8 @@

-

◆ BMP384_REG_SENSORTIME_0

+ +

◆ BMP384_REG_SENSORTIME_0

@@ -1243,8 +1121,8 @@

-

◆ BMP384_REG_SENSORTIME_1

+ +

◆ BMP384_REG_SENSORTIME_1

@@ -1260,8 +1138,8 @@

-

◆ BMP384_REG_SENSORTIME_2

+ +

◆ BMP384_REG_SENSORTIME_2

@@ -1277,8 +1155,8 @@

-

◆ BMP384_REG_STATUS

+ +

◆ BMP384_REG_STATUS

@@ -1294,8 +1172,8 @@

-

◆ CHIP_NAME

+ +

◆ CHIP_NAME

@@ -1313,8 +1191,8 @@

-

◆ DRIVER_VERSION

+ +

◆ DRIVER_VERSION

@@ -1330,8 +1208,8 @@

-

◆ MANUFACTURER_NAME

+ +

◆ MANUFACTURER_NAME

@@ -1347,8 +1225,8 @@

-

◆ MAX_CURRENT

+ +

◆ MAX_CURRENT

@@ -1364,8 +1242,8 @@

-

◆ SUPPLY_VOLTAGE_MAX

+ +

◆ SUPPLY_VOLTAGE_MAX

@@ -1381,8 +1259,8 @@

-

◆ SUPPLY_VOLTAGE_MIN

+ +

◆ SUPPLY_VOLTAGE_MIN

@@ -1398,8 +1276,8 @@

-

◆ TEMPERATURE_MAX

+ +

◆ TEMPERATURE_MAX

@@ -1415,8 +1293,8 @@

-

◆ TEMPERATURE_MIN

+ +

◆ TEMPERATURE_MIN

@@ -1434,11 +1312,19 @@

+ + +

+
diff --git a/doc/html/driver__bmp384_8c__incl.md5 b/doc/html/driver__bmp384_8c__incl.md5 new file mode 100644 index 0000000..0605a17 --- /dev/null +++ b/doc/html/driver__bmp384_8c__incl.md5 @@ -0,0 +1 @@ +9976c42b63dbd55e3001daeeba4c20f8 \ No newline at end of file diff --git a/doc/html/driver__bmp384_8c__incl.svg b/doc/html/driver__bmp384_8c__incl.svg new file mode 100644 index 0000000..2c6e32e --- /dev/null +++ b/doc/html/driver__bmp384_8c__incl.svg @@ -0,0 +1,93 @@ + + + + + + +src/driver_bmp384.c + + +Node1 + + +src/driver_bmp384.c + + + + + +Node2 + + +driver_bmp384.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +stdint.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +stdio.h + + + + + +Node2->Node4 + + + + + + + + +Node5 + + +string.h + + + + + +Node2->Node5 + + + + + + + + diff --git a/doc/html/driver__bmp384_8c_source.html b/doc/html/driver__bmp384_8c_source.html index 57d99b0..9c07768 100644 --- a/doc/html/driver__bmp384_8c_source.html +++ b/doc/html/driver__bmp384_8c_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: src/driver_bmp384.c Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +

@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384.c
+
driver_bmp384.c
-Go to the documentation of this file.
1 
-
37 #include "driver_bmp384.h"
-
38 
-
42 #define CHIP_NAME "Bosch BMP384"
-
43 #define MANUFACTURER_NAME "Bosch"
-
44 #define SUPPLY_VOLTAGE_MIN 1.65f
-
45 #define SUPPLY_VOLTAGE_MAX 3.6f
-
46 #define MAX_CURRENT 0.8f
-
47 #define TEMPERATURE_MIN -40.0f
-
48 #define TEMPERATURE_MAX 85.0f
-
49 #define DRIVER_VERSION 1000
-
54 #define BMP384_REG_CMD 0x7E
-
55 #define BMP384_REG_NVM_PAR_T1_L 0x31
-
56 #define BMP384_REG_NVM_PAR_T1_H 0x32
-
57 #define BMP384_REG_NVM_PAR_T2_L 0x33
-
58 #define BMP384_REG_NVM_PAR_T2_H 0x34
-
59 #define BMP384_REG_NVM_PAR_T3 0x35
-
60 #define BMP384_REG_NVM_PAR_P1_L 0x36
-
61 #define BMP384_REG_NVM_PAR_P1_H 0x37
-
62 #define BMP384_REG_NVM_PAR_P2_L 0x38
-
63 #define BMP384_REG_NVM_PAR_P2_H 0x39
-
64 #define BMP384_REG_NVM_PAR_P3 0x3A
-
65 #define BMP384_REG_NVM_PAR_P4 0x3B
-
66 #define BMP384_REG_NVM_PAR_P5_L 0x3C
-
67 #define BMP384_REG_NVM_PAR_P5_H 0x3D
-
68 #define BMP384_REG_NVM_PAR_P6_L 0x3E
-
69 #define BMP384_REG_NVM_PAR_P6_H 0x3F
-
70 #define BMP384_REG_NVM_PAR_P7 0x40
-
71 #define BMP384_REG_NVM_PAR_P8 0x41
-
72 #define BMP384_REG_NVM_PAR_P9_L 0x42
-
73 #define BMP384_REG_NVM_PAR_P9_H 0x43
-
74 #define BMP384_REG_NVM_PAR_P10 0x44
-
75 #define BMP384_REG_NVM_PAR_P11 0x45
-
76 #define BMP384_REG_CONFIG 0x1F
-
77 #define BMP384_REG_ODR 0x1D
-
78 #define BMP384_REG_OSR 0x1C
-
79 #define BMP384_REG_PWR_CTRL 0x1B
-
80 #define BMP384_REG_IF_CONF 0x1A
-
81 #define BMP384_REG_INT_CTRL 0x19
-
82 #define BMP384_REG_FIFO_CONFIG_2 0x18
-
83 #define BMP384_REG_FIFO_CONFIG_1 0x17
-
84 #define BMP384_REG_FIFO_WTM_1 0x16
-
85 #define BMP384_REG_FIFO_WTM_0 0x15
-
86 #define BMP384_REG_FIFO_DATA 0x14
-
87 #define BMP384_REG_FIFO_LENGTH_1 0x13
-
88 #define BMP384_REG_FIFO_LENGTH_0 0x12
-
89 #define BMP384_REG_INT_STATUS 0x11
-
90 #define BMP384_REG_EVENT 0x10
-
91 #define BMP384_REG_SENSORTIME_2 0x0E
-
92 #define BMP384_REG_SENSORTIME_1 0x0D
-
93 #define BMP384_REG_SENSORTIME_0 0x0C
-
94 #define BMP384_REG_DATA_5 0x09
-
95 #define BMP384_REG_DATA_4 0x08
-
96 #define BMP384_REG_DATA_3 0x07
-
97 #define BMP384_REG_DATA_2 0x06
-
98 #define BMP384_REG_DATA_1 0x05
-
99 #define BMP384_REG_DATA_0 0x04
-
100 #define BMP384_REG_STATUS 0x03
-
101 #define BMP384_REG_ERR_REG 0x02
-
102 #define BMP384_REG_CHIP_ID 0x00
-
115 static uint8_t a_bmp384_iic_spi_read(bmp384_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len)
-
116 {
-
117  if (handle->iic_spi == BMP384_INTERFACE_IIC) /* iic interface */
-
118  {
-
119  if (handle->iic_read(handle->iic_addr, reg, buf, len) != 0) /* iic read */
-
120  {
-
121  return 1; /* return error */
-
122  }
-
123  else
-
124  {
-
125  return 0; /* success return 0 */
-
126  }
-
127  }
-
128  else /* spi interface */
-
129  {
-
130  reg |= 1 << 7; /* set read mode */
-
131  if (handle->spi_read(reg, handle->buf,
-
132  len > 512 ? (512 + 1) : (len + 1)) != 0) /* spi read */
-
133  {
-
134  return 1; /* return error */
-
135  }
-
136  memcpy(buf, handle->buf+1, (len > 512) ? 512 : len); /* copy data */
-
137 
-
138  return 0; /* success return 0 */
-
139  }
-
140 }
-
141 
-
153 static uint8_t a_bmp384_iic_spi_write(bmp384_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len)
-
154 {
-
155  if (handle->iic_spi == BMP384_INTERFACE_IIC) /* iic interface */
-
156  {
-
157  uint16_t i;
-
158 
-
159  for (i = 0; i < len; i++) /* write data one byte by one byte */
-
160  {
-
161  if (handle->iic_write(handle->iic_addr,
-
162  (uint8_t)(reg + i), buf + i, 1) != 0) /* iic write */
-
163  {
-
164  return 1; /* return error */
-
165  }
-
166  }
-
167 
-
168  return 0; /* success return 0 */
-
169  }
-
170  else
-
171  {
-
172  uint16_t i;
-
173 
-
174  reg &= ~(1 << 7); /* write mode */
-
175  for (i = 0; i < len; i++) /* write data one byte by one byte */
-
176  {
-
177  if (handle->spi_write((uint8_t)(reg + i), buf + i, 1) != 0) /* spi write */
-
178  {
-
179  return 1; /* return error */
-
180  }
-
181  }
-
182 
-
183  return 0; /* success return 0 */
-
184  }
-
185 }
-
186 
-
195 static uint8_t a_bmp384_get_calibration_data(bmp384_handle_t *handle)
-
196 {
-
197  uint8_t buf[2];
-
198 
-
199  if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_T1_L, (uint8_t *)buf, 2) != 0) /* read t1 */
-
200  {
-
201  handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
-
202 
-
203  return 1; /* return error */
-
204  }
-
205  handle->t1 = (uint16_t)buf[1] << 8 | buf[0]; /* set t1 */
-
206  if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_T2_L, (uint8_t *)buf, 2) != 0) /* read t2 */
-
207  {
-
208  handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
-
209 
-
210  return 1; /* return error */
-
211  }
-
212  handle->t2 = (uint16_t)buf[1] << 8 | buf[0]; /* set t2 */
-
213  if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_T3, (uint8_t *)buf, 1) != 0) /* read t3 */
-
214  {
-
215  handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
-
216 
-
217  return 1; /* return error */
-
218  }
-
219  handle->t3 = (int8_t)(buf[0]); /* set t3 */
-
220  if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P1_L, (uint8_t *)buf, 2) != 0) /* read p1 */
-
221  {
-
222  handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
-
223 
-
224  return 1; /* return error */
-
225  }
-
226  handle->p1 = (int16_t)((uint16_t)buf[1] << 8 | buf[0]); /* set p1 */
-
227  if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P2_L, (uint8_t *)buf, 2) != 0) /* read p2 */
-
228  {
-
229  handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
-
230 
-
231  return 1; /* return error */
-
232  }
-
233  handle->p2 = (int16_t)((uint16_t)buf[1] << 8 | buf[0]); /* set p2 */
-
234  if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P3, (uint8_t *)buf, 1) != 0) /* read p3 */
-
235  {
-
236  handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
-
237 
-
238  return 1; /* return error */
-
239  }
-
240  handle->p3 = (int8_t)(buf[0]); /* set p3 */
-
241  if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P4, (uint8_t *)buf, 1) != 0) /* read p4 */
-
242  {
-
243  handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
-
244 
-
245  return 1; /* return error */
-
246  }
-
247  handle->p4 = (int8_t)(buf[0]); /* set p4 */
-
248  if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P5_L, (uint8_t *)buf, 2) != 0) /* read p5 */
-
249  {
-
250  handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
-
251 
-
252  return 1; /* return error */
-
253  }
-
254  handle->p5 = (uint16_t)buf[1] << 8 | buf[0]; /* set p5 */
-
255  if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P6_L, (uint8_t *)buf, 2) != 0) /* read p6l */
-
256  {
-
257  handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
-
258 
-
259  return 1; /* return error */
-
260  }
-
261  handle->p6 = (uint16_t)buf[1] << 8 | buf[0]; /* set p6 */
-
262  if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P7, (uint8_t *)buf, 1) != 0) /* read p7 */
-
263  {
-
264  handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
-
265 
-
266  return 1; /* return error */
-
267  }
-
268  handle->p7 = (int8_t)(buf[0]); /* set p7 */
-
269  if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P8, (uint8_t *)buf, 1) != 0) /* read p8 */
-
270  {
-
271  handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
-
272 
-
273  return 1; /* return error */
-
274  }
-
275  handle->p8 = (int8_t)(buf[0]); /* set p8 */
-
276  if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P9_L, (uint8_t *)buf, 2) != 0) /* read p9l */
-
277  {
-
278  handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
-
279 
-
280  return 1; /* return error */
-
281  }
-
282  handle->p9 = (int16_t)((uint16_t)buf[1] << 8 | buf[0]); /* set p9 */
-
283  if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P10, (uint8_t *)buf, 1) != 0) /* read p10 */
-
284  {
-
285  handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
-
286 
-
287  return 1; /* return error */
-
288  }
-
289  handle->p10 = (int8_t)(buf[0]); /* set p10 */
-
290  if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P11, (uint8_t *)buf, 1) != 0) /* read p11 */
-
291  {
-
292  handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
-
293 
-
294  return 1; /* return error */
-
295  }
-
296  handle->p11 = (int8_t)(buf[0]); /* set p11 */
-
297 
-
298  return 0; /* success return 0 */
-
299 }
-
300 
-
308 static int64_t a_bmp384_compensate_temperature(bmp384_handle_t *handle, uint32_t data)
-
309 {
-
310  uint64_t partial_data1;
-
311  uint64_t partial_data2;
-
312  uint64_t partial_data3;
-
313  int64_t partial_data4;
-
314  int64_t partial_data5;
-
315  int64_t partial_data6;
-
316  int64_t comp_temp;
-
317 
-
318  /* calculate compensate temperature */
-
319  partial_data1 = (uint64_t)(data - (256 * (uint64_t)(handle->t1)));
-
320  partial_data2 = (uint64_t)(handle->t2 * partial_data1);
-
321  partial_data3 = (uint64_t)(partial_data1 * partial_data1);
-
322  partial_data4 = (int64_t)(((int64_t)partial_data3) * ((int64_t)handle->t3));
-
323  partial_data5 = ((int64_t)(((int64_t)partial_data2) * 262144) + (int64_t)partial_data4);
-
324  partial_data6 = (int64_t)(((int64_t)partial_data5) / 4294967296U);
-
325  handle->t_fine = partial_data6;
-
326  comp_temp = (int64_t)((partial_data6 * 25) / 16384);
-
327 
-
328  return comp_temp;
-
329 }
-
330 
-
338 static int64_t a_bmp384_compensate_pressure(bmp384_handle_t *handle, uint32_t data)
-
339 {
-
340  int64_t partial_data1;
-
341  int64_t partial_data2;
-
342  int64_t partial_data3;
-
343  int64_t partial_data4;
-
344  int64_t partial_data5;
-
345  int64_t partial_data6;
-
346  int64_t offset;
-
347  int64_t sensitivity;
-
348  uint64_t comp_press;
-
349 
-
350  /* calculate compensate pressure */
-
351  partial_data1 = handle->t_fine * handle->t_fine;
-
352  partial_data2 = partial_data1 / 64;
-
353  partial_data3 = (partial_data2 * handle->t_fine) / 256;
-
354  partial_data4 = (handle->p8 * partial_data3) / 32;
-
355  partial_data5 = (handle->p7 * partial_data1) * 16;
-
356  partial_data6 = (handle->p6 * handle->t_fine) * 4194304;
-
357  offset = (int64_t)((int64_t)(handle->p5) * (int64_t)140737488355328U) + partial_data4 + partial_data5 + partial_data6;
-
358  partial_data2 = (((int64_t)handle->p4) * partial_data3) / 32;
-
359  partial_data4 = (handle->p3 * partial_data1) * 4;
-
360  partial_data5 = ((int64_t)(handle->p2) - 16384) * ((int64_t)handle->t_fine) * 2097152;
-
361  sensitivity = (((int64_t)(handle->p1) - 16384) * (int64_t)70368744177664U) + partial_data2 + partial_data4 + partial_data5;
-
362  partial_data1 = (sensitivity / 16777216) * data;
-
363  partial_data2 = (int64_t)(handle->p10) * (int64_t)(handle->t_fine);
-
364  partial_data3 = partial_data2 + (65536 * (int64_t)(handle->p9));
-
365  partial_data4 = (partial_data3 * data) / 8192;
-
366  partial_data5 = (partial_data4 * data) / 512;
-
367  partial_data6 = (int64_t)((uint64_t)data * (uint64_t)data);
-
368  partial_data2 = ((int64_t)(handle->p11) * (int64_t)(partial_data6)) / 65536;
-
369  partial_data3 = (partial_data2 * data) / 128;
-
370  partial_data4 = (offset / 4) + partial_data1 + partial_data5 + partial_data3;
-
371  comp_press = (((uint64_t)partial_data4 * 25) / (uint64_t)1099511627776U);
-
372 
-
373  return comp_press;
-
374 }
-
375 
-
387 uint8_t bmp384_get_error(bmp384_handle_t *handle, uint8_t *err)
-
388 {
-
389  uint8_t res;
-
390 
-
391  if (handle == NULL) /* check handle */
-
392  {
-
393  return 2; /* return error */
-
394  }
-
395  if (handle->inited != 1) /* check handle initialization */
-
396  {
-
397  return 3; /* return error */
-
398  }
-
399 
-
400  res = a_bmp384_iic_spi_read(handle, BMP384_REG_ERR_REG, (uint8_t *)err, 1); /* read config */
-
401  if (res != 0) /* check result */
-
402  {
-
403  handle->debug_print("bmp384: get error register failed.\n"); /* get error register failed */
-
404 
-
405  return 1; /* return error */
-
406  }
-
407 
-
408  return 0; /* success return 0 */
-
409 }
-
410 
-
422 uint8_t bmp384_get_status(bmp384_handle_t *handle, uint8_t *status)
-
423 {
-
424  uint8_t res;
-
425 
-
426  if (handle == NULL) /* check handle */
-
427  {
-
428  return 2; /* return error */
-
429  }
-
430  if (handle->inited != 1) /* check handle initialization */
-
431  {
-
432  return 3; /* return error */
-
433  }
-
434 
-
435  res = a_bmp384_iic_spi_read(handle, BMP384_REG_STATUS, (uint8_t *)status, 1); /* read status */
-
436  if (res != 0) /* check result */
-
437  {
-
438  handle->debug_print("bmp384: get status register failed.\n"); /* get status register failed */
-
439 
-
440  return 1; /* return error */
-
441  }
-
442 
-
443  return 0; /* success return 0 */
-
444 }
-
445 
-
457 uint8_t bmp384_get_sensortime(bmp384_handle_t *handle, uint32_t *t)
-
458 {
-
459  uint8_t res;
-
460  uint8_t buf[3];
-
461 
-
462  if (handle == NULL) /* check handle */
-
463  {
-
464  return 2; /* return error */
-
465  }
-
466  if (handle->inited != 1) /* check handle initialization */
-
467  {
-
468  return 3; /* return error */
-
469  }
-
470 
-
471  res = a_bmp384_iic_spi_read(handle, BMP384_REG_SENSORTIME_0, (uint8_t *)buf, 3); /* read config */
-
472  if (res != 0) /* check result */
-
473  {
-
474  handle->debug_print("bmp384: get sensor time register failed.\n"); /* get sensor time register failed */
-
475 
-
476  return 1; /* return error */
-
477  }
-
478  *t = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get time */
-
479 
-
480  return 0; /* success return 0 */
-
481 }
-
482 
- -
495 {
-
496  uint8_t res;
-
497  uint8_t prev;
-
498 
-
499  if (handle == NULL) /* check handle */
-
500  {
-
501  return 2; /* return error */
-
502  }
-
503  if (handle->inited != 1) /* check handle initialization */
-
504  {
-
505  return 3; /* return error */
-
506  }
-
507 
-
508  res = a_bmp384_iic_spi_read(handle, BMP384_REG_EVENT, (uint8_t *)&prev, 1); /* read config */
-
509  if (res != 0) /* check result */
-
510  {
-
511  handle->debug_print("bmp384: get event register failed.\n"); /* get event register failed */
-
512 
-
513  return 1; /* return error */
-
514  }
-
515  *event = (bmp384_event_t)(prev & (1 << 0)); /* get event */
-
516 
-
517  return 0; /* success return 0 */
-
518 }
-
519 
-
531 uint8_t bmp384_get_interrupt_status(bmp384_handle_t *handle, uint8_t *status)
-
532 {
-
533  uint8_t res;
-
534 
-
535  if (handle == NULL) /* check handle */
-
536  {
-
537  return 2; /* return error */
-
538  }
-
539  if (handle->inited != 1) /* check handle initialization */
-
540  {
-
541  return 3; /* return error */
-
542  }
-
543 
-
544  res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_STATUS, (uint8_t *)status, 1); /* read status */
-
545  if (res != 0) /* check result */
-
546  {
-
547  handle->debug_print("bmp384: get interrupt status register failed.\n"); /* get interrupt status register failed */
-
548 
-
549  return 1; /* return error */
-
550  }
-
551 
-
552  return 0; /* success return 0 */
-
553 }
-
554 
-
566 uint8_t bmp384_get_fifo_length(bmp384_handle_t *handle, uint16_t *length)
-
567 {
-
568  uint8_t res;
-
569  uint8_t buf[2];
-
570 
-
571  if (handle == NULL) /* check handle */
-
572  {
-
573  return 2; /* return error */
-
574  }
-
575  if (handle->inited != 1) /* check handle initialization */
-
576  {
-
577  return 3; /* return error */
-
578  }
-
579 
-
580  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_LENGTH_0, (uint8_t *)buf, 2); /* read config */
-
581  if (res != 0) /* check result */
-
582  {
-
583  handle->debug_print("bmp384: get fifo length register failed.\n"); /* get fifo length register failed */
-
584 
-
585  return 1; /* return error */
-
586  }
-
587  *length = ((uint16_t)(buf[1] & 0x01) << 8) | buf[0]; /* get data */
-
588 
-
589  return 0; /* success return 0 */
-
590 }
-
591 
-
604 uint8_t bmp384_get_fifo_data(bmp384_handle_t *handle, uint8_t *data, uint16_t length)
-
605 {
-
606  uint8_t res;
-
607 
-
608  if (handle == NULL) /* check handle */
-
609  {
-
610  return 2; /* return error */
-
611  }
-
612  if (handle->inited != 1) /* check handle initialization */
-
613  {
-
614  return 3; /* return error */
-
615  }
-
616 
-
617  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_DATA, (uint8_t *)data, length); /* read data */
-
618  if (res != 0) /* check result */
-
619  {
-
620  handle->debug_print("bmp384: get fifo data register failed.\n"); /* get fifo data register failed */
-
621 
-
622  return 1; /* return error */
-
623  }
-
624 
-
625  return 0; /* success return 0 */
-
626 }
-
627 
-
639 uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
-
640 {
-
641  uint8_t res;
-
642  uint8_t buf[2];
-
643 
-
644  if (handle == NULL) /* check handle */
-
645  {
-
646  return 2; /* return error */
-
647  }
-
648  if (handle->inited != 1) /* check handle initialization */
-
649  {
-
650  return 3; /* return error */
-
651  }
-
652 
-
653  buf[0] = watermark & 0xFF; /* set low part */
-
654  buf[1] = (watermark >> 8) & 0x01; /* set high part */
-
655  res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_WTM_0, (uint8_t *)buf, 2); /* write config */
-
656  if (res != 0) /* check result */
-
657  {
-
658  handle->debug_print("bmp384: set fifo watermark register failed.\n"); /* set fifo watermark register failed */
-
659 
-
660  return 1; /* return error */
-
661  }
-
662 
-
663  return 0; /* success return 0 */
-
664 }
-
665 
-
677 uint8_t bmp384_get_fifo_watermark(bmp384_handle_t *handle, uint16_t *watermark)
-
678 {
-
679  uint8_t res;
-
680  uint8_t buf[2];
-
681 
-
682  if (handle == NULL) /* check handle */
-
683  {
-
684  return 2; /* return error */
-
685  }
-
686  if (handle->inited != 1) /* check handle initialization */
-
687  {
-
688  return 3; /* return error */
-
689  }
-
690 
-
691  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_WTM_0, (uint8_t *)buf, 2); /* read config */
-
692  if (res != 0) /* check result */
-
693  {
-
694  handle->debug_print("bmp384: get fifo watermark register failed.\n"); /* get fifo watermark register failed */
-
695 
-
696  return 1; /* return error */
-
697  }
-
698  *watermark = ((uint16_t)(buf[1] & 0x01) << 8) | buf[0]; /* get data */
-
699 
-
700  return 0; /* success return 0 */
-
701 }
-
702 
- -
715 {
-
716  uint8_t res;
-
717  uint8_t prev;
-
718 
-
719  if (handle == NULL) /* check handle */
-
720  {
-
721  return 2; /* return error */
-
722  }
-
723  if (handle->inited != 1) /* check handle initialization */
-
724  {
-
725  return 3; /* return error */
-
726  }
-
727 
-
728  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
-
729  if (res != 0) /* check result */
-
730  {
-
731  handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
-
732 
-
733  return 1; /* return error */
-
734  }
-
735  prev &= ~(1 << 0); /* clear config */
-
736  prev |= enable << 0; /* set config */
-
737  res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* write config */
-
738  if (res != 0) /* check result */
-
739  {
-
740  handle->debug_print("bmp384: set fifo config 1 register failed.\n"); /* set fifo config 1 register failed */
-
741 
-
742  return 1; /* return error */
-
743  }
-
744 
-
745  return 0; /* success return 0 */
-
746 }
-
747 
- -
760 {
-
761  uint8_t res;
-
762  uint8_t prev;
-
763 
-
764  if (handle == NULL) /* check handle */
-
765  {
-
766  return 2; /* return error */
-
767  }
-
768  if (handle->inited != 1) /* check handle initialization */
-
769  {
-
770  return 3; /* return error */
-
771  }
-
772 
-
773  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
-
774  if (res != 0) /* check result */
-
775  {
-
776  handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
-
777 
-
778  return 1; /* return error */
-
779  }
-
780  *enable = (bmp384_bool_t)(prev & 0x01); /* get config */
-
781 
-
782  return 0; /* success return 0 */
-
783 }
-
784 
- -
797 {
-
798  uint8_t res;
-
799  uint8_t prev;
-
800 
-
801  if (handle == NULL) /* check handle */
-
802  {
-
803  return 2; /* return error */
-
804  }
-
805  if (handle->inited != 1) /* check handle initialization */
-
806  {
-
807  return 3; /* return error */
-
808  }
-
809 
-
810  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
-
811  if (res != 0) /* check result */
-
812  {
-
813  handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
-
814 
-
815  return 1; /* return error */
-
816  }
-
817  prev &= ~(1 << 1); /* clear config */
-
818  prev |= enable << 1; /* set config */
-
819  res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* write config */
-
820  if (res != 0) /* check result */
-
821  {
-
822  handle->debug_print("bmp384: set fifo config 1 register failed.\n"); /* set fifo config 1 register failed */
-
823 
-
824  return 1; /* return error */
-
825  }
-
826 
-
827  return 0; /* success return 0 */
-
828 }
-
829 
- -
842 {
-
843  uint8_t res;
-
844  uint8_t prev;
-
845 
-
846  if (handle == NULL) /* check handle */
-
847  {
-
848  return 2; /* return error */
-
849  }
-
850  if (handle->inited != 1) /* check handle initialization */
-
851  {
-
852  return 3; /* return error */
-
853  }
-
854 
-
855  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
-
856  if (res != 0) /* check result */
-
857  {
-
858  handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
-
859 
-
860  return 1; /* return error */
-
861  }
-
862  *enable = (bmp384_bool_t)((prev >> 1) & 0x01); /* get config */
-
863 
-
864  return 0; /* success return 0 */
-
865 }
-
866 
- -
879 {
-
880  uint8_t res;
-
881  uint8_t prev;
-
882 
-
883  if (handle == NULL) /* check handle */
-
884  {
-
885  return 2; /* return error */
-
886  }
-
887  if (handle->inited != 1) /* check handle initialization */
-
888  {
-
889  return 3; /* return error */
-
890  }
-
891 
-
892  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
-
893  if (res != 0) /* check result */
-
894  {
-
895  handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
-
896 
-
897  return 1; /* return error */
-
898  }
-
899  prev &= ~(1 << 2); /* clear config */
-
900  prev |= enable << 2; /* set config */
-
901  res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* write config */
-
902  if (res != 0) /* check result */
-
903  {
-
904  handle->debug_print("bmp384: set fifo config 1 register failed.\n"); /* set fifo config 1 register failed */
-
905 
-
906  return 1; /* return error */
-
907  }
-
908 
-
909  return 0; /* success return 0 */
-
910 }
-
911 
- -
924 {
-
925  uint8_t res;
-
926  uint8_t prev;
-
927 
-
928  if (handle == NULL) /* check handle */
-
929  {
-
930  return 2; /* return error */
-
931  }
-
932  if (handle->inited != 1) /* check handle initialization */
-
933  {
-
934  return 3; /* return error */
-
935  }
-
936 
-
937  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
-
938  if (res != 0) /* check result */
-
939  {
-
940  handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
-
941 
-
942  return 1; /* return error */
-
943  }
-
944  *enable = (bmp384_bool_t)((prev >> 2) & 0x01); /* get config */
-
945 
-
946  return 0; /* success return 0 */
-
947 }
-
948 
- -
961 {
-
962  uint8_t res;
-
963  uint8_t prev;
-
964 
-
965  if (handle == NULL) /* check handle */
-
966  {
-
967  return 2; /* return error */
-
968  }
-
969  if (handle->inited != 1) /* check handle initialization */
-
970  {
-
971  return 3; /* return error */
-
972  }
-
973 
-
974  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
-
975  if (res != 0) /* check result */
-
976  {
-
977  handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
-
978 
-
979  return 1; /* return error */
-
980  }
-
981  prev &= ~(1 << 3); /* clear config */
-
982  prev |= enable << 3; /* set config */
-
983  res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* write config */
-
984  if (res != 0) /* check result */
-
985  {
-
986  handle->debug_print("bmp384: set fifo config 1 register failed.\n"); /* set fifo config 1 register failed */
-
987 
-
988  return 1; /* return error */
-
989  }
-
990 
-
991  return 0; /* success return 0 */
-
992 }
-
993 
- -
1006 {
-
1007  uint8_t res;
-
1008  uint8_t prev;
-
1009 
-
1010  if (handle == NULL) /* check handle */
-
1011  {
-
1012  return 2; /* return error */
-
1013  }
-
1014  if (handle->inited != 1) /* check handle initialization */
-
1015  {
-
1016  return 3; /* return error */
-
1017  }
-
1018 
-
1019  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
-
1020  if (res != 0) /* check result */
-
1021  {
-
1022  handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
-
1023 
-
1024  return 1; /* return error */
-
1025  }
-
1026  *enable = (bmp384_bool_t)((prev >> 3) & 0x01); /* get config */
-
1027 
-
1028  return 0; /* success return 0 */
-
1029 }
-
1030 
- -
1043 {
-
1044  uint8_t res;
-
1045  uint8_t prev;
-
1046 
-
1047  if (handle == NULL) /* check handle */
-
1048  {
-
1049  return 2; /* return error */
-
1050  }
-
1051  if (handle->inited != 1) /* check handle initialization */
-
1052  {
-
1053  return 3; /* return error */
-
1054  }
-
1055 
-
1056  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
-
1057  if (res != 0) /* check result */
-
1058  {
-
1059  handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
-
1060 
-
1061  return 1; /* return error */
-
1062  }
-
1063  prev &= ~(1 << 4); /* clear config */
-
1064  prev |= enable << 4; /* set config */
-
1065  res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* write config */
-
1066  if (res != 0) /* check result */
-
1067  {
-
1068  handle->debug_print("bmp384: set fifo config 1 register failed.\n"); /* set fifo config 1 register failed */
-
1069 
-
1070  return 1; /* return error */
-
1071  }
-
1072 
-
1073  return 0; /* success return 0 */
-
1074 }
-
1075 
- -
1088 {
-
1089  uint8_t res;
-
1090  uint8_t prev;
-
1091 
-
1092  if (handle == NULL) /* check handle */
-
1093  {
-
1094  return 2; /* return error */
-
1095  }
-
1096  if (handle->inited != 1) /* check handle initialization */
-
1097  {
-
1098  return 3; /* return error */
-
1099  }
-
1100 
-
1101  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
-
1102  if (res != 0) /* check result */
-
1103  {
-
1104  handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
-
1105 
-
1106  return 1; /* return error */
-
1107  }
-
1108  *enable = (bmp384_bool_t)((prev >> 4) & 0x01); /* get config */
-
1109 
-
1110  return 0; /* success return 0 */
-
1111 }
-
1112 
-
1124 uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
-
1125 {
-
1126  uint8_t res;
-
1127  uint8_t prev;
-
1128 
-
1129  if (handle == NULL) /* check handle */
-
1130  {
-
1131  return 2; /* return error */
-
1132  }
-
1133  if (handle->inited != 1) /* check handle initialization */
-
1134  {
-
1135  return 3; /* return error */
-
1136  }
-
1137 
-
1138  if (subsample > 7) /* check subsample */
-
1139  {
-
1140  handle->debug_print("bmp384: subsample is invalid.\n"); /* subsample is invalid */
-
1141 
-
1142  return 4; /* return error */
-
1143  }
-
1144  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_2, (uint8_t *)&prev, 1); /* read config */
-
1145  if (res != 0) /* check result */
-
1146  {
-
1147  handle->debug_print("bmp384: get fifo config 2 register failed.\n"); /* get fifo config 2 register failed */
-
1148 
-
1149  return 1; /* return error */
-
1150  }
-
1151  prev &= ~(7 << 0); /* clear config */
-
1152  prev |= subsample << 0; /* set config */
-
1153  res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_CONFIG_2, (uint8_t *)&prev, 1); /* write config */
-
1154  if (res != 0) /* check result */
-
1155  {
-
1156  handle->debug_print("bmp384: set fifo config 2 register failed.\n"); /* set fifo config 2 register failed */
-
1157 
-
1158  return 1; /* return error */
-
1159  }
-
1160 
-
1161  return 0; /* success return 0 */
-
1162 }
-
1163 
-
1175 uint8_t bmp384_get_fifo_subsampling(bmp384_handle_t *handle, uint8_t *subsample)
-
1176 {
-
1177  uint8_t res;
-
1178  uint8_t prev;
-
1179 
-
1180  if (handle == NULL) /* check handle */
-
1181  {
-
1182  return 2; /* return error */
-
1183  }
-
1184  if (handle->inited != 1) /* check handle initialization */
-
1185  {
-
1186  return 3; /* return error */
-
1187  }
-
1188 
-
1189  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_2, (uint8_t *)&prev, 1); /* read config */
-
1190  if (res != 0) /* check result */
-
1191  {
-
1192  handle->debug_print("bmp384: get fifo config 2 register failed.\n"); /* get fifo config 2 register failed */
-
1193 
-
1194  return 1; /* return error */
-
1195  }
-
1196  *subsample = (bmp384_bool_t)((prev >> 0) & 0x07); /* get config */
-
1197 
-
1198  return 0; /* success return 0 */
-
1199 }
-
1200 
- -
1213 {
-
1214  uint8_t res;
-
1215  uint8_t prev;
-
1216 
-
1217  if (handle == NULL) /* check handle */
-
1218  {
-
1219  return 2; /* return error */
-
1220  }
-
1221  if (handle->inited != 1) /* check handle initialization */
-
1222  {
-
1223  return 3; /* return error */
-
1224  }
-
1225 
-
1226  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_2, (uint8_t *)&prev, 1); /* read config */
-
1227  if (res != 0) /* check result */
-
1228  {
-
1229  handle->debug_print("bmp384: get fifo config 2 register failed.\n"); /* get fifo config 2 register failed */
-
1230 
-
1231  return 1; /* return error */
-
1232  }
-
1233  prev &= ~(3 << 3); /* clear config */
-
1234  prev |= source << 3; /* set config */
-
1235  res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_CONFIG_2, (uint8_t *)&prev, 1); /* write config */
-
1236  if (res != 0) /* check result */
-
1237  {
-
1238  handle->debug_print("bmp384: set fifo config 2 register failed.\n"); /* set fifo config 2 register failed */
-
1239 
-
1240  return 1; /* return error */
-
1241  }
-
1242 
-
1243  return 0; /* success return 0 */
-
1244 }
-
1245 
- -
1258 {
-
1259  uint8_t res;
-
1260  uint8_t prev;
-
1261 
-
1262  if (handle == NULL) /* check handle */
-
1263  {
-
1264  return 2; /* return error */
-
1265  }
-
1266  if (handle->inited != 1) /* check handle initialization */
-
1267  {
-
1268  return 3; /* return error */
-
1269  }
-
1270 
-
1271  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_2, (uint8_t *)&prev, 1); /* read config */
-
1272  if (res != 0) /* check result */
-
1273  {
-
1274  handle->debug_print("bmp384: get fifo config 2 register failed.\n"); /* get fifo config 2 register failed */
-
1275 
-
1276  return 1; /* return error */
-
1277  }
-
1278  *source = (bmp384_fifo_data_source_t)((prev >> 3) & 0x01); /* get config */
-
1279 
-
1280  return 0; /* success return 0 */
-
1281 }
-
1282 
- -
1295 {
-
1296  uint8_t res;
-
1297  uint8_t prev;
-
1298 
-
1299  if (handle == NULL) /* check handle */
-
1300  {
-
1301  return 2; /* return error */
-
1302  }
-
1303  if (handle->inited != 1) /* check handle initialization */
-
1304  {
-
1305  return 3; /* return error */
-
1306  }
-
1307 
-
1308  res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
-
1309  if (res != 0) /* check result */
-
1310  {
-
1311  handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
-
1312 
-
1313  return 1; /* return error */
-
1314  }
-
1315  prev &= ~(1 << 0); /* clear config */
-
1316  prev |= pin_type << 0; /* set config */
-
1317  res = a_bmp384_iic_spi_write(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* write config */
-
1318  if (res != 0) /* check result */
-
1319  {
-
1320  handle->debug_print("bmp384: set int ctrl register failed.\n"); /* set int ctrl register failed */
-
1321 
-
1322  return 1; /* return error */
-
1323  }
-
1324 
-
1325  return 0; /* success return 0 */
-
1326 }
-
1327 
- -
1340 {
-
1341  uint8_t res;
-
1342  uint8_t prev;
-
1343 
-
1344  if (handle == NULL) /* check handle */
-
1345  {
-
1346  return 2; /* return error */
-
1347  }
-
1348  if (handle->inited != 1) /* check handle initialization */
-
1349  {
-
1350  return 3; /* return error */
-
1351  }
-
1352 
-
1353  res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
-
1354  if (res != 0) /* check result */
-
1355  {
-
1356  handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
-
1357 
-
1358  return 1; /* return error */
-
1359  }
-
1360  *pin_type = (bmp384_interrupt_pin_type_t)(prev & 0x01); /* get interrupt pin type */
-
1361 
-
1362  return 0; /* success return 0 */
-
1363 }
-
1364 
- -
1377 {
-
1378  uint8_t res;
-
1379  uint8_t prev;
-
1380 
-
1381  if (handle == NULL) /* check handle */
-
1382  {
-
1383  return 2; /* return error */
-
1384  }
-
1385  if (handle->inited != 1) /* check handle initialization */
-
1386  {
-
1387  return 3; /* return error */
-
1388  }
-
1389 
-
1390  res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
-
1391  if (res != 0) /* check result */
-
1392  {
-
1393  handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
-
1394 
-
1395  return 1; /* return error */
-
1396  }
-
1397  prev &= ~(1 << 1); /* clear config */
-
1398  prev |= level << 1; /* set config */
-
1399  res = a_bmp384_iic_spi_write(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* write config */
-
1400  if (res != 0) /* check result */
-
1401  {
-
1402  handle->debug_print("bmp384: set int ctrl register failed.\n"); /* set int ctrl register failed */
-
1403 
-
1404  return 1; /* return error */
-
1405  }
-
1406 
-
1407  return 0; /* success return 0 */
-
1408 }
-
1409 
- -
1422 {
-
1423  uint8_t res;
-
1424  uint8_t prev;
-
1425 
-
1426  if (handle == NULL) /* check handle */
-
1427  {
-
1428  return 2; /* return error */
-
1429  }
-
1430  if (handle->inited != 1) /* check handle initialization */
-
1431  {
-
1432  return 3; /* return error */
-
1433  }
-
1434 
-
1435  res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
-
1436  if (res != 0) /* check result */
-
1437  {
-
1438  handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
-
1439 
-
1440  return 1; /* return error */
-
1441  }
-
1442  *level = (bmp384_interrupt_active_level_t)((prev >> 1) & 0x01); /* get config */
-
1443 
-
1444  return 0; /* success return 0 */
-
1445 }
-
1446 
- -
1459 {
-
1460  uint8_t res;
-
1461  uint8_t prev;
-
1462 
-
1463  if (handle == NULL) /* check handle */
-
1464  {
-
1465  return 2; /* return error */
-
1466  }
-
1467  if (handle->inited != 1) /* check handle initialization */
-
1468  {
-
1469  return 3; /* return error */
-
1470  }
-
1471 
-
1472  res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
-
1473  if (res != 0) /* check result */
-
1474  {
-
1475  handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
-
1476 
-
1477  return 1; /* return error */
-
1478  }
-
1479  prev &= ~(1 << 2); /* clear config */
-
1480  prev |= enable << 2; /* set config */
-
1481  res = a_bmp384_iic_spi_write(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* write config */
-
1482  if (res != 0) /* check result */
-
1483  {
-
1484  handle->debug_print("bmp384: set int ctrl register failed.\n"); /* set int ctrl register failed */
-
1485 
-
1486  return 1; /* return error */
-
1487  }
-
1488 
-
1489  return 0; /* success return 0 */
-
1490 }
-
1491 
- -
1504 {
-
1505  uint8_t res;
-
1506  uint8_t prev;
-
1507 
-
1508  if (handle == NULL) /* check handle */
-
1509  {
-
1510  return 2; /* return error */
-
1511  }
-
1512  if (handle->inited != 1) /* check handle initialization */
-
1513  {
-
1514  return 3; /* return error */
-
1515  }
-
1516 
-
1517  res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
-
1518  if (res != 0) /* check result */
-
1519  {
-
1520  handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
-
1521 
-
1522  return 1; /* return error */
-
1523  }
-
1524  *enable = (bmp384_bool_t)((prev >> 2) & 0x01); /* get config */
-
1525 
-
1526  return 0; /* success return 0 */
-
1527 }
-
1528 
- -
1541 {
-
1542  uint8_t res;
-
1543  uint8_t prev;
-
1544 
-
1545  if (handle == NULL) /* check handle */
-
1546  {
-
1547  return 2; /* return error */
-
1548  }
-
1549  if (handle->inited != 1) /* check handle initialization */
-
1550  {
-
1551  return 3; /* return error */
-
1552  }
-
1553 
-
1554  res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
-
1555  if (res != 0) /* check result */
-
1556  {
-
1557  handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
-
1558 
-
1559  return 1; /* return error */
-
1560  }
-
1561  prev &= ~(1 << 3); /* clear config */
-
1562  prev |= enable << 3; /* set config */
-
1563  res = a_bmp384_iic_spi_write(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* write config */
-
1564  if (res != 0) /* check result */
-
1565  {
-
1566  handle->debug_print("bmp384: set int ctrl register failed.\n"); /* set int ctrl register failed */
-
1567 
-
1568  return 1; /* return error */
-
1569  }
-
1570 
-
1571  return 0; /* success return 0 */
-
1572 }
-
1573 
- -
1586 {
-
1587  uint8_t res;
-
1588  uint8_t prev;
-
1589 
-
1590  if (handle == NULL) /* check handle */
-
1591  {
-
1592  return 2; /* return error */
-
1593  }
-
1594  if (handle->inited != 1) /* check handle initialization */
-
1595  {
-
1596  return 3; /* return error */
-
1597  }
-
1598 
-
1599  res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
-
1600  if (res != 0) /* check result */
-
1601  {
-
1602  handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
-
1603 
-
1604  return 1; /* return error */
-
1605  }
-
1606  *enable = (bmp384_bool_t)((prev >> 3) & 0x01); /* get config */
-
1607 
-
1608  return 0; /* success return 0 */
-
1609 }
-
1610 
- -
1623 {
-
1624  uint8_t res;
-
1625  uint8_t prev;
-
1626 
-
1627  if (handle == NULL) /* check handle */
-
1628  {
-
1629  return 2; /* return error */
-
1630  }
-
1631  if (handle->inited != 1) /* check handle initialization */
-
1632  {
-
1633  return 3; /* return error */
-
1634  }
-
1635 
-
1636  res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
-
1637  if (res != 0) /* check result */
-
1638  {
-
1639  handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
-
1640 
-
1641  return 1; /* return error */
-
1642  }
-
1643  prev &= ~(1 << 4); /* clear config */
-
1644  prev |= enable << 4; /* set config */
-
1645  res = a_bmp384_iic_spi_write(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* write config */
-
1646  if (res != 0) /* check result */
-
1647  {
-
1648  handle->debug_print("bmp384: set int ctrl register failed.\n"); /* set int ctrl register failed */
-
1649 
-
1650  return 1; /* return error */
-
1651  }
-
1652 
-
1653  return 0; /* success return 0 */
-
1654 }
-
1655 
- -
1668 {
-
1669  uint8_t res;
-
1670  uint8_t prev;
-
1671 
-
1672  if (handle == NULL) /* check handle */
-
1673  {
-
1674  return 2; /* return error */
-
1675  }
-
1676  if (handle->inited != 1) /* check handle initialization */
-
1677  {
-
1678  return 3; /* return error */
-
1679  }
-
1680 
-
1681  res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
-
1682  if (res != 0) /* check result */
-
1683  {
-
1684  handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
-
1685 
-
1686  return 1; /* return error */
-
1687  }
-
1688  *enable = (bmp384_bool_t)((prev >> 4) & 0x01); /* get config */
-
1689 
-
1690  return 0; /* success return 0 */
-
1691 }
-
1692 
- -
1705 {
-
1706  uint8_t res;
-
1707  uint8_t prev;
-
1708 
-
1709  if (handle == NULL) /* check handle */
-
1710  {
-
1711  return 2; /* return error */
-
1712  }
-
1713  if (handle->inited != 1) /* check handle initialization */
-
1714  {
-
1715  return 3; /* return error */
-
1716  }
-
1717 
-
1718  res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
-
1719  if (res != 0) /* check result */
-
1720  {
-
1721  handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
-
1722 
-
1723  return 1; /* return error */
-
1724  }
-
1725  prev &= ~(1 << 6); /* clear config */
-
1726  prev |= enable << 6; /* set config */
-
1727  res = a_bmp384_iic_spi_write(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* write config */
-
1728  if (res != 0) /* check result */
-
1729  {
-
1730  handle->debug_print("bmp384: set int ctrl register failed.\n"); /* set int ctrl register failed */
-
1731 
-
1732  return 1; /* return error */
-
1733  }
-
1734 
-
1735  return 0; /* success return 0 */
-
1736 }
-
1737 
- -
1750 {
-
1751  uint8_t res;
-
1752  uint8_t prev;
-
1753 
-
1754  if (handle == NULL) /* check handle */
-
1755  {
-
1756  return 2; /* return error */
-
1757  }
-
1758  if (handle->inited != 1) /* check handle initialization */
-
1759  {
-
1760  return 3; /* return error */
-
1761  }
-
1762 
-
1763  res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
-
1764  if (res != 0) /* check result */
-
1765  {
-
1766  handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
-
1767 
-
1768  return 1; /* return error */
-
1769  }
-
1770  *enable = (bmp384_bool_t)((prev >> 6) & 0x01); /* get config */
-
1771 
-
1772  return 0; /* success return 0 */
-
1773 }
-
1774 
- -
1787 {
-
1788  uint8_t res;
-
1789  uint8_t prev;
-
1790 
-
1791  if (handle == NULL) /* check handle */
-
1792  {
-
1793  return 2; /* return error */
-
1794  }
-
1795  if (handle->inited != 1) /* check handle initialization */
-
1796  {
-
1797  return 3; /* return error */
-
1798  }
-
1799 
-
1800  res = a_bmp384_iic_spi_read(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* read config */
-
1801  if (res != 0) /* check result */
-
1802  {
-
1803  handle->debug_print("bmp384: get if conf register failed.\n"); /* get if conf register failed */
-
1804 
-
1805  return 1; /* return error */
-
1806  }
-
1807  prev &= ~(1 << 0); /* clear config */
-
1808  prev |= wire << 0; /* set config */
-
1809  res = a_bmp384_iic_spi_write(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* write config */
-
1810  if (res != 0) /* check result */
-
1811  {
-
1812  handle->debug_print("bmp384: set if conf register failed.\n"); /* set if conf register failed */
-
1813 
-
1814  return 1; /* return error */
-
1815  }
-
1816 
-
1817  return 0; /* success return 0 */
-
1818 }
-
1819 
- -
1832 {
-
1833  uint8_t res;
-
1834  uint8_t prev;
-
1835 
-
1836  if (handle == NULL) /* check handle */
-
1837  {
-
1838  return 2; /* return error */
-
1839  }
-
1840  if (handle->inited != 1) /* check handle initialization */
-
1841  {
-
1842  return 3; /* return error */
-
1843  }
-
1844 
-
1845  res = a_bmp384_iic_spi_read(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* read config */
-
1846  if (res != 0) /* check result */
-
1847  {
-
1848  handle->debug_print("bmp384: get if conf register failed.\n"); /* get if conf register failed */
-
1849 
-
1850  return 1; /* return error */
-
1851  }
-
1852  *wire = (bmp384_spi_wire_t)(prev & 0x01); /* get config */
-
1853 
-
1854  return 0; /* success return 0 */
-
1855 }
-
1856 
- -
1869 {
-
1870  uint8_t res;
-
1871  uint8_t prev;
-
1872 
-
1873  if (handle == NULL) /* check handle */
-
1874  {
-
1875  return 2; /* return error */
-
1876  }
-
1877  if (handle->inited != 1) /* check handle initialization */
-
1878  {
-
1879  return 3; /* return error */
-
1880  }
-
1881 
-
1882  res = a_bmp384_iic_spi_read(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* read config */
-
1883  if (res != 0) /* check result */
-
1884  {
-
1885  handle->debug_print("bmp384: get if conf register failed.\n"); /* get if conf register failed */
-
1886 
-
1887  return 1; /* return error */
-
1888  }
-
1889  prev &= ~(1 << 1); /* clear config */
-
1890  prev |= enable << 1; /* set config */
-
1891  res = a_bmp384_iic_spi_write(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* write config */
-
1892  if (res != 0) /* check result */
-
1893  {
-
1894  handle->debug_print("bmp384: set if conf register failed.\n"); /* set if conf register failed */
-
1895 
-
1896  return 1; /* return error */
-
1897  }
-
1898 
-
1899  return 0; /* success return 0 */
-
1900 }
-
1901 
- -
1914 {
-
1915  uint8_t res;
-
1916  uint8_t prev;
-
1917 
-
1918  if (handle == NULL) /* check handle */
-
1919  {
-
1920  return 2; /* return error */
-
1921  }
-
1922  if (handle->inited != 1) /* check handle initialization */
-
1923  {
-
1924  return 3; /* return error */
-
1925  }
-
1926 
-
1927  res = a_bmp384_iic_spi_read(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* read config */
-
1928  if (res != 0) /* check result */
-
1929  {
-
1930  handle->debug_print("bmp384: get if conf register failed.\n"); /* get if conf register failed */
-
1931 
-
1932  return 1; /* return error */
-
1933  }
-
1934  *enable = (bmp384_bool_t)((prev >> 1) & 0x01); /* get config */
-
1935 
-
1936  return 0; /* success return 0 */
-
1937 }
-
1938 
- -
1951 {
-
1952  uint8_t res;
-
1953  uint8_t prev;
-
1954 
-
1955  if (handle == NULL) /* check handle */
-
1956  {
-
1957  return 2; /* return error */
-
1958  }
-
1959  if (handle->inited != 1) /* check handle initialization */
-
1960  {
-
1961  return 3; /* return error */
-
1962  }
-
1963 
-
1964  res = a_bmp384_iic_spi_read(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* read config */
-
1965  if (res != 0) /* check result */
-
1966  {
-
1967  handle->debug_print("bmp384: get if conf register failed.\n"); /* get if conf register failed */
-
1968 
-
1969  return 1; /* return error */
-
1970  }
-
1971  prev &= ~(1 << 2); /* clear config */
-
1972  prev |= period << 2; /* set config */
-
1973  res = a_bmp384_iic_spi_write(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* write config */
-
1974  if (res != 0) /* check result */
-
1975  {
-
1976  handle->debug_print("bmp384: set if conf register failed.\n"); /* set if conf register failed */
-
1977 
-
1978  return 1; /* return error */
-
1979  }
-
1980 
-
1981  return 0; /* success return 0 */
-
1982 }
-
1983 
- -
1996 {
-
1997  uint8_t res;
-
1998  uint8_t prev;
-
1999 
-
2000  if (handle == NULL) /* check handle */
-
2001  {
-
2002  return 2; /* return error */
-
2003  }
-
2004  if (handle->inited != 1) /* check handle initialization */
-
2005  {
-
2006  return 3; /* return error */
-
2007  }
-
2008 
-
2009  res = a_bmp384_iic_spi_read(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* read config */
-
2010  if (res != 0) /* check result */
-
2011  {
-
2012  handle->debug_print("bmp384: get if conf register failed.\n"); /* get if conf register failed */
-
2013 
-
2014  return 1; /* return error */
-
2015  }
-
2016  *period = (bmp384_iic_watchdog_period_t)((prev >> 2) & 0x01); /* get config */
-
2017 
-
2018  return 0; /* success return 0 */
-
2019 }
-
2020 
- -
2033 {
-
2034  uint8_t res;
-
2035  uint8_t prev;
-
2036 
-
2037  if (handle == NULL) /* check handle */
-
2038  {
-
2039  return 2; /* return error */
-
2040  }
-
2041  if (handle->inited != 1) /* check handle initialization */
-
2042  {
-
2043  return 3; /* return error */
-
2044  }
-
2045 
-
2046  res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
-
2047  if (res != 0) /* check result */
-
2048  {
-
2049  handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
-
2050 
-
2051  return 1; /* return error */
-
2052  }
-
2053  prev &= ~(1 << 0); /* clear config */
-
2054  prev |= enable << 0; /* set config */
-
2055  res = a_bmp384_iic_spi_write(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* write config */
-
2056  if (res != 0) /* check result */
-
2057  {
-
2058  handle->debug_print("bmp384: set pwr ctrl register failed.\n"); /* set pwr ctrl register failed */
-
2059 
-
2060  return 1; /* return error */
-
2061  }
-
2062 
-
2063  return 0; /* success return 0 */
-
2064 }
-
2065 
- -
2078 {
-
2079  uint8_t res;
-
2080  uint8_t prev;
-
2081 
-
2082  if (handle == NULL) /* check handle */
-
2083  {
-
2084  return 2; /* return error */
-
2085  }
-
2086  if (handle->inited != 1) /* check handle initialization */
-
2087  {
-
2088  return 3; /* return error */
-
2089  }
-
2090 
-
2091  res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
-
2092  if (res != 0) /* check result */
-
2093  {
-
2094  handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
-
2095 
-
2096  return 1; /* return error */
-
2097  }
-
2098  *enable = (bmp384_bool_t)((prev >> 0) & 0x01); /* get config */
-
2099 
-
2100  return 0; /* success return 0 */
-
2101 }
-
2102 
- -
2115 {
-
2116  uint8_t res;
-
2117  uint8_t prev;
-
2118 
-
2119  if (handle == NULL) /* check handle */
-
2120  {
-
2121  return 2; /* return error */
-
2122  }
-
2123  if (handle->inited != 1) /* check handle initialization */
-
2124  {
-
2125  return 3; /* return error */
-
2126  }
-
2127 
-
2128  res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
-
2129  if (res != 0) /* check result */
-
2130  {
-
2131  handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
-
2132 
-
2133  return 1; /* return error */
-
2134  }
-
2135  prev &= ~(1 << 1); /* clear config */
-
2136  prev |= enable << 1; /* set config */
-
2137  res = a_bmp384_iic_spi_write(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* write config */
-
2138  if (res != 0) /* check result */
-
2139  {
-
2140  handle->debug_print("bmp384: set pwr ctrl register failed.\n"); /* set pwr ctrl register failed */
-
2141 
-
2142  return 1; /* return error */
-
2143  }
-
2144 
-
2145  return 0; /* success return 0 */
-
2146 }
-
2147 
- -
2160 {
-
2161  uint8_t res;
-
2162  uint8_t prev;
-
2163 
-
2164  if (handle == NULL) /* check handle */
-
2165  {
-
2166  return 2; /* return error */
-
2167  }
-
2168  if (handle->inited != 1) /* check handle initialization */
-
2169  {
-
2170  return 3; /* return error */
-
2171  }
-
2172 
-
2173  res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
-
2174  if (res != 0) /* check result */
-
2175  {
-
2176  handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
-
2177 
-
2178  return 1; /* return error */
-
2179  }
-
2180  *enable = (bmp384_bool_t)((prev >> 1) & 0x01); /* get config */
-
2181 
-
2182  return 0; /* success return 0 */
-
2183 }
-
2184 
- -
2197 {
-
2198  uint8_t res;
-
2199  uint8_t prev;
-
2200 
-
2201  if (handle == NULL) /* check handle */
-
2202  {
-
2203  return 2; /* return error */
-
2204  }
-
2205  if (handle->inited != 1) /* check handle initialization */
-
2206  {
-
2207  return 3; /* return error */
-
2208  }
-
2209 
-
2210  res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
-
2211  if (res != 0) /* check result */
-
2212  {
-
2213  handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
-
2214 
-
2215  return 1; /* return error */
-
2216  }
-
2217  prev &= ~(3 << 4); /* clear config */
-
2218  prev |= mode << 4; /* set config */
-
2219  res = a_bmp384_iic_spi_write(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* write config */
-
2220  if (res != 0) /* check result */
-
2221  {
-
2222  handle->debug_print("bmp384: set pwr ctrl register failed.\n"); /* set pwr ctrl register failed */
-
2223 
-
2224  return 1; /* return error */
-
2225  }
-
2226 
-
2227  return 0; /* success return 0 */
-
2228 }
-
2229 
- -
2242 {
-
2243  uint8_t res;
-
2244  uint8_t prev;
-
2245 
-
2246  if (handle == NULL) /* check handle */
-
2247  {
-
2248  return 2; /* return error */
-
2249  }
-
2250  if (handle->inited != 1) /* check handle initialization */
-
2251  {
-
2252  return 3; /* return error */
-
2253  }
-
2254 
-
2255  res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
-
2256  if (res != 0) /* check result */
-
2257  {
-
2258  handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
-
2259 
-
2260  return 1; /* return error */
-
2261  }
-
2262  *mode = (bmp384_mode_t)((prev >> 4) & 0x03); /* get config */
-
2263 
-
2264  return 0; /* success return 0 */
-
2265 }
-
2266 
- -
2279 {
-
2280  uint8_t res;
-
2281  uint8_t prev;
-
2282 
-
2283  if (handle == NULL) /* check handle */
-
2284  {
-
2285  return 2; /* return error */
-
2286  }
-
2287  if (handle->inited != 1) /* check handle initialization */
-
2288  {
-
2289  return 3; /* return error */
-
2290  }
-
2291 
-
2292  res = a_bmp384_iic_spi_read(handle, BMP384_REG_OSR, (uint8_t *)&prev, 1); /* read config */
-
2293  if (res != 0) /* check result */
-
2294  {
-
2295  handle->debug_print("bmp384: get osr register failed.\n"); /* get osr register failed */
-
2296 
-
2297  return 1; /* return error */
-
2298  }
-
2299  prev &= ~(7 << 0); /* clear config */
-
2300  prev |= oversampling << 0; /* set config */
-
2301  res = a_bmp384_iic_spi_write(handle, BMP384_REG_OSR, (uint8_t *)&prev, 1); /* write config */
-
2302  if (res != 0) /* check result */
-
2303  {
-
2304  handle->debug_print("bmp384: set osr register failed.\n"); /* set osr register failed */
-
2305 
-
2306  return 1; /* return error */
-
2307  }
-
2308 
-
2309  return 0; /* success return 0 */
-
2310 }
-
2311 
- -
2324 {
-
2325  uint8_t res;
-
2326  uint8_t prev;
-
2327 
-
2328  if (handle == NULL) /* check handle */
-
2329  {
-
2330  return 2; /* return error */
-
2331  }
-
2332  if (handle->inited != 1) /* check handle initialization */
-
2333  {
-
2334  return 3; /* return error */
-
2335  }
-
2336 
-
2337  res = a_bmp384_iic_spi_read(handle, BMP384_REG_OSR, (uint8_t *)&prev, 1); /* read config */
-
2338  if (res != 0) /* check result */
-
2339  {
-
2340  handle->debug_print("bmp384: get osr register failed.\n"); /* get osr register failed */
-
2341 
-
2342  return 1; /* return error */
-
2343  }
-
2344  *oversampling = (bmp384_oversampling_t)((prev >> 0) & 0x07); /* get config */
-
2345 
-
2346  return 0; /* success return 0 */
-
2347 }
-
2348 
- -
2361 {
-
2362  uint8_t res;
-
2363  uint8_t prev;
-
2364 
-
2365  if (handle == NULL) /* check handle */
-
2366  {
-
2367  return 2; /* return error */
-
2368  }
-
2369  if (handle->inited != 1) /* check handle initialization */
-
2370  {
-
2371  return 3; /* return error */
-
2372  }
-
2373 
-
2374  res = a_bmp384_iic_spi_read(handle, BMP384_REG_OSR, (uint8_t *)&prev, 1); /* read config */
-
2375  if (res != 0) /* check result */
-
2376  {
-
2377  handle->debug_print("bmp384: get osr register failed.\n"); /* get osr register failed */
-
2378 
-
2379  return 1; /* return error */
-
2380  }
-
2381  prev &= ~(7 << 3); /* clear config */
-
2382  prev |= oversampling << 3; /* set config */
-
2383  res = a_bmp384_iic_spi_write(handle, BMP384_REG_OSR, (uint8_t *)&prev, 1); /* write config */
-
2384  if (res != 0) /* check result */
-
2385  {
-
2386  handle->debug_print("bmp384: set osr register failed.\n"); /* set osr register failed */
-
2387 
-
2388  return 1; /* return error */
-
2389  }
-
2390 
-
2391  return 0; /* success return 0 */
-
2392 }
-
2393 
- -
2406 {
-
2407  uint8_t res;
-
2408  uint8_t prev;
-
2409 
-
2410  if (handle == NULL) /* check handle */
-
2411  {
-
2412  return 2; /* return error */
-
2413  }
-
2414  if (handle->inited != 1) /* check handle initialization */
-
2415  {
-
2416  return 3; /* return error */
-
2417  }
-
2418 
-
2419  res = a_bmp384_iic_spi_read(handle, BMP384_REG_OSR, (uint8_t *)&prev, 1); /* read config */
-
2420  if (res != 0) /* check result */
-
2421  {
-
2422  handle->debug_print("bmp384: get osr register failed.\n"); /* get osr register failed */
-
2423 
-
2424  return 1; /* return error */
-
2425  }
-
2426  *oversampling = (bmp384_oversampling_t)((prev >> 3) & 0x07); /* get config */
-
2427 
-
2428  return 0; /* success return 0 */
-
2429 }
-
2430 
- -
2443 {
-
2444  uint8_t res;
-
2445  uint8_t prev;
-
2446 
-
2447  if (handle == NULL) /* check handle */
-
2448  {
-
2449  return 2; /* return error */
-
2450  }
-
2451  if (handle->inited != 1) /* check handle initialization */
-
2452  {
-
2453  return 3; /* return error */
-
2454  }
-
2455 
-
2456  res = a_bmp384_iic_spi_read(handle, BMP384_REG_ODR, (uint8_t *)&prev, 1); /* read config */
-
2457  if (res != 0) /* check result */
-
2458  {
-
2459  handle->debug_print("bmp384: get odr register failed.\n"); /* get odr register failed */
-
2460 
-
2461  return 1; /* return error */
-
2462  }
-
2463 
-
2464  prev &= ~(31 << 0); /* clear config */
-
2465  prev |= odr << 0; /* set config */
-
2466  res = a_bmp384_iic_spi_write(handle, BMP384_REG_ODR, (uint8_t *)&prev, 1); /* write config */
-
2467  if (res != 0) /* check result */
-
2468  {
-
2469  handle->debug_print("bmp384: set odr register failed.\n"); /* set odr register failed */
-
2470 
-
2471  return 1; /* return error */
-
2472  }
-
2473 
-
2474  return 0; /* success return 0 */
-
2475 }
-
2476 
- -
2489 {
-
2490  uint8_t res;
-
2491  uint8_t prev;
-
2492 
-
2493  if (handle == NULL) /* check handle */
-
2494  {
-
2495  return 2; /* return error */
-
2496  }
-
2497  if (handle->inited != 1) /* check handle initialization */
-
2498  {
-
2499  return 3; /* return error */
-
2500  }
-
2501 
-
2502  res = a_bmp384_iic_spi_read(handle, BMP384_REG_ODR, (uint8_t *)&prev, 1); /* read config */
-
2503  if (res != 0) /* check result */
-
2504  {
-
2505  handle->debug_print("bmp384: get odr register failed.\n"); /* get odr register failed */
-
2506 
-
2507  return 1; /* return error */
-
2508  }
-
2509  *odr = (bmp384_odr_t)((prev >> 0) & 31); /* get config */
-
2510 
-
2511  return 0; /* success return 0 */
-
2512 }
-
2513 
- -
2526 {
-
2527  uint8_t res;
-
2528  uint8_t prev;
-
2529 
-
2530  if (handle == NULL) /* check handle */
-
2531  {
-
2532  return 2; /* return error */
-
2533  }
-
2534  if (handle->inited != 1) /* check handle initialization */
-
2535  {
-
2536  return 3; /* return error */
-
2537  }
-
2538 
-
2539  res = a_bmp384_iic_spi_read(handle, BMP384_REG_CONFIG, (uint8_t *)&prev, 1); /* read config */
-
2540  if (res != 0) /* check result */
-
2541  {
-
2542  handle->debug_print("bmp384: get config register failed.\n"); /* get config register failed */
-
2543 
-
2544  return 1; /* return error */
-
2545  }
-
2546 
-
2547  prev &= ~(0x7 << 1); /* clear config */
-
2548  prev |= coefficient << 1; /* set config */
-
2549  res = a_bmp384_iic_spi_write(handle, BMP384_REG_CONFIG, (uint8_t *)&prev, 1); /* write config */
-
2550  if (res != 0) /* check result */
-
2551  {
-
2552  handle->debug_print("bmp384: set config register failed.\n"); /* set config register failed */
-
2553 
-
2554  return 1; /* return error */
-
2555  }
-
2556 
-
2557  return 0; /* success return 0 */
-
2558 }
-
2559 
- -
2572 {
-
2573  uint8_t res;
-
2574  uint8_t prev;
-
2575 
-
2576  if (handle == NULL) /* check handle */
-
2577  {
-
2578  return 2; /* return error */
-
2579  }
-
2580  if (handle->inited != 1) /* check handle initialization */
-
2581  {
-
2582  return 3; /* return error */
-
2583  }
-
2584 
-
2585  res = a_bmp384_iic_spi_read(handle, BMP384_REG_CONFIG, (uint8_t *)&prev, 1); /* read config */
-
2586  if (res != 0) /* check result */
-
2587  {
-
2588  handle->debug_print("bmp384: get config register failed.\n"); /* return error */
-
2589 
-
2590  return 1; /* return error */
-
2591  }
-
2592  *coefficient = (bmp384_filter_coefficient_t)((prev >> 1) & 0x07); /* get coefficient */
-
2593 
-
2594  return 0; /* success return 0 */
-
2595 }
-
2596 
- -
2608 {
-
2609  uint8_t res;
-
2610  uint8_t prev;
-
2611 
-
2612  if (handle == NULL) /* check handle */
-
2613  {
-
2614  return 2; /* return error */
-
2615  }
-
2616  if (handle->inited != 1) /* check handle initialization */
-
2617  {
-
2618  return 3; /* return error */
-
2619  }
-
2620 
-
2621  prev = 0xB0; /* command */
-
2622  res = a_bmp384_iic_spi_write(handle, BMP384_REG_CMD, (uint8_t *)&prev, 1); /* write config */
-
2623  if (res != 0) /* check result */
-
2624  {
-
2625  handle->debug_print("bmp384: set cmd register failed.\n"); /* set cmd register failed */
-
2626 
-
2627  return 1; /* return error */
-
2628  }
-
2629 
-
2630  return 0; /* success return 0 */
-
2631 }
-
2632 
- -
2644 {
-
2645  uint8_t res;
-
2646  uint8_t prev;
-
2647 
-
2648  if (handle == NULL) /* check handle */
-
2649  {
-
2650  return 2; /* return error */
-
2651  }
-
2652  if (handle->inited != 1) /* check handle initialization */
-
2653  {
-
2654  return 3; /* return error */
-
2655  }
-
2656 
-
2657  prev = 0xB6; /* command */
-
2658  res = a_bmp384_iic_spi_write(handle, BMP384_REG_CMD, (uint8_t *)&prev, 1); /* write config */
-
2659  if (res != 0) /* check result */
-
2660  {
-
2661  handle->debug_print("bmp384: set cmd register failed.\n"); /* set cmd register failed */
-
2662 
-
2663  return 1; /* return error */
-
2664  }
-
2665 
-
2666  return 0; /* success return 0 */
-
2667 }
-
2668 
- -
2680 {
-
2681  uint8_t res;
-
2682  uint8_t prev;
-
2683 
-
2684  if (handle == NULL) /* check handle */
-
2685  {
-
2686  return 2; /* return error */
-
2687  }
-
2688  if (handle->inited != 1) /* check handle initialization */
-
2689  {
-
2690  return 3; /* return error */
-
2691  }
-
2692 
-
2693  prev = 0x34; /* command */
-
2694  res = a_bmp384_iic_spi_write(handle, BMP384_REG_CMD, (uint8_t *)&prev, 1); /* write config */
-
2695  if (res != 0) /* check result */
-
2696  {
-
2697  handle->debug_print("bmp384: set cmd register failed.\n"); /* set cmd register failed */
-
2698 
-
2699  return 1; /* return error */
-
2700  }
-
2701 
-
2702  return 0; /* success return 0 */
-
2703 }
-
2704 
-
2715 static uint8_t a_bmp384_close(bmp384_handle_t *handle)
-
2716 {
-
2717  if (handle->iic_spi == BMP384_INTERFACE_IIC) /* if iic interface */
-
2718  {
-
2719  if (handle->iic_deinit() != 0) /* close iic */
-
2720  {
-
2721  handle->debug_print("bmp384: iic deinit failed.\n"); /* iic deinit failed */
-
2722 
-
2723  return 1; /* return error */
-
2724  }
-
2725  else
-
2726  {
-
2727  return 0; /* success return 0 */
-
2728  }
-
2729  }
-
2730  else
-
2731  {
-
2732  if (handle->spi_deinit() != 0) /* close spi */
-
2733  {
-
2734  handle->debug_print("bmp384: spi deinit failed.\n"); /* spi deinit failed */
-
2735 
-
2736  return 1; /* return error */
-
2737  }
-
2738  else
-
2739  {
-
2740  return 0; /* success return 0 */
-
2741  }
-
2742  }
-
2743 }
-
2744 
- -
2759 {
-
2760  uint8_t id;
-
2761  uint8_t reg;
-
2762 
-
2763  if (handle == NULL) /* check handle */
-
2764  {
-
2765  return 2; /* return error */
-
2766  }
-
2767  if (handle->debug_print == NULL) /* check debug_print */
-
2768  {
-
2769  return 3; /* return error */
-
2770  }
-
2771  if (handle->iic_init == NULL) /* check iic_init */
-
2772  {
-
2773  handle->debug_print("bmp384: iic_init is null.\n"); /* iic_init is null */
-
2774 
-
2775  return 3; /* return error */
-
2776  }
-
2777  if (handle->iic_deinit == NULL) /* check iic_init */
-
2778  {
-
2779  handle->debug_print("bmp384: iic_deinit is null.\n"); /* iic_deinit is null */
-
2780 
-
2781  return 3; /* return error */
-
2782  }
-
2783  if (handle->iic_read == NULL) /* check iic_read */
-
2784  {
-
2785  handle->debug_print("bmp384: iic_read is null.\n"); /* iic_read is null */
-
2786 
-
2787  return 3; /* return error */
-
2788  }
-
2789  if (handle->iic_write == NULL) /* check iic_write */
-
2790  {
-
2791  handle->debug_print("bmp384: iic_write is null.\n"); /* iic_write is null */
-
2792 
-
2793  return 3; /* return error */
-
2794  }
-
2795  if (handle->spi_init == NULL) /* check spi_init */
-
2796  {
-
2797  handle->debug_print("bmp384: spi_init is null.\n"); /* spi_init is null */
-
2798 
-
2799  return 3; /* return error */
-
2800  }
-
2801  if (handle->spi_deinit == NULL) /* check spi_deinit */
-
2802  {
-
2803  handle->debug_print("bmp384: spi_deinit is null.\n"); /* spi_deinit is null */
-
2804 
-
2805  return 3; /* return error */
-
2806  }
-
2807  if (handle->spi_read == NULL) /* check spi_read */
-
2808  {
-
2809  handle->debug_print("bmp384: spi_read is null.\n"); /* spi_read is null */
-
2810 
-
2811  return 3; /* return error */
-
2812  }
-
2813  if (handle->spi_write == NULL) /* check spi_write */
-
2814  {
-
2815  handle->debug_print("bmp384: spi_write is null.\n"); /* spi_write is null */
-
2816 
-
2817  return 3; /* return error */
-
2818  }
-
2819  if (handle->delay_ms == NULL) /* check delay_ms */
-
2820  {
-
2821  handle->debug_print("bmp384: delay_ms is null.\n"); /* delay_ms is null */
-
2822 
-
2823  return 3; /* return error */
-
2824  }
-
2825 
-
2826  if (handle->iic_spi == BMP384_INTERFACE_IIC) /* if iic interface */
-
2827  {
-
2828  if (handle->iic_init() != 0) /* initialize iic bus */
-
2829  {
-
2830  handle->debug_print("bmp384: iic init failed.\n"); /* iic init failed */
-
2831 
-
2832  return 1; /* return error */
-
2833  }
-
2834  }
-
2835  else
-
2836  {
-
2837  if (handle->spi_init() != 0) /* initialize spi bus */
-
2838  {
-
2839  handle->debug_print("bmp384: spi init failed.\n"); /* spi init failed */
-
2840 
-
2841  return 1; /* return error */
-
2842  }
-
2843  }
-
2844  if (a_bmp384_iic_spi_read(handle, BMP384_REG_CHIP_ID, (uint8_t *)&id, 1) != 0) /* read chip id */
-
2845  {
-
2846  handle->debug_print("bmp384: read chip id failed.\n"); /* read chip id failed */
-
2847  (void)a_bmp384_close(handle); /* close bmp384 */
-
2848 
-
2849  return 4; /* return error */
-
2850  }
-
2851  if (id != 0x50) /* check chip id */
-
2852  {
-
2853  handle->debug_print("bmp384: id is invalid.\n"); /* id is invalid */
-
2854  (void)a_bmp384_close(handle); /* close bmp384 */
-
2855 
-
2856  return 4;
-
2857  } /* return error */
-
2858  reg = 0xB6; /* set command */
-
2859  if (a_bmp384_iic_spi_write(handle, BMP384_REG_CMD, (uint8_t *)&reg, 1) != 0) /* write command */
-
2860  {
-
2861  handle->debug_print("bmp384: soft rest failed.\n"); /* soft rest failed */
-
2862  (void)a_bmp384_close(handle); /* close bmp384 */
-
2863 
-
2864  return 5; /* return error */
-
2865  }
-
2866  handle->delay_ms(10); /* delay 10 ms */
-
2867  if (a_bmp384_iic_spi_read(handle, BMP384_REG_ERR_REG, (uint8_t *)&reg, 1) != 0) /* read reg */
-
2868  {
-
2869  handle->debug_print("bmp384: get err reg failed.\n"); /* return error */
-
2870  (void)a_bmp384_close(handle); /* close bmp384 */
-
2871 
-
2872  return 5; /* return error */
-
2873  }
-
2874  if ((reg & 0x07) != 0) /* check running status */
-
2875  {
-
2876  handle->debug_print("bmp384: find running error.\n"); /* find running error */
-
2877  (void)a_bmp384_close(handle); /* close bmp384 */
-
2878 
-
2879  return 5; /* return error */
-
2880  }
-
2881  if (a_bmp384_get_calibration_data(handle) != 0) /* get calibration data */
-
2882  {
-
2883  handle->debug_print("bmp384: get calibration data error.\n"); /* get calibration data error */
-
2884  (void)a_bmp384_close(handle); /* close bmp384 */
-
2885 
-
2886  return 6; /* return error */
-
2887  }
-
2888  handle->inited = 1; /* flag finish initialization */
-
2889 
-
2890  return 0; /* success return 0 */
-
2891 }
-
2892 
- -
2905 {
-
2906  uint8_t res;
-
2907  uint8_t prev;
-
2908 
-
2909  if (handle == NULL) /* check handle */
-
2910  {
-
2911  return 2; /* return error */
-
2912  }
-
2913  if (handle->inited != 1) /* check handle initialization */
-
2914  {
-
2915  return 3; /* return error */
-
2916  }
-
2917 
-
2918  res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
-
2919  if (res != 0) /* check result */
-
2920  {
-
2921  handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
-
2922 
-
2923  return 4; /* return error */
-
2924  }
-
2925  prev &= ~(3 << 0); /* clear config */
-
2926  prev &= ~(3 << 4); /* set config */
-
2927  res = a_bmp384_iic_spi_write(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* write config */
-
2928  if (res != 0) /* check result */
-
2929  {
-
2930  handle->debug_print("bmp384: set pwr ctrl register failed.\n"); /* set pwr ctrl register failed */
-
2931 
-
2932  return 4; /* return error */
-
2933  }
-
2934  if (a_bmp384_close(handle) != 0) /* close bmp384 */
-
2935  {
-
2936  return 1; /* return error */
-
2937  }
-
2938  else
-
2939  {
-
2940  handle->inited = 0; /* flag close */
-
2941 
-
2942  return 0; /* success return 0 */
-
2943  }
-
2944 }
-
2945 
-
2958 uint8_t bmp384_read_temperature(bmp384_handle_t *handle, uint32_t *raw, float *c)
-
2959 {
-
2960  uint8_t res;
-
2961  uint8_t prev;
-
2962  uint8_t buf[3];
-
2963 
-
2964  if (handle == NULL) /* check handle */
-
2965  {
-
2966  return 2; /* return error */
-
2967  }
-
2968  if (handle->inited != 1) /* check handle initialization */
-
2969  {
-
2970  return 3; /* return error */
-
2971  }
-
2972 
-
2973  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
-
2974  if (res != 0) /* check result */
-
2975  {
-
2976  handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
-
2977 
-
2978  return 1; /* return error */
-
2979  }
-
2980  if ((prev & 0x01) != 0) /* check mode */
-
2981  {
-
2982  handle->debug_print("bmp384: fifo mode can't use this function.\n"); /* fifo mode can't use this function */
-
2983 
-
2984  return 1; /* return error */
-
2985  }
-
2986  res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read pwr ctrl */
-
2987  if (res != 0) /* check result */
-
2988  {
-
2989  handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
-
2990 
-
2991  return 1; /* return error */
-
2992  }
-
2993  if (((prev >> 4) & 0x03) == 0x03) /* normal mode */
-
2994  {
-
2995  res = a_bmp384_iic_spi_read(handle, BMP384_REG_STATUS, (uint8_t *)&prev, 1); /* read config */
-
2996  if (res != 0) /* check result */
-
2997  {
-
2998  handle->debug_print("bmp384: get status register failed.\n"); /* get status register failed */
-
2999 
-
3000  return 1; /* return error */
-
3001  }
-
3002  if ((prev & (1 << 6)) != 0) /* data is ready */
-
3003  {
-
3004  int64_t output;
-
3005 
-
3006  res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_3, (uint8_t *)buf, 3); /* read raw data */
-
3007  if (res != 0) /* check result */
-
3008  {
-
3009  handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
-
3010 
-
3011  return 1; /* return error */
-
3012  }
-
3013  *raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
-
3014  output = a_bmp384_compensate_temperature(handle, *raw); /* compensate temperature */
-
3015  *c = (float)((double)output / 100.0); /* get converted temperature */
-
3016 
-
3017  return 0; /* success return 0 */
-
3018 
-
3019  }
-
3020  else
-
3021  {
-
3022  handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
-
3023 
-
3024  return 1; /* return error */
-
3025  }
-
3026  }
-
3027  else if (((prev >> 4) & 0x03) == 0x00) /* force mode */
-
3028  {
-
3029  uint16_t cnt = 5000;
-
3030 
-
3031  res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
-
3032  if (res != 0) /* check result */
-
3033  {
-
3034  handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
-
3035 
-
3036  return 1; /* return error */
-
3037  }
-
3038  prev &= ~(0x03 << 4); /* clear 4-5 bits */
-
3039  prev |= 0x01 << 4; /* set bit 4 */
-
3040  res = a_bmp384_iic_spi_write(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
-
3041  if (res != 0) /* check result */
-
3042  {
-
3043  handle->debug_print("bmp384: set pwr ctrl register failed.\n"); /* set pwr ctrl register failed */
-
3044 
-
3045  return 1; /* return error */
-
3046  }
-
3047 
-
3048  while (1) /* loop */
-
3049  {
-
3050  res = a_bmp384_iic_spi_read(handle, BMP384_REG_STATUS, (uint8_t *)&prev, 1); /* read status */
-
3051  if (res != 0) /* check result */
-
3052  {
-
3053  handle->debug_print("bmp384: get status register failed.\n"); /* get status register failed */
-
3054 
-
3055  return 1; /* return error */
-
3056  }
-
3057  if ((prev & (1 << 6)) != 0) /* data is ready */
-
3058  {
-
3059  int64_t output;
-
3060 
-
3061  res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_3, (uint8_t *)buf, 3); /* read raw data */
-
3062  if (res != 0) /* check result */
-
3063  {
-
3064  handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
-
3065 
-
3066  return 1; /* return error */
-
3067  }
-
3068  *raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
-
3069  output = a_bmp384_compensate_temperature(handle, *raw); /* compensate temperature */
-
3070  *c = (float)((double)output / 100.0); /* get converted temperature */
-
3071 
-
3072  return 0; /* success return 0 */
-
3073 
-
3074  }
-
3075  else
-
3076  {
-
3077  if (cnt != 0) /* check cnt */
-
3078  {
-
3079  cnt--; /* cnt-- */
-
3080  handle->delay_ms(1); /* delay 1 ms */
-
3081 
-
3082  continue; /* continue */
-
3083  }
-
3084  handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
-
3085 
-
3086  return 1; /* return error */
-
3087  }
-
3088  }
-
3089  }
-
3090  else
-
3091  {
-
3092  handle->debug_print("bmp384: mode is invalid.\n"); /* mode is invalid */
-
3093 
-
3094  return 1; /* return error */
-
3095  }
-
3096 }
-
3097 
-
3110 uint8_t bmp384_read_pressure(bmp384_handle_t *handle, uint32_t *raw, float *pa)
-
3111 {
-
3112  uint8_t res;
-
3113  uint8_t prev;
-
3114  uint8_t buf[3];
-
3115  uint32_t temperature_raw;
-
3116 
-
3117  if (handle == NULL) /* check handle */
-
3118  {
-
3119  return 2; /* return error */
-
3120  }
-
3121  if (handle->inited != 1) /* check handle initialization */
-
3122  {
-
3123  return 3; /* return error */
-
3124  }
-
3125 
-
3126  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
-
3127  if (res != 0) /* check result */
-
3128  {
-
3129  handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
-
3130 
-
3131  return 1; /* return error */
-
3132  }
-
3133  if ((prev & 0x01) != 0) /* check mode */
-
3134  {
-
3135  handle->debug_print("bmp384: fifo mode can't use this function.\n"); /* fifo mode can't use this function */
-
3136 
-
3137  return 1; /* return error */
-
3138  }
-
3139  res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
-
3140  if (res != 0) /* check result */
-
3141  {
-
3142  handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
-
3143 
-
3144  return 1; /* return error */
-
3145  }
-
3146  if (((prev >> 4) & 0x03) == 0x03) /* normal mode */
-
3147  {
-
3148  res = a_bmp384_iic_spi_read(handle, BMP384_REG_STATUS, (uint8_t *)&prev, 1); /* read status */
-
3149  if (res != 0) /* check result */
-
3150  {
-
3151  handle->debug_print("bmp384: get status register failed.\n"); /* get status register failed */
-
3152 
-
3153  return 1; /* return error */
-
3154  }
-
3155  if ((prev & (1 << 6)) != 0) /* data is ready */
-
3156  {
-
3157  res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_3, (uint8_t *)buf, 3); /* read config */
-
3158  if (res != 0) /* check result */
-
3159  {
-
3160  handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
-
3161 
-
3162  return 1; /* return error */
-
3163  }
-
3164  temperature_raw= (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
-
3165  (void)a_bmp384_compensate_temperature(handle, temperature_raw); /* compensate temperature */
-
3166  }
-
3167  else
-
3168  {
-
3169  handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
-
3170 
-
3171  return 1; /* return error */
-
3172  }
-
3173  if ((prev & (1 << 5)) != 0) /* data is ready */
-
3174  {
-
3175  int64_t output;
-
3176 
-
3177  res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_0, (uint8_t *)buf, 3); /* read config */
-
3178  if (res != 0) /* check result */
-
3179  {
-
3180  handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
-
3181 
-
3182  return 1; /* return error */
-
3183  }
-
3184  *raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
-
3185  output = a_bmp384_compensate_pressure(handle, *raw); /* compensate pressure */
-
3186  *pa = (float)((double)output / 100.0); /* get converted pressure */
-
3187 
-
3188  return 0; /* success return 0 */
-
3189  }
-
3190  else
-
3191  {
-
3192  handle->debug_print("bmp384: pressure data is not ready.\n"); /* pressure data is not ready */
-
3193 
-
3194  return 1; /* return error */
-
3195  }
-
3196  }
-
3197  else if (((prev >> 4) & 0x03) == 0x00) /* force mode */
-
3198  {
-
3199  uint16_t cnt = 5000;
-
3200 
-
3201  res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
-
3202  if (res != 0) /* check result */
-
3203  {
-
3204  handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
-
3205 
-
3206  return 1; /* return error */
-
3207  }
-
3208  prev &= ~(0x03 << 4); /* clear 4-5 bits */
-
3209  prev |= 0x01 << 4; /* set 4 bit */
-
3210  res = a_bmp384_iic_spi_write(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
-
3211  if (res != 0) /* check result */
-
3212  {
-
3213  handle->debug_print("bmp384: set pwr ctrl register failed.\n"); /* set pwr ctrl register failed */
-
3214 
-
3215  return 1; /* return error */
-
3216  }
-
3217 
-
3218  while (1) /* loop */
-
3219  {
-
3220  res = a_bmp384_iic_spi_read(handle, BMP384_REG_STATUS, (uint8_t *)&prev, 1); /* read config */
-
3221  if (res != 0) /* check result */
-
3222  {
-
3223  handle->debug_print("bmp384: get status register failed.\n"); /* get status register failed */
-
3224 
-
3225  return 1; /* return error */
-
3226  }
-
3227  if ((prev & (1 << 6)) != 0) /* data is ready */
-
3228  {
-
3229  res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_3, (uint8_t *)buf, 3); /* read raw data */
-
3230  if (res != 0) /* check result */
-
3231  {
-
3232  handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
-
3233 
-
3234  return 1; /* return error */
-
3235  }
-
3236  temperature_raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
-
3237  (void)a_bmp384_compensate_temperature(handle, temperature_raw); /* compensate temperature */
-
3238 
-
3239  goto press; /* goto press */
-
3240  }
-
3241  else
-
3242  {
-
3243  if (cnt != 0) /* check cnt */
-
3244  {
-
3245  cnt--; /* cnt-- */
-
3246  handle->delay_ms(1); /* delay 1 ms */
-
3247 
-
3248  continue; /* continue */
-
3249  }
-
3250  handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
-
3251 
-
3252  return 1; /* return error */
-
3253  }
-
3254 
-
3255  press:
-
3256 
-
3257  cnt = 5000; /* set cnt 5000 */
-
3258  if ((prev & (1 << 5)) != 0) /* data is ready */
-
3259  {
-
3260  int64_t output;
-
3261 
-
3262  res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_0, (uint8_t *)buf, 3); /* read config */
-
3263  if (res != 0) /* check result */
-
3264  {
-
3265  handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
-
3266 
-
3267  return 1; /* return error */
-
3268  }
-
3269  *raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
-
3270  output = a_bmp384_compensate_pressure(handle, *raw); /* compensate pressure */
-
3271  *pa = (float)((double)output / 100.0); /* get converted pressure */
-
3272 
-
3273  return 0; /* success return 0 */
-
3274  }
-
3275  else
-
3276  {
-
3277  if (cnt != 0) /* check cnt */
-
3278  {
-
3279  cnt--; /* cnt-- */
-
3280  handle->delay_ms(1); /* delay 1 ms */
-
3281 
-
3282  continue; /* continue */
-
3283  }
-
3284  handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
-
3285 
-
3286  return 1; /* return error */
-
3287  }
-
3288  }
-
3289  }
-
3290  else
-
3291  {
-
3292  handle->debug_print("bmp384: mode is invalid.\n"); /* mode is invalid */
-
3293 
-
3294  return 1; /* return error */
-
3295  }
-
3296 }
-
3297 
-
3312 uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c,
-
3313  uint32_t *pressure_raw, float *pressure_pa)
-
3314 {
-
3315  uint8_t res;
-
3316  uint8_t prev;
-
3317  uint8_t buf[3];
-
3318 
-
3319  if (handle == NULL) /* check handle */
-
3320  {
-
3321  return 2; /* return error */
-
3322  }
-
3323  if (handle->inited != 1) /* check handle initialization */
-
3324  {
-
3325  return 3; /* return error */
-
3326  }
-
3327 
-
3328  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
-
3329  if (res != 0) /* check result */
-
3330  {
-
3331  handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
-
3332 
-
3333  return 1; /* return error */
-
3334  }
-
3335  if ((prev & 0x01) != 0) /* check fifo mode */
-
3336  {
-
3337  handle->debug_print("bmp384: fifo mode can't use this function.\n"); /* fifo mode can't use this function */
-
3338 
-
3339  return 1; /* return error */
-
3340  }
-
3341  res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
-
3342  if (res != 0) /* check result */
-
3343  {
-
3344  handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
-
3345 
-
3346  return 1; /* return error */
-
3347  }
-
3348  if (((prev >> 4) & 0x03) == 0x03) /* normal mode */
-
3349  {
-
3350  res = a_bmp384_iic_spi_read(handle, BMP384_REG_STATUS, (uint8_t *)&prev, 1); /* read config */
-
3351  if (res != 0) /* check result */
-
3352  {
-
3353  handle->debug_print("bmp384: get status register failed.\n"); /* get status register failed */
-
3354 
-
3355  return 1; /* return error */
-
3356  }
-
3357  if ((prev & (1 << 6)) != 0) /* data is ready */
-
3358  {
-
3359  int64_t output;
-
3360 
-
3361  res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_3, (uint8_t *)buf, 3); /* read raw data */
-
3362  if (res != 0) /* check result */
-
3363  {
-
3364  handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
-
3365 
-
3366  return 1; /* return error */
-
3367  }
-
3368  *temperature_raw= (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
-
3369  output = a_bmp384_compensate_temperature(handle, *temperature_raw); /* compensate temperature */
-
3370  *temperature_c = (float)((double)output / 100.0); /* get converted temperature */
-
3371  }
-
3372  else
-
3373  {
-
3374  handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
-
3375 
-
3376  return 1; /* return error */
-
3377  }
-
3378  if ((prev & (1 << 5)) != 0) /* data is ready */
-
3379  {
-
3380  int64_t output;
-
3381 
-
3382  res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_0, (uint8_t *)buf, 3); /* read data */
-
3383  if (res != 0) /* check result */
-
3384  {
-
3385  handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
-
3386 
-
3387  return 1; /* return error */
-
3388  }
-
3389  *pressure_raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
-
3390  output = a_bmp384_compensate_pressure(handle, *pressure_raw); /* compensate pressure */
-
3391  *pressure_pa = (float)((double)output / 100.0); /* get converted pressure */
-
3392 
-
3393  return 0; /* success return 0 */
-
3394  }
-
3395  else
-
3396  {
-
3397  handle->debug_print("bmp384: pressure data is not ready.\n"); /* pressure data is not ready */
-
3398 
-
3399  return 1; /* return error */
-
3400  }
-
3401  }
-
3402  else if (((prev >> 4) & 0x03) == 0x00) /* force mode */
-
3403  {
-
3404  uint16_t cnt = 5000;
-
3405 
-
3406  res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
-
3407  if (res != 0) /* check result */
-
3408  {
-
3409  handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
-
3410 
-
3411  return 1; /* return error */
-
3412  }
-
3413  prev &= ~(0x03 << 4); /* clear 4-5 bits */
-
3414  prev |= 0x01 << 4; /* set bit 4 */
-
3415  res = a_bmp384_iic_spi_write(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* write config */
-
3416  if (res != 0) /* check result */
-
3417  {
-
3418  handle->debug_print("bmp384: set pwr ctrl register failed.\n"); /* set pwr ctrl register failed */
-
3419 
-
3420  return 1; /* return error */
-
3421  }
-
3422 
-
3423  while (1) /* loop */
-
3424  {
-
3425  res = a_bmp384_iic_spi_read(handle, BMP384_REG_STATUS, (uint8_t *)&prev, 1); /* read config */
-
3426  if (res != 0) /* check result */
-
3427  {
-
3428  handle->debug_print("bmp384: get status register failed.\n"); /* get status register failed */
-
3429 
-
3430  return 1; /* return error */
-
3431  }
-
3432  if ((prev & (1 << 6)) != 0) /* data is ready */
-
3433  {
-
3434  int64_t output;
-
3435 
-
3436  res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_3, (uint8_t *)buf, 3); /* read raw data */
-
3437  if (res != 0) /* check result */
-
3438  {
-
3439  handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
-
3440 
-
3441  return 1; /* return error */
-
3442  }
-
3443  *temperature_raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
-
3444  output = a_bmp384_compensate_temperature(handle, *temperature_raw); /* compensate temperature */
-
3445  *temperature_c = (float)((double)output / 100.0); /* get converted temperature */
-
3446 
-
3447  break; /* break */
-
3448  }
-
3449  else
-
3450  {
-
3451  if (cnt != 0) /* check cnt */
-
3452  {
-
3453  cnt--; /* cnt-- */
-
3454  handle->delay_ms(1); /* delay 1 ms */
-
3455 
-
3456  continue; /* continue */
-
3457  }
-
3458  handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
-
3459 
-
3460  return 1; /* return error */
-
3461  }
-
3462  }
-
3463  cnt = 5000; /* set cnt */
-
3464 
-
3465  while (1) /* loop */
-
3466  {
-
3467  if ((prev & (1 << 5)) != 0) /* data is ready */
-
3468  {
-
3469  int64_t output;
-
3470 
-
3471  res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_0, (uint8_t *)buf, 3); /* read raw data */
-
3472  if (res != 0) /* check result */
-
3473  {
-
3474  handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
-
3475 
-
3476  return 1; /* return error */
-
3477  }
-
3478  *pressure_raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
-
3479  output = a_bmp384_compensate_pressure(handle, *pressure_raw); /* compensate pressure */
-
3480  *pressure_pa = (float)((double)output / 100.0); /* get converted pressure */
-
3481 
-
3482  return 0; /* success return 0 */
-
3483  }
-
3484  else
-
3485  {
-
3486  if (cnt != 0) /* check cnt */
-
3487  {
-
3488  cnt--; /* cnt-- */
-
3489  handle->delay_ms(1); /* delay 1 ms */
-
3490 
-
3491  continue; /* continue */
-
3492  }
-
3493  handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
-
3494 
-
3495  return 1; /* return error */
-
3496  }
-
3497  }
-
3498  }
-
3499  else
-
3500  {
-
3501  handle->debug_print("bmp384: mode is invalid.\n"); /* mode is invalid */
-
3502 
-
3503  return 1; /* return error */
-
3504  }
-
3505 }
-
3506 
- -
3518 {
-
3519  uint8_t res;
-
3520  uint8_t status;
-
3521 
-
3522  if (handle == NULL) /* check handle */
-
3523  {
-
3524  return 2; /* return error */
-
3525  }
-
3526  if (handle->inited != 1) /* check handle initialization */
-
3527  {
-
3528  return 3; /* return error */
-
3529  }
-
3530 
-
3531  res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_STATUS, (uint8_t *)&status, 1); /* read config */
-
3532  if (res != 0) /* check result */
-
3533  {
-
3534  handle->debug_print("bmp384: get interrupt status register failed.\n"); /* get interrupt status register failed */
-
3535 
-
3536  return 1; /* return error */
-
3537  }
-
3538  if ((status & (1 << 1)) != 0) /* if fifo full */
-
3539  {
-
3540  if(handle->receive_callback != NULL) /* if receive callback is valid */
-
3541  {
-
3542  handle->receive_callback(BMP384_INTERRUPT_STATUS_FIFO_FULL); /* run receive callback */
-
3543  }
-
3544  }
-
3545  if ((status & (1 << 0)) != 0) /* if fifo watermark */
-
3546  {
-
3547  if(handle->receive_callback != NULL) /* if receive callback is valid */
-
3548  {
-
3549  handle->receive_callback(BMP384_INTERRUPT_STATUS_FIFO_WATERMARK); /* run receive callback */
-
3550  }
-
3551  }
-
3552  if ((status & (1 << 3)) != 0) /* if data ready */
-
3553  {
-
3554  if (handle->receive_callback != NULL) /* if receive callback is valid */
-
3555  {
-
3556  handle->receive_callback(BMP384_INTERRUPT_STATUS_DATA_READY); /* run receive callback */
-
3557  }
-
3558  }
-
3559 
-
3560  return 0; /* success return 0 */
-
3561 }
-
3562 
- -
3573 {
-
3574  if (handle == NULL) /* check handle */
-
3575  {
-
3576  return 2; /* return error */
-
3577  }
-
3578 
-
3579  handle->iic_addr = (uint8_t)addr_pin; /* set iic address */
-
3580 
-
3581  return 0; /* success return 0 */
-
3582 }
-
3583 
- -
3594 {
-
3595  if (handle == NULL) /* check handle */
-
3596  {
-
3597  return 2; /* return error */
-
3598  }
-
3599 
-
3600  *addr_pin = (bmp384_address_t)handle->iic_addr; /* get iic address */
-
3601 
-
3602  return 0; /* success return 0 */
-
3603 }
-
3604 
- -
3615 {
-
3616  if (handle == NULL) /* check handle */
-
3617  {
-
3618  return 2; /* return error */
-
3619  }
-
3620 
-
3621  handle->iic_spi = (uint8_t)interface; /* set interface */
-
3622 
-
3623  return 0; /* success return 0 */
-
3624 }
-
3625 
- -
3636 {
-
3637  if (handle == NULL) /* check handle */
-
3638  {
-
3639  return 2; /* return error */
-
3640  }
-
3641 
-
3642  *interface = (bmp384_interface_t)(handle->iic_spi); /* get interface */
-
3643 
-
3644  return 0; /* success return 0 */
-
3645 }
-
3646 
-
3659 uint8_t bmp384_read_fifo(bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
-
3660 {
-
3661  uint8_t res;
-
3662  uint8_t prev;
-
3663  uint8_t tmp_buf[2];
-
3664  uint16_t length;
-
3665 
-
3666  if (handle == NULL) /* check handle */
-
3667  {
-
3668  return 2; /* return error */
-
3669  }
-
3670  if (handle->inited != 1) /* check handle initialization */
-
3671  {
-
3672  return 3; /* return error */
-
3673  }
-
3674 
-
3675  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
-
3676  if (res != 0) /* check result */
-
3677  {
-
3678  handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
-
3679 
-
3680  return 1; /* return error */
-
3681  }
-
3682  if ((prev & 0x01) != 0) /* check mode */
-
3683  {
-
3684  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_LENGTH_0, (uint8_t *)tmp_buf, 2); /* read config */
-
3685  if (res != 0) /* check result */
-
3686  {
-
3687  handle->debug_print("bmp384: get fifo length register failed.\n"); /* get fifo length register failed */
-
3688 
-
3689  return 1; /* return error */
-
3690  }
-
3691  length = ((uint16_t)(tmp_buf[1] & 0x01) << 8) | tmp_buf[0]; /* get data */
-
3692  if ((prev & (1 << 2)) != 0) /* if include sensor time */
-
3693  {
-
3694  length += 4; /* add sensor time length */
-
3695  }
-
3696  *len = (*len) < length ? (*len) :length; /* get real length */
-
3697  res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_DATA, (uint8_t *)buf, *len); /* read config */
-
3698  if (res != 0) /* check result */
-
3699  {
-
3700  handle->debug_print("bmp384: get fifo data failed.\n"); /* get fifo data failed */
-
3701 
-
3702  return 1; /* return error */
-
3703  }
-
3704 
-
3705  return 0; /* success return 0 */
-
3706  }
-
3707  else
-
3708  {
-
3709  handle->debug_print("bmp384: normal mode or forced mode can't use this function.\n"); /* normal mode or forced mode can't use this function */
-
3710 
-
3711  return 1; /* return error */
-
3712  }
-
3713 }
-
3714 
-
3729 uint8_t bmp384_fifo_parse(bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
-
3730 {
-
3731  uint8_t res;
-
3732  uint16_t i;
-
3733  uint16_t frame_total;
-
3734 
-
3735  if (handle == NULL) /* check handle */
-
3736  {
-
3737  return 2; /* return error */
-
3738  }
-
3739  if (handle->inited != 1) /* check handle initialization */
-
3740  {
-
3741  return 3; /* return error */
-
3742  }
-
3743 
-
3744  if (buf_len == 0) /* check buffer length */
-
3745  {
-
3746  handle->debug_print("bmp384: buffer length is invalid.\n"); /* buffer length is invalid */
-
3747 
-
3748  return 1; /* return error */
-
3749  }
-
3750  frame_total = 0; /* clear total frame */
-
3751  res = 0; /* set 0 */
-
3752  i = 0; /* set 0 */
-
3753  while (i < buf_len) /* loop */
-
3754  {
-
3755  switch ((uint8_t)buf[i])
-
3756  {
-
3757  case 0x90 :
-
3758  {
-
3759  if (frame_total > ((*frame_len)-1)) /* check length */
-
3760  {
-
3761  return 0; /* return success */
-
3762  }
-
3763  frame[frame_total].type = BMP384_FRAME_TYPE_TEMPERATURE; /* set temperature type */
-
3764  frame[frame_total].raw = (uint32_t)buf[i + 2 + 1] << 16 | (uint32_t)buf[i + 1 + 1] << 8 | buf[i + 0 + 1]; /* set raw */
-
3765  frame[frame_total].data = (float)((double)a_bmp384_compensate_temperature(handle, frame[frame_total].raw) / 100.0); /* set compensate temperature */
-
3766  frame_total++; /* frame++ */
-
3767  i += 4; /* index + 4 */
-
3768 
-
3769  break; /* break */
-
3770  }
-
3771  case 0x94 :
-
3772  {
-
3773  if ((frame_total) > ((*frame_len)-1)) /* check length */
-
3774  {
-
3775  return 0; /* return success */
-
3776  }
-
3777  frame[frame_total].type = BMP384_FRAME_TYPE_TEMPERATURE; /* set temperature type */
-
3778  frame[frame_total].raw = (uint32_t)buf[i + 2 + 1] << 16 | (uint32_t)buf[i + 1 + 1] << 8 | buf[i + 0 + 1]; /* set raw */
-
3779  frame[frame_total].data = (float)((double)a_bmp384_compensate_temperature(handle, frame[frame_total].raw) / 100.0); /* set compensate temperature */
-
3780  frame_total++; /* frame++ */
-
3781  if (frame_total > ((*frame_len)-1)) /* check length */
-
3782  {
-
3783  return 0; /* return success */
-
3784  }
-
3785  frame[frame_total].type = BMP384_FRAME_TYPE_PRESSURE; /* set pressure type */
-
3786  frame[frame_total].raw = (uint32_t)buf[i + 5 + 1] << 16 | (uint32_t)buf[i + 4 + 1] << 8 | buf[i + 3 + 1]; /* set raw */
-
3787  frame[frame_total].data = (float)((double)a_bmp384_compensate_pressure(handle, frame[frame_total].raw) / 100.0); /* set compensate pressure */
-
3788  frame_total++; /* frame++ */
-
3789  i += 7; /* index + 7 */
-
3790 
-
3791  break; /* break */
-
3792  }
-
3793  case 0xA0 :
-
3794  {
-
3795  if (frame_total > ((*frame_len)-1)) /* check length */
-
3796  {
-
3797  return 0; /* return success */
-
3798  }
-
3799  frame[frame_total].type = BMP384_FRAME_TYPE_SENSORTIME; /* set sensor time type */
-
3800  frame[frame_total].raw = (uint32_t)buf[i + 2 + 1] << 16 | (uint32_t)buf[i + 1 + 1] << 8 | buf[i + 0 + 1]; /* set raw */
-
3801  frame[frame_total].data = 0; /* set data */
-
3802  frame_total++; /* frame++ */
-
3803  i += 4; /* index+4 */
-
3804 
-
3805  break; /* break */
-
3806  }
-
3807  case 0x80 : /* fifo empty */
-
3808  {
-
3809  i += 2; /* index+2 */
-
3810 
-
3811  break; /* break */
-
3812  }
-
3813  case 0x48 : /* fifo input config */
-
3814  {
-
3815  i += 2; /* index+2 */
-
3816 
-
3817  break; /* break */
-
3818  }
-
3819  case 0x44 : /* config error */
-
3820  {
-
3821  i += 2; /* index+2 */
-
3822 
-
3823  break; /* break */
-
3824  }
-
3825  default :
-
3826  {
-
3827  handle->debug_print("bmp384: header is invalid.\n"); /* header is invalid */
-
3828  res = 1; /* set 1 */
-
3829 
-
3830  break; /* break */
-
3831  }
-
3832  }
-
3833  if (res == 1) /* check the result */
-
3834  {
-
3835  return 1; /* return error */
-
3836  }
-
3837  }
-
3838  *frame_len = frame_total; /* set frame length */
-
3839 
-
3840  return 0; /* success return 0 */
-
3841 }
-
3842 
-
3855 uint8_t bmp384_set_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t value)
-
3856 {
-
3857  if (handle == NULL) /* check handle */
-
3858  {
-
3859  return 2; /* return error */
-
3860  }
-
3861  if (handle->inited != 1) /* check handle initialization */
-
3862  {
-
3863  return 3; /* return error */
-
3864  }
-
3865 
-
3866  return a_bmp384_iic_spi_write(handle, reg, &value, 1); /* write register */
-
3867 }
-
3868 
-
3881 uint8_t bmp384_get_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t *value)
-
3882 {
-
3883  if (handle == NULL) /* check handle */
-
3884  {
-
3885  return 2; /* return error */
-
3886  }
-
3887  if (handle->inited != 1) /* check handle initialization */
-
3888  {
-
3889  return 3; /* return error */
-
3890  }
-
3891 
-
3892  return a_bmp384_iic_spi_read(handle, reg, value, 1); /* read register */
-
3893 }
-
3894 
- -
3904 {
-
3905  if (info == NULL) /* check handle */
-
3906  {
-
3907  return 2; /* return error */
-
3908  }
-
3909 
-
3910  memset(info, 0, sizeof(bmp384_info_t)); /* initialize bmp384 info structure */
-
3911  strncpy(info->chip_name, CHIP_NAME, 32); /* copy chip name */
-
3912  strncpy(info->manufacturer_name, MANUFACTURER_NAME, 32); /* copy manufacturer name */
-
3913  strncpy(info->interface, "IIC SPI", 8); /* copy interface name */
-
3914  info->supply_voltage_min_v = SUPPLY_VOLTAGE_MIN; /* set minimal supply voltage */
-
3915  info->supply_voltage_max_v = SUPPLY_VOLTAGE_MAX; /* set maximum supply voltage */
-
3916  info->max_current_ma = MAX_CURRENT; /* set maximum current */
-
3917  info->temperature_max = TEMPERATURE_MAX; /* set minimal temperature */
-
3918  info->temperature_min = TEMPERATURE_MIN; /* set maximum temperature */
-
3919  info->driver_version = DRIVER_VERSION; /* set driver version */
-
3920 
-
3921  return 0; /* success return 0 */
-
3922 }
-
#define BMP384_REG_NVM_PAR_T3
Definition: driver_bmp384.c:59
-
#define BMP384_REG_NVM_PAR_T1_L
Definition: driver_bmp384.c:55
-
#define BMP384_REG_IF_CONF
Definition: driver_bmp384.c:80
-
#define BMP384_REG_DATA_3
Definition: driver_bmp384.c:96
-
#define MAX_CURRENT
Definition: driver_bmp384.c:46
-
#define BMP384_REG_FIFO_CONFIG_2
Definition: driver_bmp384.c:82
-
#define BMP384_REG_NVM_PAR_P10
Definition: driver_bmp384.c:74
-
#define BMP384_REG_FIFO_WTM_0
Definition: driver_bmp384.c:85
-
#define BMP384_REG_FIFO_CONFIG_1
Definition: driver_bmp384.c:83
-
#define BMP384_REG_NVM_PAR_P3
Definition: driver_bmp384.c:64
-
#define BMP384_REG_NVM_PAR_P7
Definition: driver_bmp384.c:70
-
#define BMP384_REG_NVM_PAR_P11
Definition: driver_bmp384.c:75
-
#define BMP384_REG_FIFO_LENGTH_0
Definition: driver_bmp384.c:88
-
#define BMP384_REG_INT_CTRL
Definition: driver_bmp384.c:81
-
#define BMP384_REG_NVM_PAR_P8
Definition: driver_bmp384.c:71
-
#define SUPPLY_VOLTAGE_MAX
Definition: driver_bmp384.c:45
-
#define BMP384_REG_FIFO_DATA
Definition: driver_bmp384.c:86
-
#define BMP384_REG_CHIP_ID
-
#define BMP384_REG_NVM_PAR_T2_L
Definition: driver_bmp384.c:57
-
#define BMP384_REG_NVM_PAR_P2_L
Definition: driver_bmp384.c:62
-
#define TEMPERATURE_MAX
Definition: driver_bmp384.c:48
-
#define BMP384_REG_NVM_PAR_P6_L
Definition: driver_bmp384.c:68
-
#define BMP384_REG_EVENT
Definition: driver_bmp384.c:90
-
#define BMP384_REG_ERR_REG
-
#define BMP384_REG_SENSORTIME_0
Definition: driver_bmp384.c:93
-
#define MANUFACTURER_NAME
Definition: driver_bmp384.c:43
-
#define TEMPERATURE_MIN
Definition: driver_bmp384.c:47
-
#define SUPPLY_VOLTAGE_MIN
Definition: driver_bmp384.c:44
-
#define BMP384_REG_STATUS
-
#define BMP384_REG_NVM_PAR_P5_L
Definition: driver_bmp384.c:66
-
#define BMP384_REG_ODR
Definition: driver_bmp384.c:77
-
#define BMP384_REG_NVM_PAR_P4
Definition: driver_bmp384.c:65
-
#define CHIP_NAME
chip information definition
Definition: driver_bmp384.c:42
-
#define BMP384_REG_NVM_PAR_P9_L
Definition: driver_bmp384.c:72
-
#define BMP384_REG_CMD
chip register definition
Definition: driver_bmp384.c:54
-
#define DRIVER_VERSION
Definition: driver_bmp384.c:49
-
#define BMP384_REG_DATA_0
Definition: driver_bmp384.c:99
-
#define BMP384_REG_CONFIG
Definition: driver_bmp384.c:76
-
#define BMP384_REG_OSR
Definition: driver_bmp384.c:78
-
#define BMP384_REG_NVM_PAR_P1_L
Definition: driver_bmp384.c:60
-
#define BMP384_REG_PWR_CTRL
Definition: driver_bmp384.c:79
-
#define BMP384_REG_INT_STATUS
Definition: driver_bmp384.c:89
+Go to the documentation of this file.
1
+
36
+
37#include "driver_bmp384.h"
+
38
+
42#define CHIP_NAME "Bosch BMP384"
+
43#define MANUFACTURER_NAME "Bosch"
+
44#define SUPPLY_VOLTAGE_MIN 1.65f
+
45#define SUPPLY_VOLTAGE_MAX 3.6f
+
46#define MAX_CURRENT 0.8f
+
47#define TEMPERATURE_MIN -40.0f
+
48#define TEMPERATURE_MAX 85.0f
+
49#define DRIVER_VERSION 1000
+
50
+
54#define BMP384_REG_CMD 0x7E
+
55#define BMP384_REG_NVM_PAR_T1_L 0x31
+
56#define BMP384_REG_NVM_PAR_T1_H 0x32
+
57#define BMP384_REG_NVM_PAR_T2_L 0x33
+
58#define BMP384_REG_NVM_PAR_T2_H 0x34
+
59#define BMP384_REG_NVM_PAR_T3 0x35
+
60#define BMP384_REG_NVM_PAR_P1_L 0x36
+
61#define BMP384_REG_NVM_PAR_P1_H 0x37
+
62#define BMP384_REG_NVM_PAR_P2_L 0x38
+
63#define BMP384_REG_NVM_PAR_P2_H 0x39
+
64#define BMP384_REG_NVM_PAR_P3 0x3A
+
65#define BMP384_REG_NVM_PAR_P4 0x3B
+
66#define BMP384_REG_NVM_PAR_P5_L 0x3C
+
67#define BMP384_REG_NVM_PAR_P5_H 0x3D
+
68#define BMP384_REG_NVM_PAR_P6_L 0x3E
+
69#define BMP384_REG_NVM_PAR_P6_H 0x3F
+
70#define BMP384_REG_NVM_PAR_P7 0x40
+
71#define BMP384_REG_NVM_PAR_P8 0x41
+
72#define BMP384_REG_NVM_PAR_P9_L 0x42
+
73#define BMP384_REG_NVM_PAR_P9_H 0x43
+
74#define BMP384_REG_NVM_PAR_P10 0x44
+
75#define BMP384_REG_NVM_PAR_P11 0x45
+
76#define BMP384_REG_CONFIG 0x1F
+
77#define BMP384_REG_ODR 0x1D
+
78#define BMP384_REG_OSR 0x1C
+
79#define BMP384_REG_PWR_CTRL 0x1B
+
80#define BMP384_REG_IF_CONF 0x1A
+
81#define BMP384_REG_INT_CTRL 0x19
+
82#define BMP384_REG_FIFO_CONFIG_2 0x18
+
83#define BMP384_REG_FIFO_CONFIG_1 0x17
+
84#define BMP384_REG_FIFO_WTM_1 0x16
+
85#define BMP384_REG_FIFO_WTM_0 0x15
+
86#define BMP384_REG_FIFO_DATA 0x14
+
87#define BMP384_REG_FIFO_LENGTH_1 0x13
+
88#define BMP384_REG_FIFO_LENGTH_0 0x12
+
89#define BMP384_REG_INT_STATUS 0x11
+
90#define BMP384_REG_EVENT 0x10
+
91#define BMP384_REG_SENSORTIME_2 0x0E
+
92#define BMP384_REG_SENSORTIME_1 0x0D
+
93#define BMP384_REG_SENSORTIME_0 0x0C
+
94#define BMP384_REG_DATA_5 0x09
+
95#define BMP384_REG_DATA_4 0x08
+
96#define BMP384_REG_DATA_3 0x07
+
97#define BMP384_REG_DATA_2 0x06
+
98#define BMP384_REG_DATA_1 0x05
+
99#define BMP384_REG_DATA_0 0x04
+
100#define BMP384_REG_STATUS 0x03
+
101#define BMP384_REG_ERR_REG 0x02
+
102#define BMP384_REG_CHIP_ID 0x00
+
103
+
115static uint8_t a_bmp384_iic_spi_read(bmp384_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len)
+
116{
+
117 if (handle->iic_spi == BMP384_INTERFACE_IIC) /* iic interface */
+
118 {
+
119 if (handle->iic_read(handle->iic_addr, reg, buf, len) != 0) /* iic read */
+
120 {
+
121 return 1; /* return error */
+
122 }
+
123 else
+
124 {
+
125 return 0; /* success return 0 */
+
126 }
+
127 }
+
128 else /* spi interface */
+
129 {
+
130 reg |= 1 << 7; /* set read mode */
+
131 if (handle->spi_read(reg, handle->buf,
+
132 len > 512 ? (512 + 1) : (len + 1)) != 0) /* spi read */
+
133 {
+
134 return 1; /* return error */
+
135 }
+
136 memcpy(buf, handle->buf+1, (len > 512) ? 512 : len); /* copy data */
+
137
+
138 return 0; /* success return 0 */
+
139 }
+
140}
+
141
+
153static uint8_t a_bmp384_iic_spi_write(bmp384_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len)
+
154{
+
155 if (handle->iic_spi == BMP384_INTERFACE_IIC) /* iic interface */
+
156 {
+
157 uint16_t i;
+
158
+
159 for (i = 0; i < len; i++) /* write data one byte by one byte */
+
160 {
+
161 if (handle->iic_write(handle->iic_addr,
+
162 (uint8_t)(reg + i), buf + i, 1) != 0) /* iic write */
+
163 {
+
164 return 1; /* return error */
+
165 }
+
166 }
+
167
+
168 return 0; /* success return 0 */
+
169 }
+
170 else
+
171 {
+
172 uint16_t i;
+
173
+
174 reg &= ~(1 << 7); /* write mode */
+
175 for (i = 0; i < len; i++) /* write data one byte by one byte */
+
176 {
+
177 if (handle->spi_write((uint8_t)(reg + i), buf + i, 1) != 0) /* spi write */
+
178 {
+
179 return 1; /* return error */
+
180 }
+
181 }
+
182
+
183 return 0; /* success return 0 */
+
184 }
+
185}
+
186
+
195static uint8_t a_bmp384_get_calibration_data(bmp384_handle_t *handle)
+
196{
+
197 uint8_t buf[2];
+
198
+
199 if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_T1_L, (uint8_t *)buf, 2) != 0) /* read t1 */
+
200 {
+
201 handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
+
202
+
203 return 1; /* return error */
+
204 }
+
205 handle->t1 = (uint16_t)buf[1] << 8 | buf[0]; /* set t1 */
+
206 if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_T2_L, (uint8_t *)buf, 2) != 0) /* read t2 */
+
207 {
+
208 handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
+
209
+
210 return 1; /* return error */
+
211 }
+
212 handle->t2 = (uint16_t)buf[1] << 8 | buf[0]; /* set t2 */
+
213 if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_T3, (uint8_t *)buf, 1) != 0) /* read t3 */
+
214 {
+
215 handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
+
216
+
217 return 1; /* return error */
+
218 }
+
219 handle->t3 = (int8_t)(buf[0]); /* set t3 */
+
220 if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P1_L, (uint8_t *)buf, 2) != 0) /* read p1 */
+
221 {
+
222 handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
+
223
+
224 return 1; /* return error */
+
225 }
+
226 handle->p1 = (int16_t)((uint16_t)buf[1] << 8 | buf[0]); /* set p1 */
+
227 if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P2_L, (uint8_t *)buf, 2) != 0) /* read p2 */
+
228 {
+
229 handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
+
230
+
231 return 1; /* return error */
+
232 }
+
233 handle->p2 = (int16_t)((uint16_t)buf[1] << 8 | buf[0]); /* set p2 */
+
234 if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P3, (uint8_t *)buf, 1) != 0) /* read p3 */
+
235 {
+
236 handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
+
237
+
238 return 1; /* return error */
+
239 }
+
240 handle->p3 = (int8_t)(buf[0]); /* set p3 */
+
241 if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P4, (uint8_t *)buf, 1) != 0) /* read p4 */
+
242 {
+
243 handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
+
244
+
245 return 1; /* return error */
+
246 }
+
247 handle->p4 = (int8_t)(buf[0]); /* set p4 */
+
248 if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P5_L, (uint8_t *)buf, 2) != 0) /* read p5 */
+
249 {
+
250 handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
+
251
+
252 return 1; /* return error */
+
253 }
+
254 handle->p5 = (uint16_t)buf[1] << 8 | buf[0]; /* set p5 */
+
255 if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P6_L, (uint8_t *)buf, 2) != 0) /* read p6l */
+
256 {
+
257 handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
+
258
+
259 return 1; /* return error */
+
260 }
+
261 handle->p6 = (uint16_t)buf[1] << 8 | buf[0]; /* set p6 */
+
262 if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P7, (uint8_t *)buf, 1) != 0) /* read p7 */
+
263 {
+
264 handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
+
265
+
266 return 1; /* return error */
+
267 }
+
268 handle->p7 = (int8_t)(buf[0]); /* set p7 */
+
269 if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P8, (uint8_t *)buf, 1) != 0) /* read p8 */
+
270 {
+
271 handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
+
272
+
273 return 1; /* return error */
+
274 }
+
275 handle->p8 = (int8_t)(buf[0]); /* set p8 */
+
276 if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P9_L, (uint8_t *)buf, 2) != 0) /* read p9l */
+
277 {
+
278 handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
+
279
+
280 return 1; /* return error */
+
281 }
+
282 handle->p9 = (int16_t)((uint16_t)buf[1] << 8 | buf[0]); /* set p9 */
+
283 if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P10, (uint8_t *)buf, 1) != 0) /* read p10 */
+
284 {
+
285 handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
+
286
+
287 return 1; /* return error */
+
288 }
+
289 handle->p10 = (int8_t)(buf[0]); /* set p10 */
+
290 if (a_bmp384_iic_spi_read(handle, BMP384_REG_NVM_PAR_P11, (uint8_t *)buf, 1) != 0) /* read p11 */
+
291 {
+
292 handle->debug_print("bmp384: get calibration data failed.\n"); /* get calibration data failed */
+
293
+
294 return 1; /* return error */
+
295 }
+
296 handle->p11 = (int8_t)(buf[0]); /* set p11 */
+
297
+
298 return 0; /* success return 0 */
+
299}
+
300
+
308static int64_t a_bmp384_compensate_temperature(bmp384_handle_t *handle, uint32_t data)
+
309{
+
310 uint64_t partial_data1;
+
311 uint64_t partial_data2;
+
312 uint64_t partial_data3;
+
313 int64_t partial_data4;
+
314 int64_t partial_data5;
+
315 int64_t partial_data6;
+
316 int64_t comp_temp;
+
317
+
318 /* calculate compensate temperature */
+
319 partial_data1 = (uint64_t)(data - (256 * (uint64_t)(handle->t1)));
+
320 partial_data2 = (uint64_t)(handle->t2 * partial_data1);
+
321 partial_data3 = (uint64_t)(partial_data1 * partial_data1);
+
322 partial_data4 = (int64_t)(((int64_t)partial_data3) * ((int64_t)handle->t3));
+
323 partial_data5 = ((int64_t)(((int64_t)partial_data2) * 262144) + (int64_t)partial_data4);
+
324 partial_data6 = (int64_t)(((int64_t)partial_data5) / 4294967296U);
+
325 handle->t_fine = partial_data6;
+
326 comp_temp = (int64_t)((partial_data6 * 25) / 16384);
+
327
+
328 return comp_temp;
+
329}
+
330
+
338static int64_t a_bmp384_compensate_pressure(bmp384_handle_t *handle, uint32_t data)
+
339{
+
340 int64_t partial_data1;
+
341 int64_t partial_data2;
+
342 int64_t partial_data3;
+
343 int64_t partial_data4;
+
344 int64_t partial_data5;
+
345 int64_t partial_data6;
+
346 int64_t offset;
+
347 int64_t sensitivity;
+
348 uint64_t comp_press;
+
349
+
350 /* calculate compensate pressure */
+
351 partial_data1 = handle->t_fine * handle->t_fine;
+
352 partial_data2 = partial_data1 / 64;
+
353 partial_data3 = (partial_data2 * handle->t_fine) / 256;
+
354 partial_data4 = (handle->p8 * partial_data3) / 32;
+
355 partial_data5 = (handle->p7 * partial_data1) * 16;
+
356 partial_data6 = (handle->p6 * handle->t_fine) * 4194304;
+
357 offset = (int64_t)((int64_t)(handle->p5) * (int64_t)140737488355328U) + partial_data4 + partial_data5 + partial_data6;
+
358 partial_data2 = (((int64_t)handle->p4) * partial_data3) / 32;
+
359 partial_data4 = (handle->p3 * partial_data1) * 4;
+
360 partial_data5 = ((int64_t)(handle->p2) - 16384) * ((int64_t)handle->t_fine) * 2097152;
+
361 sensitivity = (((int64_t)(handle->p1) - 16384) * (int64_t)70368744177664U) + partial_data2 + partial_data4 + partial_data5;
+
362 partial_data1 = (sensitivity / 16777216) * data;
+
363 partial_data2 = (int64_t)(handle->p10) * (int64_t)(handle->t_fine);
+
364 partial_data3 = partial_data2 + (65536 * (int64_t)(handle->p9));
+
365 partial_data4 = (partial_data3 * data) / 8192;
+
366 partial_data5 = (partial_data4 * data) / 512;
+
367 partial_data6 = (int64_t)((uint64_t)data * (uint64_t)data);
+
368 partial_data2 = ((int64_t)(handle->p11) * (int64_t)(partial_data6)) / 65536;
+
369 partial_data3 = (partial_data2 * data) / 128;
+
370 partial_data4 = (offset / 4) + partial_data1 + partial_data5 + partial_data3;
+
371 comp_press = (((uint64_t)partial_data4 * 25) / (uint64_t)1099511627776U);
+
372
+
373 return comp_press;
+
374}
+
375
+
+
387uint8_t bmp384_get_error(bmp384_handle_t *handle, uint8_t *err)
+
388{
+
389 uint8_t res;
+
390
+
391 if (handle == NULL) /* check handle */
+
392 {
+
393 return 2; /* return error */
+
394 }
+
395 if (handle->inited != 1) /* check handle initialization */
+
396 {
+
397 return 3; /* return error */
+
398 }
+
399
+
400 res = a_bmp384_iic_spi_read(handle, BMP384_REG_ERR_REG, (uint8_t *)err, 1); /* read config */
+
401 if (res != 0) /* check result */
+
402 {
+
403 handle->debug_print("bmp384: get error register failed.\n"); /* get error register failed */
+
404
+
405 return 1; /* return error */
+
406 }
+
407
+
408 return 0; /* success return 0 */
+
409}
+
+
410
+
+
422uint8_t bmp384_get_status(bmp384_handle_t *handle, uint8_t *status)
+
423{
+
424 uint8_t res;
+
425
+
426 if (handle == NULL) /* check handle */
+
427 {
+
428 return 2; /* return error */
+
429 }
+
430 if (handle->inited != 1) /* check handle initialization */
+
431 {
+
432 return 3; /* return error */
+
433 }
+
434
+
435 res = a_bmp384_iic_spi_read(handle, BMP384_REG_STATUS, (uint8_t *)status, 1); /* read status */
+
436 if (res != 0) /* check result */
+
437 {
+
438 handle->debug_print("bmp384: get status register failed.\n"); /* get status register failed */
+
439
+
440 return 1; /* return error */
+
441 }
+
442
+
443 return 0; /* success return 0 */
+
444}
+
+
445
+
+
457uint8_t bmp384_get_sensortime(bmp384_handle_t *handle, uint32_t *t)
+
458{
+
459 uint8_t res;
+
460 uint8_t buf[3];
+
461
+
462 if (handle == NULL) /* check handle */
+
463 {
+
464 return 2; /* return error */
+
465 }
+
466 if (handle->inited != 1) /* check handle initialization */
+
467 {
+
468 return 3; /* return error */
+
469 }
+
470
+
471 res = a_bmp384_iic_spi_read(handle, BMP384_REG_SENSORTIME_0, (uint8_t *)buf, 3); /* read config */
+
472 if (res != 0) /* check result */
+
473 {
+
474 handle->debug_print("bmp384: get sensor time register failed.\n"); /* get sensor time register failed */
+
475
+
476 return 1; /* return error */
+
477 }
+
478 *t = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get time */
+
479
+
480 return 0; /* success return 0 */
+
481}
+
+
482
+
+ +
495{
+
496 uint8_t res;
+
497 uint8_t prev;
+
498
+
499 if (handle == NULL) /* check handle */
+
500 {
+
501 return 2; /* return error */
+
502 }
+
503 if (handle->inited != 1) /* check handle initialization */
+
504 {
+
505 return 3; /* return error */
+
506 }
+
507
+
508 res = a_bmp384_iic_spi_read(handle, BMP384_REG_EVENT, (uint8_t *)&prev, 1); /* read config */
+
509 if (res != 0) /* check result */
+
510 {
+
511 handle->debug_print("bmp384: get event register failed.\n"); /* get event register failed */
+
512
+
513 return 1; /* return error */
+
514 }
+
515 *event = (bmp384_event_t)(prev & (1 << 0)); /* get event */
+
516
+
517 return 0; /* success return 0 */
+
518}
+
+
519
+
+
531uint8_t bmp384_get_interrupt_status(bmp384_handle_t *handle, uint8_t *status)
+
532{
+
533 uint8_t res;
+
534
+
535 if (handle == NULL) /* check handle */
+
536 {
+
537 return 2; /* return error */
+
538 }
+
539 if (handle->inited != 1) /* check handle initialization */
+
540 {
+
541 return 3; /* return error */
+
542 }
+
543
+
544 res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_STATUS, (uint8_t *)status, 1); /* read status */
+
545 if (res != 0) /* check result */
+
546 {
+
547 handle->debug_print("bmp384: get interrupt status register failed.\n"); /* get interrupt status register failed */
+
548
+
549 return 1; /* return error */
+
550 }
+
551
+
552 return 0; /* success return 0 */
+
553}
+
+
554
+
+
566uint8_t bmp384_get_fifo_length(bmp384_handle_t *handle, uint16_t *length)
+
567{
+
568 uint8_t res;
+
569 uint8_t buf[2];
+
570
+
571 if (handle == NULL) /* check handle */
+
572 {
+
573 return 2; /* return error */
+
574 }
+
575 if (handle->inited != 1) /* check handle initialization */
+
576 {
+
577 return 3; /* return error */
+
578 }
+
579
+
580 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_LENGTH_0, (uint8_t *)buf, 2); /* read config */
+
581 if (res != 0) /* check result */
+
582 {
+
583 handle->debug_print("bmp384: get fifo length register failed.\n"); /* get fifo length register failed */
+
584
+
585 return 1; /* return error */
+
586 }
+
587 *length = ((uint16_t)(buf[1] & 0x01) << 8) | buf[0]; /* get data */
+
588
+
589 return 0; /* success return 0 */
+
590}
+
+
591
+
+
604uint8_t bmp384_get_fifo_data(bmp384_handle_t *handle, uint8_t *data, uint16_t length)
+
605{
+
606 uint8_t res;
+
607
+
608 if (handle == NULL) /* check handle */
+
609 {
+
610 return 2; /* return error */
+
611 }
+
612 if (handle->inited != 1) /* check handle initialization */
+
613 {
+
614 return 3; /* return error */
+
615 }
+
616
+
617 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_DATA, (uint8_t *)data, length); /* read data */
+
618 if (res != 0) /* check result */
+
619 {
+
620 handle->debug_print("bmp384: get fifo data register failed.\n"); /* get fifo data register failed */
+
621
+
622 return 1; /* return error */
+
623 }
+
624
+
625 return 0; /* success return 0 */
+
626}
+
+
627
+
+
639uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
+
640{
+
641 uint8_t res;
+
642 uint8_t buf[2];
+
643
+
644 if (handle == NULL) /* check handle */
+
645 {
+
646 return 2; /* return error */
+
647 }
+
648 if (handle->inited != 1) /* check handle initialization */
+
649 {
+
650 return 3; /* return error */
+
651 }
+
652
+
653 buf[0] = watermark & 0xFF; /* set low part */
+
654 buf[1] = (watermark >> 8) & 0x01; /* set high part */
+
655 res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_WTM_0, (uint8_t *)buf, 2); /* write config */
+
656 if (res != 0) /* check result */
+
657 {
+
658 handle->debug_print("bmp384: set fifo watermark register failed.\n"); /* set fifo watermark register failed */
+
659
+
660 return 1; /* return error */
+
661 }
+
662
+
663 return 0; /* success return 0 */
+
664}
+
+
665
+
+
677uint8_t bmp384_get_fifo_watermark(bmp384_handle_t *handle, uint16_t *watermark)
+
678{
+
679 uint8_t res;
+
680 uint8_t buf[2];
+
681
+
682 if (handle == NULL) /* check handle */
+
683 {
+
684 return 2; /* return error */
+
685 }
+
686 if (handle->inited != 1) /* check handle initialization */
+
687 {
+
688 return 3; /* return error */
+
689 }
+
690
+
691 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_WTM_0, (uint8_t *)buf, 2); /* read config */
+
692 if (res != 0) /* check result */
+
693 {
+
694 handle->debug_print("bmp384: get fifo watermark register failed.\n"); /* get fifo watermark register failed */
+
695
+
696 return 1; /* return error */
+
697 }
+
698 *watermark = ((uint16_t)(buf[1] & 0x01) << 8) | buf[0]; /* get data */
+
699
+
700 return 0; /* success return 0 */
+
701}
+
+
702
+
+ +
715{
+
716 uint8_t res;
+
717 uint8_t prev;
+
718
+
719 if (handle == NULL) /* check handle */
+
720 {
+
721 return 2; /* return error */
+
722 }
+
723 if (handle->inited != 1) /* check handle initialization */
+
724 {
+
725 return 3; /* return error */
+
726 }
+
727
+
728 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
+
729 if (res != 0) /* check result */
+
730 {
+
731 handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
+
732
+
733 return 1; /* return error */
+
734 }
+
735 prev &= ~(1 << 0); /* clear config */
+
736 prev |= enable << 0; /* set config */
+
737 res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* write config */
+
738 if (res != 0) /* check result */
+
739 {
+
740 handle->debug_print("bmp384: set fifo config 1 register failed.\n"); /* set fifo config 1 register failed */
+
741
+
742 return 1; /* return error */
+
743 }
+
744
+
745 return 0; /* success return 0 */
+
746}
+
+
747
+
+ +
760{
+
761 uint8_t res;
+
762 uint8_t prev;
+
763
+
764 if (handle == NULL) /* check handle */
+
765 {
+
766 return 2; /* return error */
+
767 }
+
768 if (handle->inited != 1) /* check handle initialization */
+
769 {
+
770 return 3; /* return error */
+
771 }
+
772
+
773 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
+
774 if (res != 0) /* check result */
+
775 {
+
776 handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
+
777
+
778 return 1; /* return error */
+
779 }
+
780 *enable = (bmp384_bool_t)(prev & 0x01); /* get config */
+
781
+
782 return 0; /* success return 0 */
+
783}
+
+
784
+
+ +
797{
+
798 uint8_t res;
+
799 uint8_t prev;
+
800
+
801 if (handle == NULL) /* check handle */
+
802 {
+
803 return 2; /* return error */
+
804 }
+
805 if (handle->inited != 1) /* check handle initialization */
+
806 {
+
807 return 3; /* return error */
+
808 }
+
809
+
810 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
+
811 if (res != 0) /* check result */
+
812 {
+
813 handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
+
814
+
815 return 1; /* return error */
+
816 }
+
817 prev &= ~(1 << 1); /* clear config */
+
818 prev |= enable << 1; /* set config */
+
819 res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* write config */
+
820 if (res != 0) /* check result */
+
821 {
+
822 handle->debug_print("bmp384: set fifo config 1 register failed.\n"); /* set fifo config 1 register failed */
+
823
+
824 return 1; /* return error */
+
825 }
+
826
+
827 return 0; /* success return 0 */
+
828}
+
+
829
+
+ +
842{
+
843 uint8_t res;
+
844 uint8_t prev;
+
845
+
846 if (handle == NULL) /* check handle */
+
847 {
+
848 return 2; /* return error */
+
849 }
+
850 if (handle->inited != 1) /* check handle initialization */
+
851 {
+
852 return 3; /* return error */
+
853 }
+
854
+
855 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
+
856 if (res != 0) /* check result */
+
857 {
+
858 handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
+
859
+
860 return 1; /* return error */
+
861 }
+
862 *enable = (bmp384_bool_t)((prev >> 1) & 0x01); /* get config */
+
863
+
864 return 0; /* success return 0 */
+
865}
+
+
866
+
+ +
879{
+
880 uint8_t res;
+
881 uint8_t prev;
+
882
+
883 if (handle == NULL) /* check handle */
+
884 {
+
885 return 2; /* return error */
+
886 }
+
887 if (handle->inited != 1) /* check handle initialization */
+
888 {
+
889 return 3; /* return error */
+
890 }
+
891
+
892 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
+
893 if (res != 0) /* check result */
+
894 {
+
895 handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
+
896
+
897 return 1; /* return error */
+
898 }
+
899 prev &= ~(1 << 2); /* clear config */
+
900 prev |= enable << 2; /* set config */
+
901 res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* write config */
+
902 if (res != 0) /* check result */
+
903 {
+
904 handle->debug_print("bmp384: set fifo config 1 register failed.\n"); /* set fifo config 1 register failed */
+
905
+
906 return 1; /* return error */
+
907 }
+
908
+
909 return 0; /* success return 0 */
+
910}
+
+
911
+
+ +
924{
+
925 uint8_t res;
+
926 uint8_t prev;
+
927
+
928 if (handle == NULL) /* check handle */
+
929 {
+
930 return 2; /* return error */
+
931 }
+
932 if (handle->inited != 1) /* check handle initialization */
+
933 {
+
934 return 3; /* return error */
+
935 }
+
936
+
937 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
+
938 if (res != 0) /* check result */
+
939 {
+
940 handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
+
941
+
942 return 1; /* return error */
+
943 }
+
944 *enable = (bmp384_bool_t)((prev >> 2) & 0x01); /* get config */
+
945
+
946 return 0; /* success return 0 */
+
947}
+
+
948
+
+ +
961{
+
962 uint8_t res;
+
963 uint8_t prev;
+
964
+
965 if (handle == NULL) /* check handle */
+
966 {
+
967 return 2; /* return error */
+
968 }
+
969 if (handle->inited != 1) /* check handle initialization */
+
970 {
+
971 return 3; /* return error */
+
972 }
+
973
+
974 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
+
975 if (res != 0) /* check result */
+
976 {
+
977 handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
+
978
+
979 return 1; /* return error */
+
980 }
+
981 prev &= ~(1 << 3); /* clear config */
+
982 prev |= enable << 3; /* set config */
+
983 res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* write config */
+
984 if (res != 0) /* check result */
+
985 {
+
986 handle->debug_print("bmp384: set fifo config 1 register failed.\n"); /* set fifo config 1 register failed */
+
987
+
988 return 1; /* return error */
+
989 }
+
990
+
991 return 0; /* success return 0 */
+
992}
+
+
993
+
+ +
1006{
+
1007 uint8_t res;
+
1008 uint8_t prev;
+
1009
+
1010 if (handle == NULL) /* check handle */
+
1011 {
+
1012 return 2; /* return error */
+
1013 }
+
1014 if (handle->inited != 1) /* check handle initialization */
+
1015 {
+
1016 return 3; /* return error */
+
1017 }
+
1018
+
1019 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
+
1020 if (res != 0) /* check result */
+
1021 {
+
1022 handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
+
1023
+
1024 return 1; /* return error */
+
1025 }
+
1026 *enable = (bmp384_bool_t)((prev >> 3) & 0x01); /* get config */
+
1027
+
1028 return 0; /* success return 0 */
+
1029}
+
+
1030
+
+ +
1043{
+
1044 uint8_t res;
+
1045 uint8_t prev;
+
1046
+
1047 if (handle == NULL) /* check handle */
+
1048 {
+
1049 return 2; /* return error */
+
1050 }
+
1051 if (handle->inited != 1) /* check handle initialization */
+
1052 {
+
1053 return 3; /* return error */
+
1054 }
+
1055
+
1056 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
+
1057 if (res != 0) /* check result */
+
1058 {
+
1059 handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
+
1060
+
1061 return 1; /* return error */
+
1062 }
+
1063 prev &= ~(1 << 4); /* clear config */
+
1064 prev |= enable << 4; /* set config */
+
1065 res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* write config */
+
1066 if (res != 0) /* check result */
+
1067 {
+
1068 handle->debug_print("bmp384: set fifo config 1 register failed.\n"); /* set fifo config 1 register failed */
+
1069
+
1070 return 1; /* return error */
+
1071 }
+
1072
+
1073 return 0; /* success return 0 */
+
1074}
+
+
1075
+
+ +
1088{
+
1089 uint8_t res;
+
1090 uint8_t prev;
+
1091
+
1092 if (handle == NULL) /* check handle */
+
1093 {
+
1094 return 2; /* return error */
+
1095 }
+
1096 if (handle->inited != 1) /* check handle initialization */
+
1097 {
+
1098 return 3; /* return error */
+
1099 }
+
1100
+
1101 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
+
1102 if (res != 0) /* check result */
+
1103 {
+
1104 handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
+
1105
+
1106 return 1; /* return error */
+
1107 }
+
1108 *enable = (bmp384_bool_t)((prev >> 4) & 0x01); /* get config */
+
1109
+
1110 return 0; /* success return 0 */
+
1111}
+
+
1112
+
+
1124uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
+
1125{
+
1126 uint8_t res;
+
1127 uint8_t prev;
+
1128
+
1129 if (handle == NULL) /* check handle */
+
1130 {
+
1131 return 2; /* return error */
+
1132 }
+
1133 if (handle->inited != 1) /* check handle initialization */
+
1134 {
+
1135 return 3; /* return error */
+
1136 }
+
1137
+
1138 if (subsample > 7) /* check subsample */
+
1139 {
+
1140 handle->debug_print("bmp384: subsample is invalid.\n"); /* subsample is invalid */
+
1141
+
1142 return 4; /* return error */
+
1143 }
+
1144 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_2, (uint8_t *)&prev, 1); /* read config */
+
1145 if (res != 0) /* check result */
+
1146 {
+
1147 handle->debug_print("bmp384: get fifo config 2 register failed.\n"); /* get fifo config 2 register failed */
+
1148
+
1149 return 1; /* return error */
+
1150 }
+
1151 prev &= ~(7 << 0); /* clear config */
+
1152 prev |= subsample << 0; /* set config */
+
1153 res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_CONFIG_2, (uint8_t *)&prev, 1); /* write config */
+
1154 if (res != 0) /* check result */
+
1155 {
+
1156 handle->debug_print("bmp384: set fifo config 2 register failed.\n"); /* set fifo config 2 register failed */
+
1157
+
1158 return 1; /* return error */
+
1159 }
+
1160
+
1161 return 0; /* success return 0 */
+
1162}
+
+
1163
+
+
1175uint8_t bmp384_get_fifo_subsampling(bmp384_handle_t *handle, uint8_t *subsample)
+
1176{
+
1177 uint8_t res;
+
1178 uint8_t prev;
+
1179
+
1180 if (handle == NULL) /* check handle */
+
1181 {
+
1182 return 2; /* return error */
+
1183 }
+
1184 if (handle->inited != 1) /* check handle initialization */
+
1185 {
+
1186 return 3; /* return error */
+
1187 }
+
1188
+
1189 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_2, (uint8_t *)&prev, 1); /* read config */
+
1190 if (res != 0) /* check result */
+
1191 {
+
1192 handle->debug_print("bmp384: get fifo config 2 register failed.\n"); /* get fifo config 2 register failed */
+
1193
+
1194 return 1; /* return error */
+
1195 }
+
1196 *subsample = (bmp384_bool_t)((prev >> 0) & 0x07); /* get config */
+
1197
+
1198 return 0; /* success return 0 */
+
1199}
+
+
1200
+
+ +
1213{
+
1214 uint8_t res;
+
1215 uint8_t prev;
+
1216
+
1217 if (handle == NULL) /* check handle */
+
1218 {
+
1219 return 2; /* return error */
+
1220 }
+
1221 if (handle->inited != 1) /* check handle initialization */
+
1222 {
+
1223 return 3; /* return error */
+
1224 }
+
1225
+
1226 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_2, (uint8_t *)&prev, 1); /* read config */
+
1227 if (res != 0) /* check result */
+
1228 {
+
1229 handle->debug_print("bmp384: get fifo config 2 register failed.\n"); /* get fifo config 2 register failed */
+
1230
+
1231 return 1; /* return error */
+
1232 }
+
1233 prev &= ~(3 << 3); /* clear config */
+
1234 prev |= source << 3; /* set config */
+
1235 res = a_bmp384_iic_spi_write(handle, BMP384_REG_FIFO_CONFIG_2, (uint8_t *)&prev, 1); /* write config */
+
1236 if (res != 0) /* check result */
+
1237 {
+
1238 handle->debug_print("bmp384: set fifo config 2 register failed.\n"); /* set fifo config 2 register failed */
+
1239
+
1240 return 1; /* return error */
+
1241 }
+
1242
+
1243 return 0; /* success return 0 */
+
1244}
+
+
1245
+
+ +
1258{
+
1259 uint8_t res;
+
1260 uint8_t prev;
+
1261
+
1262 if (handle == NULL) /* check handle */
+
1263 {
+
1264 return 2; /* return error */
+
1265 }
+
1266 if (handle->inited != 1) /* check handle initialization */
+
1267 {
+
1268 return 3; /* return error */
+
1269 }
+
1270
+
1271 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_2, (uint8_t *)&prev, 1); /* read config */
+
1272 if (res != 0) /* check result */
+
1273 {
+
1274 handle->debug_print("bmp384: get fifo config 2 register failed.\n"); /* get fifo config 2 register failed */
+
1275
+
1276 return 1; /* return error */
+
1277 }
+
1278 *source = (bmp384_fifo_data_source_t)((prev >> 3) & 0x01); /* get config */
+
1279
+
1280 return 0; /* success return 0 */
+
1281}
+
+
1282
+
+ +
1295{
+
1296 uint8_t res;
+
1297 uint8_t prev;
+
1298
+
1299 if (handle == NULL) /* check handle */
+
1300 {
+
1301 return 2; /* return error */
+
1302 }
+
1303 if (handle->inited != 1) /* check handle initialization */
+
1304 {
+
1305 return 3; /* return error */
+
1306 }
+
1307
+
1308 res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
+
1309 if (res != 0) /* check result */
+
1310 {
+
1311 handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
+
1312
+
1313 return 1; /* return error */
+
1314 }
+
1315 prev &= ~(1 << 0); /* clear config */
+
1316 prev |= pin_type << 0; /* set config */
+
1317 res = a_bmp384_iic_spi_write(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* write config */
+
1318 if (res != 0) /* check result */
+
1319 {
+
1320 handle->debug_print("bmp384: set int ctrl register failed.\n"); /* set int ctrl register failed */
+
1321
+
1322 return 1; /* return error */
+
1323 }
+
1324
+
1325 return 0; /* success return 0 */
+
1326}
+
+
1327
+
+ +
1340{
+
1341 uint8_t res;
+
1342 uint8_t prev;
+
1343
+
1344 if (handle == NULL) /* check handle */
+
1345 {
+
1346 return 2; /* return error */
+
1347 }
+
1348 if (handle->inited != 1) /* check handle initialization */
+
1349 {
+
1350 return 3; /* return error */
+
1351 }
+
1352
+
1353 res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
+
1354 if (res != 0) /* check result */
+
1355 {
+
1356 handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
+
1357
+
1358 return 1; /* return error */
+
1359 }
+
1360 *pin_type = (bmp384_interrupt_pin_type_t)(prev & 0x01); /* get interrupt pin type */
+
1361
+
1362 return 0; /* success return 0 */
+
1363}
+
+
1364
+
+ +
1377{
+
1378 uint8_t res;
+
1379 uint8_t prev;
+
1380
+
1381 if (handle == NULL) /* check handle */
+
1382 {
+
1383 return 2; /* return error */
+
1384 }
+
1385 if (handle->inited != 1) /* check handle initialization */
+
1386 {
+
1387 return 3; /* return error */
+
1388 }
+
1389
+
1390 res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
+
1391 if (res != 0) /* check result */
+
1392 {
+
1393 handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
+
1394
+
1395 return 1; /* return error */
+
1396 }
+
1397 prev &= ~(1 << 1); /* clear config */
+
1398 prev |= level << 1; /* set config */
+
1399 res = a_bmp384_iic_spi_write(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* write config */
+
1400 if (res != 0) /* check result */
+
1401 {
+
1402 handle->debug_print("bmp384: set int ctrl register failed.\n"); /* set int ctrl register failed */
+
1403
+
1404 return 1; /* return error */
+
1405 }
+
1406
+
1407 return 0; /* success return 0 */
+
1408}
+
+
1409
+
+ +
1422{
+
1423 uint8_t res;
+
1424 uint8_t prev;
+
1425
+
1426 if (handle == NULL) /* check handle */
+
1427 {
+
1428 return 2; /* return error */
+
1429 }
+
1430 if (handle->inited != 1) /* check handle initialization */
+
1431 {
+
1432 return 3; /* return error */
+
1433 }
+
1434
+
1435 res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
+
1436 if (res != 0) /* check result */
+
1437 {
+
1438 handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
+
1439
+
1440 return 1; /* return error */
+
1441 }
+
1442 *level = (bmp384_interrupt_active_level_t)((prev >> 1) & 0x01); /* get config */
+
1443
+
1444 return 0; /* success return 0 */
+
1445}
+
+
1446
+
+ +
1459{
+
1460 uint8_t res;
+
1461 uint8_t prev;
+
1462
+
1463 if (handle == NULL) /* check handle */
+
1464 {
+
1465 return 2; /* return error */
+
1466 }
+
1467 if (handle->inited != 1) /* check handle initialization */
+
1468 {
+
1469 return 3; /* return error */
+
1470 }
+
1471
+
1472 res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
+
1473 if (res != 0) /* check result */
+
1474 {
+
1475 handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
+
1476
+
1477 return 1; /* return error */
+
1478 }
+
1479 prev &= ~(1 << 2); /* clear config */
+
1480 prev |= enable << 2; /* set config */
+
1481 res = a_bmp384_iic_spi_write(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* write config */
+
1482 if (res != 0) /* check result */
+
1483 {
+
1484 handle->debug_print("bmp384: set int ctrl register failed.\n"); /* set int ctrl register failed */
+
1485
+
1486 return 1; /* return error */
+
1487 }
+
1488
+
1489 return 0; /* success return 0 */
+
1490}
+
+
1491
+
+ +
1504{
+
1505 uint8_t res;
+
1506 uint8_t prev;
+
1507
+
1508 if (handle == NULL) /* check handle */
+
1509 {
+
1510 return 2; /* return error */
+
1511 }
+
1512 if (handle->inited != 1) /* check handle initialization */
+
1513 {
+
1514 return 3; /* return error */
+
1515 }
+
1516
+
1517 res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
+
1518 if (res != 0) /* check result */
+
1519 {
+
1520 handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
+
1521
+
1522 return 1; /* return error */
+
1523 }
+
1524 *enable = (bmp384_bool_t)((prev >> 2) & 0x01); /* get config */
+
1525
+
1526 return 0; /* success return 0 */
+
1527}
+
+
1528
+
+ +
1541{
+
1542 uint8_t res;
+
1543 uint8_t prev;
+
1544
+
1545 if (handle == NULL) /* check handle */
+
1546 {
+
1547 return 2; /* return error */
+
1548 }
+
1549 if (handle->inited != 1) /* check handle initialization */
+
1550 {
+
1551 return 3; /* return error */
+
1552 }
+
1553
+
1554 res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
+
1555 if (res != 0) /* check result */
+
1556 {
+
1557 handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
+
1558
+
1559 return 1; /* return error */
+
1560 }
+
1561 prev &= ~(1 << 3); /* clear config */
+
1562 prev |= enable << 3; /* set config */
+
1563 res = a_bmp384_iic_spi_write(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* write config */
+
1564 if (res != 0) /* check result */
+
1565 {
+
1566 handle->debug_print("bmp384: set int ctrl register failed.\n"); /* set int ctrl register failed */
+
1567
+
1568 return 1; /* return error */
+
1569 }
+
1570
+
1571 return 0; /* success return 0 */
+
1572}
+
+
1573
+
+ +
1586{
+
1587 uint8_t res;
+
1588 uint8_t prev;
+
1589
+
1590 if (handle == NULL) /* check handle */
+
1591 {
+
1592 return 2; /* return error */
+
1593 }
+
1594 if (handle->inited != 1) /* check handle initialization */
+
1595 {
+
1596 return 3; /* return error */
+
1597 }
+
1598
+
1599 res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
+
1600 if (res != 0) /* check result */
+
1601 {
+
1602 handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
+
1603
+
1604 return 1; /* return error */
+
1605 }
+
1606 *enable = (bmp384_bool_t)((prev >> 3) & 0x01); /* get config */
+
1607
+
1608 return 0; /* success return 0 */
+
1609}
+
+
1610
+
+ +
1623{
+
1624 uint8_t res;
+
1625 uint8_t prev;
+
1626
+
1627 if (handle == NULL) /* check handle */
+
1628 {
+
1629 return 2; /* return error */
+
1630 }
+
1631 if (handle->inited != 1) /* check handle initialization */
+
1632 {
+
1633 return 3; /* return error */
+
1634 }
+
1635
+
1636 res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
+
1637 if (res != 0) /* check result */
+
1638 {
+
1639 handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
+
1640
+
1641 return 1; /* return error */
+
1642 }
+
1643 prev &= ~(1 << 4); /* clear config */
+
1644 prev |= enable << 4; /* set config */
+
1645 res = a_bmp384_iic_spi_write(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* write config */
+
1646 if (res != 0) /* check result */
+
1647 {
+
1648 handle->debug_print("bmp384: set int ctrl register failed.\n"); /* set int ctrl register failed */
+
1649
+
1650 return 1; /* return error */
+
1651 }
+
1652
+
1653 return 0; /* success return 0 */
+
1654}
+
+
1655
+
+ +
1668{
+
1669 uint8_t res;
+
1670 uint8_t prev;
+
1671
+
1672 if (handle == NULL) /* check handle */
+
1673 {
+
1674 return 2; /* return error */
+
1675 }
+
1676 if (handle->inited != 1) /* check handle initialization */
+
1677 {
+
1678 return 3; /* return error */
+
1679 }
+
1680
+
1681 res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
+
1682 if (res != 0) /* check result */
+
1683 {
+
1684 handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
+
1685
+
1686 return 1; /* return error */
+
1687 }
+
1688 *enable = (bmp384_bool_t)((prev >> 4) & 0x01); /* get config */
+
1689
+
1690 return 0; /* success return 0 */
+
1691}
+
+
1692
+
+ +
1705{
+
1706 uint8_t res;
+
1707 uint8_t prev;
+
1708
+
1709 if (handle == NULL) /* check handle */
+
1710 {
+
1711 return 2; /* return error */
+
1712 }
+
1713 if (handle->inited != 1) /* check handle initialization */
+
1714 {
+
1715 return 3; /* return error */
+
1716 }
+
1717
+
1718 res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
+
1719 if (res != 0) /* check result */
+
1720 {
+
1721 handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
+
1722
+
1723 return 1; /* return error */
+
1724 }
+
1725 prev &= ~(1 << 6); /* clear config */
+
1726 prev |= enable << 6; /* set config */
+
1727 res = a_bmp384_iic_spi_write(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* write config */
+
1728 if (res != 0) /* check result */
+
1729 {
+
1730 handle->debug_print("bmp384: set int ctrl register failed.\n"); /* set int ctrl register failed */
+
1731
+
1732 return 1; /* return error */
+
1733 }
+
1734
+
1735 return 0; /* success return 0 */
+
1736}
+
+
1737
+
+ +
1750{
+
1751 uint8_t res;
+
1752 uint8_t prev;
+
1753
+
1754 if (handle == NULL) /* check handle */
+
1755 {
+
1756 return 2; /* return error */
+
1757 }
+
1758 if (handle->inited != 1) /* check handle initialization */
+
1759 {
+
1760 return 3; /* return error */
+
1761 }
+
1762
+
1763 res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_CTRL, (uint8_t *)&prev, 1); /* read config */
+
1764 if (res != 0) /* check result */
+
1765 {
+
1766 handle->debug_print("bmp384: get int ctrl register failed.\n"); /* get int ctrl register failed */
+
1767
+
1768 return 1; /* return error */
+
1769 }
+
1770 *enable = (bmp384_bool_t)((prev >> 6) & 0x01); /* get config */
+
1771
+
1772 return 0; /* success return 0 */
+
1773}
+
+
1774
+
+ +
1787{
+
1788 uint8_t res;
+
1789 uint8_t prev;
+
1790
+
1791 if (handle == NULL) /* check handle */
+
1792 {
+
1793 return 2; /* return error */
+
1794 }
+
1795 if (handle->inited != 1) /* check handle initialization */
+
1796 {
+
1797 return 3; /* return error */
+
1798 }
+
1799
+
1800 res = a_bmp384_iic_spi_read(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* read config */
+
1801 if (res != 0) /* check result */
+
1802 {
+
1803 handle->debug_print("bmp384: get if conf register failed.\n"); /* get if conf register failed */
+
1804
+
1805 return 1; /* return error */
+
1806 }
+
1807 prev &= ~(1 << 0); /* clear config */
+
1808 prev |= wire << 0; /* set config */
+
1809 res = a_bmp384_iic_spi_write(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* write config */
+
1810 if (res != 0) /* check result */
+
1811 {
+
1812 handle->debug_print("bmp384: set if conf register failed.\n"); /* set if conf register failed */
+
1813
+
1814 return 1; /* return error */
+
1815 }
+
1816
+
1817 return 0; /* success return 0 */
+
1818}
+
+
1819
+
+ +
1832{
+
1833 uint8_t res;
+
1834 uint8_t prev;
+
1835
+
1836 if (handle == NULL) /* check handle */
+
1837 {
+
1838 return 2; /* return error */
+
1839 }
+
1840 if (handle->inited != 1) /* check handle initialization */
+
1841 {
+
1842 return 3; /* return error */
+
1843 }
+
1844
+
1845 res = a_bmp384_iic_spi_read(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* read config */
+
1846 if (res != 0) /* check result */
+
1847 {
+
1848 handle->debug_print("bmp384: get if conf register failed.\n"); /* get if conf register failed */
+
1849
+
1850 return 1; /* return error */
+
1851 }
+
1852 *wire = (bmp384_spi_wire_t)(prev & 0x01); /* get config */
+
1853
+
1854 return 0; /* success return 0 */
+
1855}
+
+
1856
+
+ +
1869{
+
1870 uint8_t res;
+
1871 uint8_t prev;
+
1872
+
1873 if (handle == NULL) /* check handle */
+
1874 {
+
1875 return 2; /* return error */
+
1876 }
+
1877 if (handle->inited != 1) /* check handle initialization */
+
1878 {
+
1879 return 3; /* return error */
+
1880 }
+
1881
+
1882 res = a_bmp384_iic_spi_read(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* read config */
+
1883 if (res != 0) /* check result */
+
1884 {
+
1885 handle->debug_print("bmp384: get if conf register failed.\n"); /* get if conf register failed */
+
1886
+
1887 return 1; /* return error */
+
1888 }
+
1889 prev &= ~(1 << 1); /* clear config */
+
1890 prev |= enable << 1; /* set config */
+
1891 res = a_bmp384_iic_spi_write(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* write config */
+
1892 if (res != 0) /* check result */
+
1893 {
+
1894 handle->debug_print("bmp384: set if conf register failed.\n"); /* set if conf register failed */
+
1895
+
1896 return 1; /* return error */
+
1897 }
+
1898
+
1899 return 0; /* success return 0 */
+
1900}
+
+
1901
+
+ +
1914{
+
1915 uint8_t res;
+
1916 uint8_t prev;
+
1917
+
1918 if (handle == NULL) /* check handle */
+
1919 {
+
1920 return 2; /* return error */
+
1921 }
+
1922 if (handle->inited != 1) /* check handle initialization */
+
1923 {
+
1924 return 3; /* return error */
+
1925 }
+
1926
+
1927 res = a_bmp384_iic_spi_read(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* read config */
+
1928 if (res != 0) /* check result */
+
1929 {
+
1930 handle->debug_print("bmp384: get if conf register failed.\n"); /* get if conf register failed */
+
1931
+
1932 return 1; /* return error */
+
1933 }
+
1934 *enable = (bmp384_bool_t)((prev >> 1) & 0x01); /* get config */
+
1935
+
1936 return 0; /* success return 0 */
+
1937}
+
+
1938
+
+ +
1951{
+
1952 uint8_t res;
+
1953 uint8_t prev;
+
1954
+
1955 if (handle == NULL) /* check handle */
+
1956 {
+
1957 return 2; /* return error */
+
1958 }
+
1959 if (handle->inited != 1) /* check handle initialization */
+
1960 {
+
1961 return 3; /* return error */
+
1962 }
+
1963
+
1964 res = a_bmp384_iic_spi_read(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* read config */
+
1965 if (res != 0) /* check result */
+
1966 {
+
1967 handle->debug_print("bmp384: get if conf register failed.\n"); /* get if conf register failed */
+
1968
+
1969 return 1; /* return error */
+
1970 }
+
1971 prev &= ~(1 << 2); /* clear config */
+
1972 prev |= period << 2; /* set config */
+
1973 res = a_bmp384_iic_spi_write(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* write config */
+
1974 if (res != 0) /* check result */
+
1975 {
+
1976 handle->debug_print("bmp384: set if conf register failed.\n"); /* set if conf register failed */
+
1977
+
1978 return 1; /* return error */
+
1979 }
+
1980
+
1981 return 0; /* success return 0 */
+
1982}
+
+
1983
+
+ +
1996{
+
1997 uint8_t res;
+
1998 uint8_t prev;
+
1999
+
2000 if (handle == NULL) /* check handle */
+
2001 {
+
2002 return 2; /* return error */
+
2003 }
+
2004 if (handle->inited != 1) /* check handle initialization */
+
2005 {
+
2006 return 3; /* return error */
+
2007 }
+
2008
+
2009 res = a_bmp384_iic_spi_read(handle, BMP384_REG_IF_CONF, (uint8_t *)&prev, 1); /* read config */
+
2010 if (res != 0) /* check result */
+
2011 {
+
2012 handle->debug_print("bmp384: get if conf register failed.\n"); /* get if conf register failed */
+
2013
+
2014 return 1; /* return error */
+
2015 }
+
2016 *period = (bmp384_iic_watchdog_period_t)((prev >> 2) & 0x01); /* get config */
+
2017
+
2018 return 0; /* success return 0 */
+
2019}
+
+
2020
+
+ +
2033{
+
2034 uint8_t res;
+
2035 uint8_t prev;
+
2036
+
2037 if (handle == NULL) /* check handle */
+
2038 {
+
2039 return 2; /* return error */
+
2040 }
+
2041 if (handle->inited != 1) /* check handle initialization */
+
2042 {
+
2043 return 3; /* return error */
+
2044 }
+
2045
+
2046 res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
+
2047 if (res != 0) /* check result */
+
2048 {
+
2049 handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
+
2050
+
2051 return 1; /* return error */
+
2052 }
+
2053 prev &= ~(1 << 0); /* clear config */
+
2054 prev |= enable << 0; /* set config */
+
2055 res = a_bmp384_iic_spi_write(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* write config */
+
2056 if (res != 0) /* check result */
+
2057 {
+
2058 handle->debug_print("bmp384: set pwr ctrl register failed.\n"); /* set pwr ctrl register failed */
+
2059
+
2060 return 1; /* return error */
+
2061 }
+
2062
+
2063 return 0; /* success return 0 */
+
2064}
+
+
2065
+
+ +
2078{
+
2079 uint8_t res;
+
2080 uint8_t prev;
+
2081
+
2082 if (handle == NULL) /* check handle */
+
2083 {
+
2084 return 2; /* return error */
+
2085 }
+
2086 if (handle->inited != 1) /* check handle initialization */
+
2087 {
+
2088 return 3; /* return error */
+
2089 }
+
2090
+
2091 res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
+
2092 if (res != 0) /* check result */
+
2093 {
+
2094 handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
+
2095
+
2096 return 1; /* return error */
+
2097 }
+
2098 *enable = (bmp384_bool_t)((prev >> 0) & 0x01); /* get config */
+
2099
+
2100 return 0; /* success return 0 */
+
2101}
+
+
2102
+
+ +
2115{
+
2116 uint8_t res;
+
2117 uint8_t prev;
+
2118
+
2119 if (handle == NULL) /* check handle */
+
2120 {
+
2121 return 2; /* return error */
+
2122 }
+
2123 if (handle->inited != 1) /* check handle initialization */
+
2124 {
+
2125 return 3; /* return error */
+
2126 }
+
2127
+
2128 res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
+
2129 if (res != 0) /* check result */
+
2130 {
+
2131 handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
+
2132
+
2133 return 1; /* return error */
+
2134 }
+
2135 prev &= ~(1 << 1); /* clear config */
+
2136 prev |= enable << 1; /* set config */
+
2137 res = a_bmp384_iic_spi_write(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* write config */
+
2138 if (res != 0) /* check result */
+
2139 {
+
2140 handle->debug_print("bmp384: set pwr ctrl register failed.\n"); /* set pwr ctrl register failed */
+
2141
+
2142 return 1; /* return error */
+
2143 }
+
2144
+
2145 return 0; /* success return 0 */
+
2146}
+
+
2147
+
+ +
2160{
+
2161 uint8_t res;
+
2162 uint8_t prev;
+
2163
+
2164 if (handle == NULL) /* check handle */
+
2165 {
+
2166 return 2; /* return error */
+
2167 }
+
2168 if (handle->inited != 1) /* check handle initialization */
+
2169 {
+
2170 return 3; /* return error */
+
2171 }
+
2172
+
2173 res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
+
2174 if (res != 0) /* check result */
+
2175 {
+
2176 handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
+
2177
+
2178 return 1; /* return error */
+
2179 }
+
2180 *enable = (bmp384_bool_t)((prev >> 1) & 0x01); /* get config */
+
2181
+
2182 return 0; /* success return 0 */
+
2183}
+
+
2184
+
+ +
2197{
+
2198 uint8_t res;
+
2199 uint8_t prev;
+
2200
+
2201 if (handle == NULL) /* check handle */
+
2202 {
+
2203 return 2; /* return error */
+
2204 }
+
2205 if (handle->inited != 1) /* check handle initialization */
+
2206 {
+
2207 return 3; /* return error */
+
2208 }
+
2209
+
2210 res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
+
2211 if (res != 0) /* check result */
+
2212 {
+
2213 handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
+
2214
+
2215 return 1; /* return error */
+
2216 }
+
2217 prev &= ~(3 << 4); /* clear config */
+
2218 prev |= mode << 4; /* set config */
+
2219 res = a_bmp384_iic_spi_write(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* write config */
+
2220 if (res != 0) /* check result */
+
2221 {
+
2222 handle->debug_print("bmp384: set pwr ctrl register failed.\n"); /* set pwr ctrl register failed */
+
2223
+
2224 return 1; /* return error */
+
2225 }
+
2226
+
2227 return 0; /* success return 0 */
+
2228}
+
+
2229
+
+ +
2242{
+
2243 uint8_t res;
+
2244 uint8_t prev;
+
2245
+
2246 if (handle == NULL) /* check handle */
+
2247 {
+
2248 return 2; /* return error */
+
2249 }
+
2250 if (handle->inited != 1) /* check handle initialization */
+
2251 {
+
2252 return 3; /* return error */
+
2253 }
+
2254
+
2255 res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
+
2256 if (res != 0) /* check result */
+
2257 {
+
2258 handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
+
2259
+
2260 return 1; /* return error */
+
2261 }
+
2262 *mode = (bmp384_mode_t)((prev >> 4) & 0x03); /* get config */
+
2263
+
2264 return 0; /* success return 0 */
+
2265}
+
+
2266
+
+ +
2279{
+
2280 uint8_t res;
+
2281 uint8_t prev;
+
2282
+
2283 if (handle == NULL) /* check handle */
+
2284 {
+
2285 return 2; /* return error */
+
2286 }
+
2287 if (handle->inited != 1) /* check handle initialization */
+
2288 {
+
2289 return 3; /* return error */
+
2290 }
+
2291
+
2292 res = a_bmp384_iic_spi_read(handle, BMP384_REG_OSR, (uint8_t *)&prev, 1); /* read config */
+
2293 if (res != 0) /* check result */
+
2294 {
+
2295 handle->debug_print("bmp384: get osr register failed.\n"); /* get osr register failed */
+
2296
+
2297 return 1; /* return error */
+
2298 }
+
2299 prev &= ~(7 << 0); /* clear config */
+
2300 prev |= oversampling << 0; /* set config */
+
2301 res = a_bmp384_iic_spi_write(handle, BMP384_REG_OSR, (uint8_t *)&prev, 1); /* write config */
+
2302 if (res != 0) /* check result */
+
2303 {
+
2304 handle->debug_print("bmp384: set osr register failed.\n"); /* set osr register failed */
+
2305
+
2306 return 1; /* return error */
+
2307 }
+
2308
+
2309 return 0; /* success return 0 */
+
2310}
+
+
2311
+
+ +
2324{
+
2325 uint8_t res;
+
2326 uint8_t prev;
+
2327
+
2328 if (handle == NULL) /* check handle */
+
2329 {
+
2330 return 2; /* return error */
+
2331 }
+
2332 if (handle->inited != 1) /* check handle initialization */
+
2333 {
+
2334 return 3; /* return error */
+
2335 }
+
2336
+
2337 res = a_bmp384_iic_spi_read(handle, BMP384_REG_OSR, (uint8_t *)&prev, 1); /* read config */
+
2338 if (res != 0) /* check result */
+
2339 {
+
2340 handle->debug_print("bmp384: get osr register failed.\n"); /* get osr register failed */
+
2341
+
2342 return 1; /* return error */
+
2343 }
+
2344 *oversampling = (bmp384_oversampling_t)((prev >> 0) & 0x07); /* get config */
+
2345
+
2346 return 0; /* success return 0 */
+
2347}
+
+
2348
+
+ +
2361{
+
2362 uint8_t res;
+
2363 uint8_t prev;
+
2364
+
2365 if (handle == NULL) /* check handle */
+
2366 {
+
2367 return 2; /* return error */
+
2368 }
+
2369 if (handle->inited != 1) /* check handle initialization */
+
2370 {
+
2371 return 3; /* return error */
+
2372 }
+
2373
+
2374 res = a_bmp384_iic_spi_read(handle, BMP384_REG_OSR, (uint8_t *)&prev, 1); /* read config */
+
2375 if (res != 0) /* check result */
+
2376 {
+
2377 handle->debug_print("bmp384: get osr register failed.\n"); /* get osr register failed */
+
2378
+
2379 return 1; /* return error */
+
2380 }
+
2381 prev &= ~(7 << 3); /* clear config */
+
2382 prev |= oversampling << 3; /* set config */
+
2383 res = a_bmp384_iic_spi_write(handle, BMP384_REG_OSR, (uint8_t *)&prev, 1); /* write config */
+
2384 if (res != 0) /* check result */
+
2385 {
+
2386 handle->debug_print("bmp384: set osr register failed.\n"); /* set osr register failed */
+
2387
+
2388 return 1; /* return error */
+
2389 }
+
2390
+
2391 return 0; /* success return 0 */
+
2392}
+
+
2393
+
+ +
2406{
+
2407 uint8_t res;
+
2408 uint8_t prev;
+
2409
+
2410 if (handle == NULL) /* check handle */
+
2411 {
+
2412 return 2; /* return error */
+
2413 }
+
2414 if (handle->inited != 1) /* check handle initialization */
+
2415 {
+
2416 return 3; /* return error */
+
2417 }
+
2418
+
2419 res = a_bmp384_iic_spi_read(handle, BMP384_REG_OSR, (uint8_t *)&prev, 1); /* read config */
+
2420 if (res != 0) /* check result */
+
2421 {
+
2422 handle->debug_print("bmp384: get osr register failed.\n"); /* get osr register failed */
+
2423
+
2424 return 1; /* return error */
+
2425 }
+
2426 *oversampling = (bmp384_oversampling_t)((prev >> 3) & 0x07); /* get config */
+
2427
+
2428 return 0; /* success return 0 */
+
2429}
+
+
2430
+
+ +
2443{
+
2444 uint8_t res;
+
2445 uint8_t prev;
+
2446
+
2447 if (handle == NULL) /* check handle */
+
2448 {
+
2449 return 2; /* return error */
+
2450 }
+
2451 if (handle->inited != 1) /* check handle initialization */
+
2452 {
+
2453 return 3; /* return error */
+
2454 }
+
2455
+
2456 res = a_bmp384_iic_spi_read(handle, BMP384_REG_ODR, (uint8_t *)&prev, 1); /* read config */
+
2457 if (res != 0) /* check result */
+
2458 {
+
2459 handle->debug_print("bmp384: get odr register failed.\n"); /* get odr register failed */
+
2460
+
2461 return 1; /* return error */
+
2462 }
+
2463
+
2464 prev &= ~(31 << 0); /* clear config */
+
2465 prev |= odr << 0; /* set config */
+
2466 res = a_bmp384_iic_spi_write(handle, BMP384_REG_ODR, (uint8_t *)&prev, 1); /* write config */
+
2467 if (res != 0) /* check result */
+
2468 {
+
2469 handle->debug_print("bmp384: set odr register failed.\n"); /* set odr register failed */
+
2470
+
2471 return 1; /* return error */
+
2472 }
+
2473
+
2474 return 0; /* success return 0 */
+
2475}
+
+
2476
+
+ +
2489{
+
2490 uint8_t res;
+
2491 uint8_t prev;
+
2492
+
2493 if (handle == NULL) /* check handle */
+
2494 {
+
2495 return 2; /* return error */
+
2496 }
+
2497 if (handle->inited != 1) /* check handle initialization */
+
2498 {
+
2499 return 3; /* return error */
+
2500 }
+
2501
+
2502 res = a_bmp384_iic_spi_read(handle, BMP384_REG_ODR, (uint8_t *)&prev, 1); /* read config */
+
2503 if (res != 0) /* check result */
+
2504 {
+
2505 handle->debug_print("bmp384: get odr register failed.\n"); /* get odr register failed */
+
2506
+
2507 return 1; /* return error */
+
2508 }
+
2509 *odr = (bmp384_odr_t)((prev >> 0) & 31); /* get config */
+
2510
+
2511 return 0; /* success return 0 */
+
2512}
+
+
2513
+
+ +
2526{
+
2527 uint8_t res;
+
2528 uint8_t prev;
+
2529
+
2530 if (handle == NULL) /* check handle */
+
2531 {
+
2532 return 2; /* return error */
+
2533 }
+
2534 if (handle->inited != 1) /* check handle initialization */
+
2535 {
+
2536 return 3; /* return error */
+
2537 }
+
2538
+
2539 res = a_bmp384_iic_spi_read(handle, BMP384_REG_CONFIG, (uint8_t *)&prev, 1); /* read config */
+
2540 if (res != 0) /* check result */
+
2541 {
+
2542 handle->debug_print("bmp384: get config register failed.\n"); /* get config register failed */
+
2543
+
2544 return 1; /* return error */
+
2545 }
+
2546
+
2547 prev &= ~(0x7 << 1); /* clear config */
+
2548 prev |= coefficient << 1; /* set config */
+
2549 res = a_bmp384_iic_spi_write(handle, BMP384_REG_CONFIG, (uint8_t *)&prev, 1); /* write config */
+
2550 if (res != 0) /* check result */
+
2551 {
+
2552 handle->debug_print("bmp384: set config register failed.\n"); /* set config register failed */
+
2553
+
2554 return 1; /* return error */
+
2555 }
+
2556
+
2557 return 0; /* success return 0 */
+
2558}
+
+
2559
+
+ +
2572{
+
2573 uint8_t res;
+
2574 uint8_t prev;
+
2575
+
2576 if (handle == NULL) /* check handle */
+
2577 {
+
2578 return 2; /* return error */
+
2579 }
+
2580 if (handle->inited != 1) /* check handle initialization */
+
2581 {
+
2582 return 3; /* return error */
+
2583 }
+
2584
+
2585 res = a_bmp384_iic_spi_read(handle, BMP384_REG_CONFIG, (uint8_t *)&prev, 1); /* read config */
+
2586 if (res != 0) /* check result */
+
2587 {
+
2588 handle->debug_print("bmp384: get config register failed.\n"); /* return error */
+
2589
+
2590 return 1; /* return error */
+
2591 }
+
2592 *coefficient = (bmp384_filter_coefficient_t)((prev >> 1) & 0x07); /* get coefficient */
+
2593
+
2594 return 0; /* success return 0 */
+
2595}
+
+
2596
+
+ +
2608{
+
2609 uint8_t res;
+
2610 uint8_t prev;
+
2611
+
2612 if (handle == NULL) /* check handle */
+
2613 {
+
2614 return 2; /* return error */
+
2615 }
+
2616 if (handle->inited != 1) /* check handle initialization */
+
2617 {
+
2618 return 3; /* return error */
+
2619 }
+
2620
+
2621 prev = 0xB0; /* command */
+
2622 res = a_bmp384_iic_spi_write(handle, BMP384_REG_CMD, (uint8_t *)&prev, 1); /* write config */
+
2623 if (res != 0) /* check result */
+
2624 {
+
2625 handle->debug_print("bmp384: set cmd register failed.\n"); /* set cmd register failed */
+
2626
+
2627 return 1; /* return error */
+
2628 }
+
2629
+
2630 return 0; /* success return 0 */
+
2631}
+
+
2632
+
+ +
2644{
+
2645 uint8_t res;
+
2646 uint8_t prev;
+
2647
+
2648 if (handle == NULL) /* check handle */
+
2649 {
+
2650 return 2; /* return error */
+
2651 }
+
2652 if (handle->inited != 1) /* check handle initialization */
+
2653 {
+
2654 return 3; /* return error */
+
2655 }
+
2656
+
2657 prev = 0xB6; /* command */
+
2658 res = a_bmp384_iic_spi_write(handle, BMP384_REG_CMD, (uint8_t *)&prev, 1); /* write config */
+
2659 if (res != 0) /* check result */
+
2660 {
+
2661 handle->debug_print("bmp384: set cmd register failed.\n"); /* set cmd register failed */
+
2662
+
2663 return 1; /* return error */
+
2664 }
+
2665
+
2666 return 0; /* success return 0 */
+
2667}
+
+
2668
+
+ +
2680{
+
2681 uint8_t res;
+
2682 uint8_t prev;
+
2683
+
2684 if (handle == NULL) /* check handle */
+
2685 {
+
2686 return 2; /* return error */
+
2687 }
+
2688 if (handle->inited != 1) /* check handle initialization */
+
2689 {
+
2690 return 3; /* return error */
+
2691 }
+
2692
+
2693 prev = 0x34; /* command */
+
2694 res = a_bmp384_iic_spi_write(handle, BMP384_REG_CMD, (uint8_t *)&prev, 1); /* write config */
+
2695 if (res != 0) /* check result */
+
2696 {
+
2697 handle->debug_print("bmp384: set cmd register failed.\n"); /* set cmd register failed */
+
2698
+
2699 return 1; /* return error */
+
2700 }
+
2701
+
2702 return 0; /* success return 0 */
+
2703}
+
+
2704
+
2715static uint8_t a_bmp384_close(bmp384_handle_t *handle)
+
2716{
+
2717 if (handle->iic_spi == BMP384_INTERFACE_IIC) /* if iic interface */
+
2718 {
+
2719 if (handle->iic_deinit() != 0) /* close iic */
+
2720 {
+
2721 handle->debug_print("bmp384: iic deinit failed.\n"); /* iic deinit failed */
+
2722
+
2723 return 1; /* return error */
+
2724 }
+
2725 else
+
2726 {
+
2727 return 0; /* success return 0 */
+
2728 }
+
2729 }
+
2730 else
+
2731 {
+
2732 if (handle->spi_deinit() != 0) /* close spi */
+
2733 {
+
2734 handle->debug_print("bmp384: spi deinit failed.\n"); /* spi deinit failed */
+
2735
+
2736 return 1; /* return error */
+
2737 }
+
2738 else
+
2739 {
+
2740 return 0; /* success return 0 */
+
2741 }
+
2742 }
+
2743}
+
2744
+
+ +
2759{
+
2760 uint8_t id;
+
2761 uint8_t reg;
+
2762
+
2763 if (handle == NULL) /* check handle */
+
2764 {
+
2765 return 2; /* return error */
+
2766 }
+
2767 if (handle->debug_print == NULL) /* check debug_print */
+
2768 {
+
2769 return 3; /* return error */
+
2770 }
+
2771 if (handle->iic_init == NULL) /* check iic_init */
+
2772 {
+
2773 handle->debug_print("bmp384: iic_init is null.\n"); /* iic_init is null */
+
2774
+
2775 return 3; /* return error */
+
2776 }
+
2777 if (handle->iic_deinit == NULL) /* check iic_init */
+
2778 {
+
2779 handle->debug_print("bmp384: iic_deinit is null.\n"); /* iic_deinit is null */
+
2780
+
2781 return 3; /* return error */
+
2782 }
+
2783 if (handle->iic_read == NULL) /* check iic_read */
+
2784 {
+
2785 handle->debug_print("bmp384: iic_read is null.\n"); /* iic_read is null */
+
2786
+
2787 return 3; /* return error */
+
2788 }
+
2789 if (handle->iic_write == NULL) /* check iic_write */
+
2790 {
+
2791 handle->debug_print("bmp384: iic_write is null.\n"); /* iic_write is null */
+
2792
+
2793 return 3; /* return error */
+
2794 }
+
2795 if (handle->spi_init == NULL) /* check spi_init */
+
2796 {
+
2797 handle->debug_print("bmp384: spi_init is null.\n"); /* spi_init is null */
+
2798
+
2799 return 3; /* return error */
+
2800 }
+
2801 if (handle->spi_deinit == NULL) /* check spi_deinit */
+
2802 {
+
2803 handle->debug_print("bmp384: spi_deinit is null.\n"); /* spi_deinit is null */
+
2804
+
2805 return 3; /* return error */
+
2806 }
+
2807 if (handle->spi_read == NULL) /* check spi_read */
+
2808 {
+
2809 handle->debug_print("bmp384: spi_read is null.\n"); /* spi_read is null */
+
2810
+
2811 return 3; /* return error */
+
2812 }
+
2813 if (handle->spi_write == NULL) /* check spi_write */
+
2814 {
+
2815 handle->debug_print("bmp384: spi_write is null.\n"); /* spi_write is null */
+
2816
+
2817 return 3; /* return error */
+
2818 }
+
2819 if (handle->delay_ms == NULL) /* check delay_ms */
+
2820 {
+
2821 handle->debug_print("bmp384: delay_ms is null.\n"); /* delay_ms is null */
+
2822
+
2823 return 3; /* return error */
+
2824 }
+
2825
+
2826 if (handle->iic_spi == BMP384_INTERFACE_IIC) /* if iic interface */
+
2827 {
+
2828 if (handle->iic_init() != 0) /* initialize iic bus */
+
2829 {
+
2830 handle->debug_print("bmp384: iic init failed.\n"); /* iic init failed */
+
2831
+
2832 return 1; /* return error */
+
2833 }
+
2834 }
+
2835 else
+
2836 {
+
2837 if (handle->spi_init() != 0) /* initialize spi bus */
+
2838 {
+
2839 handle->debug_print("bmp384: spi init failed.\n"); /* spi init failed */
+
2840
+
2841 return 1; /* return error */
+
2842 }
+
2843 }
+
2844 if (a_bmp384_iic_spi_read(handle, BMP384_REG_CHIP_ID, (uint8_t *)&id, 1) != 0) /* read chip id */
+
2845 {
+
2846 handle->debug_print("bmp384: read chip id failed.\n"); /* read chip id failed */
+
2847 (void)a_bmp384_close(handle); /* close bmp384 */
+
2848
+
2849 return 4; /* return error */
+
2850 }
+
2851 if (id != 0x50) /* check chip id */
+
2852 {
+
2853 handle->debug_print("bmp384: id is invalid.\n"); /* id is invalid */
+
2854 (void)a_bmp384_close(handle); /* close bmp384 */
+
2855
+
2856 return 4;
+
2857 } /* return error */
+
2858 reg = 0xB6; /* set command */
+
2859 if (a_bmp384_iic_spi_write(handle, BMP384_REG_CMD, (uint8_t *)&reg, 1) != 0) /* write command */
+
2860 {
+
2861 handle->debug_print("bmp384: soft rest failed.\n"); /* soft rest failed */
+
2862 (void)a_bmp384_close(handle); /* close bmp384 */
+
2863
+
2864 return 5; /* return error */
+
2865 }
+
2866 handle->delay_ms(10); /* delay 10 ms */
+
2867 if (a_bmp384_iic_spi_read(handle, BMP384_REG_ERR_REG, (uint8_t *)&reg, 1) != 0) /* read reg */
+
2868 {
+
2869 handle->debug_print("bmp384: get err reg failed.\n"); /* return error */
+
2870 (void)a_bmp384_close(handle); /* close bmp384 */
+
2871
+
2872 return 5; /* return error */
+
2873 }
+
2874 if ((reg & 0x07) != 0) /* check running status */
+
2875 {
+
2876 handle->debug_print("bmp384: find running error.\n"); /* find running error */
+
2877 (void)a_bmp384_close(handle); /* close bmp384 */
+
2878
+
2879 return 5; /* return error */
+
2880 }
+
2881 if (a_bmp384_get_calibration_data(handle) != 0) /* get calibration data */
+
2882 {
+
2883 handle->debug_print("bmp384: get calibration data error.\n"); /* get calibration data error */
+
2884 (void)a_bmp384_close(handle); /* close bmp384 */
+
2885
+
2886 return 6; /* return error */
+
2887 }
+
2888 handle->inited = 1; /* flag finish initialization */
+
2889
+
2890 return 0; /* success return 0 */
+
2891}
+
+
2892
+
+ +
2905{
+
2906 uint8_t res;
+
2907 uint8_t prev;
+
2908
+
2909 if (handle == NULL) /* check handle */
+
2910 {
+
2911 return 2; /* return error */
+
2912 }
+
2913 if (handle->inited != 1) /* check handle initialization */
+
2914 {
+
2915 return 3; /* return error */
+
2916 }
+
2917
+
2918 res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
+
2919 if (res != 0) /* check result */
+
2920 {
+
2921 handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
+
2922
+
2923 return 4; /* return error */
+
2924 }
+
2925 prev &= ~(3 << 0); /* clear config */
+
2926 prev &= ~(3 << 4); /* set config */
+
2927 res = a_bmp384_iic_spi_write(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* write config */
+
2928 if (res != 0) /* check result */
+
2929 {
+
2930 handle->debug_print("bmp384: set pwr ctrl register failed.\n"); /* set pwr ctrl register failed */
+
2931
+
2932 return 4; /* return error */
+
2933 }
+
2934 if (a_bmp384_close(handle) != 0) /* close bmp384 */
+
2935 {
+
2936 return 1; /* return error */
+
2937 }
+
2938 else
+
2939 {
+
2940 handle->inited = 0; /* flag close */
+
2941
+
2942 return 0; /* success return 0 */
+
2943 }
+
2944}
+
+
2945
+
+
2958uint8_t bmp384_read_temperature(bmp384_handle_t *handle, uint32_t *raw, float *c)
+
2959{
+
2960 uint8_t res;
+
2961 uint8_t prev;
+
2962 uint8_t buf[3];
+
2963
+
2964 if (handle == NULL) /* check handle */
+
2965 {
+
2966 return 2; /* return error */
+
2967 }
+
2968 if (handle->inited != 1) /* check handle initialization */
+
2969 {
+
2970 return 3; /* return error */
+
2971 }
+
2972
+
2973 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
+
2974 if (res != 0) /* check result */
+
2975 {
+
2976 handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
+
2977
+
2978 return 1; /* return error */
+
2979 }
+
2980 if ((prev & 0x01) != 0) /* check mode */
+
2981 {
+
2982 handle->debug_print("bmp384: fifo mode can't use this function.\n"); /* fifo mode can't use this function */
+
2983
+
2984 return 1; /* return error */
+
2985 }
+
2986 res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read pwr ctrl */
+
2987 if (res != 0) /* check result */
+
2988 {
+
2989 handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
+
2990
+
2991 return 1; /* return error */
+
2992 }
+
2993 if (((prev >> 4) & 0x03) == 0x03) /* normal mode */
+
2994 {
+
2995 res = a_bmp384_iic_spi_read(handle, BMP384_REG_STATUS, (uint8_t *)&prev, 1); /* read config */
+
2996 if (res != 0) /* check result */
+
2997 {
+
2998 handle->debug_print("bmp384: get status register failed.\n"); /* get status register failed */
+
2999
+
3000 return 1; /* return error */
+
3001 }
+
3002 if ((prev & (1 << 6)) != 0) /* data is ready */
+
3003 {
+
3004 int64_t output;
+
3005
+
3006 res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_3, (uint8_t *)buf, 3); /* read raw data */
+
3007 if (res != 0) /* check result */
+
3008 {
+
3009 handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
+
3010
+
3011 return 1; /* return error */
+
3012 }
+
3013 *raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
+
3014 output = a_bmp384_compensate_temperature(handle, *raw); /* compensate temperature */
+
3015 *c = (float)((double)output / 100.0); /* get converted temperature */
+
3016
+
3017 return 0; /* success return 0 */
+
3018
+
3019 }
+
3020 else
+
3021 {
+
3022 handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
+
3023
+
3024 return 1; /* return error */
+
3025 }
+
3026 }
+
3027 else if (((prev >> 4) & 0x03) == 0x00) /* force mode */
+
3028 {
+
3029 uint16_t cnt = 5000;
+
3030
+
3031 res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
+
3032 if (res != 0) /* check result */
+
3033 {
+
3034 handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
+
3035
+
3036 return 1; /* return error */
+
3037 }
+
3038 prev &= ~(0x03 << 4); /* clear 4-5 bits */
+
3039 prev |= 0x01 << 4; /* set bit 4 */
+
3040 res = a_bmp384_iic_spi_write(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
+
3041 if (res != 0) /* check result */
+
3042 {
+
3043 handle->debug_print("bmp384: set pwr ctrl register failed.\n"); /* set pwr ctrl register failed */
+
3044
+
3045 return 1; /* return error */
+
3046 }
+
3047
+
3048 while (1) /* loop */
+
3049 {
+
3050 res = a_bmp384_iic_spi_read(handle, BMP384_REG_STATUS, (uint8_t *)&prev, 1); /* read status */
+
3051 if (res != 0) /* check result */
+
3052 {
+
3053 handle->debug_print("bmp384: get status register failed.\n"); /* get status register failed */
+
3054
+
3055 return 1; /* return error */
+
3056 }
+
3057 if ((prev & (1 << 6)) != 0) /* data is ready */
+
3058 {
+
3059 int64_t output;
+
3060
+
3061 res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_3, (uint8_t *)buf, 3); /* read raw data */
+
3062 if (res != 0) /* check result */
+
3063 {
+
3064 handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
+
3065
+
3066 return 1; /* return error */
+
3067 }
+
3068 *raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
+
3069 output = a_bmp384_compensate_temperature(handle, *raw); /* compensate temperature */
+
3070 *c = (float)((double)output / 100.0); /* get converted temperature */
+
3071
+
3072 return 0; /* success return 0 */
+
3073
+
3074 }
+
3075 else
+
3076 {
+
3077 if (cnt != 0) /* check cnt */
+
3078 {
+
3079 cnt--; /* cnt-- */
+
3080 handle->delay_ms(1); /* delay 1 ms */
+
3081
+
3082 continue; /* continue */
+
3083 }
+
3084 handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
+
3085
+
3086 return 1; /* return error */
+
3087 }
+
3088 }
+
3089 }
+
3090 else
+
3091 {
+
3092 handle->debug_print("bmp384: mode is invalid.\n"); /* mode is invalid */
+
3093
+
3094 return 1; /* return error */
+
3095 }
+
3096}
+
+
3097
+
+
3110uint8_t bmp384_read_pressure(bmp384_handle_t *handle, uint32_t *raw, float *pa)
+
3111{
+
3112 uint8_t res;
+
3113 uint8_t prev;
+
3114 uint8_t buf[3];
+
3115 uint32_t temperature_raw;
+
3116
+
3117 if (handle == NULL) /* check handle */
+
3118 {
+
3119 return 2; /* return error */
+
3120 }
+
3121 if (handle->inited != 1) /* check handle initialization */
+
3122 {
+
3123 return 3; /* return error */
+
3124 }
+
3125
+
3126 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
+
3127 if (res != 0) /* check result */
+
3128 {
+
3129 handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
+
3130
+
3131 return 1; /* return error */
+
3132 }
+
3133 if ((prev & 0x01) != 0) /* check mode */
+
3134 {
+
3135 handle->debug_print("bmp384: fifo mode can't use this function.\n"); /* fifo mode can't use this function */
+
3136
+
3137 return 1; /* return error */
+
3138 }
+
3139 res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
+
3140 if (res != 0) /* check result */
+
3141 {
+
3142 handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
+
3143
+
3144 return 1; /* return error */
+
3145 }
+
3146 if (((prev >> 4) & 0x03) == 0x03) /* normal mode */
+
3147 {
+
3148 res = a_bmp384_iic_spi_read(handle, BMP384_REG_STATUS, (uint8_t *)&prev, 1); /* read status */
+
3149 if (res != 0) /* check result */
+
3150 {
+
3151 handle->debug_print("bmp384: get status register failed.\n"); /* get status register failed */
+
3152
+
3153 return 1; /* return error */
+
3154 }
+
3155 if ((prev & (1 << 6)) != 0) /* data is ready */
+
3156 {
+
3157 res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_3, (uint8_t *)buf, 3); /* read config */
+
3158 if (res != 0) /* check result */
+
3159 {
+
3160 handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
+
3161
+
3162 return 1; /* return error */
+
3163 }
+
3164 temperature_raw= (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
+
3165 (void)a_bmp384_compensate_temperature(handle, temperature_raw); /* compensate temperature */
+
3166 }
+
3167 else
+
3168 {
+
3169 handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
+
3170
+
3171 return 1; /* return error */
+
3172 }
+
3173 if ((prev & (1 << 5)) != 0) /* data is ready */
+
3174 {
+
3175 int64_t output;
+
3176
+
3177 res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_0, (uint8_t *)buf, 3); /* read config */
+
3178 if (res != 0) /* check result */
+
3179 {
+
3180 handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
+
3181
+
3182 return 1; /* return error */
+
3183 }
+
3184 *raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
+
3185 output = a_bmp384_compensate_pressure(handle, *raw); /* compensate pressure */
+
3186 *pa = (float)((double)output / 100.0); /* get converted pressure */
+
3187
+
3188 return 0; /* success return 0 */
+
3189 }
+
3190 else
+
3191 {
+
3192 handle->debug_print("bmp384: pressure data is not ready.\n"); /* pressure data is not ready */
+
3193
+
3194 return 1; /* return error */
+
3195 }
+
3196 }
+
3197 else if (((prev >> 4) & 0x03) == 0x00) /* force mode */
+
3198 {
+
3199 uint16_t cnt = 5000;
+
3200
+
3201 res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
+
3202 if (res != 0) /* check result */
+
3203 {
+
3204 handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
+
3205
+
3206 return 1; /* return error */
+
3207 }
+
3208 prev &= ~(0x03 << 4); /* clear 4-5 bits */
+
3209 prev |= 0x01 << 4; /* set 4 bit */
+
3210 res = a_bmp384_iic_spi_write(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
+
3211 if (res != 0) /* check result */
+
3212 {
+
3213 handle->debug_print("bmp384: set pwr ctrl register failed.\n"); /* set pwr ctrl register failed */
+
3214
+
3215 return 1; /* return error */
+
3216 }
+
3217
+
3218 while (1) /* loop */
+
3219 {
+
3220 res = a_bmp384_iic_spi_read(handle, BMP384_REG_STATUS, (uint8_t *)&prev, 1); /* read config */
+
3221 if (res != 0) /* check result */
+
3222 {
+
3223 handle->debug_print("bmp384: get status register failed.\n"); /* get status register failed */
+
3224
+
3225 return 1; /* return error */
+
3226 }
+
3227 if ((prev & (1 << 6)) != 0) /* data is ready */
+
3228 {
+
3229 res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_3, (uint8_t *)buf, 3); /* read raw data */
+
3230 if (res != 0) /* check result */
+
3231 {
+
3232 handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
+
3233
+
3234 return 1; /* return error */
+
3235 }
+
3236 temperature_raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
+
3237 (void)a_bmp384_compensate_temperature(handle, temperature_raw); /* compensate temperature */
+
3238
+
3239 goto press; /* goto press */
+
3240 }
+
3241 else
+
3242 {
+
3243 if (cnt != 0) /* check cnt */
+
3244 {
+
3245 cnt--; /* cnt-- */
+
3246 handle->delay_ms(1); /* delay 1 ms */
+
3247
+
3248 continue; /* continue */
+
3249 }
+
3250 handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
+
3251
+
3252 return 1; /* return error */
+
3253 }
+
3254
+
3255 press:
+
3256
+
3257 cnt = 5000; /* set cnt 5000 */
+
3258 if ((prev & (1 << 5)) != 0) /* data is ready */
+
3259 {
+
3260 int64_t output;
+
3261
+
3262 res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_0, (uint8_t *)buf, 3); /* read config */
+
3263 if (res != 0) /* check result */
+
3264 {
+
3265 handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
+
3266
+
3267 return 1; /* return error */
+
3268 }
+
3269 *raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
+
3270 output = a_bmp384_compensate_pressure(handle, *raw); /* compensate pressure */
+
3271 *pa = (float)((double)output / 100.0); /* get converted pressure */
+
3272
+
3273 return 0; /* success return 0 */
+
3274 }
+
3275 else
+
3276 {
+
3277 if (cnt != 0) /* check cnt */
+
3278 {
+
3279 cnt--; /* cnt-- */
+
3280 handle->delay_ms(1); /* delay 1 ms */
+
3281
+
3282 continue; /* continue */
+
3283 }
+
3284 handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
+
3285
+
3286 return 1; /* return error */
+
3287 }
+
3288 }
+
3289 }
+
3290 else
+
3291 {
+
3292 handle->debug_print("bmp384: mode is invalid.\n"); /* mode is invalid */
+
3293
+
3294 return 1; /* return error */
+
3295 }
+
3296}
+
+
3297
+
+
3312uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c,
+
3313 uint32_t *pressure_raw, float *pressure_pa)
+
3314{
+
3315 uint8_t res;
+
3316 uint8_t prev;
+
3317 uint8_t buf[3];
+
3318
+
3319 if (handle == NULL) /* check handle */
+
3320 {
+
3321 return 2; /* return error */
+
3322 }
+
3323 if (handle->inited != 1) /* check handle initialization */
+
3324 {
+
3325 return 3; /* return error */
+
3326 }
+
3327
+
3328 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
+
3329 if (res != 0) /* check result */
+
3330 {
+
3331 handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
+
3332
+
3333 return 1; /* return error */
+
3334 }
+
3335 if ((prev & 0x01) != 0) /* check fifo mode */
+
3336 {
+
3337 handle->debug_print("bmp384: fifo mode can't use this function.\n"); /* fifo mode can't use this function */
+
3338
+
3339 return 1; /* return error */
+
3340 }
+
3341 res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
+
3342 if (res != 0) /* check result */
+
3343 {
+
3344 handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
+
3345
+
3346 return 1; /* return error */
+
3347 }
+
3348 if (((prev >> 4) & 0x03) == 0x03) /* normal mode */
+
3349 {
+
3350 res = a_bmp384_iic_spi_read(handle, BMP384_REG_STATUS, (uint8_t *)&prev, 1); /* read config */
+
3351 if (res != 0) /* check result */
+
3352 {
+
3353 handle->debug_print("bmp384: get status register failed.\n"); /* get status register failed */
+
3354
+
3355 return 1; /* return error */
+
3356 }
+
3357 if ((prev & (1 << 6)) != 0) /* data is ready */
+
3358 {
+
3359 int64_t output;
+
3360
+
3361 res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_3, (uint8_t *)buf, 3); /* read raw data */
+
3362 if (res != 0) /* check result */
+
3363 {
+
3364 handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
+
3365
+
3366 return 1; /* return error */
+
3367 }
+
3368 *temperature_raw= (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
+
3369 output = a_bmp384_compensate_temperature(handle, *temperature_raw); /* compensate temperature */
+
3370 *temperature_c = (float)((double)output / 100.0); /* get converted temperature */
+
3371 }
+
3372 else
+
3373 {
+
3374 handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
+
3375
+
3376 return 1; /* return error */
+
3377 }
+
3378 if ((prev & (1 << 5)) != 0) /* data is ready */
+
3379 {
+
3380 int64_t output;
+
3381
+
3382 res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_0, (uint8_t *)buf, 3); /* read data */
+
3383 if (res != 0) /* check result */
+
3384 {
+
3385 handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
+
3386
+
3387 return 1; /* return error */
+
3388 }
+
3389 *pressure_raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
+
3390 output = a_bmp384_compensate_pressure(handle, *pressure_raw); /* compensate pressure */
+
3391 *pressure_pa = (float)((double)output / 100.0); /* get converted pressure */
+
3392
+
3393 return 0; /* success return 0 */
+
3394 }
+
3395 else
+
3396 {
+
3397 handle->debug_print("bmp384: pressure data is not ready.\n"); /* pressure data is not ready */
+
3398
+
3399 return 1; /* return error */
+
3400 }
+
3401 }
+
3402 else if (((prev >> 4) & 0x03) == 0x00) /* force mode */
+
3403 {
+
3404 uint16_t cnt = 5000;
+
3405
+
3406 res = a_bmp384_iic_spi_read(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* read config */
+
3407 if (res != 0) /* check result */
+
3408 {
+
3409 handle->debug_print("bmp384: get pwr ctrl register failed.\n"); /* get pwr ctrl register failed */
+
3410
+
3411 return 1; /* return error */
+
3412 }
+
3413 prev &= ~(0x03 << 4); /* clear 4-5 bits */
+
3414 prev |= 0x01 << 4; /* set bit 4 */
+
3415 res = a_bmp384_iic_spi_write(handle, BMP384_REG_PWR_CTRL, (uint8_t *)&prev, 1); /* write config */
+
3416 if (res != 0) /* check result */
+
3417 {
+
3418 handle->debug_print("bmp384: set pwr ctrl register failed.\n"); /* set pwr ctrl register failed */
+
3419
+
3420 return 1; /* return error */
+
3421 }
+
3422
+
3423 while (1) /* loop */
+
3424 {
+
3425 res = a_bmp384_iic_spi_read(handle, BMP384_REG_STATUS, (uint8_t *)&prev, 1); /* read config */
+
3426 if (res != 0) /* check result */
+
3427 {
+
3428 handle->debug_print("bmp384: get status register failed.\n"); /* get status register failed */
+
3429
+
3430 return 1; /* return error */
+
3431 }
+
3432 if ((prev & (1 << 6)) != 0) /* data is ready */
+
3433 {
+
3434 int64_t output;
+
3435
+
3436 res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_3, (uint8_t *)buf, 3); /* read raw data */
+
3437 if (res != 0) /* check result */
+
3438 {
+
3439 handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
+
3440
+
3441 return 1; /* return error */
+
3442 }
+
3443 *temperature_raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
+
3444 output = a_bmp384_compensate_temperature(handle, *temperature_raw); /* compensate temperature */
+
3445 *temperature_c = (float)((double)output / 100.0); /* get converted temperature */
+
3446
+
3447 break; /* break */
+
3448 }
+
3449 else
+
3450 {
+
3451 if (cnt != 0) /* check cnt */
+
3452 {
+
3453 cnt--; /* cnt-- */
+
3454 handle->delay_ms(1); /* delay 1 ms */
+
3455
+
3456 continue; /* continue */
+
3457 }
+
3458 handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
+
3459
+
3460 return 1; /* return error */
+
3461 }
+
3462 }
+
3463 cnt = 5000; /* set cnt */
+
3464
+
3465 while (1) /* loop */
+
3466 {
+
3467 if ((prev & (1 << 5)) != 0) /* data is ready */
+
3468 {
+
3469 int64_t output;
+
3470
+
3471 res = a_bmp384_iic_spi_read(handle, BMP384_REG_DATA_0, (uint8_t *)buf, 3); /* read raw data */
+
3472 if (res != 0) /* check result */
+
3473 {
+
3474 handle->debug_print("bmp384: get data register failed.\n"); /* get data register failed */
+
3475
+
3476 return 1; /* return error */
+
3477 }
+
3478 *pressure_raw = (uint32_t)buf[2] << 16 | (uint32_t)buf[1] << 8 | buf[0]; /* get data */
+
3479 output = a_bmp384_compensate_pressure(handle, *pressure_raw); /* compensate pressure */
+
3480 *pressure_pa = (float)((double)output / 100.0); /* get converted pressure */
+
3481
+
3482 return 0; /* success return 0 */
+
3483 }
+
3484 else
+
3485 {
+
3486 if (cnt != 0) /* check cnt */
+
3487 {
+
3488 cnt--; /* cnt-- */
+
3489 handle->delay_ms(1); /* delay 1 ms */
+
3490
+
3491 continue; /* continue */
+
3492 }
+
3493 handle->debug_print("bmp384: temperature data is not ready.\n"); /* temperature data is not ready */
+
3494
+
3495 return 1; /* return error */
+
3496 }
+
3497 }
+
3498 }
+
3499 else
+
3500 {
+
3501 handle->debug_print("bmp384: mode is invalid.\n"); /* mode is invalid */
+
3502
+
3503 return 1; /* return error */
+
3504 }
+
3505}
+
+
3506
+
+ +
3518{
+
3519 uint8_t res;
+
3520 uint8_t status;
+
3521
+
3522 if (handle == NULL) /* check handle */
+
3523 {
+
3524 return 2; /* return error */
+
3525 }
+
3526 if (handle->inited != 1) /* check handle initialization */
+
3527 {
+
3528 return 3; /* return error */
+
3529 }
+
3530
+
3531 res = a_bmp384_iic_spi_read(handle, BMP384_REG_INT_STATUS, (uint8_t *)&status, 1); /* read config */
+
3532 if (res != 0) /* check result */
+
3533 {
+
3534 handle->debug_print("bmp384: get interrupt status register failed.\n"); /* get interrupt status register failed */
+
3535
+
3536 return 1; /* return error */
+
3537 }
+
3538 if ((status & (1 << 1)) != 0) /* if fifo full */
+
3539 {
+
3540 if(handle->receive_callback != NULL) /* if receive callback is valid */
+
3541 {
+
3542 handle->receive_callback(BMP384_INTERRUPT_STATUS_FIFO_FULL); /* run receive callback */
+
3543 }
+
3544 }
+
3545 if ((status & (1 << 0)) != 0) /* if fifo watermark */
+
3546 {
+
3547 if(handle->receive_callback != NULL) /* if receive callback is valid */
+
3548 {
+
3549 handle->receive_callback(BMP384_INTERRUPT_STATUS_FIFO_WATERMARK); /* run receive callback */
+
3550 }
+
3551 }
+
3552 if ((status & (1 << 3)) != 0) /* if data ready */
+
3553 {
+
3554 if (handle->receive_callback != NULL) /* if receive callback is valid */
+
3555 {
+
3556 handle->receive_callback(BMP384_INTERRUPT_STATUS_DATA_READY); /* run receive callback */
+
3557 }
+
3558 }
+
3559
+
3560 return 0; /* success return 0 */
+
3561}
+
+
3562
+
+ +
3573{
+
3574 if (handle == NULL) /* check handle */
+
3575 {
+
3576 return 2; /* return error */
+
3577 }
+
3578
+
3579 handle->iic_addr = (uint8_t)addr_pin; /* set iic address */
+
3580
+
3581 return 0; /* success return 0 */
+
3582}
+
+
3583
+
+ +
3594{
+
3595 if (handle == NULL) /* check handle */
+
3596 {
+
3597 return 2; /* return error */
+
3598 }
+
3599
+
3600 *addr_pin = (bmp384_address_t)handle->iic_addr; /* get iic address */
+
3601
+
3602 return 0; /* success return 0 */
+
3603}
+
+
3604
+
+ +
3615{
+
3616 if (handle == NULL) /* check handle */
+
3617 {
+
3618 return 2; /* return error */
+
3619 }
+
3620
+
3621 handle->iic_spi = (uint8_t)interface; /* set interface */
+
3622
+
3623 return 0; /* success return 0 */
+
3624}
+
+
3625
+
+ +
3636{
+
3637 if (handle == NULL) /* check handle */
+
3638 {
+
3639 return 2; /* return error */
+
3640 }
+
3641
+
3642 *interface = (bmp384_interface_t)(handle->iic_spi); /* get interface */
+
3643
+
3644 return 0; /* success return 0 */
+
3645}
+
+
3646
+
+
3659uint8_t bmp384_read_fifo(bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
+
3660{
+
3661 uint8_t res;
+
3662 uint8_t prev;
+
3663 uint8_t tmp_buf[2];
+
3664 uint16_t length;
+
3665
+
3666 if (handle == NULL) /* check handle */
+
3667 {
+
3668 return 2; /* return error */
+
3669 }
+
3670 if (handle->inited != 1) /* check handle initialization */
+
3671 {
+
3672 return 3; /* return error */
+
3673 }
+
3674
+
3675 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_CONFIG_1, (uint8_t *)&prev, 1); /* read config */
+
3676 if (res != 0) /* check result */
+
3677 {
+
3678 handle->debug_print("bmp384: get fifo config 1 register failed.\n"); /* get fifo config 1 register failed */
+
3679
+
3680 return 1; /* return error */
+
3681 }
+
3682 if ((prev & 0x01) != 0) /* check mode */
+
3683 {
+
3684 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_LENGTH_0, (uint8_t *)tmp_buf, 2); /* read config */
+
3685 if (res != 0) /* check result */
+
3686 {
+
3687 handle->debug_print("bmp384: get fifo length register failed.\n"); /* get fifo length register failed */
+
3688
+
3689 return 1; /* return error */
+
3690 }
+
3691 length = ((uint16_t)(tmp_buf[1] & 0x01) << 8) | tmp_buf[0]; /* get data */
+
3692 if ((prev & (1 << 2)) != 0) /* if include sensor time */
+
3693 {
+
3694 length += 4; /* add sensor time length */
+
3695 }
+
3696 *len = (*len) < length ? (*len) :length; /* get real length */
+
3697 res = a_bmp384_iic_spi_read(handle, BMP384_REG_FIFO_DATA, (uint8_t *)buf, *len); /* read config */
+
3698 if (res != 0) /* check result */
+
3699 {
+
3700 handle->debug_print("bmp384: get fifo data failed.\n"); /* get fifo data failed */
+
3701
+
3702 return 1; /* return error */
+
3703 }
+
3704
+
3705 return 0; /* success return 0 */
+
3706 }
+
3707 else
+
3708 {
+
3709 handle->debug_print("bmp384: normal mode or forced mode can't use this function.\n"); /* normal mode or forced mode can't use this function */
+
3710
+
3711 return 1; /* return error */
+
3712 }
+
3713}
+
+
3714
+
+
3729uint8_t bmp384_fifo_parse(bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
+
3730{
+
3731 uint8_t res;
+
3732 uint16_t i;
+
3733 uint16_t frame_total;
+
3734
+
3735 if (handle == NULL) /* check handle */
+
3736 {
+
3737 return 2; /* return error */
+
3738 }
+
3739 if (handle->inited != 1) /* check handle initialization */
+
3740 {
+
3741 return 3; /* return error */
+
3742 }
+
3743
+
3744 if (buf_len == 0) /* check buffer length */
+
3745 {
+
3746 handle->debug_print("bmp384: buffer length is invalid.\n"); /* buffer length is invalid */
+
3747
+
3748 return 1; /* return error */
+
3749 }
+
3750 frame_total = 0; /* clear total frame */
+
3751 res = 0; /* set 0 */
+
3752 i = 0; /* set 0 */
+
3753 while (i < buf_len) /* loop */
+
3754 {
+
3755 switch ((uint8_t)buf[i])
+
3756 {
+
3757 case 0x90 :
+
3758 {
+
3759 if (frame_total > ((*frame_len)-1)) /* check length */
+
3760 {
+
3761 return 0; /* return success */
+
3762 }
+
3763 frame[frame_total].type = BMP384_FRAME_TYPE_TEMPERATURE; /* set temperature type */
+
3764 frame[frame_total].raw = (uint32_t)buf[i + 2 + 1] << 16 | (uint32_t)buf[i + 1 + 1] << 8 | buf[i + 0 + 1]; /* set raw */
+
3765 frame[frame_total].data = (float)((double)a_bmp384_compensate_temperature(handle, frame[frame_total].raw) / 100.0); /* set compensate temperature */
+
3766 frame_total++; /* frame++ */
+
3767 i += 4; /* index + 4 */
+
3768
+
3769 break; /* break */
+
3770 }
+
3771 case 0x94 :
+
3772 {
+
3773 if ((frame_total) > ((*frame_len)-1)) /* check length */
+
3774 {
+
3775 return 0; /* return success */
+
3776 }
+
3777 frame[frame_total].type = BMP384_FRAME_TYPE_TEMPERATURE; /* set temperature type */
+
3778 frame[frame_total].raw = (uint32_t)buf[i + 2 + 1] << 16 | (uint32_t)buf[i + 1 + 1] << 8 | buf[i + 0 + 1]; /* set raw */
+
3779 frame[frame_total].data = (float)((double)a_bmp384_compensate_temperature(handle, frame[frame_total].raw) / 100.0); /* set compensate temperature */
+
3780 frame_total++; /* frame++ */
+
3781 if (frame_total > ((*frame_len)-1)) /* check length */
+
3782 {
+
3783 return 0; /* return success */
+
3784 }
+
3785 frame[frame_total].type = BMP384_FRAME_TYPE_PRESSURE; /* set pressure type */
+
3786 frame[frame_total].raw = (uint32_t)buf[i + 5 + 1] << 16 | (uint32_t)buf[i + 4 + 1] << 8 | buf[i + 3 + 1]; /* set raw */
+
3787 frame[frame_total].data = (float)((double)a_bmp384_compensate_pressure(handle, frame[frame_total].raw) / 100.0); /* set compensate pressure */
+
3788 frame_total++; /* frame++ */
+
3789 i += 7; /* index + 7 */
+
3790
+
3791 break; /* break */
+
3792 }
+
3793 case 0xA0 :
+
3794 {
+
3795 if (frame_total > ((*frame_len)-1)) /* check length */
+
3796 {
+
3797 return 0; /* return success */
+
3798 }
+
3799 frame[frame_total].type = BMP384_FRAME_TYPE_SENSORTIME; /* set sensor time type */
+
3800 frame[frame_total].raw = (uint32_t)buf[i + 2 + 1] << 16 | (uint32_t)buf[i + 1 + 1] << 8 | buf[i + 0 + 1]; /* set raw */
+
3801 frame[frame_total].data = 0; /* set data */
+
3802 frame_total++; /* frame++ */
+
3803 i += 4; /* index+4 */
+
3804
+
3805 break; /* break */
+
3806 }
+
3807 case 0x80 : /* fifo empty */
+
3808 {
+
3809 i += 2; /* index+2 */
+
3810
+
3811 break; /* break */
+
3812 }
+
3813 case 0x48 : /* fifo input config */
+
3814 {
+
3815 i += 2; /* index+2 */
+
3816
+
3817 break; /* break */
+
3818 }
+
3819 case 0x44 : /* config error */
+
3820 {
+
3821 i += 2; /* index+2 */
+
3822
+
3823 break; /* break */
+
3824 }
+
3825 default :
+
3826 {
+
3827 handle->debug_print("bmp384: header is invalid.\n"); /* header is invalid */
+
3828 res = 1; /* set 1 */
+
3829
+
3830 break; /* break */
+
3831 }
+
3832 }
+
3833 if (res == 1) /* check the result */
+
3834 {
+
3835 return 1; /* return error */
+
3836 }
+
3837 }
+
3838 *frame_len = frame_total; /* set frame length */
+
3839
+
3840 return 0; /* success return 0 */
+
3841}
+
+
3842
+
+
3855uint8_t bmp384_set_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t value)
+
3856{
+
3857 if (handle == NULL) /* check handle */
+
3858 {
+
3859 return 2; /* return error */
+
3860 }
+
3861 if (handle->inited != 1) /* check handle initialization */
+
3862 {
+
3863 return 3; /* return error */
+
3864 }
+
3865
+
3866 return a_bmp384_iic_spi_write(handle, reg, &value, 1); /* write register */
+
3867}
+
+
3868
+
+
3881uint8_t bmp384_get_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t *value)
+
3882{
+
3883 if (handle == NULL) /* check handle */
+
3884 {
+
3885 return 2; /* return error */
+
3886 }
+
3887 if (handle->inited != 1) /* check handle initialization */
+
3888 {
+
3889 return 3; /* return error */
+
3890 }
+
3891
+
3892 return a_bmp384_iic_spi_read(handle, reg, value, 1); /* read register */
+
3893}
+
+
3894
+
+ +
3904{
+
3905 if (info == NULL) /* check handle */
+
3906 {
+
3907 return 2; /* return error */
+
3908 }
+
3909
+
3910 memset(info, 0, sizeof(bmp384_info_t)); /* initialize bmp384 info structure */
+
3911 strncpy(info->chip_name, CHIP_NAME, 32); /* copy chip name */
+
3912 strncpy(info->manufacturer_name, MANUFACTURER_NAME, 32); /* copy manufacturer name */
+
3913 strncpy(info->interface, "IIC SPI", 8); /* copy interface name */
+
3914 info->supply_voltage_min_v = SUPPLY_VOLTAGE_MIN; /* set minimal supply voltage */
+
3915 info->supply_voltage_max_v = SUPPLY_VOLTAGE_MAX; /* set maximum supply voltage */
+
3916 info->max_current_ma = MAX_CURRENT; /* set maximum current */
+
3917 info->temperature_max = TEMPERATURE_MAX; /* set minimal temperature */
+
3918 info->temperature_min = TEMPERATURE_MIN; /* set maximum temperature */
+
3919 info->driver_version = DRIVER_VERSION; /* set driver version */
+
3920
+
3921 return 0; /* success return 0 */
+
3922}
+
+
#define BMP384_REG_NVM_PAR_T3
+
#define BMP384_REG_NVM_PAR_T1_L
+
#define BMP384_REG_IF_CONF
+
#define BMP384_REG_DATA_3
+
#define MAX_CURRENT
+
#define BMP384_REG_FIFO_CONFIG_2
+
#define BMP384_REG_NVM_PAR_P10
+
#define BMP384_REG_FIFO_WTM_0
+
#define BMP384_REG_FIFO_CONFIG_1
+
#define BMP384_REG_NVM_PAR_P3
+
#define BMP384_REG_NVM_PAR_P7
+
#define BMP384_REG_NVM_PAR_P11
+
#define BMP384_REG_FIFO_LENGTH_0
+
#define BMP384_REG_INT_CTRL
+
#define BMP384_REG_NVM_PAR_P8
+
#define SUPPLY_VOLTAGE_MAX
+
#define BMP384_REG_FIFO_DATA
+
#define BMP384_REG_CHIP_ID
+
#define BMP384_REG_NVM_PAR_T2_L
+
#define BMP384_REG_NVM_PAR_P2_L
+
#define TEMPERATURE_MAX
+
#define BMP384_REG_NVM_PAR_P6_L
+
#define BMP384_REG_EVENT
+
#define BMP384_REG_ERR_REG
+
#define BMP384_REG_SENSORTIME_0
+
#define MANUFACTURER_NAME
+
#define TEMPERATURE_MIN
+
#define SUPPLY_VOLTAGE_MIN
+
#define BMP384_REG_STATUS
+
#define BMP384_REG_NVM_PAR_P5_L
+
#define BMP384_REG_ODR
+
#define BMP384_REG_NVM_PAR_P4
+
#define CHIP_NAME
chip information definition
+
#define BMP384_REG_NVM_PAR_P9_L
+
#define BMP384_REG_CMD
chip register definition
+
#define DRIVER_VERSION
+
#define BMP384_REG_DATA_0
+
#define BMP384_REG_CONFIG
+
#define BMP384_REG_OSR
+
#define BMP384_REG_NVM_PAR_P1_L
+
#define BMP384_REG_PWR_CTRL
+
#define BMP384_REG_INT_STATUS
driver bmp384 header file
-
uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
read the temperature and pressure
-
uint8_t bmp384_get_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the iic watchdog timer status
-
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
-
bmp384_event_t
bmp384 event enumeration definition
-
uint8_t bmp384_get_addr_pin(bmp384_handle_t *handle, bmp384_address_t *addr_pin)
get the iic address pin
-
uint8_t bmp384_get_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t *wire)
get the spi wire
-
bmp384_mode_t
bmp384 mode enumeration definition
-
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
uint8_t bmp384_softreset(bmp384_handle_t *handle)
soft reset
-
uint8_t bmp384_get_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t *coefficient)
get the filter coefficient
-
uint8_t bmp384_extmode_en_middle(bmp384_handle_t *handle)
extmode enable middle
-
uint8_t bmp384_get_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
get the pressure oversampling
-
bmp384_fifo_data_source_t
bmp384 fifo data source enumeration definition
-
uint8_t bmp384_get_pressure(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the pressure status
-
uint8_t bmp384_read_pressure(bmp384_handle_t *handle, uint32_t *raw, float *pa)
read the pressure
-
uint8_t bmp384_get_status(bmp384_handle_t *handle, uint8_t *status)
get the status
-
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
-
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
-
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
-
bmp384_spi_wire_t
bmp384 spi wire enumeration definition
-
bmp384_bool_t
bmp384 bool enumeration definition
Definition: driver_bmp384.h:81
-
uint8_t bmp384_get_sensortime(bmp384_handle_t *handle, uint32_t *t)
get the sensor time
-
uint8_t bmp384_read_temperature(bmp384_handle_t *handle, uint32_t *raw, float *c)
read the temperature
-
bmp384_interrupt_pin_type_t
bmp384 interrupt pin type enumeration definition
-
uint8_t bmp384_get_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
get the temperature oversampling
-
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
-
uint8_t bmp384_get_interface(bmp384_handle_t *handle, bmp384_interface_t *interface)
get the interface
-
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
-
uint8_t bmp384_get_event(bmp384_handle_t *handle, bmp384_event_t *event)
get the event
-
bmp384_odr_t
bmp384 output data rate enumeration definition
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
-
uint8_t bmp384_info(bmp384_info_t *info)
get chip's information
-
bmp384_filter_coefficient_t
bmp384 filter coefficient enumeration definition
-
uint8_t bmp384_get_mode(bmp384_handle_t *handle, bmp384_mode_t *mode)
get the chip mode
-
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
-
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
-
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
-
bmp384_iic_watchdog_period_t
bmp384 iic watchdog period enumeration definition
-
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
-
uint8_t bmp384_get_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t *period)
get the iic watchdog period
-
uint8_t bmp384_get_odr(bmp384_handle_t *handle, bmp384_odr_t *odr)
get the output data rate
-
bmp384_oversampling_t
bmp384 oversampling enumeration definition
-
uint8_t bmp384_irq_handler(bmp384_handle_t *handle)
irq handler
-
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
-
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
-
uint8_t bmp384_get_temperature(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the temperature status
-
uint8_t bmp384_get_error(bmp384_handle_t *handle, uint8_t *err)
get the error
-
bmp384_interrupt_active_level_t
bmp384 interrupt active level enumeration definition
-
@ BMP384_INTERFACE_IIC
Definition: driver_bmp384.h:64
-
@ BMP384_FRAME_TYPE_SENSORTIME
-
@ BMP384_FRAME_TYPE_PRESSURE
-
@ BMP384_FRAME_TYPE_TEMPERATURE
-
@ BMP384_INTERRUPT_STATUS_FIFO_WATERMARK
-
@ BMP384_INTERRUPT_STATUS_FIFO_FULL
-
@ BMP384_INTERRUPT_STATUS_DATA_READY
-
uint8_t bmp384_set_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t value)
set the chip register
-
uint8_t bmp384_get_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t *value)
get the chip register
-
uint8_t bmp384_fifo_parse(bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
parse the fifo data
-
uint8_t bmp384_get_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo pressure on status
-
uint8_t bmp384_set_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo pressure on
-
uint8_t bmp384_set_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
set the fifo data source
-
uint8_t bmp384_get_fifo_length(bmp384_handle_t *handle, uint16_t *length)
get the fifo length
-
uint8_t bmp384_set_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo stopping on full
-
uint8_t bmp384_set_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo sensor time on
-
uint8_t bmp384_get_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo temperature on status
-
uint8_t bmp384_read_fifo(bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
read the fifo
-
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
-
uint8_t bmp384_get_fifo(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo status
-
uint8_t bmp384_get_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo stopping on full status
-
uint8_t bmp384_get_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo sensor time on status
-
uint8_t bmp384_flush_fifo(bmp384_handle_t *handle)
flush the fifo
-
uint8_t bmp384_set_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo temperature on
-
uint8_t bmp384_get_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t *source)
get the fifo data source
-
uint8_t bmp384_get_fifo_watermark(bmp384_handle_t *handle, uint16_t *watermark)
get the fifo watermark
-
uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
set the fifo watermark
-
uint8_t bmp384_get_fifo_data(bmp384_handle_t *handle, uint8_t *data, uint16_t length)
get the fifo data
-
uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
set the fifo subsampling
-
uint8_t bmp384_get_fifo_subsampling(bmp384_handle_t *handle, uint8_t *subsample)
get the fifo subsampling
-
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
-
uint8_t bmp384_get_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t *level)
get the interrupt active level
-
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
-
uint8_t bmp384_get_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt fifo full
-
uint8_t bmp384_get_interrupt_status(bmp384_handle_t *handle, uint8_t *status)
get the interrupt status
-
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
-
uint8_t bmp384_get_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t *pin_type)
get the interrupt pin type
-
uint8_t bmp384_get_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt fifo watermark
-
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
-
uint8_t bmp384_get_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t *enable)
get latching interrupt pin and interrupt status
-
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
-
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
-
uint8_t bmp384_get_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt data ready status
-
bmp384 frame structure definition
- - -
bmp384_frame_type_t type
-
bmp384 handle structure definition
- - - - - - - -
uint8_t(* spi_init)(void)
-
void(* delay_ms)(uint32_t ms)
-
uint8_t(* spi_read)(uint8_t reg, uint8_t *buf, uint16_t len)
-
void(* receive_callback)(uint8_t type)
- -
uint8_t(* spi_write)(uint8_t reg, uint8_t *buf, uint16_t len)
- - - -
void(* debug_print)(const char *const fmt,...)
-
uint8_t buf[512+1]
-
uint8_t(* iic_init)(void)
-
uint8_t(* spi_deinit)(void)
- - -
uint8_t(* iic_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
- - -
uint8_t(* iic_read)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
- -
uint8_t(* iic_deinit)(void)
- - -
bmp384 information structure definition
-
float temperature_max
-
float supply_voltage_max_v
-
uint32_t driver_version
-
float temperature_min
-
float max_current_ma
-
char manufacturer_name[32]
-
float supply_voltage_min_v
-
char interface[8]
-
char chip_name[32]
+
uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
read the temperature and pressure
+
uint8_t bmp384_get_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the iic watchdog timer status
+
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
+
bmp384_event_t
bmp384 event enumeration definition
+
uint8_t bmp384_get_addr_pin(bmp384_handle_t *handle, bmp384_address_t *addr_pin)
get the iic address pin
+
uint8_t bmp384_get_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t *wire)
get the spi wire
+
bmp384_mode_t
bmp384 mode enumeration definition
+
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
+
bmp384_interface_t
bmp384 interface enumeration definition
+
uint8_t bmp384_softreset(bmp384_handle_t *handle)
soft reset
+
uint8_t bmp384_get_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t *coefficient)
get the filter coefficient
+
uint8_t bmp384_extmode_en_middle(bmp384_handle_t *handle)
extmode enable middle
+
uint8_t bmp384_get_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
get the pressure oversampling
+
bmp384_fifo_data_source_t
bmp384 fifo data source enumeration definition
+
uint8_t bmp384_get_pressure(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the pressure status
+
uint8_t bmp384_read_pressure(bmp384_handle_t *handle, uint32_t *raw, float *pa)
read the pressure
+
uint8_t bmp384_get_status(bmp384_handle_t *handle, uint8_t *status)
get the status
+
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
+
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
+
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
+
bmp384_spi_wire_t
bmp384 spi wire enumeration definition
+
bmp384_bool_t
bmp384 bool enumeration definition
+
uint8_t bmp384_get_sensortime(bmp384_handle_t *handle, uint32_t *t)
get the sensor time
+
struct bmp384_frame_s bmp384_frame_t
bmp384 frame structure definition
+
uint8_t bmp384_read_temperature(bmp384_handle_t *handle, uint32_t *raw, float *c)
read the temperature
+
bmp384_interrupt_pin_type_t
bmp384 interrupt pin type enumeration definition
+
uint8_t bmp384_get_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
get the temperature oversampling
+
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
+
uint8_t bmp384_get_interface(bmp384_handle_t *handle, bmp384_interface_t *interface)
get the interface
+
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
+
uint8_t bmp384_get_event(bmp384_handle_t *handle, bmp384_event_t *event)
get the event
+
bmp384_odr_t
bmp384 output data rate enumeration definition
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
+
uint8_t bmp384_info(bmp384_info_t *info)
get chip's information
+
bmp384_filter_coefficient_t
bmp384 filter coefficient enumeration definition
+
uint8_t bmp384_get_mode(bmp384_handle_t *handle, bmp384_mode_t *mode)
get the chip mode
+
struct bmp384_info_s bmp384_info_t
bmp384 information structure definition
+
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
+
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
+
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
+
bmp384_iic_watchdog_period_t
bmp384 iic watchdog period enumeration definition
+
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
+
uint8_t bmp384_get_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t *period)
get the iic watchdog period
+
uint8_t bmp384_get_odr(bmp384_handle_t *handle, bmp384_odr_t *odr)
get the output data rate
+
bmp384_oversampling_t
bmp384 oversampling enumeration definition
+
uint8_t bmp384_irq_handler(bmp384_handle_t *handle)
irq handler
+
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
+
struct bmp384_handle_s bmp384_handle_t
bmp384 handle structure definition
+
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
+
uint8_t bmp384_get_temperature(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the temperature status
+
uint8_t bmp384_get_error(bmp384_handle_t *handle, uint8_t *err)
get the error
+
bmp384_interrupt_active_level_t
bmp384 interrupt active level enumeration definition
+
@ BMP384_INTERFACE_IIC
+
@ BMP384_FRAME_TYPE_SENSORTIME
+
@ BMP384_FRAME_TYPE_PRESSURE
+
@ BMP384_FRAME_TYPE_TEMPERATURE
+
@ BMP384_INTERRUPT_STATUS_FIFO_WATERMARK
+
@ BMP384_INTERRUPT_STATUS_FIFO_FULL
+
@ BMP384_INTERRUPT_STATUS_DATA_READY
+
uint8_t bmp384_set_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t value)
set the chip register
+
uint8_t bmp384_get_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t *value)
get the chip register
+
uint8_t bmp384_fifo_parse(bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
parse the fifo data
+
uint8_t bmp384_get_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo pressure on status
+
uint8_t bmp384_set_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo pressure on
+
uint8_t bmp384_set_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
set the fifo data source
+
uint8_t bmp384_get_fifo_length(bmp384_handle_t *handle, uint16_t *length)
get the fifo length
+
uint8_t bmp384_set_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo stopping on full
+
uint8_t bmp384_set_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo sensor time on
+
uint8_t bmp384_get_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo temperature on status
+
uint8_t bmp384_read_fifo(bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
read the fifo
+
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
+
uint8_t bmp384_get_fifo(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo status
+
uint8_t bmp384_get_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo stopping on full status
+
uint8_t bmp384_get_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo sensor time on status
+
uint8_t bmp384_flush_fifo(bmp384_handle_t *handle)
flush the fifo
+
uint8_t bmp384_set_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo temperature on
+
uint8_t bmp384_get_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t *source)
get the fifo data source
+
uint8_t bmp384_get_fifo_watermark(bmp384_handle_t *handle, uint16_t *watermark)
get the fifo watermark
+
uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
set the fifo watermark
+
uint8_t bmp384_get_fifo_data(bmp384_handle_t *handle, uint8_t *data, uint16_t length)
get the fifo data
+
uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
set the fifo subsampling
+
uint8_t bmp384_get_fifo_subsampling(bmp384_handle_t *handle, uint8_t *subsample)
get the fifo subsampling
+
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
+
uint8_t bmp384_get_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t *level)
get the interrupt active level
+
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
+
uint8_t bmp384_get_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt fifo full
+
uint8_t bmp384_get_interrupt_status(bmp384_handle_t *handle, uint8_t *status)
get the interrupt status
+
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
+
uint8_t bmp384_get_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t *pin_type)
get the interrupt pin type
+
uint8_t bmp384_get_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt fifo watermark
+
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
+
uint8_t bmp384_get_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t *enable)
get latching interrupt pin and interrupt status
+
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
+
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
+
uint8_t bmp384_get_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt data ready status
+ + +
bmp384_frame_type_t type
+ + + + + + + +
uint8_t(* spi_init)(void)
+
void(* delay_ms)(uint32_t ms)
+
uint8_t(* spi_read)(uint8_t reg, uint8_t *buf, uint16_t len)
+
void(* receive_callback)(uint8_t type)
+ +
uint8_t(* spi_write)(uint8_t reg, uint8_t *buf, uint16_t len)
+ + + +
void(* debug_print)(const char *const fmt,...)
+
uint8_t buf[512+1]
+
uint8_t(* iic_init)(void)
+
uint8_t(* spi_deinit)(void)
+ + +
uint8_t(* iic_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
+ + +
uint8_t(* iic_read)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
+ +
uint8_t(* iic_deinit)(void)
+ + + +
float supply_voltage_max_v
+
uint32_t driver_version
+ + +
char manufacturer_name[32]
+
float supply_voltage_min_v
+ +
char chip_name[32]
+
diff --git a/doc/html/driver__bmp384_8h.html b/doc/html/driver__bmp384_8h.html index faf07d6..7d45246 100644 --- a/doc/html/driver__bmp384_8h.html +++ b/doc/html/driver__bmp384_8h.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: src/driver_bmp384.h File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384.h File Reference
+
driver_bmp384.h File Reference
@@ -100,144 +100,123 @@
#include <stdint.h>
#include <stdio.h>
#include <string.h>
+
+Include dependency graph for driver_bmp384.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+

Go to the source code of this file.

- - + - - + - - + -

+

Data Structures

struct  bmp384_frame_s
struct  bmp384_frame_s
 bmp384 frame structure definition More...
 
struct  bmp384_handle_s
struct  bmp384_handle_s
 bmp384 handle structure definition More...
 
struct  bmp384_info_s
struct  bmp384_info_s
 bmp384 information structure definition More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

+

Macros

#define DRIVER_BMP384_LINK_INIT(HANDLE, STRUCTURE)   memset(HANDLE, 0, sizeof(STRUCTURE))
 initialize bmp384_handle_t structure More...
 
#define DRIVER_BMP384_LINK_IIC_INIT(HANDLE, FUC)   (HANDLE)->iic_init = FUC
 link iic_init function More...
 
#define DRIVER_BMP384_LINK_IIC_DEINIT(HANDLE, FUC)   (HANDLE)->iic_deinit = FUC
 link iic_deinit function More...
 
#define DRIVER_BMP384_LINK_IIC_READ(HANDLE, FUC)   (HANDLE)->iic_read = FUC
 link iic_read function More...
 
#define DRIVER_BMP384_LINK_IIC_WRITE(HANDLE, FUC)   (HANDLE)->iic_write = FUC
 link iic_write function More...
 
#define DRIVER_BMP384_LINK_SPI_INIT(HANDLE, FUC)   (HANDLE)->spi_init = FUC
 link spi_init function More...
 
#define DRIVER_BMP384_LINK_SPI_DEINIT(HANDLE, FUC)   (HANDLE)->spi_deinit = FUC
 link spi_deinit function More...
 
#define DRIVER_BMP384_LINK_SPI_READ(HANDLE, FUC)   (HANDLE)->spi_read = FUC
 link spi_read function More...
 
#define DRIVER_BMP384_LINK_SPI_WRITE(HANDLE, FUC)   (HANDLE)->spi_write = FUC
 link spi_write function More...
 
#define DRIVER_BMP384_LINK_DELAY_MS(HANDLE, FUC)   (HANDLE)->delay_ms = FUC
 link delay_ms function More...
 
#define DRIVER_BMP384_LINK_DEBUG_PRINT(HANDLE, FUC)   (HANDLE)->debug_print = FUC
 link debug_print function More...
 
#define DRIVER_BMP384_LINK_RECEIVE_CALLBACK(HANDLE, FUC)   (HANDLE)->receive_callback = FUC
 link receive_callback function More...
 
#define DRIVER_BMP384_LINK_INIT(HANDLE, STRUCTURE)
 initialize bmp384_handle_t structure
#define DRIVER_BMP384_LINK_IIC_INIT(HANDLE, FUC)
 link iic_init function
#define DRIVER_BMP384_LINK_IIC_DEINIT(HANDLE, FUC)
 link iic_deinit function
#define DRIVER_BMP384_LINK_IIC_READ(HANDLE, FUC)
 link iic_read function
#define DRIVER_BMP384_LINK_IIC_WRITE(HANDLE, FUC)
 link iic_write function
#define DRIVER_BMP384_LINK_SPI_INIT(HANDLE, FUC)
 link spi_init function
#define DRIVER_BMP384_LINK_SPI_DEINIT(HANDLE, FUC)
 link spi_deinit function
#define DRIVER_BMP384_LINK_SPI_READ(HANDLE, FUC)
 link spi_read function
#define DRIVER_BMP384_LINK_SPI_WRITE(HANDLE, FUC)
 link spi_write function
#define DRIVER_BMP384_LINK_DELAY_MS(HANDLE, FUC)
 link delay_ms function
#define DRIVER_BMP384_LINK_DEBUG_PRINT(HANDLE, FUC)
 link debug_print function
#define DRIVER_BMP384_LINK_RECEIVE_CALLBACK(HANDLE, FUC)
 link receive_callback function
- - - - - - - - - - + + + + + +

+

Typedefs

typedef struct bmp384_frame_s bmp384_frame_t
 bmp384 frame structure definition More...
 
typedef struct bmp384_handle_s bmp384_handle_t
 bmp384 handle structure definition More...
 
typedef struct bmp384_info_s bmp384_info_t
 bmp384 information structure definition More...
 
typedef struct bmp384_frame_s bmp384_frame_t
 bmp384 frame structure definition
typedef struct bmp384_handle_s bmp384_handle_t
 bmp384 handle structure definition
typedef struct bmp384_info_s bmp384_info_t
 bmp384 information structure definition
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

+

Enumerations

enum  bmp384_interface_t { BMP384_INTERFACE_IIC = 0x00 +
enum  bmp384_interface_t { BMP384_INTERFACE_IIC = 0x00 , BMP384_INTERFACE_SPI = 0x01 }
 bmp384 interface enumeration definition More...
 
enum  bmp384_address_t { BMP384_ADDRESS_ADO_LOW = (0x76 << 1) +
enum  bmp384_address_t { BMP384_ADDRESS_ADO_LOW = (0x76 << 1) , BMP384_ADDRESS_ADO_HIGH = (0x77 << 1) }
 bmp384 address enumeration definition More...
 
enum  bmp384_bool_t { BMP384_BOOL_FALSE = 0x00 +
enum  bmp384_bool_t { BMP384_BOOL_FALSE = 0x00 , BMP384_BOOL_TRUE = 0x01 }
 bmp384 bool enumeration definition More...
 
enum  bmp384_error_t { BMP384_ERROR_FATAL = (1 << 0) +
enum  bmp384_error_t { BMP384_ERROR_FATAL = (1 << 0) , BMP384_ERROR_CMD = (1 << 1) , BMP384_ERROR_CONF = (1 << 2) }
 bmp384 error enumeration definition More...
 
enum  bmp384_status_t { BMP384_STATUS_COMMAND_READY = (1 << 4) +
enum  bmp384_status_t { BMP384_STATUS_COMMAND_READY = (1 << 4) , BMP384_STATUS_PRESS_READY = (1 << 5) , BMP384_STATUS_TEMP_READY = (1 << 6) }
 bmp384 status enumeration definition More...
 
enum  bmp384_event_t { BMP384_EVENT_NONE = (0 << 0) +
enum  bmp384_event_t { BMP384_EVENT_NONE = (0 << 0) , BMP384_EVENT_POWER_UP_OR_SOFTRESET = (1 << 0) }
 bmp384 event enumeration definition More...
 
enum  bmp384_fifo_data_source_t { BMP384_FIFO_DATA_SOURCE_UNFILTERED = 0 +
enum  bmp384_fifo_data_source_t { BMP384_FIFO_DATA_SOURCE_UNFILTERED = 0 , BMP384_FIFO_DATA_SOURCE_FILTERED = 1 }
 bmp384 fifo data source enumeration definition More...
 
enum  bmp384_interrupt_status_t { BMP384_INTERRUPT_STATUS_FIFO_WATERMARK = (1 << 0) +
enum  bmp384_interrupt_status_t { BMP384_INTERRUPT_STATUS_FIFO_WATERMARK = (1 << 0) , BMP384_INTERRUPT_STATUS_FIFO_FULL = (1 << 1) , BMP384_INTERRUPT_STATUS_DATA_READY = (1 << 3) }
 bmp384 interrupt status enumeration definition More...
 
enum  bmp384_interrupt_active_level_t { BMP384_INTERRUPT_ACTIVE_LEVEL_LOWER = 0x00 +
enum  bmp384_interrupt_active_level_t { BMP384_INTERRUPT_ACTIVE_LEVEL_LOWER = 0x00 , BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER = 0x01 }
 bmp384 interrupt active level enumeration definition More...
 
enum  bmp384_interrupt_pin_type_t { BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL = 0x00 +
enum  bmp384_interrupt_pin_type_t { BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL = 0x00 , BMP384_INTERRUPT_PIN_TYPE_OPEN_DRAIN = 0x01 }
 bmp384 interrupt pin type enumeration definition More...
 
enum  bmp384_spi_wire_t { BMP384_SPI_WIRE_4 = 0x00 +
enum  bmp384_spi_wire_t { BMP384_SPI_WIRE_4 = 0x00 , BMP384_SPI_WIRE_3 = 0x01 }
 bmp384 spi wire enumeration definition More...
 
enum  bmp384_iic_watchdog_period_t { BMP384_IIC_WATCHDOG_PERIOD_1P25_MS = 0x00 +
enum  bmp384_iic_watchdog_period_t { BMP384_IIC_WATCHDOG_PERIOD_1P25_MS = 0x00 , BMP384_IIC_WATCHDOG_PERIOD_40_MS = 0x01 }
 bmp384 iic watchdog period enumeration definition More...
 
enum  bmp384_mode_t { BMP384_MODE_SLEEP_MODE = 0x00 +
enum  bmp384_mode_t { BMP384_MODE_SLEEP_MODE = 0x00 , BMP384_MODE_FORCED_MODE = 0x01 , BMP384_MODE_NORMAL_MODE = 0x03 }
 bmp384 mode enumeration definition More...
 
enum  bmp384_oversampling_t {
+
enum  bmp384_oversampling_t {
  BMP384_OVERSAMPLING_x1 = 0x00 , BMP384_OVERSAMPLING_x2 = 0x01 , BMP384_OVERSAMPLING_x4 = 0x02 @@ -248,8 +227,7 @@
}
 bmp384 oversampling enumeration definition More...
 
enum  bmp384_odr_t {
+
enum  bmp384_odr_t {
  BMP384_ODR_200_HZ = 0x00 , BMP384_ODR_100_HZ = 0x01 , BMP384_ODR_50_HZ = 0x02 @@ -275,8 +253,7 @@
}
 bmp384 output data rate enumeration definition More...
 
enum  bmp384_filter_coefficient_t {
+
enum  bmp384_filter_coefficient_t {
  BMP384_FILTER_COEFFICIENT_0 = 0x00 , BMP384_FILTER_COEFFICIENT_1 = 0x01 , BMP384_FILTER_COEFFICIENT_3 = 0x02 @@ -289,237 +266,162 @@
}
 bmp384 filter coefficient enumeration definition More...
 
enum  bmp384_frame_type_t { BMP384_FRAME_TYPE_TEMPERATURE = 0x01 +
enum  bmp384_frame_type_t { BMP384_FRAME_TYPE_TEMPERATURE = 0x01 , BMP384_FRAME_TYPE_PRESSURE = 0x02 , BMP384_FRAME_TYPE_SENSORTIME = 0x03 }
 bmp384 frame type enumeration definition More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+

Functions

uint8_t bmp384_info (bmp384_info_t *info)
 get chip's information More...
 
uint8_t bmp384_set_addr_pin (bmp384_handle_t *handle, bmp384_address_t addr_pin)
 set the iic address pin More...
 
uint8_t bmp384_get_addr_pin (bmp384_handle_t *handle, bmp384_address_t *addr_pin)
 get the iic address pin More...
 
uint8_t bmp384_set_interface (bmp384_handle_t *handle, bmp384_interface_t interface)
 set the interface More...
 
uint8_t bmp384_get_interface (bmp384_handle_t *handle, bmp384_interface_t *interface)
 get the interface More...
 
uint8_t bmp384_irq_handler (bmp384_handle_t *handle)
 irq handler More...
 
uint8_t bmp384_init (bmp384_handle_t *handle)
 initialize the chip More...
 
uint8_t bmp384_deinit (bmp384_handle_t *handle)
 close the chip More...
 
uint8_t bmp384_read_temperature_pressure (bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
 read the temperature and pressure More...
 
uint8_t bmp384_read_temperature (bmp384_handle_t *handle, uint32_t *raw, float *c)
 read the temperature More...
 
uint8_t bmp384_read_pressure (bmp384_handle_t *handle, uint32_t *raw, float *pa)
 read the pressure More...
 
uint8_t bmp384_get_error (bmp384_handle_t *handle, uint8_t *err)
 get the error More...
 
uint8_t bmp384_get_status (bmp384_handle_t *handle, uint8_t *status)
 get the status More...
 
uint8_t bmp384_get_sensortime (bmp384_handle_t *handle, uint32_t *t)
 get the sensor time More...
 
uint8_t bmp384_get_event (bmp384_handle_t *handle, bmp384_event_t *event)
 get the event More...
 
uint8_t bmp384_set_spi_wire (bmp384_handle_t *handle, bmp384_spi_wire_t wire)
 set the spi wire More...
 
uint8_t bmp384_get_spi_wire (bmp384_handle_t *handle, bmp384_spi_wire_t *wire)
 get the spi wire More...
 
uint8_t bmp384_set_iic_watchdog_timer (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the iic watchdog timer More...
 
uint8_t bmp384_get_iic_watchdog_timer (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the iic watchdog timer status More...
 
uint8_t bmp384_set_iic_watchdog_period (bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
 set the iic watchdog period More...
 
uint8_t bmp384_get_iic_watchdog_period (bmp384_handle_t *handle, bmp384_iic_watchdog_period_t *period)
 get the iic watchdog period More...
 
uint8_t bmp384_set_pressure (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the pressure More...
 
uint8_t bmp384_get_pressure (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the pressure status More...
 
uint8_t bmp384_set_temperature (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the temperature More...
 
uint8_t bmp384_get_temperature (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the temperature status More...
 
uint8_t bmp384_set_mode (bmp384_handle_t *handle, bmp384_mode_t mode)
 set the chip mode More...
 
uint8_t bmp384_get_mode (bmp384_handle_t *handle, bmp384_mode_t *mode)
 get the chip mode More...
 
uint8_t bmp384_set_pressure_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
 set the pressure oversampling More...
 
uint8_t bmp384_get_pressure_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
 get the pressure oversampling More...
 
uint8_t bmp384_set_temperature_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
 set the temperature oversampling More...
 
uint8_t bmp384_get_temperature_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
 get the temperature oversampling More...
 
uint8_t bmp384_set_odr (bmp384_handle_t *handle, bmp384_odr_t odr)
 set the output data rate More...
 
uint8_t bmp384_get_odr (bmp384_handle_t *handle, bmp384_odr_t *odr)
 get the output data rate More...
 
uint8_t bmp384_set_filter_coefficient (bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
 set the filter coefficient More...
 
uint8_t bmp384_get_filter_coefficient (bmp384_handle_t *handle, bmp384_filter_coefficient_t *coefficient)
 get the filter coefficient More...
 
uint8_t bmp384_softreset (bmp384_handle_t *handle)
 soft reset More...
 
uint8_t bmp384_extmode_en_middle (bmp384_handle_t *handle)
 extmode enable middle More...
 
uint8_t bmp384_get_interrupt_status (bmp384_handle_t *handle, uint8_t *status)
 get the interrupt status More...
 
uint8_t bmp384_set_interrupt_pin_type (bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
 set the interrupt pin type More...
 
uint8_t bmp384_get_interrupt_pin_type (bmp384_handle_t *handle, bmp384_interrupt_pin_type_t *pin_type)
 get the interrupt pin type More...
 
uint8_t bmp384_set_interrupt_active_level (bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
 set the interrupt active level More...
 
uint8_t bmp384_get_interrupt_active_level (bmp384_handle_t *handle, bmp384_interrupt_active_level_t *level)
 get the interrupt active level More...
 
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable latching interrupt pin and interrupt status More...
 
uint8_t bmp384_get_latch_interrupt_pin_and_interrupt_status (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get latching interrupt pin and interrupt status More...
 
uint8_t bmp384_set_interrupt_fifo_watermark (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo watermark interrupt More...
 
uint8_t bmp384_get_interrupt_fifo_watermark (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt fifo watermark More...
 
uint8_t bmp384_set_interrupt_fifo_full (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo full interrupt More...
 
uint8_t bmp384_get_interrupt_fifo_full (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt fifo full More...
 
uint8_t bmp384_set_interrupt_data_ready (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the data ready interrupt More...
 
uint8_t bmp384_get_interrupt_data_ready (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt data ready status More...
 
uint8_t bmp384_get_fifo_length (bmp384_handle_t *handle, uint16_t *length)
 get the fifo length More...
 
uint8_t bmp384_get_fifo_data (bmp384_handle_t *handle, uint8_t *data, uint16_t length)
 get the fifo data More...
 
uint8_t bmp384_set_fifo_watermark (bmp384_handle_t *handle, uint16_t watermark)
 set the fifo watermark More...
 
uint8_t bmp384_get_fifo_watermark (bmp384_handle_t *handle, uint16_t *watermark)
 get the fifo watermark More...
 
uint8_t bmp384_set_fifo (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo More...
 
uint8_t bmp384_get_fifo (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo status More...
 
uint8_t bmp384_set_fifo_stop_on_full (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo stopping on full More...
 
uint8_t bmp384_get_fifo_stop_on_full (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo stopping on full status More...
 
uint8_t bmp384_set_fifo_sensortime_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo sensor time on More...
 
uint8_t bmp384_get_fifo_sensortime_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo sensor time on status More...
 
uint8_t bmp384_set_fifo_pressure_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo pressure on More...
 
uint8_t bmp384_get_fifo_pressure_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo pressure on status More...
 
uint8_t bmp384_set_fifo_temperature_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo temperature on More...
 
uint8_t bmp384_get_fifo_temperature_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo temperature on status More...
 
uint8_t bmp384_set_fifo_subsampling (bmp384_handle_t *handle, uint8_t subsample)
 set the fifo subsampling More...
 
uint8_t bmp384_get_fifo_subsampling (bmp384_handle_t *handle, uint8_t *subsample)
 get the fifo subsampling More...
 
uint8_t bmp384_set_fifo_data_source (bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
 set the fifo data source More...
 
uint8_t bmp384_get_fifo_data_source (bmp384_handle_t *handle, bmp384_fifo_data_source_t *source)
 get the fifo data source More...
 
uint8_t bmp384_flush_fifo (bmp384_handle_t *handle)
 flush the fifo More...
 
uint8_t bmp384_read_fifo (bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
 read the fifo More...
 
uint8_t bmp384_fifo_parse (bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
 parse the fifo data More...
 
uint8_t bmp384_set_reg (bmp384_handle_t *handle, uint8_t reg, uint8_t value)
 set the chip register More...
 
uint8_t bmp384_get_reg (bmp384_handle_t *handle, uint8_t reg, uint8_t *value)
 get the chip register More...
 
uint8_t bmp384_info (bmp384_info_t *info)
 get chip's information
uint8_t bmp384_set_addr_pin (bmp384_handle_t *handle, bmp384_address_t addr_pin)
 set the iic address pin
uint8_t bmp384_get_addr_pin (bmp384_handle_t *handle, bmp384_address_t *addr_pin)
 get the iic address pin
uint8_t bmp384_set_interface (bmp384_handle_t *handle, bmp384_interface_t interface)
 set the interface
uint8_t bmp384_get_interface (bmp384_handle_t *handle, bmp384_interface_t *interface)
 get the interface
uint8_t bmp384_irq_handler (bmp384_handle_t *handle)
 irq handler
uint8_t bmp384_init (bmp384_handle_t *handle)
 initialize the chip
uint8_t bmp384_deinit (bmp384_handle_t *handle)
 close the chip
uint8_t bmp384_read_temperature_pressure (bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
 read the temperature and pressure
uint8_t bmp384_read_temperature (bmp384_handle_t *handle, uint32_t *raw, float *c)
 read the temperature
uint8_t bmp384_read_pressure (bmp384_handle_t *handle, uint32_t *raw, float *pa)
 read the pressure
uint8_t bmp384_get_error (bmp384_handle_t *handle, uint8_t *err)
 get the error
uint8_t bmp384_get_status (bmp384_handle_t *handle, uint8_t *status)
 get the status
uint8_t bmp384_get_sensortime (bmp384_handle_t *handle, uint32_t *t)
 get the sensor time
uint8_t bmp384_get_event (bmp384_handle_t *handle, bmp384_event_t *event)
 get the event
uint8_t bmp384_set_spi_wire (bmp384_handle_t *handle, bmp384_spi_wire_t wire)
 set the spi wire
uint8_t bmp384_get_spi_wire (bmp384_handle_t *handle, bmp384_spi_wire_t *wire)
 get the spi wire
uint8_t bmp384_set_iic_watchdog_timer (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the iic watchdog timer
uint8_t bmp384_get_iic_watchdog_timer (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the iic watchdog timer status
uint8_t bmp384_set_iic_watchdog_period (bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
 set the iic watchdog period
uint8_t bmp384_get_iic_watchdog_period (bmp384_handle_t *handle, bmp384_iic_watchdog_period_t *period)
 get the iic watchdog period
uint8_t bmp384_set_pressure (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the pressure
uint8_t bmp384_get_pressure (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the pressure status
uint8_t bmp384_set_temperature (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the temperature
uint8_t bmp384_get_temperature (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the temperature status
uint8_t bmp384_set_mode (bmp384_handle_t *handle, bmp384_mode_t mode)
 set the chip mode
uint8_t bmp384_get_mode (bmp384_handle_t *handle, bmp384_mode_t *mode)
 get the chip mode
uint8_t bmp384_set_pressure_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
 set the pressure oversampling
uint8_t bmp384_get_pressure_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
 get the pressure oversampling
uint8_t bmp384_set_temperature_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
 set the temperature oversampling
uint8_t bmp384_get_temperature_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
 get the temperature oversampling
uint8_t bmp384_set_odr (bmp384_handle_t *handle, bmp384_odr_t odr)
 set the output data rate
uint8_t bmp384_get_odr (bmp384_handle_t *handle, bmp384_odr_t *odr)
 get the output data rate
uint8_t bmp384_set_filter_coefficient (bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
 set the filter coefficient
uint8_t bmp384_get_filter_coefficient (bmp384_handle_t *handle, bmp384_filter_coefficient_t *coefficient)
 get the filter coefficient
uint8_t bmp384_softreset (bmp384_handle_t *handle)
 soft reset
uint8_t bmp384_extmode_en_middle (bmp384_handle_t *handle)
 extmode enable middle
uint8_t bmp384_get_interrupt_status (bmp384_handle_t *handle, uint8_t *status)
 get the interrupt status
uint8_t bmp384_set_interrupt_pin_type (bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
 set the interrupt pin type
uint8_t bmp384_get_interrupt_pin_type (bmp384_handle_t *handle, bmp384_interrupt_pin_type_t *pin_type)
 get the interrupt pin type
uint8_t bmp384_set_interrupt_active_level (bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
 set the interrupt active level
uint8_t bmp384_get_interrupt_active_level (bmp384_handle_t *handle, bmp384_interrupt_active_level_t *level)
 get the interrupt active level
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable latching interrupt pin and interrupt status
uint8_t bmp384_get_latch_interrupt_pin_and_interrupt_status (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get latching interrupt pin and interrupt status
uint8_t bmp384_set_interrupt_fifo_watermark (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo watermark interrupt
uint8_t bmp384_get_interrupt_fifo_watermark (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt fifo watermark
uint8_t bmp384_set_interrupt_fifo_full (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo full interrupt
uint8_t bmp384_get_interrupt_fifo_full (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt fifo full
uint8_t bmp384_set_interrupt_data_ready (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the data ready interrupt
uint8_t bmp384_get_interrupt_data_ready (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt data ready status
uint8_t bmp384_get_fifo_length (bmp384_handle_t *handle, uint16_t *length)
 get the fifo length
uint8_t bmp384_get_fifo_data (bmp384_handle_t *handle, uint8_t *data, uint16_t length)
 get the fifo data
uint8_t bmp384_set_fifo_watermark (bmp384_handle_t *handle, uint16_t watermark)
 set the fifo watermark
uint8_t bmp384_get_fifo_watermark (bmp384_handle_t *handle, uint16_t *watermark)
 get the fifo watermark
uint8_t bmp384_set_fifo (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo
uint8_t bmp384_get_fifo (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo status
uint8_t bmp384_set_fifo_stop_on_full (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo stopping on full
uint8_t bmp384_get_fifo_stop_on_full (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo stopping on full status
uint8_t bmp384_set_fifo_sensortime_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo sensor time on
uint8_t bmp384_get_fifo_sensortime_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo sensor time on status
uint8_t bmp384_set_fifo_pressure_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo pressure on
uint8_t bmp384_get_fifo_pressure_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo pressure on status
uint8_t bmp384_set_fifo_temperature_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo temperature on
uint8_t bmp384_get_fifo_temperature_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo temperature on status
uint8_t bmp384_set_fifo_subsampling (bmp384_handle_t *handle, uint8_t subsample)
 set the fifo subsampling
uint8_t bmp384_get_fifo_subsampling (bmp384_handle_t *handle, uint8_t *subsample)
 get the fifo subsampling
uint8_t bmp384_set_fifo_data_source (bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
 set the fifo data source
uint8_t bmp384_get_fifo_data_source (bmp384_handle_t *handle, bmp384_fifo_data_source_t *source)
 get the fifo data source
uint8_t bmp384_flush_fifo (bmp384_handle_t *handle)
 flush the fifo
uint8_t bmp384_read_fifo (bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
 read the fifo
uint8_t bmp384_fifo_parse (bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
 parse the fifo data
uint8_t bmp384_set_reg (bmp384_handle_t *handle, uint8_t reg, uint8_t value)
 set the chip register
uint8_t bmp384_get_reg (bmp384_handle_t *handle, uint8_t reg, uint8_t *value)
 get the chip register
-

Detailed Description

+

Detailed Description

driver bmp384 header file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -540,11 +442,19 @@

history

Definition in file driver_bmp384.h.

+ +
diff --git a/doc/html/driver__bmp384_8h__dep__incl.md5 b/doc/html/driver__bmp384_8h__dep__incl.md5 new file mode 100644 index 0000000..143b0ac --- /dev/null +++ b/doc/html/driver__bmp384_8h__dep__incl.md5 @@ -0,0 +1 @@ +f8ac5ac4aaa10036beaf508f99daa4d0 \ No newline at end of file diff --git a/doc/html/driver__bmp384_8h__dep__incl.svg b/doc/html/driver__bmp384_8h__dep__incl.svg new file mode 100644 index 0000000..7dc41b1 --- /dev/null +++ b/doc/html/driver__bmp384_8h__dep__incl.svg @@ -0,0 +1,381 @@ + + + + + + +src/driver_bmp384.h + + +Node1 + + +src/driver_bmp384.h + + + + + +Node2 + + +interface/driver_bmp384 +_interface.h + + + + + +Node1->Node2 + + + + + + + + +Node20 + + +src/driver_bmp384.c + + + + + +Node1->Node20 + + + + + + + + +Node3 + + +example/driver_bmp384 +_basic.h + + + + + +Node2->Node3 + + + + + + + + +Node5 + + +example/driver_bmp384 +_fifo.h + + + + + +Node2->Node5 + + + + + + + + +Node7 + + +example/driver_bmp384 +_interrupt.h + + + + + +Node2->Node7 + + + + + + + + +Node9 + + +example/driver_bmp384 +_shot.h + + + + + +Node2->Node9 + + + + + + + + +Node11 + + +interface/driver_bmp384 +_interface_template.c + + + + + +Node2->Node11 + + + + + + + + +Node12 + + +test/driver_bmp384 +_fifo_test.h + + + + + +Node2->Node12 + + + + + + + + +Node14 + + +test/driver_bmp384 +_interrupt_test.h + + + + + +Node2->Node14 + + + + + + + + +Node16 + + +test/driver_bmp384 +_read_test.h + + + + + +Node2->Node16 + + + + + + + + +Node18 + + +test/driver_bmp384 +_register_test.h + + + + + +Node2->Node18 + + + + + + + + +Node4 + + +example/driver_bmp384 +_basic.c + + + + + +Node3->Node4 + + + + + + + + +Node6 + + +example/driver_bmp384 +_fifo.c + + + + + +Node5->Node6 + + + + + + + + +Node8 + + +example/driver_bmp384 +_interrupt.c + + + + + +Node7->Node8 + + + + + + + + +Node10 + + +example/driver_bmp384 +_shot.c + + + + + +Node9->Node10 + + + + + + + + +Node13 + + +test/driver_bmp384 +_fifo_test.c + + + + + +Node12->Node13 + + + + + + + + +Node15 + + +test/driver_bmp384 +_interrupt_test.c + + + + + +Node14->Node15 + + + + + + + + +Node17 + + +test/driver_bmp384 +_read_test.c + + + + + +Node16->Node17 + + + + + + + + +Node19 + + +test/driver_bmp384 +_register_test.c + + + + + +Node18->Node19 + + + + + + + + diff --git a/doc/html/driver__bmp384_8h__incl.md5 b/doc/html/driver__bmp384_8h__incl.md5 new file mode 100644 index 0000000..e770019 --- /dev/null +++ b/doc/html/driver__bmp384_8h__incl.md5 @@ -0,0 +1 @@ +fe34b6f1f278d88bfdf36546faa34bd1 \ No newline at end of file diff --git a/doc/html/driver__bmp384_8h__incl.svg b/doc/html/driver__bmp384_8h__incl.svg new file mode 100644 index 0000000..07e6b09 --- /dev/null +++ b/doc/html/driver__bmp384_8h__incl.svg @@ -0,0 +1,75 @@ + + + + + + +src/driver_bmp384.h + + +Node1 + + +src/driver_bmp384.h + + + + + +Node2 + + +stdint.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +stdio.h + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +string.h + + + + + +Node1->Node4 + + + + + + + + diff --git a/doc/html/driver__bmp384_8h_source.html b/doc/html/driver__bmp384_8h_source.html index c525b8b..b86c7ed 100644 --- a/doc/html/driver__bmp384_8h_source.html +++ b/doc/html/driver__bmp384_8h_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: src/driver_bmp384.h Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384.h
+
driver_bmp384.h
-Go to the documentation of this file.
1 
-
37 #ifndef DRIVER_BMP384_H
-
38 #define DRIVER_BMP384_H
-
39 
-
40 #include <stdint.h>
-
41 #include <stdio.h>
-
42 #include <string.h>
-
43 
-
44 #ifdef __cplusplus
-
45 extern "C"{
-
46 #endif
-
47 
-
62 typedef enum
-
63 {
- - - -
67 
-
71 typedef enum
-
72 {
-
73  BMP384_ADDRESS_ADO_LOW = (0x76 << 1),
-
74  BMP384_ADDRESS_ADO_HIGH = (0x77 << 1),
- -
76 
-
80 typedef enum
-
81 {
- - - -
85 
-
89 typedef enum
-
90 {
-
91  BMP384_ERROR_FATAL = (1 << 0),
-
92  BMP384_ERROR_CMD = (1 << 1),
-
93  BMP384_ERROR_CONF = (1 << 2),
- -
95 
-
99 typedef enum
-
100 {
- - - - -
105 
-
109 typedef enum
-
110 {
-
111  BMP384_EVENT_NONE = (0 << 0),
- - -
114 
-
118 typedef enum
-
119 {
- - - -
123 
-
127 typedef enum
-
128 {
- - - - -
133 
-
137 typedef enum
-
138 {
- - - -
142 
-
146 typedef enum
-
147 {
- - - -
151 
-
155 typedef enum
-
156 {
- - - -
160 
-
164 typedef enum
-
165 {
- - - -
169 
-
173 typedef enum
-
174 {
- - - -
178 } bmp384_mode_t;
-
179 
-
183 typedef enum
-
184 {
- - - - - - - -
192 
-
196 typedef enum
-
197 {
- - - - - - - - - - - - - - - - - - -
216 } bmp384_odr_t;
-
217 
-
221 typedef enum
-
222 {
- - - - - - - - - -
232 
-
236 typedef enum
-
237 {
- - - - -
242 
-
246 typedef struct bmp384_frame_s
-
247 {
- -
249  uint32_t raw;
-
250  float data;
- -
252 
-
256 typedef struct bmp384_handle_s
-
257 {
-
258  uint8_t iic_addr;
-
259  uint8_t buf[512 + 1];
-
260  uint8_t (*iic_init)(void);
-
261  uint8_t (*iic_deinit)(void);
-
262  uint8_t (*iic_read)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
-
263  uint8_t (*iic_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
-
264  uint8_t (*spi_init)(void);
-
265  uint8_t (*spi_deinit)(void);
-
266  uint8_t (*spi_read)(uint8_t reg, uint8_t *buf, uint16_t len);
-
267  uint8_t (*spi_write)(uint8_t reg, uint8_t *buf, uint16_t len);
-
268  void (*receive_callback)(uint8_t type);
-
269  void (*delay_ms)(uint32_t ms);
-
270  void (*debug_print)(const char *const fmt, ...);
-
271  uint8_t inited;
-
272  uint8_t iic_spi;
-
273  uint16_t t1;
-
274  uint16_t t2;
-
275  int8_t t3;
-
276  int16_t p1;
-
277  int16_t p2;
-
278  int8_t p3;
-
279  int8_t p4;
-
280  uint16_t p5;
-
281  uint16_t p6;
-
282  int8_t p7;
-
283  int8_t p8;
-
284  int16_t p9;
-
285  int8_t p10;
-
286  int8_t p11;
-
287  int64_t t_fine;
- -
289 
-
293 typedef struct bmp384_info_s
-
294 {
-
295  char chip_name[32];
-
296  char manufacturer_name[32];
-
297  char interface[8];
- - - - - -
303  uint32_t driver_version;
- -
305 
-
323 #define DRIVER_BMP384_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
-
324 
-
331 #define DRIVER_BMP384_LINK_IIC_INIT(HANDLE, FUC) (HANDLE)->iic_init = FUC
-
332 
-
339 #define DRIVER_BMP384_LINK_IIC_DEINIT(HANDLE, FUC) (HANDLE)->iic_deinit = FUC
-
340 
-
347 #define DRIVER_BMP384_LINK_IIC_READ(HANDLE, FUC) (HANDLE)->iic_read = FUC
-
348 
-
355 #define DRIVER_BMP384_LINK_IIC_WRITE(HANDLE, FUC) (HANDLE)->iic_write = FUC
-
356 
-
363 #define DRIVER_BMP384_LINK_SPI_INIT(HANDLE, FUC) (HANDLE)->spi_init = FUC
-
364 
-
371 #define DRIVER_BMP384_LINK_SPI_DEINIT(HANDLE, FUC) (HANDLE)->spi_deinit = FUC
-
372 
-
379 #define DRIVER_BMP384_LINK_SPI_READ(HANDLE, FUC) (HANDLE)->spi_read = FUC
-
380 
-
387 #define DRIVER_BMP384_LINK_SPI_WRITE(HANDLE, FUC) (HANDLE)->spi_write = FUC
-
388 
-
395 #define DRIVER_BMP384_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
-
396 
-
403 #define DRIVER_BMP384_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
-
404 
-
411 #define DRIVER_BMP384_LINK_RECEIVE_CALLBACK(HANDLE, FUC) (HANDLE)->receive_callback = FUC
-
412 
-
432 uint8_t bmp384_info(bmp384_info_t *info);
-
433 
-
443 uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin);
-
444 
-
454 uint8_t bmp384_get_addr_pin(bmp384_handle_t *handle, bmp384_address_t *addr_pin);
-
455 
-
465 uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface);
-
466 
-
476 uint8_t bmp384_get_interface(bmp384_handle_t *handle, bmp384_interface_t *interface);
-
477 
-
488 uint8_t bmp384_irq_handler(bmp384_handle_t *handle);
-
489 
-
503 uint8_t bmp384_init(bmp384_handle_t *handle);
-
504 
-
516 uint8_t bmp384_deinit(bmp384_handle_t *handle);
-
517 
-
532 uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c,
-
533  uint32_t *pressure_raw, float *pressure_pa);
-
534 
-
547 uint8_t bmp384_read_temperature(bmp384_handle_t *handle, uint32_t *raw, float *c);
-
548 
-
561 uint8_t bmp384_read_pressure(bmp384_handle_t *handle, uint32_t *raw, float *pa);
-
562 
-
574 uint8_t bmp384_get_error(bmp384_handle_t *handle, uint8_t *err);
-
575 
-
587 uint8_t bmp384_get_status(bmp384_handle_t *handle, uint8_t *status);
-
588 
-
600 uint8_t bmp384_get_sensortime(bmp384_handle_t *handle, uint32_t *t);
-
601 
-
613 uint8_t bmp384_get_event(bmp384_handle_t *handle, bmp384_event_t *event);
-
614 
- -
627 
- -
640 
- -
653 
- -
666 
- -
679 
- -
692 
-
704 uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable);
-
705 
-
717 uint8_t bmp384_get_pressure(bmp384_handle_t *handle, bmp384_bool_t *enable);
-
718 
-
730 uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable);
-
731 
-
743 uint8_t bmp384_get_temperature(bmp384_handle_t *handle, bmp384_bool_t *enable);
-
744 
-
756 uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode);
-
757 
-
769 uint8_t bmp384_get_mode(bmp384_handle_t *handle, bmp384_mode_t *mode);
-
770 
- -
783 
- -
796 
- -
809 
- -
822 
-
834 uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr);
-
835 
-
847 uint8_t bmp384_get_odr(bmp384_handle_t *handle, bmp384_odr_t *odr);
-
848 
- -
861 
- -
874 
-
885 uint8_t bmp384_softreset(bmp384_handle_t *handle);
-
886 
- -
898 
-
921 uint8_t bmp384_get_interrupt_status(bmp384_handle_t *handle, uint8_t *status);
-
922 
- -
935 
- -
948 
- -
961 
- -
974 
- -
987 
- -
1000 
- -
1013 
- -
1026 
- -
1039 
- -
1052 
- -
1065 
- -
1078 
-
1101 uint8_t bmp384_get_fifo_length(bmp384_handle_t *handle, uint16_t *length);
-
1102 
-
1115 uint8_t bmp384_get_fifo_data(bmp384_handle_t *handle, uint8_t *data, uint16_t length);
-
1116 
-
1128 uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark);
-
1129 
-
1141 uint8_t bmp384_get_fifo_watermark(bmp384_handle_t *handle, uint16_t *watermark);
-
1142 
-
1154 uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable);
-
1155 
-
1167 uint8_t bmp384_get_fifo(bmp384_handle_t *handle, bmp384_bool_t *enable);
-
1168 
- -
1181 
- -
1194 
- -
1207 
- -
1220 
- -
1233 
- -
1246 
- -
1259 
- -
1272 
-
1284 uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample);
-
1285 
-
1297 uint8_t bmp384_get_fifo_subsampling(bmp384_handle_t *handle, uint8_t *subsample);
-
1298 
- -
1311 
- -
1324 
-
1335 uint8_t bmp384_flush_fifo(bmp384_handle_t *handle);
-
1336 
-
1349 uint8_t bmp384_read_fifo(bmp384_handle_t *handle, uint8_t *buf, uint16_t *len);
-
1350 
-
1365 uint8_t bmp384_fifo_parse(bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len);
-
1366 
-
1390 uint8_t bmp384_set_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t value);
-
1391 
-
1404 uint8_t bmp384_get_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t *value);
-
1405 
-
1414 #ifdef __cplusplus
-
1415 }
-
1416 #endif
-
1417 
-
1418 #endif
-
bmp384_error_t
bmp384 error enumeration definition
Definition: driver_bmp384.h:90
-
uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
read the temperature and pressure
-
uint8_t bmp384_get_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the iic watchdog timer status
-
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
-
bmp384_event_t
bmp384 event enumeration definition
-
uint8_t bmp384_get_addr_pin(bmp384_handle_t *handle, bmp384_address_t *addr_pin)
get the iic address pin
-
uint8_t bmp384_get_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t *wire)
get the spi wire
-
bmp384_mode_t
bmp384 mode enumeration definition
-
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
uint8_t bmp384_softreset(bmp384_handle_t *handle)
soft reset
-
uint8_t bmp384_get_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t *coefficient)
get the filter coefficient
-
uint8_t bmp384_extmode_en_middle(bmp384_handle_t *handle)
extmode enable middle
-
uint8_t bmp384_get_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
get the pressure oversampling
-
bmp384_status_t
bmp384 status enumeration definition
-
bmp384_fifo_data_source_t
bmp384 fifo data source enumeration definition
-
uint8_t bmp384_get_pressure(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the pressure status
-
uint8_t bmp384_read_pressure(bmp384_handle_t *handle, uint32_t *raw, float *pa)
read the pressure
-
uint8_t bmp384_get_status(bmp384_handle_t *handle, uint8_t *status)
get the status
-
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
-
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
-
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
-
bmp384_spi_wire_t
bmp384 spi wire enumeration definition
-
bmp384_bool_t
bmp384 bool enumeration definition
Definition: driver_bmp384.h:81
-
uint8_t bmp384_get_sensortime(bmp384_handle_t *handle, uint32_t *t)
get the sensor time
-
bmp384_frame_type_t
bmp384 frame type enumeration definition
+Go to the documentation of this file.
1
+
36
+
37#ifndef DRIVER_BMP384_H
+
38#define DRIVER_BMP384_H
+
39
+
40#include <stdint.h>
+
41#include <stdio.h>
+
42#include <string.h>
+
43
+
44#ifdef __cplusplus
+
45extern "C"{
+
46#endif
+
47
+
53
+
58
+
+
62typedef enum
+
63{
+ + + +
+
67
+
+
71typedef enum
+
72{
+
73 BMP384_ADDRESS_ADO_LOW = (0x76 << 1),
+ + +
+
76
+
+
80typedef enum
+
81{
+ + + +
+
85
+
+
89typedef enum
+
90{
+
91 BMP384_ERROR_FATAL = (1 << 0),
+
92 BMP384_ERROR_CMD = (1 << 1),
+
93 BMP384_ERROR_CONF = (1 << 2),
+ +
+
95
+
+
99typedef enum
+
100{
+ + + + +
+
105
+
+
109typedef enum
+
110{
+
111 BMP384_EVENT_NONE = (0 << 0),
+ + +
+
114
+ +
123
+ +
133
+ +
142
+ +
151
+
+
155typedef enum
+
156{
+ + + +
+
160
+ +
169
+
+
173typedef enum
+
174{
+ + + + +
+
179
+ +
192
+ +
217
+ +
232
+ +
242
+
+
246typedef struct bmp384_frame_s
+
247{
+ +
249 uint32_t raw;
+
250 float data;
+ +
+
252
+
+
256typedef struct bmp384_handle_s
+
257{
+
258 uint8_t iic_addr;
+
259 uint8_t buf[512 + 1];
+
260 uint8_t (*iic_init)(void);
+
261 uint8_t (*iic_deinit)(void);
+
262 uint8_t (*iic_read)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
+
263 uint8_t (*iic_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
+
264 uint8_t (*spi_init)(void);
+
265 uint8_t (*spi_deinit)(void);
+
266 uint8_t (*spi_read)(uint8_t reg, uint8_t *buf, uint16_t len);
+
267 uint8_t (*spi_write)(uint8_t reg, uint8_t *buf, uint16_t len);
+
268 void (*receive_callback)(uint8_t type);
+
269 void (*delay_ms)(uint32_t ms);
+
270 void (*debug_print)(const char *const fmt, ...);
+
271 uint8_t inited;
+
272 uint8_t iic_spi;
+
273 uint16_t t1;
+
274 uint16_t t2;
+
275 int8_t t3;
+
276 int16_t p1;
+
277 int16_t p2;
+
278 int8_t p3;
+
279 int8_t p4;
+
280 uint16_t p5;
+
281 uint16_t p6;
+
282 int8_t p7;
+
283 int8_t p8;
+
284 int16_t p9;
+
285 int8_t p10;
+
286 int8_t p11;
+
287 int64_t t_fine;
+ +
+
289
+ +
305
+
309
+
316
+
323#define DRIVER_BMP384_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
+
324
+
331#define DRIVER_BMP384_LINK_IIC_INIT(HANDLE, FUC) (HANDLE)->iic_init = FUC
+
332
+
339#define DRIVER_BMP384_LINK_IIC_DEINIT(HANDLE, FUC) (HANDLE)->iic_deinit = FUC
+
340
+
347#define DRIVER_BMP384_LINK_IIC_READ(HANDLE, FUC) (HANDLE)->iic_read = FUC
+
348
+
355#define DRIVER_BMP384_LINK_IIC_WRITE(HANDLE, FUC) (HANDLE)->iic_write = FUC
+
356
+
363#define DRIVER_BMP384_LINK_SPI_INIT(HANDLE, FUC) (HANDLE)->spi_init = FUC
+
364
+
371#define DRIVER_BMP384_LINK_SPI_DEINIT(HANDLE, FUC) (HANDLE)->spi_deinit = FUC
+
372
+
379#define DRIVER_BMP384_LINK_SPI_READ(HANDLE, FUC) (HANDLE)->spi_read = FUC
+
380
+
387#define DRIVER_BMP384_LINK_SPI_WRITE(HANDLE, FUC) (HANDLE)->spi_write = FUC
+
388
+
395#define DRIVER_BMP384_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
+
396
+
403#define DRIVER_BMP384_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
+
404
+
411#define DRIVER_BMP384_LINK_RECEIVE_CALLBACK(HANDLE, FUC) (HANDLE)->receive_callback = FUC
+
412
+
416
+
423
+
432uint8_t bmp384_info(bmp384_info_t *info);
+
433
+
443uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin);
+
444
+
454uint8_t bmp384_get_addr_pin(bmp384_handle_t *handle, bmp384_address_t *addr_pin);
+
455
+ +
466
+
476uint8_t bmp384_get_interface(bmp384_handle_t *handle, bmp384_interface_t *interface);
+
477
+
488uint8_t bmp384_irq_handler(bmp384_handle_t *handle);
+
489
+
503uint8_t bmp384_init(bmp384_handle_t *handle);
+
504
+
516uint8_t bmp384_deinit(bmp384_handle_t *handle);
+
517
+
532uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c,
+
533 uint32_t *pressure_raw, float *pressure_pa);
+
534
+
547uint8_t bmp384_read_temperature(bmp384_handle_t *handle, uint32_t *raw, float *c);
+
548
+
561uint8_t bmp384_read_pressure(bmp384_handle_t *handle, uint32_t *raw, float *pa);
+
562
+
574uint8_t bmp384_get_error(bmp384_handle_t *handle, uint8_t *err);
+
575
+
587uint8_t bmp384_get_status(bmp384_handle_t *handle, uint8_t *status);
+
588
+
600uint8_t bmp384_get_sensortime(bmp384_handle_t *handle, uint32_t *t);
+
601
+
613uint8_t bmp384_get_event(bmp384_handle_t *handle, bmp384_event_t *event);
+
614
+ +
627
+ +
640
+ +
653
+ +
666
+ +
679
+ +
692
+
704uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable);
+
705
+
717uint8_t bmp384_get_pressure(bmp384_handle_t *handle, bmp384_bool_t *enable);
+
718
+ +
731
+ +
744
+
756uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode);
+
757
+
769uint8_t bmp384_get_mode(bmp384_handle_t *handle, bmp384_mode_t *mode);
+
770
+ +
783
+ +
796
+ +
809
+ +
822
+
834uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr);
+
835
+
847uint8_t bmp384_get_odr(bmp384_handle_t *handle, bmp384_odr_t *odr);
+
848
+ +
861
+ +
874
+
885uint8_t bmp384_softreset(bmp384_handle_t *handle);
+
886
+ +
898
+
902
+
909
+
921uint8_t bmp384_get_interrupt_status(bmp384_handle_t *handle, uint8_t *status);
+
922
+ +
935
+ +
948
+ +
961
+ +
974
+ +
987
+ +
1000
+ +
1013
+ +
1026
+ +
1039
+ +
1052
+ +
1065
+ +
1078
+
1082
+
1089
+
1101uint8_t bmp384_get_fifo_length(bmp384_handle_t *handle, uint16_t *length);
+
1102
+
1115uint8_t bmp384_get_fifo_data(bmp384_handle_t *handle, uint8_t *data, uint16_t length);
+
1116
+
1128uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark);
+
1129
+
1141uint8_t bmp384_get_fifo_watermark(bmp384_handle_t *handle, uint16_t *watermark);
+
1142
+
1154uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable);
+
1155
+
1167uint8_t bmp384_get_fifo(bmp384_handle_t *handle, bmp384_bool_t *enable);
+
1168
+ +
1181
+ +
1194
+ +
1207
+ +
1220
+ +
1233
+ +
1246
+ +
1259
+ +
1272
+
1284uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample);
+
1285
+
1297uint8_t bmp384_get_fifo_subsampling(bmp384_handle_t *handle, uint8_t *subsample);
+
1298
+ +
1311
+ +
1324
+
1335uint8_t bmp384_flush_fifo(bmp384_handle_t *handle);
+
1336
+
1349uint8_t bmp384_read_fifo(bmp384_handle_t *handle, uint8_t *buf, uint16_t *len);
+
1350
+
1365uint8_t bmp384_fifo_parse(bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len);
+
1366
+
1370
+
1377
+
1390uint8_t bmp384_set_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t value);
+
1391
+
1404uint8_t bmp384_get_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t *value);
+
1405
+
1409
+
1413
+
1414#ifdef __cplusplus
+
1415}
+
1416#endif
+
1417
+
1418#endif
+
bmp384_error_t
bmp384 error enumeration definition
+
uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
read the temperature and pressure
+
uint8_t bmp384_get_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the iic watchdog timer status
+
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
+
bmp384_event_t
bmp384 event enumeration definition
+
uint8_t bmp384_get_addr_pin(bmp384_handle_t *handle, bmp384_address_t *addr_pin)
get the iic address pin
+
uint8_t bmp384_get_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t *wire)
get the spi wire
+
bmp384_mode_t
bmp384 mode enumeration definition
+
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
+
bmp384_interface_t
bmp384 interface enumeration definition
+
uint8_t bmp384_softreset(bmp384_handle_t *handle)
soft reset
+
uint8_t bmp384_get_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t *coefficient)
get the filter coefficient
+
uint8_t bmp384_extmode_en_middle(bmp384_handle_t *handle)
extmode enable middle
+
uint8_t bmp384_get_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
get the pressure oversampling
+
bmp384_status_t
bmp384 status enumeration definition
+
bmp384_fifo_data_source_t
bmp384 fifo data source enumeration definition
+
uint8_t bmp384_get_pressure(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the pressure status
+
uint8_t bmp384_read_pressure(bmp384_handle_t *handle, uint32_t *raw, float *pa)
read the pressure
+
uint8_t bmp384_get_status(bmp384_handle_t *handle, uint8_t *status)
get the status
+
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
+
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
+
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
+
bmp384_spi_wire_t
bmp384 spi wire enumeration definition
+
bmp384_bool_t
bmp384 bool enumeration definition
+
uint8_t bmp384_get_sensortime(bmp384_handle_t *handle, uint32_t *t)
get the sensor time
+
bmp384_frame_type_t
bmp384 frame type enumeration definition
struct bmp384_frame_s bmp384_frame_t
bmp384 frame structure definition
-
bmp384_interrupt_status_t
bmp384 interrupt status enumeration definition
-
uint8_t bmp384_read_temperature(bmp384_handle_t *handle, uint32_t *raw, float *c)
read the temperature
-
bmp384_interrupt_pin_type_t
bmp384 interrupt pin type enumeration definition
-
uint8_t bmp384_get_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
get the temperature oversampling
-
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
-
uint8_t bmp384_get_interface(bmp384_handle_t *handle, bmp384_interface_t *interface)
get the interface
-
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
-
uint8_t bmp384_get_event(bmp384_handle_t *handle, bmp384_event_t *event)
get the event
-
bmp384_odr_t
bmp384 output data rate enumeration definition
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
-
uint8_t bmp384_info(bmp384_info_t *info)
get chip's information
-
bmp384_filter_coefficient_t
bmp384 filter coefficient enumeration definition
-
uint8_t bmp384_get_mode(bmp384_handle_t *handle, bmp384_mode_t *mode)
get the chip mode
+
bmp384_interrupt_status_t
bmp384 interrupt status enumeration definition
+
uint8_t bmp384_read_temperature(bmp384_handle_t *handle, uint32_t *raw, float *c)
read the temperature
+
bmp384_interrupt_pin_type_t
bmp384 interrupt pin type enumeration definition
+
uint8_t bmp384_get_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
get the temperature oversampling
+
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
+
uint8_t bmp384_get_interface(bmp384_handle_t *handle, bmp384_interface_t *interface)
get the interface
+
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
+
uint8_t bmp384_get_event(bmp384_handle_t *handle, bmp384_event_t *event)
get the event
+
bmp384_odr_t
bmp384 output data rate enumeration definition
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
+
uint8_t bmp384_info(bmp384_info_t *info)
get chip's information
+
bmp384_filter_coefficient_t
bmp384 filter coefficient enumeration definition
+
uint8_t bmp384_get_mode(bmp384_handle_t *handle, bmp384_mode_t *mode)
get the chip mode
struct bmp384_info_s bmp384_info_t
bmp384 information structure definition
-
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
-
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
-
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
-
bmp384_iic_watchdog_period_t
bmp384 iic watchdog period enumeration definition
-
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
-
uint8_t bmp384_get_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t *period)
get the iic watchdog period
-
uint8_t bmp384_get_odr(bmp384_handle_t *handle, bmp384_odr_t *odr)
get the output data rate
-
bmp384_oversampling_t
bmp384 oversampling enumeration definition
-
uint8_t bmp384_irq_handler(bmp384_handle_t *handle)
irq handler
-
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
+
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
+
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
+
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
+
bmp384_iic_watchdog_period_t
bmp384 iic watchdog period enumeration definition
+
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
+
uint8_t bmp384_get_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t *period)
get the iic watchdog period
+
uint8_t bmp384_get_odr(bmp384_handle_t *handle, bmp384_odr_t *odr)
get the output data rate
+
bmp384_oversampling_t
bmp384 oversampling enumeration definition
+
uint8_t bmp384_irq_handler(bmp384_handle_t *handle)
irq handler
+
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
struct bmp384_handle_s bmp384_handle_t
bmp384 handle structure definition
-
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
-
uint8_t bmp384_get_temperature(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the temperature status
-
uint8_t bmp384_get_error(bmp384_handle_t *handle, uint8_t *err)
get the error
-
bmp384_interrupt_active_level_t
bmp384 interrupt active level enumeration definition
-
@ BMP384_ERROR_FATAL
Definition: driver_bmp384.h:91
-
@ BMP384_ERROR_CMD
Definition: driver_bmp384.h:92
-
@ BMP384_ERROR_CONF
Definition: driver_bmp384.h:93
-
@ BMP384_EVENT_NONE
-
@ BMP384_EVENT_POWER_UP_OR_SOFTRESET
-
@ BMP384_MODE_FORCED_MODE
-
@ BMP384_MODE_NORMAL_MODE
-
@ BMP384_MODE_SLEEP_MODE
-
@ BMP384_INTERFACE_SPI
Definition: driver_bmp384.h:65
-
@ BMP384_INTERFACE_IIC
Definition: driver_bmp384.h:64
-
@ BMP384_STATUS_TEMP_READY
-
@ BMP384_STATUS_COMMAND_READY
-
@ BMP384_STATUS_PRESS_READY
-
@ BMP384_FIFO_DATA_SOURCE_UNFILTERED
-
@ BMP384_FIFO_DATA_SOURCE_FILTERED
-
@ BMP384_SPI_WIRE_3
-
@ BMP384_SPI_WIRE_4
-
@ BMP384_BOOL_TRUE
Definition: driver_bmp384.h:83
-
@ BMP384_BOOL_FALSE
Definition: driver_bmp384.h:82
-
@ BMP384_FRAME_TYPE_SENSORTIME
-
@ BMP384_FRAME_TYPE_PRESSURE
-
@ BMP384_FRAME_TYPE_TEMPERATURE
-
@ BMP384_INTERRUPT_STATUS_FIFO_WATERMARK
-
@ BMP384_INTERRUPT_STATUS_FIFO_FULL
-
@ BMP384_INTERRUPT_STATUS_DATA_READY
-
@ BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
-
@ BMP384_INTERRUPT_PIN_TYPE_OPEN_DRAIN
-
@ BMP384_ODR_6P25_HZ
-
@ BMP384_ODR_1P5_HZ
-
@ BMP384_ODR_100_HZ
-
@ BMP384_ODR_50_HZ
-
@ BMP384_ODR_0P003_HZ
-
@ BMP384_ODR_0P78_HZ
-
@ BMP384_ODR_0P05_HZ
-
@ BMP384_ODR_12P5_HZ
-
@ BMP384_ODR_0P006_HZ
-
@ BMP384_ODR_25_HZ
-
@ BMP384_ODR_0P02_HZ
-
@ BMP384_ODR_200_HZ
-
@ BMP384_ODR_0P39_HZ
-
@ BMP384_ODR_3P1_HZ
-
@ BMP384_ODR_0P2_HZ
-
@ BMP384_ODR_0P1_HZ
-
@ BMP384_ODR_0P01_HZ
-
@ BMP384_ODR_0P0015_HZ
-
@ BMP384_ADDRESS_ADO_LOW
Definition: driver_bmp384.h:73
-
@ BMP384_ADDRESS_ADO_HIGH
Definition: driver_bmp384.h:74
-
@ BMP384_FILTER_COEFFICIENT_31
-
@ BMP384_FILTER_COEFFICIENT_63
-
@ BMP384_FILTER_COEFFICIENT_127
-
@ BMP384_FILTER_COEFFICIENT_7
-
@ BMP384_FILTER_COEFFICIENT_15
-
@ BMP384_FILTER_COEFFICIENT_0
-
@ BMP384_FILTER_COEFFICIENT_3
-
@ BMP384_FILTER_COEFFICIENT_1
-
@ BMP384_IIC_WATCHDOG_PERIOD_1P25_MS
-
@ BMP384_IIC_WATCHDOG_PERIOD_40_MS
-
@ BMP384_OVERSAMPLING_x1
-
@ BMP384_OVERSAMPLING_x32
-
@ BMP384_OVERSAMPLING_x2
-
@ BMP384_OVERSAMPLING_x16
-
@ BMP384_OVERSAMPLING_x4
-
@ BMP384_OVERSAMPLING_x8
-
@ BMP384_INTERRUPT_ACTIVE_LEVEL_LOWER
-
@ BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
-
uint8_t bmp384_set_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t value)
set the chip register
-
uint8_t bmp384_get_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t *value)
get the chip register
-
uint8_t bmp384_fifo_parse(bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
parse the fifo data
-
uint8_t bmp384_get_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo pressure on status
-
uint8_t bmp384_set_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo pressure on
-
uint8_t bmp384_set_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
set the fifo data source
-
uint8_t bmp384_get_fifo_length(bmp384_handle_t *handle, uint16_t *length)
get the fifo length
-
uint8_t bmp384_set_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo stopping on full
-
uint8_t bmp384_set_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo sensor time on
-
uint8_t bmp384_get_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo temperature on status
-
uint8_t bmp384_read_fifo(bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
read the fifo
-
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
-
uint8_t bmp384_get_fifo(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo status
-
uint8_t bmp384_get_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo stopping on full status
-
uint8_t bmp384_get_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo sensor time on status
-
uint8_t bmp384_flush_fifo(bmp384_handle_t *handle)
flush the fifo
-
uint8_t bmp384_set_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo temperature on
-
uint8_t bmp384_get_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t *source)
get the fifo data source
-
uint8_t bmp384_get_fifo_watermark(bmp384_handle_t *handle, uint16_t *watermark)
get the fifo watermark
-
uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
set the fifo watermark
-
uint8_t bmp384_get_fifo_data(bmp384_handle_t *handle, uint8_t *data, uint16_t length)
get the fifo data
-
uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
set the fifo subsampling
-
uint8_t bmp384_get_fifo_subsampling(bmp384_handle_t *handle, uint8_t *subsample)
get the fifo subsampling
-
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
-
uint8_t bmp384_get_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t *level)
get the interrupt active level
-
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
-
uint8_t bmp384_get_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt fifo full
-
uint8_t bmp384_get_interrupt_status(bmp384_handle_t *handle, uint8_t *status)
get the interrupt status
-
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
-
uint8_t bmp384_get_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t *pin_type)
get the interrupt pin type
-
uint8_t bmp384_get_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt fifo watermark
-
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
-
uint8_t bmp384_get_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t *enable)
get latching interrupt pin and interrupt status
-
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
-
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
-
uint8_t bmp384_get_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt data ready status
-
bmp384 frame structure definition
- - -
bmp384_frame_type_t type
-
bmp384 handle structure definition
- - - - - - - -
uint8_t(* spi_init)(void)
-
void(* delay_ms)(uint32_t ms)
-
uint8_t(* spi_read)(uint8_t reg, uint8_t *buf, uint16_t len)
-
void(* receive_callback)(uint8_t type)
- -
uint8_t(* spi_write)(uint8_t reg, uint8_t *buf, uint16_t len)
- - - -
void(* debug_print)(const char *const fmt,...)
-
uint8_t buf[512+1]
-
uint8_t(* iic_init)(void)
-
uint8_t(* spi_deinit)(void)
- - -
uint8_t(* iic_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
- - -
uint8_t(* iic_read)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
- -
uint8_t(* iic_deinit)(void)
- - -
bmp384 information structure definition
-
float temperature_max
-
float supply_voltage_max_v
-
uint32_t driver_version
-
float temperature_min
-
float max_current_ma
-
char manufacturer_name[32]
-
float supply_voltage_min_v
-
char interface[8]
-
char chip_name[32]
+
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
+
uint8_t bmp384_get_temperature(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the temperature status
+
uint8_t bmp384_get_error(bmp384_handle_t *handle, uint8_t *err)
get the error
+
bmp384_interrupt_active_level_t
bmp384 interrupt active level enumeration definition
+
@ BMP384_ERROR_FATAL
+
@ BMP384_ERROR_CMD
+
@ BMP384_ERROR_CONF
+
@ BMP384_EVENT_NONE
+
@ BMP384_EVENT_POWER_UP_OR_SOFTRESET
+
@ BMP384_MODE_FORCED_MODE
+
@ BMP384_MODE_NORMAL_MODE
+
@ BMP384_MODE_SLEEP_MODE
+
@ BMP384_INTERFACE_SPI
+
@ BMP384_INTERFACE_IIC
+
@ BMP384_STATUS_TEMP_READY
+
@ BMP384_STATUS_COMMAND_READY
+
@ BMP384_STATUS_PRESS_READY
+
@ BMP384_FIFO_DATA_SOURCE_UNFILTERED
+
@ BMP384_FIFO_DATA_SOURCE_FILTERED
+
@ BMP384_SPI_WIRE_3
+
@ BMP384_SPI_WIRE_4
+
@ BMP384_BOOL_TRUE
+
@ BMP384_BOOL_FALSE
+
@ BMP384_FRAME_TYPE_SENSORTIME
+
@ BMP384_FRAME_TYPE_PRESSURE
+
@ BMP384_FRAME_TYPE_TEMPERATURE
+
@ BMP384_INTERRUPT_STATUS_FIFO_WATERMARK
+
@ BMP384_INTERRUPT_STATUS_FIFO_FULL
+
@ BMP384_INTERRUPT_STATUS_DATA_READY
+
@ BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
+
@ BMP384_INTERRUPT_PIN_TYPE_OPEN_DRAIN
+
@ BMP384_ODR_6P25_HZ
+
@ BMP384_ODR_1P5_HZ
+
@ BMP384_ODR_100_HZ
+
@ BMP384_ODR_50_HZ
+
@ BMP384_ODR_0P003_HZ
+
@ BMP384_ODR_0P78_HZ
+
@ BMP384_ODR_0P05_HZ
+
@ BMP384_ODR_12P5_HZ
+
@ BMP384_ODR_0P006_HZ
+
@ BMP384_ODR_25_HZ
+
@ BMP384_ODR_0P02_HZ
+
@ BMP384_ODR_200_HZ
+
@ BMP384_ODR_0P39_HZ
+
@ BMP384_ODR_3P1_HZ
+
@ BMP384_ODR_0P2_HZ
+
@ BMP384_ODR_0P1_HZ
+
@ BMP384_ODR_0P01_HZ
+
@ BMP384_ODR_0P0015_HZ
+
@ BMP384_ADDRESS_ADO_LOW
+
@ BMP384_ADDRESS_ADO_HIGH
+
@ BMP384_FILTER_COEFFICIENT_31
+
@ BMP384_FILTER_COEFFICIENT_63
+
@ BMP384_FILTER_COEFFICIENT_127
+
@ BMP384_FILTER_COEFFICIENT_7
+
@ BMP384_FILTER_COEFFICIENT_15
+
@ BMP384_FILTER_COEFFICIENT_0
+
@ BMP384_FILTER_COEFFICIENT_3
+
@ BMP384_FILTER_COEFFICIENT_1
+
@ BMP384_IIC_WATCHDOG_PERIOD_1P25_MS
+
@ BMP384_IIC_WATCHDOG_PERIOD_40_MS
+
@ BMP384_OVERSAMPLING_x1
+
@ BMP384_OVERSAMPLING_x32
+
@ BMP384_OVERSAMPLING_x2
+
@ BMP384_OVERSAMPLING_x16
+
@ BMP384_OVERSAMPLING_x4
+
@ BMP384_OVERSAMPLING_x8
+
@ BMP384_INTERRUPT_ACTIVE_LEVEL_LOWER
+
@ BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
+
uint8_t bmp384_set_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t value)
set the chip register
+
uint8_t bmp384_get_reg(bmp384_handle_t *handle, uint8_t reg, uint8_t *value)
get the chip register
+
uint8_t bmp384_fifo_parse(bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
parse the fifo data
+
uint8_t bmp384_get_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo pressure on status
+
uint8_t bmp384_set_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo pressure on
+
uint8_t bmp384_set_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
set the fifo data source
+
uint8_t bmp384_get_fifo_length(bmp384_handle_t *handle, uint16_t *length)
get the fifo length
+
uint8_t bmp384_set_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo stopping on full
+
uint8_t bmp384_set_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo sensor time on
+
uint8_t bmp384_get_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo temperature on status
+
uint8_t bmp384_read_fifo(bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
read the fifo
+
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
+
uint8_t bmp384_get_fifo(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo status
+
uint8_t bmp384_get_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo stopping on full status
+
uint8_t bmp384_get_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo sensor time on status
+
uint8_t bmp384_flush_fifo(bmp384_handle_t *handle)
flush the fifo
+
uint8_t bmp384_set_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo temperature on
+
uint8_t bmp384_get_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t *source)
get the fifo data source
+
uint8_t bmp384_get_fifo_watermark(bmp384_handle_t *handle, uint16_t *watermark)
get the fifo watermark
+
uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
set the fifo watermark
+
uint8_t bmp384_get_fifo_data(bmp384_handle_t *handle, uint8_t *data, uint16_t length)
get the fifo data
+
uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
set the fifo subsampling
+
uint8_t bmp384_get_fifo_subsampling(bmp384_handle_t *handle, uint8_t *subsample)
get the fifo subsampling
+
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
+
uint8_t bmp384_get_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t *level)
get the interrupt active level
+
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
+
uint8_t bmp384_get_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt fifo full
+
uint8_t bmp384_get_interrupt_status(bmp384_handle_t *handle, uint8_t *status)
get the interrupt status
+
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
+
uint8_t bmp384_get_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t *pin_type)
get the interrupt pin type
+
uint8_t bmp384_get_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt fifo watermark
+
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
+
uint8_t bmp384_get_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t *enable)
get latching interrupt pin and interrupt status
+
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
+
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
+
uint8_t bmp384_get_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt data ready status
+
bmp384 frame structure definition
+ + +
bmp384_frame_type_t type
+
bmp384 handle structure definition
+ + + + + + + +
uint8_t(* spi_init)(void)
+
void(* delay_ms)(uint32_t ms)
+
uint8_t(* spi_read)(uint8_t reg, uint8_t *buf, uint16_t len)
+
void(* receive_callback)(uint8_t type)
+ +
uint8_t(* spi_write)(uint8_t reg, uint8_t *buf, uint16_t len)
+ + + +
void(* debug_print)(const char *const fmt,...)
+
uint8_t buf[512+1]
+
uint8_t(* iic_init)(void)
+
uint8_t(* spi_deinit)(void)
+ + +
uint8_t(* iic_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
+ + +
uint8_t(* iic_read)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
+ +
uint8_t(* iic_deinit)(void)
+ + +
bmp384 information structure definition
+ +
float supply_voltage_max_v
+
uint32_t driver_version
+ + +
char manufacturer_name[32]
+
float supply_voltage_min_v
+ +
char chip_name[32]
+
diff --git a/doc/html/driver__bmp384__basic_8c.html b/doc/html/driver__bmp384__basic_8c.html index c66f0d3..3859ff1 100644 --- a/doc/html/driver__bmp384__basic_8c.html +++ b/doc/html/driver__bmp384__basic_8c.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_basic.c File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_basic.c File Reference
+
driver_bmp384_basic.c File Reference

driver bmp384 basic source file More...

+Include dependency graph for driver_bmp384_basic.c:
+
+
+

Go to the source code of this file.

- - - - - - - - - - + + + + + +

+

Functions

uint8_t bmp384_basic_init (bmp384_interface_t interface, bmp384_address_t addr_pin)
 basic example init More...
 
uint8_t bmp384_basic_read (float *temperature_c, float *pressure_pa)
 basic example read More...
 
uint8_t bmp384_basic_deinit (void)
 basic example deinit More...
 
uint8_t bmp384_basic_init (bmp384_interface_t interface, bmp384_address_t addr_pin)
 basic example init
uint8_t bmp384_basic_read (float *temperature_c, float *pressure_pa)
 basic example read
uint8_t bmp384_basic_deinit (void)
 basic example deinit
-

Detailed Description

+

Detailed Description

driver bmp384 basic source file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -130,11 +136,19 @@

history

Definition in file driver_bmp384_basic.c.

+ +
diff --git a/doc/html/driver__bmp384__basic_8c__incl.md5 b/doc/html/driver__bmp384__basic_8c__incl.md5 new file mode 100644 index 0000000..1c052fa --- /dev/null +++ b/doc/html/driver__bmp384__basic_8c__incl.md5 @@ -0,0 +1 @@ +8a93671e6856d2590ef8b55bb06463a8 \ No newline at end of file diff --git a/doc/html/driver__bmp384__basic_8c__incl.svg b/doc/html/driver__bmp384__basic_8c__incl.svg new file mode 100644 index 0000000..8bfde9c --- /dev/null +++ b/doc/html/driver__bmp384__basic_8c__incl.svg @@ -0,0 +1,130 @@ + + + + + + +example/driver_bmp384_basic.c + + +Node1 + + +example/driver_bmp384 +_basic.c + + + + + +Node2 + + +driver_bmp384_basic.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384_interface.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +driver_bmp384.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdint.h + + + + + +Node4->Node5 + + + + + + + + +Node6 + + +stdio.h + + + + + +Node4->Node6 + + + + + + + + +Node7 + + +string.h + + + + + +Node4->Node7 + + + + + + + + diff --git a/doc/html/driver__bmp384__basic_8c_source.html b/doc/html/driver__bmp384__basic_8c_source.html index 8d8ca7d..c49b07e 100644 --- a/doc/html/driver__bmp384__basic_8c_source.html +++ b/doc/html/driver__bmp384__basic_8c_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_basic.c Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_basic.c
+
driver_bmp384_basic.c
-Go to the documentation of this file.
1 
-
37 #include "driver_bmp384_basic.h"
-
38 
-
39 static bmp384_handle_t gs_handle;
- -
51 {
-
52  uint8_t res;
-
53 
-
54  /* link functions */
- - - - - - - - - - - - -
67 
-
68  /* set interface */
-
69  res = bmp384_set_interface(&gs_handle, interface);
-
70  if (res != 0)
-
71  {
-
72  bmp384_interface_debug_print("bmp384: set interface failed.\n");
-
73 
-
74  return 1;
-
75  }
-
76 
-
77  /* set addr pin */
-
78  res = bmp384_set_addr_pin(&gs_handle, addr_pin);
-
79  if (res != 0)
-
80  {
-
81  bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
-
82 
-
83  return 1;
-
84  }
-
85 
-
86  /* bmp384 init */
-
87  res = bmp384_init(&gs_handle);
-
88  if (res != 0)
-
89  {
-
90  bmp384_interface_debug_print("bmp384: init failed.\n");
-
91 
-
92  return 1;
-
93  }
-
94 
-
95  /* set default spi wire */
- -
97  if (res != 0)
-
98  {
-
99  bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
-
100  (void)bmp384_deinit(&gs_handle);
-
101 
-
102  return 1;
-
103  }
-
104 
-
105  /* set default iic watchdog timer */
- -
107  if (res != 0)
-
108  {
-
109  bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
-
110  (void)bmp384_deinit(&gs_handle);
-
111 
-
112  return 1;
-
113  }
-
114 
-
115  /* set default iic watchdog period */
- -
117  if (res != 0)
-
118  {
-
119  bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
-
120  (void)bmp384_deinit(&gs_handle);
-
121 
-
122  return 1;
-
123  }
-
124 
-
125  /* disable fifo */
-
126  res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_FALSE);
-
127  if (res != 0)
-
128  {
-
129  bmp384_interface_debug_print("bmp384: set fifo failed.\n");
-
130  (void)bmp384_deinit(&gs_handle);
-
131 
-
132  return 1;
-
133  }
-
134 
-
135  /* disable interrupt fifo watermark */
- -
137  if (res != 0)
-
138  {
-
139  bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
-
140  (void)bmp384_deinit(&gs_handle);
-
141 
-
142  return 1;
-
143  }
-
144 
-
145  /* disable interrupt fifo full */
- -
147  if (res != 0)
-
148  {
-
149  bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
-
150  (void)bmp384_deinit(&gs_handle);
-
151 
-
152  return 1;
-
153  }
-
154 
-
155  /* disable interrupt data ready */
- -
157  if (res != 0)
-
158  {
-
159  bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
-
160  (void)bmp384_deinit(&gs_handle);
-
161 
-
162  return 1;
-
163  }
-
164 
-
165  /* set default pressure */
- -
167  if (res != 0)
-
168  {
-
169  bmp384_interface_debug_print("bmp384: set pressure failed.\n");
-
170  (void)bmp384_deinit(&gs_handle);
-
171 
-
172  return 1;
-
173  }
-
174 
-
175  /* set default temperature */
- -
177  if (res != 0)
-
178  {
-
179  bmp384_interface_debug_print("bmp384: set temperature failed.\n");
-
180  (void)bmp384_deinit(&gs_handle);
-
181 
-
182  return 1;
-
183  }
-
184 
-
185  /* set default pressure oversampling */
- -
187  if (res != 0)
-
188  {
-
189  bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
-
190  (void)bmp384_deinit(&gs_handle);
-
191 
-
192  return 1;
-
193  }
-
194 
-
195  /* set default temperature oversampling */
- -
197  if (res != 0)
-
198  {
-
199  bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
-
200  (void)bmp384_deinit(&gs_handle);
-
201 
-
202  return 1;
-
203  }
-
204 
-
205  /* set default odr */
-
206  res = bmp384_set_odr(&gs_handle, BMP384_BASIC_DEFAULT_ODR);
-
207  if (res != 0)
-
208  {
-
209  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
210  (void)bmp384_deinit(&gs_handle);
-
211 
-
212  return 1;
-
213  }
-
214 
-
215  /* set default filter coefficient */
- -
217  if (res != 0)
-
218  {
-
219  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
220  (void)bmp384_deinit(&gs_handle);
-
221 
-
222  return 1;
-
223  }
-
224 
-
225  /* set default mode */
-
226  res = bmp384_set_mode(&gs_handle, BMP384_MODE_NORMAL_MODE);
-
227  if (res != 0)
-
228  {
-
229  bmp384_interface_debug_print("bmp384: set mode failed.\n");
-
230  (void)bmp384_deinit(&gs_handle);
-
231 
-
232  return 1;
-
233  }
-
234 
-
235  return 0;
-
236 }
-
237 
-
247 uint8_t bmp384_basic_read(float *temperature_c, float *pressure_pa)
-
248 {
-
249  uint32_t temperature_raw;
-
250  uint32_t pressure_raw;
-
251 
-
252  /* read temperature and pressure */
-
253  if (bmp384_read_temperature_pressure(&gs_handle, (uint32_t *)&temperature_raw, temperature_c,
-
254  (uint32_t *)&pressure_raw, pressure_pa) != 0)
-
255  {
-
256  return 1;
-
257  }
-
258 
-
259  return 0;
-
260 }
-
261 
-
269 uint8_t bmp384_basic_deinit(void)
-
270 {
-
271  /* close bmp384 */
-
272  if (bmp384_deinit(&gs_handle) != 0)
-
273  {
-
274  return 1;
-
275  }
-
276 
-
277  return 0;
-
278 }
+Go to the documentation of this file.
1
+
36
+
37#include "driver_bmp384_basic.h"
+
38
+
39static bmp384_handle_t gs_handle;
+
40
+
+ +
51{
+
52 uint8_t res;
+
53
+
54 /* link functions */
+ + + + + + + + + + + + +
67
+
68 /* set interface */
+
69 res = bmp384_set_interface(&gs_handle, interface);
+
70 if (res != 0)
+
71 {
+
72 bmp384_interface_debug_print("bmp384: set interface failed.\n");
+
73
+
74 return 1;
+
75 }
+
76
+
77 /* set addr pin */
+
78 res = bmp384_set_addr_pin(&gs_handle, addr_pin);
+
79 if (res != 0)
+
80 {
+
81 bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
+
82
+
83 return 1;
+
84 }
+
85
+
86 /* bmp384 init */
+
87 res = bmp384_init(&gs_handle);
+
88 if (res != 0)
+
89 {
+
90 bmp384_interface_debug_print("bmp384: init failed.\n");
+
91
+
92 return 1;
+
93 }
+
94
+
95 /* set default spi wire */
+ +
97 if (res != 0)
+
98 {
+
99 bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
+
100 (void)bmp384_deinit(&gs_handle);
+
101
+
102 return 1;
+
103 }
+
104
+
105 /* set default iic watchdog timer */
+ +
107 if (res != 0)
+
108 {
+
109 bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
+
110 (void)bmp384_deinit(&gs_handle);
+
111
+
112 return 1;
+
113 }
+
114
+
115 /* set default iic watchdog period */
+ +
117 if (res != 0)
+
118 {
+
119 bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
+
120 (void)bmp384_deinit(&gs_handle);
+
121
+
122 return 1;
+
123 }
+
124
+
125 /* disable fifo */
+
126 res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_FALSE);
+
127 if (res != 0)
+
128 {
+
129 bmp384_interface_debug_print("bmp384: set fifo failed.\n");
+
130 (void)bmp384_deinit(&gs_handle);
+
131
+
132 return 1;
+
133 }
+
134
+
135 /* disable interrupt fifo watermark */
+ +
137 if (res != 0)
+
138 {
+
139 bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
+
140 (void)bmp384_deinit(&gs_handle);
+
141
+
142 return 1;
+
143 }
+
144
+
145 /* disable interrupt fifo full */
+ +
147 if (res != 0)
+
148 {
+
149 bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
+
150 (void)bmp384_deinit(&gs_handle);
+
151
+
152 return 1;
+
153 }
+
154
+
155 /* disable interrupt data ready */
+ +
157 if (res != 0)
+
158 {
+
159 bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
+
160 (void)bmp384_deinit(&gs_handle);
+
161
+
162 return 1;
+
163 }
+
164
+
165 /* set default pressure */
+ +
167 if (res != 0)
+
168 {
+
169 bmp384_interface_debug_print("bmp384: set pressure failed.\n");
+
170 (void)bmp384_deinit(&gs_handle);
+
171
+
172 return 1;
+
173 }
+
174
+
175 /* set default temperature */
+ +
177 if (res != 0)
+
178 {
+
179 bmp384_interface_debug_print("bmp384: set temperature failed.\n");
+
180 (void)bmp384_deinit(&gs_handle);
+
181
+
182 return 1;
+
183 }
+
184
+
185 /* set default pressure oversampling */
+ +
187 if (res != 0)
+
188 {
+
189 bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
+
190 (void)bmp384_deinit(&gs_handle);
+
191
+
192 return 1;
+
193 }
+
194
+
195 /* set default temperature oversampling */
+ +
197 if (res != 0)
+
198 {
+
199 bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
+
200 (void)bmp384_deinit(&gs_handle);
+
201
+
202 return 1;
+
203 }
+
204
+
205 /* set default odr */
+
206 res = bmp384_set_odr(&gs_handle, BMP384_BASIC_DEFAULT_ODR);
+
207 if (res != 0)
+
208 {
+
209 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
210 (void)bmp384_deinit(&gs_handle);
+
211
+
212 return 1;
+
213 }
+
214
+
215 /* set default filter coefficient */
+ +
217 if (res != 0)
+
218 {
+
219 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
220 (void)bmp384_deinit(&gs_handle);
+
221
+
222 return 1;
+
223 }
+
224
+
225 /* set default mode */
+
226 res = bmp384_set_mode(&gs_handle, BMP384_MODE_NORMAL_MODE);
+
227 if (res != 0)
+
228 {
+
229 bmp384_interface_debug_print("bmp384: set mode failed.\n");
+
230 (void)bmp384_deinit(&gs_handle);
+
231
+
232 return 1;
+
233 }
+
234
+
235 return 0;
+
236}
+
+
237
+
+
247uint8_t bmp384_basic_read(float *temperature_c, float *pressure_pa)
+
248{
+
249 uint32_t temperature_raw;
+
250 uint32_t pressure_raw;
+
251
+
252 /* read temperature and pressure */
+
253 if (bmp384_read_temperature_pressure(&gs_handle, (uint32_t *)&temperature_raw, temperature_c,
+
254 (uint32_t *)&pressure_raw, pressure_pa) != 0)
+
255 {
+
256 return 1;
+
257 }
+
258
+
259 return 0;
+
260}
+
+
261
+
+ +
270{
+
271 /* close bmp384 */
+
272 if (bmp384_deinit(&gs_handle) != 0)
+
273 {
+
274 return 1;
+
275 }
+
276
+
277 return 0;
+
278}
+
driver bmp384 basic header file
-
uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
read the temperature and pressure
-
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
-
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
-
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
-
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
-
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
-
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
-
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
-
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
-
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
-
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
-
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
-
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
-
@ BMP384_MODE_NORMAL_MODE
-
@ BMP384_BOOL_FALSE
Definition: driver_bmp384.h:82
-
#define BMP384_BASIC_DEFAULT_TEMPERATURE
-
#define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_PERIOD
-
uint8_t bmp384_basic_deinit(void)
basic example deinit
-
#define BMP384_BASIC_DEFAULT_SPI_WIRE
bmp384 basic example default definition
-
uint8_t bmp384_basic_read(float *temperature_c, float *pressure_pa)
basic example read
-
#define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_TIMER
-
#define BMP384_BASIC_DEFAULT_PRESSURE_OVERSAMPLING
-
#define BMP384_BASIC_DEFAULT_FILTER_COEFFICIENT
-
#define BMP384_BASIC_DEFAULT_PRESSURE
-
#define BMP384_BASIC_DEFAULT_TEMPERATURE_OVERSAMPLING
-
#define BMP384_BASIC_DEFAULT_ODR
-
uint8_t bmp384_basic_init(bmp384_interface_t interface, bmp384_address_t addr_pin)
basic example init
-
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
-
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
-
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
-
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
-
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
-
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
-
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
-
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
-
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
-
void bmp384_interface_receive_callback(uint8_t type)
interface receive callback
-
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
-
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
-
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
-
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
-
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
- - - - - - - - - - - - -
bmp384 handle structure definition
+
uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
read the temperature and pressure
+
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
+
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
+
bmp384_interface_t
bmp384 interface enumeration definition
+
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
+
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
+
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
+
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
+
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
+
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
+
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
+
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
+
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
+
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
+
struct bmp384_handle_s bmp384_handle_t
bmp384 handle structure definition
+
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
+
@ BMP384_MODE_NORMAL_MODE
+
@ BMP384_BOOL_FALSE
+
#define BMP384_BASIC_DEFAULT_TEMPERATURE
+
#define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_PERIOD
+
uint8_t bmp384_basic_deinit(void)
basic example deinit
+
#define BMP384_BASIC_DEFAULT_SPI_WIRE
bmp384 basic example default definition
+
uint8_t bmp384_basic_read(float *temperature_c, float *pressure_pa)
basic example read
+
#define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_TIMER
+
#define BMP384_BASIC_DEFAULT_PRESSURE_OVERSAMPLING
+
#define BMP384_BASIC_DEFAULT_FILTER_COEFFICIENT
+
#define BMP384_BASIC_DEFAULT_PRESSURE
+
#define BMP384_BASIC_DEFAULT_TEMPERATURE_OVERSAMPLING
+
#define BMP384_BASIC_DEFAULT_ODR
+
uint8_t bmp384_basic_init(bmp384_interface_t interface, bmp384_address_t addr_pin)
basic example init
+
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
+
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
+
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
+
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
+
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
+
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
+
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
+
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
+
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
+
void bmp384_interface_receive_callback(uint8_t type)
interface receive callback
+
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
+
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
+
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
+
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
+
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
+ + + + + + + + + + + +
+
diff --git a/doc/html/driver__bmp384__basic_8h.html b/doc/html/driver__bmp384__basic_8h.html index 67234bf..b482e86 100644 --- a/doc/html/driver__bmp384__basic_8h.html +++ b/doc/html/driver__bmp384__basic_8h.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_basic.h File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_basic.h File Reference
+
driver_bmp384_basic.h File Reference

driver bmp384 basic header file More...

+Include dependency graph for driver_bmp384_basic.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - + + + + + + + + + +

+

Macros

#define BMP384_BASIC_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 basic example default definition More...
 
#define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_TRUE
 
#define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_40_MS
 
#define BMP384_BASIC_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
 
#define BMP384_BASIC_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
 
#define BMP384_BASIC_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
 
#define BMP384_BASIC_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
 
#define BMP384_BASIC_DEFAULT_ODR   BMP384_ODR_12P5_HZ
 
#define BMP384_BASIC_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
 
#define BMP384_BASIC_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 basic example default definition
#define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_TRUE
#define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_40_MS
#define BMP384_BASIC_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
#define BMP384_BASIC_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
#define BMP384_BASIC_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
#define BMP384_BASIC_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
#define BMP384_BASIC_DEFAULT_ODR   BMP384_ODR_12P5_HZ
#define BMP384_BASIC_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
- - - - - - - - - - + + + + + +

+

Functions

uint8_t bmp384_basic_init (bmp384_interface_t interface, bmp384_address_t addr_pin)
 basic example init More...
 
uint8_t bmp384_basic_deinit (void)
 basic example deinit More...
 
uint8_t bmp384_basic_read (float *temperature_c, float *pressure_pa)
 basic example read More...
 
uint8_t bmp384_basic_init (bmp384_interface_t interface, bmp384_address_t addr_pin)
 basic example init
uint8_t bmp384_basic_deinit (void)
 basic example deinit
uint8_t bmp384_basic_read (float *temperature_c, float *pressure_pa)
 basic example read
-

Detailed Description

+

Detailed Description

driver bmp384 basic header file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -153,11 +154,19 @@

history

Definition in file driver_bmp384_basic.h.

+ +
diff --git a/doc/html/driver__bmp384__basic_8h__dep__incl.md5 b/doc/html/driver__bmp384__basic_8h__dep__incl.md5 new file mode 100644 index 0000000..9621225 --- /dev/null +++ b/doc/html/driver__bmp384__basic_8h__dep__incl.md5 @@ -0,0 +1 @@ +0d152cf579a28528ebacc00e75edec84 \ No newline at end of file diff --git a/doc/html/driver__bmp384__basic_8h__dep__incl.svg b/doc/html/driver__bmp384__basic_8h__dep__incl.svg new file mode 100644 index 0000000..10ad895 --- /dev/null +++ b/doc/html/driver__bmp384__basic_8h__dep__incl.svg @@ -0,0 +1,41 @@ + + + + + + +example/driver_bmp384_basic.h + + +Node1 + + +example/driver_bmp384 +_basic.h + + + + + +Node2 + + +example/driver_bmp384 +_basic.c + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/driver__bmp384__basic_8h__incl.md5 b/doc/html/driver__bmp384__basic_8h__incl.md5 new file mode 100644 index 0000000..48a4596 --- /dev/null +++ b/doc/html/driver__bmp384__basic_8h__incl.md5 @@ -0,0 +1 @@ +79a9ed13f74901e4f0e7e1f4c3ffd250 \ No newline at end of file diff --git a/doc/html/driver__bmp384__basic_8h__incl.svg b/doc/html/driver__bmp384__basic_8h__incl.svg new file mode 100644 index 0000000..6483abb --- /dev/null +++ b/doc/html/driver__bmp384__basic_8h__incl.svg @@ -0,0 +1,112 @@ + + + + + + +example/driver_bmp384_basic.h + + +Node1 + + +example/driver_bmp384 +_basic.h + + + + + +Node2 + + +driver_bmp384_interface.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +stdint.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdio.h + + + + + +Node3->Node5 + + + + + + + + +Node6 + + +string.h + + + + + +Node3->Node6 + + + + + + + + diff --git a/doc/html/driver__bmp384__basic_8h_source.html b/doc/html/driver__bmp384__basic_8h_source.html index dc688e7..7c3e7f5 100644 --- a/doc/html/driver__bmp384__basic_8h_source.html +++ b/doc/html/driver__bmp384__basic_8h_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_basic.h Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_basic.h
+
driver_bmp384_basic.h
-Go to the documentation of this file.
1 
-
37 #ifndef DRIVER_BMP384_BASIC_H
-
38 #define DRIVER_BMP384_BASIC_H
-
39 
- -
41 
-
42 #ifdef __cplusplus
-
43 extern "C"{
-
44 #endif
-
45 
-
56 #define BMP384_BASIC_DEFAULT_SPI_WIRE BMP384_SPI_WIRE_4
-
57 #define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_TIMER BMP384_BOOL_TRUE
-
58 #define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_PERIOD BMP384_IIC_WATCHDOG_PERIOD_40_MS
-
59 #define BMP384_BASIC_DEFAULT_PRESSURE BMP384_BOOL_TRUE
-
60 #define BMP384_BASIC_DEFAULT_TEMPERATURE BMP384_BOOL_TRUE
-
61 #define BMP384_BASIC_DEFAULT_PRESSURE_OVERSAMPLING BMP384_OVERSAMPLING_x32
-
62 #define BMP384_BASIC_DEFAULT_TEMPERATURE_OVERSAMPLING BMP384_OVERSAMPLING_x2
-
63 #define BMP384_BASIC_DEFAULT_ODR BMP384_ODR_12P5_HZ
-
64 #define BMP384_BASIC_DEFAULT_FILTER_COEFFICIENT BMP384_FILTER_COEFFICIENT_15
-
75 uint8_t bmp384_basic_init(bmp384_interface_t interface, bmp384_address_t addr_pin);
-
76 
-
84 uint8_t bmp384_basic_deinit(void);
-
85 
-
95 uint8_t bmp384_basic_read(float *temperature_c, float *pressure_pa);
-
96 
-
101 #ifdef __cplusplus
-
102 }
-
103 #endif
-
104 
-
105 #endif
+Go to the documentation of this file.
1
+
36
+
37#ifndef DRIVER_BMP384_BASIC_H
+
38#define DRIVER_BMP384_BASIC_H
+
39
+ +
41
+
42#ifdef __cplusplus
+
43extern "C"{
+
44#endif
+
45
+
52
+
56#define BMP384_BASIC_DEFAULT_SPI_WIRE BMP384_SPI_WIRE_4
+
57#define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_TIMER BMP384_BOOL_TRUE
+
58#define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_PERIOD BMP384_IIC_WATCHDOG_PERIOD_40_MS
+
59#define BMP384_BASIC_DEFAULT_PRESSURE BMP384_BOOL_TRUE
+
60#define BMP384_BASIC_DEFAULT_TEMPERATURE BMP384_BOOL_TRUE
+
61#define BMP384_BASIC_DEFAULT_PRESSURE_OVERSAMPLING BMP384_OVERSAMPLING_x32
+
62#define BMP384_BASIC_DEFAULT_TEMPERATURE_OVERSAMPLING BMP384_OVERSAMPLING_x2
+
63#define BMP384_BASIC_DEFAULT_ODR BMP384_ODR_12P5_HZ
+
64#define BMP384_BASIC_DEFAULT_FILTER_COEFFICIENT BMP384_FILTER_COEFFICIENT_15
+
65
+
75uint8_t bmp384_basic_init(bmp384_interface_t interface, bmp384_address_t addr_pin);
+
76
+
84uint8_t bmp384_basic_deinit(void);
+
85
+
95uint8_t bmp384_basic_read(float *temperature_c, float *pressure_pa);
+
96
+
100
+
101#ifdef __cplusplus
+
102}
+
103#endif
+
104
+
105#endif
driver bmp384 interface header file
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_basic_deinit(void)
basic example deinit
-
uint8_t bmp384_basic_read(float *temperature_c, float *pressure_pa)
basic example read
-
uint8_t bmp384_basic_init(bmp384_interface_t interface, bmp384_address_t addr_pin)
basic example init
+
bmp384_interface_t
bmp384 interface enumeration definition
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_basic_deinit(void)
basic example deinit
+
uint8_t bmp384_basic_read(float *temperature_c, float *pressure_pa)
basic example read
+
uint8_t bmp384_basic_init(bmp384_interface_t interface, bmp384_address_t addr_pin)
basic example init
+
diff --git a/doc/html/driver__bmp384__fifo_8c.html b/doc/html/driver__bmp384__fifo_8c.html index fea1605..6ebd73b 100644 --- a/doc/html/driver__bmp384__fifo_8c.html +++ b/doc/html/driver__bmp384__fifo_8c.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_fifo.c File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_fifo.c File Reference
+
driver_bmp384_fifo.c File Reference

driver bmp384 fifo source file More...

+Include dependency graph for driver_bmp384_fifo.c:
+
+
+

Go to the source code of this file.

- - - - - - - - - - - - - + + + + + + + +

+

Functions

uint8_t bmp384_fifo_irq_handler (void)
 fifo example irq handler More...
 
uint8_t bmp384_fifo_init (bmp384_interface_t interface, bmp384_address_t addr_pin, void(*fifo_receive_callback)(uint8_t type))
 fifo example init More...
 
uint8_t bmp384_fifo_read (uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
 fifo example read More...
 
uint8_t bmp384_fifo_deinit (void)
 fifo example deinit More...
 
uint8_t bmp384_fifo_irq_handler (void)
 fifo example irq handler
uint8_t bmp384_fifo_init (bmp384_interface_t interface, bmp384_address_t addr_pin, void(*fifo_receive_callback)(uint8_t type))
 fifo example init
uint8_t bmp384_fifo_read (uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
 fifo example read
uint8_t bmp384_fifo_deinit (void)
 fifo example deinit
-

Detailed Description

+

Detailed Description

driver bmp384 fifo source file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -133,11 +138,19 @@

history

Definition in file driver_bmp384_fifo.c.

+ +
diff --git a/doc/html/driver__bmp384__fifo_8c__incl.md5 b/doc/html/driver__bmp384__fifo_8c__incl.md5 new file mode 100644 index 0000000..0e76005 --- /dev/null +++ b/doc/html/driver__bmp384__fifo_8c__incl.md5 @@ -0,0 +1 @@ +dfd728a4a17f2eae9713e3c72f9534e2 \ No newline at end of file diff --git a/doc/html/driver__bmp384__fifo_8c__incl.svg b/doc/html/driver__bmp384__fifo_8c__incl.svg new file mode 100644 index 0000000..57f5b47 --- /dev/null +++ b/doc/html/driver__bmp384__fifo_8c__incl.svg @@ -0,0 +1,130 @@ + + + + + + +example/driver_bmp384_fifo.c + + +Node1 + + +example/driver_bmp384 +_fifo.c + + + + + +Node2 + + +driver_bmp384_fifo.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384_interface.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +driver_bmp384.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdint.h + + + + + +Node4->Node5 + + + + + + + + +Node6 + + +stdio.h + + + + + +Node4->Node6 + + + + + + + + +Node7 + + +string.h + + + + + +Node4->Node7 + + + + + + + + diff --git a/doc/html/driver__bmp384__fifo_8c_source.html b/doc/html/driver__bmp384__fifo_8c_source.html index 2ccf82e..cb1c5ef 100644 --- a/doc/html/driver__bmp384__fifo_8c_source.html +++ b/doc/html/driver__bmp384__fifo_8c_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_fifo.c Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_fifo.c
+
driver_bmp384_fifo.c
-Go to the documentation of this file.
1 
-
37 #include "driver_bmp384_fifo.h"
-
38 
-
39 static bmp384_handle_t gs_handle;
- -
49 {
-
50  /* run irq handler */
-
51  if (bmp384_irq_handler(&gs_handle) != 0)
-
52  {
-
53  return 1;
-
54  }
-
55 
-
56  return 0;
-
57 }
-
58 
- -
70  void (*fifo_receive_callback)(uint8_t type))
-
71 {
-
72  uint8_t res;
-
73 
-
74  /* link functions */
- - - - - - - - - - - -
86  DRIVER_BMP384_LINK_RECEIVE_CALLBACK(&gs_handle, fifo_receive_callback);
-
87 
-
88  /* set interface */
-
89  res = bmp384_set_interface(&gs_handle, interface);
-
90  if (res != 0)
-
91  {
-
92  bmp384_interface_debug_print("bmp384: set interface failed.\n");
-
93 
-
94  return 1;
-
95  }
-
96 
-
97  /* set addr pin */
-
98  res = bmp384_set_addr_pin(&gs_handle, addr_pin);
-
99  if (res != 0)
-
100  {
-
101  bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
-
102 
-
103  return 1;
-
104  }
-
105 
-
106  /* bmp384 init */
-
107  res = bmp384_init(&gs_handle);
-
108  if (res != 0)
-
109  {
-
110  bmp384_interface_debug_print("bmp384: init failed.\n");
-
111 
-
112  return 1;
-
113  }
-
114 
-
115  /* set spi wire 4 */
- -
117  if (res != 0)
-
118  {
-
119  bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
-
120  (void)bmp384_deinit(&gs_handle);
-
121 
-
122  return 1;
-
123  }
-
124 
-
125  /* set default iic watchdog timer */
- -
127  if (res != 0)
-
128  {
-
129  bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
-
130  (void)bmp384_deinit(&gs_handle);
-
131 
-
132  return 1;
-
133  }
-
134 
-
135  /* set default iic watchdog period */
- -
137  if (res != 0)
-
138  {
-
139  bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
-
140  (void)bmp384_deinit(&gs_handle);
-
141 
-
142  return 1;
-
143  }
-
144 
-
145  /* enable fifo */
-
146  res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_TRUE);
-
147  if (res != 0)
-
148  {
-
149  bmp384_interface_debug_print("bmp384: set fifo failed.\n");
-
150  (void)bmp384_deinit(&gs_handle);
-
151 
-
152  return 1;
-
153  }
-
154 
-
155  /* set default fifo stop on full */
- -
157  if (res != 0)
-
158  {
-
159  bmp384_interface_debug_print("bmp384: set fifo stop on full failed.\n");
-
160  (void)bmp384_deinit(&gs_handle);
-
161 
-
162  return 1;
-
163  }
-
164 
-
165  /* set default fifo watermark */
- -
167  if (res != 0)
-
168  {
-
169  bmp384_interface_debug_print("bmp384: set fifo watermark failed.\n");
-
170  (void)bmp384_deinit(&gs_handle);
-
171 
-
172  return 1;
-
173  }
-
174 
-
175  /* set default fifo sensor time on */
- -
177  if (res != 0)
-
178  {
-
179  bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
-
180  (void)bmp384_deinit(&gs_handle);
-
181 
-
182  return 1;
-
183  }
-
184 
-
185  /* set default fifo pressure on */
- -
187  if (res != 0)
-
188  {
-
189  bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
-
190  (void)bmp384_deinit(&gs_handle);
-
191 
-
192  return 1;
-
193  }
-
194 
-
195  /* set default fifo temperature on */
- -
197  if (res != 0)
-
198  {
-
199  bmp384_interface_debug_print("bmp384: set fifo temperature on failed.\n");
-
200  (void)bmp384_deinit(&gs_handle);
-
201 
-
202  return 1;
-
203  }
-
204 
-
205  /* set default fifo subsampling */
- -
207  if (res != 0)
-
208  {
-
209  bmp384_interface_debug_print("bmp384: set fifo subsampling failed.\n");
-
210  (void)bmp384_deinit(&gs_handle);
-
211 
-
212  return 1;
-
213  }
-
214 
-
215  /* set default fifo data source */
- -
217  if (res != 0)
-
218  {
-
219  bmp384_interface_debug_print("bmp384: set fifo data source failed.\n");
-
220  (void)bmp384_deinit(&gs_handle);
-
221 
-
222  return 1;
-
223  }
-
224 
-
225  /* set default interrupt pin type */
- -
227  if (res != 0)
-
228  {
-
229  bmp384_interface_debug_print("bmp384: set interrupt pin type failed.\n");
-
230  (void)bmp384_deinit(&gs_handle);
-
231 
-
232  return 1;
-
233  }
-
234 
-
235  /* set default interrupt active level */
- -
237  if (res != 0)
-
238  {
-
239  bmp384_interface_debug_print("bmp384: set interrupt active level failed.\n");
-
240  (void)bmp384_deinit(&gs_handle);
-
241 
-
242  return 1;
-
243  }
-
244 
-
245  /* set default latch interrupt pin and interrupt status */
- -
247  if (res != 0)
-
248  {
-
249  bmp384_interface_debug_print("bmp384: set latch interrupt pin and interrupt status failed.\n");
-
250  (void)bmp384_deinit(&gs_handle);
-
251 
-
252  return 1;
-
253  }
-
254 
-
255  /* set default interrupt fifo watermark */
- -
257  if (res != 0)
-
258  {
-
259  bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
-
260  (void)bmp384_deinit(&gs_handle);
-
261 
-
262  return 1;
-
263  }
-
264 
-
265  /* set default interrupt fifo full */
- -
267  if (res != 0)
-
268  {
-
269  bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
-
270  (void)bmp384_deinit(&gs_handle);
-
271 
-
272  return 1;
-
273  }
-
274 
-
275  /* set default interrupt data ready */
- -
277  if (res != 0)
-
278  {
-
279  bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
-
280  (void)bmp384_deinit(&gs_handle);
-
281 
-
282  return 1;
-
283  }
-
284 
-
285  /* set default pressure */
- -
287  if (res != 0)
-
288  {
-
289  bmp384_interface_debug_print("bmp384: set pressure failed.\n");
-
290  (void)bmp384_deinit(&gs_handle);
-
291 
-
292  return 1;
-
293  }
-
294 
-
295  /* set default temperature */
- -
297  if (res != 0)
-
298  {
-
299  bmp384_interface_debug_print("bmp384: set temperature failed.\n");
-
300  (void)bmp384_deinit(&gs_handle);
-
301 
-
302  return 1;
-
303  }
-
304 
-
305  /* set default pressure oversampling */
- -
307  if (res != 0)
-
308  {
-
309  bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
-
310  (void)bmp384_deinit(&gs_handle);
-
311 
-
312  return 1;
-
313  }
-
314 
-
315  /* set default temperature oversampling */
- -
317  if (res != 0)
-
318  {
-
319  bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
-
320  (void)bmp384_deinit(&gs_handle);
-
321 
-
322  return 1;
-
323  }
-
324 
-
325  /* set default odr */
-
326  res = bmp384_set_odr(&gs_handle, BMP384_FIFO_DEFAULT_ODR);
-
327  if (res != 0)
-
328  {
-
329  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
330  (void)bmp384_deinit(&gs_handle);
-
331 
-
332  return 1;
-
333  }
-
334 
-
335  /* set default filter coefficient */
- -
337  if (res != 0)
-
338  {
-
339  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
340  (void)bmp384_deinit(&gs_handle);
-
341 
-
342  return 1;
-
343  }
-
344 
-
345  /* set normal mode */
-
346  res = bmp384_set_mode(&gs_handle, BMP384_MODE_NORMAL_MODE);
-
347  if (res != 0)
-
348  {
-
349  bmp384_interface_debug_print("bmp384: set mode failed.\n");
-
350  (void)bmp384_deinit(&gs_handle);
-
351 
-
352  return 1;
-
353  }
-
354 
-
355  return 0;
-
356 }
-
357 
-
369 uint8_t bmp384_fifo_read(uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
-
370 {
-
371  /* read fifo */
-
372  if (bmp384_read_fifo(&gs_handle, (uint8_t *)buf, (uint16_t *)&buf_len) != 0)
-
373  {
-
374  return 1;
-
375  }
-
376  /* parse fifo */
-
377  if (bmp384_fifo_parse(&gs_handle, (uint8_t *)buf, buf_len, (bmp384_frame_t *)frame, (uint16_t *)frame_len) != 0)
-
378  {
-
379  return 1;
-
380  }
-
381 
-
382  return 0;
-
383 }
-
384 
-
392 uint8_t bmp384_fifo_deinit(void)
-
393 {
-
394  uint8_t res;
-
395 
-
396  /* set sleep mode */
-
397  res = bmp384_set_mode(&gs_handle, BMP384_MODE_SLEEP_MODE);
-
398  if (res != 0)
-
399  {
-
400  return 1;
-
401  }
-
402 
-
403  if (bmp384_deinit(&gs_handle) != 0)
-
404  {
-
405  return 1;
-
406  }
-
407 
-
408  return 0;
-
409 }
+Go to the documentation of this file.
1
+
36
+
37#include "driver_bmp384_fifo.h"
+
38
+
39static bmp384_handle_t gs_handle;
+
40
+
+ +
49{
+
50 /* run irq handler */
+
51 if (bmp384_irq_handler(&gs_handle) != 0)
+
52 {
+
53 return 1;
+
54 }
+
55
+
56 return 0;
+
57}
+
+
58
+
+ +
70 void (*fifo_receive_callback)(uint8_t type))
+
71{
+
72 uint8_t res;
+
73
+
74 /* link functions */
+ + + + + + + + + + + +
86 DRIVER_BMP384_LINK_RECEIVE_CALLBACK(&gs_handle, fifo_receive_callback);
+
87
+
88 /* set interface */
+
89 res = bmp384_set_interface(&gs_handle, interface);
+
90 if (res != 0)
+
91 {
+
92 bmp384_interface_debug_print("bmp384: set interface failed.\n");
+
93
+
94 return 1;
+
95 }
+
96
+
97 /* set addr pin */
+
98 res = bmp384_set_addr_pin(&gs_handle, addr_pin);
+
99 if (res != 0)
+
100 {
+
101 bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
+
102
+
103 return 1;
+
104 }
+
105
+
106 /* bmp384 init */
+
107 res = bmp384_init(&gs_handle);
+
108 if (res != 0)
+
109 {
+
110 bmp384_interface_debug_print("bmp384: init failed.\n");
+
111
+
112 return 1;
+
113 }
+
114
+
115 /* set spi wire 4 */
+ +
117 if (res != 0)
+
118 {
+
119 bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
+
120 (void)bmp384_deinit(&gs_handle);
+
121
+
122 return 1;
+
123 }
+
124
+
125 /* set default iic watchdog timer */
+ +
127 if (res != 0)
+
128 {
+
129 bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
+
130 (void)bmp384_deinit(&gs_handle);
+
131
+
132 return 1;
+
133 }
+
134
+
135 /* set default iic watchdog period */
+ +
137 if (res != 0)
+
138 {
+
139 bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
+
140 (void)bmp384_deinit(&gs_handle);
+
141
+
142 return 1;
+
143 }
+
144
+
145 /* enable fifo */
+
146 res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_TRUE);
+
147 if (res != 0)
+
148 {
+
149 bmp384_interface_debug_print("bmp384: set fifo failed.\n");
+
150 (void)bmp384_deinit(&gs_handle);
+
151
+
152 return 1;
+
153 }
+
154
+
155 /* set default fifo stop on full */
+ +
157 if (res != 0)
+
158 {
+
159 bmp384_interface_debug_print("bmp384: set fifo stop on full failed.\n");
+
160 (void)bmp384_deinit(&gs_handle);
+
161
+
162 return 1;
+
163 }
+
164
+
165 /* set default fifo watermark */
+ +
167 if (res != 0)
+
168 {
+
169 bmp384_interface_debug_print("bmp384: set fifo watermark failed.\n");
+
170 (void)bmp384_deinit(&gs_handle);
+
171
+
172 return 1;
+
173 }
+
174
+
175 /* set default fifo sensor time on */
+ +
177 if (res != 0)
+
178 {
+
179 bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
+
180 (void)bmp384_deinit(&gs_handle);
+
181
+
182 return 1;
+
183 }
+
184
+
185 /* set default fifo pressure on */
+ +
187 if (res != 0)
+
188 {
+
189 bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
+
190 (void)bmp384_deinit(&gs_handle);
+
191
+
192 return 1;
+
193 }
+
194
+
195 /* set default fifo temperature on */
+ +
197 if (res != 0)
+
198 {
+
199 bmp384_interface_debug_print("bmp384: set fifo temperature on failed.\n");
+
200 (void)bmp384_deinit(&gs_handle);
+
201
+
202 return 1;
+
203 }
+
204
+
205 /* set default fifo subsampling */
+ +
207 if (res != 0)
+
208 {
+
209 bmp384_interface_debug_print("bmp384: set fifo subsampling failed.\n");
+
210 (void)bmp384_deinit(&gs_handle);
+
211
+
212 return 1;
+
213 }
+
214
+
215 /* set default fifo data source */
+ +
217 if (res != 0)
+
218 {
+
219 bmp384_interface_debug_print("bmp384: set fifo data source failed.\n");
+
220 (void)bmp384_deinit(&gs_handle);
+
221
+
222 return 1;
+
223 }
+
224
+
225 /* set default interrupt pin type */
+ +
227 if (res != 0)
+
228 {
+
229 bmp384_interface_debug_print("bmp384: set interrupt pin type failed.\n");
+
230 (void)bmp384_deinit(&gs_handle);
+
231
+
232 return 1;
+
233 }
+
234
+
235 /* set default interrupt active level */
+ +
237 if (res != 0)
+
238 {
+
239 bmp384_interface_debug_print("bmp384: set interrupt active level failed.\n");
+
240 (void)bmp384_deinit(&gs_handle);
+
241
+
242 return 1;
+
243 }
+
244
+
245 /* set default latch interrupt pin and interrupt status */
+ +
247 if (res != 0)
+
248 {
+
249 bmp384_interface_debug_print("bmp384: set latch interrupt pin and interrupt status failed.\n");
+
250 (void)bmp384_deinit(&gs_handle);
+
251
+
252 return 1;
+
253 }
+
254
+
255 /* set default interrupt fifo watermark */
+ +
257 if (res != 0)
+
258 {
+
259 bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
+
260 (void)bmp384_deinit(&gs_handle);
+
261
+
262 return 1;
+
263 }
+
264
+
265 /* set default interrupt fifo full */
+ +
267 if (res != 0)
+
268 {
+
269 bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
+
270 (void)bmp384_deinit(&gs_handle);
+
271
+
272 return 1;
+
273 }
+
274
+
275 /* set default interrupt data ready */
+ +
277 if (res != 0)
+
278 {
+
279 bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
+
280 (void)bmp384_deinit(&gs_handle);
+
281
+
282 return 1;
+
283 }
+
284
+
285 /* set default pressure */
+ +
287 if (res != 0)
+
288 {
+
289 bmp384_interface_debug_print("bmp384: set pressure failed.\n");
+
290 (void)bmp384_deinit(&gs_handle);
+
291
+
292 return 1;
+
293 }
+
294
+
295 /* set default temperature */
+ +
297 if (res != 0)
+
298 {
+
299 bmp384_interface_debug_print("bmp384: set temperature failed.\n");
+
300 (void)bmp384_deinit(&gs_handle);
+
301
+
302 return 1;
+
303 }
+
304
+
305 /* set default pressure oversampling */
+ +
307 if (res != 0)
+
308 {
+
309 bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
+
310 (void)bmp384_deinit(&gs_handle);
+
311
+
312 return 1;
+
313 }
+
314
+
315 /* set default temperature oversampling */
+ +
317 if (res != 0)
+
318 {
+
319 bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
+
320 (void)bmp384_deinit(&gs_handle);
+
321
+
322 return 1;
+
323 }
+
324
+
325 /* set default odr */
+
326 res = bmp384_set_odr(&gs_handle, BMP384_FIFO_DEFAULT_ODR);
+
327 if (res != 0)
+
328 {
+
329 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
330 (void)bmp384_deinit(&gs_handle);
+
331
+
332 return 1;
+
333 }
+
334
+
335 /* set default filter coefficient */
+ +
337 if (res != 0)
+
338 {
+
339 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
340 (void)bmp384_deinit(&gs_handle);
+
341
+
342 return 1;
+
343 }
+
344
+
345 /* set normal mode */
+
346 res = bmp384_set_mode(&gs_handle, BMP384_MODE_NORMAL_MODE);
+
347 if (res != 0)
+
348 {
+
349 bmp384_interface_debug_print("bmp384: set mode failed.\n");
+
350 (void)bmp384_deinit(&gs_handle);
+
351
+
352 return 1;
+
353 }
+
354
+
355 return 0;
+
356}
+
+
357
+
+
369uint8_t bmp384_fifo_read(uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
+
370{
+
371 /* read fifo */
+
372 if (bmp384_read_fifo(&gs_handle, (uint8_t *)buf, (uint16_t *)&buf_len) != 0)
+
373 {
+
374 return 1;
+
375 }
+
376 /* parse fifo */
+
377 if (bmp384_fifo_parse(&gs_handle, (uint8_t *)buf, buf_len, (bmp384_frame_t *)frame, (uint16_t *)frame_len) != 0)
+
378 {
+
379 return 1;
+
380 }
+
381
+
382 return 0;
+
383}
+
+
384
+
+ +
393{
+
394 uint8_t res;
+
395
+
396 /* set sleep mode */
+
397 res = bmp384_set_mode(&gs_handle, BMP384_MODE_SLEEP_MODE);
+
398 if (res != 0)
+
399 {
+
400 return 1;
+
401 }
+
402
+
403 if (bmp384_deinit(&gs_handle) != 0)
+
404 {
+
405 return 1;
+
406 }
+
407
+
408 return 0;
+
409}
+
driver bmp384 fifo header file
-
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
-
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
-
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
-
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
-
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
-
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
-
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
-
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
-
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
-
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
-
uint8_t bmp384_irq_handler(bmp384_handle_t *handle)
irq handler
-
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
-
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
-
@ BMP384_MODE_NORMAL_MODE
-
@ BMP384_MODE_SLEEP_MODE
-
@ BMP384_BOOL_TRUE
Definition: driver_bmp384.h:83
-
uint8_t bmp384_fifo_read(uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
fifo example read
-
#define BMP384_FIFO_DEFAULT_INTERRUPT_WATERMARK
-
uint8_t bmp384_fifo_init(bmp384_interface_t interface, bmp384_address_t addr_pin, void(*fifo_receive_callback)(uint8_t type))
fifo example init
-
#define BMP384_FIFO_DEFAULT_INTERRUPT_DATA_READY
-
#define BMP384_FIFO_DEFAULT_FIFO_SUBSAMPLING
-
#define BMP384_FIFO_DEFAULT_FIFO_SENSORTIME_ON
-
#define BMP384_FIFO_DEFAULT_FIFO_WATERMARK
-
#define BMP384_FIFO_DEFAULT_PRESSURE_OVERSAMPLING
-
#define BMP384_FIFO_DEFAULT_FIFO_DATA_SOURCE
-
#define BMP384_FIFO_DEFAULT_FIFO_TEMPERATURE_ON
-
#define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_PERIOD
-
uint8_t bmp384_fifo_irq_handler(void)
fifo example irq handler
-
uint8_t bmp384_fifo_deinit(void)
fifo example deinit
-
#define BMP384_FIFO_DEFAULT_ODR
-
#define BMP384_FIFO_DEFAULT_PRESSURE
-
#define BMP384_FIFO_DEFAULT_FIFO_STOP_ON_FULL
-
#define BMP384_FIFO_DEFAULT_INTERRUPT_ACTIVE_LEVEL
-
#define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_TIMER
-
#define BMP384_FIFO_DEFAULT_TEMPERATURE_OVERSAMPLING
-
#define BMP384_FIFO_DEFAULT_INTERRUPT_PIN_TYPE
-
#define BMP384_FIFO_DEFAULT_SPI_WIRE
bmp384 fifo example default definition
-
#define BMP384_FIFO_DEFAULT_INTERRUPT_FIFO_FULL
-
#define BMP384_FIFO_DEFAULT_TEMPERATURE
-
#define BMP384_FIFO_DEFAULT_FILTER_COEFFICIENT
-
#define BMP384_FIFO_DEFAULT_LATCH_INTERRUPT
-
#define BMP384_FIFO_DEFAULT_FIFO_PRESSURE_ON
-
uint8_t bmp384_fifo_parse(bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
parse the fifo data
-
uint8_t bmp384_set_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo pressure on
-
uint8_t bmp384_set_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
set the fifo data source
-
uint8_t bmp384_set_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo stopping on full
-
uint8_t bmp384_set_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo sensor time on
-
uint8_t bmp384_read_fifo(bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
read the fifo
-
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
-
uint8_t bmp384_set_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo temperature on
-
uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
set the fifo watermark
-
uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
set the fifo subsampling
-
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
-
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
-
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
-
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
-
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
-
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
-
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
-
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
-
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
-
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
-
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
-
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
-
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
-
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
-
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
-
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
- - - - - - - - - - - - -
bmp384 frame structure definition
-
bmp384 handle structure definition
+
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
+
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
+
bmp384_interface_t
bmp384 interface enumeration definition
+
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
+
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
+
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
+
struct bmp384_frame_s bmp384_frame_t
bmp384 frame structure definition
+
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
+
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
+
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
+
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
+
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
+
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
+
uint8_t bmp384_irq_handler(bmp384_handle_t *handle)
irq handler
+
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
+
struct bmp384_handle_s bmp384_handle_t
bmp384 handle structure definition
+
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
+
@ BMP384_MODE_NORMAL_MODE
+
@ BMP384_MODE_SLEEP_MODE
+
@ BMP384_BOOL_TRUE
+
uint8_t bmp384_fifo_read(uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
fifo example read
+
#define BMP384_FIFO_DEFAULT_INTERRUPT_WATERMARK
+
uint8_t bmp384_fifo_init(bmp384_interface_t interface, bmp384_address_t addr_pin, void(*fifo_receive_callback)(uint8_t type))
fifo example init
+
#define BMP384_FIFO_DEFAULT_INTERRUPT_DATA_READY
+
#define BMP384_FIFO_DEFAULT_FIFO_SUBSAMPLING
+
#define BMP384_FIFO_DEFAULT_FIFO_SENSORTIME_ON
+
#define BMP384_FIFO_DEFAULT_FIFO_WATERMARK
+
#define BMP384_FIFO_DEFAULT_PRESSURE_OVERSAMPLING
+
#define BMP384_FIFO_DEFAULT_FIFO_DATA_SOURCE
+
#define BMP384_FIFO_DEFAULT_FIFO_TEMPERATURE_ON
+
#define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_PERIOD
+
uint8_t bmp384_fifo_irq_handler(void)
fifo example irq handler
+
uint8_t bmp384_fifo_deinit(void)
fifo example deinit
+
#define BMP384_FIFO_DEFAULT_ODR
+
#define BMP384_FIFO_DEFAULT_PRESSURE
+
#define BMP384_FIFO_DEFAULT_FIFO_STOP_ON_FULL
+
#define BMP384_FIFO_DEFAULT_INTERRUPT_ACTIVE_LEVEL
+
#define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_TIMER
+
#define BMP384_FIFO_DEFAULT_TEMPERATURE_OVERSAMPLING
+
#define BMP384_FIFO_DEFAULT_INTERRUPT_PIN_TYPE
+
#define BMP384_FIFO_DEFAULT_SPI_WIRE
bmp384 fifo example default definition
+
#define BMP384_FIFO_DEFAULT_INTERRUPT_FIFO_FULL
+
#define BMP384_FIFO_DEFAULT_TEMPERATURE
+
#define BMP384_FIFO_DEFAULT_FILTER_COEFFICIENT
+
#define BMP384_FIFO_DEFAULT_LATCH_INTERRUPT
+
#define BMP384_FIFO_DEFAULT_FIFO_PRESSURE_ON
+
uint8_t bmp384_fifo_parse(bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
parse the fifo data
+
uint8_t bmp384_set_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo pressure on
+
uint8_t bmp384_set_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
set the fifo data source
+
uint8_t bmp384_set_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo stopping on full
+
uint8_t bmp384_set_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo sensor time on
+
uint8_t bmp384_read_fifo(bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
read the fifo
+
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
+
uint8_t bmp384_set_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo temperature on
+
uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
set the fifo watermark
+
uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
set the fifo subsampling
+
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
+
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
+
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
+
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
+
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
+
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
+
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
+
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
+
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
+
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
+
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
+
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
+
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
+
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
+
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
+
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
+ + + + + + + + + + + +
+
diff --git a/doc/html/driver__bmp384__fifo_8h.html b/doc/html/driver__bmp384__fifo_8h.html index 863c5c2..d030a76 100644 --- a/doc/html/driver__bmp384__fifo_8h.html +++ b/doc/html/driver__bmp384__fifo_8h.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_fifo.h File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_fifo.h File Reference
+
driver_bmp384_fifo.h File Reference

driver bmp384 fifo header file More...

+Include dependency graph for driver_bmp384_fifo.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + +

+

Macros

#define BMP384_FIFO_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 fifo example default definition More...
 
#define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_TRUE
 
#define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_40_MS
 
#define BMP384_FIFO_DEFAULT_FIFO_STOP_ON_FULL   BMP384_BOOL_FALSE
 
#define BMP384_FIFO_DEFAULT_FIFO_WATERMARK   256
 
#define BMP384_FIFO_DEFAULT_FIFO_SENSORTIME_ON   BMP384_BOOL_TRUE
 
#define BMP384_FIFO_DEFAULT_FIFO_PRESSURE_ON   BMP384_BOOL_TRUE
 
#define BMP384_FIFO_DEFAULT_FIFO_TEMPERATURE_ON   BMP384_BOOL_TRUE
 
#define BMP384_FIFO_DEFAULT_FIFO_SUBSAMPLING   0
 
#define BMP384_FIFO_DEFAULT_FIFO_DATA_SOURCE   BMP384_FIFO_DATA_SOURCE_FILTERED
 
#define BMP384_FIFO_DEFAULT_INTERRUPT_PIN_TYPE   BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
 
#define BMP384_FIFO_DEFAULT_INTERRUPT_ACTIVE_LEVEL   BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
 
#define BMP384_FIFO_DEFAULT_INTERRUPT_WATERMARK   BMP384_BOOL_TRUE
 
#define BMP384_FIFO_DEFAULT_INTERRUPT_FIFO_FULL   BMP384_BOOL_FALSE
 
#define BMP384_FIFO_DEFAULT_INTERRUPT_DATA_READY   BMP384_BOOL_FALSE
 
#define BMP384_FIFO_DEFAULT_LATCH_INTERRUPT   BMP384_BOOL_FALSE
 
#define BMP384_FIFO_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
 
#define BMP384_FIFO_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
 
#define BMP384_FIFO_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
 
#define BMP384_FIFO_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
 
#define BMP384_FIFO_DEFAULT_ODR   BMP384_ODR_12P5_HZ
 
#define BMP384_FIFO_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
 
#define BMP384_FIFO_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 fifo example default definition
#define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_TRUE
#define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_40_MS
#define BMP384_FIFO_DEFAULT_FIFO_STOP_ON_FULL   BMP384_BOOL_FALSE
#define BMP384_FIFO_DEFAULT_FIFO_WATERMARK   256
#define BMP384_FIFO_DEFAULT_FIFO_SENSORTIME_ON   BMP384_BOOL_TRUE
#define BMP384_FIFO_DEFAULT_FIFO_PRESSURE_ON   BMP384_BOOL_TRUE
#define BMP384_FIFO_DEFAULT_FIFO_TEMPERATURE_ON   BMP384_BOOL_TRUE
#define BMP384_FIFO_DEFAULT_FIFO_SUBSAMPLING   0
#define BMP384_FIFO_DEFAULT_FIFO_DATA_SOURCE   BMP384_FIFO_DATA_SOURCE_FILTERED
#define BMP384_FIFO_DEFAULT_INTERRUPT_PIN_TYPE   BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
#define BMP384_FIFO_DEFAULT_INTERRUPT_ACTIVE_LEVEL   BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
#define BMP384_FIFO_DEFAULT_INTERRUPT_WATERMARK   BMP384_BOOL_TRUE
#define BMP384_FIFO_DEFAULT_INTERRUPT_FIFO_FULL   BMP384_BOOL_FALSE
#define BMP384_FIFO_DEFAULT_INTERRUPT_DATA_READY   BMP384_BOOL_FALSE
#define BMP384_FIFO_DEFAULT_LATCH_INTERRUPT   BMP384_BOOL_FALSE
#define BMP384_FIFO_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
#define BMP384_FIFO_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
#define BMP384_FIFO_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
#define BMP384_FIFO_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
#define BMP384_FIFO_DEFAULT_ODR   BMP384_ODR_12P5_HZ
#define BMP384_FIFO_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
- - - - - - - - - - - - - + + + + + + + +

+

Functions

uint8_t bmp384_fifo_irq_handler (void)
 fifo example irq handler More...
 
uint8_t bmp384_fifo_init (bmp384_interface_t interface, bmp384_address_t addr_pin, void(*fifo_receive_callback)(uint8_t type))
 fifo example init More...
 
uint8_t bmp384_fifo_deinit (void)
 fifo example deinit More...
 
uint8_t bmp384_fifo_read (uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
 fifo example read More...
 
uint8_t bmp384_fifo_irq_handler (void)
 fifo example irq handler
uint8_t bmp384_fifo_init (bmp384_interface_t interface, bmp384_address_t addr_pin, void(*fifo_receive_callback)(uint8_t type))
 fifo example init
uint8_t bmp384_fifo_deinit (void)
 fifo example deinit
uint8_t bmp384_fifo_read (uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
 fifo example read
-

Detailed Description

+

Detailed Description

driver bmp384 fifo header file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -182,11 +169,19 @@

history

Definition in file driver_bmp384_fifo.h.

+ +
diff --git a/doc/html/driver__bmp384__fifo_8h__dep__incl.md5 b/doc/html/driver__bmp384__fifo_8h__dep__incl.md5 new file mode 100644 index 0000000..39a6fe5 --- /dev/null +++ b/doc/html/driver__bmp384__fifo_8h__dep__incl.md5 @@ -0,0 +1 @@ +4597fcdc2b667167f57954acfdfce2db \ No newline at end of file diff --git a/doc/html/driver__bmp384__fifo_8h__dep__incl.svg b/doc/html/driver__bmp384__fifo_8h__dep__incl.svg new file mode 100644 index 0000000..e0a9a71 --- /dev/null +++ b/doc/html/driver__bmp384__fifo_8h__dep__incl.svg @@ -0,0 +1,41 @@ + + + + + + +example/driver_bmp384_fifo.h + + +Node1 + + +example/driver_bmp384 +_fifo.h + + + + + +Node2 + + +example/driver_bmp384 +_fifo.c + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/driver__bmp384__fifo_8h__incl.md5 b/doc/html/driver__bmp384__fifo_8h__incl.md5 new file mode 100644 index 0000000..08c6d09 --- /dev/null +++ b/doc/html/driver__bmp384__fifo_8h__incl.md5 @@ -0,0 +1 @@ +2ff8b1ca08291272b84c2d76b92ab43e \ No newline at end of file diff --git a/doc/html/driver__bmp384__fifo_8h__incl.svg b/doc/html/driver__bmp384__fifo_8h__incl.svg new file mode 100644 index 0000000..cebb8f0 --- /dev/null +++ b/doc/html/driver__bmp384__fifo_8h__incl.svg @@ -0,0 +1,112 @@ + + + + + + +example/driver_bmp384_fifo.h + + +Node1 + + +example/driver_bmp384 +_fifo.h + + + + + +Node2 + + +driver_bmp384_interface.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +stdint.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdio.h + + + + + +Node3->Node5 + + + + + + + + +Node6 + + +string.h + + + + + +Node3->Node6 + + + + + + + + diff --git a/doc/html/driver__bmp384__fifo_8h_source.html b/doc/html/driver__bmp384__fifo_8h_source.html index fb599b3..ff2b7be 100644 --- a/doc/html/driver__bmp384__fifo_8h_source.html +++ b/doc/html/driver__bmp384__fifo_8h_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_fifo.h Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_fifo.h
+
driver_bmp384_fifo.h
-Go to the documentation of this file.
1 
-
37 #ifndef DRIVER_BMP384_FIFO_H
-
38 #define DRIVER_BMP384_FIFO_H
-
39 
- -
41 
-
42 #ifdef __cplusplus
-
43 extern "C"{
-
44 #endif
-
45 
-
54 #define BMP384_FIFO_DEFAULT_SPI_WIRE BMP384_SPI_WIRE_4
-
55 #define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_TIMER BMP384_BOOL_TRUE
-
56 #define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_PERIOD BMP384_IIC_WATCHDOG_PERIOD_40_MS
-
57 #define BMP384_FIFO_DEFAULT_FIFO_STOP_ON_FULL BMP384_BOOL_FALSE
-
58 #define BMP384_FIFO_DEFAULT_FIFO_WATERMARK 256
-
59 #define BMP384_FIFO_DEFAULT_FIFO_SENSORTIME_ON BMP384_BOOL_TRUE
-
60 #define BMP384_FIFO_DEFAULT_FIFO_PRESSURE_ON BMP384_BOOL_TRUE
-
61 #define BMP384_FIFO_DEFAULT_FIFO_TEMPERATURE_ON BMP384_BOOL_TRUE
-
62 #define BMP384_FIFO_DEFAULT_FIFO_SUBSAMPLING 0
-
63 #define BMP384_FIFO_DEFAULT_FIFO_DATA_SOURCE BMP384_FIFO_DATA_SOURCE_FILTERED
-
64 #define BMP384_FIFO_DEFAULT_INTERRUPT_PIN_TYPE BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
-
65 #define BMP384_FIFO_DEFAULT_INTERRUPT_ACTIVE_LEVEL BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
-
66 #define BMP384_FIFO_DEFAULT_INTERRUPT_WATERMARK BMP384_BOOL_TRUE
-
67 #define BMP384_FIFO_DEFAULT_INTERRUPT_FIFO_FULL BMP384_BOOL_FALSE
-
68 #define BMP384_FIFO_DEFAULT_INTERRUPT_DATA_READY BMP384_BOOL_FALSE
-
69 #define BMP384_FIFO_DEFAULT_LATCH_INTERRUPT BMP384_BOOL_FALSE
-
70 #define BMP384_FIFO_DEFAULT_PRESSURE BMP384_BOOL_TRUE
-
71 #define BMP384_FIFO_DEFAULT_TEMPERATURE BMP384_BOOL_TRUE
-
72 #define BMP384_FIFO_DEFAULT_PRESSURE_OVERSAMPLING BMP384_OVERSAMPLING_x32
-
73 #define BMP384_FIFO_DEFAULT_TEMPERATURE_OVERSAMPLING BMP384_OVERSAMPLING_x2
-
74 #define BMP384_FIFO_DEFAULT_ODR BMP384_ODR_12P5_HZ
-
75 #define BMP384_FIFO_DEFAULT_FILTER_COEFFICIENT BMP384_FILTER_COEFFICIENT_15
-
84 uint8_t bmp384_fifo_irq_handler(void);
-
85 
-
96 uint8_t bmp384_fifo_init(bmp384_interface_t interface, bmp384_address_t addr_pin,
-
97  void (*fifo_receive_callback)(uint8_t type));
-
98 
-
106 uint8_t bmp384_fifo_deinit(void);
-
107 
-
119 uint8_t bmp384_fifo_read(uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len);
-
120 
-
125 #ifdef __cplusplus
-
126 }
-
127 #endif
-
128 
-
129 #endif
+Go to the documentation of this file.
1
+
36
+
37#ifndef DRIVER_BMP384_FIFO_H
+
38#define DRIVER_BMP384_FIFO_H
+
39
+ +
41
+
42#ifdef __cplusplus
+
43extern "C"{
+
44#endif
+
45
+
50
+
54#define BMP384_FIFO_DEFAULT_SPI_WIRE BMP384_SPI_WIRE_4
+
55#define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_TIMER BMP384_BOOL_TRUE
+
56#define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_PERIOD BMP384_IIC_WATCHDOG_PERIOD_40_MS
+
57#define BMP384_FIFO_DEFAULT_FIFO_STOP_ON_FULL BMP384_BOOL_FALSE
+
58#define BMP384_FIFO_DEFAULT_FIFO_WATERMARK 256
+
59#define BMP384_FIFO_DEFAULT_FIFO_SENSORTIME_ON BMP384_BOOL_TRUE
+
60#define BMP384_FIFO_DEFAULT_FIFO_PRESSURE_ON BMP384_BOOL_TRUE
+
61#define BMP384_FIFO_DEFAULT_FIFO_TEMPERATURE_ON BMP384_BOOL_TRUE
+
62#define BMP384_FIFO_DEFAULT_FIFO_SUBSAMPLING 0
+
63#define BMP384_FIFO_DEFAULT_FIFO_DATA_SOURCE BMP384_FIFO_DATA_SOURCE_FILTERED
+
64#define BMP384_FIFO_DEFAULT_INTERRUPT_PIN_TYPE BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
+
65#define BMP384_FIFO_DEFAULT_INTERRUPT_ACTIVE_LEVEL BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
+
66#define BMP384_FIFO_DEFAULT_INTERRUPT_WATERMARK BMP384_BOOL_TRUE
+
67#define BMP384_FIFO_DEFAULT_INTERRUPT_FIFO_FULL BMP384_BOOL_FALSE
+
68#define BMP384_FIFO_DEFAULT_INTERRUPT_DATA_READY BMP384_BOOL_FALSE
+
69#define BMP384_FIFO_DEFAULT_LATCH_INTERRUPT BMP384_BOOL_FALSE
+
70#define BMP384_FIFO_DEFAULT_PRESSURE BMP384_BOOL_TRUE
+
71#define BMP384_FIFO_DEFAULT_TEMPERATURE BMP384_BOOL_TRUE
+
72#define BMP384_FIFO_DEFAULT_PRESSURE_OVERSAMPLING BMP384_OVERSAMPLING_x32
+
73#define BMP384_FIFO_DEFAULT_TEMPERATURE_OVERSAMPLING BMP384_OVERSAMPLING_x2
+
74#define BMP384_FIFO_DEFAULT_ODR BMP384_ODR_12P5_HZ
+
75#define BMP384_FIFO_DEFAULT_FILTER_COEFFICIENT BMP384_FILTER_COEFFICIENT_15
+
76
+
84uint8_t bmp384_fifo_irq_handler(void);
+
85
+
96uint8_t bmp384_fifo_init(bmp384_interface_t interface, bmp384_address_t addr_pin,
+
97 void (*fifo_receive_callback)(uint8_t type));
+
98
+
106uint8_t bmp384_fifo_deinit(void);
+
107
+
119uint8_t bmp384_fifo_read(uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len);
+
120
+
124
+
125#ifdef __cplusplus
+
126}
+
127#endif
+
128
+
129#endif
driver bmp384 interface header file
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_fifo_read(uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
fifo example read
-
uint8_t bmp384_fifo_init(bmp384_interface_t interface, bmp384_address_t addr_pin, void(*fifo_receive_callback)(uint8_t type))
fifo example init
-
uint8_t bmp384_fifo_irq_handler(void)
fifo example irq handler
-
uint8_t bmp384_fifo_deinit(void)
fifo example deinit
-
bmp384 frame structure definition
+
bmp384_interface_t
bmp384 interface enumeration definition
+
struct bmp384_frame_s bmp384_frame_t
bmp384 frame structure definition
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_fifo_read(uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
fifo example read
+
uint8_t bmp384_fifo_init(bmp384_interface_t interface, bmp384_address_t addr_pin, void(*fifo_receive_callback)(uint8_t type))
fifo example init
+
uint8_t bmp384_fifo_irq_handler(void)
fifo example irq handler
+
uint8_t bmp384_fifo_deinit(void)
fifo example deinit
+
diff --git a/doc/html/driver__bmp384__fifo__test_8c.html b/doc/html/driver__bmp384__fifo__test_8c.html index 0e2e440..5a0efcb 100644 --- a/doc/html/driver__bmp384__fifo__test_8c.html +++ b/doc/html/driver__bmp384__fifo__test_8c.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_fifo_test.c File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_fifo_test.c File Reference
+
driver_bmp384_fifo_test.c File Reference

driver bmp384 fifo test source file More...

+Include dependency graph for driver_bmp384_fifo_test.c:
+
+
+

Go to the source code of this file.

- - - - - - - + + + +

+

Functions

uint8_t bmp384_fifo_test_irq_handler (void)
 fifo test irq handler More...
 
uint8_t bmp384_fifo_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 fifo test More...
 
uint8_t bmp384_fifo_test_irq_handler (void)
 fifo test irq handler
uint8_t bmp384_fifo_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 fifo test
-

Detailed Description

+

Detailed Description

driver bmp384 fifo test source file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -127,11 +134,19 @@

history

Definition in file driver_bmp384_fifo_test.c.

+ +
diff --git a/doc/html/driver__bmp384__fifo__test_8c__incl.md5 b/doc/html/driver__bmp384__fifo__test_8c__incl.md5 new file mode 100644 index 0000000..2ab52b5 --- /dev/null +++ b/doc/html/driver__bmp384__fifo__test_8c__incl.md5 @@ -0,0 +1 @@ +46ce9af08faaf02ce5eb199f7ea8c161 \ No newline at end of file diff --git a/doc/html/driver__bmp384__fifo__test_8c__incl.svg b/doc/html/driver__bmp384__fifo__test_8c__incl.svg new file mode 100644 index 0000000..51315e3 --- /dev/null +++ b/doc/html/driver__bmp384__fifo__test_8c__incl.svg @@ -0,0 +1,131 @@ + + + + + + +test/driver_bmp384_fifo_test.c + + +Node1 + + +test/driver_bmp384 +_fifo_test.c + + + + + +Node2 + + +driver_bmp384_fifo +_test.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384_interface.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +driver_bmp384.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdint.h + + + + + +Node4->Node5 + + + + + + + + +Node6 + + +stdio.h + + + + + +Node4->Node6 + + + + + + + + +Node7 + + +string.h + + + + + +Node4->Node7 + + + + + + + + diff --git a/doc/html/driver__bmp384__fifo__test_8c_source.html b/doc/html/driver__bmp384__fifo__test_8c_source.html index 3a31a23..a99c03a 100644 --- a/doc/html/driver__bmp384__fifo__test_8c_source.html +++ b/doc/html/driver__bmp384__fifo__test_8c_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_fifo_test.c Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_fifo_test.c
+
driver_bmp384_fifo_test.c
-Go to the documentation of this file.
1 
- -
38 
-
39 static bmp384_handle_t gs_handle;
-
40 static volatile uint8_t gs_fifo_full_flag;
-
41 static volatile uint8_t gs_fifo_watermark_flag;
-
42 static uint8_t gs_buf[512];
-
43 static bmp384_frame_t gs_frame[256];
- -
53 {
-
54  /* run irq handler */
-
55  if (bmp384_irq_handler(&gs_handle) != 0)
-
56  {
-
57  return 1;
-
58  }
-
59  else
-
60  {
-
61  return 0;
-
62  }
-
63 }
-
64 
-
70 static void a_bmp384_interface_test_receive_callback(uint8_t type)
-
71 {
-
72  switch (type)
-
73  {
- -
75  {
-
76  if (gs_fifo_watermark_flag == 0)
-
77  {
-
78  uint16_t len;
-
79 
-
80  len = 512;
-
81  /* read fifo */
-
82  if (bmp384_read_fifo(&gs_handle, (uint8_t *)gs_buf, (uint16_t *)&len) != 0)
-
83  {
-
84  bmp384_interface_debug_print("bmp384: read fifo failed.\n");
-
85 
-
86  return;
-
87  }
-
88  bmp384_interface_debug_print("bmp384: read fifo with length %d.\n", len);
-
89  gs_fifo_watermark_flag = 1;
-
90  }
-
91 
-
92  break;
-
93  }
- -
95  {
-
96  uint16_t len;
-
97  uint16_t frame_len;
-
98 
-
99  len = 512;
-
100  /* read fifo */
-
101  if (bmp384_read_fifo(&gs_handle, (uint8_t *)gs_buf, (uint16_t *)&len) != 0)
-
102  {
-
103  bmp384_interface_debug_print("bmp384: read fifo failed.\n");
-
104 
-
105  return;
-
106  }
-
107  if (len > 4)
-
108  {
-
109  bmp384_interface_debug_print("bmp384: clear fifo with length %d.\n", len);
-
110  frame_len = 256;
-
111 
-
112  /* parse fifo */
-
113  if (bmp384_fifo_parse(&gs_handle, (uint8_t *)gs_buf, len, (bmp384_frame_t *)gs_frame, (uint16_t *)&frame_len) != 0)
-
114  {
-
115  bmp384_interface_debug_print("bmp384: fifo parse failed.\n");
-
116 
-
117  return;
-
118  }
-
119  else
-
120  {
-
121  bmp384_interface_debug_print("bmp384: fifo parse success and total frame is %d.\n", frame_len);
-
122  }
-
123  }
-
124  gs_fifo_full_flag = 1;
-
125 
-
126  break;
-
127  }
- -
129  {
-
130  break;
-
131  }
-
132  default :
-
133  {
-
134  break;
-
135  }
-
136  }
-
137 }
-
138 
-
149 uint8_t bmp384_fifo_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
-
150 {
-
151  uint8_t res;
-
152  uint32_t i;
-
153  bmp384_info_t info;
-
154 
-
155  /* link functions */
- - - - - - - - - - - -
167  DRIVER_BMP384_LINK_RECEIVE_CALLBACK(&gs_handle, a_bmp384_interface_test_receive_callback);
-
168 
-
169  /* bmp384 info */
-
170  res = bmp384_info(&info);
-
171  if (res != 0)
-
172  {
-
173  bmp384_interface_debug_print("bmp384: get info failed.\n");
-
174 
-
175  return 1;
-
176  }
-
177  else
-
178  {
-
179  /* print chip information */
-
180  bmp384_interface_debug_print("bmp384: chip is %s.\n", info.chip_name);
-
181  bmp384_interface_debug_print("bmp384: manufacturer is %s.\n", info.manufacturer_name);
-
182  bmp384_interface_debug_print("bmp384: interface is %s.\n", info.interface);
-
183  bmp384_interface_debug_print("bmp384: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
-
184  bmp384_interface_debug_print("bmp384: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
-
185  bmp384_interface_debug_print("bmp384: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
-
186  bmp384_interface_debug_print("bmp384: max current is %0.2fmA.\n", info.max_current_ma);
-
187  bmp384_interface_debug_print("bmp384: max temperature is %0.1fC.\n", info.temperature_max);
-
188  bmp384_interface_debug_print("bmp384: min temperature is %0.1fC.\n", info.temperature_min);
-
189  }
-
190 
-
191  /* start fifo test */
-
192  bmp384_interface_debug_print("bmp384: start fifo test.\n");
-
193 
-
194  /* set interface */
-
195  res = bmp384_set_interface(&gs_handle, interface);
-
196  if (res != 0)
-
197  {
-
198  bmp384_interface_debug_print("bmp384: set interface failed.\n");
-
199 
-
200  return 1;
-
201  }
-
202 
-
203  /* set addr pin */
-
204  res = bmp384_set_addr_pin(&gs_handle, addr_pin);
-
205  if (res != 0)
-
206  {
-
207  bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
-
208 
-
209  return 1;
-
210  }
-
211 
-
212  /* bmp384 init */
-
213  res = bmp384_init(&gs_handle);
-
214  if (res != 0)
-
215  {
-
216  bmp384_interface_debug_print("bmp384: init failed.\n");
-
217 
-
218  return 1;
-
219  }
-
220 
-
221  /* set spi wire 4 */
-
222  res = bmp384_set_spi_wire(&gs_handle, BMP384_SPI_WIRE_4);
-
223  if (res != 0)
-
224  {
-
225  bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
-
226  (void)bmp384_deinit(&gs_handle);
-
227 
-
228  return 1;
-
229  }
-
230 
-
231  /* enable iic watchdog timer */
- -
233  if (res != 0)
-
234  {
-
235  bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
-
236  (void)bmp384_deinit(&gs_handle);
-
237 
-
238  return 1;
-
239  }
-
240 
-
241  /* set iic watchdog period 40 ms */
- -
243  if (res != 0)
-
244  {
-
245  bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
-
246  (void)bmp384_deinit(&gs_handle);
-
247 
-
248  return 1;
-
249  }
-
250 
-
251  /* enable fifo */
-
252  res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_TRUE);
-
253  if (res != 0)
-
254  {
-
255  bmp384_interface_debug_print("bmp384: set fifo failed.\n");
-
256  (void)bmp384_deinit(&gs_handle);
-
257 
-
258  return 1;
-
259  }
-
260 
-
261  /* enable fifo stop on full */
- -
263  if (res != 0)
-
264  {
-
265  bmp384_interface_debug_print("bmp384: set fifo stop on full failed.\n");
-
266  (void)bmp384_deinit(&gs_handle);
-
267 
-
268  return 1;
-
269  }
-
270 
-
271  /* set fifo watermark 500 */
-
272  res = bmp384_set_fifo_watermark(&gs_handle, 500);
-
273  if (res != 0)
-
274  {
-
275  bmp384_interface_debug_print("bmp384: set fifo watermark failed.\n");
-
276  (void)bmp384_deinit(&gs_handle);
-
277 
-
278  return 1;
-
279  }
-
280 
-
281  /* enable fifo sensor time on */
- -
283  if (res != 0)
-
284  {
-
285  bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
-
286  (void)bmp384_deinit(&gs_handle);
-
287 
-
288  return 1;
-
289  }
- -
291  if (res != 0)
-
292  {
-
293  bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
-
294  (void)bmp384_deinit(&gs_handle);
-
295 
-
296  return 1;
-
297  }
- -
299  if (res != 0)
-
300  {
-
301  bmp384_interface_debug_print("bmp384: set fifo temperature on failed.\n");
-
302  (void)bmp384_deinit(&gs_handle);
-
303 
-
304  return 1;
-
305  }
-
306  res = bmp384_set_fifo_subsampling(&gs_handle, 0);
-
307  if (res != 0)
-
308  {
-
309  bmp384_interface_debug_print("bmp384: set fifo subsampling failed.\n");
-
310  (void)bmp384_deinit(&gs_handle);
-
311 
-
312  return 1;
-
313  }
- -
315  if (res != 0)
-
316  {
-
317  bmp384_interface_debug_print("bmp384: set fifo data source failed.\n");
-
318  (void)bmp384_deinit(&gs_handle);
-
319 
-
320  return 1;
-
321  }
-
322 
-
323  /* set interrupt pin type push-pull */
- -
325  if (res != 0)
-
326  {
-
327  bmp384_interface_debug_print("bmp384: set interrupt pin type failed.\n");
-
328  (void)bmp384_deinit(&gs_handle);
-
329 
-
330  return 1;
-
331  }
-
332 
-
333  /* set interrupt active level higher */
- -
335  if (res != 0)
-
336  {
-
337  bmp384_interface_debug_print("bmp384: set interrupt active level failed.\n");
-
338  (void)bmp384_deinit(&gs_handle);
-
339 
-
340  return 1;
-
341  }
-
342 
-
343  /* disable latch interrupt pin and interrupt status */
- -
345  if (res != 0)
-
346  {
-
347  bmp384_interface_debug_print("bmp384: set set latch interrupt pin and interrupt status failed.\n");
-
348  (void)bmp384_deinit(&gs_handle);
-
349 
-
350  return 1;
-
351  }
-
352 
-
353  /* enable interrupt fifo watermark */
- -
355  if (res != 0)
-
356  {
-
357  bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
-
358  (void)bmp384_deinit(&gs_handle);
-
359 
-
360  return 1;
-
361  }
-
362 
-
363  /* enable interrupt fifo full */
- -
365  if (res != 0)
-
366  {
-
367  bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
-
368  (void)bmp384_deinit(&gs_handle);
-
369 
-
370  return 1;
-
371  }
-
372 
-
373  /* disable interrupt data ready */
- -
375  if (res != 0)
-
376  {
-
377  bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
-
378  (void)bmp384_deinit(&gs_handle);
-
379 
-
380  return 1;
-
381  }
-
382 
-
383  /* enable pressure */
-
384  res = bmp384_set_pressure(&gs_handle, BMP384_BOOL_TRUE);
-
385  if (res != 0)
-
386  {
-
387  bmp384_interface_debug_print("bmp384: set pressure failed.\n");
-
388  (void)bmp384_deinit(&gs_handle);
-
389 
-
390  return 1;
-
391  }
-
392 
-
393  /* enable temperature */
-
394  res = bmp384_set_temperature(&gs_handle, BMP384_BOOL_TRUE);
-
395  if (res != 0)
-
396  {
-
397  bmp384_interface_debug_print("bmp384: set temperature failed.\n");
-
398  (void)bmp384_deinit(&gs_handle);
-
399 
-
400  return 1;
-
401  }
-
402 
-
403  /* set pressure oversampling x32 */
- -
405  if (res != 0)
-
406  {
-
407  bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
-
408  (void)bmp384_deinit(&gs_handle);
-
409 
-
410  return 1;
-
411  }
-
412 
-
413  /* set temperature oversampling x2 */
- -
415  if (res != 0)
-
416  {
-
417  bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
-
418  (void)bmp384_deinit(&gs_handle);
-
419 
-
420  return 1;
-
421  }
-
422 
-
423  /* set odr 12.5Hz */
-
424  res = bmp384_set_odr(&gs_handle, BMP384_ODR_12P5_HZ);
-
425  if (res != 0)
-
426  {
-
427  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
428  (void)bmp384_deinit(&gs_handle);
-
429 
-
430  return 1;
-
431  }
-
432 
-
433  /* set filter coefficient 15 */
- -
435  if (res != 0)
-
436  {
-
437  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
438  (void)bmp384_deinit(&gs_handle);
-
439 
-
440  return 1;
-
441  }
-
442 
-
443  /* set normal mode */
-
444  res = bmp384_set_mode(&gs_handle, BMP384_MODE_NORMAL_MODE);
-
445  if (res != 0)
-
446  {
-
447  bmp384_interface_debug_print("bmp384: set mode failed.\n");
-
448  (void)bmp384_deinit(&gs_handle);
-
449 
-
450  return 1;
-
451  }
-
452 
-
453  /* fifo watermark test */
-
454  bmp384_interface_debug_print("bmp384: fifo watermark test.\n");
-
455  for (i = 0; i < times; i++)
-
456  {
-
457  uint32_t num;
-
458 
-
459  gs_fifo_watermark_flag = 0;
-
460  num = 0;
-
461  while(gs_fifo_watermark_flag == 0)
-
462  {
-
463  num++;
-
464  if (num > 5000)
-
465  {
-
466  bmp384_interface_debug_print("bmp384: fifo interrupt failed.\n");
-
467  (void)bmp384_deinit(&gs_handle);
-
468 
-
469  return 1;
-
470  }
- -
472  }
-
473  }
-
474 
-
475  /* fifo full test */
-
476  bmp384_interface_debug_print("bmp384: fifo full test.\n");
-
477 
-
478  for (i = 0; i < times; i++)
-
479  {
-
480  uint32_t num;
-
481 
-
482  gs_fifo_watermark_flag = 2;
-
483  gs_fifo_full_flag = 0;
-
484  num = 0;
-
485  while (gs_fifo_full_flag == 0)
-
486  {
-
487  num++;
-
488  if (num > 5000)
-
489  {
-
490  bmp384_interface_debug_print("bmp384: fifo interrupt failed.\n");
-
491  (void)bmp384_deinit(&gs_handle);
-
492 
-
493  return 1;
-
494  }
- -
496  }
-
497  }
-
498 
-
499  /* set sleep mode */
-
500  res = bmp384_set_mode(&gs_handle, BMP384_MODE_SLEEP_MODE);
-
501  if (res != 0)
-
502  {
-
503  bmp384_interface_debug_print("bmp384: set mode failed.\n");
-
504  (void)bmp384_deinit(&gs_handle);
-
505 
-
506  return 1;
-
507  }
-
508 
-
509  /* finish fifo test */
-
510  bmp384_interface_debug_print("bmp384: finish fifo test.\n");
-
511  (void)bmp384_deinit(&gs_handle);
-
512 
-
513  return 0;
-
514 }
+Go to the documentation of this file.
1
+
36
+ +
38
+
39static bmp384_handle_t gs_handle;
+
40static volatile uint8_t gs_fifo_full_flag;
+
41static volatile uint8_t gs_fifo_watermark_flag;
+
42static uint8_t gs_buf[512];
+
43static bmp384_frame_t gs_frame[256];
+
44
+
+ +
53{
+
54 /* run irq handler */
+
55 if (bmp384_irq_handler(&gs_handle) != 0)
+
56 {
+
57 return 1;
+
58 }
+
59 else
+
60 {
+
61 return 0;
+
62 }
+
63}
+
+
64
+
70static void a_bmp384_interface_test_receive_callback(uint8_t type)
+
71{
+
72 switch (type)
+
73 {
+ +
75 {
+
76 if (gs_fifo_watermark_flag == 0)
+
77 {
+
78 uint16_t len;
+
79
+
80 len = 512;
+
81 /* read fifo */
+
82 if (bmp384_read_fifo(&gs_handle, (uint8_t *)gs_buf, (uint16_t *)&len) != 0)
+
83 {
+
84 bmp384_interface_debug_print("bmp384: read fifo failed.\n");
+
85
+
86 return;
+
87 }
+
88 bmp384_interface_debug_print("bmp384: read fifo with length %d.\n", len);
+
89 gs_fifo_watermark_flag = 1;
+
90 }
+
91
+
92 break;
+
93 }
+ +
95 {
+
96 uint16_t len;
+
97 uint16_t frame_len;
+
98
+
99 len = 512;
+
100 /* read fifo */
+
101 if (bmp384_read_fifo(&gs_handle, (uint8_t *)gs_buf, (uint16_t *)&len) != 0)
+
102 {
+
103 bmp384_interface_debug_print("bmp384: read fifo failed.\n");
+
104
+
105 return;
+
106 }
+
107 if (len > 4)
+
108 {
+
109 bmp384_interface_debug_print("bmp384: clear fifo with length %d.\n", len);
+
110 frame_len = 256;
+
111
+
112 /* parse fifo */
+
113 if (bmp384_fifo_parse(&gs_handle, (uint8_t *)gs_buf, len, (bmp384_frame_t *)gs_frame, (uint16_t *)&frame_len) != 0)
+
114 {
+
115 bmp384_interface_debug_print("bmp384: fifo parse failed.\n");
+
116
+
117 return;
+
118 }
+
119 else
+
120 {
+
121 bmp384_interface_debug_print("bmp384: fifo parse success and total frame is %d.\n", frame_len);
+
122 }
+
123 }
+
124 gs_fifo_full_flag = 1;
+
125
+
126 break;
+
127 }
+ +
129 {
+
130 break;
+
131 }
+
132 default :
+
133 {
+
134 break;
+
135 }
+
136 }
+
137}
+
138
+
+
149uint8_t bmp384_fifo_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
+
150{
+
151 uint8_t res;
+
152 uint32_t i;
+
153 bmp384_info_t info;
+
154
+
155 /* link functions */
+ + + + + + + + + + + +
167 DRIVER_BMP384_LINK_RECEIVE_CALLBACK(&gs_handle, a_bmp384_interface_test_receive_callback);
+
168
+
169 /* bmp384 info */
+
170 res = bmp384_info(&info);
+
171 if (res != 0)
+
172 {
+
173 bmp384_interface_debug_print("bmp384: get info failed.\n");
+
174
+
175 return 1;
+
176 }
+
177 else
+
178 {
+
179 /* print chip information */
+
180 bmp384_interface_debug_print("bmp384: chip is %s.\n", info.chip_name);
+
181 bmp384_interface_debug_print("bmp384: manufacturer is %s.\n", info.manufacturer_name);
+
182 bmp384_interface_debug_print("bmp384: interface is %s.\n", info.interface);
+
183 bmp384_interface_debug_print("bmp384: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
+
184 bmp384_interface_debug_print("bmp384: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
+
185 bmp384_interface_debug_print("bmp384: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
+
186 bmp384_interface_debug_print("bmp384: max current is %0.2fmA.\n", info.max_current_ma);
+
187 bmp384_interface_debug_print("bmp384: max temperature is %0.1fC.\n", info.temperature_max);
+
188 bmp384_interface_debug_print("bmp384: min temperature is %0.1fC.\n", info.temperature_min);
+
189 }
+
190
+
191 /* start fifo test */
+
192 bmp384_interface_debug_print("bmp384: start fifo test.\n");
+
193
+
194 /* set interface */
+
195 res = bmp384_set_interface(&gs_handle, interface);
+
196 if (res != 0)
+
197 {
+
198 bmp384_interface_debug_print("bmp384: set interface failed.\n");
+
199
+
200 return 1;
+
201 }
+
202
+
203 /* set addr pin */
+
204 res = bmp384_set_addr_pin(&gs_handle, addr_pin);
+
205 if (res != 0)
+
206 {
+
207 bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
+
208
+
209 return 1;
+
210 }
+
211
+
212 /* bmp384 init */
+
213 res = bmp384_init(&gs_handle);
+
214 if (res != 0)
+
215 {
+
216 bmp384_interface_debug_print("bmp384: init failed.\n");
+
217
+
218 return 1;
+
219 }
+
220
+
221 /* set spi wire 4 */
+
222 res = bmp384_set_spi_wire(&gs_handle, BMP384_SPI_WIRE_4);
+
223 if (res != 0)
+
224 {
+
225 bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
+
226 (void)bmp384_deinit(&gs_handle);
+
227
+
228 return 1;
+
229 }
+
230
+
231 /* enable iic watchdog timer */
+ +
233 if (res != 0)
+
234 {
+
235 bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
+
236 (void)bmp384_deinit(&gs_handle);
+
237
+
238 return 1;
+
239 }
+
240
+
241 /* set iic watchdog period 40 ms */
+ +
243 if (res != 0)
+
244 {
+
245 bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
+
246 (void)bmp384_deinit(&gs_handle);
+
247
+
248 return 1;
+
249 }
+
250
+
251 /* enable fifo */
+
252 res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_TRUE);
+
253 if (res != 0)
+
254 {
+
255 bmp384_interface_debug_print("bmp384: set fifo failed.\n");
+
256 (void)bmp384_deinit(&gs_handle);
+
257
+
258 return 1;
+
259 }
+
260
+
261 /* enable fifo stop on full */
+ +
263 if (res != 0)
+
264 {
+
265 bmp384_interface_debug_print("bmp384: set fifo stop on full failed.\n");
+
266 (void)bmp384_deinit(&gs_handle);
+
267
+
268 return 1;
+
269 }
+
270
+
271 /* set fifo watermark 500 */
+
272 res = bmp384_set_fifo_watermark(&gs_handle, 500);
+
273 if (res != 0)
+
274 {
+
275 bmp384_interface_debug_print("bmp384: set fifo watermark failed.\n");
+
276 (void)bmp384_deinit(&gs_handle);
+
277
+
278 return 1;
+
279 }
+
280
+
281 /* enable fifo sensor time on */
+ +
283 if (res != 0)
+
284 {
+
285 bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
+
286 (void)bmp384_deinit(&gs_handle);
+
287
+
288 return 1;
+
289 }
+ +
291 if (res != 0)
+
292 {
+
293 bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
+
294 (void)bmp384_deinit(&gs_handle);
+
295
+
296 return 1;
+
297 }
+ +
299 if (res != 0)
+
300 {
+
301 bmp384_interface_debug_print("bmp384: set fifo temperature on failed.\n");
+
302 (void)bmp384_deinit(&gs_handle);
+
303
+
304 return 1;
+
305 }
+
306 res = bmp384_set_fifo_subsampling(&gs_handle, 0);
+
307 if (res != 0)
+
308 {
+
309 bmp384_interface_debug_print("bmp384: set fifo subsampling failed.\n");
+
310 (void)bmp384_deinit(&gs_handle);
+
311
+
312 return 1;
+
313 }
+ +
315 if (res != 0)
+
316 {
+
317 bmp384_interface_debug_print("bmp384: set fifo data source failed.\n");
+
318 (void)bmp384_deinit(&gs_handle);
+
319
+
320 return 1;
+
321 }
+
322
+
323 /* set interrupt pin type push-pull */
+ +
325 if (res != 0)
+
326 {
+
327 bmp384_interface_debug_print("bmp384: set interrupt pin type failed.\n");
+
328 (void)bmp384_deinit(&gs_handle);
+
329
+
330 return 1;
+
331 }
+
332
+
333 /* set interrupt active level higher */
+ +
335 if (res != 0)
+
336 {
+
337 bmp384_interface_debug_print("bmp384: set interrupt active level failed.\n");
+
338 (void)bmp384_deinit(&gs_handle);
+
339
+
340 return 1;
+
341 }
+
342
+
343 /* disable latch interrupt pin and interrupt status */
+ +
345 if (res != 0)
+
346 {
+
347 bmp384_interface_debug_print("bmp384: set set latch interrupt pin and interrupt status failed.\n");
+
348 (void)bmp384_deinit(&gs_handle);
+
349
+
350 return 1;
+
351 }
+
352
+
353 /* enable interrupt fifo watermark */
+ +
355 if (res != 0)
+
356 {
+
357 bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
+
358 (void)bmp384_deinit(&gs_handle);
+
359
+
360 return 1;
+
361 }
+
362
+
363 /* enable interrupt fifo full */
+ +
365 if (res != 0)
+
366 {
+
367 bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
+
368 (void)bmp384_deinit(&gs_handle);
+
369
+
370 return 1;
+
371 }
+
372
+
373 /* disable interrupt data ready */
+ +
375 if (res != 0)
+
376 {
+
377 bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
+
378 (void)bmp384_deinit(&gs_handle);
+
379
+
380 return 1;
+
381 }
+
382
+
383 /* enable pressure */
+
384 res = bmp384_set_pressure(&gs_handle, BMP384_BOOL_TRUE);
+
385 if (res != 0)
+
386 {
+
387 bmp384_interface_debug_print("bmp384: set pressure failed.\n");
+
388 (void)bmp384_deinit(&gs_handle);
+
389
+
390 return 1;
+
391 }
+
392
+
393 /* enable temperature */
+
394 res = bmp384_set_temperature(&gs_handle, BMP384_BOOL_TRUE);
+
395 if (res != 0)
+
396 {
+
397 bmp384_interface_debug_print("bmp384: set temperature failed.\n");
+
398 (void)bmp384_deinit(&gs_handle);
+
399
+
400 return 1;
+
401 }
+
402
+
403 /* set pressure oversampling x32 */
+ +
405 if (res != 0)
+
406 {
+
407 bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
+
408 (void)bmp384_deinit(&gs_handle);
+
409
+
410 return 1;
+
411 }
+
412
+
413 /* set temperature oversampling x2 */
+ +
415 if (res != 0)
+
416 {
+
417 bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
+
418 (void)bmp384_deinit(&gs_handle);
+
419
+
420 return 1;
+
421 }
+
422
+
423 /* set odr 12.5Hz */
+
424 res = bmp384_set_odr(&gs_handle, BMP384_ODR_12P5_HZ);
+
425 if (res != 0)
+
426 {
+
427 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
428 (void)bmp384_deinit(&gs_handle);
+
429
+
430 return 1;
+
431 }
+
432
+
433 /* set filter coefficient 15 */
+ +
435 if (res != 0)
+
436 {
+
437 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
438 (void)bmp384_deinit(&gs_handle);
+
439
+
440 return 1;
+
441 }
+
442
+
443 /* set normal mode */
+
444 res = bmp384_set_mode(&gs_handle, BMP384_MODE_NORMAL_MODE);
+
445 if (res != 0)
+
446 {
+
447 bmp384_interface_debug_print("bmp384: set mode failed.\n");
+
448 (void)bmp384_deinit(&gs_handle);
+
449
+
450 return 1;
+
451 }
+
452
+
453 /* fifo watermark test */
+
454 bmp384_interface_debug_print("bmp384: fifo watermark test.\n");
+
455 for (i = 0; i < times; i++)
+
456 {
+
457 uint32_t num;
+
458
+
459 gs_fifo_watermark_flag = 0;
+
460 num = 0;
+
461 while(gs_fifo_watermark_flag == 0)
+
462 {
+
463 num++;
+
464 if (num > 5000)
+
465 {
+
466 bmp384_interface_debug_print("bmp384: fifo interrupt failed.\n");
+
467 (void)bmp384_deinit(&gs_handle);
+
468
+
469 return 1;
+
470 }
+ +
472 }
+
473 }
+
474
+
475 /* fifo full test */
+
476 bmp384_interface_debug_print("bmp384: fifo full test.\n");
+
477
+
478 for (i = 0; i < times; i++)
+
479 {
+
480 uint32_t num;
+
481
+
482 gs_fifo_watermark_flag = 2;
+
483 gs_fifo_full_flag = 0;
+
484 num = 0;
+
485 while (gs_fifo_full_flag == 0)
+
486 {
+
487 num++;
+
488 if (num > 5000)
+
489 {
+
490 bmp384_interface_debug_print("bmp384: fifo interrupt failed.\n");
+
491 (void)bmp384_deinit(&gs_handle);
+
492
+
493 return 1;
+
494 }
+ +
496 }
+
497 }
+
498
+
499 /* set sleep mode */
+
500 res = bmp384_set_mode(&gs_handle, BMP384_MODE_SLEEP_MODE);
+
501 if (res != 0)
+
502 {
+
503 bmp384_interface_debug_print("bmp384: set mode failed.\n");
+
504 (void)bmp384_deinit(&gs_handle);
+
505
+
506 return 1;
+
507 }
+
508
+
509 /* finish fifo test */
+
510 bmp384_interface_debug_print("bmp384: finish fifo test.\n");
+
511 (void)bmp384_deinit(&gs_handle);
+
512
+
513 return 0;
+
514}
+
driver bmp384 fifo test header file
-
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
-
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
-
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
-
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
-
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
-
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
-
uint8_t bmp384_info(bmp384_info_t *info)
get chip's information
-
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
-
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
-
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
-
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
-
uint8_t bmp384_irq_handler(bmp384_handle_t *handle)
irq handler
-
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
-
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
-
@ BMP384_MODE_NORMAL_MODE
-
@ BMP384_MODE_SLEEP_MODE
-
@ BMP384_FIFO_DATA_SOURCE_FILTERED
-
@ BMP384_SPI_WIRE_4
-
@ BMP384_BOOL_TRUE
Definition: driver_bmp384.h:83
-
@ BMP384_BOOL_FALSE
Definition: driver_bmp384.h:82
-
@ BMP384_INTERRUPT_STATUS_FIFO_WATERMARK
-
@ BMP384_INTERRUPT_STATUS_FIFO_FULL
-
@ BMP384_INTERRUPT_STATUS_DATA_READY
-
@ BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
-
@ BMP384_ODR_12P5_HZ
-
@ BMP384_FILTER_COEFFICIENT_15
-
@ BMP384_IIC_WATCHDOG_PERIOD_40_MS
-
@ BMP384_OVERSAMPLING_x32
-
@ BMP384_OVERSAMPLING_x2
-
@ BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
-
uint8_t bmp384_fifo_parse(bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
parse the fifo data
-
uint8_t bmp384_set_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo pressure on
-
uint8_t bmp384_set_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
set the fifo data source
-
uint8_t bmp384_set_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo stopping on full
-
uint8_t bmp384_set_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo sensor time on
-
uint8_t bmp384_read_fifo(bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
read the fifo
-
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
-
uint8_t bmp384_set_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo temperature on
-
uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
set the fifo watermark
-
uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
set the fifo subsampling
-
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
-
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
-
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
-
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
-
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
-
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
-
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
-
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
-
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
-
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
-
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
-
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
-
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
-
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
-
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
-
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
- - - - - - - - - - - - -
uint8_t bmp384_fifo_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
fifo test
-
uint8_t bmp384_fifo_test_irq_handler(void)
fifo test irq handler
-
bmp384 frame structure definition
-
bmp384 handle structure definition
-
bmp384 information structure definition
-
float temperature_max
-
float supply_voltage_max_v
-
uint32_t driver_version
-
float temperature_min
-
float max_current_ma
-
char manufacturer_name[32]
-
float supply_voltage_min_v
-
char interface[8]
-
char chip_name[32]
+
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
+
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
+
bmp384_interface_t
bmp384 interface enumeration definition
+
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
+
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
+
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
+
struct bmp384_frame_s bmp384_frame_t
bmp384 frame structure definition
+
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
+
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
+
uint8_t bmp384_info(bmp384_info_t *info)
get chip's information
+
struct bmp384_info_s bmp384_info_t
bmp384 information structure definition
+
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
+
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
+
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
+
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
+
uint8_t bmp384_irq_handler(bmp384_handle_t *handle)
irq handler
+
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
+
struct bmp384_handle_s bmp384_handle_t
bmp384 handle structure definition
+
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
+
@ BMP384_MODE_NORMAL_MODE
+
@ BMP384_MODE_SLEEP_MODE
+
@ BMP384_FIFO_DATA_SOURCE_FILTERED
+
@ BMP384_SPI_WIRE_4
+
@ BMP384_BOOL_TRUE
+
@ BMP384_BOOL_FALSE
+
@ BMP384_INTERRUPT_STATUS_FIFO_WATERMARK
+
@ BMP384_INTERRUPT_STATUS_FIFO_FULL
+
@ BMP384_INTERRUPT_STATUS_DATA_READY
+
@ BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
+
@ BMP384_ODR_12P5_HZ
+
@ BMP384_FILTER_COEFFICIENT_15
+
@ BMP384_IIC_WATCHDOG_PERIOD_40_MS
+
@ BMP384_OVERSAMPLING_x32
+
@ BMP384_OVERSAMPLING_x2
+
@ BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
+
uint8_t bmp384_fifo_parse(bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
parse the fifo data
+
uint8_t bmp384_set_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo pressure on
+
uint8_t bmp384_set_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
set the fifo data source
+
uint8_t bmp384_set_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo stopping on full
+
uint8_t bmp384_set_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo sensor time on
+
uint8_t bmp384_read_fifo(bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
read the fifo
+
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
+
uint8_t bmp384_set_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo temperature on
+
uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
set the fifo watermark
+
uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
set the fifo subsampling
+
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
+
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
+
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
+
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
+
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
+
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
+
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
+
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
+
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
+
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
+
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
+
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
+
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
+
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
+
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
+
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
+ + + + + + + + + + + + +
uint8_t bmp384_fifo_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
fifo test
+
uint8_t bmp384_fifo_test_irq_handler(void)
fifo test irq handler
+ +
float supply_voltage_max_v
+
uint32_t driver_version
+ + +
char manufacturer_name[32]
+
float supply_voltage_min_v
+ +
char chip_name[32]
+
diff --git a/doc/html/driver__bmp384__fifo__test_8h.html b/doc/html/driver__bmp384__fifo__test_8h.html index c1ae6b9..267487c 100644 --- a/doc/html/driver__bmp384__fifo__test_8h.html +++ b/doc/html/driver__bmp384__fifo__test_8h.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_fifo_test.h File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_fifo_test.h File Reference
+
driver_bmp384_fifo_test.h File Reference

driver bmp384 fifo test header file More...

+Include dependency graph for driver_bmp384_fifo_test.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+

Go to the source code of this file.

- - - - - - - + + + +

+

Functions

uint8_t bmp384_fifo_test_irq_handler (void)
 fifo test irq handler More...
 
uint8_t bmp384_fifo_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 fifo test More...
 
uint8_t bmp384_fifo_test_irq_handler (void)
 fifo test irq handler
uint8_t bmp384_fifo_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 fifo test
-

Detailed Description

+

Detailed Description

driver bmp384 fifo test header file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -127,11 +139,19 @@

history

Definition in file driver_bmp384_fifo_test.h.

+ +
diff --git a/doc/html/driver__bmp384__fifo__test_8h__dep__incl.md5 b/doc/html/driver__bmp384__fifo__test_8h__dep__incl.md5 new file mode 100644 index 0000000..655ed6a --- /dev/null +++ b/doc/html/driver__bmp384__fifo__test_8h__dep__incl.md5 @@ -0,0 +1 @@ +b3e59a1f502056e520d2be95c174b5f3 \ No newline at end of file diff --git a/doc/html/driver__bmp384__fifo__test_8h__dep__incl.svg b/doc/html/driver__bmp384__fifo__test_8h__dep__incl.svg new file mode 100644 index 0000000..afb6bf2 --- /dev/null +++ b/doc/html/driver__bmp384__fifo__test_8h__dep__incl.svg @@ -0,0 +1,41 @@ + + + + + + +test/driver_bmp384_fifo_test.h + + +Node1 + + +test/driver_bmp384 +_fifo_test.h + + + + + +Node2 + + +test/driver_bmp384 +_fifo_test.c + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/driver__bmp384__fifo__test_8h__incl.md5 b/doc/html/driver__bmp384__fifo__test_8h__incl.md5 new file mode 100644 index 0000000..7d249ed --- /dev/null +++ b/doc/html/driver__bmp384__fifo__test_8h__incl.md5 @@ -0,0 +1 @@ +f9e92fec14284b05ccbd15bcd4febf8e \ No newline at end of file diff --git a/doc/html/driver__bmp384__fifo__test_8h__incl.svg b/doc/html/driver__bmp384__fifo__test_8h__incl.svg new file mode 100644 index 0000000..cc0a26d --- /dev/null +++ b/doc/html/driver__bmp384__fifo__test_8h__incl.svg @@ -0,0 +1,112 @@ + + + + + + +test/driver_bmp384_fifo_test.h + + +Node1 + + +test/driver_bmp384 +_fifo_test.h + + + + + +Node2 + + +driver_bmp384_interface.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +stdint.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdio.h + + + + + +Node3->Node5 + + + + + + + + +Node6 + + +string.h + + + + + +Node3->Node6 + + + + + + + + diff --git a/doc/html/driver__bmp384__fifo__test_8h_source.html b/doc/html/driver__bmp384__fifo__test_8h_source.html index a382f37..430586e 100644 --- a/doc/html/driver__bmp384__fifo__test_8h_source.html +++ b/doc/html/driver__bmp384__fifo__test_8h_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_fifo_test.h Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_fifo_test.h
+
driver_bmp384_fifo_test.h
-Go to the documentation of this file.
1 
-
37 #ifndef DRIVER_BMP384_FIFO_TEST_H
-
38 #define DRIVER_BMP384_FIFO_TEST_H
-
39 
- -
41 
-
42 #ifdef __cplusplus
-
43 extern "C"{
-
44 #endif
-
45 
-
58 uint8_t bmp384_fifo_test_irq_handler(void);
-
59 
-
70 uint8_t bmp384_fifo_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times);
-
71 
-
76 #ifdef __cplusplus
-
77 }
-
78 #endif
-
79 
-
80 #endif
+Go to the documentation of this file.
1
+
36
+
37#ifndef DRIVER_BMP384_FIFO_TEST_H
+
38#define DRIVER_BMP384_FIFO_TEST_H
+
39
+ +
41
+
42#ifdef __cplusplus
+
43extern "C"{
+
44#endif
+
45
+
50
+ +
59
+
70uint8_t bmp384_fifo_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times);
+
71
+
75
+
76#ifdef __cplusplus
+
77}
+
78#endif
+
79
+
80#endif
driver bmp384 interface header file
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_fifo_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
fifo test
-
uint8_t bmp384_fifo_test_irq_handler(void)
fifo test irq handler
+
bmp384_interface_t
bmp384 interface enumeration definition
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_fifo_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
fifo test
+
uint8_t bmp384_fifo_test_irq_handler(void)
fifo test irq handler
+
diff --git a/doc/html/driver__bmp384__interface_8h.html b/doc/html/driver__bmp384__interface_8h.html index 83cef7e..b972f80 100644 --- a/doc/html/driver__bmp384__interface_8h.html +++ b/doc/html/driver__bmp384__interface_8h.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: interface/driver_bmp384_interface.h File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_interface.h File Reference
+
driver_bmp384_interface.h File Reference

driver bmp384 interface header file More...

#include "driver_bmp384.h"
+
+Include dependency graph for driver_bmp384_interface.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +

+

Functions

uint8_t bmp384_interface_iic_init (void)
 interface iic bus init More...
 
uint8_t bmp384_interface_iic_deinit (void)
 interface iic bus deinit More...
 
uint8_t bmp384_interface_iic_read (uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
 interface iic bus read More...
 
uint8_t bmp384_interface_iic_write (uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
 interface iic bus write More...
 
uint8_t bmp384_interface_spi_init (void)
 interface spi bus init More...
 
uint8_t bmp384_interface_spi_deinit (void)
 interface spi bus deinit More...
 
uint8_t bmp384_interface_spi_read (uint8_t reg, uint8_t *buf, uint16_t len)
 interface spi bus read More...
 
uint8_t bmp384_interface_spi_write (uint8_t reg, uint8_t *buf, uint16_t len)
 interface spi bus write More...
 
void bmp384_interface_delay_ms (uint32_t ms)
 interface delay ms More...
 
void bmp384_interface_debug_print (const char *const fmt,...)
 interface print format data More...
 
void bmp384_interface_receive_callback (uint8_t type)
 interface receive callback More...
 
uint8_t bmp384_interface_iic_init (void)
 interface iic bus init
uint8_t bmp384_interface_iic_deinit (void)
 interface iic bus deinit
uint8_t bmp384_interface_iic_read (uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
 interface iic bus read
uint8_t bmp384_interface_iic_write (uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
 interface iic bus write
uint8_t bmp384_interface_spi_init (void)
 interface spi bus init
uint8_t bmp384_interface_spi_deinit (void)
 interface spi bus deinit
uint8_t bmp384_interface_spi_read (uint8_t reg, uint8_t *buf, uint16_t len)
 interface spi bus read
uint8_t bmp384_interface_spi_write (uint8_t reg, uint8_t *buf, uint16_t len)
 interface spi bus write
void bmp384_interface_delay_ms (uint32_t ms)
 interface delay ms
void bmp384_interface_debug_print (const char *const fmt,...)
 interface print format data
void bmp384_interface_receive_callback (uint8_t type)
 interface receive callback
-

Detailed Description

+

Detailed Description

driver bmp384 interface header file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -154,11 +157,19 @@

history

Definition in file driver_bmp384_interface.h.

+ +
diff --git a/doc/html/driver__bmp384__interface_8h__dep__incl.md5 b/doc/html/driver__bmp384__interface_8h__dep__incl.md5 new file mode 100644 index 0000000..ca0a9cc --- /dev/null +++ b/doc/html/driver__bmp384__interface_8h__dep__incl.md5 @@ -0,0 +1 @@ +7cc9991d3a61ed29538bf50b86cdcad4 \ No newline at end of file diff --git a/doc/html/driver__bmp384__interface_8h__dep__incl.svg b/doc/html/driver__bmp384__interface_8h__dep__incl.svg new file mode 100644 index 0000000..ddd4a6a --- /dev/null +++ b/doc/html/driver__bmp384__interface_8h__dep__incl.svg @@ -0,0 +1,345 @@ + + + + + + +interface/driver_bmp384_interface.h + + +Node1 + + +interface/driver_bmp384 +_interface.h + + + + + +Node2 + + +example/driver_bmp384 +_basic.h + + + + + +Node1->Node2 + + + + + + + + +Node4 + + +example/driver_bmp384 +_fifo.h + + + + + +Node1->Node4 + + + + + + + + +Node6 + + +example/driver_bmp384 +_interrupt.h + + + + + +Node1->Node6 + + + + + + + + +Node8 + + +example/driver_bmp384 +_shot.h + + + + + +Node1->Node8 + + + + + + + + +Node10 + + +interface/driver_bmp384 +_interface_template.c + + + + + +Node1->Node10 + + + + + + + + +Node11 + + +test/driver_bmp384 +_fifo_test.h + + + + + +Node1->Node11 + + + + + + + + +Node13 + + +test/driver_bmp384 +_interrupt_test.h + + + + + +Node1->Node13 + + + + + + + + +Node15 + + +test/driver_bmp384 +_read_test.h + + + + + +Node1->Node15 + + + + + + + + +Node17 + + +test/driver_bmp384 +_register_test.h + + + + + +Node1->Node17 + + + + + + + + +Node3 + + +example/driver_bmp384 +_basic.c + + + + + +Node2->Node3 + + + + + + + + +Node5 + + +example/driver_bmp384 +_fifo.c + + + + + +Node4->Node5 + + + + + + + + +Node7 + + +example/driver_bmp384 +_interrupt.c + + + + + +Node6->Node7 + + + + + + + + +Node9 + + +example/driver_bmp384 +_shot.c + + + + + +Node8->Node9 + + + + + + + + +Node12 + + +test/driver_bmp384 +_fifo_test.c + + + + + +Node11->Node12 + + + + + + + + +Node14 + + +test/driver_bmp384 +_interrupt_test.c + + + + + +Node13->Node14 + + + + + + + + +Node16 + + +test/driver_bmp384 +_read_test.c + + + + + +Node15->Node16 + + + + + + + + +Node18 + + +test/driver_bmp384 +_register_test.c + + + + + +Node17->Node18 + + + + + + + + diff --git a/doc/html/driver__bmp384__interface_8h__incl.md5 b/doc/html/driver__bmp384__interface_8h__incl.md5 new file mode 100644 index 0000000..5b1fa62 --- /dev/null +++ b/doc/html/driver__bmp384__interface_8h__incl.md5 @@ -0,0 +1 @@ +647a9b172c0923935f7d2d93e279f03d \ No newline at end of file diff --git a/doc/html/driver__bmp384__interface_8h__incl.svg b/doc/html/driver__bmp384__interface_8h__incl.svg new file mode 100644 index 0000000..75ee7d1 --- /dev/null +++ b/doc/html/driver__bmp384__interface_8h__incl.svg @@ -0,0 +1,94 @@ + + + + + + +interface/driver_bmp384_interface.h + + +Node1 + + +interface/driver_bmp384 +_interface.h + + + + + +Node2 + + +driver_bmp384.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +stdint.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +stdio.h + + + + + +Node2->Node4 + + + + + + + + +Node5 + + +string.h + + + + + +Node2->Node5 + + + + + + + + diff --git a/doc/html/driver__bmp384__interface_8h_source.html b/doc/html/driver__bmp384__interface_8h_source.html index fe740d7..f0dd081 100644 --- a/doc/html/driver__bmp384__interface_8h_source.html +++ b/doc/html/driver__bmp384__interface_8h_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: interface/driver_bmp384_interface.h Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_interface.h
+
driver_bmp384_interface.h
-Go to the documentation of this file.
1 
-
37 #ifndef DRIVER_BMP384_INTERFACE_H
-
38 #define DRIVER_BMP384_INTERFACE_H
-
39 
-
40 #include "driver_bmp384.h"
-
41 
-
42 #ifdef __cplusplus
-
43 extern "C"{
-
44 #endif
-
45 
-
60 uint8_t bmp384_interface_iic_init(void);
-
61 
-
69 uint8_t bmp384_interface_iic_deinit(void);
-
70 
-
82 uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
-
83 
-
95 uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
-
96 
-
104 uint8_t bmp384_interface_spi_init(void);
-
105 
-
113 uint8_t bmp384_interface_spi_deinit(void);
-
114 
-
125 uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len);
-
126 
-
137 uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len);
-
138 
-
144 void bmp384_interface_delay_ms(uint32_t ms);
-
145 
-
151 void bmp384_interface_debug_print(const char *const fmt, ...);
-
152 
-
158 void bmp384_interface_receive_callback(uint8_t type);
-
159 
-
164 #ifdef __cplusplus
-
165 }
-
166 #endif
-
167 
-
168 #endif
+Go to the documentation of this file.
1
+
36
+
37#ifndef DRIVER_BMP384_INTERFACE_H
+
38#define DRIVER_BMP384_INTERFACE_H
+
39
+
40#include "driver_bmp384.h"
+
41
+
42#ifdef __cplusplus
+
43extern "C"{
+
44#endif
+
45
+
52
+
60uint8_t bmp384_interface_iic_init(void);
+
61
+
69uint8_t bmp384_interface_iic_deinit(void);
+
70
+
82uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
+
83
+
95uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
+
96
+
104uint8_t bmp384_interface_spi_init(void);
+
105
+
113uint8_t bmp384_interface_spi_deinit(void);
+
114
+
125uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len);
+
126
+
137uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len);
+
138
+
144void bmp384_interface_delay_ms(uint32_t ms);
+
145
+
151void bmp384_interface_debug_print(const char *const fmt, ...);
+
152
+
158void bmp384_interface_receive_callback(uint8_t type);
+
159
+
163
+
164#ifdef __cplusplus
+
165}
+
166#endif
+
167
+
168#endif
driver bmp384 header file
-
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
-
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
-
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
-
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
-
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
-
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
-
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
-
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
-
void bmp384_interface_receive_callback(uint8_t type)
interface receive callback
-
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
-
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
+
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
+
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
+
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
+
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
+
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
+
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
+
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
+
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
+
void bmp384_interface_receive_callback(uint8_t type)
interface receive callback
+
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
+
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
+
diff --git a/doc/html/driver__bmp384__interface__template_8c.html b/doc/html/driver__bmp384__interface__template_8c.html index bde8b94..d273b11 100644 --- a/doc/html/driver__bmp384__interface__template_8c.html +++ b/doc/html/driver__bmp384__interface__template_8c.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: interface/driver_bmp384_interface_template.c File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_interface_template.c File Reference
+
driver_bmp384_interface_template.c File Reference

driver bmp384 interface template source file More...

+Include dependency graph for driver_bmp384_interface_template.c:
+
+
+

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +

+

Functions

uint8_t bmp384_interface_iic_init (void)
 interface iic bus init More...
 
uint8_t bmp384_interface_iic_deinit (void)
 interface iic bus deinit More...
 
uint8_t bmp384_interface_iic_read (uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
 interface iic bus read More...
 
uint8_t bmp384_interface_iic_write (uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
 interface iic bus write More...
 
uint8_t bmp384_interface_spi_init (void)
 interface spi bus init More...
 
uint8_t bmp384_interface_spi_deinit (void)
 interface spi bus deinit More...
 
uint8_t bmp384_interface_spi_read (uint8_t reg, uint8_t *buf, uint16_t len)
 interface spi bus read More...
 
uint8_t bmp384_interface_spi_write (uint8_t reg, uint8_t *buf, uint16_t len)
 interface spi bus write More...
 
void bmp384_interface_delay_ms (uint32_t ms)
 interface delay ms More...
 
void bmp384_interface_debug_print (const char *const fmt,...)
 interface print format data More...
 
void bmp384_interface_receive_callback (uint8_t type)
 interface receive callback More...
 
uint8_t bmp384_interface_iic_init (void)
 interface iic bus init
uint8_t bmp384_interface_iic_deinit (void)
 interface iic bus deinit
uint8_t bmp384_interface_iic_read (uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
 interface iic bus read
uint8_t bmp384_interface_iic_write (uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
 interface iic bus write
uint8_t bmp384_interface_spi_init (void)
 interface spi bus init
uint8_t bmp384_interface_spi_deinit (void)
 interface spi bus deinit
uint8_t bmp384_interface_spi_read (uint8_t reg, uint8_t *buf, uint16_t len)
 interface spi bus read
uint8_t bmp384_interface_spi_write (uint8_t reg, uint8_t *buf, uint16_t len)
 interface spi bus write
void bmp384_interface_delay_ms (uint32_t ms)
 interface delay ms
void bmp384_interface_debug_print (const char *const fmt,...)
 interface print format data
void bmp384_interface_receive_callback (uint8_t type)
 interface receive callback
-

Detailed Description

+

Detailed Description

driver bmp384 interface template source file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -154,11 +152,19 @@

history

Definition in file driver_bmp384_interface_template.c.

+ +
diff --git a/doc/html/driver__bmp384__interface__template_8c__incl.md5 b/doc/html/driver__bmp384__interface__template_8c__incl.md5 new file mode 100644 index 0000000..96cfecd --- /dev/null +++ b/doc/html/driver__bmp384__interface__template_8c__incl.md5 @@ -0,0 +1 @@ +c038c6c761cf073a60aaa9c12e24f5fc \ No newline at end of file diff --git a/doc/html/driver__bmp384__interface__template_8c__incl.svg b/doc/html/driver__bmp384__interface__template_8c__incl.svg new file mode 100644 index 0000000..2ba4bfe --- /dev/null +++ b/doc/html/driver__bmp384__interface__template_8c__incl.svg @@ -0,0 +1,112 @@ + + + + + + +interface/driver_bmp384_interface_template.c + + +Node1 + + +interface/driver_bmp384 +_interface_template.c + + + + + +Node2 + + +driver_bmp384_interface.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +stdint.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdio.h + + + + + +Node3->Node5 + + + + + + + + +Node6 + + +string.h + + + + + +Node3->Node6 + + + + + + + + diff --git a/doc/html/driver__bmp384__interface__template_8c_source.html b/doc/html/driver__bmp384__interface__template_8c_source.html index 51802ad..5da8aec 100644 --- a/doc/html/driver__bmp384__interface__template_8c_source.html +++ b/doc/html/driver__bmp384__interface__template_8c_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: interface/driver_bmp384_interface_template.c Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_interface_template.c
+
driver_bmp384_interface_template.c
-Go to the documentation of this file.
1 
- -
38 
- -
47 {
-
48  return 0;
-
49 }
-
50 
- -
59 {
-
60  return 0;
-
61 }
-
62 
-
74 uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
-
75 {
-
76  return 0;
-
77 }
-
78 
-
90 uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
-
91 {
-
92  return 0;
-
93 }
-
94 
- -
103 {
-
104  return 0;
-
105 }
-
106 
- -
115 {
-
116  return 0;
-
117 }
-
118 
-
129 uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
-
130 {
-
131  return 0;
-
132 }
-
133 
-
144 uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
-
145 {
-
146  return 0;
-
147 }
-
148 
-
154 void bmp384_interface_delay_ms(uint32_t ms)
-
155 {
-
156 
-
157 }
-
158 
-
164 void bmp384_interface_debug_print(const char *const fmt, ...)
-
165 {
-
166 
-
167 }
-
168 
- -
175 {
-
176  switch (type)
-
177  {
- -
179  {
-
180  bmp384_interface_debug_print("bmp384: irq fifo watermark.\n");
-
181 
-
182  break;
-
183  }
- -
185  {
-
186  bmp384_interface_debug_print("bmp384: irq fifo full.\n");
-
187 
-
188  break;
-
189  }
- -
191  {
-
192  bmp384_interface_debug_print("bmp384: irq data ready.\n");
-
193 
-
194  break;
-
195  }
-
196  default :
-
197  {
-
198  bmp384_interface_debug_print("bmp384: unknown code.\n");
-
199 
-
200  break;
-
201  }
-
202  }
-
203 }
+Go to the documentation of this file.
1
+
36
+ +
38
+
+ +
47{
+
48 return 0;
+
49}
+
+
50
+
+ +
59{
+
60 return 0;
+
61}
+
+
62
+
+
74uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
+
75{
+
76 return 0;
+
77}
+
+
78
+
+
90uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
+
91{
+
92 return 0;
+
93}
+
+
94
+
+ +
103{
+
104 return 0;
+
105}
+
+
106
+
+ +
115{
+
116 return 0;
+
117}
+
+
118
+
+
129uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
+
130{
+
131 return 0;
+
132}
+
+
133
+
+
144uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
+
145{
+
146 return 0;
+
147}
+
+
148
+
+ +
155{
+
156
+
157}
+
+
158
+
+
164void bmp384_interface_debug_print(const char *const fmt, ...)
+
165{
+
166
+
167}
+
+
168
+
+ +
175{
+
176 switch (type)
+
177 {
+ +
179 {
+
180 bmp384_interface_debug_print("bmp384: irq fifo watermark.\n");
+
181
+
182 break;
+
183 }
+ +
185 {
+
186 bmp384_interface_debug_print("bmp384: irq fifo full.\n");
+
187
+
188 break;
+
189 }
+ +
191 {
+
192 bmp384_interface_debug_print("bmp384: irq data ready.\n");
+
193
+
194 break;
+
195 }
+
196 default :
+
197 {
+
198 bmp384_interface_debug_print("bmp384: unknown code.\n");
+
199
+
200 break;
+
201 }
+
202 }
+
203}
+
driver bmp384 interface header file
-
@ BMP384_INTERRUPT_STATUS_FIFO_WATERMARK
-
@ BMP384_INTERRUPT_STATUS_FIFO_FULL
-
@ BMP384_INTERRUPT_STATUS_DATA_READY
-
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
-
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
-
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
-
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
-
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
-
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
-
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
-
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
-
void bmp384_interface_receive_callback(uint8_t type)
interface receive callback
-
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
-
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
+
@ BMP384_INTERRUPT_STATUS_FIFO_WATERMARK
+
@ BMP384_INTERRUPT_STATUS_FIFO_FULL
+
@ BMP384_INTERRUPT_STATUS_DATA_READY
+
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
+
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
+
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
+
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
+
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
+
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
+
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
+
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
+
void bmp384_interface_receive_callback(uint8_t type)
interface receive callback
+
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
+
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
+
diff --git a/doc/html/driver__bmp384__interrupt_8c.html b/doc/html/driver__bmp384__interrupt_8c.html index 8845ee8..9a4cecc 100644 --- a/doc/html/driver__bmp384__interrupt_8c.html +++ b/doc/html/driver__bmp384__interrupt_8c.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_interrupt.c File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_interrupt.c File Reference
+
driver_bmp384_interrupt.c File Reference

driver bmp384 interrupt source file More...

+Include dependency graph for driver_bmp384_interrupt.c:
+
+
+

Go to the source code of this file.

- - - - - - - - - - - - - + + + + + + + +

+

Functions

uint8_t bmp384_interrupt_irq_handler (void)
 interrupt example irq handler More...
 
uint8_t bmp384_interrupt_init (bmp384_interface_t interface, bmp384_address_t addr_pin, void(*interrupt_receive_callback)(uint8_t type))
 interrupt example init More...
 
uint8_t bmp384_interrupt_read (float *temperature_c, float *pressure_pa)
 interrupt example read More...
 
uint8_t bmp384_interrupt_deinit (void)
 interrupt example deinit More...
 
uint8_t bmp384_interrupt_irq_handler (void)
 interrupt example irq handler
uint8_t bmp384_interrupt_init (bmp384_interface_t interface, bmp384_address_t addr_pin, void(*interrupt_receive_callback)(uint8_t type))
 interrupt example init
uint8_t bmp384_interrupt_read (float *temperature_c, float *pressure_pa)
 interrupt example read
uint8_t bmp384_interrupt_deinit (void)
 interrupt example deinit
-

Detailed Description

+

Detailed Description

driver bmp384 interrupt source file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -133,11 +138,19 @@

history

Definition in file driver_bmp384_interrupt.c.

+ +
diff --git a/doc/html/driver__bmp384__interrupt_8c__incl.md5 b/doc/html/driver__bmp384__interrupt_8c__incl.md5 new file mode 100644 index 0000000..e872b15 --- /dev/null +++ b/doc/html/driver__bmp384__interrupt_8c__incl.md5 @@ -0,0 +1 @@ +8767ab2aaa8c152c1a5c8f40be3817f6 \ No newline at end of file diff --git a/doc/html/driver__bmp384__interrupt_8c__incl.svg b/doc/html/driver__bmp384__interrupt_8c__incl.svg new file mode 100644 index 0000000..338443a --- /dev/null +++ b/doc/html/driver__bmp384__interrupt_8c__incl.svg @@ -0,0 +1,130 @@ + + + + + + +example/driver_bmp384_interrupt.c + + +Node1 + + +example/driver_bmp384 +_interrupt.c + + + + + +Node2 + + +driver_bmp384_interrupt.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384_interface.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +driver_bmp384.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdint.h + + + + + +Node4->Node5 + + + + + + + + +Node6 + + +stdio.h + + + + + +Node4->Node6 + + + + + + + + +Node7 + + +string.h + + + + + +Node4->Node7 + + + + + + + + diff --git a/doc/html/driver__bmp384__interrupt_8c_source.html b/doc/html/driver__bmp384__interrupt_8c_source.html index b17be38..314232c 100644 --- a/doc/html/driver__bmp384__interrupt_8c_source.html +++ b/doc/html/driver__bmp384__interrupt_8c_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_interrupt.c Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_interrupt.c
+
driver_bmp384_interrupt.c
-Go to the documentation of this file.
1 
- -
38 
-
39 static bmp384_handle_t gs_handle;
- -
49 {
-
50  /* run irq handler */
-
51  if (bmp384_irq_handler(&gs_handle) != 0)
-
52  {
-
53  return 1;
-
54  }
-
55 
-
56  return 0;
-
57 }
-
58 
- -
70  void (*interrupt_receive_callback)(uint8_t type))
-
71 {
-
72  uint8_t res;
-
73 
-
74  /* link functions */
- - - - - - - - - - - -
86  DRIVER_BMP384_LINK_RECEIVE_CALLBACK(&gs_handle, interrupt_receive_callback);
-
87 
-
88  /* set interface */
-
89  res = bmp384_set_interface(&gs_handle, interface);
-
90  if (res != 0)
-
91  {
-
92  bmp384_interface_debug_print("bmp384: set interface failed.\n");
-
93 
-
94  return 1;
-
95  }
-
96 
-
97  /* set addr pin */
-
98  res = bmp384_set_addr_pin(&gs_handle, addr_pin);
-
99  if (res != 0)
-
100  {
-
101  bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
-
102 
-
103  return 1;
-
104  }
-
105 
-
106  /* bmp384 init */
-
107  res = bmp384_init(&gs_handle);
-
108  if (res != 0)
-
109  {
-
110  bmp384_interface_debug_print("bmp384: init failed.\n");
-
111 
-
112  return 1;
-
113  }
-
114 
-
115  /* set default spi wire */
- -
117  if (res != 0)
-
118  {
-
119  bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
-
120  (void)bmp384_deinit(&gs_handle);
-
121 
-
122  return 1;
-
123  }
-
124 
-
125  /* set default iic watchdog timer */
- -
127  if (res != 0)
-
128  {
-
129  bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
-
130  (void)bmp384_deinit(&gs_handle);
-
131 
-
132  return 1;
-
133  }
-
134 
-
135  /* set default iic watchdog period */
- -
137  if (res != 0)
-
138  {
-
139  bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
-
140  (void)bmp384_deinit(&gs_handle);
-
141 
-
142  return 1;
-
143  }
-
144 
-
145  /* disable fifo */
-
146  res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_FALSE);
-
147  if (res != 0)
-
148  {
-
149  bmp384_interface_debug_print("bmp384: set fifo failed.\n");
-
150  (void)bmp384_deinit(&gs_handle);
-
151 
-
152  return 1;
-
153  }
-
154 
-
155  /* set default interrupt pin type */
- -
157  if (res != 0)
-
158  {
-
159  bmp384_interface_debug_print("bmp384: set interrupt pin type failed.\n");
-
160  (void)bmp384_deinit(&gs_handle);
-
161 
-
162  return 1;
-
163  }
-
164 
-
165  /* set default interrupt active level */
- -
167  if (res != 0)
-
168  {
-
169  bmp384_interface_debug_print("bmp384: set interrupt active level failed.\n");
-
170  (void)bmp384_deinit(&gs_handle);
-
171 
-
172  return 1;
-
173  }
-
174 
-
175  /* disable latch interrupt pin and interrupt status */
- -
177  if (res != 0)
-
178  {
-
179  bmp384_interface_debug_print("bmp384: set latch interrupt pin and interrupt status failed.\n");
-
180  (void)bmp384_deinit(&gs_handle);
-
181 
-
182  return 1;
-
183  }
-
184 
-
185  /* disable interrupt fifo watermark */
- -
187  if (res != 0)
-
188  {
-
189  bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
-
190  (void)bmp384_deinit(&gs_handle);
-
191 
-
192  return 1;
-
193  }
-
194 
-
195  /* disable interrupt fifo full */
- -
197  if (res != 0)
-
198  {
-
199  bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
-
200  (void)bmp384_deinit(&gs_handle);
-
201 
-
202  return 1;
-
203  }
-
204 
-
205  /* enable interrupt data ready */
- -
207  if (res != 0)
-
208  {
-
209  bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
-
210  (void)bmp384_deinit(&gs_handle);
-
211 
-
212  return 1;
-
213  }
-
214 
-
215  /* set default pressure */
- -
217  if (res != 0)
-
218  {
-
219  bmp384_interface_debug_print("bmp384: set pressure failed.\n");
-
220  (void)bmp384_deinit(&gs_handle);
-
221 
-
222  return 1;
-
223  }
-
224 
-
225  /* set default temperature */
- -
227  if (res != 0)
-
228  {
-
229  bmp384_interface_debug_print("bmp384: set temperature failed.\n");
-
230  (void)bmp384_deinit(&gs_handle);
-
231 
-
232  return 1;
-
233  }
-
234 
-
235  /* set default pressure oversampling */
- -
237  if (res != 0)
-
238  {
-
239  bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
-
240  (void)bmp384_deinit(&gs_handle);
-
241 
-
242  return 1;
-
243  }
-
244 
-
245  /* set default temperature oversampling */
- -
247  if (res != 0)
-
248  {
-
249  bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
-
250  (void)bmp384_deinit(&gs_handle);
-
251 
-
252  return 1;
-
253  }
-
254 
-
255  /* set default odr */
-
256  res = bmp384_set_odr(&gs_handle, BMP384_INTERRUPT_DEFAULT_ODR);
-
257  if (res != 0)
-
258  {
-
259  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
260  (void)bmp384_deinit(&gs_handle);
-
261 
-
262  return 1;
-
263  }
-
264 
-
265  /* set default filter coefficient */
- -
267  if (res != 0)
-
268  {
-
269  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
270  (void)bmp384_deinit(&gs_handle);
-
271 
-
272  return 1;
-
273  }
-
274 
-
275  /* set normal mode */
-
276  res = bmp384_set_mode(&gs_handle, BMP384_MODE_NORMAL_MODE);
-
277  if (res != 0)
-
278  {
-
279  bmp384_interface_debug_print("bmp384: set mode failed.\n");
-
280  (void)bmp384_deinit(&gs_handle);
-
281 
-
282  return 1;
-
283  }
-
284 
-
285  return 0;
-
286 }
-
287 
-
297 uint8_t bmp384_interrupt_read(float *temperature_c, float *pressure_pa)
-
298 {
-
299  uint32_t temperature_raw;
-
300  uint32_t pressure_raw;
-
301 
-
302  /* read temperature and pressure */
-
303  if (bmp384_read_temperature_pressure(&gs_handle, (uint32_t *)&temperature_raw, temperature_c,
-
304  (uint32_t *)&pressure_raw, pressure_pa) != 0)
-
305  {
-
306  return 1;
-
307  }
-
308 
-
309  return 0;
-
310 }
-
311 
- -
320 {
-
321  uint8_t res;
-
322 
-
323  /* set sleep mode */
-
324  res = bmp384_set_mode(&gs_handle, BMP384_MODE_SLEEP_MODE);
-
325  if (res != 0)
-
326  {
-
327  return 1;
-
328  }
-
329 
-
330  if (bmp384_deinit(&gs_handle) != 0)
-
331  {
-
332  return 1;
-
333  }
-
334 
-
335  return 0;
-
336 }
+Go to the documentation of this file.
1
+
36
+ +
38
+
39static bmp384_handle_t gs_handle;
+
40
+
+ +
49{
+
50 /* run irq handler */
+
51 if (bmp384_irq_handler(&gs_handle) != 0)
+
52 {
+
53 return 1;
+
54 }
+
55
+
56 return 0;
+
57}
+
+
58
+
+ +
70 void (*interrupt_receive_callback)(uint8_t type))
+
71{
+
72 uint8_t res;
+
73
+
74 /* link functions */
+ + + + + + + + + + + +
86 DRIVER_BMP384_LINK_RECEIVE_CALLBACK(&gs_handle, interrupt_receive_callback);
+
87
+
88 /* set interface */
+
89 res = bmp384_set_interface(&gs_handle, interface);
+
90 if (res != 0)
+
91 {
+
92 bmp384_interface_debug_print("bmp384: set interface failed.\n");
+
93
+
94 return 1;
+
95 }
+
96
+
97 /* set addr pin */
+
98 res = bmp384_set_addr_pin(&gs_handle, addr_pin);
+
99 if (res != 0)
+
100 {
+
101 bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
+
102
+
103 return 1;
+
104 }
+
105
+
106 /* bmp384 init */
+
107 res = bmp384_init(&gs_handle);
+
108 if (res != 0)
+
109 {
+
110 bmp384_interface_debug_print("bmp384: init failed.\n");
+
111
+
112 return 1;
+
113 }
+
114
+
115 /* set default spi wire */
+ +
117 if (res != 0)
+
118 {
+
119 bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
+
120 (void)bmp384_deinit(&gs_handle);
+
121
+
122 return 1;
+
123 }
+
124
+
125 /* set default iic watchdog timer */
+ +
127 if (res != 0)
+
128 {
+
129 bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
+
130 (void)bmp384_deinit(&gs_handle);
+
131
+
132 return 1;
+
133 }
+
134
+
135 /* set default iic watchdog period */
+ +
137 if (res != 0)
+
138 {
+
139 bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
+
140 (void)bmp384_deinit(&gs_handle);
+
141
+
142 return 1;
+
143 }
+
144
+
145 /* disable fifo */
+
146 res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_FALSE);
+
147 if (res != 0)
+
148 {
+
149 bmp384_interface_debug_print("bmp384: set fifo failed.\n");
+
150 (void)bmp384_deinit(&gs_handle);
+
151
+
152 return 1;
+
153 }
+
154
+
155 /* set default interrupt pin type */
+ +
157 if (res != 0)
+
158 {
+
159 bmp384_interface_debug_print("bmp384: set interrupt pin type failed.\n");
+
160 (void)bmp384_deinit(&gs_handle);
+
161
+
162 return 1;
+
163 }
+
164
+
165 /* set default interrupt active level */
+ +
167 if (res != 0)
+
168 {
+
169 bmp384_interface_debug_print("bmp384: set interrupt active level failed.\n");
+
170 (void)bmp384_deinit(&gs_handle);
+
171
+
172 return 1;
+
173 }
+
174
+
175 /* disable latch interrupt pin and interrupt status */
+ +
177 if (res != 0)
+
178 {
+
179 bmp384_interface_debug_print("bmp384: set latch interrupt pin and interrupt status failed.\n");
+
180 (void)bmp384_deinit(&gs_handle);
+
181
+
182 return 1;
+
183 }
+
184
+
185 /* disable interrupt fifo watermark */
+ +
187 if (res != 0)
+
188 {
+
189 bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
+
190 (void)bmp384_deinit(&gs_handle);
+
191
+
192 return 1;
+
193 }
+
194
+
195 /* disable interrupt fifo full */
+ +
197 if (res != 0)
+
198 {
+
199 bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
+
200 (void)bmp384_deinit(&gs_handle);
+
201
+
202 return 1;
+
203 }
+
204
+
205 /* enable interrupt data ready */
+ +
207 if (res != 0)
+
208 {
+
209 bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
+
210 (void)bmp384_deinit(&gs_handle);
+
211
+
212 return 1;
+
213 }
+
214
+
215 /* set default pressure */
+ +
217 if (res != 0)
+
218 {
+
219 bmp384_interface_debug_print("bmp384: set pressure failed.\n");
+
220 (void)bmp384_deinit(&gs_handle);
+
221
+
222 return 1;
+
223 }
+
224
+
225 /* set default temperature */
+ +
227 if (res != 0)
+
228 {
+
229 bmp384_interface_debug_print("bmp384: set temperature failed.\n");
+
230 (void)bmp384_deinit(&gs_handle);
+
231
+
232 return 1;
+
233 }
+
234
+
235 /* set default pressure oversampling */
+ +
237 if (res != 0)
+
238 {
+
239 bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
+
240 (void)bmp384_deinit(&gs_handle);
+
241
+
242 return 1;
+
243 }
+
244
+
245 /* set default temperature oversampling */
+ +
247 if (res != 0)
+
248 {
+
249 bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
+
250 (void)bmp384_deinit(&gs_handle);
+
251
+
252 return 1;
+
253 }
+
254
+
255 /* set default odr */
+ +
257 if (res != 0)
+
258 {
+
259 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
260 (void)bmp384_deinit(&gs_handle);
+
261
+
262 return 1;
+
263 }
+
264
+
265 /* set default filter coefficient */
+ +
267 if (res != 0)
+
268 {
+
269 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
270 (void)bmp384_deinit(&gs_handle);
+
271
+
272 return 1;
+
273 }
+
274
+
275 /* set normal mode */
+
276 res = bmp384_set_mode(&gs_handle, BMP384_MODE_NORMAL_MODE);
+
277 if (res != 0)
+
278 {
+
279 bmp384_interface_debug_print("bmp384: set mode failed.\n");
+
280 (void)bmp384_deinit(&gs_handle);
+
281
+
282 return 1;
+
283 }
+
284
+
285 return 0;
+
286}
+
+
287
+
+
297uint8_t bmp384_interrupt_read(float *temperature_c, float *pressure_pa)
+
298{
+
299 uint32_t temperature_raw;
+
300 uint32_t pressure_raw;
+
301
+
302 /* read temperature and pressure */
+
303 if (bmp384_read_temperature_pressure(&gs_handle, (uint32_t *)&temperature_raw, temperature_c,
+
304 (uint32_t *)&pressure_raw, pressure_pa) != 0)
+
305 {
+
306 return 1;
+
307 }
+
308
+
309 return 0;
+
310}
+
+
311
+
+ +
320{
+
321 uint8_t res;
+
322
+
323 /* set sleep mode */
+
324 res = bmp384_set_mode(&gs_handle, BMP384_MODE_SLEEP_MODE);
+
325 if (res != 0)
+
326 {
+
327 return 1;
+
328 }
+
329
+
330 if (bmp384_deinit(&gs_handle) != 0)
+
331 {
+
332 return 1;
+
333 }
+
334
+
335 return 0;
+
336}
+
driver bmp384 interrupt header file
-
uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
read the temperature and pressure
-
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
-
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
-
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
-
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
-
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
-
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
-
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
-
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
-
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
-
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
-
uint8_t bmp384_irq_handler(bmp384_handle_t *handle)
irq handler
-
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
-
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
-
@ BMP384_MODE_NORMAL_MODE
-
@ BMP384_MODE_SLEEP_MODE
-
@ BMP384_BOOL_TRUE
Definition: driver_bmp384.h:83
-
@ BMP384_BOOL_FALSE
Definition: driver_bmp384.h:82
-
#define BMP384_INTERRUPT_DEFAULT_PRESSURE
-
#define BMP384_INTERRUPT_DEFAULT_INTERRUPT_PIN_TYPE
-
uint8_t bmp384_interrupt_init(bmp384_interface_t interface, bmp384_address_t addr_pin, void(*interrupt_receive_callback)(uint8_t type))
interrupt example init
-
#define BMP384_INTERRUPT_DEFAULT_TEMPERATURE_OVERSAMPLING
-
#define BMP384_INTERRUPT_DEFAULT_PRESSURE_OVERSAMPLING
-
uint8_t bmp384_interrupt_read(float *temperature_c, float *pressure_pa)
interrupt example read
-
#define BMP384_INTERRUPT_DEFAULT_FILTER_COEFFICIENT
-
uint8_t bmp384_interrupt_irq_handler(void)
interrupt example irq handler
-
#define BMP384_INTERRUPT_DEFAULT_SPI_WIRE
bmp384 interrupt example default definition
-
#define BMP384_INTERRUPT_DEFAULT_TEMPERATURE
-
#define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_TIMER
-
#define BMP384_INTERRUPT_DEFAULT_INTERRUPT_ACTIVE_LEVEL
-
#define BMP384_INTERRUPT_DEFAULT_ODR
-
#define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_PERIOD
-
uint8_t bmp384_interrupt_deinit(void)
interrupt example deinit
-
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
-
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
-
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
-
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
-
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
-
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
-
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
-
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
-
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
-
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
-
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
-
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
-
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
-
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
-
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
-
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
-
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
- - - - - - - - - - - - -
bmp384 handle structure definition
+
uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
read the temperature and pressure
+
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
+
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
+
bmp384_interface_t
bmp384 interface enumeration definition
+
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
+
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
+
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
+
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
+
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
+
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
+
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
+
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
+
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
+
uint8_t bmp384_irq_handler(bmp384_handle_t *handle)
irq handler
+
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
+
struct bmp384_handle_s bmp384_handle_t
bmp384 handle structure definition
+
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
+
@ BMP384_MODE_NORMAL_MODE
+
@ BMP384_MODE_SLEEP_MODE
+
@ BMP384_BOOL_TRUE
+
@ BMP384_BOOL_FALSE
+
#define BMP384_INTERRUPT_DEFAULT_PRESSURE
+
#define BMP384_INTERRUPT_DEFAULT_INTERRUPT_PIN_TYPE
+
uint8_t bmp384_interrupt_init(bmp384_interface_t interface, bmp384_address_t addr_pin, void(*interrupt_receive_callback)(uint8_t type))
interrupt example init
+
#define BMP384_INTERRUPT_DEFAULT_TEMPERATURE_OVERSAMPLING
+
#define BMP384_INTERRUPT_DEFAULT_PRESSURE_OVERSAMPLING
+
uint8_t bmp384_interrupt_read(float *temperature_c, float *pressure_pa)
interrupt example read
+
#define BMP384_INTERRUPT_DEFAULT_FILTER_COEFFICIENT
+
uint8_t bmp384_interrupt_irq_handler(void)
interrupt example irq handler
+
#define BMP384_INTERRUPT_DEFAULT_SPI_WIRE
bmp384 interrupt example default definition
+
#define BMP384_INTERRUPT_DEFAULT_TEMPERATURE
+
#define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_TIMER
+
#define BMP384_INTERRUPT_DEFAULT_INTERRUPT_ACTIVE_LEVEL
+
#define BMP384_INTERRUPT_DEFAULT_ODR
+
#define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_PERIOD
+
uint8_t bmp384_interrupt_deinit(void)
interrupt example deinit
+
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
+
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
+
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
+
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
+
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
+
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
+
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
+
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
+
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
+
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
+
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
+
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
+
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
+
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
+
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
+
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
+
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
+ + + + + + + + + + + +
+
diff --git a/doc/html/driver__bmp384__interrupt_8h.html b/doc/html/driver__bmp384__interrupt_8h.html index d53fada..5b922bc 100644 --- a/doc/html/driver__bmp384__interrupt_8h.html +++ b/doc/html/driver__bmp384__interrupt_8h.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_interrupt.h File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_interrupt.h File Reference
+
driver_bmp384_interrupt.h File Reference

driver bmp384 interrupt header file More...

+Include dependency graph for driver_bmp384_interrupt.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

+

Macros

#define BMP384_INTERRUPT_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 interrupt example default definition More...
 
#define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_FALSE
 
#define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_1P25_MS
 
#define BMP384_INTERRUPT_DEFAULT_INTERRUPT_PIN_TYPE   BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
 
#define BMP384_INTERRUPT_DEFAULT_INTERRUPT_ACTIVE_LEVEL   BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
 
#define BMP384_INTERRUPT_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
 
#define BMP384_INTERRUPT_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
 
#define BMP384_INTERRUPT_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
 
#define BMP384_INTERRUPT_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
 
#define BMP384_INTERRUPT_DEFAULT_ODR   BMP384_ODR_12P5_HZ
 
#define BMP384_INTERRUPT_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
 
#define BMP384_INTERRUPT_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 interrupt example default definition
#define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_FALSE
#define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_1P25_MS
#define BMP384_INTERRUPT_DEFAULT_INTERRUPT_PIN_TYPE   BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
#define BMP384_INTERRUPT_DEFAULT_INTERRUPT_ACTIVE_LEVEL   BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
#define BMP384_INTERRUPT_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
#define BMP384_INTERRUPT_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
#define BMP384_INTERRUPT_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
#define BMP384_INTERRUPT_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
#define BMP384_INTERRUPT_DEFAULT_ODR   BMP384_ODR_12P5_HZ
#define BMP384_INTERRUPT_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
- - - - - - - - - - - - - + + + + + + + +

+

Functions

uint8_t bmp384_interrupt_irq_handler (void)
 interrupt example irq handler More...
 
uint8_t bmp384_interrupt_init (bmp384_interface_t interface, bmp384_address_t addr_pin, void(*interrupt_receive_callback)(uint8_t type))
 interrupt example init More...
 
uint8_t bmp384_interrupt_deinit (void)
 interrupt example deinit More...
 
uint8_t bmp384_interrupt_read (float *temperature_c, float *pressure_pa)
 interrupt example read More...
 
uint8_t bmp384_interrupt_irq_handler (void)
 interrupt example irq handler
uint8_t bmp384_interrupt_init (bmp384_interface_t interface, bmp384_address_t addr_pin, void(*interrupt_receive_callback)(uint8_t type))
 interrupt example init
uint8_t bmp384_interrupt_deinit (void)
 interrupt example deinit
uint8_t bmp384_interrupt_read (float *temperature_c, float *pressure_pa)
 interrupt example read
-

Detailed Description

+

Detailed Description

driver bmp384 interrupt header file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -160,11 +158,19 @@

history

Definition in file driver_bmp384_interrupt.h.

+ +
diff --git a/doc/html/driver__bmp384__interrupt_8h__dep__incl.md5 b/doc/html/driver__bmp384__interrupt_8h__dep__incl.md5 new file mode 100644 index 0000000..705c71e --- /dev/null +++ b/doc/html/driver__bmp384__interrupt_8h__dep__incl.md5 @@ -0,0 +1 @@ +068101e59f22c25ce3ac48f904ef2574 \ No newline at end of file diff --git a/doc/html/driver__bmp384__interrupt_8h__dep__incl.svg b/doc/html/driver__bmp384__interrupt_8h__dep__incl.svg new file mode 100644 index 0000000..43527d0 --- /dev/null +++ b/doc/html/driver__bmp384__interrupt_8h__dep__incl.svg @@ -0,0 +1,41 @@ + + + + + + +example/driver_bmp384_interrupt.h + + +Node1 + + +example/driver_bmp384 +_interrupt.h + + + + + +Node2 + + +example/driver_bmp384 +_interrupt.c + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/driver__bmp384__interrupt_8h__incl.md5 b/doc/html/driver__bmp384__interrupt_8h__incl.md5 new file mode 100644 index 0000000..f2d1b3f --- /dev/null +++ b/doc/html/driver__bmp384__interrupt_8h__incl.md5 @@ -0,0 +1 @@ +a5b8c3bd5f58440d3cb3cfd05f62a59d \ No newline at end of file diff --git a/doc/html/driver__bmp384__interrupt_8h__incl.svg b/doc/html/driver__bmp384__interrupt_8h__incl.svg new file mode 100644 index 0000000..dcf3345 --- /dev/null +++ b/doc/html/driver__bmp384__interrupt_8h__incl.svg @@ -0,0 +1,112 @@ + + + + + + +example/driver_bmp384_interrupt.h + + +Node1 + + +example/driver_bmp384 +_interrupt.h + + + + + +Node2 + + +driver_bmp384_interface.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +stdint.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdio.h + + + + + +Node3->Node5 + + + + + + + + +Node6 + + +string.h + + + + + +Node3->Node6 + + + + + + + + diff --git a/doc/html/driver__bmp384__interrupt_8h_source.html b/doc/html/driver__bmp384__interrupt_8h_source.html index 5bbb9bb..3f6ad7d 100644 --- a/doc/html/driver__bmp384__interrupt_8h_source.html +++ b/doc/html/driver__bmp384__interrupt_8h_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_interrupt.h Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_interrupt.h
+
driver_bmp384_interrupt.h
-Go to the documentation of this file.
1 
-
37 #ifndef DRIVER_BMP384_INTERRUPT_H
-
38 #define DRIVER_BMP384_INTERRUPT_H
-
39 
- -
41 
-
42 #ifdef __cplusplus
-
43 extern "C"{
-
44 #endif
-
45 
-
54 #define BMP384_INTERRUPT_DEFAULT_SPI_WIRE BMP384_SPI_WIRE_4
-
55 #define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_TIMER BMP384_BOOL_FALSE
-
56 #define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_PERIOD BMP384_IIC_WATCHDOG_PERIOD_1P25_MS
-
57 #define BMP384_INTERRUPT_DEFAULT_INTERRUPT_PIN_TYPE BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
-
58 #define BMP384_INTERRUPT_DEFAULT_INTERRUPT_ACTIVE_LEVEL BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
-
59 #define BMP384_INTERRUPT_DEFAULT_PRESSURE BMP384_BOOL_TRUE
-
60 #define BMP384_INTERRUPT_DEFAULT_TEMPERATURE BMP384_BOOL_TRUE
-
61 #define BMP384_INTERRUPT_DEFAULT_PRESSURE_OVERSAMPLING BMP384_OVERSAMPLING_x32
-
62 #define BMP384_INTERRUPT_DEFAULT_TEMPERATURE_OVERSAMPLING BMP384_OVERSAMPLING_x2
-
63 #define BMP384_INTERRUPT_DEFAULT_ODR BMP384_ODR_12P5_HZ
-
64 #define BMP384_INTERRUPT_DEFAULT_FILTER_COEFFICIENT BMP384_FILTER_COEFFICIENT_15
-
73 uint8_t bmp384_interrupt_irq_handler(void);
-
74 
-
85 uint8_t bmp384_interrupt_init(bmp384_interface_t interface, bmp384_address_t addr_pin,
-
86  void (*interrupt_receive_callback)(uint8_t type));
-
87 
-
95 uint8_t bmp384_interrupt_deinit(void);
-
96 
-
106 uint8_t bmp384_interrupt_read(float *temperature_c, float *pressure_pa);
-
107 
-
112 #ifdef __cplusplus
-
113 }
-
114 #endif
-
115 
-
116 #endif
+Go to the documentation of this file.
1
+
36
+
37#ifndef DRIVER_BMP384_INTERRUPT_H
+
38#define DRIVER_BMP384_INTERRUPT_H
+
39
+ +
41
+
42#ifdef __cplusplus
+
43extern "C"{
+
44#endif
+
45
+
50
+
54#define BMP384_INTERRUPT_DEFAULT_SPI_WIRE BMP384_SPI_WIRE_4
+
55#define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_TIMER BMP384_BOOL_FALSE
+
56#define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_PERIOD BMP384_IIC_WATCHDOG_PERIOD_1P25_MS
+
57#define BMP384_INTERRUPT_DEFAULT_INTERRUPT_PIN_TYPE BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
+
58#define BMP384_INTERRUPT_DEFAULT_INTERRUPT_ACTIVE_LEVEL BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
+
59#define BMP384_INTERRUPT_DEFAULT_PRESSURE BMP384_BOOL_TRUE
+
60#define BMP384_INTERRUPT_DEFAULT_TEMPERATURE BMP384_BOOL_TRUE
+
61#define BMP384_INTERRUPT_DEFAULT_PRESSURE_OVERSAMPLING BMP384_OVERSAMPLING_x32
+
62#define BMP384_INTERRUPT_DEFAULT_TEMPERATURE_OVERSAMPLING BMP384_OVERSAMPLING_x2
+
63#define BMP384_INTERRUPT_DEFAULT_ODR BMP384_ODR_12P5_HZ
+
64#define BMP384_INTERRUPT_DEFAULT_FILTER_COEFFICIENT BMP384_FILTER_COEFFICIENT_15
+
65
+ +
74
+ +
86 void (*interrupt_receive_callback)(uint8_t type));
+
87
+
95uint8_t bmp384_interrupt_deinit(void);
+
96
+
106uint8_t bmp384_interrupt_read(float *temperature_c, float *pressure_pa);
+
107
+
111
+
112#ifdef __cplusplus
+
113}
+
114#endif
+
115
+
116#endif
driver bmp384 interface header file
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_interrupt_init(bmp384_interface_t interface, bmp384_address_t addr_pin, void(*interrupt_receive_callback)(uint8_t type))
interrupt example init
-
uint8_t bmp384_interrupt_read(float *temperature_c, float *pressure_pa)
interrupt example read
-
uint8_t bmp384_interrupt_irq_handler(void)
interrupt example irq handler
-
uint8_t bmp384_interrupt_deinit(void)
interrupt example deinit
+
bmp384_interface_t
bmp384 interface enumeration definition
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_interrupt_init(bmp384_interface_t interface, bmp384_address_t addr_pin, void(*interrupt_receive_callback)(uint8_t type))
interrupt example init
+
uint8_t bmp384_interrupt_read(float *temperature_c, float *pressure_pa)
interrupt example read
+
uint8_t bmp384_interrupt_irq_handler(void)
interrupt example irq handler
+
uint8_t bmp384_interrupt_deinit(void)
interrupt example deinit
+
diff --git a/doc/html/driver__bmp384__interrupt__test_8c.html b/doc/html/driver__bmp384__interrupt__test_8c.html index eb6537a..698e7fa 100644 --- a/doc/html/driver__bmp384__interrupt__test_8c.html +++ b/doc/html/driver__bmp384__interrupt__test_8c.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_interrupt_test.c File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_interrupt_test.c File Reference
+
driver_bmp384_interrupt_test.c File Reference
+Include dependency graph for driver_bmp384_interrupt_test.c:
+
+
+

Go to the source code of this file.

- - - - - - - + + + +

+

Functions

uint8_t bmp384_interrupt_test_irq_handler (void)
 interrupt test irq handler More...
 
uint8_t bmp384_interrupt_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 interrupt test More...
 
uint8_t bmp384_interrupt_test_irq_handler (void)
 interrupt test irq handler
uint8_t bmp384_interrupt_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 interrupt test
+ +
diff --git a/doc/html/driver__bmp384__interrupt__test_8c__incl.md5 b/doc/html/driver__bmp384__interrupt__test_8c__incl.md5 new file mode 100644 index 0000000..7e4c876 --- /dev/null +++ b/doc/html/driver__bmp384__interrupt__test_8c__incl.md5 @@ -0,0 +1 @@ +f52d0d57fe7fbb6ef0b6dfc3161313d1 \ No newline at end of file diff --git a/doc/html/driver__bmp384__interrupt__test_8c__incl.svg b/doc/html/driver__bmp384__interrupt__test_8c__incl.svg new file mode 100644 index 0000000..b0bea59 --- /dev/null +++ b/doc/html/driver__bmp384__interrupt__test_8c__incl.svg @@ -0,0 +1,131 @@ + + + + + + +test/driver_bmp384_interrupt_test.c + + +Node1 + + +test/driver_bmp384 +_interrupt_test.c + + + + + +Node2 + + +driver_bmp384_interrupt +_test.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384_interface.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +driver_bmp384.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdint.h + + + + + +Node4->Node5 + + + + + + + + +Node6 + + +stdio.h + + + + + +Node4->Node6 + + + + + + + + +Node7 + + +string.h + + + + + +Node4->Node7 + + + + + + + + diff --git a/doc/html/driver__bmp384__interrupt__test_8c_source.html b/doc/html/driver__bmp384__interrupt__test_8c_source.html index b730ec3..2a27c32 100644 --- a/doc/html/driver__bmp384__interrupt__test_8c_source.html +++ b/doc/html/driver__bmp384__interrupt__test_8c_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_interrupt_test.c Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_interrupt_test.c
+
driver_bmp384_interrupt_test.c
-Go to the documentation of this file.
1 
- -
38 
-
39 static bmp384_handle_t gs_handle;
-
40 static volatile uint8_t gs_data_ready_flag;
-
41 static float gs_temperature_c;
-
42 static float gs_pressure_pa;
- -
52 {
-
53  /* run irq handler */
-
54  if (bmp384_irq_handler(&gs_handle) != 0)
-
55  {
-
56  return 1;
-
57  }
-
58  else
-
59  {
-
60  return 0;
-
61  }
-
62 }
-
63 
-
69 static void a_bmp384_interface_test_receive_callback(uint8_t type)
-
70 {
-
71  switch (type)
-
72  {
- -
74  {
-
75  break;
-
76  }
- -
78  {
-
79  break;
-
80  }
- -
82  {
-
83  uint32_t temperature_raw;
-
84  uint32_t pressure_raw;
-
85 
-
86  /* read temperature pressure */
-
87  if (bmp384_read_temperature_pressure(&gs_handle, (uint32_t *)&temperature_raw, (float *)&gs_temperature_c,
-
88  (uint32_t *)&pressure_raw, (float *)&gs_pressure_pa) != 0)
-
89  {
-
90  bmp384_interface_debug_print("bmp384: read temperature and pressure failed.\n");
-
91 
-
92  return;
-
93  }
-
94  gs_data_ready_flag = 1;
-
95 
-
96  break;
-
97  }
-
98  default :
-
99  {
-
100  break;
-
101  }
-
102  }
-
103 }
-
104 
-
115 uint8_t bmp384_interrupt_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
-
116 {
-
117  uint8_t res;
-
118  uint32_t i;
-
119  bmp384_info_t info;
-
120 
-
121  /* link functions */
- - - - - - - - - - - -
133  DRIVER_BMP384_LINK_RECEIVE_CALLBACK(&gs_handle, a_bmp384_interface_test_receive_callback);
-
134 
-
135  /* bmp384 info */
-
136  res = bmp384_info(&info);
-
137  if (res != 0)
-
138  {
-
139  bmp384_interface_debug_print("bmp384: get info failed.\n");
-
140 
-
141  return 1;
-
142  }
-
143  else
-
144  {
-
145  /* print chip information */
-
146  bmp384_interface_debug_print("bmp384: chip is %s.\n", info.chip_name);
-
147  bmp384_interface_debug_print("bmp384: manufacturer is %s.\n", info.manufacturer_name);
-
148  bmp384_interface_debug_print("bmp384: interface is %s.\n", info.interface);
-
149  bmp384_interface_debug_print("bmp384: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
-
150  bmp384_interface_debug_print("bmp384: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
-
151  bmp384_interface_debug_print("bmp384: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
-
152  bmp384_interface_debug_print("bmp384: max current is %0.2fmA.\n", info.max_current_ma);
-
153  bmp384_interface_debug_print("bmp384: max temperature is %0.1fC.\n", info.temperature_max);
-
154  bmp384_interface_debug_print("bmp384: min temperature is %0.1fC.\n", info.temperature_min);
-
155  }
-
156 
-
157  /* start interrupt test */
-
158  bmp384_interface_debug_print("bmp384: start interrupt test.\n");
-
159 
-
160  /* set interface */
-
161  res = bmp384_set_interface(&gs_handle, interface);
-
162  if (res != 0)
-
163  {
-
164  bmp384_interface_debug_print("bmp384: set interface failed.\n");
-
165 
-
166  return 1;
-
167  }
-
168 
-
169  /* set addr pin */
-
170  res = bmp384_set_addr_pin(&gs_handle, addr_pin);
-
171  if (res != 0)
-
172  {
-
173  bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
-
174 
-
175  return 1;
-
176  }
-
177 
-
178  /* bmp384 init */
-
179  res = bmp384_init(&gs_handle);
-
180  if (res != 0)
-
181  {
-
182  bmp384_interface_debug_print("bmp384: init failed.\n");
-
183 
-
184  return 1;
-
185  }
-
186 
-
187  /* set spi wire 4 */
-
188  res = bmp384_set_spi_wire(&gs_handle, BMP384_SPI_WIRE_4);
-
189  if (res != 0)
-
190  {
-
191  bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
-
192  (void)bmp384_deinit(&gs_handle);
-
193 
-
194  return 1;
-
195  }
-
196 
-
197  /* enable iic watchdog timer */
- -
199  if (res != 0)
-
200  {
-
201  bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
-
202  (void)bmp384_deinit(&gs_handle);
-
203 
-
204  return 1;
-
205  }
-
206 
-
207  /* set iic watchdog period */
- -
209  if (res != 0)
-
210  {
-
211  bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
-
212  (void)bmp384_deinit(&gs_handle);
-
213 
-
214  return 1;
-
215  }
-
216 
-
217  /* disable fifo */
-
218  res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_FALSE);
-
219  if (res != 0)
-
220  {
-
221  bmp384_interface_debug_print("bmp384: set fifo failed.\n");
-
222  (void)bmp384_deinit(&gs_handle);
-
223 
-
224  return 1;
-
225  }
-
226 
-
227  /* disable fifo stop on full */
- -
229  if (res != 0)
-
230  {
-
231  bmp384_interface_debug_print("bmp384: set fifo stop on full failed.\n");
-
232  (void)bmp384_deinit(&gs_handle);
-
233 
-
234  return 1;
-
235  }
-
236 
-
237  /* set fifo watermark 256 */
-
238  res = bmp384_set_fifo_watermark(&gs_handle, 256);
-
239  if (res != 0)
-
240  {
-
241  bmp384_interface_debug_print("bmp384: set fifo watermark failed.\n");
-
242  (void)bmp384_deinit(&gs_handle);
-
243 
-
244  return 1;
-
245  }
-
246 
-
247  /* enable fifo sensor time on */
- -
249  if (res != 0)
-
250  {
-
251  bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
-
252  (void)bmp384_deinit(&gs_handle);
-
253 
-
254  return 1;
-
255  }
-
256 
-
257  /* enable fifo sensor time on */
- -
259  if (res != 0)
-
260  {
-
261  bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
-
262  (void)bmp384_deinit(&gs_handle);
-
263 
-
264  return 1;
-
265  }
-
266 
-
267  /* set fifo temperature on */
- -
269  if (res != 0)
-
270  {
-
271  bmp384_interface_debug_print("bmp384: set fifo temperature on failed.\n");
-
272  (void)bmp384_deinit(&gs_handle);
-
273 
-
274  return 1;
-
275  }
-
276 
-
277  /* set fifo subsampling 0 */
-
278  res = bmp384_set_fifo_subsampling(&gs_handle, 0);
-
279  if (res != 0)
-
280  {
-
281  bmp384_interface_debug_print("bmp384: set fifo subsampling failed.\n");
-
282  (void)bmp384_deinit(&gs_handle);
-
283 
-
284  return 1;
-
285  }
-
286 
-
287  /* set fifo data source filtered */
- -
289  if (res != 0)
-
290  {
-
291  bmp384_interface_debug_print("bmp384: set fifo data source failed.\n");
-
292  (void)bmp384_deinit(&gs_handle);
-
293 
-
294  return 1;
-
295  }
-
296 
-
297  /* set interrupt pin type push pull */
- -
299  if (res != 0)
-
300  {
-
301  bmp384_interface_debug_print("bmp384: set interrupt pin type failed.\n");
-
302  (void)bmp384_deinit(&gs_handle);
-
303 
-
304  return 1;
-
305  }
-
306 
-
307  /* set interrupt active level higher */
- -
309  if (res != 0)
-
310  {
-
311  bmp384_interface_debug_print("bmp384: set interrupt active level failed.\n");
-
312  (void)bmp384_deinit(&gs_handle);
-
313 
-
314  return 1;
-
315  }
-
316 
-
317  /* disable latch interrupt pin and interrupt status */
- -
319  if (res != 0)
-
320  {
-
321  bmp384_interface_debug_print("bmp384: set set latch interrupt pin and interrupt status failed.\n");
-
322  (void)bmp384_deinit(&gs_handle);
-
323 
-
324  return 1;
-
325  }
-
326 
-
327  /* enable interrupt fifo watermark */
- -
329  if (res != 0)
-
330  {
-
331  bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
-
332  (void)bmp384_deinit(&gs_handle);
-
333 
-
334  return 1;
-
335  }
-
336 
-
337  /* enable interrupt fifo full */
- -
339  if (res != 0)
-
340  {
-
341  bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
-
342  (void)bmp384_deinit(&gs_handle);
-
343 
-
344  return 1;
-
345  }
-
346 
-
347  /* enable interrupt data ready */
- -
349  if (res != 0)
-
350  {
-
351  bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
-
352  (void)bmp384_deinit(&gs_handle);
-
353 
-
354  return 1;
-
355  }
-
356 
-
357  /* enable pressure */
-
358  res = bmp384_set_pressure(&gs_handle, BMP384_BOOL_TRUE);
-
359  if (res != 0)
-
360  {
-
361  bmp384_interface_debug_print("bmp384: set pressure failed.\n");
-
362  (void)bmp384_deinit(&gs_handle);
-
363 
-
364  return 1;
-
365  }
-
366 
-
367  /* enable temperature */
-
368  res = bmp384_set_temperature(&gs_handle, BMP384_BOOL_TRUE);
-
369  if (res != 0)
-
370  {
-
371  bmp384_interface_debug_print("bmp384: set temperature failed.\n");
-
372  (void)bmp384_deinit(&gs_handle);
-
373 
-
374  return 1;
-
375  }
-
376 
-
377  /* set pressure oversampling x32 */
- -
379  if (res != 0)
-
380  {
-
381  bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
-
382  (void)bmp384_deinit(&gs_handle);
-
383 
-
384  return 1;
-
385  }
-
386 
-
387  /* set temperature oversampling x2 */
- -
389  if (res != 0)
-
390  {
-
391  bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
-
392  (void)bmp384_deinit(&gs_handle);
-
393 
-
394  return 1;
-
395  }
-
396 
-
397  /* set odr 12.5Hz */
-
398  res = bmp384_set_odr(&gs_handle, BMP384_ODR_12P5_HZ);
-
399  if (res != 0)
-
400  {
-
401  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
402  (void)bmp384_deinit(&gs_handle);
-
403 
-
404  return 1;
-
405  }
-
406 
-
407  /* set filter coefficient 15 */
- -
409  if (res != 0)
-
410  {
-
411  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
412  (void)bmp384_deinit(&gs_handle);
-
413 
-
414  return 1;
-
415  }
-
416 
-
417  /* set normal mode */
-
418  res = bmp384_set_mode(&gs_handle, BMP384_MODE_NORMAL_MODE);
-
419  if (res != 0)
-
420  {
-
421  bmp384_interface_debug_print("bmp384: set mode failed.\n");
-
422  (void)bmp384_deinit(&gs_handle);
-
423 
-
424  return 1;
-
425  }
-
426  for (i = 0; i < times; i++)
-
427  {
-
428  gs_data_ready_flag = 0;
- -
430  bmp384_interface_debug_print("bmp384: temperature is %0.2fC.\n", gs_temperature_c);
-
431  bmp384_interface_debug_print("bmp384: pressure is %0.2fPa.\n", gs_pressure_pa);
-
432 
-
433  /* check data ready flag */
-
434  if (gs_data_ready_flag == 0)
-
435  {
-
436  bmp384_interface_debug_print("bmp384: interrupt failed.\n");
-
437  (void)bmp384_deinit(&gs_handle);
-
438 
-
439  return 1;
-
440  }
- -
442  }
-
443 
-
444  /* finish interrupt test */
-
445  bmp384_interface_debug_print("bmp384: finish interrupt test.\n");
-
446  (void)bmp384_deinit(&gs_handle);
-
447 
-
448  return 0;
-
449 }
+Go to the documentation of this file.
1
+
36
+ +
38
+
39static bmp384_handle_t gs_handle;
+
40static volatile uint8_t gs_data_ready_flag;
+
41static float gs_temperature_c;
+
42static float gs_pressure_pa;
+
43
+
+ +
52{
+
53 /* run irq handler */
+
54 if (bmp384_irq_handler(&gs_handle) != 0)
+
55 {
+
56 return 1;
+
57 }
+
58 else
+
59 {
+
60 return 0;
+
61 }
+
62}
+
+
63
+
69static void a_bmp384_interface_test_receive_callback(uint8_t type)
+
70{
+
71 switch (type)
+
72 {
+ +
74 {
+
75 break;
+
76 }
+ +
78 {
+
79 break;
+
80 }
+ +
82 {
+
83 uint32_t temperature_raw;
+
84 uint32_t pressure_raw;
+
85
+
86 /* read temperature pressure */
+
87 if (bmp384_read_temperature_pressure(&gs_handle, (uint32_t *)&temperature_raw, (float *)&gs_temperature_c,
+
88 (uint32_t *)&pressure_raw, (float *)&gs_pressure_pa) != 0)
+
89 {
+
90 bmp384_interface_debug_print("bmp384: read temperature and pressure failed.\n");
+
91
+
92 return;
+
93 }
+
94 gs_data_ready_flag = 1;
+
95
+
96 break;
+
97 }
+
98 default :
+
99 {
+
100 break;
+
101 }
+
102 }
+
103}
+
104
+
+
115uint8_t bmp384_interrupt_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
+
116{
+
117 uint8_t res;
+
118 uint32_t i;
+
119 bmp384_info_t info;
+
120
+
121 /* link functions */
+ + + + + + + + + + + +
133 DRIVER_BMP384_LINK_RECEIVE_CALLBACK(&gs_handle, a_bmp384_interface_test_receive_callback);
+
134
+
135 /* bmp384 info */
+
136 res = bmp384_info(&info);
+
137 if (res != 0)
+
138 {
+
139 bmp384_interface_debug_print("bmp384: get info failed.\n");
+
140
+
141 return 1;
+
142 }
+
143 else
+
144 {
+
145 /* print chip information */
+
146 bmp384_interface_debug_print("bmp384: chip is %s.\n", info.chip_name);
+
147 bmp384_interface_debug_print("bmp384: manufacturer is %s.\n", info.manufacturer_name);
+
148 bmp384_interface_debug_print("bmp384: interface is %s.\n", info.interface);
+
149 bmp384_interface_debug_print("bmp384: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
+
150 bmp384_interface_debug_print("bmp384: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
+
151 bmp384_interface_debug_print("bmp384: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
+
152 bmp384_interface_debug_print("bmp384: max current is %0.2fmA.\n", info.max_current_ma);
+
153 bmp384_interface_debug_print("bmp384: max temperature is %0.1fC.\n", info.temperature_max);
+
154 bmp384_interface_debug_print("bmp384: min temperature is %0.1fC.\n", info.temperature_min);
+
155 }
+
156
+
157 /* start interrupt test */
+
158 bmp384_interface_debug_print("bmp384: start interrupt test.\n");
+
159
+
160 /* set interface */
+
161 res = bmp384_set_interface(&gs_handle, interface);
+
162 if (res != 0)
+
163 {
+
164 bmp384_interface_debug_print("bmp384: set interface failed.\n");
+
165
+
166 return 1;
+
167 }
+
168
+
169 /* set addr pin */
+
170 res = bmp384_set_addr_pin(&gs_handle, addr_pin);
+
171 if (res != 0)
+
172 {
+
173 bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
+
174
+
175 return 1;
+
176 }
+
177
+
178 /* bmp384 init */
+
179 res = bmp384_init(&gs_handle);
+
180 if (res != 0)
+
181 {
+
182 bmp384_interface_debug_print("bmp384: init failed.\n");
+
183
+
184 return 1;
+
185 }
+
186
+
187 /* set spi wire 4 */
+
188 res = bmp384_set_spi_wire(&gs_handle, BMP384_SPI_WIRE_4);
+
189 if (res != 0)
+
190 {
+
191 bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
+
192 (void)bmp384_deinit(&gs_handle);
+
193
+
194 return 1;
+
195 }
+
196
+
197 /* enable iic watchdog timer */
+ +
199 if (res != 0)
+
200 {
+
201 bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
+
202 (void)bmp384_deinit(&gs_handle);
+
203
+
204 return 1;
+
205 }
+
206
+
207 /* set iic watchdog period */
+ +
209 if (res != 0)
+
210 {
+
211 bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
+
212 (void)bmp384_deinit(&gs_handle);
+
213
+
214 return 1;
+
215 }
+
216
+
217 /* disable fifo */
+
218 res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_FALSE);
+
219 if (res != 0)
+
220 {
+
221 bmp384_interface_debug_print("bmp384: set fifo failed.\n");
+
222 (void)bmp384_deinit(&gs_handle);
+
223
+
224 return 1;
+
225 }
+
226
+
227 /* disable fifo stop on full */
+ +
229 if (res != 0)
+
230 {
+
231 bmp384_interface_debug_print("bmp384: set fifo stop on full failed.\n");
+
232 (void)bmp384_deinit(&gs_handle);
+
233
+
234 return 1;
+
235 }
+
236
+
237 /* set fifo watermark 256 */
+
238 res = bmp384_set_fifo_watermark(&gs_handle, 256);
+
239 if (res != 0)
+
240 {
+
241 bmp384_interface_debug_print("bmp384: set fifo watermark failed.\n");
+
242 (void)bmp384_deinit(&gs_handle);
+
243
+
244 return 1;
+
245 }
+
246
+
247 /* enable fifo sensor time on */
+ +
249 if (res != 0)
+
250 {
+
251 bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
+
252 (void)bmp384_deinit(&gs_handle);
+
253
+
254 return 1;
+
255 }
+
256
+
257 /* enable fifo sensor time on */
+ +
259 if (res != 0)
+
260 {
+
261 bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
+
262 (void)bmp384_deinit(&gs_handle);
+
263
+
264 return 1;
+
265 }
+
266
+
267 /* set fifo temperature on */
+ +
269 if (res != 0)
+
270 {
+
271 bmp384_interface_debug_print("bmp384: set fifo temperature on failed.\n");
+
272 (void)bmp384_deinit(&gs_handle);
+
273
+
274 return 1;
+
275 }
+
276
+
277 /* set fifo subsampling 0 */
+
278 res = bmp384_set_fifo_subsampling(&gs_handle, 0);
+
279 if (res != 0)
+
280 {
+
281 bmp384_interface_debug_print("bmp384: set fifo subsampling failed.\n");
+
282 (void)bmp384_deinit(&gs_handle);
+
283
+
284 return 1;
+
285 }
+
286
+
287 /* set fifo data source filtered */
+ +
289 if (res != 0)
+
290 {
+
291 bmp384_interface_debug_print("bmp384: set fifo data source failed.\n");
+
292 (void)bmp384_deinit(&gs_handle);
+
293
+
294 return 1;
+
295 }
+
296
+
297 /* set interrupt pin type push pull */
+ +
299 if (res != 0)
+
300 {
+
301 bmp384_interface_debug_print("bmp384: set interrupt pin type failed.\n");
+
302 (void)bmp384_deinit(&gs_handle);
+
303
+
304 return 1;
+
305 }
+
306
+
307 /* set interrupt active level higher */
+ +
309 if (res != 0)
+
310 {
+
311 bmp384_interface_debug_print("bmp384: set interrupt active level failed.\n");
+
312 (void)bmp384_deinit(&gs_handle);
+
313
+
314 return 1;
+
315 }
+
316
+
317 /* disable latch interrupt pin and interrupt status */
+ +
319 if (res != 0)
+
320 {
+
321 bmp384_interface_debug_print("bmp384: set set latch interrupt pin and interrupt status failed.\n");
+
322 (void)bmp384_deinit(&gs_handle);
+
323
+
324 return 1;
+
325 }
+
326
+
327 /* enable interrupt fifo watermark */
+ +
329 if (res != 0)
+
330 {
+
331 bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
+
332 (void)bmp384_deinit(&gs_handle);
+
333
+
334 return 1;
+
335 }
+
336
+
337 /* enable interrupt fifo full */
+ +
339 if (res != 0)
+
340 {
+
341 bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
+
342 (void)bmp384_deinit(&gs_handle);
+
343
+
344 return 1;
+
345 }
+
346
+
347 /* enable interrupt data ready */
+ +
349 if (res != 0)
+
350 {
+
351 bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
+
352 (void)bmp384_deinit(&gs_handle);
+
353
+
354 return 1;
+
355 }
+
356
+
357 /* enable pressure */
+
358 res = bmp384_set_pressure(&gs_handle, BMP384_BOOL_TRUE);
+
359 if (res != 0)
+
360 {
+
361 bmp384_interface_debug_print("bmp384: set pressure failed.\n");
+
362 (void)bmp384_deinit(&gs_handle);
+
363
+
364 return 1;
+
365 }
+
366
+
367 /* enable temperature */
+
368 res = bmp384_set_temperature(&gs_handle, BMP384_BOOL_TRUE);
+
369 if (res != 0)
+
370 {
+
371 bmp384_interface_debug_print("bmp384: set temperature failed.\n");
+
372 (void)bmp384_deinit(&gs_handle);
+
373
+
374 return 1;
+
375 }
+
376
+
377 /* set pressure oversampling x32 */
+ +
379 if (res != 0)
+
380 {
+
381 bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
+
382 (void)bmp384_deinit(&gs_handle);
+
383
+
384 return 1;
+
385 }
+
386
+
387 /* set temperature oversampling x2 */
+ +
389 if (res != 0)
+
390 {
+
391 bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
+
392 (void)bmp384_deinit(&gs_handle);
+
393
+
394 return 1;
+
395 }
+
396
+
397 /* set odr 12.5Hz */
+
398 res = bmp384_set_odr(&gs_handle, BMP384_ODR_12P5_HZ);
+
399 if (res != 0)
+
400 {
+
401 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
402 (void)bmp384_deinit(&gs_handle);
+
403
+
404 return 1;
+
405 }
+
406
+
407 /* set filter coefficient 15 */
+ +
409 if (res != 0)
+
410 {
+
411 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
412 (void)bmp384_deinit(&gs_handle);
+
413
+
414 return 1;
+
415 }
+
416
+
417 /* set normal mode */
+
418 res = bmp384_set_mode(&gs_handle, BMP384_MODE_NORMAL_MODE);
+
419 if (res != 0)
+
420 {
+
421 bmp384_interface_debug_print("bmp384: set mode failed.\n");
+
422 (void)bmp384_deinit(&gs_handle);
+
423
+
424 return 1;
+
425 }
+
426 for (i = 0; i < times; i++)
+
427 {
+
428 gs_data_ready_flag = 0;
+ +
430 bmp384_interface_debug_print("bmp384: temperature is %0.2fC.\n", gs_temperature_c);
+
431 bmp384_interface_debug_print("bmp384: pressure is %0.2fPa.\n", gs_pressure_pa);
+
432
+
433 /* check data ready flag */
+
434 if (gs_data_ready_flag == 0)
+
435 {
+
436 bmp384_interface_debug_print("bmp384: interrupt failed.\n");
+
437 (void)bmp384_deinit(&gs_handle);
+
438
+
439 return 1;
+
440 }
+ +
442 }
+
443
+
444 /* finish interrupt test */
+
445 bmp384_interface_debug_print("bmp384: finish interrupt test.\n");
+
446 (void)bmp384_deinit(&gs_handle);
+
447
+
448 return 0;
+
449}
+
driver bmp384 interrupt test header file
-
uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
read the temperature and pressure
-
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
-
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
-
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
-
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
-
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
-
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
-
uint8_t bmp384_info(bmp384_info_t *info)
get chip's information
-
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
-
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
-
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
-
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
-
uint8_t bmp384_irq_handler(bmp384_handle_t *handle)
irq handler
-
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
-
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
-
@ BMP384_MODE_NORMAL_MODE
-
@ BMP384_FIFO_DATA_SOURCE_FILTERED
-
@ BMP384_SPI_WIRE_4
-
@ BMP384_BOOL_TRUE
Definition: driver_bmp384.h:83
-
@ BMP384_BOOL_FALSE
Definition: driver_bmp384.h:82
-
@ BMP384_INTERRUPT_STATUS_FIFO_WATERMARK
-
@ BMP384_INTERRUPT_STATUS_FIFO_FULL
-
@ BMP384_INTERRUPT_STATUS_DATA_READY
-
@ BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
-
@ BMP384_ODR_12P5_HZ
-
@ BMP384_FILTER_COEFFICIENT_15
-
@ BMP384_IIC_WATCHDOG_PERIOD_40_MS
-
@ BMP384_OVERSAMPLING_x32
-
@ BMP384_OVERSAMPLING_x2
-
@ BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
-
uint8_t bmp384_set_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo pressure on
-
uint8_t bmp384_set_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
set the fifo data source
-
uint8_t bmp384_set_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo stopping on full
-
uint8_t bmp384_set_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo sensor time on
-
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
-
uint8_t bmp384_set_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo temperature on
-
uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
set the fifo watermark
-
uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
set the fifo subsampling
-
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
-
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
-
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
-
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
-
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
-
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
-
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
-
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
-
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
-
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
-
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
-
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
-
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
-
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
-
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
-
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
- - - - - - - - - - - - -
uint8_t bmp384_interrupt_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
interrupt test
-
uint8_t bmp384_interrupt_test_irq_handler(void)
interrupt test irq handler
-
bmp384 handle structure definition
-
bmp384 information structure definition
-
float temperature_max
-
float supply_voltage_max_v
-
uint32_t driver_version
-
float temperature_min
-
float max_current_ma
-
char manufacturer_name[32]
-
float supply_voltage_min_v
-
char interface[8]
-
char chip_name[32]
+
uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
read the temperature and pressure
+
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
+
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
+
bmp384_interface_t
bmp384 interface enumeration definition
+
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
+
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
+
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
+
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
+
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
+
uint8_t bmp384_info(bmp384_info_t *info)
get chip's information
+
struct bmp384_info_s bmp384_info_t
bmp384 information structure definition
+
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
+
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
+
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
+
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
+
uint8_t bmp384_irq_handler(bmp384_handle_t *handle)
irq handler
+
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
+
struct bmp384_handle_s bmp384_handle_t
bmp384 handle structure definition
+
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
+
@ BMP384_MODE_NORMAL_MODE
+
@ BMP384_FIFO_DATA_SOURCE_FILTERED
+
@ BMP384_SPI_WIRE_4
+
@ BMP384_BOOL_TRUE
+
@ BMP384_BOOL_FALSE
+
@ BMP384_INTERRUPT_STATUS_FIFO_WATERMARK
+
@ BMP384_INTERRUPT_STATUS_FIFO_FULL
+
@ BMP384_INTERRUPT_STATUS_DATA_READY
+
@ BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
+
@ BMP384_ODR_12P5_HZ
+
@ BMP384_FILTER_COEFFICIENT_15
+
@ BMP384_IIC_WATCHDOG_PERIOD_40_MS
+
@ BMP384_OVERSAMPLING_x32
+
@ BMP384_OVERSAMPLING_x2
+
@ BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
+
uint8_t bmp384_set_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo pressure on
+
uint8_t bmp384_set_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
set the fifo data source
+
uint8_t bmp384_set_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo stopping on full
+
uint8_t bmp384_set_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo sensor time on
+
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
+
uint8_t bmp384_set_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo temperature on
+
uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
set the fifo watermark
+
uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
set the fifo subsampling
+
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
+
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
+
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
+
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
+
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
+
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
+
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
+
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
+
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
+
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
+
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
+
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
+
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
+
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
+
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
+
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
+ + + + + + + + + + + + +
uint8_t bmp384_interrupt_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
interrupt test
+
uint8_t bmp384_interrupt_test_irq_handler(void)
interrupt test irq handler
+ +
float supply_voltage_max_v
+
uint32_t driver_version
+ + +
char manufacturer_name[32]
+
float supply_voltage_min_v
+ +
char chip_name[32]
+
diff --git a/doc/html/driver__bmp384__interrupt__test_8h.html b/doc/html/driver__bmp384__interrupt__test_8h.html index 61ceb31..432d17c 100644 --- a/doc/html/driver__bmp384__interrupt__test_8h.html +++ b/doc/html/driver__bmp384__interrupt__test_8h.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_interrupt_test.h File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_interrupt_test.h File Reference
+
driver_bmp384_interrupt_test.h File Reference

driver bmp384 interrupt test header file More...

+Include dependency graph for driver_bmp384_interrupt_test.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+

Go to the source code of this file.

- - - - - - - + + + +

+

Functions

uint8_t bmp384_interrupt_test_irq_handler (void)
 interrupt test irq handler More...
 
uint8_t bmp384_interrupt_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 interrupt test More...
 
uint8_t bmp384_interrupt_test_irq_handler (void)
 interrupt test irq handler
uint8_t bmp384_interrupt_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 interrupt test
-

Detailed Description

+

Detailed Description

driver bmp384 interrupt test header file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -127,11 +139,19 @@

history

Definition in file driver_bmp384_interrupt_test.h.

+ +
diff --git a/doc/html/driver__bmp384__interrupt__test_8h__dep__incl.md5 b/doc/html/driver__bmp384__interrupt__test_8h__dep__incl.md5 new file mode 100644 index 0000000..2f5c3a7 --- /dev/null +++ b/doc/html/driver__bmp384__interrupt__test_8h__dep__incl.md5 @@ -0,0 +1 @@ +e7e7fc49d733bdaca7a3b7b5e44a1c8d \ No newline at end of file diff --git a/doc/html/driver__bmp384__interrupt__test_8h__dep__incl.svg b/doc/html/driver__bmp384__interrupt__test_8h__dep__incl.svg new file mode 100644 index 0000000..86956f3 --- /dev/null +++ b/doc/html/driver__bmp384__interrupt__test_8h__dep__incl.svg @@ -0,0 +1,41 @@ + + + + + + +test/driver_bmp384_interrupt_test.h + + +Node1 + + +test/driver_bmp384 +_interrupt_test.h + + + + + +Node2 + + +test/driver_bmp384 +_interrupt_test.c + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/driver__bmp384__interrupt__test_8h__incl.md5 b/doc/html/driver__bmp384__interrupt__test_8h__incl.md5 new file mode 100644 index 0000000..f3bd0c7 --- /dev/null +++ b/doc/html/driver__bmp384__interrupt__test_8h__incl.md5 @@ -0,0 +1 @@ +af979da9a6763fb83bf063656152c856 \ No newline at end of file diff --git a/doc/html/driver__bmp384__interrupt__test_8h__incl.svg b/doc/html/driver__bmp384__interrupt__test_8h__incl.svg new file mode 100644 index 0000000..0f9170b --- /dev/null +++ b/doc/html/driver__bmp384__interrupt__test_8h__incl.svg @@ -0,0 +1,112 @@ + + + + + + +test/driver_bmp384_interrupt_test.h + + +Node1 + + +test/driver_bmp384 +_interrupt_test.h + + + + + +Node2 + + +driver_bmp384_interface.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +stdint.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdio.h + + + + + +Node3->Node5 + + + + + + + + +Node6 + + +string.h + + + + + +Node3->Node6 + + + + + + + + diff --git a/doc/html/driver__bmp384__interrupt__test_8h_source.html b/doc/html/driver__bmp384__interrupt__test_8h_source.html index e82cbfe..1002187 100644 --- a/doc/html/driver__bmp384__interrupt__test_8h_source.html +++ b/doc/html/driver__bmp384__interrupt__test_8h_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_interrupt_test.h Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_interrupt_test.h
+
driver_bmp384_interrupt_test.h
-Go to the documentation of this file.
1 
-
37 #ifndef DRIVER_BMP384_INTERRUPT_TEST_H
-
38 #define DRIVER_BMP384_INTERRUPT_TEST_H
-
39 
- -
41 
-
42 #ifdef __cplusplus
-
43 extern "C"{
-
44 #endif
-
45 
- -
59 
-
70 uint8_t bmp384_interrupt_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times);
-
71 
-
76 #ifdef __cplusplus
-
77 }
-
78 #endif
-
79 
-
80 #endif
+Go to the documentation of this file.
1
+
36
+
37#ifndef DRIVER_BMP384_INTERRUPT_TEST_H
+
38#define DRIVER_BMP384_INTERRUPT_TEST_H
+
39
+ +
41
+
42#ifdef __cplusplus
+
43extern "C"{
+
44#endif
+
45
+
50
+ +
59
+
70uint8_t bmp384_interrupt_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times);
+
71
+
75
+
76#ifdef __cplusplus
+
77}
+
78#endif
+
79
+
80#endif
driver bmp384 interface header file
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_interrupt_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
interrupt test
-
uint8_t bmp384_interrupt_test_irq_handler(void)
interrupt test irq handler
+
bmp384_interface_t
bmp384 interface enumeration definition
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_interrupt_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
interrupt test
+
uint8_t bmp384_interrupt_test_irq_handler(void)
interrupt test irq handler
+
diff --git a/doc/html/driver__bmp384__read__test_8c.html b/doc/html/driver__bmp384__read__test_8c.html index 285cb72..c2a79f8 100644 --- a/doc/html/driver__bmp384__read__test_8c.html +++ b/doc/html/driver__bmp384__read__test_8c.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_read_test.c File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_read_test.c File Reference
+
driver_bmp384_read_test.c File Reference

driver bmp384 read test source file More...

+Include dependency graph for driver_bmp384_read_test.c:
+
+
+

Go to the source code of this file.

- - - - + +

+

Functions

uint8_t bmp384_read_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 read test More...
 
uint8_t bmp384_read_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 read test
-

Detailed Description

+

Detailed Description

driver bmp384 read test source file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -124,11 +132,19 @@

history

Definition in file driver_bmp384_read_test.c.

+ +
diff --git a/doc/html/driver__bmp384__read__test_8c__incl.md5 b/doc/html/driver__bmp384__read__test_8c__incl.md5 new file mode 100644 index 0000000..1bd3af3 --- /dev/null +++ b/doc/html/driver__bmp384__read__test_8c__incl.md5 @@ -0,0 +1 @@ +b00c71fdb8b45debf692dccb18b24a3a \ No newline at end of file diff --git a/doc/html/driver__bmp384__read__test_8c__incl.svg b/doc/html/driver__bmp384__read__test_8c__incl.svg new file mode 100644 index 0000000..31253be --- /dev/null +++ b/doc/html/driver__bmp384__read__test_8c__incl.svg @@ -0,0 +1,131 @@ + + + + + + +test/driver_bmp384_read_test.c + + +Node1 + + +test/driver_bmp384 +_read_test.c + + + + + +Node2 + + +driver_bmp384_read +_test.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384_interface.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +driver_bmp384.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdint.h + + + + + +Node4->Node5 + + + + + + + + +Node6 + + +stdio.h + + + + + +Node4->Node6 + + + + + + + + +Node7 + + +string.h + + + + + +Node4->Node7 + + + + + + + + diff --git a/doc/html/driver__bmp384__read__test_8c_source.html b/doc/html/driver__bmp384__read__test_8c_source.html index 6b10392..fc812bb 100644 --- a/doc/html/driver__bmp384__read__test_8c_source.html +++ b/doc/html/driver__bmp384__read__test_8c_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_read_test.c Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_read_test.c
+
driver_bmp384_read_test.c
-Go to the documentation of this file.
1 
- -
38 
-
39 static bmp384_handle_t gs_handle;
-
51 uint8_t bmp384_read_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
-
52 {
-
53  uint8_t res;
-
54  uint32_t i;
-
55  bmp384_info_t info;
-
56 
-
57  /* link functions */
- - - - - - - - - - - - -
70 
-
71  /* bmp384 info */
-
72  res = bmp384_info(&info);
-
73  if (res != 0)
-
74  {
-
75  bmp384_interface_debug_print("bmp384: get info failed.\n");
-
76 
-
77  return 1;
-
78  }
-
79  else
-
80  {
-
81  /* print chip information */
-
82  bmp384_interface_debug_print("bmp384: chip is %s.\n", info.chip_name);
-
83  bmp384_interface_debug_print("bmp384: manufacturer is %s.\n", info.manufacturer_name);
-
84  bmp384_interface_debug_print("bmp384: interface is %s.\n", info.interface);
-
85  bmp384_interface_debug_print("bmp384: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
-
86  bmp384_interface_debug_print("bmp384: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
-
87  bmp384_interface_debug_print("bmp384: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
-
88  bmp384_interface_debug_print("bmp384: max current is %0.2fmA.\n", info.max_current_ma);
-
89  bmp384_interface_debug_print("bmp384: max temperature is %0.1fC.\n", info.temperature_max);
-
90  bmp384_interface_debug_print("bmp384: min temperature is %0.1fC.\n", info.temperature_min);
-
91  }
-
92 
-
93  /* start read test */
-
94  bmp384_interface_debug_print("bmp384: start read test.\n");
-
95  res = bmp384_set_interface(&gs_handle, interface);
-
96  if (res != 0)
-
97  {
-
98  bmp384_interface_debug_print("bmp384: set interface failed.\n");
-
99 
-
100  return 1;
-
101  }
-
102 
-
103  /* set addr pin */
-
104  res = bmp384_set_addr_pin(&gs_handle, addr_pin);
-
105  if (res != 0)
-
106  {
-
107  bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
-
108 
-
109  return 1;
-
110  }
-
111 
-
112  /* bmp384 init */
-
113  res = bmp384_init(&gs_handle);
-
114  if (res != 0)
-
115  {
-
116  bmp384_interface_debug_print("bmp384: init failed.\n");
-
117 
-
118  return 1;
-
119  }
-
120 
-
121  /* set spi wire 4 */
-
122  res = bmp384_set_spi_wire(&gs_handle, BMP384_SPI_WIRE_4);
-
123  if (res != 0)
-
124  {
-
125  bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
-
126  (void)bmp384_deinit(&gs_handle);
-
127 
-
128  return 1;
-
129  }
-
130 
-
131  /* enable iic watchdog timer */
- -
133  if (res != 0)
-
134  {
-
135  bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
-
136  (void)bmp384_deinit(&gs_handle);
-
137 
-
138  return 1;
-
139  }
-
140 
-
141  /* set iic watchdog period 40 ms */
- -
143  if (res != 0)
-
144  {
-
145  bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
-
146  (void)bmp384_deinit(&gs_handle);
-
147 
-
148  return 1;
-
149  }
-
150 
-
151  /* disable fifo */
-
152  res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_FALSE);
-
153  if (res != 0)
-
154  {
-
155  bmp384_interface_debug_print("bmp384: set fifo failed.\n");
-
156  (void)bmp384_deinit(&gs_handle);
-
157 
-
158  return 1;
-
159  }
-
160 
-
161  /* disable fifo stop on full */
- -
163  if (res != 0)
-
164  {
-
165  bmp384_interface_debug_print("bmp384: set fifo stop on full failed.\n");
-
166  (void)bmp384_deinit(&gs_handle);
-
167 
-
168  return 1;
-
169  }
-
170 
-
171  /* set fifo watermark 256 */
-
172  res = bmp384_set_fifo_watermark(&gs_handle, 256);
-
173  if (res != 0)
-
174  {
-
175  bmp384_interface_debug_print("bmp384: set fifo watermark failed.\n");
-
176  (void)bmp384_deinit(&gs_handle);
-
177 
-
178  return 1;
-
179  }
-
180 
-
181  /* enable fifo sensor time on */
- -
183  if (res != 0)
-
184  {
-
185  bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
-
186  (void)bmp384_deinit(&gs_handle);
-
187 
-
188  return 1;
-
189  }
-
190 
-
191  /* enable fifo pressure on */
- -
193  if (res != 0)
-
194  {
-
195  bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
-
196  (void)bmp384_deinit(&gs_handle);
-
197 
-
198  return 1;
-
199  }
-
200 
-
201  /* enable fifo temperature on */
- -
203  if (res != 0)
-
204  {
-
205  bmp384_interface_debug_print("bmp384: set fifo temperature on failed.\n");
-
206  (void)bmp384_deinit(&gs_handle);
-
207 
-
208  return 1;
-
209  }
-
210 
-
211  /* set fifo subsampling 0 */
-
212  res = bmp384_set_fifo_subsampling(&gs_handle, 0);
-
213  if (res != 0)
-
214  {
-
215  bmp384_interface_debug_print("bmp384: set fifo subsampling failed.\n");
-
216  (void)bmp384_deinit(&gs_handle);
-
217 
-
218  return 1;
-
219  }
-
220 
-
221  /* set fifo data source filtered */
- -
223  if (res != 0)
-
224  {
-
225  bmp384_interface_debug_print("bmp384: set fifo data source failed.\n");
-
226  (void)bmp384_deinit(&gs_handle);
-
227 
-
228  return 1;
-
229  }
-
230 
-
231  /* set interrupt pin type push-pull */
- -
233  if (res != 0)
-
234  {
-
235  bmp384_interface_debug_print("bmp384: set interrupt pin type failed.\n");
-
236  (void)bmp384_deinit(&gs_handle);
-
237 
-
238  return 1;
-
239  }
-
240 
-
241  /* set interrupt active level higher */
- -
243  if (res != 0)
-
244  {
-
245  bmp384_interface_debug_print("bmp384: set interrupt active level failed.\n");
-
246  (void)bmp384_deinit(&gs_handle);
-
247 
-
248  return 1;
-
249  }
-
250 
-
251  /* enable latch interrupt pin and interrupt status */
- -
253  if (res != 0)
-
254  {
-
255  bmp384_interface_debug_print("bmp384: set set latch interrupt pin and interrupt status failed.\n");
-
256  (void)bmp384_deinit(&gs_handle);
-
257 
-
258  return 1;
-
259  }
-
260 
-
261  /* enable interrupt fifo watermark */
- -
263  if (res != 0)
-
264  {
-
265  bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
-
266  (void)bmp384_deinit(&gs_handle);
-
267 
-
268  return 1;
-
269  }
-
270 
-
271  /* enable interrupt fifo full */
- -
273  if (res != 0)
-
274  {
-
275  bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
-
276  (void)bmp384_deinit(&gs_handle);
-
277 
-
278  return 1;
-
279  }
-
280 
-
281  /* disable interrupt data ready */
- -
283  if (res != 0)
-
284  {
-
285  bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
-
286  (void)bmp384_deinit(&gs_handle);
-
287 
-
288  return 1;
-
289  }
-
290 
-
291  /* enable pressure */
-
292  res = bmp384_set_pressure(&gs_handle, BMP384_BOOL_TRUE);
-
293  if (res != 0)
-
294  {
-
295  bmp384_interface_debug_print("bmp384: set pressure failed.\n");
-
296  (void)bmp384_deinit(&gs_handle);
-
297 
-
298  return 1;
-
299  }
-
300 
-
301  /* enable temperature */
-
302  res = bmp384_set_temperature(&gs_handle, BMP384_BOOL_TRUE);
-
303  if (res != 0)
-
304  {
-
305  bmp384_interface_debug_print("bmp384: set temperature failed.\n");
-
306  (void)bmp384_deinit(&gs_handle);
-
307 
-
308  return 1;
-
309  }
-
310 
-
311  /* set pressure oversampling x32 */
- -
313  if (res != 0)
-
314  {
-
315  bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
-
316  (void)bmp384_deinit(&gs_handle);
-
317 
-
318  return 1;
-
319  }
-
320 
-
321  /* set temperature oversampling x2 */
- -
323  if (res != 0)
-
324  {
-
325  bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
-
326  (void)bmp384_deinit(&gs_handle);
-
327 
-
328  return 1;
-
329  }
-
330 
-
331  /* set odr 12.5Hz */
-
332  res = bmp384_set_odr(&gs_handle, BMP384_ODR_12P5_HZ);
-
333  if (res != 0)
-
334  {
-
335  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
336  (void)bmp384_deinit(&gs_handle);
-
337 
-
338  return 1;
-
339  }
-
340 
-
341  /* set filter coefficient 15 */
- -
343  if (res != 0)
-
344  {
-
345  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
346  (void)bmp384_deinit(&gs_handle);
-
347 
-
348  return 1;
-
349  }
-
350 
-
351  /* start forced mode read test */
-
352  bmp384_interface_debug_print("bmp384: forced mode read test.\n");
-
353 
-
354  /* set forced mode */
-
355  res = bmp384_set_mode(&gs_handle, BMP384_MODE_FORCED_MODE);
-
356  if (res != 0)
-
357  {
-
358  bmp384_interface_debug_print("bmp384: set mode failed.\n");
-
359  (void)bmp384_deinit(&gs_handle);
-
360 
-
361  return 1;
-
362  }
- -
364  for (i = 0; i < times; i++)
-
365  {
-
366  uint32_t temperature_raw;
-
367  uint32_t pressure_raw;
-
368  float temperature_c;
-
369  float pressure_pa;
-
370 
-
371  /* read temperature pressure */
-
372  if (bmp384_read_temperature_pressure(&gs_handle, (uint32_t *)&temperature_raw, (float *)&temperature_c,
-
373  (uint32_t *)&pressure_raw, (float *)&pressure_pa) != 0)
-
374  {
-
375  bmp384_interface_debug_print("bmp384: read temperature and pressure failed.\n");
-
376  (void)bmp384_deinit(&gs_handle);
-
377 
-
378  return 1;
-
379  }
-
380  bmp384_interface_debug_print("bmp384: temperature is %0.2fC.\n", temperature_c);
-
381  bmp384_interface_debug_print("bmp384: pressure is %0.2fPa.\n", pressure_pa);
- -
383  }
-
384 
-
385  /* start normal mode read */
-
386  bmp384_interface_debug_print("bmp384: normal mode read test.\n");
-
387  res = bmp384_set_mode(&gs_handle, BMP384_MODE_SLEEP_MODE);
-
388  if (res != 0)
-
389  {
-
390  bmp384_interface_debug_print("bmp384: set mode failed.\n");
-
391  (void)bmp384_deinit(&gs_handle);
-
392 
-
393  return 1;
-
394  }
- -
396 
-
397  /* set normal mode */
-
398  res = bmp384_set_mode(&gs_handle, BMP384_MODE_NORMAL_MODE);
-
399  if (res != 0)
-
400  {
-
401  bmp384_interface_debug_print("bmp384: set mode failed.\n");
-
402  (void)bmp384_deinit(&gs_handle);
-
403 
-
404  return 1;
-
405  }
- -
407  for (i = 0; i < times; i++)
-
408  {
-
409  uint32_t temperature_raw;
-
410  uint32_t pressure_raw;
-
411  float temperature_c;
-
412  float pressure_pa;
-
413 
-
414  /* read temperature pressure */
-
415  if (bmp384_read_temperature_pressure(&gs_handle, (uint32_t *)&temperature_raw, (float *)&temperature_c,
-
416  (uint32_t *)&pressure_raw, (float *)&pressure_pa) != 0)
-
417  {
-
418  bmp384_interface_debug_print("bmp384: read temperature and pressure failed.\n");
-
419  (void)bmp384_deinit(&gs_handle);
-
420 
-
421  return 1;
-
422  }
-
423  bmp384_interface_debug_print("bmp384: temperature is %0.2fC.\n", temperature_c);
-
424  bmp384_interface_debug_print("bmp384: pressure is %0.2fPa.\n", pressure_pa);
- -
426  }
-
427 
-
428  /* finish read test */
-
429  bmp384_interface_debug_print("bmp384: finish read test.\n");
-
430  (void)bmp384_deinit(&gs_handle);
-
431 
-
432  return 0;
-
433 }
+Go to the documentation of this file.
1
+
36
+ +
38
+
39static bmp384_handle_t gs_handle;
+
40
+
+
51uint8_t bmp384_read_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
+
52{
+
53 uint8_t res;
+
54 uint32_t i;
+
55 bmp384_info_t info;
+
56
+
57 /* link functions */
+ + + + + + + + + + + + +
70
+
71 /* bmp384 info */
+
72 res = bmp384_info(&info);
+
73 if (res != 0)
+
74 {
+
75 bmp384_interface_debug_print("bmp384: get info failed.\n");
+
76
+
77 return 1;
+
78 }
+
79 else
+
80 {
+
81 /* print chip information */
+
82 bmp384_interface_debug_print("bmp384: chip is %s.\n", info.chip_name);
+
83 bmp384_interface_debug_print("bmp384: manufacturer is %s.\n", info.manufacturer_name);
+
84 bmp384_interface_debug_print("bmp384: interface is %s.\n", info.interface);
+
85 bmp384_interface_debug_print("bmp384: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
+
86 bmp384_interface_debug_print("bmp384: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
+
87 bmp384_interface_debug_print("bmp384: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
+
88 bmp384_interface_debug_print("bmp384: max current is %0.2fmA.\n", info.max_current_ma);
+
89 bmp384_interface_debug_print("bmp384: max temperature is %0.1fC.\n", info.temperature_max);
+
90 bmp384_interface_debug_print("bmp384: min temperature is %0.1fC.\n", info.temperature_min);
+
91 }
+
92
+
93 /* start read test */
+
94 bmp384_interface_debug_print("bmp384: start read test.\n");
+
95 res = bmp384_set_interface(&gs_handle, interface);
+
96 if (res != 0)
+
97 {
+
98 bmp384_interface_debug_print("bmp384: set interface failed.\n");
+
99
+
100 return 1;
+
101 }
+
102
+
103 /* set addr pin */
+
104 res = bmp384_set_addr_pin(&gs_handle, addr_pin);
+
105 if (res != 0)
+
106 {
+
107 bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
+
108
+
109 return 1;
+
110 }
+
111
+
112 /* bmp384 init */
+
113 res = bmp384_init(&gs_handle);
+
114 if (res != 0)
+
115 {
+
116 bmp384_interface_debug_print("bmp384: init failed.\n");
+
117
+
118 return 1;
+
119 }
+
120
+
121 /* set spi wire 4 */
+
122 res = bmp384_set_spi_wire(&gs_handle, BMP384_SPI_WIRE_4);
+
123 if (res != 0)
+
124 {
+
125 bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
+
126 (void)bmp384_deinit(&gs_handle);
+
127
+
128 return 1;
+
129 }
+
130
+
131 /* enable iic watchdog timer */
+ +
133 if (res != 0)
+
134 {
+
135 bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
+
136 (void)bmp384_deinit(&gs_handle);
+
137
+
138 return 1;
+
139 }
+
140
+
141 /* set iic watchdog period 40 ms */
+ +
143 if (res != 0)
+
144 {
+
145 bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
+
146 (void)bmp384_deinit(&gs_handle);
+
147
+
148 return 1;
+
149 }
+
150
+
151 /* disable fifo */
+
152 res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_FALSE);
+
153 if (res != 0)
+
154 {
+
155 bmp384_interface_debug_print("bmp384: set fifo failed.\n");
+
156 (void)bmp384_deinit(&gs_handle);
+
157
+
158 return 1;
+
159 }
+
160
+
161 /* disable fifo stop on full */
+ +
163 if (res != 0)
+
164 {
+
165 bmp384_interface_debug_print("bmp384: set fifo stop on full failed.\n");
+
166 (void)bmp384_deinit(&gs_handle);
+
167
+
168 return 1;
+
169 }
+
170
+
171 /* set fifo watermark 256 */
+
172 res = bmp384_set_fifo_watermark(&gs_handle, 256);
+
173 if (res != 0)
+
174 {
+
175 bmp384_interface_debug_print("bmp384: set fifo watermark failed.\n");
+
176 (void)bmp384_deinit(&gs_handle);
+
177
+
178 return 1;
+
179 }
+
180
+
181 /* enable fifo sensor time on */
+ +
183 if (res != 0)
+
184 {
+
185 bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
+
186 (void)bmp384_deinit(&gs_handle);
+
187
+
188 return 1;
+
189 }
+
190
+
191 /* enable fifo pressure on */
+ +
193 if (res != 0)
+
194 {
+
195 bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
+
196 (void)bmp384_deinit(&gs_handle);
+
197
+
198 return 1;
+
199 }
+
200
+
201 /* enable fifo temperature on */
+ +
203 if (res != 0)
+
204 {
+
205 bmp384_interface_debug_print("bmp384: set fifo temperature on failed.\n");
+
206 (void)bmp384_deinit(&gs_handle);
+
207
+
208 return 1;
+
209 }
+
210
+
211 /* set fifo subsampling 0 */
+
212 res = bmp384_set_fifo_subsampling(&gs_handle, 0);
+
213 if (res != 0)
+
214 {
+
215 bmp384_interface_debug_print("bmp384: set fifo subsampling failed.\n");
+
216 (void)bmp384_deinit(&gs_handle);
+
217
+
218 return 1;
+
219 }
+
220
+
221 /* set fifo data source filtered */
+ +
223 if (res != 0)
+
224 {
+
225 bmp384_interface_debug_print("bmp384: set fifo data source failed.\n");
+
226 (void)bmp384_deinit(&gs_handle);
+
227
+
228 return 1;
+
229 }
+
230
+
231 /* set interrupt pin type push-pull */
+ +
233 if (res != 0)
+
234 {
+
235 bmp384_interface_debug_print("bmp384: set interrupt pin type failed.\n");
+
236 (void)bmp384_deinit(&gs_handle);
+
237
+
238 return 1;
+
239 }
+
240
+
241 /* set interrupt active level higher */
+ +
243 if (res != 0)
+
244 {
+
245 bmp384_interface_debug_print("bmp384: set interrupt active level failed.\n");
+
246 (void)bmp384_deinit(&gs_handle);
+
247
+
248 return 1;
+
249 }
+
250
+
251 /* enable latch interrupt pin and interrupt status */
+ +
253 if (res != 0)
+
254 {
+
255 bmp384_interface_debug_print("bmp384: set set latch interrupt pin and interrupt status failed.\n");
+
256 (void)bmp384_deinit(&gs_handle);
+
257
+
258 return 1;
+
259 }
+
260
+
261 /* enable interrupt fifo watermark */
+ +
263 if (res != 0)
+
264 {
+
265 bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
+
266 (void)bmp384_deinit(&gs_handle);
+
267
+
268 return 1;
+
269 }
+
270
+
271 /* enable interrupt fifo full */
+ +
273 if (res != 0)
+
274 {
+
275 bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
+
276 (void)bmp384_deinit(&gs_handle);
+
277
+
278 return 1;
+
279 }
+
280
+
281 /* disable interrupt data ready */
+ +
283 if (res != 0)
+
284 {
+
285 bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
+
286 (void)bmp384_deinit(&gs_handle);
+
287
+
288 return 1;
+
289 }
+
290
+
291 /* enable pressure */
+
292 res = bmp384_set_pressure(&gs_handle, BMP384_BOOL_TRUE);
+
293 if (res != 0)
+
294 {
+
295 bmp384_interface_debug_print("bmp384: set pressure failed.\n");
+
296 (void)bmp384_deinit(&gs_handle);
+
297
+
298 return 1;
+
299 }
+
300
+
301 /* enable temperature */
+
302 res = bmp384_set_temperature(&gs_handle, BMP384_BOOL_TRUE);
+
303 if (res != 0)
+
304 {
+
305 bmp384_interface_debug_print("bmp384: set temperature failed.\n");
+
306 (void)bmp384_deinit(&gs_handle);
+
307
+
308 return 1;
+
309 }
+
310
+
311 /* set pressure oversampling x32 */
+ +
313 if (res != 0)
+
314 {
+
315 bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
+
316 (void)bmp384_deinit(&gs_handle);
+
317
+
318 return 1;
+
319 }
+
320
+
321 /* set temperature oversampling x2 */
+ +
323 if (res != 0)
+
324 {
+
325 bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
+
326 (void)bmp384_deinit(&gs_handle);
+
327
+
328 return 1;
+
329 }
+
330
+
331 /* set odr 12.5Hz */
+
332 res = bmp384_set_odr(&gs_handle, BMP384_ODR_12P5_HZ);
+
333 if (res != 0)
+
334 {
+
335 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
336 (void)bmp384_deinit(&gs_handle);
+
337
+
338 return 1;
+
339 }
+
340
+
341 /* set filter coefficient 15 */
+ +
343 if (res != 0)
+
344 {
+
345 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
346 (void)bmp384_deinit(&gs_handle);
+
347
+
348 return 1;
+
349 }
+
350
+
351 /* start forced mode read test */
+
352 bmp384_interface_debug_print("bmp384: forced mode read test.\n");
+
353
+
354 /* set forced mode */
+
355 res = bmp384_set_mode(&gs_handle, BMP384_MODE_FORCED_MODE);
+
356 if (res != 0)
+
357 {
+
358 bmp384_interface_debug_print("bmp384: set mode failed.\n");
+
359 (void)bmp384_deinit(&gs_handle);
+
360
+
361 return 1;
+
362 }
+ +
364 for (i = 0; i < times; i++)
+
365 {
+
366 uint32_t temperature_raw;
+
367 uint32_t pressure_raw;
+
368 float temperature_c;
+
369 float pressure_pa;
+
370
+
371 /* read temperature pressure */
+
372 if (bmp384_read_temperature_pressure(&gs_handle, (uint32_t *)&temperature_raw, (float *)&temperature_c,
+
373 (uint32_t *)&pressure_raw, (float *)&pressure_pa) != 0)
+
374 {
+
375 bmp384_interface_debug_print("bmp384: read temperature and pressure failed.\n");
+
376 (void)bmp384_deinit(&gs_handle);
+
377
+
378 return 1;
+
379 }
+
380 bmp384_interface_debug_print("bmp384: temperature is %0.2fC.\n", temperature_c);
+
381 bmp384_interface_debug_print("bmp384: pressure is %0.2fPa.\n", pressure_pa);
+ +
383 }
+
384
+
385 /* start normal mode read */
+
386 bmp384_interface_debug_print("bmp384: normal mode read test.\n");
+
387 res = bmp384_set_mode(&gs_handle, BMP384_MODE_SLEEP_MODE);
+
388 if (res != 0)
+
389 {
+
390 bmp384_interface_debug_print("bmp384: set mode failed.\n");
+
391 (void)bmp384_deinit(&gs_handle);
+
392
+
393 return 1;
+
394 }
+ +
396
+
397 /* set normal mode */
+
398 res = bmp384_set_mode(&gs_handle, BMP384_MODE_NORMAL_MODE);
+
399 if (res != 0)
+
400 {
+
401 bmp384_interface_debug_print("bmp384: set mode failed.\n");
+
402 (void)bmp384_deinit(&gs_handle);
+
403
+
404 return 1;
+
405 }
+ +
407 for (i = 0; i < times; i++)
+
408 {
+
409 uint32_t temperature_raw;
+
410 uint32_t pressure_raw;
+
411 float temperature_c;
+
412 float pressure_pa;
+
413
+
414 /* read temperature pressure */
+
415 if (bmp384_read_temperature_pressure(&gs_handle, (uint32_t *)&temperature_raw, (float *)&temperature_c,
+
416 (uint32_t *)&pressure_raw, (float *)&pressure_pa) != 0)
+
417 {
+
418 bmp384_interface_debug_print("bmp384: read temperature and pressure failed.\n");
+
419 (void)bmp384_deinit(&gs_handle);
+
420
+
421 return 1;
+
422 }
+
423 bmp384_interface_debug_print("bmp384: temperature is %0.2fC.\n", temperature_c);
+
424 bmp384_interface_debug_print("bmp384: pressure is %0.2fPa.\n", pressure_pa);
+ +
426 }
+
427
+
428 /* finish read test */
+
429 bmp384_interface_debug_print("bmp384: finish read test.\n");
+
430 (void)bmp384_deinit(&gs_handle);
+
431
+
432 return 0;
+
433}
+
driver bmp384 read test header file
-
uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
read the temperature and pressure
-
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
-
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
-
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
-
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
-
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
-
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
-
uint8_t bmp384_info(bmp384_info_t *info)
get chip's information
-
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
-
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
-
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
-
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
-
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
-
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
-
@ BMP384_MODE_FORCED_MODE
-
@ BMP384_MODE_NORMAL_MODE
-
@ BMP384_MODE_SLEEP_MODE
-
@ BMP384_FIFO_DATA_SOURCE_FILTERED
-
@ BMP384_SPI_WIRE_4
-
@ BMP384_BOOL_TRUE
Definition: driver_bmp384.h:83
-
@ BMP384_BOOL_FALSE
Definition: driver_bmp384.h:82
-
@ BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
-
@ BMP384_ODR_12P5_HZ
-
@ BMP384_FILTER_COEFFICIENT_15
-
@ BMP384_IIC_WATCHDOG_PERIOD_40_MS
-
@ BMP384_OVERSAMPLING_x32
-
@ BMP384_OVERSAMPLING_x2
-
@ BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
-
uint8_t bmp384_set_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo pressure on
-
uint8_t bmp384_set_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
set the fifo data source
-
uint8_t bmp384_set_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo stopping on full
-
uint8_t bmp384_set_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo sensor time on
-
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
-
uint8_t bmp384_set_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo temperature on
-
uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
set the fifo watermark
-
uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
set the fifo subsampling
-
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
-
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
-
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
-
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
-
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
-
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
-
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
-
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
-
void bmp384_interface_receive_callback(uint8_t type)
interface receive callback
-
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
-
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
-
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
-
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
-
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
-
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
-
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
-
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
- - - - - - - - - - - - -
uint8_t bmp384_read_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
read test
-
bmp384 handle structure definition
-
bmp384 information structure definition
-
float temperature_max
-
float supply_voltage_max_v
-
uint32_t driver_version
-
float temperature_min
-
float max_current_ma
-
char manufacturer_name[32]
-
float supply_voltage_min_v
-
char interface[8]
-
char chip_name[32]
+
uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
read the temperature and pressure
+
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
+
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
+
bmp384_interface_t
bmp384 interface enumeration definition
+
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
+
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
+
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
+
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
+
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
+
uint8_t bmp384_info(bmp384_info_t *info)
get chip's information
+
struct bmp384_info_s bmp384_info_t
bmp384 information structure definition
+
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
+
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
+
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
+
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
+
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
+
struct bmp384_handle_s bmp384_handle_t
bmp384 handle structure definition
+
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
+
@ BMP384_MODE_FORCED_MODE
+
@ BMP384_MODE_NORMAL_MODE
+
@ BMP384_MODE_SLEEP_MODE
+
@ BMP384_FIFO_DATA_SOURCE_FILTERED
+
@ BMP384_SPI_WIRE_4
+
@ BMP384_BOOL_TRUE
+
@ BMP384_BOOL_FALSE
+
@ BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
+
@ BMP384_ODR_12P5_HZ
+
@ BMP384_FILTER_COEFFICIENT_15
+
@ BMP384_IIC_WATCHDOG_PERIOD_40_MS
+
@ BMP384_OVERSAMPLING_x32
+
@ BMP384_OVERSAMPLING_x2
+
@ BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
+
uint8_t bmp384_set_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo pressure on
+
uint8_t bmp384_set_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
set the fifo data source
+
uint8_t bmp384_set_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo stopping on full
+
uint8_t bmp384_set_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo sensor time on
+
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
+
uint8_t bmp384_set_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo temperature on
+
uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
set the fifo watermark
+
uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
set the fifo subsampling
+
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
+
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
+
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
+
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
+
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
+
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
+
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
+
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
+
void bmp384_interface_receive_callback(uint8_t type)
interface receive callback
+
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
+
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
+
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
+
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
+
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
+
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
+
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
+
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
+ + + + + + + + + + + + +
uint8_t bmp384_read_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
read test
+ +
float supply_voltage_max_v
+
uint32_t driver_version
+ + +
char manufacturer_name[32]
+
float supply_voltage_min_v
+ +
char chip_name[32]
+
diff --git a/doc/html/driver__bmp384__read__test_8h.html b/doc/html/driver__bmp384__read__test_8h.html index c55c907..11da5fd 100644 --- a/doc/html/driver__bmp384__read__test_8h.html +++ b/doc/html/driver__bmp384__read__test_8h.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_read_test.h File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_read_test.h File Reference
+
driver_bmp384_read_test.h File Reference

driver bmp384 read test header file More...

+Include dependency graph for driver_bmp384_read_test.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+

Go to the source code of this file.

- - - - + +

+

Functions

uint8_t bmp384_read_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 read test More...
 
uint8_t bmp384_read_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 read test
-

Detailed Description

+

Detailed Description

driver bmp384 read test header file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -124,11 +137,19 @@

history

Definition in file driver_bmp384_read_test.h.

+ +
diff --git a/doc/html/driver__bmp384__read__test_8h__dep__incl.md5 b/doc/html/driver__bmp384__read__test_8h__dep__incl.md5 new file mode 100644 index 0000000..8213db2 --- /dev/null +++ b/doc/html/driver__bmp384__read__test_8h__dep__incl.md5 @@ -0,0 +1 @@ +7231d0276d2131970defd63a937fc73b \ No newline at end of file diff --git a/doc/html/driver__bmp384__read__test_8h__dep__incl.svg b/doc/html/driver__bmp384__read__test_8h__dep__incl.svg new file mode 100644 index 0000000..ab8613b --- /dev/null +++ b/doc/html/driver__bmp384__read__test_8h__dep__incl.svg @@ -0,0 +1,41 @@ + + + + + + +test/driver_bmp384_read_test.h + + +Node1 + + +test/driver_bmp384 +_read_test.h + + + + + +Node2 + + +test/driver_bmp384 +_read_test.c + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/driver__bmp384__read__test_8h__incl.md5 b/doc/html/driver__bmp384__read__test_8h__incl.md5 new file mode 100644 index 0000000..2e882c7 --- /dev/null +++ b/doc/html/driver__bmp384__read__test_8h__incl.md5 @@ -0,0 +1 @@ +d5ad05a2ba34b2adcde347ed4353f0de \ No newline at end of file diff --git a/doc/html/driver__bmp384__read__test_8h__incl.svg b/doc/html/driver__bmp384__read__test_8h__incl.svg new file mode 100644 index 0000000..9318dd2 --- /dev/null +++ b/doc/html/driver__bmp384__read__test_8h__incl.svg @@ -0,0 +1,112 @@ + + + + + + +test/driver_bmp384_read_test.h + + +Node1 + + +test/driver_bmp384 +_read_test.h + + + + + +Node2 + + +driver_bmp384_interface.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +stdint.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdio.h + + + + + +Node3->Node5 + + + + + + + + +Node6 + + +string.h + + + + + +Node3->Node6 + + + + + + + + diff --git a/doc/html/driver__bmp384__read__test_8h_source.html b/doc/html/driver__bmp384__read__test_8h_source.html index afc108f..48fe164 100644 --- a/doc/html/driver__bmp384__read__test_8h_source.html +++ b/doc/html/driver__bmp384__read__test_8h_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_read_test.h Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_read_test.h
+
driver_bmp384_read_test.h
-Go to the documentation of this file.
1 
-
37 #ifndef DRIVER_BMP384_READ_TEST_H
-
38 #define DRIVER_BMP384_READ_TEST_H
-
39 
- -
41 
-
42 #ifdef __cplusplus
-
43 extern "C"{
-
44 #endif
-
45 
-
61 uint8_t bmp384_read_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times);
-
62 
-
67 #ifdef __cplusplus
-
68 }
-
69 #endif
-
70 
-
71 #endif
+Go to the documentation of this file.
1
+
36
+
37#ifndef DRIVER_BMP384_READ_TEST_H
+
38#define DRIVER_BMP384_READ_TEST_H
+
39
+ +
41
+
42#ifdef __cplusplus
+
43extern "C"{
+
44#endif
+
45
+
50
+
61uint8_t bmp384_read_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times);
+
62
+
66
+
67#ifdef __cplusplus
+
68}
+
69#endif
+
70
+
71#endif
driver bmp384 interface header file
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_read_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
read test
+
bmp384_interface_t
bmp384 interface enumeration definition
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_read_test(bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
read test
+
diff --git a/doc/html/driver__bmp384__register__test_8c.html b/doc/html/driver__bmp384__register__test_8c.html index 29d9e21..34f743d 100644 --- a/doc/html/driver__bmp384__register__test_8c.html +++ b/doc/html/driver__bmp384__register__test_8c.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_register_test.c File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_register_test.c File Reference
+
driver_bmp384_register_test.c File Reference
@@ -95,16 +99,20 @@ More...

#include "driver_bmp384_register_test.h"
#include <stdlib.h>
+
+Include dependency graph for driver_bmp384_register_test.c:
+
+
+

Go to the source code of this file.

- - - - + +

+

Functions

uint8_t bmp384_register_test (bmp384_interface_t interface, bmp384_address_t addr_pin)
 register test More...
 
uint8_t bmp384_register_test (bmp384_interface_t interface, bmp384_address_t addr_pin)
 register test
-

Detailed Description

+

Detailed Description

driver bmp384 register test source file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -125,11 +133,19 @@

history

Definition in file driver_bmp384_register_test.c.

+ +
diff --git a/doc/html/driver__bmp384__register__test_8c__incl.md5 b/doc/html/driver__bmp384__register__test_8c__incl.md5 new file mode 100644 index 0000000..cfef619 --- /dev/null +++ b/doc/html/driver__bmp384__register__test_8c__incl.md5 @@ -0,0 +1 @@ +bf35993de3260f6775a3b049c93c7d46 \ No newline at end of file diff --git a/doc/html/driver__bmp384__register__test_8c__incl.svg b/doc/html/driver__bmp384__register__test_8c__incl.svg new file mode 100644 index 0000000..9bbadc5 --- /dev/null +++ b/doc/html/driver__bmp384__register__test_8c__incl.svg @@ -0,0 +1,149 @@ + + + + + + +test/driver_bmp384_register_test.c + + +Node1 + + +test/driver_bmp384 +_register_test.c + + + + + +Node2 + + +driver_bmp384_register +_test.h + + + + + +Node1->Node2 + + + + + + + + +Node8 + + +stdlib.h + + + + + +Node1->Node8 + + + + + + + + +Node3 + + +driver_bmp384_interface.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +driver_bmp384.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdint.h + + + + + +Node4->Node5 + + + + + + + + +Node6 + + +stdio.h + + + + + +Node4->Node6 + + + + + + + + +Node7 + + +string.h + + + + + +Node4->Node7 + + + + + + + + diff --git a/doc/html/driver__bmp384__register__test_8c_source.html b/doc/html/driver__bmp384__register__test_8c_source.html index 470f904..1681c4d 100644 --- a/doc/html/driver__bmp384__register__test_8c_source.html +++ b/doc/html/driver__bmp384__register__test_8c_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_register_test.c Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_register_test.c
+
driver_bmp384_register_test.c
-Go to the documentation of this file.
1 
- -
38 #include <stdlib.h>
-
39 
-
40 static bmp384_handle_t gs_handle;
- -
52 {
-
53  uint8_t res;
-
54  uint16_t fifo_watermark_in;
-
55  uint16_t fifo_watermark_out;
-
56  uint8_t subsampling_in;
-
57  uint8_t subsampling_out;
-
58  uint8_t err;
-
59  uint8_t status;
-
60  uint8_t data;
-
61  uint16_t length;
-
62  uint32_t sensortime;
-
63  bmp384_event_t event;
-
64  bmp384_info_t info;
-
65  bmp384_interface_t interface_test;
-
66  bmp384_address_t addr_pin_test;
-
67  bmp384_bool_t enable;
- - - -
71  bmp384_spi_wire_t wire;
- -
73  bmp384_mode_t mode;
-
74  bmp384_oversampling_t oversampling;
-
75  bmp384_odr_t odr;
- -
77 
-
78  /* link functions */
- - - - - - - - - - - - -
91 
-
92  /* bmp384 info */
-
93  res = bmp384_info(&info);
-
94  if (res != 0)
-
95  {
-
96  bmp384_interface_debug_print("bmp384: get info failed.\n");
-
97 
-
98  return 1;
-
99  }
-
100  else
-
101  {
-
102  /* print chip information */
-
103  bmp384_interface_debug_print("bmp384: chip is %s.\n", info.chip_name);
-
104  bmp384_interface_debug_print("bmp384: manufacturer is %s.\n", info.manufacturer_name);
-
105  bmp384_interface_debug_print("bmp384: interface is %s.\n", info.interface);
-
106  bmp384_interface_debug_print("bmp384: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
-
107  bmp384_interface_debug_print("bmp384: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
-
108  bmp384_interface_debug_print("bmp384: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
-
109  bmp384_interface_debug_print("bmp384: max current is %0.2fmA.\n", info.max_current_ma);
-
110  bmp384_interface_debug_print("bmp384: max temperature is %0.1fC.\n", info.temperature_max);
-
111  bmp384_interface_debug_print("bmp384: min temperature is %0.1fC.\n", info.temperature_min);
-
112  }
-
113 
-
114  /* start register test */
-
115  bmp384_interface_debug_print("bmp384: start register test.\n");
-
116 
-
117  /* bmp384_set_interface/bmp384_get_interface test */
-
118  bmp384_interface_debug_print("bmp384: bmp384_set_interface/bmp384_get_interface test.\n");
-
119 
-
120  /* set iic */
-
121  res = bmp384_set_interface(&gs_handle, BMP384_INTERFACE_IIC);
-
122  if (res != 0)
-
123  {
-
124  bmp384_interface_debug_print("bmp384: set interface failed.\n");
-
125 
-
126  return 1;
-
127  }
-
128  bmp384_interface_debug_print("bmp384: set interface iic.\n");
-
129  res = bmp384_get_interface(&gs_handle, &interface_test);
-
130  if (res != 0)
-
131  {
-
132  bmp384_interface_debug_print("bmp384: get interface failed.\n");
-
133 
-
134  return 1;
-
135  }
-
136  bmp384_interface_debug_print("bmp384: check interface %s.\n", interface_test==BMP384_INTERFACE_IIC?"ok":"error");
-
137 
-
138  /* set spi */
-
139  res = bmp384_set_interface(&gs_handle, BMP384_INTERFACE_SPI);
-
140  if (res != 0)
-
141  {
-
142  bmp384_interface_debug_print("bmp384: set interface failed.\n");
-
143 
-
144  return 1;
-
145  }
-
146  bmp384_interface_debug_print("bmp384: set interface spi.\n");
-
147  res = bmp384_get_interface(&gs_handle, &interface_test);
-
148  if (res != 0)
-
149  {
-
150  bmp384_interface_debug_print("bmp384: get interface failed.\n");
-
151 
-
152  return 1;
-
153  }
-
154  bmp384_interface_debug_print("bmp384: check interface %s.\n", interface_test==BMP384_INTERFACE_SPI?"ok":"error");
-
155 
-
156  /* bmp384_set_addr_pin/bmp384_get_addr_pin test */
-
157  bmp384_interface_debug_print("bmp384: bmp384_set_addr_pin/bmp384_get_addr_pin test.\n");
-
158 
-
159  /* set low */
-
160  res = bmp384_set_addr_pin(&gs_handle, BMP384_ADDRESS_ADO_LOW);
-
161  if (res != 0)
-
162  {
-
163  bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
-
164 
-
165  return 1;
-
166  }
-
167  bmp384_interface_debug_print("bmp384: set addr pin low.\n");
-
168  res = bmp384_get_addr_pin(&gs_handle, &addr_pin_test);
-
169  if (res != 0)
-
170  {
-
171  bmp384_interface_debug_print("bmp384: get addr pin failed.\n");
-
172 
-
173  return 1;
-
174  }
-
175  bmp384_interface_debug_print("bmp384: check addr pin %s.\n", addr_pin_test==BMP384_ADDRESS_ADO_LOW?"ok":"error");
-
176 
-
177  /* set high */
-
178  res = bmp384_set_addr_pin(&gs_handle, BMP384_ADDRESS_ADO_HIGH);
-
179  if (res != 0)
-
180  {
-
181  bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
-
182 
-
183  return 1;
-
184  }
-
185  bmp384_interface_debug_print("bmp384: set addr pin high.\n");
-
186  res = bmp384_get_addr_pin(&gs_handle, &addr_pin_test);
-
187  if (res != 0)
-
188  {
-
189  bmp384_interface_debug_print("bmp384: get addr pin failed.\n");
-
190 
-
191  return 1;
-
192  }
-
193  bmp384_interface_debug_print("bmp384: check addr pin %s.\n", addr_pin_test==BMP384_ADDRESS_ADO_HIGH?"ok":"error");
-
194 
-
195  /* set interface */
-
196  res = bmp384_set_interface(&gs_handle, interface);
-
197  if (res != 0)
-
198  {
-
199  bmp384_interface_debug_print("bmp384: set interface failed.\n");
-
200 
-
201  return 1;
-
202  }
-
203 
-
204  /* set addr pin */
-
205  res = bmp384_set_addr_pin(&gs_handle, addr_pin);
-
206  if (res != 0)
-
207  {
-
208  bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
-
209 
-
210  return 1;
-
211  }
-
212 
-
213  /* bmp384 init */
-
214  res = bmp384_init(&gs_handle);
-
215  if (res != 0)
-
216  {
-
217  bmp384_interface_debug_print("bmp384: init failed.\n");
-
218 
-
219  return 1;
-
220  }
-
221 
-
222  /* bmp384_set_fifo_watermark/bmp384_get_fifo_watermark test */
-
223  bmp384_interface_debug_print("bmp384: bmp384_set_fifo_watermark/bmp384_get_fifo_watermark test.\n");
-
224  fifo_watermark_in = rand()%256 + 256;
-
225  res = bmp384_set_fifo_watermark(&gs_handle, fifo_watermark_in);
-
226  if (res != 0)
-
227  {
-
228  bmp384_interface_debug_print("bmp384: set fifo watermark failed.\n");
-
229  (void)bmp384_deinit(&gs_handle);
-
230 
-
231  return 1;
-
232  }
-
233  bmp384_interface_debug_print("bmp384: set fifo watermark %d.\n", fifo_watermark_in);
-
234  res = bmp384_get_fifo_watermark(&gs_handle, (uint16_t *)&fifo_watermark_out);
-
235  if (res != 0)
-
236  {
-
237  bmp384_interface_debug_print("bmp384: get fifo watermark failed.\n");
-
238  (void)bmp384_deinit(&gs_handle);
-
239 
-
240  return 1;
-
241  }
-
242  bmp384_interface_debug_print("bmp384: check fifo watermark %s.\n", fifo_watermark_out==fifo_watermark_in?"ok":"error");
-
243 
-
244  /* bmp384_set_fifo/bmp384_get_fifo test */
-
245  bmp384_interface_debug_print("bmp384: bmp384_set_fifo/bmp384_get_fifo test.\n");
-
246 
-
247  /* enable */
-
248  res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_TRUE);
-
249  if (res != 0)
-
250  {
-
251  bmp384_interface_debug_print("bmp384: set fifo failed.\n");
-
252  (void)bmp384_deinit(&gs_handle);
-
253 
-
254  return 1;
-
255  }
-
256  bmp384_interface_debug_print("bmp384: set fifo enable.\n");
-
257  res = bmp384_get_fifo(&gs_handle, (bmp384_bool_t *)&enable);
-
258  if (res != 0)
-
259  {
-
260  bmp384_interface_debug_print("bmp384: get fifo failed.\n");
-
261  (void)bmp384_deinit(&gs_handle);
-
262 
-
263  return 1;
-
264  }
-
265  bmp384_interface_debug_print("bmp384: check fifo %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
-
266 
-
267  /* disable */
-
268  res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_FALSE);
-
269  if (res != 0)
-
270  {
-
271  bmp384_interface_debug_print("bmp384: set fifo failed.\n");
-
272  (void)bmp384_deinit(&gs_handle);
-
273 
-
274  return 1;
-
275  }
-
276  bmp384_interface_debug_print("bmp384: set fifo disable.\n");
-
277  res = bmp384_get_fifo(&gs_handle, (bmp384_bool_t *)&enable);
-
278  if (res != 0)
-
279  {
-
280  bmp384_interface_debug_print("bmp384: get fifo failed.\n");
-
281  (void)bmp384_deinit(&gs_handle);
-
282 
-
283  return 1;
-
284  }
-
285  bmp384_interface_debug_print("bmp384: check fifo %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
-
286 
-
287  /* bmp384_set_fifo_stop_on_full/bmp384_get_fifo_stop_on_full test */
-
288  bmp384_interface_debug_print("bmp384: bmp384_set_fifo_stop_on_full/bmp384_get_fifo_stop_on_full test.\n");
-
289 
-
290  /* enable */
- -
292  if (res != 0)
-
293  {
-
294  bmp384_interface_debug_print("bmp384: set fifo stop on full failed.\n");
-
295  (void)bmp384_deinit(&gs_handle);
-
296 
-
297  return 1;
-
298  }
-
299  bmp384_interface_debug_print("bmp384: set fifo stop on full enable.\n");
-
300  res = bmp384_get_fifo_stop_on_full(&gs_handle, (bmp384_bool_t *)&enable);
-
301  if (res != 0)
-
302  {
-
303  bmp384_interface_debug_print("bmp384: get fifo stop on full failed.\n");
-
304  (void)bmp384_deinit(&gs_handle);
-
305 
-
306  return 1;
-
307  }
-
308  bmp384_interface_debug_print("bmp384: check fifo stop on full %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
-
309 
-
310  /* disable */
- -
312  if (res != 0)
-
313  {
-
314  bmp384_interface_debug_print("bmp384: set fifo stop on full failed.\n");
-
315  (void)bmp384_deinit(&gs_handle);
-
316 
-
317  return 1;
-
318  }
-
319  bmp384_interface_debug_print("bmp384: set fifo stop on full disable.\n");
-
320  res = bmp384_get_fifo_stop_on_full(&gs_handle, (bmp384_bool_t *)&enable);
-
321  if (res != 0)
-
322  {
-
323  bmp384_interface_debug_print("bmp384: get fifo stop on full failed.\n");
-
324  (void)bmp384_deinit(&gs_handle);
-
325 
-
326  return 1;
-
327  }
-
328  bmp384_interface_debug_print("bmp384: check fifo stop on full %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
-
329 
-
330  /* bmp384_set_fifo_sensortime_on/bmp384_get_fifo_sensortime_on test */
-
331  bmp384_interface_debug_print("bmp384: bmp384_set_fifo_sensortime_on/bmp384_get_fifo_sensortime_on test.\n");
-
332 
-
333  /* enable */
- -
335  if (res != 0)
-
336  {
-
337  bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
-
338  (void)bmp384_deinit(&gs_handle);
-
339 
-
340  return 1;
-
341  }
-
342  bmp384_interface_debug_print("bmp384: set fifo sensor time on enable.\n");
-
343  res = bmp384_get_fifo_sensortime_on(&gs_handle, (bmp384_bool_t *)&enable);
-
344  if (res != 0)
-
345  {
-
346  bmp384_interface_debug_print("bmp384: get fifo sensor time on failed.\n");
-
347  (void)bmp384_deinit(&gs_handle);
-
348 
-
349  return 1;
-
350  }
-
351  bmp384_interface_debug_print("bmp384: check fifo sensor time on %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
-
352 
-
353  /* disable */
- -
355  if (res != 0)
-
356  {
-
357  bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
-
358  (void)bmp384_deinit(&gs_handle);
-
359 
-
360  return 1;
-
361  }
-
362  bmp384_interface_debug_print("bmp384: set fifo sensor time on disable.\n");
-
363  res = bmp384_get_fifo_sensortime_on(&gs_handle, (bmp384_bool_t *)&enable);
-
364  if (res != 0)
-
365  {
-
366  bmp384_interface_debug_print("bmp384: get fifo sensor time on failed.\n");
-
367  (void)bmp384_deinit(&gs_handle);
-
368 
-
369  return 1;
-
370  }
-
371  bmp384_interface_debug_print("bmp384: check fifo sensor time on %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
-
372 
-
373  /* bmp384_set_fifo_pressure_on/bmp384_get_fifo_pressure_on test */
-
374  bmp384_interface_debug_print("bmp384: bmp384_set_fifo_pressure_on/bmp384_get_fifo_pressure_on test.\n");
-
375 
-
376  /* enable */
- -
378  if (res != 0)
-
379  {
-
380  bmp384_interface_debug_print("bmp384: set fifo pressure on failed.\n");
-
381  (void)bmp384_deinit(&gs_handle);
-
382 
-
383  return 1;
-
384  }
-
385  bmp384_interface_debug_print("bmp384: set fifo pressure on enable.\n");
-
386  res = bmp384_get_fifo_pressure_on(&gs_handle, (bmp384_bool_t *)&enable);
-
387  if (res != 0)
-
388  {
-
389  bmp384_interface_debug_print("bmp384: get fifo pressure on failed.\n");
-
390  (void)bmp384_deinit(&gs_handle);
-
391 
-
392  return 1;
-
393  }
-
394  bmp384_interface_debug_print("bmp384: check fifo pressure on %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
-
395 
-
396  /* disable */
- -
398  if (res != 0)
-
399  {
-
400  bmp384_interface_debug_print("bmp384: set fifo pressure on failed.\n");
-
401  (void)bmp384_deinit(&gs_handle);
-
402 
-
403  return 1;
-
404  }
-
405  bmp384_interface_debug_print("bmp384: set fifo pressure on disable.\n");
-
406  res = bmp384_get_fifo_pressure_on(&gs_handle, (bmp384_bool_t *)&enable);
-
407  if (res != 0)
-
408  {
-
409  bmp384_interface_debug_print("bmp384: get fifo pressure on failed.\n");
-
410  (void)bmp384_deinit(&gs_handle);
-
411 
-
412  return 1;
-
413  }
-
414  bmp384_interface_debug_print("bmp384: check fifo pressure on %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
-
415 
-
416  /* bmp384_set_fifo_temperature_on/bmp384_get_fifo_temperature_on test */
-
417  bmp384_interface_debug_print("bmp384: bmp384_set_fifo_temperature_on/bmp384_get_fifo_temperature_on test.\n");
-
418 
-
419  /* enable */
- -
421  if (res != 0)
-
422  {
-
423  bmp384_interface_debug_print("bmp384: set fifo temperature on failed.\n");
-
424  (void)bmp384_deinit(&gs_handle);
-
425 
-
426  return 1;
-
427  }
-
428  bmp384_interface_debug_print("bmp384: set fifo temperature on enable.\n");
-
429  res = bmp384_get_fifo_temperature_on(&gs_handle, (bmp384_bool_t *)&enable);
-
430  if (res != 0)
-
431  {
-
432  bmp384_interface_debug_print("bmp384: get fifo temperature on failed.\n");
-
433  (void)bmp384_deinit(&gs_handle);
-
434 
-
435  return 1;
-
436  }
-
437  bmp384_interface_debug_print("bmp384: check fifo temperature on %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
-
438 
-
439  /* disable */
- -
441  if (res != 0)
-
442  {
-
443  bmp384_interface_debug_print("bmp384: set fifo temperature on failed.\n");
-
444  (void)bmp384_deinit(&gs_handle);
-
445 
-
446  return 1;
-
447  }
-
448  bmp384_interface_debug_print("bmp384: set fifo temperature on disable.\n");
-
449  res = bmp384_get_fifo_temperature_on(&gs_handle, (bmp384_bool_t *)&enable);
-
450  if (res != 0)
-
451  {
-
452  bmp384_interface_debug_print("bmp384: get fifo temperature on failed.\n");
-
453  (void)bmp384_deinit(&gs_handle);
-
454 
-
455  return 1;
-
456  }
-
457  bmp384_interface_debug_print("bmp384: check fifo temperature on %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
-
458 
-
459  /* bmp384_set_fifo_subsampling/bmp384_get_fifo_subsampling test */
-
460  bmp384_interface_debug_print("bmp384: bmp384_set_fifo_subsampling/bmp384_get_fifo_subsampling test.\n");
-
461  subsampling_in = rand()%7;
-
462  res = bmp384_set_fifo_subsampling(&gs_handle, subsampling_in);
-
463  if (res != 0)
-
464  {
-
465  bmp384_interface_debug_print("bmp384: set fifo subsampling failed.\n");
-
466  (void)bmp384_deinit(&gs_handle);
-
467 
-
468  return 1;
-
469  }
-
470  bmp384_interface_debug_print("bmp384: set fifo subsampling %d.\n", subsampling_in);
-
471  res = bmp384_get_fifo_subsampling(&gs_handle, (uint8_t *)&subsampling_out);
-
472  if (res != 0)
-
473  {
-
474  bmp384_interface_debug_print("bmp384: get fifo subsampling failed.\n");
-
475  (void)bmp384_deinit(&gs_handle);
-
476 
-
477  return 1;
-
478  }
-
479  bmp384_interface_debug_print("bmp384: check fifo subsampling on %s.\n", subsampling_in==subsampling_out?"ok":"error");
-
480 
-
481  /* bmp384_set_fifo_data_source/bmp384_get_fifo_data_source test */
-
482  bmp384_interface_debug_print("bmp384: bmp384_set_fifo_data_source/bmp384_get_fifo_data_source test.\n");
-
483 
-
484  /* set unfiltered */
- -
486  if (res != 0)
-
487  {
-
488  bmp384_interface_debug_print("bmp384: set fifo data source failed.\n");
-
489  (void)bmp384_deinit(&gs_handle);
-
490 
-
491  return 1;
-
492  }
-
493  bmp384_interface_debug_print("bmp384: set fifo data source unfiltered.\n");
-
494  res = bmp384_get_fifo_data_source(&gs_handle, (bmp384_fifo_data_source_t *)&source);
-
495  if (res != 0)
-
496  {
-
497  bmp384_interface_debug_print("bmp384: get fifo data source failed.\n");
-
498  (void)bmp384_deinit(&gs_handle);
-
499 
-
500  return 1;
-
501  }
-
502  bmp384_interface_debug_print("bmp384: check fifo data source %s.\n", source==BMP384_FIFO_DATA_SOURCE_UNFILTERED?"ok":"error");
-
503 
-
504  /* set filtered */
- -
506  if (res != 0)
-
507  {
-
508  bmp384_interface_debug_print("bmp384: set fifo data source failed.\n");
-
509  (void)bmp384_deinit(&gs_handle);
-
510 
-
511  return 1;
-
512  }
-
513  bmp384_interface_debug_print("bmp384: set fifo data source filtered.\n");
-
514  res = bmp384_get_fifo_data_source(&gs_handle, (bmp384_fifo_data_source_t *)&source);
-
515  if (res != 0)
-
516  {
-
517  bmp384_interface_debug_print("bmp384: get fifo data source failed.\n");
-
518  (void)bmp384_deinit(&gs_handle);
-
519 
-
520  return 1;
-
521  }
-
522  bmp384_interface_debug_print("bmp384: check fifo data source %s.\n", source==BMP384_FIFO_DATA_SOURCE_FILTERED?"ok":"error");
-
523 
-
524  /* bmp384_set_interrupt_pin_type/bmp384_get_interrupt_pin_type test */
-
525  bmp384_interface_debug_print("bmp384: bmp384_set_interrupt_pin_type/bmp384_get_interrupt_pin_type test.\n");
-
526 
-
527  /* set push-pull */
- -
529  if (res != 0)
-
530  {
-
531  bmp384_interface_debug_print("bmp384: set interrupt pin type failed.\n");
-
532  (void)bmp384_deinit(&gs_handle);
-
533 
-
534  return 1;
-
535  }
-
536  bmp384_interface_debug_print("bmp384: set interrupt pin type push pull.\n");
-
537  res = bmp384_get_interrupt_pin_type(&gs_handle, (bmp384_interrupt_pin_type_t *)&pin_type);
-
538  if (res != 0)
-
539  {
-
540  bmp384_interface_debug_print("bmp384: get interrupt pin type failed.\n");
-
541  (void)bmp384_deinit(&gs_handle);
-
542 
-
543  return 1;
-
544  }
-
545  bmp384_interface_debug_print("bmp384: check interrupt pin type %s.\n", pin_type==BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL?"ok":"error");
-
546 
-
547  /* set open drain */
- -
549  if (res != 0)
-
550  {
-
551  bmp384_interface_debug_print("bmp384: set interrupt pin type failed.\n");
-
552  (void)bmp384_deinit(&gs_handle);
-
553 
-
554  return 1;
-
555  }
-
556  bmp384_interface_debug_print("bmp384: set interrupt pin type open drain.\n");
-
557  res = bmp384_get_interrupt_pin_type(&gs_handle, (bmp384_interrupt_pin_type_t *)&pin_type);
-
558  if (res != 0)
-
559  {
-
560  bmp384_interface_debug_print("bmp384: get interrupt pin type failed.\n");
-
561  (void)bmp384_deinit(&gs_handle);
-
562 
-
563  return 1;
-
564  }
-
565  bmp384_interface_debug_print("bmp384: check interrupt pin type %s.\n", pin_type==BMP384_INTERRUPT_PIN_TYPE_OPEN_DRAIN?"ok":"error");
-
566 
-
567  /* bmp384_set_interrupt_active_level/bmp384_get_interrupt_active_level test */
-
568  bmp384_interface_debug_print("bmp384: bmp384_set_interrupt_active_level/bmp384_get_interrupt_active_level test.\n");
-
569 
-
570  /* set lower */
- -
572  if (res != 0)
-
573  {
-
574  bmp384_interface_debug_print("bmp384: set interrupt active level failed.\n");
-
575  (void)bmp384_deinit(&gs_handle);
-
576 
-
577  return 1;
-
578  }
-
579  bmp384_interface_debug_print("bmp384: set interrupt active level lower.\n");
- -
581  if (res != 0)
-
582  {
-
583  bmp384_interface_debug_print("bmp384: get interrupt active level failed.\n");
-
584  (void)bmp384_deinit(&gs_handle);
-
585 
-
586  return 1;
-
587  }
-
588  bmp384_interface_debug_print("bmp384: check interrupt active level %s.\n", level==BMP384_INTERRUPT_ACTIVE_LEVEL_LOWER?"ok":"error");
-
589 
-
590  /* set higher */
- -
592  if (res != 0)
-
593  {
-
594  bmp384_interface_debug_print("bmp384: set interrupt active level failed.\n");
-
595  (void)bmp384_deinit(&gs_handle);
-
596 
-
597  return 1;
-
598  }
-
599  bmp384_interface_debug_print("bmp384: set interrupt active level higher.\n");
- -
601  if (res != 0)
-
602  {
-
603  bmp384_interface_debug_print("bmp384: get interrupt active level failed.\n");
-
604  (void)bmp384_deinit(&gs_handle);
-
605 
-
606  return 1;
-
607  }
-
608  bmp384_interface_debug_print("bmp384: check interrupt active level %s.\n", level==BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER?"ok":"error");
-
609 
-
610  /* bmp384_set_latch_interrupt_pin_and_interrupt_status/bmp384_get_latch_interrupt_pin_and_interrupt_status test */
-
611  bmp384_interface_debug_print("bmp384: bmp384_set_latch_interrupt_pin_and_interrupt_status/bmp384_get_latch_interrupt_pin_and_interrupt_status test.\n");
-
612 
-
613  /* enable */
- -
615  if (res != 0)
-
616  {
-
617  bmp384_interface_debug_print("bmp384: set latch interrupt pin and interrupt status failed.\n");
-
618  (void)bmp384_deinit(&gs_handle);
-
619 
-
620  return 1;
-
621  }
-
622  bmp384_interface_debug_print("bmp384: set latch interrupt pin and interrupt status enable.\n");
- -
624  if (res != 0)
-
625  {
-
626  bmp384_interface_debug_print("bmp384: get latch interrupt pin and interrupt status failed.\n");
-
627  (void)bmp384_deinit(&gs_handle);
-
628 
-
629  return 1;
-
630  }
-
631  bmp384_interface_debug_print("bmp384: check latch interrupt pin and interrupt status %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
-
632 
-
633  /* disable */
- -
635  if (res != 0)
-
636  {
-
637  bmp384_interface_debug_print("bmp384: set latch interrupt pin and interrupt status failed.\n");
-
638  (void)bmp384_deinit(&gs_handle);
-
639 
-
640  return 1;
-
641  }
-
642  bmp384_interface_debug_print("bmp384: set latch interrupt pin and interrupt status disable.\n");
- -
644  if (res != 0)
-
645  {
-
646  bmp384_interface_debug_print("bmp384: get latch interrupt pin and interrupt status failed.\n");
-
647  (void)bmp384_deinit(&gs_handle);
-
648 
-
649  return 1;
-
650  }
-
651  bmp384_interface_debug_print("bmp384: check latch interrupt pin and interrupt status %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
-
652 
-
653  /* bmp384_set_interrupt_fifo_watermark/bmp384_get_interrupt_fifo_watermark test */
-
654  bmp384_interface_debug_print("bmp384: bmp384_set_interrupt_fifo_watermark/bmp384_get_interrupt_fifo_watermark test.\n");
-
655 
-
656  /* enable */
- -
658  if (res != 0)
-
659  {
-
660  bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
-
661  (void)bmp384_deinit(&gs_handle);
-
662 
-
663  return 1;
-
664  }
-
665  bmp384_interface_debug_print("bmp384: set interrupt fifo watermark enable.\n");
-
666  res = bmp384_get_interrupt_fifo_watermark(&gs_handle, (bmp384_bool_t *)&enable);
-
667  if (res != 0)
-
668  {
-
669  bmp384_interface_debug_print("bmp384: get interrupt fifo watermark failed.\n");
-
670  (void)bmp384_deinit(&gs_handle);
-
671 
-
672  return 1;
-
673  }
-
674  bmp384_interface_debug_print("bmp384: check interrupt fifo watermark %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
-
675 
-
676  /* disable */
- -
678  if (res != 0)
-
679  {
-
680  bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
-
681  (void)bmp384_deinit(&gs_handle);
-
682 
-
683  return 1;
-
684  }
-
685  bmp384_interface_debug_print("bmp384: set interrupt fifo watermark disable.\n");
-
686  res = bmp384_get_interrupt_fifo_watermark(&gs_handle, (bmp384_bool_t *)&enable);
-
687  if (res != 0)
-
688  {
-
689  bmp384_interface_debug_print("bmp384: get interrupt fifo watermark failed.\n");
-
690  (void)bmp384_deinit(&gs_handle);
-
691 
-
692  return 1;
-
693  }
-
694  bmp384_interface_debug_print("bmp384: check interrupt fifo watermark %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
-
695 
-
696  /* bmp384_set_interrupt_fifo_full/bmp384_get_interrupt_fifo_full test */
-
697  bmp384_interface_debug_print("bmp384: bmp384_set_interrupt_fifo_full/bmp384_get_interrupt_fifo_full test.\n");
-
698 
-
699  /* enable */
- -
701  if (res != 0)
-
702  {
-
703  bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
-
704  (void)bmp384_deinit(&gs_handle);
-
705 
-
706  return 1;
-
707  }
-
708  bmp384_interface_debug_print("bmp384: set interrupt fifo full enable.\n");
-
709  res = bmp384_get_interrupt_fifo_full(&gs_handle, (bmp384_bool_t *)&enable);
-
710  if (res != 0)
-
711  {
-
712  bmp384_interface_debug_print("bmp384: get interrupt fifo full failed.\n");
-
713  (void)bmp384_deinit(&gs_handle);
-
714 
-
715  return 1;
-
716  }
-
717  bmp384_interface_debug_print("bmp384: check interrupt fifo full %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
-
718 
-
719  /* disable */
- -
721  if (res != 0)
-
722  {
-
723  bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
-
724  (void)bmp384_deinit(&gs_handle);
-
725 
-
726  return 1;
-
727  }
-
728  bmp384_interface_debug_print("bmp384: set interrupt fifo full disable.\n");
-
729  res = bmp384_get_interrupt_fifo_full(&gs_handle, (bmp384_bool_t *)&enable);
-
730  if (res != 0)
-
731  {
-
732  bmp384_interface_debug_print("bmp384: get interrupt fifo full failed.\n");
-
733  (void)bmp384_deinit(&gs_handle);
-
734 
-
735  return 1;
-
736  }
-
737  bmp384_interface_debug_print("bmp384: check interrupt fifo full %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
-
738 
-
739  /* bmp384_set_interrupt_data_ready/bmp384_get_interrupt_fifo_data_ready test */
-
740  bmp384_interface_debug_print("bmp384: bmp384_set_interrupt_data_ready/bmp384_get_interrupt_fifo_data_ready test.\n");
-
741 
-
742  /* enable */
- -
744  if (res != 0)
-
745  {
-
746  bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
-
747  (void)bmp384_deinit(&gs_handle);
-
748 
-
749  return 1;
-
750  }
-
751  bmp384_interface_debug_print("bmp384: set interrupt data ready enable.\n");
-
752  res = bmp384_get_interrupt_data_ready(&gs_handle, (bmp384_bool_t *)&enable);
-
753  if (res != 0)
-
754  {
-
755  bmp384_interface_debug_print("bmp384: get interrupt data ready failed.\n");
-
756  (void)bmp384_deinit(&gs_handle);
-
757 
-
758  return 1;
-
759  }
-
760  bmp384_interface_debug_print("bmp384: check interrupt data ready %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
-
761 
-
762  /* disable */
- -
764  if (res != 0)
-
765  {
-
766  bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
-
767  (void)bmp384_deinit(&gs_handle);
-
768 
-
769  return 1;
-
770  }
-
771  bmp384_interface_debug_print("bmp384: set interrupt data ready disable.\n");
-
772  res = bmp384_get_interrupt_data_ready(&gs_handle, (bmp384_bool_t *)&enable);
-
773  if (res != 0)
-
774  {
-
775  bmp384_interface_debug_print("bmp384: get interrupt data ready failed.\n");
-
776  (void)bmp384_deinit(&gs_handle);
-
777 
-
778  return 1;
-
779  }
-
780  bmp384_interface_debug_print("bmp384: check interrupt data ready %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
-
781 
-
782  /* bmp384_set_spi_wire/bmp384_get_spi_wire test */
-
783  bmp384_interface_debug_print("bmp384: bmp384_set_spi_wire/bmp384_get_spi_wire test.\n");
-
784 
-
785  /* set 4 wire */
-
786  res = bmp384_set_spi_wire(&gs_handle, BMP384_SPI_WIRE_4);
-
787  if (res != 0)
-
788  {
-
789  bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
-
790  (void)bmp384_deinit(&gs_handle);
-
791 
-
792  return 1;
-
793  }
-
794  bmp384_interface_debug_print("bmp384: set spi 4 wire.\n");
-
795  res = bmp384_get_spi_wire(&gs_handle, (bmp384_spi_wire_t *)&wire);
-
796  if (res != 0)
-
797  {
-
798  bmp384_interface_debug_print("bmp384: get spi wire failed.\n");
-
799  (void)bmp384_deinit(&gs_handle);
-
800 
-
801  return 1;
-
802  }
-
803  bmp384_interface_debug_print("bmp384: check spi wire %s.\n", wire==BMP384_SPI_WIRE_4?"ok":"error");
-
804  if (interface == BMP384_INTERFACE_IIC)
-
805  {
-
806  /* set 3 wire */
-
807  res = bmp384_set_spi_wire(&gs_handle, BMP384_SPI_WIRE_3);
-
808  if (res != 0)
-
809  {
-
810  bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
-
811  (void)bmp384_deinit(&gs_handle);
-
812 
-
813  return 1;
-
814  }
-
815  bmp384_interface_debug_print("bmp384: set spi 3 wire.\n");
-
816  res = bmp384_get_spi_wire(&gs_handle, (bmp384_spi_wire_t *)&wire);
-
817  if (res != 0)
-
818  {
-
819  bmp384_interface_debug_print("bmp384: get spi wire failed.\n");
-
820  (void)bmp384_deinit(&gs_handle);
-
821 
-
822  return 1;
-
823  }
-
824  bmp384_interface_debug_print("bmp384: check spi wire %s.\n", wire==BMP384_SPI_WIRE_3?"ok":"error");
-
825  }
-
826 
-
827  /* bmp384_set_iic_watchdog_timer/bmp384_get_iic_watchdog_timer test */
-
828  bmp384_interface_debug_print("bmp384: bmp384_set_iic_watchdog_timer/bmp384_get_iic_watchdog_timer test.\n");
-
829 
-
830  /* enable */
- -
832  if (res != 0)
-
833  {
-
834  bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
-
835  (void)bmp384_deinit(&gs_handle);
-
836 
-
837  return 1;
-
838  }
-
839  bmp384_interface_debug_print("bmp384: set iic watchdog timer enable.\n");
-
840  res = bmp384_get_iic_watchdog_timer(&gs_handle, (bmp384_bool_t *)&enable);
-
841  if (res != 0)
-
842  {
-
843  bmp384_interface_debug_print("bmp384: get iic watchdog timer failed.\n");
-
844  (void)bmp384_deinit(&gs_handle);
-
845 
-
846  return 1;
-
847  }
-
848  bmp384_interface_debug_print("bmp384: check iic watchdog timer %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
-
849 
-
850  /* disable */
- -
852  if (res != 0)
-
853  {
-
854  bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
-
855  (void)bmp384_deinit(&gs_handle);
-
856 
-
857  return 1;
-
858  }
-
859  bmp384_interface_debug_print("bmp384: set iic watchdog timer disable.\n");
-
860  res = bmp384_get_iic_watchdog_timer(&gs_handle, (bmp384_bool_t *)&enable);
-
861  if (res != 0)
-
862  {
-
863  bmp384_interface_debug_print("bmp384: get iic watchdog timer failed.\n");
-
864  (void)bmp384_deinit(&gs_handle);
-
865 
-
866  return 1;
-
867  }
-
868  bmp384_interface_debug_print("bmp384: check iic watchdog timer %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
-
869 
-
870  /* bmp384_set_iic_watchdog_period/bmp384_get_iic_watchdog_period test */
-
871  bmp384_interface_debug_print("bmp384: bmp384_set_iic_watchdog_period/bmp384_get_iic_watchdog_period test.\n");
-
872 
-
873  /* set 1.25ms period */
- -
875  if (res != 0)
-
876  {
-
877  bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
-
878  (void)bmp384_deinit(&gs_handle);
-
879 
-
880  return 1;
-
881  }
-
882  bmp384_interface_debug_print("bmp384: set iic watchdog period 1.25ms.\n");
-
883  res = bmp384_get_iic_watchdog_period(&gs_handle, (bmp384_iic_watchdog_period_t *)&period);
-
884  if (res != 0)
-
885  {
-
886  bmp384_interface_debug_print("bmp384: get iic watchdog period failed.\n");
-
887  (void)bmp384_deinit(&gs_handle);
-
888 
-
889  return 1;
-
890  }
-
891  bmp384_interface_debug_print("bmp384: check iic watchdog period %s.\n", period==BMP384_IIC_WATCHDOG_PERIOD_1P25_MS?"ok":"error");
-
892 
-
893  /* set 40ms period */
- -
895  if (res != 0)
-
896  {
-
897  bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
-
898  (void)bmp384_deinit(&gs_handle);
-
899 
-
900  return 1;
-
901  }
-
902  bmp384_interface_debug_print("bmp384: set iic watchdog period 40ms.\n");
-
903  res = bmp384_get_iic_watchdog_period(&gs_handle, (bmp384_iic_watchdog_period_t *)&period);
-
904  if (res != 0)
-
905  {
-
906  bmp384_interface_debug_print("bmp384: get iic watchdog period failed.\n");
-
907  (void)bmp384_deinit(&gs_handle);
-
908 
-
909  return 1;
-
910  }
-
911  bmp384_interface_debug_print("bmp384: check iic watchdog period %s.\n", period==BMP384_IIC_WATCHDOG_PERIOD_40_MS?"ok":"error");
-
912 
-
913  /* bmp384_set_pressure/bmp384_get_pressure test */
-
914  bmp384_interface_debug_print("bmp384: bmp384_set_pressure/bmp384_get_pressure test.\n");
-
915 
-
916  /* disable */
-
917  res = bmp384_set_pressure(&gs_handle, BMP384_BOOL_FALSE);
-
918  if (res != 0)
-
919  {
-
920  bmp384_interface_debug_print("bmp384: set pressure failed.\n");
-
921  (void)bmp384_deinit(&gs_handle);
-
922 
-
923  return 1;
-
924  }
-
925  bmp384_interface_debug_print("bmp384: set pressure disable.\n");
-
926  res = bmp384_get_pressure(&gs_handle, (bmp384_bool_t *)&enable);
-
927  if (res != 0)
-
928  {
-
929  bmp384_interface_debug_print("bmp384: get pressure failed.\n");
-
930  (void)bmp384_deinit(&gs_handle);
-
931 
-
932  return 1;
-
933  }
-
934  bmp384_interface_debug_print("bmp384: check pressure %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
-
935 
-
936  /* enable */
-
937  res = bmp384_set_pressure(&gs_handle, BMP384_BOOL_TRUE);
-
938  if (res != 0)
-
939  {
-
940  bmp384_interface_debug_print("bmp384: set pressure failed.\n");
-
941  (void)bmp384_deinit(&gs_handle);
-
942 
-
943  return 1;
-
944  }
-
945  bmp384_interface_debug_print("bmp384: set pressure enable.\n");
-
946  res = bmp384_get_pressure(&gs_handle, (bmp384_bool_t *)&enable);
-
947  if (res != 0)
-
948  {
-
949  bmp384_interface_debug_print("bmp384: get pressure failed.\n");
-
950  (void)bmp384_deinit(&gs_handle);
-
951 
-
952  return 1;
-
953  }
-
954  bmp384_interface_debug_print("bmp384: check pressure %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
-
955 
-
956  /* bmp384_set_temperature/bmp384_get_temperature test */
-
957  bmp384_interface_debug_print("bmp384: bmp384_set_temperature/bmp384_get_temperature test.\n");
-
958 
-
959  /* disable */
-
960  res = bmp384_set_temperature(&gs_handle, BMP384_BOOL_FALSE);
-
961  if (res != 0)
-
962  {
-
963  bmp384_interface_debug_print("bmp384: set temperature failed.\n");
-
964  (void)bmp384_deinit(&gs_handle);
-
965 
-
966  return 1;
-
967  }
-
968  bmp384_interface_debug_print("bmp384: set temperature disable.\n");
-
969  res = bmp384_get_temperature(&gs_handle, (bmp384_bool_t *)&enable);
-
970  if (res != 0)
-
971  {
-
972  bmp384_interface_debug_print("bmp384: get temperature failed.\n");
-
973  (void)bmp384_deinit(&gs_handle);
-
974 
-
975  return 1;
-
976  }
-
977  bmp384_interface_debug_print("bmp384: check temperature %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
-
978 
-
979  /* enable */
-
980  res = bmp384_set_temperature(&gs_handle, BMP384_BOOL_TRUE);
-
981  if (res != 0)
-
982  {
-
983  bmp384_interface_debug_print("bmp384: set temperature failed.\n");
-
984  (void)bmp384_deinit(&gs_handle);
-
985 
-
986  return 1;
-
987  }
-
988  bmp384_interface_debug_print("bmp384: set temperature enable.\n");
-
989  res = bmp384_get_temperature(&gs_handle, (bmp384_bool_t *)&enable);
-
990  if (res != 0)
-
991  {
-
992  bmp384_interface_debug_print("bmp384: get temperature failed.\n");
-
993  (void)bmp384_deinit(&gs_handle);
-
994 
-
995  return 1;
-
996  }
-
997  bmp384_interface_debug_print("bmp384: check temperature %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
-
998 
-
999  /* bmp384_set_mode/bmp384_get_mode test */
-
1000  bmp384_interface_debug_print("bmp384: bmp384_set_mode/bmp384_get_mode test.\n");
-
1001 
-
1002  /* sleep */
-
1003  res = bmp384_set_mode(&gs_handle, BMP384_MODE_SLEEP_MODE);
-
1004  if (res != 0)
-
1005  {
-
1006  bmp384_interface_debug_print("bmp384: set mode failed.\n");
-
1007  (void)bmp384_deinit(&gs_handle);
-
1008 
-
1009  return 1;
-
1010  }
-
1011  bmp384_interface_debug_print("bmp384: set mode sleep.\n");
-
1012  res = bmp384_get_mode(&gs_handle, (bmp384_mode_t *)&mode);
-
1013  if (res != 0)
-
1014  {
-
1015  bmp384_interface_debug_print("bmp384: get mode failed.\n");
-
1016  (void)bmp384_deinit(&gs_handle);
-
1017 
-
1018  return 1;
-
1019  }
-
1020  bmp384_interface_debug_print("bmp384: check mode %s.\n", mode==BMP384_MODE_SLEEP_MODE?"ok":"error");
-
1021 
-
1022  /* normal mode */
-
1023  res = bmp384_set_mode(&gs_handle, BMP384_MODE_NORMAL_MODE);
-
1024  if (res != 0)
-
1025  {
-
1026  bmp384_interface_debug_print("bmp384: set mode failed.\n");
-
1027  (void)bmp384_deinit(&gs_handle);
-
1028 
-
1029  return 1;
-
1030  }
-
1031  bmp384_interface_debug_print("bmp384: set mode normal mode.\n");
-
1032  res = bmp384_get_mode(&gs_handle, (bmp384_mode_t *)&mode);
-
1033  if (res != 0)
-
1034  {
-
1035  bmp384_interface_debug_print("bmp384: get mode failed.\n");
-
1036  (void)bmp384_deinit(&gs_handle);
-
1037 
-
1038  return 1;
-
1039  }
-
1040  bmp384_interface_debug_print("bmp384: check mode %s.\n", mode==BMP384_MODE_NORMAL_MODE?"ok":"error");
-
1041 
-
1042  /* set forced mode */
-
1043  res = bmp384_set_mode(&gs_handle, BMP384_MODE_SLEEP_MODE);
-
1044  if (res != 0)
-
1045  {
-
1046  bmp384_interface_debug_print("bmp384: set mode failed.\n");
-
1047  (void)bmp384_deinit(&gs_handle);
-
1048 
-
1049  return 1;
-
1050  }
- -
1052  res = bmp384_set_mode(&gs_handle, BMP384_MODE_FORCED_MODE);
-
1053  if (res != 0)
-
1054  {
-
1055  bmp384_interface_debug_print("bmp384: set mode failed.\n");
-
1056  (void)bmp384_deinit(&gs_handle);
-
1057 
-
1058  return 1;
-
1059  }
-
1060  bmp384_interface_debug_print("bmp384: set mode forced mode.\n");
-
1061  res = bmp384_get_mode(&gs_handle, (bmp384_mode_t *)&mode);
-
1062  if (res != 0)
-
1063  {
-
1064  bmp384_interface_debug_print("bmp384: get mode failed.\n");
-
1065  (void)bmp384_deinit(&gs_handle);
-
1066 
-
1067  return 1;
-
1068  }
-
1069  bmp384_interface_debug_print("bmp384: check mode %s.\n", mode==BMP384_MODE_FORCED_MODE?"ok":"error");
-
1070 
-
1071  /* bmp384_set_pressure_oversampling/bmp384_get_pressure_oversampling test */
-
1072  bmp384_interface_debug_print("bmp384: bmp384_set_pressure_oversampling/bmp384_get_pressure_oversampling test.\n");
-
1073 
-
1074  /* set oversampling x1 */
- -
1076  if (res != 0)
-
1077  {
-
1078  bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
-
1079  (void)bmp384_deinit(&gs_handle);
-
1080 
-
1081  return 1;
-
1082  }
-
1083  bmp384_interface_debug_print("bmp384: set pressure oversampling x1.\n");
-
1084  res = bmp384_get_pressure_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
-
1085  if (res != 0)
-
1086  {
-
1087  bmp384_interface_debug_print("bmp384: get pressure oversampling failed.\n");
-
1088  (void)bmp384_deinit(&gs_handle);
-
1089 
-
1090  return 1;
-
1091  }
-
1092  bmp384_interface_debug_print("bmp384: check pressure oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x1?"ok":"error");
-
1093 
-
1094  /* set oversampling x2 */
- -
1096  if (res != 0)
-
1097  {
-
1098  bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
-
1099  (void)bmp384_deinit(&gs_handle);
-
1100 
-
1101  return 1;
-
1102  }
-
1103  bmp384_interface_debug_print("bmp384: set pressure oversampling x2.\n");
-
1104  res = bmp384_get_pressure_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
-
1105  if (res != 0)
-
1106  {
-
1107  bmp384_interface_debug_print("bmp384: get pressure oversampling failed.\n");
-
1108  (void)bmp384_deinit(&gs_handle);
-
1109 
-
1110  return 1;
-
1111  }
-
1112  bmp384_interface_debug_print("bmp384: check pressure oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x2?"ok":"error");
-
1113 
-
1114  /* set oversampling x4 */
- -
1116  if (res != 0)
-
1117  {
-
1118  bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
-
1119  (void)bmp384_deinit(&gs_handle);
-
1120 
-
1121  return 1;
-
1122  }
-
1123  bmp384_interface_debug_print("bmp384: set pressure oversampling x4.\n");
-
1124  res = bmp384_get_pressure_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
-
1125  if (res != 0)
-
1126  {
-
1127  bmp384_interface_debug_print("bmp384: get pressure oversampling failed.\n");
-
1128  (void)bmp384_deinit(&gs_handle);
-
1129 
-
1130  return 1;
-
1131  }
-
1132  bmp384_interface_debug_print("bmp384: check pressure oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x4?"ok":"error");
-
1133 
-
1134  /* set oversampling x8 */
- -
1136  if (res != 0)
-
1137  {
-
1138  bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
-
1139  (void)bmp384_deinit(&gs_handle);
-
1140 
-
1141  return 1;
-
1142  }
-
1143  bmp384_interface_debug_print("bmp384: set pressure oversampling x8.\n");
-
1144  res = bmp384_get_pressure_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
-
1145  if (res != 0)
-
1146  {
-
1147  bmp384_interface_debug_print("bmp384: get pressure oversampling failed.\n");
-
1148  (void)bmp384_deinit(&gs_handle);
-
1149 
-
1150  return 1;
-
1151  }
-
1152  bmp384_interface_debug_print("bmp384: check pressure oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x8?"ok":"error");
-
1153 
-
1154  /* set oversampling x16 */
- -
1156  if (res != 0)
-
1157  {
-
1158  bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
-
1159  (void)bmp384_deinit(&gs_handle);
-
1160 
-
1161  return 1;
-
1162  }
-
1163  bmp384_interface_debug_print("bmp384: set pressure oversampling x16.\n");
-
1164  res = bmp384_get_pressure_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
-
1165  if (res != 0)
-
1166  {
-
1167  bmp384_interface_debug_print("bmp384: get pressure oversampling failed.\n");
-
1168  (void)bmp384_deinit(&gs_handle);
-
1169 
-
1170  return 1;
-
1171  }
-
1172  bmp384_interface_debug_print("bmp384: check pressure oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x16?"ok":"error");
-
1173 
-
1174  /* set oversampling x32 */
- -
1176  if (res != 0)
-
1177  {
-
1178  bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
-
1179  (void)bmp384_deinit(&gs_handle);
-
1180 
-
1181  return 1;
-
1182  }
-
1183  bmp384_interface_debug_print("bmp384: set pressure oversampling x32.\n");
-
1184  res = bmp384_get_pressure_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
-
1185  if (res != 0)
-
1186  {
-
1187  bmp384_interface_debug_print("bmp384: get pressure oversampling failed.\n");
-
1188  (void)bmp384_deinit(&gs_handle);
-
1189 
-
1190  return 1;
-
1191  }
-
1192  bmp384_interface_debug_print("bmp384: check pressure oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x32?"ok":"error");
-
1193 
-
1194  /* bmp384_set_temperature_oversampling/bmp384_get_temperature_oversampling test */
-
1195  bmp384_interface_debug_print("bmp384: bmp384_set_temperature_oversampling/bmp384_get_temperature_oversampling test.\n");
-
1196 
-
1197  /* oversampling x1 */
- -
1199  if (res != 0)
-
1200  {
-
1201  bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
-
1202  (void)bmp384_deinit(&gs_handle);
-
1203 
-
1204  return 1;
-
1205  }
-
1206  bmp384_interface_debug_print("bmp384: set temperature oversampling x1.\n");
-
1207  res = bmp384_get_temperature_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
-
1208  if (res != 0)
-
1209  {
-
1210  bmp384_interface_debug_print("bmp384: get temperature oversampling failed.\n");
-
1211  (void)bmp384_deinit(&gs_handle);
-
1212 
-
1213  return 1;
-
1214  }
-
1215  bmp384_interface_debug_print("bmp384: check temperature oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x1?"ok":"error");
-
1216 
-
1217  /* set oversampling x2 */
- -
1219  if (res != 0)
-
1220  {
-
1221  bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
-
1222  (void)bmp384_deinit(&gs_handle);
-
1223 
-
1224  return 1;
-
1225  }
-
1226  bmp384_interface_debug_print("bmp384: set temperature oversampling x2.\n");
-
1227  res = bmp384_get_temperature_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
-
1228  if (res != 0)
-
1229  {
-
1230  bmp384_interface_debug_print("bmp384: get temperature oversampling failed.\n");
-
1231  (void)bmp384_deinit(&gs_handle);
-
1232 
-
1233  return 1;
-
1234  }
-
1235  bmp384_interface_debug_print("bmp384: check temperature oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x2?"ok":"error");
-
1236 
-
1237  /* set oversampling x4 */
- -
1239  if (res != 0)
-
1240  {
-
1241  bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
-
1242  (void)bmp384_deinit(&gs_handle);
-
1243 
-
1244  return 1;
-
1245  }
-
1246  bmp384_interface_debug_print("bmp384: set temperature oversampling x4.\n");
-
1247  res = bmp384_get_temperature_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
-
1248  if (res != 0)
-
1249  {
-
1250  bmp384_interface_debug_print("bmp384: get temperature oversampling failed.\n");
-
1251  (void)bmp384_deinit(&gs_handle);
-
1252 
-
1253  return 1;
-
1254  }
-
1255  bmp384_interface_debug_print("bmp384: check temperature oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x4?"ok":"error");
-
1256 
-
1257  /* set oversampling x8 */
- -
1259  if (res != 0)
-
1260  {
-
1261  bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
-
1262  (void)bmp384_deinit(&gs_handle);
-
1263 
-
1264  return 1;
-
1265  }
-
1266  bmp384_interface_debug_print("bmp384: set temperature oversampling x8.\n");
-
1267  res = bmp384_get_temperature_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
-
1268  if (res != 0)
-
1269  {
-
1270  bmp384_interface_debug_print("bmp384: get temperature oversampling failed.\n");
-
1271  (void)bmp384_deinit(&gs_handle);
-
1272 
-
1273  return 1;
-
1274  }
-
1275  bmp384_interface_debug_print("bmp384: check temperature oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x8?"ok":"error");
-
1276 
-
1277  /* set oversampling x16 */
- -
1279  if (res != 0)
-
1280  {
-
1281  bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
-
1282  (void)bmp384_deinit(&gs_handle);
-
1283 
-
1284  return 1;
-
1285  }
-
1286  bmp384_interface_debug_print("bmp384: set temperature oversampling x16.\n");
-
1287  res = bmp384_get_temperature_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
-
1288  if (res != 0)
-
1289  {
-
1290  bmp384_interface_debug_print("bmp384: get temperature oversampling failed.\n");
-
1291  (void)bmp384_deinit(&gs_handle);
-
1292 
-
1293  return 1;
-
1294  }
-
1295  bmp384_interface_debug_print("bmp384: check temperature oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x16?"ok":"error");
-
1296 
-
1297  /* set oversampling x32 */
- -
1299  if (res != 0)
-
1300  {
-
1301  bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
-
1302  (void)bmp384_deinit(&gs_handle);
-
1303 
-
1304  return 1;
-
1305  }
-
1306  bmp384_interface_debug_print("bmp384: set temperature oversampling x32.\n");
-
1307  res = bmp384_get_temperature_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
-
1308  if (res != 0)
-
1309  {
-
1310  bmp384_interface_debug_print("bmp384: get temperature oversampling failed.\n");
-
1311  (void)bmp384_deinit(&gs_handle);
-
1312 
-
1313  return 1;
-
1314  }
-
1315  bmp384_interface_debug_print("bmp384: check temperature oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x32?"ok":"error");
-
1316 
-
1317  /* bmp384_set_odr/bmp384_get_odr test */
-
1318  bmp384_interface_debug_print("bmp384: bmp384_set_odr/bmp384_get_odr test.\n");
-
1319 
-
1320  /* set odr 200Hz */
-
1321  res = bmp384_set_odr(&gs_handle, BMP384_ODR_200_HZ);
-
1322  if (res != 0)
-
1323  {
-
1324  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1325  (void)bmp384_deinit(&gs_handle);
-
1326 
-
1327  return 1;
-
1328  }
-
1329  bmp384_interface_debug_print("bmp384: set odr 200Hz.\n");
-
1330  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1331  if (res != 0)
-
1332  {
-
1333  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1334  (void)bmp384_deinit(&gs_handle);
-
1335 
-
1336  return 1;
-
1337  }
-
1338  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_200_HZ?"ok":"error");
-
1339 
-
1340  /* set odr 100Hz */
-
1341  res = bmp384_set_odr(&gs_handle, BMP384_ODR_100_HZ);
-
1342  if (res != 0)
-
1343  {
-
1344  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1345  (void)bmp384_deinit(&gs_handle);
-
1346 
-
1347  return 1;
-
1348  }
-
1349  bmp384_interface_debug_print("bmp384: set odr 100Hz.\n");
-
1350  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1351  if (res != 0)
-
1352  {
-
1353  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1354  (void)bmp384_deinit(&gs_handle);
-
1355 
-
1356  return 1;
-
1357  }
-
1358  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_100_HZ?"ok":"error");
-
1359 
-
1360  /* set odr 50Hz */
-
1361  res = bmp384_set_odr(&gs_handle, BMP384_ODR_50_HZ);
-
1362  if (res != 0)
-
1363  {
-
1364  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1365  (void)bmp384_deinit(&gs_handle);
-
1366 
-
1367  return 1;
-
1368  }
-
1369  bmp384_interface_debug_print("bmp384: set odr 50Hz.\n");
-
1370  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1371  if (res != 0)
-
1372  {
-
1373  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1374  (void)bmp384_deinit(&gs_handle);
-
1375 
-
1376  return 1;
-
1377  }
-
1378  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_50_HZ?"ok":"error");
-
1379 
-
1380  /* set odr 25Hz */
-
1381  res = bmp384_set_odr(&gs_handle, BMP384_ODR_25_HZ);
-
1382  if (res != 0)
-
1383  {
-
1384  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1385  (void)bmp384_deinit(&gs_handle);
-
1386 
-
1387  return 1;
-
1388  }
-
1389  bmp384_interface_debug_print("bmp384: set odr 25Hz.\n");
-
1390  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1391  if (res != 0)
-
1392  {
-
1393  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1394  (void)bmp384_deinit(&gs_handle);
-
1395 
-
1396  return 1;
-
1397  }
-
1398  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_25_HZ?"ok":"error");
-
1399 
-
1400  /* set odr 12.5Hz */
-
1401  res = bmp384_set_odr(&gs_handle, BMP384_ODR_12P5_HZ);
-
1402  if (res != 0)
-
1403  {
-
1404  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1405  (void)bmp384_deinit(&gs_handle);
-
1406 
-
1407  return 1;
-
1408  }
-
1409  bmp384_interface_debug_print("bmp384: set odr 12.5Hz.\n");
-
1410  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1411  if (res != 0)
-
1412  {
-
1413  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1414  (void)bmp384_deinit(&gs_handle);
-
1415 
-
1416  return 1;
-
1417  }
-
1418  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_12P5_HZ?"ok":"error");
-
1419 
-
1420  /* set odr 6.25Hz */
-
1421  res = bmp384_set_odr(&gs_handle, BMP384_ODR_6P25_HZ);
-
1422  if (res != 0)
-
1423  {
-
1424  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1425  (void)bmp384_deinit(&gs_handle);
-
1426 
-
1427  return 1;
-
1428  }
-
1429  bmp384_interface_debug_print("bmp384: set odr 6.25Hz.\n");
-
1430  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1431  if (res != 0)
-
1432  {
-
1433  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1434  (void)bmp384_deinit(&gs_handle);
-
1435 
-
1436  return 1;
-
1437  }
-
1438  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_6P25_HZ?"ok":"error");
-
1439 
-
1440  /* set odr 3.1Hz */
-
1441  res = bmp384_set_odr(&gs_handle, BMP384_ODR_3P1_HZ);
-
1442  if (res != 0)
-
1443  {
-
1444  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1445  (void)bmp384_deinit(&gs_handle);
-
1446 
-
1447  return 1;
-
1448  }
-
1449  bmp384_interface_debug_print("bmp384: set odr 3.1Hz.\n");
-
1450  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1451  if (res != 0)
-
1452  {
-
1453  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1454  (void)bmp384_deinit(&gs_handle);
-
1455 
-
1456  return 1;
-
1457  }
-
1458  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_3P1_HZ?"ok":"error");
-
1459 
-
1460  /* set odr 1.5Hz */
-
1461  res = bmp384_set_odr(&gs_handle, BMP384_ODR_1P5_HZ);
-
1462  if (res != 0)
-
1463  {
-
1464  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1465  (void)bmp384_deinit(&gs_handle);
-
1466 
-
1467  return 1;
-
1468  }
-
1469  bmp384_interface_debug_print("bmp384: set odr 1.5Hz.\n");
-
1470  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1471  if (res != 0)
-
1472  {
-
1473  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1474  (void)bmp384_deinit(&gs_handle);
-
1475 
-
1476  return 1;
-
1477  }
-
1478  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_1P5_HZ?"ok":"error");
-
1479 
-
1480  /* set odr 0.78Hz */
-
1481  res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P78_HZ);
-
1482  if (res != 0)
-
1483  {
-
1484  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1485  (void)bmp384_deinit(&gs_handle);
-
1486 
-
1487  return 1;
-
1488  }
-
1489  bmp384_interface_debug_print("bmp384: set odr 0.78Hz.\n");
-
1490  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1491  if (res != 0)
-
1492  {
-
1493  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1494  (void)bmp384_deinit(&gs_handle);
-
1495 
-
1496  return 1;
-
1497  }
-
1498  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P78_HZ?"ok":"error");
-
1499 
-
1500  /* set odr 0.39Hz */
-
1501  res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P39_HZ);
-
1502  if (res != 0)
-
1503  {
-
1504  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1505  (void)bmp384_deinit(&gs_handle);
-
1506 
-
1507  return 1;
-
1508  }
-
1509  bmp384_interface_debug_print("bmp384: set odr 0.39Hz.\n");
-
1510  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1511  if (res != 0)
-
1512  {
-
1513  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1514  (void)bmp384_deinit(&gs_handle);
-
1515 
-
1516  return 1;
-
1517  }
-
1518  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P39_HZ?"ok":"error");
-
1519 
-
1520  /* set odr 0.2Hz */
-
1521  res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P2_HZ);
-
1522  if (res != 0)
-
1523  {
-
1524  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1525  (void)bmp384_deinit(&gs_handle);
-
1526 
-
1527  return 1;
-
1528  }
-
1529  bmp384_interface_debug_print("bmp384: set odr 0.2Hz.\n");
-
1530  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1531  if (res != 0)
-
1532  {
-
1533  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1534  (void)bmp384_deinit(&gs_handle);
-
1535 
-
1536  return 1;
-
1537  }
-
1538  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P2_HZ?"ok":"error");
-
1539 
-
1540  /* set odr 0.1Hz */
-
1541  res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P1_HZ);
-
1542  if (res != 0)
-
1543  {
-
1544  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1545  (void)bmp384_deinit(&gs_handle);
-
1546 
-
1547  return 1;
-
1548  }
-
1549  bmp384_interface_debug_print("bmp384: set odr 0.1Hz.\n");
-
1550  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1551  if (res != 0)
-
1552  {
-
1553  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1554  (void)bmp384_deinit(&gs_handle);
-
1555 
-
1556  return 1;
-
1557  }
-
1558  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P1_HZ?"ok":"error");
-
1559 
-
1560  /* set odr 0.05Hz */
-
1561  res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P05_HZ);
-
1562  if (res != 0)
-
1563  {
-
1564  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1565  (void)bmp384_deinit(&gs_handle);
-
1566 
-
1567  return 1;
-
1568  }
-
1569  bmp384_interface_debug_print("bmp384: set odr 0.05Hz.\n");
-
1570  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1571  if (res != 0)
-
1572  {
-
1573  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1574  (void)bmp384_deinit(&gs_handle);
-
1575 
-
1576  return 1;
-
1577  }
-
1578  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P05_HZ?"ok":"error");
-
1579 
-
1580  /* set odr 0.02Hz */
-
1581  res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P02_HZ);
-
1582  if (res != 0)
-
1583  {
-
1584  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1585  (void)bmp384_deinit(&gs_handle);
-
1586 
-
1587  return 1;
-
1588  }
-
1589  bmp384_interface_debug_print("bmp384: set odr 0.02Hz.\n");
-
1590  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1591  if (res != 0)
-
1592  {
-
1593  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1594  (void)bmp384_deinit(&gs_handle);
-
1595 
-
1596  return 1;
-
1597  }
-
1598  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P02_HZ?"ok":"error");
-
1599 
-
1600  /* set odr 0.01Hz */
-
1601  res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P01_HZ);
-
1602  if (res != 0)
-
1603  {
-
1604  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1605  (void)bmp384_deinit(&gs_handle);
-
1606 
-
1607  return 1;
-
1608  }
-
1609  bmp384_interface_debug_print("bmp384: set odr 0.01Hz.\n");
-
1610  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1611  if (res != 0)
-
1612  {
-
1613  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1614  (void)bmp384_deinit(&gs_handle);
-
1615 
-
1616  return 1;
-
1617  }
-
1618  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P01_HZ?"ok":"error");
-
1619 
-
1620  /* set odr 0.006Hz */
-
1621  res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P006_HZ);
-
1622  if (res != 0)
-
1623  {
-
1624  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1625  (void)bmp384_deinit(&gs_handle);
-
1626 
-
1627  return 1;
-
1628  }
-
1629  bmp384_interface_debug_print("bmp384: set odr 0.006Hz.\n");
-
1630  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1631  if (res != 0)
-
1632  {
-
1633  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1634  (void)bmp384_deinit(&gs_handle);
-
1635 
-
1636  return 1;
-
1637  }
-
1638  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P006_HZ?"ok":"error");
-
1639 
-
1640  /* set odr 0.003Hz */
-
1641  res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P003_HZ);
-
1642  if (res != 0)
-
1643  {
-
1644  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1645  (void)bmp384_deinit(&gs_handle);
-
1646 
-
1647  return 1;
-
1648  }
-
1649  bmp384_interface_debug_print("bmp384: set odr 0.003Hz.\n");
-
1650  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1651  if (res != 0)
-
1652  {
-
1653  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1654  (void)bmp384_deinit(&gs_handle);
-
1655 
-
1656  return 1;
-
1657  }
-
1658  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P003_HZ?"ok":"error");
-
1659 
-
1660  /* set odr 0.0015Hz */
-
1661  res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P0015_HZ);
-
1662  if (res != 0)
-
1663  {
-
1664  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
1665  (void)bmp384_deinit(&gs_handle);
-
1666 
-
1667  return 1;
-
1668  }
-
1669  bmp384_interface_debug_print("bmp384: set odr 0.0015Hz.\n");
-
1670  res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
-
1671  if (res != 0)
-
1672  {
-
1673  bmp384_interface_debug_print("bmp384: get odr failed.\n");
-
1674  (void)bmp384_deinit(&gs_handle);
-
1675 
-
1676  return 1;
-
1677  }
-
1678  bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P0015_HZ?"ok":"error");
-
1679 
-
1680  /* bmp384_set_filter_coefficient/bmp384_get_filter_coefficient test */
-
1681  bmp384_interface_debug_print("bmp384: bmp384_set_filter_coefficient/bmp384_get_filter_coefficient test.\n");
-
1682 
-
1683  /* set coefficient 0 */
- -
1685  if (res != 0)
-
1686  {
-
1687  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
1688  (void)bmp384_deinit(&gs_handle);
-
1689 
-
1690  return 1;
-
1691  }
-
1692  bmp384_interface_debug_print("bmp384: set filter coefficient 0.\n");
-
1693  res = bmp384_get_filter_coefficient(&gs_handle, (bmp384_filter_coefficient_t *)&coef);
-
1694  if (res != 0)
-
1695  {
-
1696  bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
-
1697  (void)bmp384_deinit(&gs_handle);
-
1698 
-
1699  return 1;
-
1700  }
-
1701  bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_0?"ok":"error");
-
1702 
-
1703  /* set coefficient 1 */
- -
1705  if (res != 0)
-
1706  {
-
1707  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
1708  (void)bmp384_deinit(&gs_handle);
-
1709 
-
1710  return 1;
-
1711  }
-
1712  bmp384_interface_debug_print("bmp384: set filter coefficient 1.\n");
-
1713  res = bmp384_get_filter_coefficient(&gs_handle, (bmp384_filter_coefficient_t *)&coef);
-
1714  if (res != 0)
-
1715  {
-
1716  bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
-
1717  (void)bmp384_deinit(&gs_handle);
-
1718 
-
1719  return 1;
-
1720  }
-
1721  bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_1?"ok":"error");
-
1722 
-
1723  /* set coefficient 3 */
- -
1725  if (res != 0)
-
1726  {
-
1727  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
1728  (void)bmp384_deinit(&gs_handle);
-
1729 
-
1730  return 1;
-
1731  }
-
1732  bmp384_interface_debug_print("bmp384: set filter coefficient 3.\n");
-
1733  res = bmp384_get_filter_coefficient(&gs_handle, (bmp384_filter_coefficient_t *)&coef);
-
1734  if (res != 0)
-
1735  {
-
1736  bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
-
1737  (void)bmp384_deinit(&gs_handle);
-
1738 
-
1739  return 1;
-
1740  }
-
1741  bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_3?"ok":"error");
-
1742 
-
1743  /* set coefficient 7 */
- -
1745  if (res != 0)
-
1746  {
-
1747  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
1748  (void)bmp384_deinit(&gs_handle);
-
1749 
-
1750  return 1;
-
1751  }
-
1752  bmp384_interface_debug_print("bmp384: set filter coefficient 7.\n");
-
1753  res = bmp384_get_filter_coefficient(&gs_handle, (bmp384_filter_coefficient_t *)&coef);
-
1754  if (res != 0)
-
1755  {
-
1756  bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
-
1757  (void)bmp384_deinit(&gs_handle);
-
1758 
-
1759  return 1;
-
1760  }
-
1761  bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_7?"ok":"error");
-
1762 
-
1763  /* set coefficient 15 */
- -
1765  if (res != 0)
-
1766  {
-
1767  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
1768  (void)bmp384_deinit(&gs_handle);
-
1769 
-
1770  return 1;
-
1771  }
-
1772  bmp384_interface_debug_print("bmp384: set filter coefficient 15.\n");
-
1773  res = bmp384_get_filter_coefficient(&gs_handle, (bmp384_filter_coefficient_t *)&coef);
-
1774  if (res != 0)
-
1775  {
-
1776  bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
-
1777  (void)bmp384_deinit(&gs_handle);
-
1778 
-
1779  return 1;
-
1780  }
-
1781  bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_15?"ok":"error");
-
1782 
-
1783  /* set coefficient 31 */
- -
1785  if (res != 0)
-
1786  {
-
1787  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
1788  (void)bmp384_deinit(&gs_handle);
-
1789 
-
1790  return 1;
-
1791  }
-
1792  bmp384_interface_debug_print("bmp384: set filter coefficient 31.\n");
-
1793  res = bmp384_get_filter_coefficient(&gs_handle, (bmp384_filter_coefficient_t *)&coef);
-
1794  if (res != 0)
-
1795  {
-
1796  bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
-
1797  (void)bmp384_deinit(&gs_handle);
-
1798 
-
1799  return 1;
-
1800  }
-
1801  bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_31?"ok":"error");
-
1802 
-
1803  /* set coefficient 63 */
- -
1805  if (res != 0)
-
1806  {
-
1807  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
1808  (void)bmp384_deinit(&gs_handle);
-
1809 
-
1810  return 1;
-
1811  }
-
1812  bmp384_interface_debug_print("bmp384: set filter coefficient 63.\n");
-
1813  res = bmp384_get_filter_coefficient(&gs_handle, (bmp384_filter_coefficient_t *)&coef);
-
1814  if (res != 0)
-
1815  {
-
1816  bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
-
1817  (void)bmp384_deinit(&gs_handle);
-
1818 
-
1819  return 1;
-
1820  }
-
1821  bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_63?"ok":"error");
-
1822 
-
1823  /* set coefficient 127 */
- -
1825  if (res != 0)
-
1826  {
-
1827  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
1828  (void)bmp384_deinit(&gs_handle);
-
1829 
-
1830  return 1;
-
1831  }
-
1832  bmp384_interface_debug_print("bmp384: set filter coefficient 127.\n");
-
1833  res = bmp384_get_filter_coefficient(&gs_handle, (bmp384_filter_coefficient_t *)&coef);
-
1834  if (res != 0)
-
1835  {
-
1836  bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
-
1837  (void)bmp384_deinit(&gs_handle);
-
1838 
-
1839  return 1;
-
1840  }
-
1841  bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_127?"ok":"error");
-
1842 
-
1843  /* bmp384_get_error */
-
1844  bmp384_interface_debug_print("bmp384: bmp384_get_error.\n");
-
1845  res = bmp384_get_error(&gs_handle, (uint8_t *)&err);
-
1846  if (res != 0)
-
1847  {
-
1848  bmp384_interface_debug_print("bmp384: get err failed.\n");
-
1849  (void)bmp384_deinit(&gs_handle);
-
1850 
-
1851  return 1;
-
1852  }
-
1853  bmp384_interface_debug_print("bmp384: err is 0x%02X.\n", (uint8_t)err);
-
1854 
-
1855  /* bmp384_get_status */
-
1856  bmp384_interface_debug_print("bmp384: bmp384_get_status.\n");
-
1857  res = bmp384_get_status(&gs_handle, (uint8_t *)&status);
-
1858  if (res != 0)
-
1859  {
-
1860  bmp384_interface_debug_print("bmp384: get status failed.\n");
-
1861  (void)bmp384_deinit(&gs_handle);
-
1862 
-
1863  return 1;
-
1864  }
-
1865  bmp384_interface_debug_print("bmp384: status is 0x%02X.\n", (uint8_t)status);
-
1866 
-
1867  /* bmp384_get_sensortime */
-
1868  bmp384_interface_debug_print("bmp384: bmp384_get_sensortime.\n");
-
1869  res = bmp384_get_sensortime(&gs_handle, (uint32_t *)&sensortime);
-
1870  if (res != 0)
-
1871  {
-
1872  bmp384_interface_debug_print("bmp384: get sensor time failed.\n");
-
1873  (void)bmp384_deinit(&gs_handle);
-
1874 
-
1875  return 1;
-
1876  }
-
1877  bmp384_interface_debug_print("bmp384: sensor time is 0x%06X.\n", (uint32_t)sensortime);
-
1878 
-
1879  /* bmp384_get_event */
-
1880  bmp384_interface_debug_print("bmp384: bmp384_get_event.\n");
-
1881  res = bmp384_get_event(&gs_handle, &event);
-
1882  if (res != 0)
-
1883  {
-
1884  bmp384_interface_debug_print("bmp384: get event failed.\n");
-
1885  (void)bmp384_deinit(&gs_handle);
-
1886 
-
1887  return 1;
-
1888  }
-
1889  bmp384_interface_debug_print("bmp384: event is %s.\n", event==BMP384_EVENT_NONE?"none":"power up or softrest");
-
1890 
-
1891  /* bmp384_get_interrupt_status */
-
1892  bmp384_interface_debug_print("bmp384: bmp384_get_interrupt_status.\n");
-
1893  res = bmp384_get_interrupt_status(&gs_handle, (uint8_t *)&status);
-
1894  if (res != 0)
-
1895  {
-
1896  bmp384_interface_debug_print("bmp384: get interrupt status failed.\n");
-
1897  (void)bmp384_deinit(&gs_handle);
-
1898 
-
1899  return 1;
-
1900  }
-
1901  bmp384_interface_debug_print("bmp384: interrupt status is 0x%02X.\n", (uint8_t)status);
-
1902 
-
1903  /* bmp384_get_fifo_length */
-
1904  bmp384_interface_debug_print("bmp384: bmp384_get_fifo_length.\n");
-
1905  res = bmp384_get_fifo_length(&gs_handle, (uint16_t *)&length);
-
1906  if (res != 0)
-
1907  {
-
1908  bmp384_interface_debug_print("bmp384: get fifo length failed.\n");
-
1909  (void)bmp384_deinit(&gs_handle);
-
1910 
-
1911  return 1;
-
1912  }
-
1913  bmp384_interface_debug_print("bmp384: get fifo length is 0x%04X.\n", (uint16_t)length);
-
1914 
-
1915  /* bmp384_get_fifo_data */
-
1916  bmp384_interface_debug_print("bmp384: bmp384_get_fifo_data.\n");
-
1917  res = bmp384_get_fifo_data(&gs_handle, (uint8_t *)&data, 1);
-
1918  if (res != 0)
-
1919  {
-
1920  bmp384_interface_debug_print("bmp384: get fifo data failed.\n");
-
1921  (void)bmp384_deinit(&gs_handle);
-
1922 
-
1923  return 1;
-
1924  }
-
1925  bmp384_interface_debug_print("bmp384: get fifo data is 0x%04X.\n", (uint8_t)data);
-
1926 
-
1927  /* bmp384_flush_fifo */
-
1928  bmp384_interface_debug_print("bmp384: bmp384_flush_fifo.\n");
-
1929  res = bmp384_flush_fifo(&gs_handle);
-
1930  if (res != 0)
-
1931  {
-
1932  bmp384_interface_debug_print("bmp384: flush fifo failed.\n");
-
1933  (void)bmp384_deinit(&gs_handle);
-
1934 
-
1935  return 1;
-
1936  }
-
1937  bmp384_interface_debug_print("bmp384: flush fifo %s.\n", res?"error":"ok");
-
1938 
-
1939  /* bmp384_extmode_en_middle */
-
1940  bmp384_interface_debug_print("bmp384: bmp384_extmode_en_middle.\n");
-
1941  res = bmp384_extmode_en_middle(&gs_handle);
-
1942  if (res != 0)
-
1943  {
-
1944  bmp384_interface_debug_print("bmp384: extmode en middle failed.\n");
-
1945  (void)bmp384_deinit(&gs_handle);
-
1946 
-
1947  return 1;
-
1948  }
-
1949  bmp384_interface_debug_print("bmp384: extmode en middle %s.\n", res?"error":"ok");
-
1950 
-
1951  /* bmp384_softreset */
-
1952  bmp384_interface_debug_print("bmp384: bmp384_softreset.\n");
-
1953  res = bmp384_softreset(&gs_handle);
-
1954  if (res != 0)
-
1955  {
-
1956  bmp384_interface_debug_print("bmp384: bmp384 soft reset failed.\n");
-
1957  (void)bmp384_deinit(&gs_handle);
-
1958 
-
1959  return 1;
-
1960  }
-
1961  bmp384_interface_debug_print("bmp384: soft reset %s.\n", res?"error":"ok");
-
1962 
-
1963  /* finish register test */
-
1964  bmp384_interface_debug_print("bmp384: finish register test.\n");
-
1965  (void)bmp384_deinit(&gs_handle);
-
1966 
-
1967  return 0;
-
1968 }
+Go to the documentation of this file.
1
+
36
+ +
38#include <stdlib.h>
+
39
+
40static bmp384_handle_t gs_handle;
+
41
+
+ +
52{
+
53 uint8_t res;
+
54 uint16_t fifo_watermark_in;
+
55 uint16_t fifo_watermark_out;
+
56 uint8_t subsampling_in;
+
57 uint8_t subsampling_out;
+
58 uint8_t err;
+
59 uint8_t status;
+
60 uint8_t data;
+
61 uint16_t length;
+
62 uint32_t sensortime;
+
63 bmp384_event_t event;
+
64 bmp384_info_t info;
+
65 bmp384_interface_t interface_test;
+
66 bmp384_address_t addr_pin_test;
+
67 bmp384_bool_t enable;
+ + + + + +
73 bmp384_mode_t mode;
+
74 bmp384_oversampling_t oversampling;
+
75 bmp384_odr_t odr;
+ +
77
+
78 /* link functions */
+ + + + + + + + + + + + +
91
+
92 /* bmp384 info */
+
93 res = bmp384_info(&info);
+
94 if (res != 0)
+
95 {
+
96 bmp384_interface_debug_print("bmp384: get info failed.\n");
+
97
+
98 return 1;
+
99 }
+
100 else
+
101 {
+
102 /* print chip information */
+
103 bmp384_interface_debug_print("bmp384: chip is %s.\n", info.chip_name);
+
104 bmp384_interface_debug_print("bmp384: manufacturer is %s.\n", info.manufacturer_name);
+
105 bmp384_interface_debug_print("bmp384: interface is %s.\n", info.interface);
+
106 bmp384_interface_debug_print("bmp384: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
+
107 bmp384_interface_debug_print("bmp384: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
+
108 bmp384_interface_debug_print("bmp384: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
+
109 bmp384_interface_debug_print("bmp384: max current is %0.2fmA.\n", info.max_current_ma);
+
110 bmp384_interface_debug_print("bmp384: max temperature is %0.1fC.\n", info.temperature_max);
+
111 bmp384_interface_debug_print("bmp384: min temperature is %0.1fC.\n", info.temperature_min);
+
112 }
+
113
+
114 /* start register test */
+
115 bmp384_interface_debug_print("bmp384: start register test.\n");
+
116
+
117 /* bmp384_set_interface/bmp384_get_interface test */
+
118 bmp384_interface_debug_print("bmp384: bmp384_set_interface/bmp384_get_interface test.\n");
+
119
+
120 /* set iic */
+ +
122 if (res != 0)
+
123 {
+
124 bmp384_interface_debug_print("bmp384: set interface failed.\n");
+
125
+
126 return 1;
+
127 }
+
128 bmp384_interface_debug_print("bmp384: set interface iic.\n");
+
129 res = bmp384_get_interface(&gs_handle, &interface_test);
+
130 if (res != 0)
+
131 {
+
132 bmp384_interface_debug_print("bmp384: get interface failed.\n");
+
133
+
134 return 1;
+
135 }
+
136 bmp384_interface_debug_print("bmp384: check interface %s.\n", interface_test==BMP384_INTERFACE_IIC?"ok":"error");
+
137
+
138 /* set spi */
+ +
140 if (res != 0)
+
141 {
+
142 bmp384_interface_debug_print("bmp384: set interface failed.\n");
+
143
+
144 return 1;
+
145 }
+
146 bmp384_interface_debug_print("bmp384: set interface spi.\n");
+
147 res = bmp384_get_interface(&gs_handle, &interface_test);
+
148 if (res != 0)
+
149 {
+
150 bmp384_interface_debug_print("bmp384: get interface failed.\n");
+
151
+
152 return 1;
+
153 }
+
154 bmp384_interface_debug_print("bmp384: check interface %s.\n", interface_test==BMP384_INTERFACE_SPI?"ok":"error");
+
155
+
156 /* bmp384_set_addr_pin/bmp384_get_addr_pin test */
+
157 bmp384_interface_debug_print("bmp384: bmp384_set_addr_pin/bmp384_get_addr_pin test.\n");
+
158
+
159 /* set low */
+ +
161 if (res != 0)
+
162 {
+
163 bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
+
164
+
165 return 1;
+
166 }
+
167 bmp384_interface_debug_print("bmp384: set addr pin low.\n");
+
168 res = bmp384_get_addr_pin(&gs_handle, &addr_pin_test);
+
169 if (res != 0)
+
170 {
+
171 bmp384_interface_debug_print("bmp384: get addr pin failed.\n");
+
172
+
173 return 1;
+
174 }
+
175 bmp384_interface_debug_print("bmp384: check addr pin %s.\n", addr_pin_test==BMP384_ADDRESS_ADO_LOW?"ok":"error");
+
176
+
177 /* set high */
+ +
179 if (res != 0)
+
180 {
+
181 bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
+
182
+
183 return 1;
+
184 }
+
185 bmp384_interface_debug_print("bmp384: set addr pin high.\n");
+
186 res = bmp384_get_addr_pin(&gs_handle, &addr_pin_test);
+
187 if (res != 0)
+
188 {
+
189 bmp384_interface_debug_print("bmp384: get addr pin failed.\n");
+
190
+
191 return 1;
+
192 }
+
193 bmp384_interface_debug_print("bmp384: check addr pin %s.\n", addr_pin_test==BMP384_ADDRESS_ADO_HIGH?"ok":"error");
+
194
+
195 /* set interface */
+
196 res = bmp384_set_interface(&gs_handle, interface);
+
197 if (res != 0)
+
198 {
+
199 bmp384_interface_debug_print("bmp384: set interface failed.\n");
+
200
+
201 return 1;
+
202 }
+
203
+
204 /* set addr pin */
+
205 res = bmp384_set_addr_pin(&gs_handle, addr_pin);
+
206 if (res != 0)
+
207 {
+
208 bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
+
209
+
210 return 1;
+
211 }
+
212
+
213 /* bmp384 init */
+
214 res = bmp384_init(&gs_handle);
+
215 if (res != 0)
+
216 {
+
217 bmp384_interface_debug_print("bmp384: init failed.\n");
+
218
+
219 return 1;
+
220 }
+
221
+
222 /* bmp384_set_fifo_watermark/bmp384_get_fifo_watermark test */
+
223 bmp384_interface_debug_print("bmp384: bmp384_set_fifo_watermark/bmp384_get_fifo_watermark test.\n");
+
224 fifo_watermark_in = rand()%256 + 256;
+
225 res = bmp384_set_fifo_watermark(&gs_handle, fifo_watermark_in);
+
226 if (res != 0)
+
227 {
+
228 bmp384_interface_debug_print("bmp384: set fifo watermark failed.\n");
+
229 (void)bmp384_deinit(&gs_handle);
+
230
+
231 return 1;
+
232 }
+
233 bmp384_interface_debug_print("bmp384: set fifo watermark %d.\n", fifo_watermark_in);
+
234 res = bmp384_get_fifo_watermark(&gs_handle, (uint16_t *)&fifo_watermark_out);
+
235 if (res != 0)
+
236 {
+
237 bmp384_interface_debug_print("bmp384: get fifo watermark failed.\n");
+
238 (void)bmp384_deinit(&gs_handle);
+
239
+
240 return 1;
+
241 }
+
242 bmp384_interface_debug_print("bmp384: check fifo watermark %s.\n", fifo_watermark_out==fifo_watermark_in?"ok":"error");
+
243
+
244 /* bmp384_set_fifo/bmp384_get_fifo test */
+
245 bmp384_interface_debug_print("bmp384: bmp384_set_fifo/bmp384_get_fifo test.\n");
+
246
+
247 /* enable */
+
248 res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_TRUE);
+
249 if (res != 0)
+
250 {
+
251 bmp384_interface_debug_print("bmp384: set fifo failed.\n");
+
252 (void)bmp384_deinit(&gs_handle);
+
253
+
254 return 1;
+
255 }
+
256 bmp384_interface_debug_print("bmp384: set fifo enable.\n");
+
257 res = bmp384_get_fifo(&gs_handle, (bmp384_bool_t *)&enable);
+
258 if (res != 0)
+
259 {
+
260 bmp384_interface_debug_print("bmp384: get fifo failed.\n");
+
261 (void)bmp384_deinit(&gs_handle);
+
262
+
263 return 1;
+
264 }
+
265 bmp384_interface_debug_print("bmp384: check fifo %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
+
266
+
267 /* disable */
+
268 res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_FALSE);
+
269 if (res != 0)
+
270 {
+
271 bmp384_interface_debug_print("bmp384: set fifo failed.\n");
+
272 (void)bmp384_deinit(&gs_handle);
+
273
+
274 return 1;
+
275 }
+
276 bmp384_interface_debug_print("bmp384: set fifo disable.\n");
+
277 res = bmp384_get_fifo(&gs_handle, (bmp384_bool_t *)&enable);
+
278 if (res != 0)
+
279 {
+
280 bmp384_interface_debug_print("bmp384: get fifo failed.\n");
+
281 (void)bmp384_deinit(&gs_handle);
+
282
+
283 return 1;
+
284 }
+
285 bmp384_interface_debug_print("bmp384: check fifo %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
+
286
+
287 /* bmp384_set_fifo_stop_on_full/bmp384_get_fifo_stop_on_full test */
+
288 bmp384_interface_debug_print("bmp384: bmp384_set_fifo_stop_on_full/bmp384_get_fifo_stop_on_full test.\n");
+
289
+
290 /* enable */
+ +
292 if (res != 0)
+
293 {
+
294 bmp384_interface_debug_print("bmp384: set fifo stop on full failed.\n");
+
295 (void)bmp384_deinit(&gs_handle);
+
296
+
297 return 1;
+
298 }
+
299 bmp384_interface_debug_print("bmp384: set fifo stop on full enable.\n");
+
300 res = bmp384_get_fifo_stop_on_full(&gs_handle, (bmp384_bool_t *)&enable);
+
301 if (res != 0)
+
302 {
+
303 bmp384_interface_debug_print("bmp384: get fifo stop on full failed.\n");
+
304 (void)bmp384_deinit(&gs_handle);
+
305
+
306 return 1;
+
307 }
+
308 bmp384_interface_debug_print("bmp384: check fifo stop on full %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
+
309
+
310 /* disable */
+ +
312 if (res != 0)
+
313 {
+
314 bmp384_interface_debug_print("bmp384: set fifo stop on full failed.\n");
+
315 (void)bmp384_deinit(&gs_handle);
+
316
+
317 return 1;
+
318 }
+
319 bmp384_interface_debug_print("bmp384: set fifo stop on full disable.\n");
+
320 res = bmp384_get_fifo_stop_on_full(&gs_handle, (bmp384_bool_t *)&enable);
+
321 if (res != 0)
+
322 {
+
323 bmp384_interface_debug_print("bmp384: get fifo stop on full failed.\n");
+
324 (void)bmp384_deinit(&gs_handle);
+
325
+
326 return 1;
+
327 }
+
328 bmp384_interface_debug_print("bmp384: check fifo stop on full %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
+
329
+
330 /* bmp384_set_fifo_sensortime_on/bmp384_get_fifo_sensortime_on test */
+
331 bmp384_interface_debug_print("bmp384: bmp384_set_fifo_sensortime_on/bmp384_get_fifo_sensortime_on test.\n");
+
332
+
333 /* enable */
+ +
335 if (res != 0)
+
336 {
+
337 bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
+
338 (void)bmp384_deinit(&gs_handle);
+
339
+
340 return 1;
+
341 }
+
342 bmp384_interface_debug_print("bmp384: set fifo sensor time on enable.\n");
+
343 res = bmp384_get_fifo_sensortime_on(&gs_handle, (bmp384_bool_t *)&enable);
+
344 if (res != 0)
+
345 {
+
346 bmp384_interface_debug_print("bmp384: get fifo sensor time on failed.\n");
+
347 (void)bmp384_deinit(&gs_handle);
+
348
+
349 return 1;
+
350 }
+
351 bmp384_interface_debug_print("bmp384: check fifo sensor time on %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
+
352
+
353 /* disable */
+ +
355 if (res != 0)
+
356 {
+
357 bmp384_interface_debug_print("bmp384: set fifo sensor time on failed.\n");
+
358 (void)bmp384_deinit(&gs_handle);
+
359
+
360 return 1;
+
361 }
+
362 bmp384_interface_debug_print("bmp384: set fifo sensor time on disable.\n");
+
363 res = bmp384_get_fifo_sensortime_on(&gs_handle, (bmp384_bool_t *)&enable);
+
364 if (res != 0)
+
365 {
+
366 bmp384_interface_debug_print("bmp384: get fifo sensor time on failed.\n");
+
367 (void)bmp384_deinit(&gs_handle);
+
368
+
369 return 1;
+
370 }
+
371 bmp384_interface_debug_print("bmp384: check fifo sensor time on %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
+
372
+
373 /* bmp384_set_fifo_pressure_on/bmp384_get_fifo_pressure_on test */
+
374 bmp384_interface_debug_print("bmp384: bmp384_set_fifo_pressure_on/bmp384_get_fifo_pressure_on test.\n");
+
375
+
376 /* enable */
+ +
378 if (res != 0)
+
379 {
+
380 bmp384_interface_debug_print("bmp384: set fifo pressure on failed.\n");
+
381 (void)bmp384_deinit(&gs_handle);
+
382
+
383 return 1;
+
384 }
+
385 bmp384_interface_debug_print("bmp384: set fifo pressure on enable.\n");
+
386 res = bmp384_get_fifo_pressure_on(&gs_handle, (bmp384_bool_t *)&enable);
+
387 if (res != 0)
+
388 {
+
389 bmp384_interface_debug_print("bmp384: get fifo pressure on failed.\n");
+
390 (void)bmp384_deinit(&gs_handle);
+
391
+
392 return 1;
+
393 }
+
394 bmp384_interface_debug_print("bmp384: check fifo pressure on %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
+
395
+
396 /* disable */
+ +
398 if (res != 0)
+
399 {
+
400 bmp384_interface_debug_print("bmp384: set fifo pressure on failed.\n");
+
401 (void)bmp384_deinit(&gs_handle);
+
402
+
403 return 1;
+
404 }
+
405 bmp384_interface_debug_print("bmp384: set fifo pressure on disable.\n");
+
406 res = bmp384_get_fifo_pressure_on(&gs_handle, (bmp384_bool_t *)&enable);
+
407 if (res != 0)
+
408 {
+
409 bmp384_interface_debug_print("bmp384: get fifo pressure on failed.\n");
+
410 (void)bmp384_deinit(&gs_handle);
+
411
+
412 return 1;
+
413 }
+
414 bmp384_interface_debug_print("bmp384: check fifo pressure on %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
+
415
+
416 /* bmp384_set_fifo_temperature_on/bmp384_get_fifo_temperature_on test */
+
417 bmp384_interface_debug_print("bmp384: bmp384_set_fifo_temperature_on/bmp384_get_fifo_temperature_on test.\n");
+
418
+
419 /* enable */
+ +
421 if (res != 0)
+
422 {
+
423 bmp384_interface_debug_print("bmp384: set fifo temperature on failed.\n");
+
424 (void)bmp384_deinit(&gs_handle);
+
425
+
426 return 1;
+
427 }
+
428 bmp384_interface_debug_print("bmp384: set fifo temperature on enable.\n");
+
429 res = bmp384_get_fifo_temperature_on(&gs_handle, (bmp384_bool_t *)&enable);
+
430 if (res != 0)
+
431 {
+
432 bmp384_interface_debug_print("bmp384: get fifo temperature on failed.\n");
+
433 (void)bmp384_deinit(&gs_handle);
+
434
+
435 return 1;
+
436 }
+
437 bmp384_interface_debug_print("bmp384: check fifo temperature on %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
+
438
+
439 /* disable */
+ +
441 if (res != 0)
+
442 {
+
443 bmp384_interface_debug_print("bmp384: set fifo temperature on failed.\n");
+
444 (void)bmp384_deinit(&gs_handle);
+
445
+
446 return 1;
+
447 }
+
448 bmp384_interface_debug_print("bmp384: set fifo temperature on disable.\n");
+
449 res = bmp384_get_fifo_temperature_on(&gs_handle, (bmp384_bool_t *)&enable);
+
450 if (res != 0)
+
451 {
+
452 bmp384_interface_debug_print("bmp384: get fifo temperature on failed.\n");
+
453 (void)bmp384_deinit(&gs_handle);
+
454
+
455 return 1;
+
456 }
+
457 bmp384_interface_debug_print("bmp384: check fifo temperature on %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
+
458
+
459 /* bmp384_set_fifo_subsampling/bmp384_get_fifo_subsampling test */
+
460 bmp384_interface_debug_print("bmp384: bmp384_set_fifo_subsampling/bmp384_get_fifo_subsampling test.\n");
+
461 subsampling_in = rand()%7;
+
462 res = bmp384_set_fifo_subsampling(&gs_handle, subsampling_in);
+
463 if (res != 0)
+
464 {
+
465 bmp384_interface_debug_print("bmp384: set fifo subsampling failed.\n");
+
466 (void)bmp384_deinit(&gs_handle);
+
467
+
468 return 1;
+
469 }
+
470 bmp384_interface_debug_print("bmp384: set fifo subsampling %d.\n", subsampling_in);
+
471 res = bmp384_get_fifo_subsampling(&gs_handle, (uint8_t *)&subsampling_out);
+
472 if (res != 0)
+
473 {
+
474 bmp384_interface_debug_print("bmp384: get fifo subsampling failed.\n");
+
475 (void)bmp384_deinit(&gs_handle);
+
476
+
477 return 1;
+
478 }
+
479 bmp384_interface_debug_print("bmp384: check fifo subsampling on %s.\n", subsampling_in==subsampling_out?"ok":"error");
+
480
+
481 /* bmp384_set_fifo_data_source/bmp384_get_fifo_data_source test */
+
482 bmp384_interface_debug_print("bmp384: bmp384_set_fifo_data_source/bmp384_get_fifo_data_source test.\n");
+
483
+
484 /* set unfiltered */
+ +
486 if (res != 0)
+
487 {
+
488 bmp384_interface_debug_print("bmp384: set fifo data source failed.\n");
+
489 (void)bmp384_deinit(&gs_handle);
+
490
+
491 return 1;
+
492 }
+
493 bmp384_interface_debug_print("bmp384: set fifo data source unfiltered.\n");
+
494 res = bmp384_get_fifo_data_source(&gs_handle, (bmp384_fifo_data_source_t *)&source);
+
495 if (res != 0)
+
496 {
+
497 bmp384_interface_debug_print("bmp384: get fifo data source failed.\n");
+
498 (void)bmp384_deinit(&gs_handle);
+
499
+
500 return 1;
+
501 }
+
502 bmp384_interface_debug_print("bmp384: check fifo data source %s.\n", source==BMP384_FIFO_DATA_SOURCE_UNFILTERED?"ok":"error");
+
503
+
504 /* set filtered */
+ +
506 if (res != 0)
+
507 {
+
508 bmp384_interface_debug_print("bmp384: set fifo data source failed.\n");
+
509 (void)bmp384_deinit(&gs_handle);
+
510
+
511 return 1;
+
512 }
+
513 bmp384_interface_debug_print("bmp384: set fifo data source filtered.\n");
+
514 res = bmp384_get_fifo_data_source(&gs_handle, (bmp384_fifo_data_source_t *)&source);
+
515 if (res != 0)
+
516 {
+
517 bmp384_interface_debug_print("bmp384: get fifo data source failed.\n");
+
518 (void)bmp384_deinit(&gs_handle);
+
519
+
520 return 1;
+
521 }
+
522 bmp384_interface_debug_print("bmp384: check fifo data source %s.\n", source==BMP384_FIFO_DATA_SOURCE_FILTERED?"ok":"error");
+
523
+
524 /* bmp384_set_interrupt_pin_type/bmp384_get_interrupt_pin_type test */
+
525 bmp384_interface_debug_print("bmp384: bmp384_set_interrupt_pin_type/bmp384_get_interrupt_pin_type test.\n");
+
526
+
527 /* set push-pull */
+ +
529 if (res != 0)
+
530 {
+
531 bmp384_interface_debug_print("bmp384: set interrupt pin type failed.\n");
+
532 (void)bmp384_deinit(&gs_handle);
+
533
+
534 return 1;
+
535 }
+
536 bmp384_interface_debug_print("bmp384: set interrupt pin type push pull.\n");
+
537 res = bmp384_get_interrupt_pin_type(&gs_handle, (bmp384_interrupt_pin_type_t *)&pin_type);
+
538 if (res != 0)
+
539 {
+
540 bmp384_interface_debug_print("bmp384: get interrupt pin type failed.\n");
+
541 (void)bmp384_deinit(&gs_handle);
+
542
+
543 return 1;
+
544 }
+
545 bmp384_interface_debug_print("bmp384: check interrupt pin type %s.\n", pin_type==BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL?"ok":"error");
+
546
+
547 /* set open drain */
+ +
549 if (res != 0)
+
550 {
+
551 bmp384_interface_debug_print("bmp384: set interrupt pin type failed.\n");
+
552 (void)bmp384_deinit(&gs_handle);
+
553
+
554 return 1;
+
555 }
+
556 bmp384_interface_debug_print("bmp384: set interrupt pin type open drain.\n");
+
557 res = bmp384_get_interrupt_pin_type(&gs_handle, (bmp384_interrupt_pin_type_t *)&pin_type);
+
558 if (res != 0)
+
559 {
+
560 bmp384_interface_debug_print("bmp384: get interrupt pin type failed.\n");
+
561 (void)bmp384_deinit(&gs_handle);
+
562
+
563 return 1;
+
564 }
+
565 bmp384_interface_debug_print("bmp384: check interrupt pin type %s.\n", pin_type==BMP384_INTERRUPT_PIN_TYPE_OPEN_DRAIN?"ok":"error");
+
566
+
567 /* bmp384_set_interrupt_active_level/bmp384_get_interrupt_active_level test */
+
568 bmp384_interface_debug_print("bmp384: bmp384_set_interrupt_active_level/bmp384_get_interrupt_active_level test.\n");
+
569
+
570 /* set lower */
+ +
572 if (res != 0)
+
573 {
+
574 bmp384_interface_debug_print("bmp384: set interrupt active level failed.\n");
+
575 (void)bmp384_deinit(&gs_handle);
+
576
+
577 return 1;
+
578 }
+
579 bmp384_interface_debug_print("bmp384: set interrupt active level lower.\n");
+ +
581 if (res != 0)
+
582 {
+
583 bmp384_interface_debug_print("bmp384: get interrupt active level failed.\n");
+
584 (void)bmp384_deinit(&gs_handle);
+
585
+
586 return 1;
+
587 }
+
588 bmp384_interface_debug_print("bmp384: check interrupt active level %s.\n", level==BMP384_INTERRUPT_ACTIVE_LEVEL_LOWER?"ok":"error");
+
589
+
590 /* set higher */
+ +
592 if (res != 0)
+
593 {
+
594 bmp384_interface_debug_print("bmp384: set interrupt active level failed.\n");
+
595 (void)bmp384_deinit(&gs_handle);
+
596
+
597 return 1;
+
598 }
+
599 bmp384_interface_debug_print("bmp384: set interrupt active level higher.\n");
+ +
601 if (res != 0)
+
602 {
+
603 bmp384_interface_debug_print("bmp384: get interrupt active level failed.\n");
+
604 (void)bmp384_deinit(&gs_handle);
+
605
+
606 return 1;
+
607 }
+
608 bmp384_interface_debug_print("bmp384: check interrupt active level %s.\n", level==BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER?"ok":"error");
+
609
+
610 /* bmp384_set_latch_interrupt_pin_and_interrupt_status/bmp384_get_latch_interrupt_pin_and_interrupt_status test */
+
611 bmp384_interface_debug_print("bmp384: bmp384_set_latch_interrupt_pin_and_interrupt_status/bmp384_get_latch_interrupt_pin_and_interrupt_status test.\n");
+
612
+
613 /* enable */
+ +
615 if (res != 0)
+
616 {
+
617 bmp384_interface_debug_print("bmp384: set latch interrupt pin and interrupt status failed.\n");
+
618 (void)bmp384_deinit(&gs_handle);
+
619
+
620 return 1;
+
621 }
+
622 bmp384_interface_debug_print("bmp384: set latch interrupt pin and interrupt status enable.\n");
+ +
624 if (res != 0)
+
625 {
+
626 bmp384_interface_debug_print("bmp384: get latch interrupt pin and interrupt status failed.\n");
+
627 (void)bmp384_deinit(&gs_handle);
+
628
+
629 return 1;
+
630 }
+
631 bmp384_interface_debug_print("bmp384: check latch interrupt pin and interrupt status %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
+
632
+
633 /* disable */
+ +
635 if (res != 0)
+
636 {
+
637 bmp384_interface_debug_print("bmp384: set latch interrupt pin and interrupt status failed.\n");
+
638 (void)bmp384_deinit(&gs_handle);
+
639
+
640 return 1;
+
641 }
+
642 bmp384_interface_debug_print("bmp384: set latch interrupt pin and interrupt status disable.\n");
+ +
644 if (res != 0)
+
645 {
+
646 bmp384_interface_debug_print("bmp384: get latch interrupt pin and interrupt status failed.\n");
+
647 (void)bmp384_deinit(&gs_handle);
+
648
+
649 return 1;
+
650 }
+
651 bmp384_interface_debug_print("bmp384: check latch interrupt pin and interrupt status %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
+
652
+
653 /* bmp384_set_interrupt_fifo_watermark/bmp384_get_interrupt_fifo_watermark test */
+
654 bmp384_interface_debug_print("bmp384: bmp384_set_interrupt_fifo_watermark/bmp384_get_interrupt_fifo_watermark test.\n");
+
655
+
656 /* enable */
+ +
658 if (res != 0)
+
659 {
+
660 bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
+
661 (void)bmp384_deinit(&gs_handle);
+
662
+
663 return 1;
+
664 }
+
665 bmp384_interface_debug_print("bmp384: set interrupt fifo watermark enable.\n");
+
666 res = bmp384_get_interrupt_fifo_watermark(&gs_handle, (bmp384_bool_t *)&enable);
+
667 if (res != 0)
+
668 {
+
669 bmp384_interface_debug_print("bmp384: get interrupt fifo watermark failed.\n");
+
670 (void)bmp384_deinit(&gs_handle);
+
671
+
672 return 1;
+
673 }
+
674 bmp384_interface_debug_print("bmp384: check interrupt fifo watermark %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
+
675
+
676 /* disable */
+ +
678 if (res != 0)
+
679 {
+
680 bmp384_interface_debug_print("bmp384: set interrupt fifo watermark failed.\n");
+
681 (void)bmp384_deinit(&gs_handle);
+
682
+
683 return 1;
+
684 }
+
685 bmp384_interface_debug_print("bmp384: set interrupt fifo watermark disable.\n");
+
686 res = bmp384_get_interrupt_fifo_watermark(&gs_handle, (bmp384_bool_t *)&enable);
+
687 if (res != 0)
+
688 {
+
689 bmp384_interface_debug_print("bmp384: get interrupt fifo watermark failed.\n");
+
690 (void)bmp384_deinit(&gs_handle);
+
691
+
692 return 1;
+
693 }
+
694 bmp384_interface_debug_print("bmp384: check interrupt fifo watermark %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
+
695
+
696 /* bmp384_set_interrupt_fifo_full/bmp384_get_interrupt_fifo_full test */
+
697 bmp384_interface_debug_print("bmp384: bmp384_set_interrupt_fifo_full/bmp384_get_interrupt_fifo_full test.\n");
+
698
+
699 /* enable */
+ +
701 if (res != 0)
+
702 {
+
703 bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
+
704 (void)bmp384_deinit(&gs_handle);
+
705
+
706 return 1;
+
707 }
+
708 bmp384_interface_debug_print("bmp384: set interrupt fifo full enable.\n");
+
709 res = bmp384_get_interrupt_fifo_full(&gs_handle, (bmp384_bool_t *)&enable);
+
710 if (res != 0)
+
711 {
+
712 bmp384_interface_debug_print("bmp384: get interrupt fifo full failed.\n");
+
713 (void)bmp384_deinit(&gs_handle);
+
714
+
715 return 1;
+
716 }
+
717 bmp384_interface_debug_print("bmp384: check interrupt fifo full %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
+
718
+
719 /* disable */
+ +
721 if (res != 0)
+
722 {
+
723 bmp384_interface_debug_print("bmp384: set interrupt fifo full failed.\n");
+
724 (void)bmp384_deinit(&gs_handle);
+
725
+
726 return 1;
+
727 }
+
728 bmp384_interface_debug_print("bmp384: set interrupt fifo full disable.\n");
+
729 res = bmp384_get_interrupt_fifo_full(&gs_handle, (bmp384_bool_t *)&enable);
+
730 if (res != 0)
+
731 {
+
732 bmp384_interface_debug_print("bmp384: get interrupt fifo full failed.\n");
+
733 (void)bmp384_deinit(&gs_handle);
+
734
+
735 return 1;
+
736 }
+
737 bmp384_interface_debug_print("bmp384: check interrupt fifo full %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
+
738
+
739 /* bmp384_set_interrupt_data_ready/bmp384_get_interrupt_fifo_data_ready test */
+
740 bmp384_interface_debug_print("bmp384: bmp384_set_interrupt_data_ready/bmp384_get_interrupt_fifo_data_ready test.\n");
+
741
+
742 /* enable */
+ +
744 if (res != 0)
+
745 {
+
746 bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
+
747 (void)bmp384_deinit(&gs_handle);
+
748
+
749 return 1;
+
750 }
+
751 bmp384_interface_debug_print("bmp384: set interrupt data ready enable.\n");
+
752 res = bmp384_get_interrupt_data_ready(&gs_handle, (bmp384_bool_t *)&enable);
+
753 if (res != 0)
+
754 {
+
755 bmp384_interface_debug_print("bmp384: get interrupt data ready failed.\n");
+
756 (void)bmp384_deinit(&gs_handle);
+
757
+
758 return 1;
+
759 }
+
760 bmp384_interface_debug_print("bmp384: check interrupt data ready %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
+
761
+
762 /* disable */
+ +
764 if (res != 0)
+
765 {
+
766 bmp384_interface_debug_print("bmp384: set interrupt data ready failed.\n");
+
767 (void)bmp384_deinit(&gs_handle);
+
768
+
769 return 1;
+
770 }
+
771 bmp384_interface_debug_print("bmp384: set interrupt data ready disable.\n");
+
772 res = bmp384_get_interrupt_data_ready(&gs_handle, (bmp384_bool_t *)&enable);
+
773 if (res != 0)
+
774 {
+
775 bmp384_interface_debug_print("bmp384: get interrupt data ready failed.\n");
+
776 (void)bmp384_deinit(&gs_handle);
+
777
+
778 return 1;
+
779 }
+
780 bmp384_interface_debug_print("bmp384: check interrupt data ready %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
+
781
+
782 /* bmp384_set_spi_wire/bmp384_get_spi_wire test */
+
783 bmp384_interface_debug_print("bmp384: bmp384_set_spi_wire/bmp384_get_spi_wire test.\n");
+
784
+
785 /* set 4 wire */
+
786 res = bmp384_set_spi_wire(&gs_handle, BMP384_SPI_WIRE_4);
+
787 if (res != 0)
+
788 {
+
789 bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
+
790 (void)bmp384_deinit(&gs_handle);
+
791
+
792 return 1;
+
793 }
+
794 bmp384_interface_debug_print("bmp384: set spi 4 wire.\n");
+
795 res = bmp384_get_spi_wire(&gs_handle, (bmp384_spi_wire_t *)&wire);
+
796 if (res != 0)
+
797 {
+
798 bmp384_interface_debug_print("bmp384: get spi wire failed.\n");
+
799 (void)bmp384_deinit(&gs_handle);
+
800
+
801 return 1;
+
802 }
+
803 bmp384_interface_debug_print("bmp384: check spi wire %s.\n", wire==BMP384_SPI_WIRE_4?"ok":"error");
+
804 if (interface == BMP384_INTERFACE_IIC)
+
805 {
+
806 /* set 3 wire */
+
807 res = bmp384_set_spi_wire(&gs_handle, BMP384_SPI_WIRE_3);
+
808 if (res != 0)
+
809 {
+
810 bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
+
811 (void)bmp384_deinit(&gs_handle);
+
812
+
813 return 1;
+
814 }
+
815 bmp384_interface_debug_print("bmp384: set spi 3 wire.\n");
+
816 res = bmp384_get_spi_wire(&gs_handle, (bmp384_spi_wire_t *)&wire);
+
817 if (res != 0)
+
818 {
+
819 bmp384_interface_debug_print("bmp384: get spi wire failed.\n");
+
820 (void)bmp384_deinit(&gs_handle);
+
821
+
822 return 1;
+
823 }
+
824 bmp384_interface_debug_print("bmp384: check spi wire %s.\n", wire==BMP384_SPI_WIRE_3?"ok":"error");
+
825 }
+
826
+
827 /* bmp384_set_iic_watchdog_timer/bmp384_get_iic_watchdog_timer test */
+
828 bmp384_interface_debug_print("bmp384: bmp384_set_iic_watchdog_timer/bmp384_get_iic_watchdog_timer test.\n");
+
829
+
830 /* enable */
+ +
832 if (res != 0)
+
833 {
+
834 bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
+
835 (void)bmp384_deinit(&gs_handle);
+
836
+
837 return 1;
+
838 }
+
839 bmp384_interface_debug_print("bmp384: set iic watchdog timer enable.\n");
+
840 res = bmp384_get_iic_watchdog_timer(&gs_handle, (bmp384_bool_t *)&enable);
+
841 if (res != 0)
+
842 {
+
843 bmp384_interface_debug_print("bmp384: get iic watchdog timer failed.\n");
+
844 (void)bmp384_deinit(&gs_handle);
+
845
+
846 return 1;
+
847 }
+
848 bmp384_interface_debug_print("bmp384: check iic watchdog timer %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
+
849
+
850 /* disable */
+ +
852 if (res != 0)
+
853 {
+
854 bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
+
855 (void)bmp384_deinit(&gs_handle);
+
856
+
857 return 1;
+
858 }
+
859 bmp384_interface_debug_print("bmp384: set iic watchdog timer disable.\n");
+
860 res = bmp384_get_iic_watchdog_timer(&gs_handle, (bmp384_bool_t *)&enable);
+
861 if (res != 0)
+
862 {
+
863 bmp384_interface_debug_print("bmp384: get iic watchdog timer failed.\n");
+
864 (void)bmp384_deinit(&gs_handle);
+
865
+
866 return 1;
+
867 }
+
868 bmp384_interface_debug_print("bmp384: check iic watchdog timer %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
+
869
+
870 /* bmp384_set_iic_watchdog_period/bmp384_get_iic_watchdog_period test */
+
871 bmp384_interface_debug_print("bmp384: bmp384_set_iic_watchdog_period/bmp384_get_iic_watchdog_period test.\n");
+
872
+
873 /* set 1.25ms period */
+ +
875 if (res != 0)
+
876 {
+
877 bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
+
878 (void)bmp384_deinit(&gs_handle);
+
879
+
880 return 1;
+
881 }
+
882 bmp384_interface_debug_print("bmp384: set iic watchdog period 1.25ms.\n");
+ +
884 if (res != 0)
+
885 {
+
886 bmp384_interface_debug_print("bmp384: get iic watchdog period failed.\n");
+
887 (void)bmp384_deinit(&gs_handle);
+
888
+
889 return 1;
+
890 }
+
891 bmp384_interface_debug_print("bmp384: check iic watchdog period %s.\n", period==BMP384_IIC_WATCHDOG_PERIOD_1P25_MS?"ok":"error");
+
892
+
893 /* set 40ms period */
+ +
895 if (res != 0)
+
896 {
+
897 bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
+
898 (void)bmp384_deinit(&gs_handle);
+
899
+
900 return 1;
+
901 }
+
902 bmp384_interface_debug_print("bmp384: set iic watchdog period 40ms.\n");
+ +
904 if (res != 0)
+
905 {
+
906 bmp384_interface_debug_print("bmp384: get iic watchdog period failed.\n");
+
907 (void)bmp384_deinit(&gs_handle);
+
908
+
909 return 1;
+
910 }
+
911 bmp384_interface_debug_print("bmp384: check iic watchdog period %s.\n", period==BMP384_IIC_WATCHDOG_PERIOD_40_MS?"ok":"error");
+
912
+
913 /* bmp384_set_pressure/bmp384_get_pressure test */
+
914 bmp384_interface_debug_print("bmp384: bmp384_set_pressure/bmp384_get_pressure test.\n");
+
915
+
916 /* disable */
+
917 res = bmp384_set_pressure(&gs_handle, BMP384_BOOL_FALSE);
+
918 if (res != 0)
+
919 {
+
920 bmp384_interface_debug_print("bmp384: set pressure failed.\n");
+
921 (void)bmp384_deinit(&gs_handle);
+
922
+
923 return 1;
+
924 }
+
925 bmp384_interface_debug_print("bmp384: set pressure disable.\n");
+
926 res = bmp384_get_pressure(&gs_handle, (bmp384_bool_t *)&enable);
+
927 if (res != 0)
+
928 {
+
929 bmp384_interface_debug_print("bmp384: get pressure failed.\n");
+
930 (void)bmp384_deinit(&gs_handle);
+
931
+
932 return 1;
+
933 }
+
934 bmp384_interface_debug_print("bmp384: check pressure %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
+
935
+
936 /* enable */
+
937 res = bmp384_set_pressure(&gs_handle, BMP384_BOOL_TRUE);
+
938 if (res != 0)
+
939 {
+
940 bmp384_interface_debug_print("bmp384: set pressure failed.\n");
+
941 (void)bmp384_deinit(&gs_handle);
+
942
+
943 return 1;
+
944 }
+
945 bmp384_interface_debug_print("bmp384: set pressure enable.\n");
+
946 res = bmp384_get_pressure(&gs_handle, (bmp384_bool_t *)&enable);
+
947 if (res != 0)
+
948 {
+
949 bmp384_interface_debug_print("bmp384: get pressure failed.\n");
+
950 (void)bmp384_deinit(&gs_handle);
+
951
+
952 return 1;
+
953 }
+
954 bmp384_interface_debug_print("bmp384: check pressure %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
+
955
+
956 /* bmp384_set_temperature/bmp384_get_temperature test */
+
957 bmp384_interface_debug_print("bmp384: bmp384_set_temperature/bmp384_get_temperature test.\n");
+
958
+
959 /* disable */
+
960 res = bmp384_set_temperature(&gs_handle, BMP384_BOOL_FALSE);
+
961 if (res != 0)
+
962 {
+
963 bmp384_interface_debug_print("bmp384: set temperature failed.\n");
+
964 (void)bmp384_deinit(&gs_handle);
+
965
+
966 return 1;
+
967 }
+
968 bmp384_interface_debug_print("bmp384: set temperature disable.\n");
+
969 res = bmp384_get_temperature(&gs_handle, (bmp384_bool_t *)&enable);
+
970 if (res != 0)
+
971 {
+
972 bmp384_interface_debug_print("bmp384: get temperature failed.\n");
+
973 (void)bmp384_deinit(&gs_handle);
+
974
+
975 return 1;
+
976 }
+
977 bmp384_interface_debug_print("bmp384: check temperature %s.\n", enable==BMP384_BOOL_FALSE?"ok":"error");
+
978
+
979 /* enable */
+
980 res = bmp384_set_temperature(&gs_handle, BMP384_BOOL_TRUE);
+
981 if (res != 0)
+
982 {
+
983 bmp384_interface_debug_print("bmp384: set temperature failed.\n");
+
984 (void)bmp384_deinit(&gs_handle);
+
985
+
986 return 1;
+
987 }
+
988 bmp384_interface_debug_print("bmp384: set temperature enable.\n");
+
989 res = bmp384_get_temperature(&gs_handle, (bmp384_bool_t *)&enable);
+
990 if (res != 0)
+
991 {
+
992 bmp384_interface_debug_print("bmp384: get temperature failed.\n");
+
993 (void)bmp384_deinit(&gs_handle);
+
994
+
995 return 1;
+
996 }
+
997 bmp384_interface_debug_print("bmp384: check temperature %s.\n", enable==BMP384_BOOL_TRUE?"ok":"error");
+
998
+
999 /* bmp384_set_mode/bmp384_get_mode test */
+
1000 bmp384_interface_debug_print("bmp384: bmp384_set_mode/bmp384_get_mode test.\n");
+
1001
+
1002 /* sleep */
+
1003 res = bmp384_set_mode(&gs_handle, BMP384_MODE_SLEEP_MODE);
+
1004 if (res != 0)
+
1005 {
+
1006 bmp384_interface_debug_print("bmp384: set mode failed.\n");
+
1007 (void)bmp384_deinit(&gs_handle);
+
1008
+
1009 return 1;
+
1010 }
+
1011 bmp384_interface_debug_print("bmp384: set mode sleep.\n");
+
1012 res = bmp384_get_mode(&gs_handle, (bmp384_mode_t *)&mode);
+
1013 if (res != 0)
+
1014 {
+
1015 bmp384_interface_debug_print("bmp384: get mode failed.\n");
+
1016 (void)bmp384_deinit(&gs_handle);
+
1017
+
1018 return 1;
+
1019 }
+
1020 bmp384_interface_debug_print("bmp384: check mode %s.\n", mode==BMP384_MODE_SLEEP_MODE?"ok":"error");
+
1021
+
1022 /* normal mode */
+
1023 res = bmp384_set_mode(&gs_handle, BMP384_MODE_NORMAL_MODE);
+
1024 if (res != 0)
+
1025 {
+
1026 bmp384_interface_debug_print("bmp384: set mode failed.\n");
+
1027 (void)bmp384_deinit(&gs_handle);
+
1028
+
1029 return 1;
+
1030 }
+
1031 bmp384_interface_debug_print("bmp384: set mode normal mode.\n");
+
1032 res = bmp384_get_mode(&gs_handle, (bmp384_mode_t *)&mode);
+
1033 if (res != 0)
+
1034 {
+
1035 bmp384_interface_debug_print("bmp384: get mode failed.\n");
+
1036 (void)bmp384_deinit(&gs_handle);
+
1037
+
1038 return 1;
+
1039 }
+
1040 bmp384_interface_debug_print("bmp384: check mode %s.\n", mode==BMP384_MODE_NORMAL_MODE?"ok":"error");
+
1041
+
1042 /* set forced mode */
+
1043 res = bmp384_set_mode(&gs_handle, BMP384_MODE_SLEEP_MODE);
+
1044 if (res != 0)
+
1045 {
+
1046 bmp384_interface_debug_print("bmp384: set mode failed.\n");
+
1047 (void)bmp384_deinit(&gs_handle);
+
1048
+
1049 return 1;
+
1050 }
+ +
1052 res = bmp384_set_mode(&gs_handle, BMP384_MODE_FORCED_MODE);
+
1053 if (res != 0)
+
1054 {
+
1055 bmp384_interface_debug_print("bmp384: set mode failed.\n");
+
1056 (void)bmp384_deinit(&gs_handle);
+
1057
+
1058 return 1;
+
1059 }
+
1060 bmp384_interface_debug_print("bmp384: set mode forced mode.\n");
+
1061 res = bmp384_get_mode(&gs_handle, (bmp384_mode_t *)&mode);
+
1062 if (res != 0)
+
1063 {
+
1064 bmp384_interface_debug_print("bmp384: get mode failed.\n");
+
1065 (void)bmp384_deinit(&gs_handle);
+
1066
+
1067 return 1;
+
1068 }
+
1069 bmp384_interface_debug_print("bmp384: check mode %s.\n", mode==BMP384_MODE_FORCED_MODE?"ok":"error");
+
1070
+
1071 /* bmp384_set_pressure_oversampling/bmp384_get_pressure_oversampling test */
+
1072 bmp384_interface_debug_print("bmp384: bmp384_set_pressure_oversampling/bmp384_get_pressure_oversampling test.\n");
+
1073
+
1074 /* set oversampling x1 */
+ +
1076 if (res != 0)
+
1077 {
+
1078 bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
+
1079 (void)bmp384_deinit(&gs_handle);
+
1080
+
1081 return 1;
+
1082 }
+
1083 bmp384_interface_debug_print("bmp384: set pressure oversampling x1.\n");
+
1084 res = bmp384_get_pressure_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
+
1085 if (res != 0)
+
1086 {
+
1087 bmp384_interface_debug_print("bmp384: get pressure oversampling failed.\n");
+
1088 (void)bmp384_deinit(&gs_handle);
+
1089
+
1090 return 1;
+
1091 }
+
1092 bmp384_interface_debug_print("bmp384: check pressure oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x1?"ok":"error");
+
1093
+
1094 /* set oversampling x2 */
+ +
1096 if (res != 0)
+
1097 {
+
1098 bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
+
1099 (void)bmp384_deinit(&gs_handle);
+
1100
+
1101 return 1;
+
1102 }
+
1103 bmp384_interface_debug_print("bmp384: set pressure oversampling x2.\n");
+
1104 res = bmp384_get_pressure_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
+
1105 if (res != 0)
+
1106 {
+
1107 bmp384_interface_debug_print("bmp384: get pressure oversampling failed.\n");
+
1108 (void)bmp384_deinit(&gs_handle);
+
1109
+
1110 return 1;
+
1111 }
+
1112 bmp384_interface_debug_print("bmp384: check pressure oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x2?"ok":"error");
+
1113
+
1114 /* set oversampling x4 */
+ +
1116 if (res != 0)
+
1117 {
+
1118 bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
+
1119 (void)bmp384_deinit(&gs_handle);
+
1120
+
1121 return 1;
+
1122 }
+
1123 bmp384_interface_debug_print("bmp384: set pressure oversampling x4.\n");
+
1124 res = bmp384_get_pressure_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
+
1125 if (res != 0)
+
1126 {
+
1127 bmp384_interface_debug_print("bmp384: get pressure oversampling failed.\n");
+
1128 (void)bmp384_deinit(&gs_handle);
+
1129
+
1130 return 1;
+
1131 }
+
1132 bmp384_interface_debug_print("bmp384: check pressure oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x4?"ok":"error");
+
1133
+
1134 /* set oversampling x8 */
+ +
1136 if (res != 0)
+
1137 {
+
1138 bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
+
1139 (void)bmp384_deinit(&gs_handle);
+
1140
+
1141 return 1;
+
1142 }
+
1143 bmp384_interface_debug_print("bmp384: set pressure oversampling x8.\n");
+
1144 res = bmp384_get_pressure_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
+
1145 if (res != 0)
+
1146 {
+
1147 bmp384_interface_debug_print("bmp384: get pressure oversampling failed.\n");
+
1148 (void)bmp384_deinit(&gs_handle);
+
1149
+
1150 return 1;
+
1151 }
+
1152 bmp384_interface_debug_print("bmp384: check pressure oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x8?"ok":"error");
+
1153
+
1154 /* set oversampling x16 */
+ +
1156 if (res != 0)
+
1157 {
+
1158 bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
+
1159 (void)bmp384_deinit(&gs_handle);
+
1160
+
1161 return 1;
+
1162 }
+
1163 bmp384_interface_debug_print("bmp384: set pressure oversampling x16.\n");
+
1164 res = bmp384_get_pressure_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
+
1165 if (res != 0)
+
1166 {
+
1167 bmp384_interface_debug_print("bmp384: get pressure oversampling failed.\n");
+
1168 (void)bmp384_deinit(&gs_handle);
+
1169
+
1170 return 1;
+
1171 }
+
1172 bmp384_interface_debug_print("bmp384: check pressure oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x16?"ok":"error");
+
1173
+
1174 /* set oversampling x32 */
+ +
1176 if (res != 0)
+
1177 {
+
1178 bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
+
1179 (void)bmp384_deinit(&gs_handle);
+
1180
+
1181 return 1;
+
1182 }
+
1183 bmp384_interface_debug_print("bmp384: set pressure oversampling x32.\n");
+
1184 res = bmp384_get_pressure_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
+
1185 if (res != 0)
+
1186 {
+
1187 bmp384_interface_debug_print("bmp384: get pressure oversampling failed.\n");
+
1188 (void)bmp384_deinit(&gs_handle);
+
1189
+
1190 return 1;
+
1191 }
+
1192 bmp384_interface_debug_print("bmp384: check pressure oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x32?"ok":"error");
+
1193
+
1194 /* bmp384_set_temperature_oversampling/bmp384_get_temperature_oversampling test */
+
1195 bmp384_interface_debug_print("bmp384: bmp384_set_temperature_oversampling/bmp384_get_temperature_oversampling test.\n");
+
1196
+
1197 /* oversampling x1 */
+ +
1199 if (res != 0)
+
1200 {
+
1201 bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
+
1202 (void)bmp384_deinit(&gs_handle);
+
1203
+
1204 return 1;
+
1205 }
+
1206 bmp384_interface_debug_print("bmp384: set temperature oversampling x1.\n");
+
1207 res = bmp384_get_temperature_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
+
1208 if (res != 0)
+
1209 {
+
1210 bmp384_interface_debug_print("bmp384: get temperature oversampling failed.\n");
+
1211 (void)bmp384_deinit(&gs_handle);
+
1212
+
1213 return 1;
+
1214 }
+
1215 bmp384_interface_debug_print("bmp384: check temperature oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x1?"ok":"error");
+
1216
+
1217 /* set oversampling x2 */
+ +
1219 if (res != 0)
+
1220 {
+
1221 bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
+
1222 (void)bmp384_deinit(&gs_handle);
+
1223
+
1224 return 1;
+
1225 }
+
1226 bmp384_interface_debug_print("bmp384: set temperature oversampling x2.\n");
+
1227 res = bmp384_get_temperature_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
+
1228 if (res != 0)
+
1229 {
+
1230 bmp384_interface_debug_print("bmp384: get temperature oversampling failed.\n");
+
1231 (void)bmp384_deinit(&gs_handle);
+
1232
+
1233 return 1;
+
1234 }
+
1235 bmp384_interface_debug_print("bmp384: check temperature oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x2?"ok":"error");
+
1236
+
1237 /* set oversampling x4 */
+ +
1239 if (res != 0)
+
1240 {
+
1241 bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
+
1242 (void)bmp384_deinit(&gs_handle);
+
1243
+
1244 return 1;
+
1245 }
+
1246 bmp384_interface_debug_print("bmp384: set temperature oversampling x4.\n");
+
1247 res = bmp384_get_temperature_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
+
1248 if (res != 0)
+
1249 {
+
1250 bmp384_interface_debug_print("bmp384: get temperature oversampling failed.\n");
+
1251 (void)bmp384_deinit(&gs_handle);
+
1252
+
1253 return 1;
+
1254 }
+
1255 bmp384_interface_debug_print("bmp384: check temperature oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x4?"ok":"error");
+
1256
+
1257 /* set oversampling x8 */
+ +
1259 if (res != 0)
+
1260 {
+
1261 bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
+
1262 (void)bmp384_deinit(&gs_handle);
+
1263
+
1264 return 1;
+
1265 }
+
1266 bmp384_interface_debug_print("bmp384: set temperature oversampling x8.\n");
+
1267 res = bmp384_get_temperature_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
+
1268 if (res != 0)
+
1269 {
+
1270 bmp384_interface_debug_print("bmp384: get temperature oversampling failed.\n");
+
1271 (void)bmp384_deinit(&gs_handle);
+
1272
+
1273 return 1;
+
1274 }
+
1275 bmp384_interface_debug_print("bmp384: check temperature oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x8?"ok":"error");
+
1276
+
1277 /* set oversampling x16 */
+ +
1279 if (res != 0)
+
1280 {
+
1281 bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
+
1282 (void)bmp384_deinit(&gs_handle);
+
1283
+
1284 return 1;
+
1285 }
+
1286 bmp384_interface_debug_print("bmp384: set temperature oversampling x16.\n");
+
1287 res = bmp384_get_temperature_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
+
1288 if (res != 0)
+
1289 {
+
1290 bmp384_interface_debug_print("bmp384: get temperature oversampling failed.\n");
+
1291 (void)bmp384_deinit(&gs_handle);
+
1292
+
1293 return 1;
+
1294 }
+
1295 bmp384_interface_debug_print("bmp384: check temperature oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x16?"ok":"error");
+
1296
+
1297 /* set oversampling x32 */
+ +
1299 if (res != 0)
+
1300 {
+
1301 bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
+
1302 (void)bmp384_deinit(&gs_handle);
+
1303
+
1304 return 1;
+
1305 }
+
1306 bmp384_interface_debug_print("bmp384: set temperature oversampling x32.\n");
+
1307 res = bmp384_get_temperature_oversampling(&gs_handle, (bmp384_oversampling_t *)&oversampling);
+
1308 if (res != 0)
+
1309 {
+
1310 bmp384_interface_debug_print("bmp384: get temperature oversampling failed.\n");
+
1311 (void)bmp384_deinit(&gs_handle);
+
1312
+
1313 return 1;
+
1314 }
+
1315 bmp384_interface_debug_print("bmp384: check temperature oversampling %s.\n", oversampling==BMP384_OVERSAMPLING_x32?"ok":"error");
+
1316
+
1317 /* bmp384_set_odr/bmp384_get_odr test */
+
1318 bmp384_interface_debug_print("bmp384: bmp384_set_odr/bmp384_get_odr test.\n");
+
1319
+
1320 /* set odr 200Hz */
+
1321 res = bmp384_set_odr(&gs_handle, BMP384_ODR_200_HZ);
+
1322 if (res != 0)
+
1323 {
+
1324 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1325 (void)bmp384_deinit(&gs_handle);
+
1326
+
1327 return 1;
+
1328 }
+
1329 bmp384_interface_debug_print("bmp384: set odr 200Hz.\n");
+
1330 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1331 if (res != 0)
+
1332 {
+
1333 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1334 (void)bmp384_deinit(&gs_handle);
+
1335
+
1336 return 1;
+
1337 }
+
1338 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_200_HZ?"ok":"error");
+
1339
+
1340 /* set odr 100Hz */
+
1341 res = bmp384_set_odr(&gs_handle, BMP384_ODR_100_HZ);
+
1342 if (res != 0)
+
1343 {
+
1344 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1345 (void)bmp384_deinit(&gs_handle);
+
1346
+
1347 return 1;
+
1348 }
+
1349 bmp384_interface_debug_print("bmp384: set odr 100Hz.\n");
+
1350 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1351 if (res != 0)
+
1352 {
+
1353 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1354 (void)bmp384_deinit(&gs_handle);
+
1355
+
1356 return 1;
+
1357 }
+
1358 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_100_HZ?"ok":"error");
+
1359
+
1360 /* set odr 50Hz */
+
1361 res = bmp384_set_odr(&gs_handle, BMP384_ODR_50_HZ);
+
1362 if (res != 0)
+
1363 {
+
1364 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1365 (void)bmp384_deinit(&gs_handle);
+
1366
+
1367 return 1;
+
1368 }
+
1369 bmp384_interface_debug_print("bmp384: set odr 50Hz.\n");
+
1370 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1371 if (res != 0)
+
1372 {
+
1373 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1374 (void)bmp384_deinit(&gs_handle);
+
1375
+
1376 return 1;
+
1377 }
+
1378 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_50_HZ?"ok":"error");
+
1379
+
1380 /* set odr 25Hz */
+
1381 res = bmp384_set_odr(&gs_handle, BMP384_ODR_25_HZ);
+
1382 if (res != 0)
+
1383 {
+
1384 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1385 (void)bmp384_deinit(&gs_handle);
+
1386
+
1387 return 1;
+
1388 }
+
1389 bmp384_interface_debug_print("bmp384: set odr 25Hz.\n");
+
1390 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1391 if (res != 0)
+
1392 {
+
1393 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1394 (void)bmp384_deinit(&gs_handle);
+
1395
+
1396 return 1;
+
1397 }
+
1398 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_25_HZ?"ok":"error");
+
1399
+
1400 /* set odr 12.5Hz */
+
1401 res = bmp384_set_odr(&gs_handle, BMP384_ODR_12P5_HZ);
+
1402 if (res != 0)
+
1403 {
+
1404 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1405 (void)bmp384_deinit(&gs_handle);
+
1406
+
1407 return 1;
+
1408 }
+
1409 bmp384_interface_debug_print("bmp384: set odr 12.5Hz.\n");
+
1410 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1411 if (res != 0)
+
1412 {
+
1413 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1414 (void)bmp384_deinit(&gs_handle);
+
1415
+
1416 return 1;
+
1417 }
+
1418 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_12P5_HZ?"ok":"error");
+
1419
+
1420 /* set odr 6.25Hz */
+
1421 res = bmp384_set_odr(&gs_handle, BMP384_ODR_6P25_HZ);
+
1422 if (res != 0)
+
1423 {
+
1424 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1425 (void)bmp384_deinit(&gs_handle);
+
1426
+
1427 return 1;
+
1428 }
+
1429 bmp384_interface_debug_print("bmp384: set odr 6.25Hz.\n");
+
1430 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1431 if (res != 0)
+
1432 {
+
1433 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1434 (void)bmp384_deinit(&gs_handle);
+
1435
+
1436 return 1;
+
1437 }
+
1438 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_6P25_HZ?"ok":"error");
+
1439
+
1440 /* set odr 3.1Hz */
+
1441 res = bmp384_set_odr(&gs_handle, BMP384_ODR_3P1_HZ);
+
1442 if (res != 0)
+
1443 {
+
1444 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1445 (void)bmp384_deinit(&gs_handle);
+
1446
+
1447 return 1;
+
1448 }
+
1449 bmp384_interface_debug_print("bmp384: set odr 3.1Hz.\n");
+
1450 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1451 if (res != 0)
+
1452 {
+
1453 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1454 (void)bmp384_deinit(&gs_handle);
+
1455
+
1456 return 1;
+
1457 }
+
1458 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_3P1_HZ?"ok":"error");
+
1459
+
1460 /* set odr 1.5Hz */
+
1461 res = bmp384_set_odr(&gs_handle, BMP384_ODR_1P5_HZ);
+
1462 if (res != 0)
+
1463 {
+
1464 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1465 (void)bmp384_deinit(&gs_handle);
+
1466
+
1467 return 1;
+
1468 }
+
1469 bmp384_interface_debug_print("bmp384: set odr 1.5Hz.\n");
+
1470 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1471 if (res != 0)
+
1472 {
+
1473 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1474 (void)bmp384_deinit(&gs_handle);
+
1475
+
1476 return 1;
+
1477 }
+
1478 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_1P5_HZ?"ok":"error");
+
1479
+
1480 /* set odr 0.78Hz */
+
1481 res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P78_HZ);
+
1482 if (res != 0)
+
1483 {
+
1484 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1485 (void)bmp384_deinit(&gs_handle);
+
1486
+
1487 return 1;
+
1488 }
+
1489 bmp384_interface_debug_print("bmp384: set odr 0.78Hz.\n");
+
1490 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1491 if (res != 0)
+
1492 {
+
1493 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1494 (void)bmp384_deinit(&gs_handle);
+
1495
+
1496 return 1;
+
1497 }
+
1498 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P78_HZ?"ok":"error");
+
1499
+
1500 /* set odr 0.39Hz */
+
1501 res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P39_HZ);
+
1502 if (res != 0)
+
1503 {
+
1504 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1505 (void)bmp384_deinit(&gs_handle);
+
1506
+
1507 return 1;
+
1508 }
+
1509 bmp384_interface_debug_print("bmp384: set odr 0.39Hz.\n");
+
1510 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1511 if (res != 0)
+
1512 {
+
1513 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1514 (void)bmp384_deinit(&gs_handle);
+
1515
+
1516 return 1;
+
1517 }
+
1518 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P39_HZ?"ok":"error");
+
1519
+
1520 /* set odr 0.2Hz */
+
1521 res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P2_HZ);
+
1522 if (res != 0)
+
1523 {
+
1524 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1525 (void)bmp384_deinit(&gs_handle);
+
1526
+
1527 return 1;
+
1528 }
+
1529 bmp384_interface_debug_print("bmp384: set odr 0.2Hz.\n");
+
1530 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1531 if (res != 0)
+
1532 {
+
1533 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1534 (void)bmp384_deinit(&gs_handle);
+
1535
+
1536 return 1;
+
1537 }
+
1538 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P2_HZ?"ok":"error");
+
1539
+
1540 /* set odr 0.1Hz */
+
1541 res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P1_HZ);
+
1542 if (res != 0)
+
1543 {
+
1544 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1545 (void)bmp384_deinit(&gs_handle);
+
1546
+
1547 return 1;
+
1548 }
+
1549 bmp384_interface_debug_print("bmp384: set odr 0.1Hz.\n");
+
1550 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1551 if (res != 0)
+
1552 {
+
1553 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1554 (void)bmp384_deinit(&gs_handle);
+
1555
+
1556 return 1;
+
1557 }
+
1558 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P1_HZ?"ok":"error");
+
1559
+
1560 /* set odr 0.05Hz */
+
1561 res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P05_HZ);
+
1562 if (res != 0)
+
1563 {
+
1564 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1565 (void)bmp384_deinit(&gs_handle);
+
1566
+
1567 return 1;
+
1568 }
+
1569 bmp384_interface_debug_print("bmp384: set odr 0.05Hz.\n");
+
1570 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1571 if (res != 0)
+
1572 {
+
1573 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1574 (void)bmp384_deinit(&gs_handle);
+
1575
+
1576 return 1;
+
1577 }
+
1578 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P05_HZ?"ok":"error");
+
1579
+
1580 /* set odr 0.02Hz */
+
1581 res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P02_HZ);
+
1582 if (res != 0)
+
1583 {
+
1584 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1585 (void)bmp384_deinit(&gs_handle);
+
1586
+
1587 return 1;
+
1588 }
+
1589 bmp384_interface_debug_print("bmp384: set odr 0.02Hz.\n");
+
1590 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1591 if (res != 0)
+
1592 {
+
1593 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1594 (void)bmp384_deinit(&gs_handle);
+
1595
+
1596 return 1;
+
1597 }
+
1598 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P02_HZ?"ok":"error");
+
1599
+
1600 /* set odr 0.01Hz */
+
1601 res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P01_HZ);
+
1602 if (res != 0)
+
1603 {
+
1604 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1605 (void)bmp384_deinit(&gs_handle);
+
1606
+
1607 return 1;
+
1608 }
+
1609 bmp384_interface_debug_print("bmp384: set odr 0.01Hz.\n");
+
1610 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1611 if (res != 0)
+
1612 {
+
1613 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1614 (void)bmp384_deinit(&gs_handle);
+
1615
+
1616 return 1;
+
1617 }
+
1618 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P01_HZ?"ok":"error");
+
1619
+
1620 /* set odr 0.006Hz */
+
1621 res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P006_HZ);
+
1622 if (res != 0)
+
1623 {
+
1624 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1625 (void)bmp384_deinit(&gs_handle);
+
1626
+
1627 return 1;
+
1628 }
+
1629 bmp384_interface_debug_print("bmp384: set odr 0.006Hz.\n");
+
1630 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1631 if (res != 0)
+
1632 {
+
1633 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1634 (void)bmp384_deinit(&gs_handle);
+
1635
+
1636 return 1;
+
1637 }
+
1638 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P006_HZ?"ok":"error");
+
1639
+
1640 /* set odr 0.003Hz */
+
1641 res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P003_HZ);
+
1642 if (res != 0)
+
1643 {
+
1644 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1645 (void)bmp384_deinit(&gs_handle);
+
1646
+
1647 return 1;
+
1648 }
+
1649 bmp384_interface_debug_print("bmp384: set odr 0.003Hz.\n");
+
1650 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1651 if (res != 0)
+
1652 {
+
1653 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1654 (void)bmp384_deinit(&gs_handle);
+
1655
+
1656 return 1;
+
1657 }
+
1658 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P003_HZ?"ok":"error");
+
1659
+
1660 /* set odr 0.0015Hz */
+
1661 res = bmp384_set_odr(&gs_handle, BMP384_ODR_0P0015_HZ);
+
1662 if (res != 0)
+
1663 {
+
1664 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
1665 (void)bmp384_deinit(&gs_handle);
+
1666
+
1667 return 1;
+
1668 }
+
1669 bmp384_interface_debug_print("bmp384: set odr 0.0015Hz.\n");
+
1670 res = bmp384_get_odr(&gs_handle, (bmp384_odr_t *)&odr);
+
1671 if (res != 0)
+
1672 {
+
1673 bmp384_interface_debug_print("bmp384: get odr failed.\n");
+
1674 (void)bmp384_deinit(&gs_handle);
+
1675
+
1676 return 1;
+
1677 }
+
1678 bmp384_interface_debug_print("bmp384: check odr %s.\n", odr==BMP384_ODR_0P0015_HZ?"ok":"error");
+
1679
+
1680 /* bmp384_set_filter_coefficient/bmp384_get_filter_coefficient test */
+
1681 bmp384_interface_debug_print("bmp384: bmp384_set_filter_coefficient/bmp384_get_filter_coefficient test.\n");
+
1682
+
1683 /* set coefficient 0 */
+ +
1685 if (res != 0)
+
1686 {
+
1687 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
1688 (void)bmp384_deinit(&gs_handle);
+
1689
+
1690 return 1;
+
1691 }
+
1692 bmp384_interface_debug_print("bmp384: set filter coefficient 0.\n");
+ +
1694 if (res != 0)
+
1695 {
+
1696 bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
+
1697 (void)bmp384_deinit(&gs_handle);
+
1698
+
1699 return 1;
+
1700 }
+
1701 bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_0?"ok":"error");
+
1702
+
1703 /* set coefficient 1 */
+ +
1705 if (res != 0)
+
1706 {
+
1707 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
1708 (void)bmp384_deinit(&gs_handle);
+
1709
+
1710 return 1;
+
1711 }
+
1712 bmp384_interface_debug_print("bmp384: set filter coefficient 1.\n");
+ +
1714 if (res != 0)
+
1715 {
+
1716 bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
+
1717 (void)bmp384_deinit(&gs_handle);
+
1718
+
1719 return 1;
+
1720 }
+
1721 bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_1?"ok":"error");
+
1722
+
1723 /* set coefficient 3 */
+ +
1725 if (res != 0)
+
1726 {
+
1727 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
1728 (void)bmp384_deinit(&gs_handle);
+
1729
+
1730 return 1;
+
1731 }
+
1732 bmp384_interface_debug_print("bmp384: set filter coefficient 3.\n");
+ +
1734 if (res != 0)
+
1735 {
+
1736 bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
+
1737 (void)bmp384_deinit(&gs_handle);
+
1738
+
1739 return 1;
+
1740 }
+
1741 bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_3?"ok":"error");
+
1742
+
1743 /* set coefficient 7 */
+ +
1745 if (res != 0)
+
1746 {
+
1747 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
1748 (void)bmp384_deinit(&gs_handle);
+
1749
+
1750 return 1;
+
1751 }
+
1752 bmp384_interface_debug_print("bmp384: set filter coefficient 7.\n");
+ +
1754 if (res != 0)
+
1755 {
+
1756 bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
+
1757 (void)bmp384_deinit(&gs_handle);
+
1758
+
1759 return 1;
+
1760 }
+
1761 bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_7?"ok":"error");
+
1762
+
1763 /* set coefficient 15 */
+ +
1765 if (res != 0)
+
1766 {
+
1767 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
1768 (void)bmp384_deinit(&gs_handle);
+
1769
+
1770 return 1;
+
1771 }
+
1772 bmp384_interface_debug_print("bmp384: set filter coefficient 15.\n");
+ +
1774 if (res != 0)
+
1775 {
+
1776 bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
+
1777 (void)bmp384_deinit(&gs_handle);
+
1778
+
1779 return 1;
+
1780 }
+
1781 bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_15?"ok":"error");
+
1782
+
1783 /* set coefficient 31 */
+ +
1785 if (res != 0)
+
1786 {
+
1787 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
1788 (void)bmp384_deinit(&gs_handle);
+
1789
+
1790 return 1;
+
1791 }
+
1792 bmp384_interface_debug_print("bmp384: set filter coefficient 31.\n");
+ +
1794 if (res != 0)
+
1795 {
+
1796 bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
+
1797 (void)bmp384_deinit(&gs_handle);
+
1798
+
1799 return 1;
+
1800 }
+
1801 bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_31?"ok":"error");
+
1802
+
1803 /* set coefficient 63 */
+ +
1805 if (res != 0)
+
1806 {
+
1807 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
1808 (void)bmp384_deinit(&gs_handle);
+
1809
+
1810 return 1;
+
1811 }
+
1812 bmp384_interface_debug_print("bmp384: set filter coefficient 63.\n");
+ +
1814 if (res != 0)
+
1815 {
+
1816 bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
+
1817 (void)bmp384_deinit(&gs_handle);
+
1818
+
1819 return 1;
+
1820 }
+
1821 bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_63?"ok":"error");
+
1822
+
1823 /* set coefficient 127 */
+ +
1825 if (res != 0)
+
1826 {
+
1827 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
1828 (void)bmp384_deinit(&gs_handle);
+
1829
+
1830 return 1;
+
1831 }
+
1832 bmp384_interface_debug_print("bmp384: set filter coefficient 127.\n");
+ +
1834 if (res != 0)
+
1835 {
+
1836 bmp384_interface_debug_print("bmp384: get filter coefficient failed.\n");
+
1837 (void)bmp384_deinit(&gs_handle);
+
1838
+
1839 return 1;
+
1840 }
+
1841 bmp384_interface_debug_print("bmp384: check filter coefficient %s.\n", coef==BMP384_FILTER_COEFFICIENT_127?"ok":"error");
+
1842
+
1843 /* bmp384_get_error */
+
1844 bmp384_interface_debug_print("bmp384: bmp384_get_error.\n");
+
1845 res = bmp384_get_error(&gs_handle, (uint8_t *)&err);
+
1846 if (res != 0)
+
1847 {
+
1848 bmp384_interface_debug_print("bmp384: get err failed.\n");
+
1849 (void)bmp384_deinit(&gs_handle);
+
1850
+
1851 return 1;
+
1852 }
+
1853 bmp384_interface_debug_print("bmp384: err is 0x%02X.\n", (uint8_t)err);
+
1854
+
1855 /* bmp384_get_status */
+
1856 bmp384_interface_debug_print("bmp384: bmp384_get_status.\n");
+
1857 res = bmp384_get_status(&gs_handle, (uint8_t *)&status);
+
1858 if (res != 0)
+
1859 {
+
1860 bmp384_interface_debug_print("bmp384: get status failed.\n");
+
1861 (void)bmp384_deinit(&gs_handle);
+
1862
+
1863 return 1;
+
1864 }
+
1865 bmp384_interface_debug_print("bmp384: status is 0x%02X.\n", (uint8_t)status);
+
1866
+
1867 /* bmp384_get_sensortime */
+
1868 bmp384_interface_debug_print("bmp384: bmp384_get_sensortime.\n");
+
1869 res = bmp384_get_sensortime(&gs_handle, (uint32_t *)&sensortime);
+
1870 if (res != 0)
+
1871 {
+
1872 bmp384_interface_debug_print("bmp384: get sensor time failed.\n");
+
1873 (void)bmp384_deinit(&gs_handle);
+
1874
+
1875 return 1;
+
1876 }
+
1877 bmp384_interface_debug_print("bmp384: sensor time is 0x%06X.\n", (uint32_t)sensortime);
+
1878
+
1879 /* bmp384_get_event */
+
1880 bmp384_interface_debug_print("bmp384: bmp384_get_event.\n");
+
1881 res = bmp384_get_event(&gs_handle, &event);
+
1882 if (res != 0)
+
1883 {
+
1884 bmp384_interface_debug_print("bmp384: get event failed.\n");
+
1885 (void)bmp384_deinit(&gs_handle);
+
1886
+
1887 return 1;
+
1888 }
+
1889 bmp384_interface_debug_print("bmp384: event is %s.\n", event==BMP384_EVENT_NONE?"none":"power up or softrest");
+
1890
+
1891 /* bmp384_get_interrupt_status */
+
1892 bmp384_interface_debug_print("bmp384: bmp384_get_interrupt_status.\n");
+
1893 res = bmp384_get_interrupt_status(&gs_handle, (uint8_t *)&status);
+
1894 if (res != 0)
+
1895 {
+
1896 bmp384_interface_debug_print("bmp384: get interrupt status failed.\n");
+
1897 (void)bmp384_deinit(&gs_handle);
+
1898
+
1899 return 1;
+
1900 }
+
1901 bmp384_interface_debug_print("bmp384: interrupt status is 0x%02X.\n", (uint8_t)status);
+
1902
+
1903 /* bmp384_get_fifo_length */
+
1904 bmp384_interface_debug_print("bmp384: bmp384_get_fifo_length.\n");
+
1905 res = bmp384_get_fifo_length(&gs_handle, (uint16_t *)&length);
+
1906 if (res != 0)
+
1907 {
+
1908 bmp384_interface_debug_print("bmp384: get fifo length failed.\n");
+
1909 (void)bmp384_deinit(&gs_handle);
+
1910
+
1911 return 1;
+
1912 }
+
1913 bmp384_interface_debug_print("bmp384: get fifo length is 0x%04X.\n", (uint16_t)length);
+
1914
+
1915 /* bmp384_get_fifo_data */
+
1916 bmp384_interface_debug_print("bmp384: bmp384_get_fifo_data.\n");
+
1917 res = bmp384_get_fifo_data(&gs_handle, (uint8_t *)&data, 1);
+
1918 if (res != 0)
+
1919 {
+
1920 bmp384_interface_debug_print("bmp384: get fifo data failed.\n");
+
1921 (void)bmp384_deinit(&gs_handle);
+
1922
+
1923 return 1;
+
1924 }
+
1925 bmp384_interface_debug_print("bmp384: get fifo data is 0x%04X.\n", (uint8_t)data);
+
1926
+
1927 /* bmp384_flush_fifo */
+
1928 bmp384_interface_debug_print("bmp384: bmp384_flush_fifo.\n");
+
1929 res = bmp384_flush_fifo(&gs_handle);
+
1930 if (res != 0)
+
1931 {
+
1932 bmp384_interface_debug_print("bmp384: flush fifo failed.\n");
+
1933 (void)bmp384_deinit(&gs_handle);
+
1934
+
1935 return 1;
+
1936 }
+
1937 bmp384_interface_debug_print("bmp384: flush fifo %s.\n", res?"error":"ok");
+
1938
+
1939 /* bmp384_extmode_en_middle */
+
1940 bmp384_interface_debug_print("bmp384: bmp384_extmode_en_middle.\n");
+
1941 res = bmp384_extmode_en_middle(&gs_handle);
+
1942 if (res != 0)
+
1943 {
+
1944 bmp384_interface_debug_print("bmp384: extmode en middle failed.\n");
+
1945 (void)bmp384_deinit(&gs_handle);
+
1946
+
1947 return 1;
+
1948 }
+
1949 bmp384_interface_debug_print("bmp384: extmode en middle %s.\n", res?"error":"ok");
+
1950
+
1951 /* bmp384_softreset */
+
1952 bmp384_interface_debug_print("bmp384: bmp384_softreset.\n");
+
1953 res = bmp384_softreset(&gs_handle);
+
1954 if (res != 0)
+
1955 {
+
1956 bmp384_interface_debug_print("bmp384: bmp384 soft reset failed.\n");
+
1957 (void)bmp384_deinit(&gs_handle);
+
1958
+
1959 return 1;
+
1960 }
+
1961 bmp384_interface_debug_print("bmp384: soft reset %s.\n", res?"error":"ok");
+
1962
+
1963 /* finish register test */
+
1964 bmp384_interface_debug_print("bmp384: finish register test.\n");
+
1965 (void)bmp384_deinit(&gs_handle);
+
1966
+
1967 return 0;
+
1968}
+
driver bmp384 register test header file
-
uint8_t bmp384_get_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the iic watchdog timer status
-
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
-
bmp384_event_t
bmp384 event enumeration definition
-
uint8_t bmp384_get_addr_pin(bmp384_handle_t *handle, bmp384_address_t *addr_pin)
get the iic address pin
-
uint8_t bmp384_get_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t *wire)
get the spi wire
-
bmp384_mode_t
bmp384 mode enumeration definition
-
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
uint8_t bmp384_softreset(bmp384_handle_t *handle)
soft reset
-
uint8_t bmp384_get_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t *coefficient)
get the filter coefficient
-
uint8_t bmp384_extmode_en_middle(bmp384_handle_t *handle)
extmode enable middle
-
uint8_t bmp384_get_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
get the pressure oversampling
-
bmp384_fifo_data_source_t
bmp384 fifo data source enumeration definition
-
uint8_t bmp384_get_pressure(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the pressure status
-
uint8_t bmp384_get_status(bmp384_handle_t *handle, uint8_t *status)
get the status
-
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
-
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
-
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
-
bmp384_spi_wire_t
bmp384 spi wire enumeration definition
-
bmp384_bool_t
bmp384 bool enumeration definition
Definition: driver_bmp384.h:81
-
uint8_t bmp384_get_sensortime(bmp384_handle_t *handle, uint32_t *t)
get the sensor time
-
bmp384_interrupt_pin_type_t
bmp384 interrupt pin type enumeration definition
-
uint8_t bmp384_get_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
get the temperature oversampling
-
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
-
uint8_t bmp384_get_interface(bmp384_handle_t *handle, bmp384_interface_t *interface)
get the interface
-
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
-
uint8_t bmp384_get_event(bmp384_handle_t *handle, bmp384_event_t *event)
get the event
-
bmp384_odr_t
bmp384 output data rate enumeration definition
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
-
uint8_t bmp384_info(bmp384_info_t *info)
get chip's information
-
bmp384_filter_coefficient_t
bmp384 filter coefficient enumeration definition
-
uint8_t bmp384_get_mode(bmp384_handle_t *handle, bmp384_mode_t *mode)
get the chip mode
-
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
-
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
-
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
-
bmp384_iic_watchdog_period_t
bmp384 iic watchdog period enumeration definition
-
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
-
uint8_t bmp384_get_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t *period)
get the iic watchdog period
-
uint8_t bmp384_get_odr(bmp384_handle_t *handle, bmp384_odr_t *odr)
get the output data rate
-
bmp384_oversampling_t
bmp384 oversampling enumeration definition
-
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
-
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
-
uint8_t bmp384_get_temperature(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the temperature status
-
uint8_t bmp384_get_error(bmp384_handle_t *handle, uint8_t *err)
get the error
-
bmp384_interrupt_active_level_t
bmp384 interrupt active level enumeration definition
-
@ BMP384_EVENT_NONE
-
@ BMP384_MODE_FORCED_MODE
-
@ BMP384_MODE_NORMAL_MODE
-
@ BMP384_MODE_SLEEP_MODE
-
@ BMP384_INTERFACE_SPI
Definition: driver_bmp384.h:65
-
@ BMP384_INTERFACE_IIC
Definition: driver_bmp384.h:64
-
@ BMP384_FIFO_DATA_SOURCE_UNFILTERED
-
@ BMP384_FIFO_DATA_SOURCE_FILTERED
-
@ BMP384_SPI_WIRE_3
-
@ BMP384_SPI_WIRE_4
-
@ BMP384_BOOL_TRUE
Definition: driver_bmp384.h:83
-
@ BMP384_BOOL_FALSE
Definition: driver_bmp384.h:82
-
@ BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
-
@ BMP384_INTERRUPT_PIN_TYPE_OPEN_DRAIN
-
@ BMP384_ODR_6P25_HZ
-
@ BMP384_ODR_1P5_HZ
-
@ BMP384_ODR_100_HZ
-
@ BMP384_ODR_50_HZ
-
@ BMP384_ODR_0P003_HZ
-
@ BMP384_ODR_0P78_HZ
-
@ BMP384_ODR_0P05_HZ
-
@ BMP384_ODR_12P5_HZ
-
@ BMP384_ODR_0P006_HZ
-
@ BMP384_ODR_25_HZ
-
@ BMP384_ODR_0P02_HZ
-
@ BMP384_ODR_200_HZ
-
@ BMP384_ODR_0P39_HZ
-
@ BMP384_ODR_3P1_HZ
-
@ BMP384_ODR_0P2_HZ
-
@ BMP384_ODR_0P1_HZ
-
@ BMP384_ODR_0P01_HZ
-
@ BMP384_ODR_0P0015_HZ
-
@ BMP384_ADDRESS_ADO_LOW
Definition: driver_bmp384.h:73
-
@ BMP384_ADDRESS_ADO_HIGH
Definition: driver_bmp384.h:74
-
@ BMP384_FILTER_COEFFICIENT_31
-
@ BMP384_FILTER_COEFFICIENT_63
-
@ BMP384_FILTER_COEFFICIENT_127
-
@ BMP384_FILTER_COEFFICIENT_7
-
@ BMP384_FILTER_COEFFICIENT_15
-
@ BMP384_FILTER_COEFFICIENT_0
-
@ BMP384_FILTER_COEFFICIENT_3
-
@ BMP384_FILTER_COEFFICIENT_1
-
@ BMP384_IIC_WATCHDOG_PERIOD_1P25_MS
-
@ BMP384_IIC_WATCHDOG_PERIOD_40_MS
-
@ BMP384_OVERSAMPLING_x1
-
@ BMP384_OVERSAMPLING_x32
-
@ BMP384_OVERSAMPLING_x2
-
@ BMP384_OVERSAMPLING_x16
-
@ BMP384_OVERSAMPLING_x4
-
@ BMP384_OVERSAMPLING_x8
-
@ BMP384_INTERRUPT_ACTIVE_LEVEL_LOWER
-
@ BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
-
uint8_t bmp384_get_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo pressure on status
-
uint8_t bmp384_set_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo pressure on
-
uint8_t bmp384_set_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
set the fifo data source
-
uint8_t bmp384_get_fifo_length(bmp384_handle_t *handle, uint16_t *length)
get the fifo length
-
uint8_t bmp384_set_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo stopping on full
-
uint8_t bmp384_set_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo sensor time on
-
uint8_t bmp384_get_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo temperature on status
-
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
-
uint8_t bmp384_get_fifo(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo status
-
uint8_t bmp384_get_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo stopping on full status
-
uint8_t bmp384_get_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo sensor time on status
-
uint8_t bmp384_flush_fifo(bmp384_handle_t *handle)
flush the fifo
-
uint8_t bmp384_set_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo temperature on
-
uint8_t bmp384_get_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t *source)
get the fifo data source
-
uint8_t bmp384_get_fifo_watermark(bmp384_handle_t *handle, uint16_t *watermark)
get the fifo watermark
-
uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
set the fifo watermark
-
uint8_t bmp384_get_fifo_data(bmp384_handle_t *handle, uint8_t *data, uint16_t length)
get the fifo data
-
uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
set the fifo subsampling
-
uint8_t bmp384_get_fifo_subsampling(bmp384_handle_t *handle, uint8_t *subsample)
get the fifo subsampling
-
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
-
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
-
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
-
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
-
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
-
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
-
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
-
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
-
void bmp384_interface_receive_callback(uint8_t type)
interface receive callback
-
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
-
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
-
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
-
uint8_t bmp384_get_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t *level)
get the interrupt active level
-
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
-
uint8_t bmp384_get_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt fifo full
-
uint8_t bmp384_get_interrupt_status(bmp384_handle_t *handle, uint8_t *status)
get the interrupt status
-
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
-
uint8_t bmp384_get_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t *pin_type)
get the interrupt pin type
-
uint8_t bmp384_get_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt fifo watermark
-
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
-
uint8_t bmp384_get_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t *enable)
get latching interrupt pin and interrupt status
-
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
-
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
-
uint8_t bmp384_get_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt data ready status
- - - - - - - - - - - - -
uint8_t bmp384_register_test(bmp384_interface_t interface, bmp384_address_t addr_pin)
register test
-
bmp384 handle structure definition
-
bmp384 information structure definition
-
float temperature_max
-
float supply_voltage_max_v
-
uint32_t driver_version
-
float temperature_min
-
float max_current_ma
-
char manufacturer_name[32]
-
float supply_voltage_min_v
-
char interface[8]
-
char chip_name[32]
+
uint8_t bmp384_get_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the iic watchdog timer status
+
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
+
bmp384_event_t
bmp384 event enumeration definition
+
uint8_t bmp384_get_addr_pin(bmp384_handle_t *handle, bmp384_address_t *addr_pin)
get the iic address pin
+
uint8_t bmp384_get_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t *wire)
get the spi wire
+
bmp384_mode_t
bmp384 mode enumeration definition
+
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
+
bmp384_interface_t
bmp384 interface enumeration definition
+
uint8_t bmp384_softreset(bmp384_handle_t *handle)
soft reset
+
uint8_t bmp384_get_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t *coefficient)
get the filter coefficient
+
uint8_t bmp384_extmode_en_middle(bmp384_handle_t *handle)
extmode enable middle
+
uint8_t bmp384_get_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
get the pressure oversampling
+
bmp384_fifo_data_source_t
bmp384 fifo data source enumeration definition
+
uint8_t bmp384_get_pressure(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the pressure status
+
uint8_t bmp384_get_status(bmp384_handle_t *handle, uint8_t *status)
get the status
+
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
+
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
+
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
+
bmp384_spi_wire_t
bmp384 spi wire enumeration definition
+
bmp384_bool_t
bmp384 bool enumeration definition
+
uint8_t bmp384_get_sensortime(bmp384_handle_t *handle, uint32_t *t)
get the sensor time
+
bmp384_interrupt_pin_type_t
bmp384 interrupt pin type enumeration definition
+
uint8_t bmp384_get_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
get the temperature oversampling
+
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
+
uint8_t bmp384_get_interface(bmp384_handle_t *handle, bmp384_interface_t *interface)
get the interface
+
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
+
uint8_t bmp384_get_event(bmp384_handle_t *handle, bmp384_event_t *event)
get the event
+
bmp384_odr_t
bmp384 output data rate enumeration definition
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
+
uint8_t bmp384_info(bmp384_info_t *info)
get chip's information
+
bmp384_filter_coefficient_t
bmp384 filter coefficient enumeration definition
+
uint8_t bmp384_get_mode(bmp384_handle_t *handle, bmp384_mode_t *mode)
get the chip mode
+
struct bmp384_info_s bmp384_info_t
bmp384 information structure definition
+
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
+
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
+
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
+
bmp384_iic_watchdog_period_t
bmp384 iic watchdog period enumeration definition
+
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
+
uint8_t bmp384_get_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t *period)
get the iic watchdog period
+
uint8_t bmp384_get_odr(bmp384_handle_t *handle, bmp384_odr_t *odr)
get the output data rate
+
bmp384_oversampling_t
bmp384 oversampling enumeration definition
+
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
+
struct bmp384_handle_s bmp384_handle_t
bmp384 handle structure definition
+
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
+
uint8_t bmp384_get_temperature(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the temperature status
+
uint8_t bmp384_get_error(bmp384_handle_t *handle, uint8_t *err)
get the error
+
bmp384_interrupt_active_level_t
bmp384 interrupt active level enumeration definition
+
@ BMP384_EVENT_NONE
+
@ BMP384_MODE_FORCED_MODE
+
@ BMP384_MODE_NORMAL_MODE
+
@ BMP384_MODE_SLEEP_MODE
+
@ BMP384_INTERFACE_SPI
+
@ BMP384_INTERFACE_IIC
+
@ BMP384_FIFO_DATA_SOURCE_UNFILTERED
+
@ BMP384_FIFO_DATA_SOURCE_FILTERED
+
@ BMP384_SPI_WIRE_3
+
@ BMP384_SPI_WIRE_4
+
@ BMP384_BOOL_TRUE
+
@ BMP384_BOOL_FALSE
+
@ BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
+
@ BMP384_INTERRUPT_PIN_TYPE_OPEN_DRAIN
+
@ BMP384_ODR_6P25_HZ
+
@ BMP384_ODR_1P5_HZ
+
@ BMP384_ODR_100_HZ
+
@ BMP384_ODR_50_HZ
+
@ BMP384_ODR_0P003_HZ
+
@ BMP384_ODR_0P78_HZ
+
@ BMP384_ODR_0P05_HZ
+
@ BMP384_ODR_12P5_HZ
+
@ BMP384_ODR_0P006_HZ
+
@ BMP384_ODR_25_HZ
+
@ BMP384_ODR_0P02_HZ
+
@ BMP384_ODR_200_HZ
+
@ BMP384_ODR_0P39_HZ
+
@ BMP384_ODR_3P1_HZ
+
@ BMP384_ODR_0P2_HZ
+
@ BMP384_ODR_0P1_HZ
+
@ BMP384_ODR_0P01_HZ
+
@ BMP384_ODR_0P0015_HZ
+
@ BMP384_ADDRESS_ADO_LOW
+
@ BMP384_ADDRESS_ADO_HIGH
+
@ BMP384_FILTER_COEFFICIENT_31
+
@ BMP384_FILTER_COEFFICIENT_63
+
@ BMP384_FILTER_COEFFICIENT_127
+
@ BMP384_FILTER_COEFFICIENT_7
+
@ BMP384_FILTER_COEFFICIENT_15
+
@ BMP384_FILTER_COEFFICIENT_0
+
@ BMP384_FILTER_COEFFICIENT_3
+
@ BMP384_FILTER_COEFFICIENT_1
+
@ BMP384_IIC_WATCHDOG_PERIOD_1P25_MS
+
@ BMP384_IIC_WATCHDOG_PERIOD_40_MS
+
@ BMP384_OVERSAMPLING_x1
+
@ BMP384_OVERSAMPLING_x32
+
@ BMP384_OVERSAMPLING_x2
+
@ BMP384_OVERSAMPLING_x16
+
@ BMP384_OVERSAMPLING_x4
+
@ BMP384_OVERSAMPLING_x8
+
@ BMP384_INTERRUPT_ACTIVE_LEVEL_LOWER
+
@ BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
+
uint8_t bmp384_get_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo pressure on status
+
uint8_t bmp384_set_fifo_pressure_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo pressure on
+
uint8_t bmp384_set_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
set the fifo data source
+
uint8_t bmp384_get_fifo_length(bmp384_handle_t *handle, uint16_t *length)
get the fifo length
+
uint8_t bmp384_set_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo stopping on full
+
uint8_t bmp384_set_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo sensor time on
+
uint8_t bmp384_get_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo temperature on status
+
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
+
uint8_t bmp384_get_fifo(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo status
+
uint8_t bmp384_get_fifo_stop_on_full(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo stopping on full status
+
uint8_t bmp384_get_fifo_sensortime_on(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the fifo sensor time on status
+
uint8_t bmp384_flush_fifo(bmp384_handle_t *handle)
flush the fifo
+
uint8_t bmp384_set_fifo_temperature_on(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo temperature on
+
uint8_t bmp384_get_fifo_data_source(bmp384_handle_t *handle, bmp384_fifo_data_source_t *source)
get the fifo data source
+
uint8_t bmp384_get_fifo_watermark(bmp384_handle_t *handle, uint16_t *watermark)
get the fifo watermark
+
uint8_t bmp384_set_fifo_watermark(bmp384_handle_t *handle, uint16_t watermark)
set the fifo watermark
+
uint8_t bmp384_get_fifo_data(bmp384_handle_t *handle, uint8_t *data, uint16_t length)
get the fifo data
+
uint8_t bmp384_set_fifo_subsampling(bmp384_handle_t *handle, uint8_t subsample)
set the fifo subsampling
+
uint8_t bmp384_get_fifo_subsampling(bmp384_handle_t *handle, uint8_t *subsample)
get the fifo subsampling
+
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
+
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
+
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
+
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
+
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
+
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
+
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
+
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
+
void bmp384_interface_receive_callback(uint8_t type)
interface receive callback
+
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
+
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
+
uint8_t bmp384_set_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
set the interrupt pin type
+
uint8_t bmp384_get_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t *level)
get the interrupt active level
+
uint8_t bmp384_set_interrupt_active_level(bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
set the interrupt active level
+
uint8_t bmp384_get_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt fifo full
+
uint8_t bmp384_get_interrupt_status(bmp384_handle_t *handle, uint8_t *status)
get the interrupt status
+
uint8_t bmp384_set_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the data ready interrupt
+
uint8_t bmp384_get_interrupt_pin_type(bmp384_handle_t *handle, bmp384_interrupt_pin_type_t *pin_type)
get the interrupt pin type
+
uint8_t bmp384_get_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt fifo watermark
+
uint8_t bmp384_set_interrupt_fifo_full(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo full interrupt
+
uint8_t bmp384_get_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t *enable)
get latching interrupt pin and interrupt status
+
uint8_t bmp384_set_interrupt_fifo_watermark(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo watermark interrupt
+
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable latching interrupt pin and interrupt status
+
uint8_t bmp384_get_interrupt_data_ready(bmp384_handle_t *handle, bmp384_bool_t *enable)
get the interrupt data ready status
+ + + + + + + + + + + + +
uint8_t bmp384_register_test(bmp384_interface_t interface, bmp384_address_t addr_pin)
register test
+ +
float supply_voltage_max_v
+
uint32_t driver_version
+ + +
char manufacturer_name[32]
+
float supply_voltage_min_v
+ +
char chip_name[32]
+
diff --git a/doc/html/driver__bmp384__register__test_8h.html b/doc/html/driver__bmp384__register__test_8h.html index 4d5cbf7..95fcfb6 100644 --- a/doc/html/driver__bmp384__register__test_8h.html +++ b/doc/html/driver__bmp384__register__test_8h.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_register_test.h File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_register_test.h File Reference
+
driver_bmp384_register_test.h File Reference

driver bmp384 register test header file More...

+Include dependency graph for driver_bmp384_register_test.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+

Go to the source code of this file.

- - - - + +

+

Functions

uint8_t bmp384_register_test (bmp384_interface_t interface, bmp384_address_t addr_pin)
 register test More...
 
uint8_t bmp384_register_test (bmp384_interface_t interface, bmp384_address_t addr_pin)
 register test
-

Detailed Description

+

Detailed Description

driver bmp384 register test header file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -124,11 +137,19 @@

history

Definition in file driver_bmp384_register_test.h.

+ +
diff --git a/doc/html/driver__bmp384__register__test_8h__dep__incl.md5 b/doc/html/driver__bmp384__register__test_8h__dep__incl.md5 new file mode 100644 index 0000000..75a7406 --- /dev/null +++ b/doc/html/driver__bmp384__register__test_8h__dep__incl.md5 @@ -0,0 +1 @@ +5aecbf8a12b5857f73cdefdadfec94ae \ No newline at end of file diff --git a/doc/html/driver__bmp384__register__test_8h__dep__incl.svg b/doc/html/driver__bmp384__register__test_8h__dep__incl.svg new file mode 100644 index 0000000..488c341 --- /dev/null +++ b/doc/html/driver__bmp384__register__test_8h__dep__incl.svg @@ -0,0 +1,41 @@ + + + + + + +test/driver_bmp384_register_test.h + + +Node1 + + +test/driver_bmp384 +_register_test.h + + + + + +Node2 + + +test/driver_bmp384 +_register_test.c + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/driver__bmp384__register__test_8h__incl.md5 b/doc/html/driver__bmp384__register__test_8h__incl.md5 new file mode 100644 index 0000000..b6adc3f --- /dev/null +++ b/doc/html/driver__bmp384__register__test_8h__incl.md5 @@ -0,0 +1 @@ +d9fa47e5e68764ca820520afc96f7704 \ No newline at end of file diff --git a/doc/html/driver__bmp384__register__test_8h__incl.svg b/doc/html/driver__bmp384__register__test_8h__incl.svg new file mode 100644 index 0000000..3ffaf23 --- /dev/null +++ b/doc/html/driver__bmp384__register__test_8h__incl.svg @@ -0,0 +1,112 @@ + + + + + + +test/driver_bmp384_register_test.h + + +Node1 + + +test/driver_bmp384 +_register_test.h + + + + + +Node2 + + +driver_bmp384_interface.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +stdint.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdio.h + + + + + +Node3->Node5 + + + + + + + + +Node6 + + +string.h + + + + + +Node3->Node6 + + + + + + + + diff --git a/doc/html/driver__bmp384__register__test_8h_source.html b/doc/html/driver__bmp384__register__test_8h_source.html index 930a617..f06562c 100644 --- a/doc/html/driver__bmp384__register__test_8h_source.html +++ b/doc/html/driver__bmp384__register__test_8h_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: test/driver_bmp384_register_test.h Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_register_test.h
+
driver_bmp384_register_test.h
-Go to the documentation of this file.
1 
-
37 #ifndef DRIVER_BMP384_REGISTER_TEST_H
-
38 #define DRIVER_BMP384_REGISTER_TEST_H
-
39 
- -
41 
-
42 #ifdef __cplusplus
-
43 extern "C"{
-
44 #endif
-
45 
-
62 uint8_t bmp384_register_test(bmp384_interface_t interface, bmp384_address_t addr_pin);
-
63 
-
68 #ifdef __cplusplus
-
69 }
-
70 #endif
-
71 
-
72 #endif
+Go to the documentation of this file.
1
+
36
+
37#ifndef DRIVER_BMP384_REGISTER_TEST_H
+
38#define DRIVER_BMP384_REGISTER_TEST_H
+
39
+ +
41
+
42#ifdef __cplusplus
+
43extern "C"{
+
44#endif
+
45
+
52
+ +
63
+
67
+
68#ifdef __cplusplus
+
69}
+
70#endif
+
71
+
72#endif
driver bmp384 interface header file
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_register_test(bmp384_interface_t interface, bmp384_address_t addr_pin)
register test
+
bmp384_interface_t
bmp384 interface enumeration definition
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_register_test(bmp384_interface_t interface, bmp384_address_t addr_pin)
register test
+
diff --git a/doc/html/driver__bmp384__shot_8c.html b/doc/html/driver__bmp384__shot_8c.html index ff3bf0f..90d1db4 100644 --- a/doc/html/driver__bmp384__shot_8c.html +++ b/doc/html/driver__bmp384__shot_8c.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_shot.c File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_shot.c File Reference
+
driver_bmp384_shot.c File Reference

driver bmp384 shot source file More...

+Include dependency graph for driver_bmp384_shot.c:
+
+
+

Go to the source code of this file.

- - - - - - - - - - + + + + + +

+

Functions

uint8_t bmp384_shot_init (bmp384_interface_t interface, bmp384_address_t addr_pin)
 shot example init More...
 
uint8_t bmp384_shot_read (float *temperature_c, float *pressure_pa)
 shot example read More...
 
uint8_t bmp384_shot_deinit (void)
 shot example deinit More...
 
uint8_t bmp384_shot_init (bmp384_interface_t interface, bmp384_address_t addr_pin)
 shot example init
uint8_t bmp384_shot_read (float *temperature_c, float *pressure_pa)
 shot example read
uint8_t bmp384_shot_deinit (void)
 shot example deinit
-

Detailed Description

+

Detailed Description

driver bmp384 shot source file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -130,11 +136,19 @@

history

Definition in file driver_bmp384_shot.c.

+ +
diff --git a/doc/html/driver__bmp384__shot_8c__incl.md5 b/doc/html/driver__bmp384__shot_8c__incl.md5 new file mode 100644 index 0000000..c21e709 --- /dev/null +++ b/doc/html/driver__bmp384__shot_8c__incl.md5 @@ -0,0 +1 @@ +c61d01115e2a67bb2ae86e5fc1451222 \ No newline at end of file diff --git a/doc/html/driver__bmp384__shot_8c__incl.svg b/doc/html/driver__bmp384__shot_8c__incl.svg new file mode 100644 index 0000000..51eb977 --- /dev/null +++ b/doc/html/driver__bmp384__shot_8c__incl.svg @@ -0,0 +1,130 @@ + + + + + + +example/driver_bmp384_shot.c + + +Node1 + + +example/driver_bmp384 +_shot.c + + + + + +Node2 + + +driver_bmp384_shot.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384_interface.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +driver_bmp384.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdint.h + + + + + +Node4->Node5 + + + + + + + + +Node6 + + +stdio.h + + + + + +Node4->Node6 + + + + + + + + +Node7 + + +string.h + + + + + +Node4->Node7 + + + + + + + + diff --git a/doc/html/driver__bmp384__shot_8c_source.html b/doc/html/driver__bmp384__shot_8c_source.html index 340ea7f..9b98a2a 100644 --- a/doc/html/driver__bmp384__shot_8c_source.html +++ b/doc/html/driver__bmp384__shot_8c_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_shot.c Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_shot.c
+
driver_bmp384_shot.c
-Go to the documentation of this file.
1 
-
37 #include "driver_bmp384_shot.h"
-
38 
-
39 static bmp384_handle_t gs_handle;
- -
51 {
-
52  uint8_t res;
-
53 
-
54  /* link functions */
- - - - - - - - - - - - -
67 
-
68  /* set interface */
-
69  res = bmp384_set_interface(&gs_handle, interface);
-
70  if (res != 0)
-
71  {
-
72  bmp384_interface_debug_print("bmp384: set interface failed.\n");
-
73 
-
74  return 1;
-
75  }
-
76 
-
77  /* set addr pin */
-
78  res = bmp384_set_addr_pin(&gs_handle, addr_pin);
-
79  if (res != 0)
-
80  {
-
81  bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
-
82 
-
83  return 1;
-
84  }
-
85 
-
86  /* bmp384 init */
-
87  res = bmp384_init(&gs_handle);
-
88  if (res != 0)
-
89  {
-
90  bmp384_interface_debug_print("bmp384: init failed.\n");
-
91 
-
92  return 1;
-
93  }
-
94 
-
95  /* set default spi wire */
- -
97  if (res != 0)
-
98  {
-
99  bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
-
100  (void)bmp384_deinit(&gs_handle);
-
101 
-
102  return 1;
-
103  }
-
104 
-
105  /* set default iic watchdog timer */
- -
107  if (res != 0)
-
108  {
-
109  bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
-
110  (void)bmp384_deinit(&gs_handle);
-
111 
-
112  return 1;
-
113  }
-
114 
-
115  /* set default iic watchdog period */
- -
117  if (res != 0)
-
118  {
-
119  bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
-
120  (void)bmp384_deinit(&gs_handle);
-
121 
-
122  return 1;
-
123  }
-
124 
-
125  /* disable fifo */
-
126  res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_FALSE);
-
127  if (res != 0)
-
128  {
-
129  bmp384_interface_debug_print("bmp384: set fifo failed.\n");
-
130  (void)bmp384_deinit(&gs_handle);
-
131 
-
132  return 1;
-
133  }
-
134 
-
135  /* set default pressure */
- -
137  if (res != 0)
-
138  {
-
139  bmp384_interface_debug_print("bmp384: set pressure failed.\n");
-
140  (void)bmp384_deinit(&gs_handle);
-
141 
-
142  return 1;
-
143  }
-
144 
-
145  /* set default temperature */
- -
147  if (res != 0)
-
148  {
-
149  bmp384_interface_debug_print("bmp384: set temperature failed.\n");
-
150  (void)bmp384_deinit(&gs_handle);
-
151 
-
152  return 1;
-
153  }
-
154 
-
155  /* set default pressure oversampling */
- -
157  if (res != 0)
-
158  {
-
159  bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
-
160  (void)bmp384_deinit(&gs_handle);
-
161 
-
162  return 1;
-
163  }
-
164 
-
165  /* set default temperature oversampling */
- -
167  if (res != 0)
-
168  {
-
169  bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
-
170  (void)bmp384_deinit(&gs_handle);
-
171 
-
172  return 1;
-
173  }
-
174 
-
175  /* set default odr */
-
176  res = bmp384_set_odr(&gs_handle, BMP384_SHOT_DEFAULT_ODR);
-
177  if (res != 0)
-
178  {
-
179  bmp384_interface_debug_print("bmp384: set odr failed.\n");
-
180  (void)bmp384_deinit(&gs_handle);
-
181 
-
182  return 1;
-
183  }
-
184 
-
185  /* set default filter coefficient */
- -
187  if (res != 0)
-
188  {
-
189  bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
-
190  (void)bmp384_deinit(&gs_handle);
-
191 
-
192  return 1;
-
193  }
-
194 
-
195  /* set forced mode */
-
196  res = bmp384_set_mode(&gs_handle, BMP384_MODE_FORCED_MODE);
-
197  if (res != 0)
-
198  {
-
199  bmp384_interface_debug_print("bmp384: set mode failed.\n");
-
200  (void)bmp384_deinit(&gs_handle);
-
201 
-
202  return 1;
-
203  }
-
204 
-
205  return 0;
-
206 }
-
207 
-
217 uint8_t bmp384_shot_read(float *temperature_c, float *pressure_pa)
-
218 {
-
219  uint32_t temperature_raw;
-
220  uint32_t pressure_raw;
-
221 
-
222  /* read temperature and pressure */
-
223  if (bmp384_read_temperature_pressure(&gs_handle, (uint32_t *)&temperature_raw, temperature_c,
-
224  (uint32_t *)&pressure_raw, pressure_pa) != 0)
-
225  {
-
226  return 1;
-
227  }
-
228 
-
229  return 0;
-
230 }
-
231 
-
239 uint8_t bmp384_shot_deinit(void)
-
240 {
-
241  /* close bmp384 */
-
242  if (bmp384_deinit(&gs_handle) != 0)
-
243  {
-
244  return 1;
-
245  }
-
246 
-
247  return 0;
-
248 }
+Go to the documentation of this file.
1
+
36
+
37#include "driver_bmp384_shot.h"
+
38
+
39static bmp384_handle_t gs_handle;
+
40
+
+ +
51{
+
52 uint8_t res;
+
53
+
54 /* link functions */
+ + + + + + + + + + + + +
67
+
68 /* set interface */
+
69 res = bmp384_set_interface(&gs_handle, interface);
+
70 if (res != 0)
+
71 {
+
72 bmp384_interface_debug_print("bmp384: set interface failed.\n");
+
73
+
74 return 1;
+
75 }
+
76
+
77 /* set addr pin */
+
78 res = bmp384_set_addr_pin(&gs_handle, addr_pin);
+
79 if (res != 0)
+
80 {
+
81 bmp384_interface_debug_print("bmp384: set addr pin failed.\n");
+
82
+
83 return 1;
+
84 }
+
85
+
86 /* bmp384 init */
+
87 res = bmp384_init(&gs_handle);
+
88 if (res != 0)
+
89 {
+
90 bmp384_interface_debug_print("bmp384: init failed.\n");
+
91
+
92 return 1;
+
93 }
+
94
+
95 /* set default spi wire */
+ +
97 if (res != 0)
+
98 {
+
99 bmp384_interface_debug_print("bmp384: set spi wire failed.\n");
+
100 (void)bmp384_deinit(&gs_handle);
+
101
+
102 return 1;
+
103 }
+
104
+
105 /* set default iic watchdog timer */
+ +
107 if (res != 0)
+
108 {
+
109 bmp384_interface_debug_print("bmp384: set iic watchdog timer failed.\n");
+
110 (void)bmp384_deinit(&gs_handle);
+
111
+
112 return 1;
+
113 }
+
114
+
115 /* set default iic watchdog period */
+ +
117 if (res != 0)
+
118 {
+
119 bmp384_interface_debug_print("bmp384: set iic watchdog period failed.\n");
+
120 (void)bmp384_deinit(&gs_handle);
+
121
+
122 return 1;
+
123 }
+
124
+
125 /* disable fifo */
+
126 res = bmp384_set_fifo(&gs_handle, BMP384_BOOL_FALSE);
+
127 if (res != 0)
+
128 {
+
129 bmp384_interface_debug_print("bmp384: set fifo failed.\n");
+
130 (void)bmp384_deinit(&gs_handle);
+
131
+
132 return 1;
+
133 }
+
134
+
135 /* set default pressure */
+ +
137 if (res != 0)
+
138 {
+
139 bmp384_interface_debug_print("bmp384: set pressure failed.\n");
+
140 (void)bmp384_deinit(&gs_handle);
+
141
+
142 return 1;
+
143 }
+
144
+
145 /* set default temperature */
+ +
147 if (res != 0)
+
148 {
+
149 bmp384_interface_debug_print("bmp384: set temperature failed.\n");
+
150 (void)bmp384_deinit(&gs_handle);
+
151
+
152 return 1;
+
153 }
+
154
+
155 /* set default pressure oversampling */
+ +
157 if (res != 0)
+
158 {
+
159 bmp384_interface_debug_print("bmp384: set pressure oversampling failed.\n");
+
160 (void)bmp384_deinit(&gs_handle);
+
161
+
162 return 1;
+
163 }
+
164
+
165 /* set default temperature oversampling */
+ +
167 if (res != 0)
+
168 {
+
169 bmp384_interface_debug_print("bmp384: set temperature oversampling failed.\n");
+
170 (void)bmp384_deinit(&gs_handle);
+
171
+
172 return 1;
+
173 }
+
174
+
175 /* set default odr */
+
176 res = bmp384_set_odr(&gs_handle, BMP384_SHOT_DEFAULT_ODR);
+
177 if (res != 0)
+
178 {
+
179 bmp384_interface_debug_print("bmp384: set odr failed.\n");
+
180 (void)bmp384_deinit(&gs_handle);
+
181
+
182 return 1;
+
183 }
+
184
+
185 /* set default filter coefficient */
+ +
187 if (res != 0)
+
188 {
+
189 bmp384_interface_debug_print("bmp384: set filter coefficient failed.\n");
+
190 (void)bmp384_deinit(&gs_handle);
+
191
+
192 return 1;
+
193 }
+
194
+
195 /* set forced mode */
+
196 res = bmp384_set_mode(&gs_handle, BMP384_MODE_FORCED_MODE);
+
197 if (res != 0)
+
198 {
+
199 bmp384_interface_debug_print("bmp384: set mode failed.\n");
+
200 (void)bmp384_deinit(&gs_handle);
+
201
+
202 return 1;
+
203 }
+
204
+
205 return 0;
+
206}
+
+
207
+
+
217uint8_t bmp384_shot_read(float *temperature_c, float *pressure_pa)
+
218{
+
219 uint32_t temperature_raw;
+
220 uint32_t pressure_raw;
+
221
+
222 /* read temperature and pressure */
+
223 if (bmp384_read_temperature_pressure(&gs_handle, (uint32_t *)&temperature_raw, temperature_c,
+
224 (uint32_t *)&pressure_raw, pressure_pa) != 0)
+
225 {
+
226 return 1;
+
227 }
+
228
+
229 return 0;
+
230}
+
+
231
+
+ +
240{
+
241 /* close bmp384 */
+
242 if (bmp384_deinit(&gs_handle) != 0)
+
243 {
+
244 return 1;
+
245 }
+
246
+
247 return 0;
+
248}
+
driver bmp384 shot header file
-
uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
read the temperature and pressure
-
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
-
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
-
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
-
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
-
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
-
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
-
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
-
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
-
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
-
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
-
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
-
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
-
@ BMP384_MODE_FORCED_MODE
-
@ BMP384_BOOL_FALSE
Definition: driver_bmp384.h:82
-
uint8_t bmp384_shot_deinit(void)
shot example deinit
-
uint8_t bmp384_shot_read(float *temperature_c, float *pressure_pa)
shot example read
-
#define BMP384_SHOT_DEFAULT_PRESSURE_OVERSAMPLING
-
#define BMP384_SHOT_DEFAULT_PRESSURE
-
#define BMP384_SHOT_DEFAULT_SPI_WIRE
bmp384 shot example default definition
-
#define BMP384_SHOT_DEFAULT_TEMPERATURE
-
#define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_TIMER
-
#define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_PERIOD
-
#define BMP384_SHOT_DEFAULT_TEMPERATURE_OVERSAMPLING
-
uint8_t bmp384_shot_init(bmp384_interface_t interface, bmp384_address_t addr_pin)
shot example init
-
#define BMP384_SHOT_DEFAULT_ODR
-
#define BMP384_SHOT_DEFAULT_FILTER_COEFFICIENT
-
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
-
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
-
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
-
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
-
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
-
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
-
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
-
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
-
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
-
void bmp384_interface_receive_callback(uint8_t type)
interface receive callback
-
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
-
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
- - - - - - - - - - - - -
bmp384 handle structure definition
+
uint8_t bmp384_read_temperature_pressure(bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
read the temperature and pressure
+
uint8_t bmp384_deinit(bmp384_handle_t *handle)
close the chip
+
uint8_t bmp384_set_addr_pin(bmp384_handle_t *handle, bmp384_address_t addr_pin)
set the iic address pin
+
bmp384_interface_t
bmp384 interface enumeration definition
+
uint8_t bmp384_set_interface(bmp384_handle_t *handle, bmp384_interface_t interface)
set the interface
+
uint8_t bmp384_set_pressure(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the pressure
+
uint8_t bmp384_set_temperature(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the temperature
+
uint8_t bmp384_set_pressure_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the pressure oversampling
+
uint8_t bmp384_set_iic_watchdog_timer(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the iic watchdog timer
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_set_filter_coefficient(bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
set the filter coefficient
+
uint8_t bmp384_set_spi_wire(bmp384_handle_t *handle, bmp384_spi_wire_t wire)
set the spi wire
+
uint8_t bmp384_set_mode(bmp384_handle_t *handle, bmp384_mode_t mode)
set the chip mode
+
uint8_t bmp384_init(bmp384_handle_t *handle)
initialize the chip
+
uint8_t bmp384_set_iic_watchdog_period(bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
set the iic watchdog period
+
uint8_t bmp384_set_temperature_oversampling(bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
set the temperature oversampling
+
struct bmp384_handle_s bmp384_handle_t
bmp384 handle structure definition
+
uint8_t bmp384_set_odr(bmp384_handle_t *handle, bmp384_odr_t odr)
set the output data rate
+
@ BMP384_MODE_FORCED_MODE
+
@ BMP384_BOOL_FALSE
+
uint8_t bmp384_shot_deinit(void)
shot example deinit
+
uint8_t bmp384_shot_read(float *temperature_c, float *pressure_pa)
shot example read
+
#define BMP384_SHOT_DEFAULT_PRESSURE_OVERSAMPLING
+
#define BMP384_SHOT_DEFAULT_PRESSURE
+
#define BMP384_SHOT_DEFAULT_SPI_WIRE
bmp384 shot example default definition
+
#define BMP384_SHOT_DEFAULT_TEMPERATURE
+
#define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_TIMER
+
#define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_PERIOD
+
#define BMP384_SHOT_DEFAULT_TEMPERATURE_OVERSAMPLING
+
uint8_t bmp384_shot_init(bmp384_interface_t interface, bmp384_address_t addr_pin)
shot example init
+
#define BMP384_SHOT_DEFAULT_ODR
+
#define BMP384_SHOT_DEFAULT_FILTER_COEFFICIENT
+
uint8_t bmp384_set_fifo(bmp384_handle_t *handle, bmp384_bool_t enable)
enable or disable the fifo
+
uint8_t bmp384_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
+
void bmp384_interface_debug_print(const char *const fmt,...)
interface print format data
+
uint8_t bmp384_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
+
void bmp384_interface_delay_ms(uint32_t ms)
interface delay ms
+
uint8_t bmp384_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
+
uint8_t bmp384_interface_iic_init(void)
interface iic bus init
+
uint8_t bmp384_interface_spi_init(void)
interface spi bus init
+
uint8_t bmp384_interface_spi_deinit(void)
interface spi bus deinit
+
void bmp384_interface_receive_callback(uint8_t type)
interface receive callback
+
uint8_t bmp384_interface_iic_deinit(void)
interface iic bus deinit
+
uint8_t bmp384_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
+ + + + + + + + + + + +
+
diff --git a/doc/html/driver__bmp384__shot_8h.html b/doc/html/driver__bmp384__shot_8h.html index 7cb0827..9ec4fdd 100644 --- a/doc/html/driver__bmp384__shot_8h.html +++ b/doc/html/driver__bmp384__shot_8h.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_shot.h File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
driver_bmp384_shot.h File Reference
+
driver_bmp384_shot.h File Reference

driver bmp384 shot header file More...

+Include dependency graph for driver_bmp384_shot.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - + + + + + + + + + +

+

Macros

#define BMP384_SHOT_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 shot example default definition More...
 
#define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_TRUE
 
#define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_40_MS
 
#define BMP384_SHOT_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
 
#define BMP384_SHOT_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
 
#define BMP384_SHOT_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
 
#define BMP384_SHOT_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
 
#define BMP384_SHOT_DEFAULT_ODR   BMP384_ODR_12P5_HZ
 
#define BMP384_SHOT_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
 
#define BMP384_SHOT_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 shot example default definition
#define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_TRUE
#define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_40_MS
#define BMP384_SHOT_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
#define BMP384_SHOT_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
#define BMP384_SHOT_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
#define BMP384_SHOT_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
#define BMP384_SHOT_DEFAULT_ODR   BMP384_ODR_12P5_HZ
#define BMP384_SHOT_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
- - - - - - - - - - + + + + + +

+

Functions

uint8_t bmp384_shot_init (bmp384_interface_t interface, bmp384_address_t addr_pin)
 shot example init More...
 
uint8_t bmp384_shot_deinit (void)
 shot example deinit More...
 
uint8_t bmp384_shot_read (float *temperature_c, float *pressure_pa)
 shot example read More...
 
uint8_t bmp384_shot_init (bmp384_interface_t interface, bmp384_address_t addr_pin)
 shot example init
uint8_t bmp384_shot_deinit (void)
 shot example deinit
uint8_t bmp384_shot_read (float *temperature_c, float *pressure_pa)
 shot example read
-

Detailed Description

+

Detailed Description

driver bmp384 shot header file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

@@ -153,11 +154,19 @@

history

Definition in file driver_bmp384_shot.h.

+ +
diff --git a/doc/html/driver__bmp384__shot_8h__dep__incl.md5 b/doc/html/driver__bmp384__shot_8h__dep__incl.md5 new file mode 100644 index 0000000..c5c8c63 --- /dev/null +++ b/doc/html/driver__bmp384__shot_8h__dep__incl.md5 @@ -0,0 +1 @@ +9717b7eb873257d5b421318b98681ea1 \ No newline at end of file diff --git a/doc/html/driver__bmp384__shot_8h__dep__incl.svg b/doc/html/driver__bmp384__shot_8h__dep__incl.svg new file mode 100644 index 0000000..ebee8d0 --- /dev/null +++ b/doc/html/driver__bmp384__shot_8h__dep__incl.svg @@ -0,0 +1,41 @@ + + + + + + +example/driver_bmp384_shot.h + + +Node1 + + +example/driver_bmp384 +_shot.h + + + + + +Node2 + + +example/driver_bmp384 +_shot.c + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/driver__bmp384__shot_8h__incl.md5 b/doc/html/driver__bmp384__shot_8h__incl.md5 new file mode 100644 index 0000000..d84c7c3 --- /dev/null +++ b/doc/html/driver__bmp384__shot_8h__incl.md5 @@ -0,0 +1 @@ +a7fc7a9c73ab23f88bddbf8d75ac4dbd \ No newline at end of file diff --git a/doc/html/driver__bmp384__shot_8h__incl.svg b/doc/html/driver__bmp384__shot_8h__incl.svg new file mode 100644 index 0000000..462399d --- /dev/null +++ b/doc/html/driver__bmp384__shot_8h__incl.svg @@ -0,0 +1,112 @@ + + + + + + +example/driver_bmp384_shot.h + + +Node1 + + +example/driver_bmp384 +_shot.h + + + + + +Node2 + + +driver_bmp384_interface.h + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +driver_bmp384.h + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +stdint.h + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +stdio.h + + + + + +Node3->Node5 + + + + + + + + +Node6 + + +string.h + + + + + +Node3->Node6 + + + + + + + + diff --git a/doc/html/driver__bmp384__shot_8h_source.html b/doc/html/driver__bmp384__shot_8h_source.html index 99e79f7..99a5d95 100644 --- a/doc/html/driver__bmp384__shot_8h_source.html +++ b/doc/html/driver__bmp384__shot_8h_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: example/driver_bmp384_shot.h Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
driver_bmp384_shot.h
+
driver_bmp384_shot.h
-Go to the documentation of this file.
1 
-
37 #ifndef DRIVER_BMP384_SHOT_H
-
38 #define DRIVER_BMP384_SHOT_H
-
39 
- -
41 
-
42 #ifdef __cplusplus
-
43 extern "C"{
-
44 #endif
-
45 
-
54 #define BMP384_SHOT_DEFAULT_SPI_WIRE BMP384_SPI_WIRE_4
-
55 #define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_TIMER BMP384_BOOL_TRUE
-
56 #define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_PERIOD BMP384_IIC_WATCHDOG_PERIOD_40_MS
-
57 #define BMP384_SHOT_DEFAULT_PRESSURE BMP384_BOOL_TRUE
-
58 #define BMP384_SHOT_DEFAULT_TEMPERATURE BMP384_BOOL_TRUE
-
59 #define BMP384_SHOT_DEFAULT_PRESSURE_OVERSAMPLING BMP384_OVERSAMPLING_x32
-
60 #define BMP384_SHOT_DEFAULT_TEMPERATURE_OVERSAMPLING BMP384_OVERSAMPLING_x2
-
61 #define BMP384_SHOT_DEFAULT_ODR BMP384_ODR_12P5_HZ
-
62 #define BMP384_SHOT_DEFAULT_FILTER_COEFFICIENT BMP384_FILTER_COEFFICIENT_15
-
73 uint8_t bmp384_shot_init(bmp384_interface_t interface, bmp384_address_t addr_pin);
-
74 
-
82 uint8_t bmp384_shot_deinit(void);
-
83 
-
93 uint8_t bmp384_shot_read(float *temperature_c, float *pressure_pa);
-
94 
-
99 #ifdef __cplusplus
-
100 }
-
101 #endif
-
102 
-
103 #endif
+Go to the documentation of this file.
1
+
36
+
37#ifndef DRIVER_BMP384_SHOT_H
+
38#define DRIVER_BMP384_SHOT_H
+
39
+ +
41
+
42#ifdef __cplusplus
+
43extern "C"{
+
44#endif
+
45
+
50
+
54#define BMP384_SHOT_DEFAULT_SPI_WIRE BMP384_SPI_WIRE_4
+
55#define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_TIMER BMP384_BOOL_TRUE
+
56#define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_PERIOD BMP384_IIC_WATCHDOG_PERIOD_40_MS
+
57#define BMP384_SHOT_DEFAULT_PRESSURE BMP384_BOOL_TRUE
+
58#define BMP384_SHOT_DEFAULT_TEMPERATURE BMP384_BOOL_TRUE
+
59#define BMP384_SHOT_DEFAULT_PRESSURE_OVERSAMPLING BMP384_OVERSAMPLING_x32
+
60#define BMP384_SHOT_DEFAULT_TEMPERATURE_OVERSAMPLING BMP384_OVERSAMPLING_x2
+
61#define BMP384_SHOT_DEFAULT_ODR BMP384_ODR_12P5_HZ
+
62#define BMP384_SHOT_DEFAULT_FILTER_COEFFICIENT BMP384_FILTER_COEFFICIENT_15
+
63
+
73uint8_t bmp384_shot_init(bmp384_interface_t interface, bmp384_address_t addr_pin);
+
74
+
82uint8_t bmp384_shot_deinit(void);
+
83
+
93uint8_t bmp384_shot_read(float *temperature_c, float *pressure_pa);
+
94
+
98
+
99#ifdef __cplusplus
+
100}
+
101#endif
+
102
+
103#endif
driver bmp384 interface header file
-
bmp384_interface_t
bmp384 interface enumeration definition
Definition: driver_bmp384.h:63
-
bmp384_address_t
bmp384 address enumeration definition
Definition: driver_bmp384.h:72
-
uint8_t bmp384_shot_deinit(void)
shot example deinit
-
uint8_t bmp384_shot_read(float *temperature_c, float *pressure_pa)
shot example read
-
uint8_t bmp384_shot_init(bmp384_interface_t interface, bmp384_address_t addr_pin)
shot example init
+
bmp384_interface_t
bmp384 interface enumeration definition
+
bmp384_address_t
bmp384 address enumeration definition
+
uint8_t bmp384_shot_deinit(void)
shot example deinit
+
uint8_t bmp384_shot_read(float *temperature_c, float *pressure_pa)
shot example read
+
uint8_t bmp384_shot_init(bmp384_interface_t interface, bmp384_address_t addr_pin)
shot example init
+
diff --git a/doc/html/dynsections.js b/doc/html/dynsections.js index 88f2c27..d89724e 100644 --- a/doc/html/dynsections.js +++ b/doc/html/dynsections.js @@ -22,107 +22,177 @@ @licend The above is the entire license notice for the JavaScript code in this file */ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); +function toggleVisibility(linkObj) { + return dynsection.toggleVisibility(linkObj); } -function toggleLevel(level) -{ - $('table.directory tr').each(function() { - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l'); + // add vertical lines to other rows + $('span[class=lineno]').not(':eq(0)').append(''); + // add toggle controls to lines with fold divs + $('div[class=foldopen]').each(function() { + // extract specific id to use + const id = $(this).attr('id').replace('foldopen',''); + // extract start and end foldable fragment attributes + const start = $(this).attr('data-start'); + const end = $(this).attr('data-end'); + // replace normal fold span with controls for the first line of a foldable fragment + $(this).find('span[class=fold]:first').replaceWith(''); + // append div for folded (closed) representation + $(this).after(''); + // extract the first line from the "open" section to represent closed content + const line = $(this).children().first().clone(); + // remove any glow that might still be active on the original line + $(line).removeClass('glow'); + if (start) { + // if line already ends with a start marker (e.g. trailing {), remove it + $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); + } + // replace minus with plus symbol + $(line).find('span[class=fold]').addClass('plus').removeClass('minus'); + // append ellipsis + $(line).append(' '+start+''+end); + // insert constructed line into closed div + $('#foldclosed'+id).html(line); + }); + }, +}; /* @license-end */ - -$(document).ready(function() { +$(function() { $('.code,.codeRef').each(function() { $(this).data('powertip',$('#a'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html()); + $.fn.powerTip.smartPlacementLists.s = [ 's', 'n', 'ne', 'se' ]; $(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true }); }); }); diff --git a/doc/html/favicon.svg b/doc/html/favicon.svg new file mode 100644 index 0000000..7ab3ea8 --- /dev/null +++ b/doc/html/favicon.svg @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/doc/html/files.html b/doc/html/files.html index eb97824..fcb9c6e 100644 --- a/doc/html/files.html +++ b/doc/html/files.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: File List + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
File List
+
File List
Here is a list of all files with brief descriptions:
-
[detail level 123]
- - - - - - - - - - - - - - - - - - - - - - - - - - - +
[detail level 123]
  doc
  mainpage
 mainpage.h
  example
 driver_bmp384_basic.cDriver bmp384 basic source file
 driver_bmp384_basic.hDriver bmp384 basic header file
 driver_bmp384_fifo.cDriver bmp384 fifo source file
 driver_bmp384_fifo.hDriver bmp384 fifo header file
 driver_bmp384_interrupt.cDriver bmp384 interrupt source file
 driver_bmp384_interrupt.hDriver bmp384 interrupt header file
 driver_bmp384_shot.cDriver bmp384 shot source file
 driver_bmp384_shot.hDriver bmp384 shot header file
  interface
 driver_bmp384_interface.hDriver bmp384 interface header file
 driver_bmp384_interface_template.cDriver bmp384 interface template source file
  src
 driver_bmp384.cDriver bmp384 source file
 driver_bmp384.hDriver bmp384 header file
  test
 driver_bmp384_fifo_test.cDriver bmp384 fifo test source file
 driver_bmp384_fifo_test.hDriver bmp384 fifo test header file
 driver_bmp384_interrupt_test.c
 driver_bmp384_interrupt_test.hDriver bmp384 interrupt test header file
 driver_bmp384_read_test.cDriver bmp384 read test source file
 driver_bmp384_read_test.hDriver bmp384 read test header file
 driver_bmp384_register_test.cDriver bmp384 register test source file
 driver_bmp384_register_test.hDriver bmp384 register test header file
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
 
doc
 
mainpage
 
mainpage.h
 
example
 
driver_bmp384_basic.c
Driver bmp384 basic source file
 
driver_bmp384_basic.h
Driver bmp384 basic header file
 
driver_bmp384_fifo.c
Driver bmp384 fifo source file
 
driver_bmp384_fifo.h
Driver bmp384 fifo header file
 
driver_bmp384_interrupt.c
Driver bmp384 interrupt source file
 
driver_bmp384_interrupt.h
Driver bmp384 interrupt header file
 
driver_bmp384_shot.c
Driver bmp384 shot source file
 
driver_bmp384_shot.h
Driver bmp384 shot header file
 
interface
 
driver_bmp384_interface.h
Driver bmp384 interface header file
 
driver_bmp384_interface_template.c
Driver bmp384 interface template source file
 
src
 
driver_bmp384.c
Driver bmp384 source file
 
driver_bmp384.h
Driver bmp384 header file
 
test
 
driver_bmp384_fifo_test.c
Driver bmp384 fifo test source file
 
driver_bmp384_fifo_test.h
Driver bmp384 fifo test header file
 
driver_bmp384_interrupt_test.c
 
driver_bmp384_interrupt_test.h
Driver bmp384 interrupt test header file
 
driver_bmp384_read_test.c
Driver bmp384 read test source file
 
driver_bmp384_read_test.h
Driver bmp384 read test header file
 
driver_bmp384_register_test.c
Driver bmp384 register test source file
 
driver_bmp384_register_test.h
Driver bmp384 register test header file
+
diff --git a/doc/html/folderclosed.png b/doc/html/folderclosed.png deleted file mode 100644 index bb8ab35edce8e97554e360005ee9fc5bffb36e66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA diff --git a/doc/html/functions.html b/doc/html/functions.html index 7a2d29d..d1ac38f 100644 --- a/doc/html/functions.html +++ b/doc/html/functions.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: Data Fields + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
-

- b -

+
diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html index b3c03fc..35362aa 100644 --- a/doc/html/functions_vars.html +++ b/doc/html/functions_vars.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: Data Fields - Variables + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all variables with links to the structures/unions they belong to:
-

- b -

+
diff --git a/doc/html/globals.html b/doc/html/globals.html index 5ca78f7..7702f9d 100644 --- a/doc/html/globals.html +++ b/doc/html/globals.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: Globals + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
-

- b -

+
diff --git a/doc/html/globals_c.html b/doc/html/globals_c.html index 0a7f6bb..730d69c 100644 --- a/doc/html/globals_c.html +++ b/doc/html/globals_c.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: Globals + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
-

- c -

+
diff --git a/doc/html/globals_d.html b/doc/html/globals_d.html index f397109..3ac6b47 100644 --- a/doc/html/globals_d.html +++ b/doc/html/globals_d.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: Globals + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
-

- d -

+
diff --git a/doc/html/globals_defs.html b/doc/html/globals_defs.html index f3cd542..240dffc 100644 --- a/doc/html/globals_defs.html +++ b/doc/html/globals_defs.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: Globals + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all macros with links to the files they belong to:
-

- b -

+
diff --git a/doc/html/globals_enum.html b/doc/html/globals_enum.html index e5e16e8..19cf7d5 100644 --- a/doc/html/globals_enum.html +++ b/doc/html/globals_enum.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: Globals + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
diff --git a/doc/html/globals_eval.html b/doc/html/globals_eval.html index ac79404..34117ad 100644 --- a/doc/html/globals_eval.html +++ b/doc/html/globals_eval.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: Globals + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all enum values with links to the files they belong to:
-

- b -

+
diff --git a/doc/html/globals_func.html b/doc/html/globals_func.html index 937c6ca..6896796 100644 --- a/doc/html/globals_func.html +++ b/doc/html/globals_func.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: Globals + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all functions with links to the files they belong to:
-

- b -

+
diff --git a/doc/html/globals_m.html b/doc/html/globals_m.html index 3e5eae1..0efd49b 100644 --- a/doc/html/globals_m.html +++ b/doc/html/globals_m.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: Globals + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
-

- m -

+
diff --git a/doc/html/globals_s.html b/doc/html/globals_s.html index 4f1341b..dd89bd9 100644 --- a/doc/html/globals_s.html +++ b/doc/html/globals_s.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: Globals + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
-

- s -

+
diff --git a/doc/html/globals_t.html b/doc/html/globals_t.html index 11e5e0b..a942caa 100644 --- a/doc/html/globals_t.html +++ b/doc/html/globals_t.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: Globals + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
-

- t -

+
diff --git a/doc/html/globals_type.html b/doc/html/globals_type.html index 0afb94b..5068b9c 100644 --- a/doc/html/globals_type.html +++ b/doc/html/globals_type.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: Globals + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
diff --git a/doc/html/graph_legend.html b/doc/html/graph_legend.html new file mode 100644 index 0000000..93b19cb --- /dev/null +++ b/doc/html/graph_legend.html @@ -0,0 +1,167 @@ + + + + + + + +LibDriver BMP384: Graph Legend + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
LibDriver BMP384 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

/*! Invisible class because of truncation */
+
class Invisible { };
+
+
/*! Truncated class, inheritance relation is hidden */
+
class Truncated : public Invisible { };
+
+
/* Class not documented with doxygen comments */
+
class Undocumented { };
+
+
/*! Class that is inherited using public inheritance */
+
class PublicBase : public Truncated { };
+
+
/*! A template class */
+
template<class T> class Templ { };
+
+
/*! Class that is inherited using protected inheritance */
+
class ProtectedBase { };
+
+
/*! Class that is inherited using private inheritance */
+
class PrivateBase { };
+
+
/*! Class that is used by the Inherited class */
+
class Used { };
+
+
/*! Super class that inherits a number of other classes */
+
class Inherited : public PublicBase,
+
protected ProtectedBase,
+
private PrivateBase,
+
public Undocumented,
+
public Templ<int>
+
{
+
private:
+
Used *m_usedClass;
+
};
+

This will result in the following graph:

+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a gray border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
  • +
+
+
+
+ + + + diff --git a/doc/html/graph_legend.md5 b/doc/html/graph_legend.md5 new file mode 100644 index 0000000..da515da --- /dev/null +++ b/doc/html/graph_legend.md5 @@ -0,0 +1 @@ +f74606a252eb303675caf37987d0b7af \ No newline at end of file diff --git a/doc/html/graph_legend.svg b/doc/html/graph_legend.svg new file mode 100644 index 0000000..8cf264a --- /dev/null +++ b/doc/html/graph_legend.svg @@ -0,0 +1,167 @@ + + + + + + +Graph Legend + + +Node9 + + +Inherited + + + + + +Node10 + + +PublicBase + + + + + +Node10->Node9 + + + + + + + + +Node11 + + +Truncated + + + + + +Node11->Node10 + + + + + + + + +Node13 + + +ProtectedBase + + + + + +Node13->Node9 + + + + + + + + +Node14 + + +PrivateBase + + + + + +Node14->Node9 + + + + + + + + +Node15 + + +Undocumented + + + + + +Node15->Node9 + + + + + + + + +Node16 + + +Templ< int > + + + + + +Node16->Node9 + + + + + + + + +Node17 + + +Templ< T > + + + + + +Node17->Node16 + + + + + +< int > + + + +Node18 + + +Used + + + + + +Node18->Node9 + + + + + +m_usedClass + + + diff --git a/doc/html/group__bmp384__base__driver.html b/doc/html/group__bmp384__base__driver.html index eff3e55..59ef03b 100644 --- a/doc/html/group__bmp384__base__driver.html +++ b/doc/html/group__bmp384__base__driver.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: bmp384 base driver function + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
bmp384 base driver function
+
bmp384 base driver function

bmp384 base driver modules More...

+
+Collaboration diagram for bmp384 base driver function:
+
+
+
- - + - - + - - + -

+

Data Structures

struct  bmp384_frame_s
struct  bmp384_frame_s
 bmp384 frame structure definition More...
 
struct  bmp384_handle_s
struct  bmp384_handle_s
 bmp384 handle structure definition More...
 
struct  bmp384_info_s
struct  bmp384_info_s
 bmp384 information structure definition More...
 
- - - - - - - - - - + + + + + +

+

Typedefs

typedef struct bmp384_frame_s bmp384_frame_t
 bmp384 frame structure definition More...
 
typedef struct bmp384_handle_s bmp384_handle_t
 bmp384 handle structure definition More...
 
typedef struct bmp384_info_s bmp384_info_t
 bmp384 information structure definition More...
 
typedef struct bmp384_frame_s bmp384_frame_t
 bmp384 frame structure definition
typedef struct bmp384_handle_s bmp384_handle_t
 bmp384 handle structure definition
typedef struct bmp384_info_s bmp384_info_t
 bmp384 information structure definition
- - - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - +

+

Enumerations

enum  bmp384_interface_t { BMP384_INTERFACE_IIC = 0x00 -, BMP384_INTERFACE_SPI = 0x01 +
enum  bmp384_interface_t { BMP384_INTERFACE_IIC = 0x00 +, BMP384_INTERFACE_SPI = 0x01 }
 bmp384 interface enumeration definition More...
 
enum  bmp384_address_t { BMP384_ADDRESS_ADO_LOW = (0x76 << 1) -, BMP384_ADDRESS_ADO_HIGH = (0x77 << 1) +
 bmp384 interface enumeration definition More...
enum  bmp384_address_t { BMP384_ADDRESS_ADO_LOW = (0x76 << 1) +, BMP384_ADDRESS_ADO_HIGH = (0x77 << 1) }
 bmp384 address enumeration definition More...
 
enum  bmp384_bool_t { BMP384_BOOL_FALSE = 0x00 -, BMP384_BOOL_TRUE = 0x01 +
 bmp384 address enumeration definition More...
enum  bmp384_bool_t { BMP384_BOOL_FALSE = 0x00 +, BMP384_BOOL_TRUE = 0x01 }
 bmp384 bool enumeration definition More...
 
enum  bmp384_error_t { BMP384_ERROR_FATAL = (1 << 0) -, BMP384_ERROR_CMD = (1 << 1) -, BMP384_ERROR_CONF = (1 << 2) +
 bmp384 bool enumeration definition More...
enum  bmp384_error_t { BMP384_ERROR_FATAL = (1 << 0) +, BMP384_ERROR_CMD = (1 << 1) +, BMP384_ERROR_CONF = (1 << 2) }
 bmp384 error enumeration definition More...
 
enum  bmp384_status_t { BMP384_STATUS_COMMAND_READY = (1 << 4) -, BMP384_STATUS_PRESS_READY = (1 << 5) -, BMP384_STATUS_TEMP_READY = (1 << 6) +
 bmp384 error enumeration definition More...
enum  bmp384_status_t { BMP384_STATUS_COMMAND_READY = (1 << 4) +, BMP384_STATUS_PRESS_READY = (1 << 5) +, BMP384_STATUS_TEMP_READY = (1 << 6) }
 bmp384 status enumeration definition More...
 
enum  bmp384_event_t { BMP384_EVENT_NONE = (0 << 0) -, BMP384_EVENT_POWER_UP_OR_SOFTRESET = (1 << 0) +
 bmp384 status enumeration definition More...
enum  bmp384_event_t { BMP384_EVENT_NONE = (0 << 0) +, BMP384_EVENT_POWER_UP_OR_SOFTRESET = (1 << 0) }
 bmp384 event enumeration definition More...
 
enum  bmp384_fifo_data_source_t { BMP384_FIFO_DATA_SOURCE_UNFILTERED = 0 -, BMP384_FIFO_DATA_SOURCE_FILTERED = 1 +
 bmp384 event enumeration definition More...
enum  bmp384_fifo_data_source_t { BMP384_FIFO_DATA_SOURCE_UNFILTERED = 0 +, BMP384_FIFO_DATA_SOURCE_FILTERED = 1 }
 bmp384 fifo data source enumeration definition More...
 
enum  bmp384_interrupt_status_t { BMP384_INTERRUPT_STATUS_FIFO_WATERMARK = (1 << 0) -, BMP384_INTERRUPT_STATUS_FIFO_FULL = (1 << 1) -, BMP384_INTERRUPT_STATUS_DATA_READY = (1 << 3) +
 bmp384 fifo data source enumeration definition More...
enum  bmp384_interrupt_status_t { BMP384_INTERRUPT_STATUS_FIFO_WATERMARK = (1 << 0) +, BMP384_INTERRUPT_STATUS_FIFO_FULL = (1 << 1) +, BMP384_INTERRUPT_STATUS_DATA_READY = (1 << 3) }
 bmp384 interrupt status enumeration definition More...
 
enum  bmp384_interrupt_active_level_t { BMP384_INTERRUPT_ACTIVE_LEVEL_LOWER = 0x00 -, BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER = 0x01 +
 bmp384 interrupt status enumeration definition More...
enum  bmp384_interrupt_active_level_t { BMP384_INTERRUPT_ACTIVE_LEVEL_LOWER = 0x00 +, BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER = 0x01 }
 bmp384 interrupt active level enumeration definition More...
 
enum  bmp384_interrupt_pin_type_t { BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL = 0x00 -, BMP384_INTERRUPT_PIN_TYPE_OPEN_DRAIN = 0x01 +
 bmp384 interrupt active level enumeration definition More...
enum  bmp384_interrupt_pin_type_t { BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL = 0x00 +, BMP384_INTERRUPT_PIN_TYPE_OPEN_DRAIN = 0x01 }
 bmp384 interrupt pin type enumeration definition More...
 
enum  bmp384_spi_wire_t { BMP384_SPI_WIRE_4 = 0x00 -, BMP384_SPI_WIRE_3 = 0x01 +
 bmp384 interrupt pin type enumeration definition More...
enum  bmp384_spi_wire_t { BMP384_SPI_WIRE_4 = 0x00 +, BMP384_SPI_WIRE_3 = 0x01 }
 bmp384 spi wire enumeration definition More...
 
enum  bmp384_iic_watchdog_period_t { BMP384_IIC_WATCHDOG_PERIOD_1P25_MS = 0x00 -, BMP384_IIC_WATCHDOG_PERIOD_40_MS = 0x01 +
 bmp384 spi wire enumeration definition More...
enum  bmp384_iic_watchdog_period_t { BMP384_IIC_WATCHDOG_PERIOD_1P25_MS = 0x00 +, BMP384_IIC_WATCHDOG_PERIOD_40_MS = 0x01 }
 bmp384 iic watchdog period enumeration definition More...
 
enum  bmp384_mode_t { BMP384_MODE_SLEEP_MODE = 0x00 -, BMP384_MODE_FORCED_MODE = 0x01 -, BMP384_MODE_NORMAL_MODE = 0x03 +
 bmp384 iic watchdog period enumeration definition More...
enum  bmp384_mode_t { BMP384_MODE_SLEEP_MODE = 0x00 +, BMP384_MODE_FORCED_MODE = 0x01 +, BMP384_MODE_NORMAL_MODE = 0x03 }
 bmp384 mode enumeration definition More...
 
enum  bmp384_oversampling_t {
-  BMP384_OVERSAMPLING_x1 = 0x00 -, BMP384_OVERSAMPLING_x2 = 0x01 -, BMP384_OVERSAMPLING_x4 = 0x02 -, BMP384_OVERSAMPLING_x8 = 0x03 +
 bmp384 mode enumeration definition More...
enum  bmp384_oversampling_t {
+  BMP384_OVERSAMPLING_x1 = 0x00 +, BMP384_OVERSAMPLING_x2 = 0x01 +, BMP384_OVERSAMPLING_x4 = 0x02 +, BMP384_OVERSAMPLING_x8 = 0x03 ,
-  BMP384_OVERSAMPLING_x16 = 0x04 -, BMP384_OVERSAMPLING_x32 = 0x05 +  BMP384_OVERSAMPLING_x16 = 0x04 +, BMP384_OVERSAMPLING_x32 = 0x05
}
 bmp384 oversampling enumeration definition More...
 
enum  bmp384_odr_t {
-  BMP384_ODR_200_HZ = 0x00 -, BMP384_ODR_100_HZ = 0x01 -, BMP384_ODR_50_HZ = 0x02 -, BMP384_ODR_25_HZ = 0x03 +
 bmp384 oversampling enumeration definition More...
enum  bmp384_odr_t {
+  BMP384_ODR_200_HZ = 0x00 +, BMP384_ODR_100_HZ = 0x01 +, BMP384_ODR_50_HZ = 0x02 +, BMP384_ODR_25_HZ = 0x03 ,
-  BMP384_ODR_12P5_HZ = 0x04 -, BMP384_ODR_6P25_HZ = 0x05 -, BMP384_ODR_3P1_HZ = 0x06 -, BMP384_ODR_1P5_HZ = 0x07 +  BMP384_ODR_12P5_HZ = 0x04 +, BMP384_ODR_6P25_HZ = 0x05 +, BMP384_ODR_3P1_HZ = 0x06 +, BMP384_ODR_1P5_HZ = 0x07 ,
-  BMP384_ODR_0P78_HZ = 0x08 -, BMP384_ODR_0P39_HZ = 0x09 -, BMP384_ODR_0P2_HZ = 0x0A -, BMP384_ODR_0P1_HZ = 0x0B +  BMP384_ODR_0P78_HZ = 0x08 +, BMP384_ODR_0P39_HZ = 0x09 +, BMP384_ODR_0P2_HZ = 0x0A +, BMP384_ODR_0P1_HZ = 0x0B ,
-  BMP384_ODR_0P05_HZ = 0x0C -, BMP384_ODR_0P02_HZ = 0x0D -, BMP384_ODR_0P01_HZ = 0x0E -, BMP384_ODR_0P006_HZ = 0x0F +  BMP384_ODR_0P05_HZ = 0x0C +, BMP384_ODR_0P02_HZ = 0x0D +, BMP384_ODR_0P01_HZ = 0x0E +, BMP384_ODR_0P006_HZ = 0x0F ,
-  BMP384_ODR_0P003_HZ = 0x10 -, BMP384_ODR_0P0015_HZ = 0x11 +  BMP384_ODR_0P003_HZ = 0x10 +, BMP384_ODR_0P0015_HZ = 0x11
}
 bmp384 output data rate enumeration definition More...
 
enum  bmp384_filter_coefficient_t {
-  BMP384_FILTER_COEFFICIENT_0 = 0x00 -, BMP384_FILTER_COEFFICIENT_1 = 0x01 -, BMP384_FILTER_COEFFICIENT_3 = 0x02 -, BMP384_FILTER_COEFFICIENT_7 = 0x03 +
 bmp384 output data rate enumeration definition More...
enum  bmp384_filter_coefficient_t {
+  BMP384_FILTER_COEFFICIENT_0 = 0x00 +, BMP384_FILTER_COEFFICIENT_1 = 0x01 +, BMP384_FILTER_COEFFICIENT_3 = 0x02 +, BMP384_FILTER_COEFFICIENT_7 = 0x03 ,
-  BMP384_FILTER_COEFFICIENT_15 = 0x04 -, BMP384_FILTER_COEFFICIENT_31 = 0x05 -, BMP384_FILTER_COEFFICIENT_63 = 0x06 -, BMP384_FILTER_COEFFICIENT_127 = 0x07 +  BMP384_FILTER_COEFFICIENT_15 = 0x04 +, BMP384_FILTER_COEFFICIENT_31 = 0x05 +, BMP384_FILTER_COEFFICIENT_63 = 0x06 +, BMP384_FILTER_COEFFICIENT_127 = 0x07
}
 bmp384 filter coefficient enumeration definition More...
 
enum  bmp384_frame_type_t { BMP384_FRAME_TYPE_TEMPERATURE = 0x01 -, BMP384_FRAME_TYPE_PRESSURE = 0x02 -, BMP384_FRAME_TYPE_SENSORTIME = 0x03 +
 bmp384 filter coefficient enumeration definition More...
enum  bmp384_frame_type_t { BMP384_FRAME_TYPE_TEMPERATURE = 0x01 +, BMP384_FRAME_TYPE_PRESSURE = 0x02 +, BMP384_FRAME_TYPE_SENSORTIME = 0x03 }
 bmp384 frame type enumeration definition More...
 
 bmp384 frame type enumeration definition More...
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+

Functions

uint8_t bmp384_info (bmp384_info_t *info)
 get chip's information More...
 
uint8_t bmp384_set_addr_pin (bmp384_handle_t *handle, bmp384_address_t addr_pin)
 set the iic address pin More...
 
uint8_t bmp384_get_addr_pin (bmp384_handle_t *handle, bmp384_address_t *addr_pin)
 get the iic address pin More...
 
uint8_t bmp384_set_interface (bmp384_handle_t *handle, bmp384_interface_t interface)
 set the interface More...
 
uint8_t bmp384_get_interface (bmp384_handle_t *handle, bmp384_interface_t *interface)
 get the interface More...
 
uint8_t bmp384_irq_handler (bmp384_handle_t *handle)
 irq handler More...
 
uint8_t bmp384_init (bmp384_handle_t *handle)
 initialize the chip More...
 
uint8_t bmp384_deinit (bmp384_handle_t *handle)
 close the chip More...
 
uint8_t bmp384_read_temperature_pressure (bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
 read the temperature and pressure More...
 
uint8_t bmp384_read_temperature (bmp384_handle_t *handle, uint32_t *raw, float *c)
 read the temperature More...
 
uint8_t bmp384_read_pressure (bmp384_handle_t *handle, uint32_t *raw, float *pa)
 read the pressure More...
 
uint8_t bmp384_get_error (bmp384_handle_t *handle, uint8_t *err)
 get the error More...
 
uint8_t bmp384_get_status (bmp384_handle_t *handle, uint8_t *status)
 get the status More...
 
uint8_t bmp384_get_sensortime (bmp384_handle_t *handle, uint32_t *t)
 get the sensor time More...
 
uint8_t bmp384_get_event (bmp384_handle_t *handle, bmp384_event_t *event)
 get the event More...
 
uint8_t bmp384_set_spi_wire (bmp384_handle_t *handle, bmp384_spi_wire_t wire)
 set the spi wire More...
 
uint8_t bmp384_get_spi_wire (bmp384_handle_t *handle, bmp384_spi_wire_t *wire)
 get the spi wire More...
 
uint8_t bmp384_set_iic_watchdog_timer (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the iic watchdog timer More...
 
uint8_t bmp384_get_iic_watchdog_timer (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the iic watchdog timer status More...
 
uint8_t bmp384_set_iic_watchdog_period (bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
 set the iic watchdog period More...
 
uint8_t bmp384_get_iic_watchdog_period (bmp384_handle_t *handle, bmp384_iic_watchdog_period_t *period)
 get the iic watchdog period More...
 
uint8_t bmp384_set_pressure (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the pressure More...
 
uint8_t bmp384_get_pressure (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the pressure status More...
 
uint8_t bmp384_set_temperature (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the temperature More...
 
uint8_t bmp384_get_temperature (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the temperature status More...
 
uint8_t bmp384_set_mode (bmp384_handle_t *handle, bmp384_mode_t mode)
 set the chip mode More...
 
uint8_t bmp384_get_mode (bmp384_handle_t *handle, bmp384_mode_t *mode)
 get the chip mode More...
 
uint8_t bmp384_set_pressure_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
 set the pressure oversampling More...
 
uint8_t bmp384_get_pressure_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
 get the pressure oversampling More...
 
uint8_t bmp384_set_temperature_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
 set the temperature oversampling More...
 
uint8_t bmp384_get_temperature_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
 get the temperature oversampling More...
 
uint8_t bmp384_set_odr (bmp384_handle_t *handle, bmp384_odr_t odr)
 set the output data rate More...
 
uint8_t bmp384_get_odr (bmp384_handle_t *handle, bmp384_odr_t *odr)
 get the output data rate More...
 
uint8_t bmp384_set_filter_coefficient (bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
 set the filter coefficient More...
 
uint8_t bmp384_get_filter_coefficient (bmp384_handle_t *handle, bmp384_filter_coefficient_t *coefficient)
 get the filter coefficient More...
 
uint8_t bmp384_softreset (bmp384_handle_t *handle)
 soft reset More...
 
uint8_t bmp384_extmode_en_middle (bmp384_handle_t *handle)
 extmode enable middle More...
 
uint8_t bmp384_info (bmp384_info_t *info)
 get chip's information
uint8_t bmp384_set_addr_pin (bmp384_handle_t *handle, bmp384_address_t addr_pin)
 set the iic address pin
uint8_t bmp384_get_addr_pin (bmp384_handle_t *handle, bmp384_address_t *addr_pin)
 get the iic address pin
uint8_t bmp384_set_interface (bmp384_handle_t *handle, bmp384_interface_t interface)
 set the interface
uint8_t bmp384_get_interface (bmp384_handle_t *handle, bmp384_interface_t *interface)
 get the interface
uint8_t bmp384_irq_handler (bmp384_handle_t *handle)
 irq handler
uint8_t bmp384_init (bmp384_handle_t *handle)
 initialize the chip
uint8_t bmp384_deinit (bmp384_handle_t *handle)
 close the chip
uint8_t bmp384_read_temperature_pressure (bmp384_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
 read the temperature and pressure
uint8_t bmp384_read_temperature (bmp384_handle_t *handle, uint32_t *raw, float *c)
 read the temperature
uint8_t bmp384_read_pressure (bmp384_handle_t *handle, uint32_t *raw, float *pa)
 read the pressure
uint8_t bmp384_get_error (bmp384_handle_t *handle, uint8_t *err)
 get the error
uint8_t bmp384_get_status (bmp384_handle_t *handle, uint8_t *status)
 get the status
uint8_t bmp384_get_sensortime (bmp384_handle_t *handle, uint32_t *t)
 get the sensor time
uint8_t bmp384_get_event (bmp384_handle_t *handle, bmp384_event_t *event)
 get the event
uint8_t bmp384_set_spi_wire (bmp384_handle_t *handle, bmp384_spi_wire_t wire)
 set the spi wire
uint8_t bmp384_get_spi_wire (bmp384_handle_t *handle, bmp384_spi_wire_t *wire)
 get the spi wire
uint8_t bmp384_set_iic_watchdog_timer (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the iic watchdog timer
uint8_t bmp384_get_iic_watchdog_timer (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the iic watchdog timer status
uint8_t bmp384_set_iic_watchdog_period (bmp384_handle_t *handle, bmp384_iic_watchdog_period_t period)
 set the iic watchdog period
uint8_t bmp384_get_iic_watchdog_period (bmp384_handle_t *handle, bmp384_iic_watchdog_period_t *period)
 get the iic watchdog period
uint8_t bmp384_set_pressure (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the pressure
uint8_t bmp384_get_pressure (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the pressure status
uint8_t bmp384_set_temperature (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the temperature
uint8_t bmp384_get_temperature (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the temperature status
uint8_t bmp384_set_mode (bmp384_handle_t *handle, bmp384_mode_t mode)
 set the chip mode
uint8_t bmp384_get_mode (bmp384_handle_t *handle, bmp384_mode_t *mode)
 get the chip mode
uint8_t bmp384_set_pressure_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
 set the pressure oversampling
uint8_t bmp384_get_pressure_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
 get the pressure oversampling
uint8_t bmp384_set_temperature_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t oversampling)
 set the temperature oversampling
uint8_t bmp384_get_temperature_oversampling (bmp384_handle_t *handle, bmp384_oversampling_t *oversampling)
 get the temperature oversampling
uint8_t bmp384_set_odr (bmp384_handle_t *handle, bmp384_odr_t odr)
 set the output data rate
uint8_t bmp384_get_odr (bmp384_handle_t *handle, bmp384_odr_t *odr)
 get the output data rate
uint8_t bmp384_set_filter_coefficient (bmp384_handle_t *handle, bmp384_filter_coefficient_t coefficient)
 set the filter coefficient
uint8_t bmp384_get_filter_coefficient (bmp384_handle_t *handle, bmp384_filter_coefficient_t *coefficient)
 get the filter coefficient
uint8_t bmp384_softreset (bmp384_handle_t *handle)
 soft reset
uint8_t bmp384_extmode_en_middle (bmp384_handle_t *handle)
 extmode enable middle
-

Detailed Description

+

Detailed Description

bmp384 base driver modules

-

Typedef Documentation

- -

◆ bmp384_frame_t

+

Typedef Documentation

+ +

◆ bmp384_frame_t

- +
typedef struct bmp384_frame_s bmp384_frame_ttypedef struct bmp384_frame_s bmp384_frame_t
@@ -385,14 +331,14 @@

-

◆ bmp384_handle_t

+ +

◆ bmp384_handle_t

@@ -401,14 +347,14 @@

-

◆ bmp384_info_t

+ +

◆ bmp384_info_t

- +
typedef struct bmp384_info_s bmp384_info_ttypedef struct bmp384_info_s bmp384_info_t
@@ -417,24 +363,24 @@

Enumeration Type Documentation

- -

◆ bmp384_address_t

+

Enumeration Type Documentation

+ +

◆ bmp384_address_t

bmp384 address enumeration definition

- -
Enumerator
BMP384_ADDRESS_ADO_LOW 

ADO is low

+
Enumerator
BMP384_ADDRESS_ADO_LOW 

ADO is low

BMP384_ADDRESS_ADO_HIGH 

ADO is HIGH

+
BMP384_ADDRESS_ADO_HIGH 

ADO is HIGH

@@ -442,23 +388,23 @@

-

◆ bmp384_bool_t

+ +

◆ bmp384_bool_t

bmp384 bool enumeration definition

- -
Enumerator
BMP384_BOOL_FALSE 

false

+
Enumerator
BMP384_BOOL_FALSE 

false

BMP384_BOOL_TRUE 

true

+
BMP384_BOOL_TRUE 

true

@@ -466,25 +412,25 @@

-

◆ bmp384_error_t

+ +

◆ bmp384_error_t

bmp384 error enumeration definition

- - -
Enumerator
BMP384_ERROR_FATAL 

fatal error

+
Enumerator
BMP384_ERROR_FATAL 

fatal error

BMP384_ERROR_CMD 

command error

+
BMP384_ERROR_CMD 

command error

BMP384_ERROR_CONF 

conf error

+
BMP384_ERROR_CONF 

conf error

@@ -492,23 +438,23 @@

-

◆ bmp384_event_t

+ +

◆ bmp384_event_t

bmp384 event enumeration definition

- -
Enumerator
BMP384_EVENT_NONE 

event none

+
Enumerator
BMP384_EVENT_NONE 

event none

BMP384_EVENT_POWER_UP_OR_SOFTRESET 

event power up or soft reset

+
BMP384_EVENT_POWER_UP_OR_SOFTRESET 

event power up or soft reset

@@ -516,23 +462,23 @@

-

◆ bmp384_fifo_data_source_t

+ +

◆ bmp384_fifo_data_source_t

bmp384 fifo data source enumeration definition

- -
Enumerator
BMP384_FIFO_DATA_SOURCE_UNFILTERED 

fifo data source unfiltered

+
Enumerator
BMP384_FIFO_DATA_SOURCE_UNFILTERED 

fifo data source unfiltered

BMP384_FIFO_DATA_SOURCE_FILTERED 

fifo data source filtered

+
BMP384_FIFO_DATA_SOURCE_FILTERED 

fifo data source filtered

@@ -540,35 +486,35 @@

-

◆ bmp384_filter_coefficient_t

+ +

◆ bmp384_filter_coefficient_t

bmp384 filter coefficient enumeration definition

- - - - - - - -
Enumerator
BMP384_FILTER_COEFFICIENT_0 

coefficient 0

+
Enumerator
BMP384_FILTER_COEFFICIENT_0 

coefficient 0

BMP384_FILTER_COEFFICIENT_1 

coefficient 1

+
BMP384_FILTER_COEFFICIENT_1 

coefficient 1

BMP384_FILTER_COEFFICIENT_3 

coefficient 3

+
BMP384_FILTER_COEFFICIENT_3 

coefficient 3

BMP384_FILTER_COEFFICIENT_7 

coefficient 7

+
BMP384_FILTER_COEFFICIENT_7 

coefficient 7

BMP384_FILTER_COEFFICIENT_15 

coefficient 15

+
BMP384_FILTER_COEFFICIENT_15 

coefficient 15

BMP384_FILTER_COEFFICIENT_31 

coefficient 31

+
BMP384_FILTER_COEFFICIENT_31 

coefficient 31

BMP384_FILTER_COEFFICIENT_63 

coefficient 63

+
BMP384_FILTER_COEFFICIENT_63 

coefficient 63

BMP384_FILTER_COEFFICIENT_127 

coefficient 127

+
BMP384_FILTER_COEFFICIENT_127 

coefficient 127

@@ -576,25 +522,25 @@

-

◆ bmp384_frame_type_t

+ +

◆ bmp384_frame_type_t

bmp384 frame type enumeration definition

- - -
Enumerator
BMP384_FRAME_TYPE_TEMPERATURE 

temperature frame type

+
Enumerator
BMP384_FRAME_TYPE_TEMPERATURE 

temperature frame type

BMP384_FRAME_TYPE_PRESSURE 

pressure frame type

+
BMP384_FRAME_TYPE_PRESSURE 

pressure frame type

BMP384_FRAME_TYPE_SENSORTIME 

sensor time frame type

+
BMP384_FRAME_TYPE_SENSORTIME 

sensor time frame type

@@ -602,23 +548,23 @@

-

◆ bmp384_iic_watchdog_period_t

+ +

◆ bmp384_iic_watchdog_period_t

bmp384 iic watchdog period enumeration definition

- -
Enumerator
BMP384_IIC_WATCHDOG_PERIOD_1P25_MS 

iic watchdog period 1.25 ms

+
Enumerator
BMP384_IIC_WATCHDOG_PERIOD_1P25_MS 

iic watchdog period 1.25 ms

BMP384_IIC_WATCHDOG_PERIOD_40_MS 

iic watchdog period 40 ms

+
BMP384_IIC_WATCHDOG_PERIOD_40_MS 

iic watchdog period 40 ms

@@ -626,23 +572,23 @@

-

◆ bmp384_interface_t

+ +

◆ bmp384_interface_t

bmp384 interface enumeration definition

- -
Enumerator
BMP384_INTERFACE_IIC 

iic interface

+
Enumerator
BMP384_INTERFACE_IIC 

iic interface

BMP384_INTERFACE_SPI 

spi interface

+
BMP384_INTERFACE_SPI 

spi interface

@@ -650,23 +596,23 @@

-

◆ bmp384_interrupt_active_level_t

+ +

◆ bmp384_interrupt_active_level_t

bmp384 interrupt active level enumeration definition

- -
Enumerator
BMP384_INTERRUPT_ACTIVE_LEVEL_LOWER 

active level lower

+
Enumerator
BMP384_INTERRUPT_ACTIVE_LEVEL_LOWER 

active level lower

BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER 

active level higher

+
BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER 

active level higher

@@ -674,23 +620,23 @@

-

◆ bmp384_interrupt_pin_type_t

+ +

◆ bmp384_interrupt_pin_type_t

bmp384 interrupt pin type enumeration definition

- -
Enumerator
BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL 

push pull pin type

+
Enumerator
BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL 

push pull pin type

BMP384_INTERRUPT_PIN_TYPE_OPEN_DRAIN 

open drain pin type

+
BMP384_INTERRUPT_PIN_TYPE_OPEN_DRAIN 

open drain pin type

@@ -698,25 +644,25 @@

-

◆ bmp384_interrupt_status_t

+ +

◆ bmp384_interrupt_status_t

bmp384 interrupt status enumeration definition

- - -
Enumerator
BMP384_INTERRUPT_STATUS_FIFO_WATERMARK 

fifo watermark interrupt status

+
Enumerator
BMP384_INTERRUPT_STATUS_FIFO_WATERMARK 

fifo watermark interrupt status

BMP384_INTERRUPT_STATUS_FIFO_FULL 

fifo full interrupt status

+
BMP384_INTERRUPT_STATUS_FIFO_FULL 

fifo full interrupt status

BMP384_INTERRUPT_STATUS_DATA_READY 

data ready interrupt status

+
BMP384_INTERRUPT_STATUS_DATA_READY 

data ready interrupt status

@@ -724,25 +670,25 @@

-

◆ bmp384_mode_t

+ +

◆ bmp384_mode_t

bmp384 mode enumeration definition

- - -
Enumerator
BMP384_MODE_SLEEP_MODE 

sleep mode

+
Enumerator
BMP384_MODE_SLEEP_MODE 

sleep mode

BMP384_MODE_FORCED_MODE 

forced mode

+
BMP384_MODE_FORCED_MODE 

forced mode

BMP384_MODE_NORMAL_MODE 

normal mode

+
BMP384_MODE_NORMAL_MODE 

normal mode

@@ -750,55 +696,55 @@

-

◆ bmp384_odr_t

+ +

◆ bmp384_odr_t

- +
enum bmp384_odr_tenum bmp384_odr_t

bmp384 output data rate enumeration definition

- - - - - - - - - - - - - - - - - -
Enumerator
BMP384_ODR_200_HZ 

200Hz

+
Enumerator
BMP384_ODR_200_HZ 

200Hz

BMP384_ODR_100_HZ 

100Hz

+
BMP384_ODR_100_HZ 

100Hz

BMP384_ODR_50_HZ 

50Hz

+
BMP384_ODR_50_HZ 

50Hz

BMP384_ODR_25_HZ 

25Hz

+
BMP384_ODR_25_HZ 

25Hz

BMP384_ODR_12P5_HZ 

12.5Hz

+
BMP384_ODR_12P5_HZ 

12.5Hz

BMP384_ODR_6P25_HZ 

6.25Hz

+
BMP384_ODR_6P25_HZ 

6.25Hz

BMP384_ODR_3P1_HZ 

3.1Hz

+
BMP384_ODR_3P1_HZ 

3.1Hz

BMP384_ODR_1P5_HZ 

1.5Hz

+
BMP384_ODR_1P5_HZ 

1.5Hz

BMP384_ODR_0P78_HZ 

0.78Hz

+
BMP384_ODR_0P78_HZ 

0.78Hz

BMP384_ODR_0P39_HZ 

0.39Hz

+
BMP384_ODR_0P39_HZ 

0.39Hz

BMP384_ODR_0P2_HZ 

0.2Hz

+
BMP384_ODR_0P2_HZ 

0.2Hz

BMP384_ODR_0P1_HZ 

0.1Hz

+
BMP384_ODR_0P1_HZ 

0.1Hz

BMP384_ODR_0P05_HZ 

0.05Hz

+
BMP384_ODR_0P05_HZ 

0.05Hz

BMP384_ODR_0P02_HZ 

0.02Hz

+
BMP384_ODR_0P02_HZ 

0.02Hz

BMP384_ODR_0P01_HZ 

0.01Hz

+
BMP384_ODR_0P01_HZ 

0.01Hz

BMP384_ODR_0P006_HZ 

0.006Hz

+
BMP384_ODR_0P006_HZ 

0.006Hz

BMP384_ODR_0P003_HZ 

0.003Hz

+
BMP384_ODR_0P003_HZ 

0.003Hz

BMP384_ODR_0P0015_HZ 

0.0015Hz

+
BMP384_ODR_0P0015_HZ 

0.0015Hz

@@ -806,31 +752,31 @@

-

◆ bmp384_oversampling_t

+ +

◆ bmp384_oversampling_t

bmp384 oversampling enumeration definition

- - - - - -
Enumerator
BMP384_OVERSAMPLING_x1 

oversampling x1

+
Enumerator
BMP384_OVERSAMPLING_x1 

oversampling x1

BMP384_OVERSAMPLING_x2 

oversampling x2

+
BMP384_OVERSAMPLING_x2 

oversampling x2

BMP384_OVERSAMPLING_x4 

oversampling x4

+
BMP384_OVERSAMPLING_x4 

oversampling x4

BMP384_OVERSAMPLING_x8 

oversampling x8

+
BMP384_OVERSAMPLING_x8 

oversampling x8

BMP384_OVERSAMPLING_x16 

oversampling x16

+
BMP384_OVERSAMPLING_x16 

oversampling x16

BMP384_OVERSAMPLING_x32 

oversampling x32

+
BMP384_OVERSAMPLING_x32 

oversampling x32

@@ -838,23 +784,23 @@

-

◆ bmp384_spi_wire_t

+ +

◆ bmp384_spi_wire_t

bmp384 spi wire enumeration definition

- -
Enumerator
BMP384_SPI_WIRE_4 

4 wire

+
Enumerator
BMP384_SPI_WIRE_4 

4 wire

BMP384_SPI_WIRE_3 

3 wire

+
BMP384_SPI_WIRE_3 

3 wire

@@ -862,25 +808,25 @@

-

◆ bmp384_status_t

+ +

◆ bmp384_status_t

bmp384 status enumeration definition

- - -
Enumerator
BMP384_STATUS_COMMAND_READY 

command ready status

+
Enumerator
BMP384_STATUS_COMMAND_READY 

command ready status

BMP384_STATUS_PRESS_READY 

press ready status

+
BMP384_STATUS_PRESS_READY 

press ready status

BMP384_STATUS_TEMP_READY 

temp ready status

+
BMP384_STATUS_TEMP_READY 

temp ready status

@@ -888,9 +834,9 @@

Function Documentation

- -

◆ bmp384_deinit()

+

Function Documentation

+ +

◆ bmp384_deinit()

@@ -898,8 +844,7 @@

uint8_t bmp384_deinit ( - bmp384_handle_t *  - handle) + bmp384_handle_t * handle) @@ -926,8 +871,8 @@

-

◆ bmp384_extmode_en_middle()

+ +

◆ bmp384_extmode_en_middle()

@@ -935,8 +880,7 @@

uint8_t bmp384_extmode_en_middle ( - bmp384_handle_t *  - handle) + bmp384_handle_t * handle) @@ -962,8 +906,8 @@

-

◆ bmp384_get_addr_pin()

+ +

◆ bmp384_get_addr_pin()

@@ -971,19 +915,12 @@

uint8_t bmp384_get_addr_pin ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_address_t *  - addr_pin  - - - - ) - + bmp384_address_t * addr_pin )

@@ -1007,8 +944,8 @@

-

◆ bmp384_get_error()

+ +

◆ bmp384_get_error()

@@ -1016,19 +953,12 @@

uint8_t bmp384_get_error ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint8_t *  - err  - - - - ) - + uint8_t * err )

@@ -1054,8 +984,8 @@

-

◆ bmp384_get_event()

+ +

◆ bmp384_get_event()

@@ -1063,19 +993,12 @@

uint8_t bmp384_get_event ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_event_t *  - event  - - - - ) - + bmp384_event_t * event )

@@ -1101,8 +1024,8 @@

-

◆ bmp384_get_filter_coefficient()

+ +

◆ bmp384_get_filter_coefficient()

@@ -1110,19 +1033,12 @@

uint8_t bmp384_get_filter_coefficient ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_filter_coefficient_t *  - coefficient  - - - - ) - + bmp384_filter_coefficient_t * coefficient )

@@ -1148,8 +1064,8 @@

-

◆ bmp384_get_iic_watchdog_period()

+ +

◆ bmp384_get_iic_watchdog_period()

@@ -1157,19 +1073,12 @@

uint8_t bmp384_get_iic_watchdog_period ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_iic_watchdog_period_t *  - period  - - - - ) - + bmp384_iic_watchdog_period_t * period )

@@ -1195,8 +1104,8 @@

-

◆ bmp384_get_iic_watchdog_timer()

+ +

◆ bmp384_get_iic_watchdog_timer()

@@ -1204,19 +1113,12 @@

uint8_t bmp384_get_iic_watchdog_timer ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t *  - enable  - - - - ) - + bmp384_bool_t * enable )

@@ -1242,8 +1144,8 @@

-

◆ bmp384_get_interface()

+ +

◆ bmp384_get_interface()

@@ -1251,19 +1153,12 @@

uint8_t bmp384_get_interface ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_interface_t *  - interface  - - - - ) - + bmp384_interface_t * interface )

@@ -1287,8 +1182,8 @@

-

◆ bmp384_get_mode()

+ +

◆ bmp384_get_mode()

@@ -1296,19 +1191,12 @@

uint8_t bmp384_get_mode ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_mode_t *  - mode  - - - - ) - + bmp384_mode_t * mode )

@@ -1334,8 +1222,8 @@

-

◆ bmp384_get_odr()

+ +

◆ bmp384_get_odr()

@@ -1343,19 +1231,12 @@

uint8_t bmp384_get_odr ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_odr_t *  - odr  - - - - ) - + bmp384_odr_t * odr )

@@ -1381,8 +1262,8 @@

-

◆ bmp384_get_pressure()

+ +

◆ bmp384_get_pressure()

@@ -1390,19 +1271,12 @@

uint8_t bmp384_get_pressure ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t *  - enable  - - - - ) - + bmp384_bool_t * enable )

@@ -1428,8 +1302,8 @@

-

◆ bmp384_get_pressure_oversampling()

+ +

◆ bmp384_get_pressure_oversampling()

@@ -1437,19 +1311,12 @@

uint8_t bmp384_get_pressure_oversampling ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_oversampling_t *  - oversampling  - - - - ) - + bmp384_oversampling_t * oversampling )

@@ -1475,8 +1342,8 @@

-

◆ bmp384_get_sensortime()

+ +

◆ bmp384_get_sensortime()

@@ -1484,19 +1351,12 @@

uint8_t bmp384_get_sensortime ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint32_t *  - t  - - - - ) - + uint32_t * t )

@@ -1522,8 +1382,8 @@

-

◆ bmp384_get_spi_wire()

+ +

◆ bmp384_get_spi_wire()

@@ -1531,19 +1391,12 @@

uint8_t bmp384_get_spi_wire ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_spi_wire_t *  - wire  - - - - ) - + bmp384_spi_wire_t * wire )

@@ -1569,8 +1422,8 @@

-

◆ bmp384_get_status()

+ +

◆ bmp384_get_status()

@@ -1578,19 +1431,12 @@

uint8_t bmp384_get_status ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint8_t *  - status  - - - - ) - + uint8_t * status )

@@ -1616,8 +1462,8 @@

-

◆ bmp384_get_temperature()

+ +

◆ bmp384_get_temperature()

@@ -1625,19 +1471,12 @@

uint8_t bmp384_get_temperature ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t *  - enable  - - - - ) - + bmp384_bool_t * enable )

@@ -1663,8 +1502,8 @@

-

◆ bmp384_get_temperature_oversampling()

+ +

◆ bmp384_get_temperature_oversampling()

@@ -1672,19 +1511,12 @@

uint8_t bmp384_get_temperature_oversampling ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_oversampling_t *  - oversampling  - - - - ) - + bmp384_oversampling_t * oversampling )

@@ -1710,8 +1542,8 @@

-

◆ bmp384_info()

+ +

◆ bmp384_info()

@@ -1719,8 +1551,7 @@

uint8_t bmp384_info ( - bmp384_info_t *  - info) + bmp384_info_t * info) @@ -1744,8 +1575,8 @@

-

◆ bmp384_init()

+ +

◆ bmp384_init()

@@ -1753,8 +1584,7 @@

uint8_t bmp384_init ( - bmp384_handle_t *  - handle) + bmp384_handle_t * handle) @@ -1783,8 +1613,8 @@

-

◆ bmp384_irq_handler()

+ +

◆ bmp384_irq_handler()

@@ -1792,8 +1622,7 @@

uint8_t bmp384_irq_handler ( - bmp384_handle_t *  - handle) + bmp384_handle_t * handle) @@ -1819,8 +1648,8 @@

-

◆ bmp384_read_pressure()

+ +

◆ bmp384_read_pressure()

@@ -1828,25 +1657,17 @@

uint8_t bmp384_read_pressure ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint32_t *  - raw, + uint32_t * raw, - float *  - pa  - - - - ) - + float * pa )

@@ -1873,8 +1694,8 @@

-

◆ bmp384_read_temperature()

+ +

◆ bmp384_read_temperature()

@@ -1882,25 +1703,17 @@

uint8_t bmp384_read_temperature ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint32_t *  - raw, + uint32_t * raw, - float *  - c  - - - - ) - + float * c )

@@ -1927,8 +1740,8 @@

-

◆ bmp384_read_temperature_pressure()

+ +

◆ bmp384_read_temperature_pressure()

@@ -1936,37 +1749,27 @@

uint8_t bmp384_read_temperature_pressure ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint32_t *  - temperature_raw, + uint32_t * temperature_raw, - float *  - temperature_c, + float * temperature_c, - uint32_t *  - pressure_raw, + uint32_t * pressure_raw, - float *  - pressure_pa  - - - - ) - + float * pressure_pa )

@@ -1995,8 +1798,8 @@

-

◆ bmp384_set_addr_pin()

+ +

◆ bmp384_set_addr_pin()

@@ -2004,19 +1807,12 @@

uint8_t bmp384_set_addr_pin ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_address_t  - addr_pin  - - - - ) - + bmp384_address_t addr_pin )

@@ -2040,8 +1836,8 @@

-

◆ bmp384_set_filter_coefficient()

+ +

◆ bmp384_set_filter_coefficient()

@@ -2049,19 +1845,12 @@

uint8_t bmp384_set_filter_coefficient ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_filter_coefficient_t  - coefficient  - - - - ) - + bmp384_filter_coefficient_t coefficient )

@@ -2087,8 +1876,8 @@

-

◆ bmp384_set_iic_watchdog_period()

+ +

◆ bmp384_set_iic_watchdog_period()

@@ -2096,19 +1885,12 @@

uint8_t bmp384_set_iic_watchdog_period ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_iic_watchdog_period_t  - period  - - - - ) - + bmp384_iic_watchdog_period_t period )

@@ -2134,8 +1916,8 @@

-

◆ bmp384_set_iic_watchdog_timer()

+ +

◆ bmp384_set_iic_watchdog_timer()

@@ -2143,19 +1925,12 @@

uint8_t bmp384_set_iic_watchdog_timer ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t  - enable  - - - - ) - + bmp384_bool_t enable )

@@ -2181,8 +1956,8 @@

-

◆ bmp384_set_interface()

+ +

◆ bmp384_set_interface()

@@ -2190,19 +1965,12 @@

uint8_t bmp384_set_interface ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_interface_t  - interface  - - - - ) - + bmp384_interface_t interface )

@@ -2226,8 +1994,8 @@

-

◆ bmp384_set_mode()

+ +

◆ bmp384_set_mode()

@@ -2235,19 +2003,12 @@

uint8_t bmp384_set_mode ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_mode_t  - mode  - - - - ) - + bmp384_mode_t mode )

@@ -2273,8 +2034,8 @@

-

◆ bmp384_set_odr()

+ +

◆ bmp384_set_odr()

@@ -2282,19 +2043,12 @@

uint8_t bmp384_set_odr ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_odr_t  - odr  - - - - ) - + bmp384_odr_t odr )

@@ -2320,8 +2074,8 @@

-

◆ bmp384_set_pressure()

+ +

◆ bmp384_set_pressure()

@@ -2329,19 +2083,12 @@

uint8_t bmp384_set_pressure ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t  - enable  - - - - ) - + bmp384_bool_t enable )

@@ -2367,8 +2114,8 @@

-

◆ bmp384_set_pressure_oversampling()

+ +

◆ bmp384_set_pressure_oversampling()

@@ -2376,19 +2123,12 @@

uint8_t bmp384_set_pressure_oversampling ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_oversampling_t  - oversampling  - - - - ) - + bmp384_oversampling_t oversampling )

@@ -2414,8 +2154,8 @@

-

◆ bmp384_set_spi_wire()

+ +

◆ bmp384_set_spi_wire()

@@ -2423,19 +2163,12 @@

uint8_t bmp384_set_spi_wire ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_spi_wire_t  - wire  - - - - ) - + bmp384_spi_wire_t wire )

@@ -2461,8 +2194,8 @@

-

◆ bmp384_set_temperature()

+ +

◆ bmp384_set_temperature()

@@ -2470,19 +2203,12 @@

uint8_t bmp384_set_temperature ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t  - enable  - - - - ) - + bmp384_bool_t enable )

@@ -2508,8 +2234,8 @@

-

◆ bmp384_set_temperature_oversampling()

+ +

◆ bmp384_set_temperature_oversampling()

@@ -2517,19 +2243,12 @@

uint8_t bmp384_set_temperature_oversampling ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_oversampling_t  - oversampling  - - - - ) - + bmp384_oversampling_t oversampling )

@@ -2555,8 +2274,8 @@

-

◆ bmp384_softreset()

+ +

◆ bmp384_softreset()

@@ -2564,8 +2283,7 @@

uint8_t bmp384_softreset ( - bmp384_handle_t *  - handle) + bmp384_handle_t * handle) @@ -2593,10 +2311,18 @@

+ + +

+
diff --git a/doc/html/group__bmp384__base__driver.md5 b/doc/html/group__bmp384__base__driver.md5 new file mode 100644 index 0000000..48c65de --- /dev/null +++ b/doc/html/group__bmp384__base__driver.md5 @@ -0,0 +1 @@ +15c5987b9d662fcc3de275d437e693f3 \ No newline at end of file diff --git a/doc/html/group__bmp384__base__driver.svg b/doc/html/group__bmp384__base__driver.svg new file mode 100644 index 0000000..8a7bc68 --- /dev/null +++ b/doc/html/group__bmp384__base__driver.svg @@ -0,0 +1,37 @@ + + + + + + +bmp384 base driver function + + +Node1 + + +bmp384 base driver + function + + + + + +Node2 + + +bmp384 driver function + + + + + +Node2->Node1 + + + + + diff --git a/doc/html/group__bmp384__driver.html b/doc/html/group__bmp384__driver.html index d33db22..7222e0a 100644 --- a/doc/html/group__bmp384__driver.html +++ b/doc/html/group__bmp384__driver.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: bmp384 driver function + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +

@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
bmp384 driver function
+
bmp384 driver function

bmp384 driver modules More...

+
+Collaboration diagram for bmp384 driver function:
+
+
+
- - + + - - + - - + - - + - - + - - + - - + - - + -

-Modules

+Topics

 
 bmp384 base driver function
 bmp384 base driver function
 bmp384 base driver modules
 
 bmp384 interrupt driver function
 bmp384 interrupt driver function
 bmp384 interrupt driver modules
 
 bmp384 fifo driver function
 bmp384 fifo driver function
 bmp384 fifo driver modules
 
 bmp384 extern driver function
 bmp384 extern driver function
 bmp384 extern driver modules
 
 bmp384 interface driver function
 bmp384 interface driver function
 bmp384 interface driver modules
 
 bmp384 example driver function
 bmp384 example driver function
 bmp384 example driver modules
 
 bmp384 test driver function
 bmp384 test driver function
 bmp384 test driver modules
 
-

Detailed Description

+

Detailed Description

bmp384 driver modules

+ +
diff --git a/doc/html/group__bmp384__driver.md5 b/doc/html/group__bmp384__driver.md5 new file mode 100644 index 0000000..7a83ced --- /dev/null +++ b/doc/html/group__bmp384__driver.md5 @@ -0,0 +1 @@ +6dbd4b765bbeb33836cff4722e7e1820 \ No newline at end of file diff --git a/doc/html/group__bmp384__driver.svg b/doc/html/group__bmp384__driver.svg new file mode 100644 index 0000000..298463f --- /dev/null +++ b/doc/html/group__bmp384__driver.svg @@ -0,0 +1,149 @@ + + + + + + +bmp384 driver function + + +Node3 + + +bmp384 base driver + function + + + + + +Node1 + + +bmp384 driver function + + + + + +Node1->Node3 + + + + + +Node8 + + +bmp384 example driver + function + + + + + +Node1->Node8 + + + + + +Node6 + + +bmp384 extern driver + function + + + + + +Node1->Node6 + + + + + +Node5 + + +bmp384 fifo driver + function + + + + + +Node1->Node5 + + + + + +Node7 + + +bmp384 interface driver + function + + + + + +Node1->Node7 + + + + + +Node4 + + +bmp384 interrupt driver + function + + + + + +Node1->Node4 + + + + + +Node2 + + +bmp384 link driver + function + + + + + +Node1->Node2 + + + + + +Node9 + + +bmp384 test driver + function + + + + + +Node1->Node9 + + + + + diff --git a/doc/html/group__bmp384__example__driver.html b/doc/html/group__bmp384__example__driver.html index 13113fd..3877b31 100644 --- a/doc/html/group__bmp384__example__driver.html +++ b/doc/html/group__bmp384__example__driver.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: bmp384 example driver function + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
bmp384 example driver function
+
bmp384 example driver function

bmp384 example driver modules More...

+
+Collaboration diagram for bmp384 example driver function:
+
+
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+

Macros

#define BMP384_BASIC_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 basic example default definition More...
 
#define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_TRUE
 
#define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_40_MS
 
#define BMP384_BASIC_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
 
#define BMP384_BASIC_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
 
#define BMP384_BASIC_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
 
#define BMP384_BASIC_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
 
#define BMP384_BASIC_DEFAULT_ODR   BMP384_ODR_12P5_HZ
 
#define BMP384_BASIC_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
 
#define BMP384_FIFO_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 fifo example default definition More...
 
#define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_TRUE
 
#define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_40_MS
 
#define BMP384_FIFO_DEFAULT_FIFO_STOP_ON_FULL   BMP384_BOOL_FALSE
 
#define BMP384_FIFO_DEFAULT_FIFO_WATERMARK   256
 
#define BMP384_FIFO_DEFAULT_FIFO_SENSORTIME_ON   BMP384_BOOL_TRUE
 
#define BMP384_FIFO_DEFAULT_FIFO_PRESSURE_ON   BMP384_BOOL_TRUE
 
#define BMP384_FIFO_DEFAULT_FIFO_TEMPERATURE_ON   BMP384_BOOL_TRUE
 
#define BMP384_FIFO_DEFAULT_FIFO_SUBSAMPLING   0
 
#define BMP384_FIFO_DEFAULT_FIFO_DATA_SOURCE   BMP384_FIFO_DATA_SOURCE_FILTERED
 
#define BMP384_FIFO_DEFAULT_INTERRUPT_PIN_TYPE   BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
 
#define BMP384_FIFO_DEFAULT_INTERRUPT_ACTIVE_LEVEL   BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
 
#define BMP384_FIFO_DEFAULT_INTERRUPT_WATERMARK   BMP384_BOOL_TRUE
 
#define BMP384_FIFO_DEFAULT_INTERRUPT_FIFO_FULL   BMP384_BOOL_FALSE
 
#define BMP384_FIFO_DEFAULT_INTERRUPT_DATA_READY   BMP384_BOOL_FALSE
 
#define BMP384_FIFO_DEFAULT_LATCH_INTERRUPT   BMP384_BOOL_FALSE
 
#define BMP384_FIFO_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
 
#define BMP384_FIFO_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
 
#define BMP384_FIFO_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
 
#define BMP384_FIFO_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
 
#define BMP384_FIFO_DEFAULT_ODR   BMP384_ODR_12P5_HZ
 
#define BMP384_FIFO_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
 
#define BMP384_INTERRUPT_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 interrupt example default definition More...
 
#define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_FALSE
 
#define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_1P25_MS
 
#define BMP384_INTERRUPT_DEFAULT_INTERRUPT_PIN_TYPE   BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
 
#define BMP384_INTERRUPT_DEFAULT_INTERRUPT_ACTIVE_LEVEL   BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
 
#define BMP384_INTERRUPT_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
 
#define BMP384_INTERRUPT_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
 
#define BMP384_INTERRUPT_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
 
#define BMP384_INTERRUPT_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
 
#define BMP384_INTERRUPT_DEFAULT_ODR   BMP384_ODR_12P5_HZ
 
#define BMP384_INTERRUPT_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
 
#define BMP384_SHOT_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 shot example default definition More...
 
#define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_TRUE
 
#define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_40_MS
 
#define BMP384_SHOT_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
 
#define BMP384_SHOT_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
 
#define BMP384_SHOT_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
 
#define BMP384_SHOT_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
 
#define BMP384_SHOT_DEFAULT_ODR   BMP384_ODR_12P5_HZ
 
#define BMP384_SHOT_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
 
#define BMP384_BASIC_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 basic example default definition
#define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_TRUE
#define BMP384_BASIC_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_40_MS
#define BMP384_BASIC_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
#define BMP384_BASIC_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
#define BMP384_BASIC_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
#define BMP384_BASIC_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
#define BMP384_BASIC_DEFAULT_ODR   BMP384_ODR_12P5_HZ
#define BMP384_BASIC_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
#define BMP384_FIFO_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 fifo example default definition
#define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_TRUE
#define BMP384_FIFO_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_40_MS
#define BMP384_FIFO_DEFAULT_FIFO_STOP_ON_FULL   BMP384_BOOL_FALSE
#define BMP384_FIFO_DEFAULT_FIFO_WATERMARK   256
#define BMP384_FIFO_DEFAULT_FIFO_SENSORTIME_ON   BMP384_BOOL_TRUE
#define BMP384_FIFO_DEFAULT_FIFO_PRESSURE_ON   BMP384_BOOL_TRUE
#define BMP384_FIFO_DEFAULT_FIFO_TEMPERATURE_ON   BMP384_BOOL_TRUE
#define BMP384_FIFO_DEFAULT_FIFO_SUBSAMPLING   0
#define BMP384_FIFO_DEFAULT_FIFO_DATA_SOURCE   BMP384_FIFO_DATA_SOURCE_FILTERED
#define BMP384_FIFO_DEFAULT_INTERRUPT_PIN_TYPE   BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
#define BMP384_FIFO_DEFAULT_INTERRUPT_ACTIVE_LEVEL   BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
#define BMP384_FIFO_DEFAULT_INTERRUPT_WATERMARK   BMP384_BOOL_TRUE
#define BMP384_FIFO_DEFAULT_INTERRUPT_FIFO_FULL   BMP384_BOOL_FALSE
#define BMP384_FIFO_DEFAULT_INTERRUPT_DATA_READY   BMP384_BOOL_FALSE
#define BMP384_FIFO_DEFAULT_LATCH_INTERRUPT   BMP384_BOOL_FALSE
#define BMP384_FIFO_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
#define BMP384_FIFO_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
#define BMP384_FIFO_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
#define BMP384_FIFO_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
#define BMP384_FIFO_DEFAULT_ODR   BMP384_ODR_12P5_HZ
#define BMP384_FIFO_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
#define BMP384_INTERRUPT_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 interrupt example default definition
#define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_FALSE
#define BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_1P25_MS
#define BMP384_INTERRUPT_DEFAULT_INTERRUPT_PIN_TYPE   BMP384_INTERRUPT_PIN_TYPE_PUSH_PULL
#define BMP384_INTERRUPT_DEFAULT_INTERRUPT_ACTIVE_LEVEL   BMP384_INTERRUPT_ACTIVE_LEVEL_HIGHER
#define BMP384_INTERRUPT_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
#define BMP384_INTERRUPT_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
#define BMP384_INTERRUPT_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
#define BMP384_INTERRUPT_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
#define BMP384_INTERRUPT_DEFAULT_ODR   BMP384_ODR_12P5_HZ
#define BMP384_INTERRUPT_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
#define BMP384_SHOT_DEFAULT_SPI_WIRE   BMP384_SPI_WIRE_4
 bmp384 shot example default definition
#define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_TIMER   BMP384_BOOL_TRUE
#define BMP384_SHOT_DEFAULT_IIC_WATCHDOG_PERIOD   BMP384_IIC_WATCHDOG_PERIOD_40_MS
#define BMP384_SHOT_DEFAULT_PRESSURE   BMP384_BOOL_TRUE
#define BMP384_SHOT_DEFAULT_TEMPERATURE   BMP384_BOOL_TRUE
#define BMP384_SHOT_DEFAULT_PRESSURE_OVERSAMPLING   BMP384_OVERSAMPLING_x32
#define BMP384_SHOT_DEFAULT_TEMPERATURE_OVERSAMPLING   BMP384_OVERSAMPLING_x2
#define BMP384_SHOT_DEFAULT_ODR   BMP384_ODR_12P5_HZ
#define BMP384_SHOT_DEFAULT_FILTER_COEFFICIENT   BMP384_FILTER_COEFFICIENT_15
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+

Functions

uint8_t bmp384_basic_init (bmp384_interface_t interface, bmp384_address_t addr_pin)
 basic example init More...
 
uint8_t bmp384_basic_deinit (void)
 basic example deinit More...
 
uint8_t bmp384_basic_read (float *temperature_c, float *pressure_pa)
 basic example read More...
 
uint8_t bmp384_fifo_irq_handler (void)
 fifo example irq handler More...
 
uint8_t bmp384_fifo_init (bmp384_interface_t interface, bmp384_address_t addr_pin, void(*fifo_receive_callback)(uint8_t type))
 fifo example init More...
 
uint8_t bmp384_fifo_deinit (void)
 fifo example deinit More...
 
uint8_t bmp384_fifo_read (uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
 fifo example read More...
 
uint8_t bmp384_interrupt_irq_handler (void)
 interrupt example irq handler More...
 
uint8_t bmp384_interrupt_init (bmp384_interface_t interface, bmp384_address_t addr_pin, void(*interrupt_receive_callback)(uint8_t type))
 interrupt example init More...
 
uint8_t bmp384_interrupt_deinit (void)
 interrupt example deinit More...
 
uint8_t bmp384_interrupt_read (float *temperature_c, float *pressure_pa)
 interrupt example read More...
 
uint8_t bmp384_shot_init (bmp384_interface_t interface, bmp384_address_t addr_pin)
 shot example init More...
 
uint8_t bmp384_shot_deinit (void)
 shot example deinit More...
 
uint8_t bmp384_shot_read (float *temperature_c, float *pressure_pa)
 shot example read More...
 
uint8_t bmp384_basic_init (bmp384_interface_t interface, bmp384_address_t addr_pin)
 basic example init
uint8_t bmp384_basic_deinit (void)
 basic example deinit
uint8_t bmp384_basic_read (float *temperature_c, float *pressure_pa)
 basic example read
uint8_t bmp384_fifo_irq_handler (void)
 fifo example irq handler
uint8_t bmp384_fifo_init (bmp384_interface_t interface, bmp384_address_t addr_pin, void(*fifo_receive_callback)(uint8_t type))
 fifo example init
uint8_t bmp384_fifo_deinit (void)
 fifo example deinit
uint8_t bmp384_fifo_read (uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
 fifo example read
uint8_t bmp384_interrupt_irq_handler (void)
 interrupt example irq handler
uint8_t bmp384_interrupt_init (bmp384_interface_t interface, bmp384_address_t addr_pin, void(*interrupt_receive_callback)(uint8_t type))
 interrupt example init
uint8_t bmp384_interrupt_deinit (void)
 interrupt example deinit
uint8_t bmp384_interrupt_read (float *temperature_c, float *pressure_pa)
 interrupt example read
uint8_t bmp384_shot_init (bmp384_interface_t interface, bmp384_address_t addr_pin)
 shot example init
uint8_t bmp384_shot_deinit (void)
 shot example deinit
uint8_t bmp384_shot_read (float *temperature_c, float *pressure_pa)
 shot example read
-

Detailed Description

+

Detailed Description

bmp384 example driver modules

-

Macro Definition Documentation

- -

◆ BMP384_BASIC_DEFAULT_FILTER_COEFFICIENT

+

Macro Definition Documentation

+ +

◆ BMP384_BASIC_DEFAULT_FILTER_COEFFICIENT

@@ -269,8 +212,8 @@

-

◆ BMP384_BASIC_DEFAULT_IIC_WATCHDOG_PERIOD

+ +

◆ BMP384_BASIC_DEFAULT_IIC_WATCHDOG_PERIOD

@@ -286,8 +229,8 @@

-

◆ BMP384_BASIC_DEFAULT_IIC_WATCHDOG_TIMER

+ +

◆ BMP384_BASIC_DEFAULT_IIC_WATCHDOG_TIMER

@@ -303,8 +246,8 @@

-

◆ BMP384_BASIC_DEFAULT_ODR

+ +

◆ BMP384_BASIC_DEFAULT_ODR

@@ -320,8 +263,8 @@

-

◆ BMP384_BASIC_DEFAULT_PRESSURE

+ +

◆ BMP384_BASIC_DEFAULT_PRESSURE

@@ -337,8 +280,8 @@

-

◆ BMP384_BASIC_DEFAULT_PRESSURE_OVERSAMPLING

+ +

◆ BMP384_BASIC_DEFAULT_PRESSURE_OVERSAMPLING

@@ -354,8 +297,8 @@

-

◆ BMP384_BASIC_DEFAULT_SPI_WIRE

+ +

◆ BMP384_BASIC_DEFAULT_SPI_WIRE

@@ -373,8 +316,8 @@

-

◆ BMP384_BASIC_DEFAULT_TEMPERATURE

+ +

◆ BMP384_BASIC_DEFAULT_TEMPERATURE

@@ -390,8 +333,8 @@

-

◆ BMP384_BASIC_DEFAULT_TEMPERATURE_OVERSAMPLING

+ +

◆ BMP384_BASIC_DEFAULT_TEMPERATURE_OVERSAMPLING

@@ -407,8 +350,8 @@

-

◆ BMP384_FIFO_DEFAULT_FIFO_DATA_SOURCE

+ +

◆ BMP384_FIFO_DEFAULT_FIFO_DATA_SOURCE

@@ -424,8 +367,8 @@

-

◆ BMP384_FIFO_DEFAULT_FIFO_PRESSURE_ON

+ +

◆ BMP384_FIFO_DEFAULT_FIFO_PRESSURE_ON

@@ -441,8 +384,8 @@

-

◆ BMP384_FIFO_DEFAULT_FIFO_SENSORTIME_ON

+ +

◆ BMP384_FIFO_DEFAULT_FIFO_SENSORTIME_ON

@@ -458,8 +401,8 @@

-

◆ BMP384_FIFO_DEFAULT_FIFO_STOP_ON_FULL

+ +

◆ BMP384_FIFO_DEFAULT_FIFO_STOP_ON_FULL

@@ -475,8 +418,8 @@

-

◆ BMP384_FIFO_DEFAULT_FIFO_SUBSAMPLING

+ +

◆ BMP384_FIFO_DEFAULT_FIFO_SUBSAMPLING

@@ -492,8 +435,8 @@

-

◆ BMP384_FIFO_DEFAULT_FIFO_TEMPERATURE_ON

+ +

◆ BMP384_FIFO_DEFAULT_FIFO_TEMPERATURE_ON

@@ -509,8 +452,8 @@

-

◆ BMP384_FIFO_DEFAULT_FIFO_WATERMARK

+ +

◆ BMP384_FIFO_DEFAULT_FIFO_WATERMARK

@@ -526,8 +469,8 @@

-

◆ BMP384_FIFO_DEFAULT_FILTER_COEFFICIENT

+ +

◆ BMP384_FIFO_DEFAULT_FILTER_COEFFICIENT

@@ -543,8 +486,8 @@

-

◆ BMP384_FIFO_DEFAULT_IIC_WATCHDOG_PERIOD

+ +

◆ BMP384_FIFO_DEFAULT_IIC_WATCHDOG_PERIOD

@@ -560,8 +503,8 @@

-

◆ BMP384_FIFO_DEFAULT_IIC_WATCHDOG_TIMER

+ +

◆ BMP384_FIFO_DEFAULT_IIC_WATCHDOG_TIMER

@@ -577,8 +520,8 @@

-

◆ BMP384_FIFO_DEFAULT_INTERRUPT_ACTIVE_LEVEL

+ +

◆ BMP384_FIFO_DEFAULT_INTERRUPT_ACTIVE_LEVEL

@@ -594,8 +537,8 @@

-

◆ BMP384_FIFO_DEFAULT_INTERRUPT_DATA_READY

+ +

◆ BMP384_FIFO_DEFAULT_INTERRUPT_DATA_READY

@@ -611,8 +554,8 @@

-

◆ BMP384_FIFO_DEFAULT_INTERRUPT_FIFO_FULL

+ +

◆ BMP384_FIFO_DEFAULT_INTERRUPT_FIFO_FULL

@@ -628,8 +571,8 @@

-

◆ BMP384_FIFO_DEFAULT_INTERRUPT_PIN_TYPE

+ +

◆ BMP384_FIFO_DEFAULT_INTERRUPT_PIN_TYPE

@@ -645,8 +588,8 @@

-

◆ BMP384_FIFO_DEFAULT_INTERRUPT_WATERMARK

+ +

◆ BMP384_FIFO_DEFAULT_INTERRUPT_WATERMARK

@@ -662,8 +605,8 @@

-

◆ BMP384_FIFO_DEFAULT_LATCH_INTERRUPT

+ +

◆ BMP384_FIFO_DEFAULT_LATCH_INTERRUPT

@@ -679,8 +622,8 @@

-

◆ BMP384_FIFO_DEFAULT_ODR

+ +

◆ BMP384_FIFO_DEFAULT_ODR

@@ -696,8 +639,8 @@

-

◆ BMP384_FIFO_DEFAULT_PRESSURE

+ +

◆ BMP384_FIFO_DEFAULT_PRESSURE

@@ -713,8 +656,8 @@

-

◆ BMP384_FIFO_DEFAULT_PRESSURE_OVERSAMPLING

+ +

◆ BMP384_FIFO_DEFAULT_PRESSURE_OVERSAMPLING

@@ -730,8 +673,8 @@

-

◆ BMP384_FIFO_DEFAULT_SPI_WIRE

+ +

◆ BMP384_FIFO_DEFAULT_SPI_WIRE

@@ -749,8 +692,8 @@

-

◆ BMP384_FIFO_DEFAULT_TEMPERATURE

+ +

◆ BMP384_FIFO_DEFAULT_TEMPERATURE

@@ -766,8 +709,8 @@

-

◆ BMP384_FIFO_DEFAULT_TEMPERATURE_OVERSAMPLING

+ +

◆ BMP384_FIFO_DEFAULT_TEMPERATURE_OVERSAMPLING

@@ -783,8 +726,8 @@

-

◆ BMP384_INTERRUPT_DEFAULT_FILTER_COEFFICIENT

+ +

◆ BMP384_INTERRUPT_DEFAULT_FILTER_COEFFICIENT

@@ -800,8 +743,8 @@

-

◆ BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_PERIOD

+ +

◆ BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_PERIOD

@@ -817,8 +760,8 @@

-

◆ BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_TIMER

+ +

◆ BMP384_INTERRUPT_DEFAULT_IIC_WATCHDOG_TIMER

@@ -834,8 +777,8 @@

-

◆ BMP384_INTERRUPT_DEFAULT_INTERRUPT_ACTIVE_LEVEL

+ +

◆ BMP384_INTERRUPT_DEFAULT_INTERRUPT_ACTIVE_LEVEL

@@ -851,8 +794,8 @@

-

◆ BMP384_INTERRUPT_DEFAULT_INTERRUPT_PIN_TYPE

+ +

◆ BMP384_INTERRUPT_DEFAULT_INTERRUPT_PIN_TYPE

@@ -868,8 +811,8 @@

-

◆ BMP384_INTERRUPT_DEFAULT_ODR

+ +

◆ BMP384_INTERRUPT_DEFAULT_ODR

@@ -885,8 +828,8 @@

-

◆ BMP384_INTERRUPT_DEFAULT_PRESSURE

+ +

◆ BMP384_INTERRUPT_DEFAULT_PRESSURE

@@ -902,8 +845,8 @@

-

◆ BMP384_INTERRUPT_DEFAULT_PRESSURE_OVERSAMPLING

+ +

◆ BMP384_INTERRUPT_DEFAULT_PRESSURE_OVERSAMPLING

@@ -919,8 +862,8 @@

-

◆ BMP384_INTERRUPT_DEFAULT_SPI_WIRE

+ +

◆ BMP384_INTERRUPT_DEFAULT_SPI_WIRE

@@ -938,8 +881,8 @@

-

◆ BMP384_INTERRUPT_DEFAULT_TEMPERATURE

+ +

◆ BMP384_INTERRUPT_DEFAULT_TEMPERATURE

@@ -955,8 +898,8 @@

-

◆ BMP384_INTERRUPT_DEFAULT_TEMPERATURE_OVERSAMPLING

+ +

◆ BMP384_INTERRUPT_DEFAULT_TEMPERATURE_OVERSAMPLING

@@ -972,8 +915,8 @@

-

◆ BMP384_SHOT_DEFAULT_FILTER_COEFFICIENT

+ +

◆ BMP384_SHOT_DEFAULT_FILTER_COEFFICIENT

@@ -989,8 +932,8 @@

-

◆ BMP384_SHOT_DEFAULT_IIC_WATCHDOG_PERIOD

+ +

◆ BMP384_SHOT_DEFAULT_IIC_WATCHDOG_PERIOD

@@ -1006,8 +949,8 @@

-

◆ BMP384_SHOT_DEFAULT_IIC_WATCHDOG_TIMER

+ +

◆ BMP384_SHOT_DEFAULT_IIC_WATCHDOG_TIMER

@@ -1023,8 +966,8 @@

-

◆ BMP384_SHOT_DEFAULT_ODR

+ +

◆ BMP384_SHOT_DEFAULT_ODR

@@ -1040,8 +983,8 @@

-

◆ BMP384_SHOT_DEFAULT_PRESSURE

+ +

◆ BMP384_SHOT_DEFAULT_PRESSURE

@@ -1057,8 +1000,8 @@

-

◆ BMP384_SHOT_DEFAULT_PRESSURE_OVERSAMPLING

+ +

◆ BMP384_SHOT_DEFAULT_PRESSURE_OVERSAMPLING

@@ -1074,8 +1017,8 @@

-

◆ BMP384_SHOT_DEFAULT_SPI_WIRE

+ +

◆ BMP384_SHOT_DEFAULT_SPI_WIRE

@@ -1093,8 +1036,8 @@

-

◆ BMP384_SHOT_DEFAULT_TEMPERATURE

+ +

◆ BMP384_SHOT_DEFAULT_TEMPERATURE

@@ -1110,8 +1053,8 @@

-

◆ BMP384_SHOT_DEFAULT_TEMPERATURE_OVERSAMPLING

+ +

◆ BMP384_SHOT_DEFAULT_TEMPERATURE_OVERSAMPLING

@@ -1127,9 +1070,9 @@

Function Documentation

- -

◆ bmp384_basic_deinit()

+

Function Documentation

+ +

◆ bmp384_basic_deinit()

@@ -1137,8 +1080,7 @@

uint8_t bmp384_basic_deinit ( - void  - ) + void ) @@ -1153,11 +1095,16 @@

Note
none

Definition at line 269 of file driver_bmp384_basic.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_basic_init()

+ +

◆ bmp384_basic_init()

@@ -1165,19 +1112,12 @@

uint8_t bmp384_basic_init ( - bmp384_interface_t  - interface, + bmp384_interface_t interface, - bmp384_address_t  - addr_pin  - - - - ) - + bmp384_address_t addr_pin )

@@ -1198,11 +1138,16 @@

Note
none

Definition at line 50 of file driver_bmp384_basic.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_basic_read()

+ +

◆ bmp384_basic_read()

@@ -1243,11 +1181,16 @@

Note
none

Definition at line 247 of file driver_bmp384_basic.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_fifo_deinit()

+ +

◆ bmp384_fifo_deinit()

@@ -1255,8 +1198,7 @@

uint8_t bmp384_fifo_deinit ( - void  - ) + void ) @@ -1271,11 +1213,16 @@

Note
none

Definition at line 392 of file driver_bmp384_fifo.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_fifo_init()

+ +

◆ bmp384_fifo_init()

@@ -1283,25 +1230,17 @@

uint8_t bmp384_fifo_init ( - bmp384_interface_t  - interface, + bmp384_interface_t interface, - bmp384_address_t  - addr_pin, + bmp384_address_t addr_pin, - void(*)(uint8_t type)  - fifo_receive_callback  - - - - ) - + void(* fifo_receive_callback )(uint8_t type) )

@@ -1323,11 +1262,16 @@

Note
none

Definition at line 69 of file driver_bmp384_fifo.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_fifo_irq_handler()

+ +

◆ bmp384_fifo_irq_handler()

@@ -1335,8 +1279,7 @@

uint8_t bmp384_fifo_irq_handler ( - void  - ) + void ) @@ -1351,11 +1294,16 @@

Note
none

Definition at line 48 of file driver_bmp384_fifo.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_fifo_read()

+ +

◆ bmp384_fifo_read()

@@ -1363,31 +1311,22 @@

uint8_t bmp384_fifo_read ( - uint8_t *  - buf, + uint8_t * buf, - uint16_t  - buf_len, + uint16_t buf_len, - bmp384_frame_t *  - frame, + bmp384_frame_t * frame, - uint16_t *  - frame_len  - - - - ) - + uint16_t * frame_len )

@@ -1410,11 +1349,16 @@

Note
none

Definition at line 369 of file driver_bmp384_fifo.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_interrupt_deinit()

+ +

◆ bmp384_interrupt_deinit()

@@ -1422,8 +1366,7 @@

uint8_t bmp384_interrupt_deinit ( - void  - ) + void ) @@ -1438,11 +1381,16 @@

Note
none

Definition at line 319 of file driver_bmp384_interrupt.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_interrupt_init()

+ +

◆ bmp384_interrupt_init()

@@ -1450,25 +1398,17 @@

uint8_t bmp384_interrupt_init ( - bmp384_interface_t  - interface, + bmp384_interface_t interface, - bmp384_address_t  - addr_pin, + bmp384_address_t addr_pin, - void(*)(uint8_t type)  - interrupt_receive_callback  - - - - ) - + void(* interrupt_receive_callback )(uint8_t type) )

@@ -1490,11 +1430,16 @@

Note
none

Definition at line 69 of file driver_bmp384_interrupt.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_interrupt_irq_handler()

+ +

◆ bmp384_interrupt_irq_handler()

@@ -1502,8 +1447,7 @@

uint8_t bmp384_interrupt_irq_handler ( - void  - ) + void ) @@ -1518,11 +1462,16 @@

Note
none

Definition at line 48 of file driver_bmp384_interrupt.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_interrupt_read()

+ +

◆ bmp384_interrupt_read()

@@ -1563,11 +1505,16 @@

Note
none

Definition at line 297 of file driver_bmp384_interrupt.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_shot_deinit()

+ +

◆ bmp384_shot_deinit()

@@ -1575,8 +1522,7 @@

uint8_t bmp384_shot_deinit ( - void  - ) + void ) @@ -1591,11 +1537,16 @@

Note
none

Definition at line 239 of file driver_bmp384_shot.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_shot_init()

+ +

◆ bmp384_shot_init()

@@ -1603,19 +1554,12 @@

uint8_t bmp384_shot_init ( - bmp384_interface_t  - interface, + bmp384_interface_t interface, - bmp384_address_t  - addr_pin  - - - - ) - + bmp384_address_t addr_pin )

@@ -1636,11 +1580,16 @@

Note
none

Definition at line 50 of file driver_bmp384_shot.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_shot_read()

+ +

◆ bmp384_shot_read()

@@ -1681,15 +1623,28 @@

Note
none

Definition at line 217 of file driver_bmp384_shot.c.

+
+Here is the call graph for this function:
+
+
+

+ +

diff --git a/doc/html/group__bmp384__example__driver.md5 b/doc/html/group__bmp384__example__driver.md5 new file mode 100644 index 0000000..93ddf54 --- /dev/null +++ b/doc/html/group__bmp384__example__driver.md5 @@ -0,0 +1 @@ +c2e0976c09a7d49e0ed592b1313337bc \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver.svg b/doc/html/group__bmp384__example__driver.svg new file mode 100644 index 0000000..e97723a --- /dev/null +++ b/doc/html/group__bmp384__example__driver.svg @@ -0,0 +1,37 @@ + + + + + + +bmp384 example driver function + + +Node2 + + +bmp384 driver function + + + + + +Node1 + + +bmp384 example driver + function + + + + + +Node2->Node1 + + + + + diff --git a/doc/html/group__bmp384__example__driver_ga01344c244ec5377b62da6a9ae96ee818_cgraph.md5 b/doc/html/group__bmp384__example__driver_ga01344c244ec5377b62da6a9ae96ee818_cgraph.md5 new file mode 100644 index 0000000..9f4e873 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga01344c244ec5377b62da6a9ae96ee818_cgraph.md5 @@ -0,0 +1 @@ +16cc3a52b5676ba7d2e3ad88ccb3c1df \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver_ga01344c244ec5377b62da6a9ae96ee818_cgraph.svg b/doc/html/group__bmp384__example__driver_ga01344c244ec5377b62da6a9ae96ee818_cgraph.svg new file mode 100644 index 0000000..0439175 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga01344c244ec5377b62da6a9ae96ee818_cgraph.svg @@ -0,0 +1,57 @@ + + + + + + +bmp384_fifo_read + + +Node1 + + +bmp384_fifo_read + + + + + +Node2 + + +bmp384_fifo_parse + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +bmp384_read_fifo + + + + + +Node1->Node3 + + + + + + + + diff --git a/doc/html/group__bmp384__example__driver_ga0bc0441d8548ceb110377e8fb290f4ab_cgraph.md5 b/doc/html/group__bmp384__example__driver_ga0bc0441d8548ceb110377e8fb290f4ab_cgraph.md5 new file mode 100644 index 0000000..4e68f3e --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga0bc0441d8548ceb110377e8fb290f4ab_cgraph.md5 @@ -0,0 +1 @@ +639c4b96a21a0de3fb0d868c97ca146f \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver_ga0bc0441d8548ceb110377e8fb290f4ab_cgraph.svg b/doc/html/group__bmp384__example__driver_ga0bc0441d8548ceb110377e8fb290f4ab_cgraph.svg new file mode 100644 index 0000000..c4bdbe3 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga0bc0441d8548ceb110377e8fb290f4ab_cgraph.svg @@ -0,0 +1,722 @@ + + + + + + +bmp384_fifo_init + + +Node1 + + +bmp384_fifo_init + + + + + +Node2 + + +bmp384_deinit + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +bmp384_init + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +bmp384_interface_debug +_print + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +bmp384_interface_delay_ms + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +bmp384_interface_iic +_deinit + + + + + +Node1->Node6 + + + + + + + + +Node7 + + +bmp384_interface_iic_init + + + + + +Node1->Node7 + + + + + + + + +Node8 + + +bmp384_interface_iic_read + + + + + +Node1->Node8 + + + + + + + + +Node9 + + +bmp384_interface_iic +_write + + + + + +Node1->Node9 + + + + + + + + +Node10 + + +bmp384_interface_spi +_deinit + + + + + +Node1->Node10 + + + + + + + + +Node11 + + +bmp384_interface_spi_init + + + + + +Node1->Node11 + + + + + + + + +Node12 + + +bmp384_interface_spi_read + + + + + +Node1->Node12 + + + + + + + + +Node13 + + +bmp384_interface_spi +_write + + + + + +Node1->Node13 + + + + + + + + +Node14 + + +bmp384_set_addr_pin + + + + + +Node1->Node14 + + + + + + + + +Node15 + + +bmp384_set_fifo + + + + + +Node1->Node15 + + + + + + + + +Node16 + + +bmp384_set_fifo_data +_source + + + + + +Node1->Node16 + + + + + + + + +Node17 + + +bmp384_set_fifo_pressure_on + + + + + +Node1->Node17 + + + + + + + + +Node18 + + +bmp384_set_fifo_sensortime_on + + + + + +Node1->Node18 + + + + + + + + +Node19 + + +bmp384_set_fifo_stop +_on_full + + + + + +Node1->Node19 + + + + + + + + +Node20 + + +bmp384_set_fifo_subsampling + + + + + +Node1->Node20 + + + + + + + + +Node21 + + +bmp384_set_fifo_temperature_on + + + + + +Node1->Node21 + + + + + + + + +Node22 + + +bmp384_set_fifo_watermark + + + + + +Node1->Node22 + + + + + + + + +Node23 + + +bmp384_set_filter_coefficient + + + + + +Node1->Node23 + + + + + + + + +Node24 + + +bmp384_set_iic_watchdog +_period + + + + + +Node1->Node24 + + + + + + + + +Node25 + + +bmp384_set_iic_watchdog +_timer + + + + + +Node1->Node25 + + + + + + + + +Node26 + + +bmp384_set_interface + + + + + +Node1->Node26 + + + + + + + + +Node27 + + +bmp384_set_interrupt +_active_level + + + + + +Node1->Node27 + + + + + + + + +Node28 + + +bmp384_set_interrupt +_data_ready + + + + + +Node1->Node28 + + + + + + + + +Node29 + + +bmp384_set_interrupt +_fifo_full + + + + + +Node1->Node29 + + + + + + + + +Node30 + + +bmp384_set_interrupt +_fifo_watermark + + + + + +Node1->Node30 + + + + + + + + +Node31 + + +bmp384_set_interrupt +_pin_type + + + + + +Node1->Node31 + + + + + + + + +Node32 + + +bmp384_set_latch_interrupt +_pin_and_interrupt_status + + + + + +Node1->Node32 + + + + + + + + +Node33 + + +bmp384_set_mode + + + + + +Node1->Node33 + + + + + + + + +Node34 + + +bmp384_set_odr + + + + + +Node1->Node34 + + + + + + + + +Node35 + + +bmp384_set_pressure + + + + + +Node1->Node35 + + + + + + + + +Node36 + + +bmp384_set_pressure +_oversampling + + + + + +Node1->Node36 + + + + + + + + +Node37 + + +bmp384_set_spi_wire + + + + + +Node1->Node37 + + + + + + + + +Node38 + + +bmp384_set_temperature + + + + + +Node1->Node38 + + + + + + + + +Node39 + + +bmp384_set_temperature +_oversampling + + + + + +Node1->Node39 + + + + + + + + diff --git a/doc/html/group__bmp384__example__driver_ga1649434f56e03bef7173ae81c144af67_cgraph.md5 b/doc/html/group__bmp384__example__driver_ga1649434f56e03bef7173ae81c144af67_cgraph.md5 new file mode 100644 index 0000000..3be7fa5 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga1649434f56e03bef7173ae81c144af67_cgraph.md5 @@ -0,0 +1 @@ +40c50d7e2844c30cf1ee25b8006a7f93 \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver_ga1649434f56e03bef7173ae81c144af67_cgraph.svg b/doc/html/group__bmp384__example__driver_ga1649434f56e03bef7173ae81c144af67_cgraph.svg new file mode 100644 index 0000000..4a07711 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga1649434f56e03bef7173ae81c144af67_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +bmp384_shot_deinit + + +Node1 + + +bmp384_shot_deinit + + + + + +Node2 + + +bmp384_deinit + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/group__bmp384__example__driver_ga198747a71f19b86a7b84c1adb496b2f5_cgraph.md5 b/doc/html/group__bmp384__example__driver_ga198747a71f19b86a7b84c1adb496b2f5_cgraph.md5 new file mode 100644 index 0000000..278544e --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga198747a71f19b86a7b84c1adb496b2f5_cgraph.md5 @@ -0,0 +1 @@ +76d6946cde3a24890cacee13d4c2c105 \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver_ga198747a71f19b86a7b84c1adb496b2f5_cgraph.svg b/doc/html/group__bmp384__example__driver_ga198747a71f19b86a7b84c1adb496b2f5_cgraph.svg new file mode 100644 index 0000000..ed93c54 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga198747a71f19b86a7b84c1adb496b2f5_cgraph.svg @@ -0,0 +1,40 @@ + + + + + + +bmp384_shot_read + + +Node1 + + +bmp384_shot_read + + + + + +Node2 + + +bmp384_read_temperature +_pressure + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/group__bmp384__example__driver_ga2e239464ed45ca5789b584d5e526d7fb_cgraph.md5 b/doc/html/group__bmp384__example__driver_ga2e239464ed45ca5789b584d5e526d7fb_cgraph.md5 new file mode 100644 index 0000000..4f6c0f9 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga2e239464ed45ca5789b584d5e526d7fb_cgraph.md5 @@ -0,0 +1 @@ +c1e6ea15463f6ccf1d31fdc77822ec24 \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver_ga2e239464ed45ca5789b584d5e526d7fb_cgraph.svg b/doc/html/group__bmp384__example__driver_ga2e239464ed45ca5789b584d5e526d7fb_cgraph.svg new file mode 100644 index 0000000..e48c032 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga2e239464ed45ca5789b584d5e526d7fb_cgraph.svg @@ -0,0 +1,594 @@ + + + + + + +bmp384_interrupt_init + + +Node1 + + +bmp384_interrupt_init + + + + + +Node2 + + +bmp384_deinit + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +bmp384_init + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +bmp384_interface_debug +_print + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +bmp384_interface_delay_ms + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +bmp384_interface_iic +_deinit + + + + + +Node1->Node6 + + + + + + + + +Node7 + + +bmp384_interface_iic_init + + + + + +Node1->Node7 + + + + + + + + +Node8 + + +bmp384_interface_iic_read + + + + + +Node1->Node8 + + + + + + + + +Node9 + + +bmp384_interface_iic +_write + + + + + +Node1->Node9 + + + + + + + + +Node10 + + +bmp384_interface_spi +_deinit + + + + + +Node1->Node10 + + + + + + + + +Node11 + + +bmp384_interface_spi_init + + + + + +Node1->Node11 + + + + + + + + +Node12 + + +bmp384_interface_spi_read + + + + + +Node1->Node12 + + + + + + + + +Node13 + + +bmp384_interface_spi +_write + + + + + +Node1->Node13 + + + + + + + + +Node14 + + +bmp384_set_addr_pin + + + + + +Node1->Node14 + + + + + + + + +Node15 + + +bmp384_set_fifo + + + + + +Node1->Node15 + + + + + + + + +Node16 + + +bmp384_set_filter_coefficient + + + + + +Node1->Node16 + + + + + + + + +Node17 + + +bmp384_set_iic_watchdog +_period + + + + + +Node1->Node17 + + + + + + + + +Node18 + + +bmp384_set_iic_watchdog +_timer + + + + + +Node1->Node18 + + + + + + + + +Node19 + + +bmp384_set_interface + + + + + +Node1->Node19 + + + + + + + + +Node20 + + +bmp384_set_interrupt +_active_level + + + + + +Node1->Node20 + + + + + + + + +Node21 + + +bmp384_set_interrupt +_data_ready + + + + + +Node1->Node21 + + + + + + + + +Node22 + + +bmp384_set_interrupt +_fifo_full + + + + + +Node1->Node22 + + + + + + + + +Node23 + + +bmp384_set_interrupt +_fifo_watermark + + + + + +Node1->Node23 + + + + + + + + +Node24 + + +bmp384_set_interrupt +_pin_type + + + + + +Node1->Node24 + + + + + + + + +Node25 + + +bmp384_set_latch_interrupt +_pin_and_interrupt_status + + + + + +Node1->Node25 + + + + + + + + +Node26 + + +bmp384_set_mode + + + + + +Node1->Node26 + + + + + + + + +Node27 + + +bmp384_set_odr + + + + + +Node1->Node27 + + + + + + + + +Node28 + + +bmp384_set_pressure + + + + + +Node1->Node28 + + + + + + + + +Node29 + + +bmp384_set_pressure +_oversampling + + + + + +Node1->Node29 + + + + + + + + +Node30 + + +bmp384_set_spi_wire + + + + + +Node1->Node30 + + + + + + + + +Node31 + + +bmp384_set_temperature + + + + + +Node1->Node31 + + + + + + + + +Node32 + + +bmp384_set_temperature +_oversampling + + + + + +Node1->Node32 + + + + + + + + diff --git a/doc/html/group__bmp384__example__driver_ga32046fe3d4c1f1deea6c28bf4c11e98b_cgraph.md5 b/doc/html/group__bmp384__example__driver_ga32046fe3d4c1f1deea6c28bf4c11e98b_cgraph.md5 new file mode 100644 index 0000000..0d3d09e --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga32046fe3d4c1f1deea6c28bf4c11e98b_cgraph.md5 @@ -0,0 +1 @@ +550b5fa22b4c1050e1ffdee7eef9f342 \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver_ga32046fe3d4c1f1deea6c28bf4c11e98b_cgraph.svg b/doc/html/group__bmp384__example__driver_ga32046fe3d4c1f1deea6c28bf4c11e98b_cgraph.svg new file mode 100644 index 0000000..6f248b6 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga32046fe3d4c1f1deea6c28bf4c11e98b_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +bmp384_basic_deinit + + +Node1 + + +bmp384_basic_deinit + + + + + +Node2 + + +bmp384_deinit + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/group__bmp384__example__driver_ga482fd6e36789830396456ba530ce8831_cgraph.md5 b/doc/html/group__bmp384__example__driver_ga482fd6e36789830396456ba530ce8831_cgraph.md5 new file mode 100644 index 0000000..836769f --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga482fd6e36789830396456ba530ce8831_cgraph.md5 @@ -0,0 +1 @@ +45f7271e89dde2aa544a641979570230 \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver_ga482fd6e36789830396456ba530ce8831_cgraph.svg b/doc/html/group__bmp384__example__driver_ga482fd6e36789830396456ba530ce8831_cgraph.svg new file mode 100644 index 0000000..01c3cef --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga482fd6e36789830396456ba530ce8831_cgraph.svg @@ -0,0 +1,40 @@ + + + + + + +bmp384_basic_read + + +Node1 + + +bmp384_basic_read + + + + + +Node2 + + +bmp384_read_temperature +_pressure + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/group__bmp384__example__driver_ga5371d0f7b8faa0f57fb50649aec2681d_cgraph.md5 b/doc/html/group__bmp384__example__driver_ga5371d0f7b8faa0f57fb50649aec2681d_cgraph.md5 new file mode 100644 index 0000000..c7b0fd3 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga5371d0f7b8faa0f57fb50649aec2681d_cgraph.md5 @@ -0,0 +1 @@ +e698be8aee6199eea15fc91a9d9e7168 \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver_ga5371d0f7b8faa0f57fb50649aec2681d_cgraph.svg b/doc/html/group__bmp384__example__driver_ga5371d0f7b8faa0f57fb50649aec2681d_cgraph.svg new file mode 100644 index 0000000..074f86f --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga5371d0f7b8faa0f57fb50649aec2681d_cgraph.svg @@ -0,0 +1,40 @@ + + + + + + +bmp384_interrupt_read + + +Node1 + + +bmp384_interrupt_read + + + + + +Node2 + + +bmp384_read_temperature +_pressure + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/group__bmp384__example__driver_ga5c501058847f099812c8ba69db87cad5_cgraph.md5 b/doc/html/group__bmp384__example__driver_ga5c501058847f099812c8ba69db87cad5_cgraph.md5 new file mode 100644 index 0000000..d7cf085 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga5c501058847f099812c8ba69db87cad5_cgraph.md5 @@ -0,0 +1 @@ +ec2f09e382cff6feeace7f5b16618d69 \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver_ga5c501058847f099812c8ba69db87cad5_cgraph.svg b/doc/html/group__bmp384__example__driver_ga5c501058847f099812c8ba69db87cad5_cgraph.svg new file mode 100644 index 0000000..d999d74 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga5c501058847f099812c8ba69db87cad5_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +bmp384_fifo_irq_handler + + +Node1 + + +bmp384_fifo_irq_handler + + + + + +Node2 + + +bmp384_irq_handler + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/group__bmp384__example__driver_ga6bd17e993ba378c79ac36cfe8d55b0ba_cgraph.md5 b/doc/html/group__bmp384__example__driver_ga6bd17e993ba378c79ac36cfe8d55b0ba_cgraph.md5 new file mode 100644 index 0000000..97d0499 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga6bd17e993ba378c79ac36cfe8d55b0ba_cgraph.md5 @@ -0,0 +1 @@ +304e8a17e8cd569b1309bf45824dbd7e \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver_ga6bd17e993ba378c79ac36cfe8d55b0ba_cgraph.svg b/doc/html/group__bmp384__example__driver_ga6bd17e993ba378c79ac36cfe8d55b0ba_cgraph.svg new file mode 100644 index 0000000..f68d7cf --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga6bd17e993ba378c79ac36cfe8d55b0ba_cgraph.svg @@ -0,0 +1,57 @@ + + + + + + +bmp384_fifo_deinit + + +Node1 + + +bmp384_fifo_deinit + + + + + +Node2 + + +bmp384_deinit + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +bmp384_set_mode + + + + + +Node1->Node3 + + + + + + + + diff --git a/doc/html/group__bmp384__example__driver_ga86694054311934e96b5687c2efd4c2da_cgraph.md5 b/doc/html/group__bmp384__example__driver_ga86694054311934e96b5687c2efd4c2da_cgraph.md5 new file mode 100644 index 0000000..7d96a19 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga86694054311934e96b5687c2efd4c2da_cgraph.md5 @@ -0,0 +1 @@ +c93098c21bde8151d166249b61bcb0ce \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver_ga86694054311934e96b5687c2efd4c2da_cgraph.svg b/doc/html/group__bmp384__example__driver_ga86694054311934e96b5687c2efd4c2da_cgraph.svg new file mode 100644 index 0000000..85c42ba --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga86694054311934e96b5687c2efd4c2da_cgraph.svg @@ -0,0 +1,40 @@ + + + + + + +bmp384_interrupt_irq_handler + + +Node1 + + +bmp384_interrupt_irq +_handler + + + + + +Node2 + + +bmp384_irq_handler + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/group__bmp384__example__driver_ga92900f8e82c30c2c8cf5173ef17f1f32_cgraph.md5 b/doc/html/group__bmp384__example__driver_ga92900f8e82c30c2c8cf5173ef17f1f32_cgraph.md5 new file mode 100644 index 0000000..f75057e --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga92900f8e82c30c2c8cf5173ef17f1f32_cgraph.md5 @@ -0,0 +1 @@ +66a7fcf8971ef0a1fac1ef6fb106dd91 \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver_ga92900f8e82c30c2c8cf5173ef17f1f32_cgraph.svg b/doc/html/group__bmp384__example__driver_ga92900f8e82c30c2c8cf5173ef17f1f32_cgraph.svg new file mode 100644 index 0000000..00a2c18 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_ga92900f8e82c30c2c8cf5173ef17f1f32_cgraph.svg @@ -0,0 +1,508 @@ + + + + + + +bmp384_shot_init + + +Node1 + + +bmp384_shot_init + + + + + +Node2 + + +bmp384_deinit + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +bmp384_init + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +bmp384_interface_debug +_print + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +bmp384_interface_delay_ms + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +bmp384_interface_iic +_deinit + + + + + +Node1->Node6 + + + + + + + + +Node7 + + +bmp384_interface_iic_init + + + + + +Node1->Node7 + + + + + + + + +Node8 + + +bmp384_interface_iic_read + + + + + +Node1->Node8 + + + + + + + + +Node9 + + +bmp384_interface_iic +_write + + + + + +Node1->Node9 + + + + + + + + +Node10 + + +bmp384_interface_receive +_callback + + + + + +Node1->Node10 + + + + + + + + +Node11 + + +bmp384_interface_spi +_deinit + + + + + +Node1->Node11 + + + + + + + + +Node12 + + +bmp384_interface_spi_init + + + + + +Node1->Node12 + + + + + + + + +Node13 + + +bmp384_interface_spi_read + + + + + +Node1->Node13 + + + + + + + + +Node14 + + +bmp384_interface_spi +_write + + + + + +Node1->Node14 + + + + + + + + +Node15 + + +bmp384_set_addr_pin + + + + + +Node1->Node15 + + + + + + + + +Node16 + + +bmp384_set_fifo + + + + + +Node1->Node16 + + + + + + + + +Node17 + + +bmp384_set_filter_coefficient + + + + + +Node1->Node17 + + + + + + + + +Node18 + + +bmp384_set_iic_watchdog +_period + + + + + +Node1->Node18 + + + + + + + + +Node19 + + +bmp384_set_iic_watchdog +_timer + + + + + +Node1->Node19 + + + + + + + + +Node20 + + +bmp384_set_interface + + + + + +Node1->Node20 + + + + + + + + +Node21 + + +bmp384_set_mode + + + + + +Node1->Node21 + + + + + + + + +Node22 + + +bmp384_set_odr + + + + + +Node1->Node22 + + + + + + + + +Node23 + + +bmp384_set_pressure + + + + + +Node1->Node23 + + + + + + + + +Node24 + + +bmp384_set_pressure +_oversampling + + + + + +Node1->Node24 + + + + + + + + +Node25 + + +bmp384_set_spi_wire + + + + + +Node1->Node25 + + + + + + + + +Node26 + + +bmp384_set_temperature + + + + + +Node1->Node26 + + + + + + + + +Node27 + + +bmp384_set_temperature +_oversampling + + + + + +Node1->Node27 + + + + + + + + +Node10->Node4 + + + + + + + + diff --git a/doc/html/group__bmp384__example__driver_gad676b9b3a062bbf2d58a7929a3e7310b_cgraph.md5 b/doc/html/group__bmp384__example__driver_gad676b9b3a062bbf2d58a7929a3e7310b_cgraph.md5 new file mode 100644 index 0000000..28c4743 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_gad676b9b3a062bbf2d58a7929a3e7310b_cgraph.md5 @@ -0,0 +1 @@ +df3a06c57909e0f6ad6fc9193c743a21 \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver_gad676b9b3a062bbf2d58a7929a3e7310b_cgraph.svg b/doc/html/group__bmp384__example__driver_gad676b9b3a062bbf2d58a7929a3e7310b_cgraph.svg new file mode 100644 index 0000000..996d182 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_gad676b9b3a062bbf2d58a7929a3e7310b_cgraph.svg @@ -0,0 +1,565 @@ + + + + + + +bmp384_basic_init + + +Node1 + + +bmp384_basic_init + + + + + +Node2 + + +bmp384_deinit + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +bmp384_init + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +bmp384_interface_debug +_print + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +bmp384_interface_delay_ms + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +bmp384_interface_iic +_deinit + + + + + +Node1->Node6 + + + + + + + + +Node7 + + +bmp384_interface_iic_init + + + + + +Node1->Node7 + + + + + + + + +Node8 + + +bmp384_interface_iic_read + + + + + +Node1->Node8 + + + + + + + + +Node9 + + +bmp384_interface_iic +_write + + + + + +Node1->Node9 + + + + + + + + +Node10 + + +bmp384_interface_receive +_callback + + + + + +Node1->Node10 + + + + + + + + +Node11 + + +bmp384_interface_spi +_deinit + + + + + +Node1->Node11 + + + + + + + + +Node12 + + +bmp384_interface_spi_init + + + + + +Node1->Node12 + + + + + + + + +Node13 + + +bmp384_interface_spi_read + + + + + +Node1->Node13 + + + + + + + + +Node14 + + +bmp384_interface_spi +_write + + + + + +Node1->Node14 + + + + + + + + +Node15 + + +bmp384_set_addr_pin + + + + + +Node1->Node15 + + + + + + + + +Node16 + + +bmp384_set_fifo + + + + + +Node1->Node16 + + + + + + + + +Node17 + + +bmp384_set_filter_coefficient + + + + + +Node1->Node17 + + + + + + + + +Node18 + + +bmp384_set_iic_watchdog +_period + + + + + +Node1->Node18 + + + + + + + + +Node19 + + +bmp384_set_iic_watchdog +_timer + + + + + +Node1->Node19 + + + + + + + + +Node20 + + +bmp384_set_interface + + + + + +Node1->Node20 + + + + + + + + +Node21 + + +bmp384_set_interrupt +_data_ready + + + + + +Node1->Node21 + + + + + + + + +Node22 + + +bmp384_set_interrupt +_fifo_full + + + + + +Node1->Node22 + + + + + + + + +Node23 + + +bmp384_set_interrupt +_fifo_watermark + + + + + +Node1->Node23 + + + + + + + + +Node24 + + +bmp384_set_mode + + + + + +Node1->Node24 + + + + + + + + +Node25 + + +bmp384_set_odr + + + + + +Node1->Node25 + + + + + + + + +Node26 + + +bmp384_set_pressure + + + + + +Node1->Node26 + + + + + + + + +Node27 + + +bmp384_set_pressure +_oversampling + + + + + +Node1->Node27 + + + + + + + + +Node28 + + +bmp384_set_spi_wire + + + + + +Node1->Node28 + + + + + + + + +Node29 + + +bmp384_set_temperature + + + + + +Node1->Node29 + + + + + + + + +Node30 + + +bmp384_set_temperature +_oversampling + + + + + +Node1->Node30 + + + + + + + + +Node10->Node4 + + + + + + + + diff --git a/doc/html/group__bmp384__example__driver_gaf4d55473459cf359b6d04edeb4aa1b21_cgraph.md5 b/doc/html/group__bmp384__example__driver_gaf4d55473459cf359b6d04edeb4aa1b21_cgraph.md5 new file mode 100644 index 0000000..90561e0 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_gaf4d55473459cf359b6d04edeb4aa1b21_cgraph.md5 @@ -0,0 +1 @@ +dcef011673b5222ea7fef56a3858be97 \ No newline at end of file diff --git a/doc/html/group__bmp384__example__driver_gaf4d55473459cf359b6d04edeb4aa1b21_cgraph.svg b/doc/html/group__bmp384__example__driver_gaf4d55473459cf359b6d04edeb4aa1b21_cgraph.svg new file mode 100644 index 0000000..ddb92a5 --- /dev/null +++ b/doc/html/group__bmp384__example__driver_gaf4d55473459cf359b6d04edeb4aa1b21_cgraph.svg @@ -0,0 +1,57 @@ + + + + + + +bmp384_interrupt_deinit + + +Node1 + + +bmp384_interrupt_deinit + + + + + +Node2 + + +bmp384_deinit + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +bmp384_set_mode + + + + + +Node1->Node3 + + + + + + + + diff --git a/doc/html/group__bmp384__extern__driver.html b/doc/html/group__bmp384__extern__driver.html index 434b40a..1731e6b 100644 --- a/doc/html/group__bmp384__extern__driver.html +++ b/doc/html/group__bmp384__extern__driver.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: bmp384 extern driver function + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
bmp384 extern driver function
+
bmp384 extern driver function

bmp384 extern driver modules More...

+
+Collaboration diagram for bmp384 extern driver function:
+
+
+
- - - - - - - + + + +

+

Functions

uint8_t bmp384_set_reg (bmp384_handle_t *handle, uint8_t reg, uint8_t value)
 set the chip register More...
 
uint8_t bmp384_get_reg (bmp384_handle_t *handle, uint8_t reg, uint8_t *value)
 get the chip register More...
 
uint8_t bmp384_set_reg (bmp384_handle_t *handle, uint8_t reg, uint8_t value)
 set the chip register
uint8_t bmp384_get_reg (bmp384_handle_t *handle, uint8_t reg, uint8_t *value)
 get the chip register
-

Detailed Description

+

Detailed Description

bmp384 extern driver modules

-

Function Documentation

- -

◆ bmp384_get_reg()

+

Function Documentation

+ +

◆ bmp384_get_reg()

@@ -115,25 +122,17 @@

uint8_t bmp384_get_reg ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint8_t  - reg, + uint8_t reg, - uint8_t *  - value  - - - - ) - + uint8_t * value )

@@ -160,8 +159,8 @@

-

◆ bmp384_set_reg()

+ +

◆ bmp384_set_reg()

@@ -169,25 +168,17 @@

uint8_t bmp384_set_reg ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint8_t  - reg, + uint8_t reg, - uint8_t  - value  - - - - ) - + uint8_t value )

@@ -216,10 +207,18 @@

+ + +

+
diff --git a/doc/html/group__bmp384__extern__driver.md5 b/doc/html/group__bmp384__extern__driver.md5 new file mode 100644 index 0000000..f3eb177 --- /dev/null +++ b/doc/html/group__bmp384__extern__driver.md5 @@ -0,0 +1 @@ +6935df2dcff3f119540076a528dd5994 \ No newline at end of file diff --git a/doc/html/group__bmp384__extern__driver.svg b/doc/html/group__bmp384__extern__driver.svg new file mode 100644 index 0000000..6bf94db --- /dev/null +++ b/doc/html/group__bmp384__extern__driver.svg @@ -0,0 +1,37 @@ + + + + + + +bmp384 extern driver function + + +Node2 + + +bmp384 driver function + + + + + +Node1 + + +bmp384 extern driver + function + + + + + +Node2->Node1 + + + + + diff --git a/doc/html/group__bmp384__fifo__driver.html b/doc/html/group__bmp384__fifo__driver.html index 63f8e22..5a2dc0d 100644 --- a/doc/html/group__bmp384__fifo__driver.html +++ b/doc/html/group__bmp384__fifo__driver.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: bmp384 fifo driver function + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +

@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
bmp384 fifo driver function
+
bmp384 fifo driver function

bmp384 fifo driver modules More...

+
+Collaboration diagram for bmp384 fifo driver function:
+
+
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+

Functions

uint8_t bmp384_get_fifo_length (bmp384_handle_t *handle, uint16_t *length)
 get the fifo length More...
 
uint8_t bmp384_get_fifo_data (bmp384_handle_t *handle, uint8_t *data, uint16_t length)
 get the fifo data More...
 
uint8_t bmp384_set_fifo_watermark (bmp384_handle_t *handle, uint16_t watermark)
 set the fifo watermark More...
 
uint8_t bmp384_get_fifo_watermark (bmp384_handle_t *handle, uint16_t *watermark)
 get the fifo watermark More...
 
uint8_t bmp384_set_fifo (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo More...
 
uint8_t bmp384_get_fifo (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo status More...
 
uint8_t bmp384_set_fifo_stop_on_full (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo stopping on full More...
 
uint8_t bmp384_get_fifo_stop_on_full (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo stopping on full status More...
 
uint8_t bmp384_set_fifo_sensortime_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo sensor time on More...
 
uint8_t bmp384_get_fifo_sensortime_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo sensor time on status More...
 
uint8_t bmp384_set_fifo_pressure_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo pressure on More...
 
uint8_t bmp384_get_fifo_pressure_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo pressure on status More...
 
uint8_t bmp384_set_fifo_temperature_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo temperature on More...
 
uint8_t bmp384_get_fifo_temperature_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo temperature on status More...
 
uint8_t bmp384_set_fifo_subsampling (bmp384_handle_t *handle, uint8_t subsample)
 set the fifo subsampling More...
 
uint8_t bmp384_get_fifo_subsampling (bmp384_handle_t *handle, uint8_t *subsample)
 get the fifo subsampling More...
 
uint8_t bmp384_set_fifo_data_source (bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
 set the fifo data source More...
 
uint8_t bmp384_get_fifo_data_source (bmp384_handle_t *handle, bmp384_fifo_data_source_t *source)
 get the fifo data source More...
 
uint8_t bmp384_flush_fifo (bmp384_handle_t *handle)
 flush the fifo More...
 
uint8_t bmp384_read_fifo (bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
 read the fifo More...
 
uint8_t bmp384_fifo_parse (bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
 parse the fifo data More...
 
uint8_t bmp384_get_fifo_length (bmp384_handle_t *handle, uint16_t *length)
 get the fifo length
uint8_t bmp384_get_fifo_data (bmp384_handle_t *handle, uint8_t *data, uint16_t length)
 get the fifo data
uint8_t bmp384_set_fifo_watermark (bmp384_handle_t *handle, uint16_t watermark)
 set the fifo watermark
uint8_t bmp384_get_fifo_watermark (bmp384_handle_t *handle, uint16_t *watermark)
 get the fifo watermark
uint8_t bmp384_set_fifo (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo
uint8_t bmp384_get_fifo (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo status
uint8_t bmp384_set_fifo_stop_on_full (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo stopping on full
uint8_t bmp384_get_fifo_stop_on_full (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo stopping on full status
uint8_t bmp384_set_fifo_sensortime_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo sensor time on
uint8_t bmp384_get_fifo_sensortime_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo sensor time on status
uint8_t bmp384_set_fifo_pressure_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo pressure on
uint8_t bmp384_get_fifo_pressure_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo pressure on status
uint8_t bmp384_set_fifo_temperature_on (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo temperature on
uint8_t bmp384_get_fifo_temperature_on (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the fifo temperature on status
uint8_t bmp384_set_fifo_subsampling (bmp384_handle_t *handle, uint8_t subsample)
 set the fifo subsampling
uint8_t bmp384_get_fifo_subsampling (bmp384_handle_t *handle, uint8_t *subsample)
 get the fifo subsampling
uint8_t bmp384_set_fifo_data_source (bmp384_handle_t *handle, bmp384_fifo_data_source_t source)
 set the fifo data source
uint8_t bmp384_get_fifo_data_source (bmp384_handle_t *handle, bmp384_fifo_data_source_t *source)
 get the fifo data source
uint8_t bmp384_flush_fifo (bmp384_handle_t *handle)
 flush the fifo
uint8_t bmp384_read_fifo (bmp384_handle_t *handle, uint8_t *buf, uint16_t *len)
 read the fifo
uint8_t bmp384_fifo_parse (bmp384_handle_t *handle, uint8_t *buf, uint16_t buf_len, bmp384_frame_t *frame, uint16_t *frame_len)
 parse the fifo data
-

Detailed Description

+

Detailed Description

bmp384 fifo driver modules

-

Function Documentation

- -

◆ bmp384_fifo_parse()

+

Function Documentation

+ +

◆ bmp384_fifo_parse()

@@ -172,37 +160,27 @@

uint8_t bmp384_fifo_parse ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint8_t *  - buf, + uint8_t * buf, - uint16_t  - buf_len, + uint16_t buf_len, - bmp384_frame_t *  - frame, + bmp384_frame_t * frame, - uint16_t *  - frame_len  - - - - ) - + uint16_t * frame_len )

@@ -231,8 +209,8 @@

-

◆ bmp384_flush_fifo()

+ +

◆ bmp384_flush_fifo()

@@ -240,8 +218,7 @@

uint8_t bmp384_flush_fifo ( - bmp384_handle_t *  - handle) + bmp384_handle_t * handle) @@ -267,8 +244,8 @@

-

◆ bmp384_get_fifo()

+ +

◆ bmp384_get_fifo()

@@ -276,19 +253,12 @@

uint8_t bmp384_get_fifo ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t *  - enable  - - - - ) - + bmp384_bool_t * enable )

@@ -314,8 +284,8 @@

-

◆ bmp384_get_fifo_data()

+ +

◆ bmp384_get_fifo_data()

@@ -323,25 +293,17 @@

uint8_t bmp384_get_fifo_data ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint8_t *  - data, + uint8_t * data, - uint16_t  - length  - - - - ) - + uint16_t length )

@@ -368,8 +330,8 @@

-

◆ bmp384_get_fifo_data_source()

+ +

◆ bmp384_get_fifo_data_source()

@@ -377,19 +339,12 @@

uint8_t bmp384_get_fifo_data_source ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_fifo_data_source_t *  - source  - - - - ) - + bmp384_fifo_data_source_t * source )

@@ -415,8 +370,8 @@

-

◆ bmp384_get_fifo_length()

+ +

◆ bmp384_get_fifo_length()

@@ -424,19 +379,12 @@

uint8_t bmp384_get_fifo_length ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint16_t *  - length  - - - - ) - + uint16_t * length )

@@ -462,8 +410,8 @@

-

◆ bmp384_get_fifo_pressure_on()

+ +

◆ bmp384_get_fifo_pressure_on()

@@ -471,19 +419,12 @@

uint8_t bmp384_get_fifo_pressure_on ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t *  - enable  - - - - ) - + bmp384_bool_t * enable )

@@ -509,8 +450,8 @@

-

◆ bmp384_get_fifo_sensortime_on()

+ +

◆ bmp384_get_fifo_sensortime_on()

@@ -518,19 +459,12 @@

uint8_t bmp384_get_fifo_sensortime_on ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t *  - enable  - - - - ) - + bmp384_bool_t * enable )

@@ -556,8 +490,8 @@

-

◆ bmp384_get_fifo_stop_on_full()

+ +

◆ bmp384_get_fifo_stop_on_full()

@@ -565,19 +499,12 @@

uint8_t bmp384_get_fifo_stop_on_full ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t *  - enable  - - - - ) - + bmp384_bool_t * enable )

@@ -603,8 +530,8 @@

-

◆ bmp384_get_fifo_subsampling()

+ +

◆ bmp384_get_fifo_subsampling()

@@ -612,19 +539,12 @@

uint8_t bmp384_get_fifo_subsampling ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint8_t *  - subsample  - - - - ) - + uint8_t * subsample )

@@ -650,8 +570,8 @@

-

◆ bmp384_get_fifo_temperature_on()

+ +

◆ bmp384_get_fifo_temperature_on()

@@ -659,19 +579,12 @@

uint8_t bmp384_get_fifo_temperature_on ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t *  - enable  - - - - ) - + bmp384_bool_t * enable )

@@ -697,8 +610,8 @@

-

◆ bmp384_get_fifo_watermark()

+ +

◆ bmp384_get_fifo_watermark()

@@ -706,19 +619,12 @@

uint8_t bmp384_get_fifo_watermark ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint16_t *  - watermark  - - - - ) - + uint16_t * watermark )

@@ -744,8 +650,8 @@

-

◆ bmp384_read_fifo()

+ +

◆ bmp384_read_fifo()

@@ -753,25 +659,17 @@

uint8_t bmp384_read_fifo ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint8_t *  - buf, + uint8_t * buf, - uint16_t *  - len  - - - - ) - + uint16_t * len )

@@ -798,8 +696,8 @@

-

◆ bmp384_set_fifo()

+ +

◆ bmp384_set_fifo()

@@ -807,19 +705,12 @@

uint8_t bmp384_set_fifo ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t  - enable  - - - - ) - + bmp384_bool_t enable )

@@ -845,8 +736,8 @@

-

◆ bmp384_set_fifo_data_source()

+ +

◆ bmp384_set_fifo_data_source()

@@ -854,19 +745,12 @@

uint8_t bmp384_set_fifo_data_source ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_fifo_data_source_t  - source  - - - - ) - + bmp384_fifo_data_source_t source )

@@ -892,8 +776,8 @@

-

◆ bmp384_set_fifo_pressure_on()

+ +

◆ bmp384_set_fifo_pressure_on()

@@ -901,19 +785,12 @@

uint8_t bmp384_set_fifo_pressure_on ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t  - enable  - - - - ) - + bmp384_bool_t enable )

@@ -939,8 +816,8 @@

-

◆ bmp384_set_fifo_sensortime_on()

+ +

◆ bmp384_set_fifo_sensortime_on()

@@ -948,19 +825,12 @@

uint8_t bmp384_set_fifo_sensortime_on ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t  - enable  - - - - ) - + bmp384_bool_t enable )

@@ -986,8 +856,8 @@

-

◆ bmp384_set_fifo_stop_on_full()

+ +

◆ bmp384_set_fifo_stop_on_full()

@@ -995,19 +865,12 @@

uint8_t bmp384_set_fifo_stop_on_full ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t  - enable  - - - - ) - + bmp384_bool_t enable )

@@ -1033,8 +896,8 @@

-

◆ bmp384_set_fifo_subsampling()

+ +

◆ bmp384_set_fifo_subsampling()

@@ -1042,19 +905,12 @@

uint8_t bmp384_set_fifo_subsampling ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint8_t  - subsample  - - - - ) - + uint8_t subsample )

@@ -1080,8 +936,8 @@

-

◆ bmp384_set_fifo_temperature_on()

+ +

◆ bmp384_set_fifo_temperature_on()

@@ -1089,19 +945,12 @@

uint8_t bmp384_set_fifo_temperature_on ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t  - enable  - - - - ) - + bmp384_bool_t enable )

@@ -1127,8 +976,8 @@

-

◆ bmp384_set_fifo_watermark()

+ +

◆ bmp384_set_fifo_watermark()

@@ -1136,19 +985,12 @@

uint8_t bmp384_set_fifo_watermark ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint16_t  - watermark  - - - - ) - + uint16_t watermark )

@@ -1176,10 +1018,18 @@

+ + +

+
diff --git a/doc/html/group__bmp384__fifo__driver.md5 b/doc/html/group__bmp384__fifo__driver.md5 new file mode 100644 index 0000000..734dabc --- /dev/null +++ b/doc/html/group__bmp384__fifo__driver.md5 @@ -0,0 +1 @@ +8ec4ba7cef2413a73840e6c1fc4ea8ab \ No newline at end of file diff --git a/doc/html/group__bmp384__fifo__driver.svg b/doc/html/group__bmp384__fifo__driver.svg new file mode 100644 index 0000000..e831cdc --- /dev/null +++ b/doc/html/group__bmp384__fifo__driver.svg @@ -0,0 +1,37 @@ + + + + + + +bmp384 fifo driver function + + +Node2 + + +bmp384 driver function + + + + + +Node1 + + +bmp384 fifo driver + function + + + + + +Node2->Node1 + + + + + diff --git a/doc/html/group__bmp384__interface__driver.html b/doc/html/group__bmp384__interface__driver.html index b491b0b..196b7b6 100644 --- a/doc/html/group__bmp384__interface__driver.html +++ b/doc/html/group__bmp384__interface__driver.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: bmp384 interface driver function + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +

@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
bmp384 interface driver function
+
bmp384 interface driver function

bmp384 interface driver modules More...

+
+Collaboration diagram for bmp384 interface driver function:
+
+
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +

+

Functions

uint8_t bmp384_interface_iic_init (void)
 interface iic bus init More...
 
uint8_t bmp384_interface_iic_deinit (void)
 interface iic bus deinit More...
 
uint8_t bmp384_interface_iic_read (uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
 interface iic bus read More...
 
uint8_t bmp384_interface_iic_write (uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
 interface iic bus write More...
 
uint8_t bmp384_interface_spi_init (void)
 interface spi bus init More...
 
uint8_t bmp384_interface_spi_deinit (void)
 interface spi bus deinit More...
 
uint8_t bmp384_interface_spi_read (uint8_t reg, uint8_t *buf, uint16_t len)
 interface spi bus read More...
 
uint8_t bmp384_interface_spi_write (uint8_t reg, uint8_t *buf, uint16_t len)
 interface spi bus write More...
 
void bmp384_interface_delay_ms (uint32_t ms)
 interface delay ms More...
 
void bmp384_interface_debug_print (const char *const fmt,...)
 interface print format data More...
 
void bmp384_interface_receive_callback (uint8_t type)
 interface receive callback More...
 
uint8_t bmp384_interface_iic_init (void)
 interface iic bus init
uint8_t bmp384_interface_iic_deinit (void)
 interface iic bus deinit
uint8_t bmp384_interface_iic_read (uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
 interface iic bus read
uint8_t bmp384_interface_iic_write (uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
 interface iic bus write
uint8_t bmp384_interface_spi_init (void)
 interface spi bus init
uint8_t bmp384_interface_spi_deinit (void)
 interface spi bus deinit
uint8_t bmp384_interface_spi_read (uint8_t reg, uint8_t *buf, uint16_t len)
 interface spi bus read
uint8_t bmp384_interface_spi_write (uint8_t reg, uint8_t *buf, uint16_t len)
 interface spi bus write
void bmp384_interface_delay_ms (uint32_t ms)
 interface delay ms
void bmp384_interface_debug_print (const char *const fmt,...)
 interface print format data
void bmp384_interface_receive_callback (uint8_t type)
 interface receive callback
-

Detailed Description

+

Detailed Description

bmp384 interface driver modules

-

Function Documentation

- -

◆ bmp384_interface_debug_print()

+

Function Documentation

+ +

◆ bmp384_interface_debug_print()

@@ -172,8 +163,8 @@

-

◆ bmp384_interface_delay_ms()

+ +

◆ bmp384_interface_delay_ms()

@@ -181,8 +172,7 @@

void bmp384_interface_delay_ms ( - uint32_t  - ms) + uint32_t ms) @@ -201,8 +191,8 @@

-

◆ bmp384_interface_iic_deinit()

+ +

◆ bmp384_interface_iic_deinit()

@@ -210,8 +200,7 @@

uint8_t bmp384_interface_iic_deinit ( - void  - ) + void ) @@ -229,8 +218,8 @@

-

◆ bmp384_interface_iic_init()

+ +

◆ bmp384_interface_iic_init()

@@ -238,8 +227,7 @@

uint8_t bmp384_interface_iic_init ( - void  - ) + void ) @@ -257,8 +245,8 @@

-

◆ bmp384_interface_iic_read()

+ +

◆ bmp384_interface_iic_read()

@@ -316,8 +295,8 @@

-

◆ bmp384_interface_iic_write()

+ +

◆ bmp384_interface_iic_write()

@@ -375,8 +345,8 @@

-

◆ bmp384_interface_receive_callback()

+ +

◆ bmp384_interface_receive_callback()

@@ -384,8 +354,7 @@

void bmp384_interface_receive_callback ( - uint8_t  - type) + uint8_t type) @@ -401,11 +370,16 @@

Note
none

Definition at line 174 of file driver_bmp384_interface_template.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_interface_spi_deinit()

+ +

◆ bmp384_interface_spi_deinit()

@@ -413,8 +387,7 @@

uint8_t bmp384_interface_spi_deinit ( - void  - ) + void ) @@ -432,8 +405,8 @@

-

◆ bmp384_interface_spi_init()

+ +

◆ bmp384_interface_spi_init()

@@ -441,8 +414,7 @@

uint8_t bmp384_interface_spi_init ( - void  - ) + void ) @@ -460,8 +432,8 @@

-

◆ bmp384_interface_spi_read()

+ +

◆ bmp384_interface_spi_read()

@@ -512,8 +476,8 @@

-

◆ bmp384_interface_spi_write()

+ +

◆ bmp384_interface_spi_write()

diff --git a/doc/html/group__bmp384__interface__driver.md5 b/doc/html/group__bmp384__interface__driver.md5 new file mode 100644 index 0000000..c94de38 --- /dev/null +++ b/doc/html/group__bmp384__interface__driver.md5 @@ -0,0 +1 @@ +676f96f549fd0cc290cfad6a05079efa \ No newline at end of file diff --git a/doc/html/group__bmp384__interface__driver.svg b/doc/html/group__bmp384__interface__driver.svg new file mode 100644 index 0000000..ece95dd --- /dev/null +++ b/doc/html/group__bmp384__interface__driver.svg @@ -0,0 +1,37 @@ + + + + + + +bmp384 interface driver function + + +Node2 + + +bmp384 driver function + + + + + +Node1 + + +bmp384 interface driver + function + + + + + +Node2->Node1 + + + + + diff --git a/doc/html/group__bmp384__interface__driver_gac624a8495bdb6ba3a658cc06251aad3f_cgraph.md5 b/doc/html/group__bmp384__interface__driver_gac624a8495bdb6ba3a658cc06251aad3f_cgraph.md5 new file mode 100644 index 0000000..dab985c --- /dev/null +++ b/doc/html/group__bmp384__interface__driver_gac624a8495bdb6ba3a658cc06251aad3f_cgraph.md5 @@ -0,0 +1 @@ +f9a99b4252708a55e81c589a284f2b42 \ No newline at end of file diff --git a/doc/html/group__bmp384__interface__driver_gac624a8495bdb6ba3a658cc06251aad3f_cgraph.svg b/doc/html/group__bmp384__interface__driver_gac624a8495bdb6ba3a658cc06251aad3f_cgraph.svg new file mode 100644 index 0000000..88ca38e --- /dev/null +++ b/doc/html/group__bmp384__interface__driver_gac624a8495bdb6ba3a658cc06251aad3f_cgraph.svg @@ -0,0 +1,41 @@ + + + + + + +bmp384_interface_receive_callback + + +Node1 + + +bmp384_interface_receive +_callback + + + + + +Node2 + + +bmp384_interface_debug +_print + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/group__bmp384__interrupt__driver.html b/doc/html/group__bmp384__interrupt__driver.html index e287f8e..d208e54 100644 --- a/doc/html/group__bmp384__interrupt__driver.html +++ b/doc/html/group__bmp384__interrupt__driver.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: bmp384 interrupt driver function + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
bmp384 interrupt driver function
+
bmp384 interrupt driver function

bmp384 interrupt driver modules More...

+
+Collaboration diagram for bmp384 interrupt driver function:
+
+
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + +

+

Functions

uint8_t bmp384_get_interrupt_status (bmp384_handle_t *handle, uint8_t *status)
 get the interrupt status More...
 
uint8_t bmp384_set_interrupt_pin_type (bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
 set the interrupt pin type More...
 
uint8_t bmp384_get_interrupt_pin_type (bmp384_handle_t *handle, bmp384_interrupt_pin_type_t *pin_type)
 get the interrupt pin type More...
 
uint8_t bmp384_set_interrupt_active_level (bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
 set the interrupt active level More...
 
uint8_t bmp384_get_interrupt_active_level (bmp384_handle_t *handle, bmp384_interrupt_active_level_t *level)
 get the interrupt active level More...
 
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable latching interrupt pin and interrupt status More...
 
uint8_t bmp384_get_latch_interrupt_pin_and_interrupt_status (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get latching interrupt pin and interrupt status More...
 
uint8_t bmp384_set_interrupt_fifo_watermark (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo watermark interrupt More...
 
uint8_t bmp384_get_interrupt_fifo_watermark (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt fifo watermark More...
 
uint8_t bmp384_set_interrupt_fifo_full (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo full interrupt More...
 
uint8_t bmp384_get_interrupt_fifo_full (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt fifo full More...
 
uint8_t bmp384_set_interrupt_data_ready (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the data ready interrupt More...
 
uint8_t bmp384_get_interrupt_data_ready (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt data ready status More...
 
uint8_t bmp384_get_interrupt_status (bmp384_handle_t *handle, uint8_t *status)
 get the interrupt status
uint8_t bmp384_set_interrupt_pin_type (bmp384_handle_t *handle, bmp384_interrupt_pin_type_t pin_type)
 set the interrupt pin type
uint8_t bmp384_get_interrupt_pin_type (bmp384_handle_t *handle, bmp384_interrupt_pin_type_t *pin_type)
 get the interrupt pin type
uint8_t bmp384_set_interrupt_active_level (bmp384_handle_t *handle, bmp384_interrupt_active_level_t level)
 set the interrupt active level
uint8_t bmp384_get_interrupt_active_level (bmp384_handle_t *handle, bmp384_interrupt_active_level_t *level)
 get the interrupt active level
uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable latching interrupt pin and interrupt status
uint8_t bmp384_get_latch_interrupt_pin_and_interrupt_status (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get latching interrupt pin and interrupt status
uint8_t bmp384_set_interrupt_fifo_watermark (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo watermark interrupt
uint8_t bmp384_get_interrupt_fifo_watermark (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt fifo watermark
uint8_t bmp384_set_interrupt_fifo_full (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the fifo full interrupt
uint8_t bmp384_get_interrupt_fifo_full (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt fifo full
uint8_t bmp384_set_interrupt_data_ready (bmp384_handle_t *handle, bmp384_bool_t enable)
 enable or disable the data ready interrupt
uint8_t bmp384_get_interrupt_data_ready (bmp384_handle_t *handle, bmp384_bool_t *enable)
 get the interrupt data ready status
-

Detailed Description

+

Detailed Description

bmp384 interrupt driver modules

-

Function Documentation

- -

◆ bmp384_get_interrupt_active_level()

+

Function Documentation

+ +

◆ bmp384_get_interrupt_active_level()

@@ -148,19 +144,12 @@

uint8_t bmp384_get_interrupt_active_level ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_interrupt_active_level_t *  - level  - - - - ) - + bmp384_interrupt_active_level_t * level )

@@ -186,8 +175,8 @@

-

◆ bmp384_get_interrupt_data_ready()

+ +

◆ bmp384_get_interrupt_data_ready()

@@ -195,19 +184,12 @@

uint8_t bmp384_get_interrupt_data_ready ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t *  - enable  - - - - ) - + bmp384_bool_t * enable )

@@ -233,8 +215,8 @@

-

◆ bmp384_get_interrupt_fifo_full()

+ +

◆ bmp384_get_interrupt_fifo_full()

@@ -242,19 +224,12 @@

uint8_t bmp384_get_interrupt_fifo_full ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t *  - enable  - - - - ) - + bmp384_bool_t * enable )

@@ -280,8 +255,8 @@

-

◆ bmp384_get_interrupt_fifo_watermark()

+ +

◆ bmp384_get_interrupt_fifo_watermark()

@@ -289,19 +264,12 @@

uint8_t bmp384_get_interrupt_fifo_watermark ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t *  - enable  - - - - ) - + bmp384_bool_t * enable )

@@ -327,8 +295,8 @@

-

◆ bmp384_get_interrupt_pin_type()

+ +

◆ bmp384_get_interrupt_pin_type()

@@ -336,19 +304,12 @@

uint8_t bmp384_get_interrupt_pin_type ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_interrupt_pin_type_t *  - pin_type  - - - - ) - + bmp384_interrupt_pin_type_t * pin_type )

@@ -374,8 +335,8 @@

-

◆ bmp384_get_interrupt_status()

+ +

◆ bmp384_get_interrupt_status()

@@ -383,19 +344,12 @@

uint8_t bmp384_get_interrupt_status ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - uint8_t *  - status  - - - - ) - + uint8_t * status )

@@ -421,8 +375,8 @@

-

◆ bmp384_get_latch_interrupt_pin_and_interrupt_status()

+ +

◆ bmp384_get_latch_interrupt_pin_and_interrupt_status()

@@ -430,19 +384,12 @@

uint8_t bmp384_get_latch_interrupt_pin_and_interrupt_status ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t *  - enable  - - - - ) - + bmp384_bool_t * enable )

@@ -468,8 +415,8 @@

-

◆ bmp384_set_interrupt_active_level()

+ +

◆ bmp384_set_interrupt_active_level()

@@ -515,8 +455,8 @@

-

◆ bmp384_set_interrupt_data_ready()

+ +

◆ bmp384_set_interrupt_data_ready()

@@ -524,19 +464,12 @@

uint8_t bmp384_set_interrupt_data_ready ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t  - enable  - - - - ) - + bmp384_bool_t enable )

@@ -562,8 +495,8 @@

-

◆ bmp384_set_interrupt_fifo_full()

+ +

◆ bmp384_set_interrupt_fifo_full()

@@ -571,19 +504,12 @@

uint8_t bmp384_set_interrupt_fifo_full ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t  - enable  - - - - ) - + bmp384_bool_t enable )

@@ -609,8 +535,8 @@

-

◆ bmp384_set_interrupt_fifo_watermark()

+ +

◆ bmp384_set_interrupt_fifo_watermark()

@@ -618,19 +544,12 @@

uint8_t bmp384_set_interrupt_fifo_watermark ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t  - enable  - - - - ) - + bmp384_bool_t enable )

@@ -656,8 +575,8 @@

-

◆ bmp384_set_interrupt_pin_type()

+ +

◆ bmp384_set_interrupt_pin_type()

@@ -665,19 +584,12 @@

uint8_t bmp384_set_interrupt_pin_type ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_interrupt_pin_type_t  - pin_type  - - - - ) - + bmp384_interrupt_pin_type_t pin_type )

@@ -703,8 +615,8 @@

-

◆ bmp384_set_latch_interrupt_pin_and_interrupt_status()

+ +

◆ bmp384_set_latch_interrupt_pin_and_interrupt_status()

@@ -712,19 +624,12 @@

uint8_t bmp384_set_latch_interrupt_pin_and_interrupt_status ( - bmp384_handle_t *  - handle, + bmp384_handle_t * handle, - bmp384_bool_t  - enable  - - - - ) - + bmp384_bool_t enable )

@@ -752,10 +657,18 @@

+ + +

+
diff --git a/doc/html/group__bmp384__interrupt__driver.md5 b/doc/html/group__bmp384__interrupt__driver.md5 new file mode 100644 index 0000000..eabc2ce --- /dev/null +++ b/doc/html/group__bmp384__interrupt__driver.md5 @@ -0,0 +1 @@ +1989e95a4983db54a0613701022214a5 \ No newline at end of file diff --git a/doc/html/group__bmp384__interrupt__driver.svg b/doc/html/group__bmp384__interrupt__driver.svg new file mode 100644 index 0000000..f1369f9 --- /dev/null +++ b/doc/html/group__bmp384__interrupt__driver.svg @@ -0,0 +1,37 @@ + + + + + + +bmp384 interrupt driver function + + +Node2 + + +bmp384 driver function + + + + + +Node1 + + +bmp384 interrupt driver + function + + + + + +Node2->Node1 + + + + + diff --git a/doc/html/group__bmp384__link__driver.html b/doc/html/group__bmp384__link__driver.html index 961a724..02bb50f 100644 --- a/doc/html/group__bmp384__link__driver.html +++ b/doc/html/group__bmp384__link__driver.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: bmp384 link driver function + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +

@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
bmp384 link driver function
+
bmp384 link driver function

bmp384 link driver modules More...

+
+Collaboration diagram for bmp384 link driver function:
+
+
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

+

Macros

#define DRIVER_BMP384_LINK_INIT(HANDLE, STRUCTURE)   memset(HANDLE, 0, sizeof(STRUCTURE))
 initialize bmp384_handle_t structure More...
 
#define DRIVER_BMP384_LINK_IIC_INIT(HANDLE, FUC)   (HANDLE)->iic_init = FUC
 link iic_init function More...
 
#define DRIVER_BMP384_LINK_IIC_DEINIT(HANDLE, FUC)   (HANDLE)->iic_deinit = FUC
 link iic_deinit function More...
 
#define DRIVER_BMP384_LINK_IIC_READ(HANDLE, FUC)   (HANDLE)->iic_read = FUC
 link iic_read function More...
 
#define DRIVER_BMP384_LINK_IIC_WRITE(HANDLE, FUC)   (HANDLE)->iic_write = FUC
 link iic_write function More...
 
#define DRIVER_BMP384_LINK_SPI_INIT(HANDLE, FUC)   (HANDLE)->spi_init = FUC
 link spi_init function More...
 
#define DRIVER_BMP384_LINK_SPI_DEINIT(HANDLE, FUC)   (HANDLE)->spi_deinit = FUC
 link spi_deinit function More...
 
#define DRIVER_BMP384_LINK_SPI_READ(HANDLE, FUC)   (HANDLE)->spi_read = FUC
 link spi_read function More...
 
#define DRIVER_BMP384_LINK_SPI_WRITE(HANDLE, FUC)   (HANDLE)->spi_write = FUC
 link spi_write function More...
 
#define DRIVER_BMP384_LINK_DELAY_MS(HANDLE, FUC)   (HANDLE)->delay_ms = FUC
 link delay_ms function More...
 
#define DRIVER_BMP384_LINK_DEBUG_PRINT(HANDLE, FUC)   (HANDLE)->debug_print = FUC
 link debug_print function More...
 
#define DRIVER_BMP384_LINK_RECEIVE_CALLBACK(HANDLE, FUC)   (HANDLE)->receive_callback = FUC
 link receive_callback function More...
 
#define DRIVER_BMP384_LINK_INIT(HANDLE, STRUCTURE)
 initialize bmp384_handle_t structure
#define DRIVER_BMP384_LINK_IIC_INIT(HANDLE, FUC)
 link iic_init function
#define DRIVER_BMP384_LINK_IIC_DEINIT(HANDLE, FUC)
 link iic_deinit function
#define DRIVER_BMP384_LINK_IIC_READ(HANDLE, FUC)
 link iic_read function
#define DRIVER_BMP384_LINK_IIC_WRITE(HANDLE, FUC)
 link iic_write function
#define DRIVER_BMP384_LINK_SPI_INIT(HANDLE, FUC)
 link spi_init function
#define DRIVER_BMP384_LINK_SPI_DEINIT(HANDLE, FUC)
 link spi_deinit function
#define DRIVER_BMP384_LINK_SPI_READ(HANDLE, FUC)
 link spi_read function
#define DRIVER_BMP384_LINK_SPI_WRITE(HANDLE, FUC)
 link spi_write function
#define DRIVER_BMP384_LINK_DELAY_MS(HANDLE, FUC)
 link delay_ms function
#define DRIVER_BMP384_LINK_DEBUG_PRINT(HANDLE, FUC)
 link debug_print function
#define DRIVER_BMP384_LINK_RECEIVE_CALLBACK(HANDLE, FUC)
 link receive_callback function
-

Detailed Description

+

Detailed Description

bmp384 link driver modules

-

Macro Definition Documentation

- -

◆ DRIVER_BMP384_LINK_DEBUG_PRINT

+

Macro Definition Documentation

+ +

◆ DRIVER_BMP384_LINK_DEBUG_PRINT

- -

initialize bmp384_handle_t structure

+Value:
memset(HANDLE, 0, sizeof(STRUCTURE))
+
+

initialize bmp384_handle_t structure

Parameters
- +
[in]HANDLEpointer to a bmp384 handle structure
[in]STRUCTUREbmp384_handle_t
[in]STRUCTUREbmp384_handle_t
@@ -416,8 +371,8 @@

-

◆ DRIVER_BMP384_LINK_RECEIVE_CALLBACK

+ +

◆ DRIVER_BMP384_LINK_RECEIVE_CALLBACK

- + + +
@@ -64,10 +65,9 @@

+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
- -
-
bmp384 test driver function
+
bmp384 test driver function

bmp384 test driver modules More...

+
+Collaboration diagram for bmp384 test driver function:
+
+
+
- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

+

Functions

uint8_t bmp384_fifo_test_irq_handler (void)
 fifo test irq handler More...
 
uint8_t bmp384_fifo_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 fifo test More...
 
uint8_t bmp384_interrupt_test_irq_handler (void)
 interrupt test irq handler More...
 
uint8_t bmp384_interrupt_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 interrupt test More...
 
uint8_t bmp384_read_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 read test More...
 
uint8_t bmp384_register_test (bmp384_interface_t interface, bmp384_address_t addr_pin)
 register test More...
 
uint8_t bmp384_fifo_test_irq_handler (void)
 fifo test irq handler
uint8_t bmp384_fifo_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 fifo test
uint8_t bmp384_interrupt_test_irq_handler (void)
 interrupt test irq handler
uint8_t bmp384_interrupt_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 interrupt test
uint8_t bmp384_read_test (bmp384_interface_t interface, bmp384_address_t addr_pin, uint32_t times)
 read test
uint8_t bmp384_register_test (bmp384_interface_t interface, bmp384_address_t addr_pin)
 register test
-

Detailed Description

+

Detailed Description

bmp384 test driver modules

-

Function Documentation

- -

◆ bmp384_fifo_test()

+

Function Documentation

+ +

◆ bmp384_fifo_test()

@@ -127,25 +130,17 @@

uint8_t bmp384_fifo_test ( - bmp384_interface_t  - interface, + bmp384_interface_t interface, - bmp384_address_t  - addr_pin, + bmp384_address_t addr_pin, - uint32_t  - times  - - - - ) - + uint32_t times )

@@ -167,11 +162,16 @@

Note
none

Definition at line 149 of file driver_bmp384_fifo_test.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_fifo_test_irq_handler()

+ +

◆ bmp384_fifo_test_irq_handler()

@@ -179,8 +179,7 @@

uint8_t bmp384_fifo_test_irq_handler ( - void  - ) + void ) @@ -195,11 +194,16 @@

Note
none

Definition at line 52 of file driver_bmp384_fifo_test.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_interrupt_test()

+ +

◆ bmp384_interrupt_test()

@@ -207,25 +211,17 @@

uint8_t bmp384_interrupt_test ( - bmp384_interface_t  - interface, + bmp384_interface_t interface, - bmp384_address_t  - addr_pin, + bmp384_address_t addr_pin, - uint32_t  - times  - - - - ) - + uint32_t times )

@@ -247,11 +243,16 @@

Note
none

Definition at line 115 of file driver_bmp384_interrupt_test.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_interrupt_test_irq_handler()

+ +

◆ bmp384_interrupt_test_irq_handler()

@@ -259,8 +260,7 @@

uint8_t bmp384_interrupt_test_irq_handler ( - void  - ) + void ) @@ -275,11 +275,16 @@

Note
none

Definition at line 51 of file driver_bmp384_interrupt_test.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_read_test()

+ +

◆ bmp384_read_test()

@@ -287,25 +292,17 @@

uint8_t bmp384_read_test ( - bmp384_interface_t  - interface, + bmp384_interface_t interface, - bmp384_address_t  - addr_pin, + bmp384_address_t addr_pin, - uint32_t  - times  - - - - ) - + uint32_t times )

@@ -327,11 +324,16 @@

Note
none

Definition at line 51 of file driver_bmp384_read_test.c.

+
+Here is the call graph for this function:
+
+
+

- -

◆ bmp384_register_test()

+ +

◆ bmp384_register_test()

@@ -339,19 +341,12 @@

uint8_t bmp384_register_test ( - bmp384_interface_t  - interface, + bmp384_interface_t interface, - bmp384_address_t  - addr_pin  - - - - ) - + bmp384_address_t addr_pin )

@@ -372,15 +367,28 @@

Note
none

Definition at line 51 of file driver_bmp384_register_test.c.

+
+Here is the call graph for this function:
+
+
+

+ +
diff --git a/doc/html/group__bmp384__test__driver.md5 b/doc/html/group__bmp384__test__driver.md5 new file mode 100644 index 0000000..bbfc8f1 --- /dev/null +++ b/doc/html/group__bmp384__test__driver.md5 @@ -0,0 +1 @@ +86112c554810b507b22762e4358d8dc8 \ No newline at end of file diff --git a/doc/html/group__bmp384__test__driver.svg b/doc/html/group__bmp384__test__driver.svg new file mode 100644 index 0000000..a308577 --- /dev/null +++ b/doc/html/group__bmp384__test__driver.svg @@ -0,0 +1,37 @@ + + + + + + +bmp384 test driver function + + +Node2 + + +bmp384 driver function + + + + + +Node1 + + +bmp384 test driver + function + + + + + +Node2->Node1 + + + + + diff --git a/doc/html/group__bmp384__test__driver_ga793850b60072c06f243a0241f06739ec_cgraph.md5 b/doc/html/group__bmp384__test__driver_ga793850b60072c06f243a0241f06739ec_cgraph.md5 new file mode 100644 index 0000000..8fb3774 --- /dev/null +++ b/doc/html/group__bmp384__test__driver_ga793850b60072c06f243a0241f06739ec_cgraph.md5 @@ -0,0 +1 @@ +c48153426c2a3d0518fad7966015cf63 \ No newline at end of file diff --git a/doc/html/group__bmp384__test__driver_ga793850b60072c06f243a0241f06739ec_cgraph.svg b/doc/html/group__bmp384__test__driver_ga793850b60072c06f243a0241f06739ec_cgraph.svg new file mode 100644 index 0000000..5733e77 --- /dev/null +++ b/doc/html/group__bmp384__test__driver_ga793850b60072c06f243a0241f06739ec_cgraph.svg @@ -0,0 +1,1429 @@ + + + + + + +bmp384_register_test + + +Node1 + + +bmp384_register_test + + + + + +Node2 + + +bmp384_deinit + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +bmp384_extmode_en_middle + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +bmp384_flush_fifo + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +bmp384_get_addr_pin + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +bmp384_get_error + + + + + +Node1->Node6 + + + + + + + + +Node7 + + +bmp384_get_event + + + + + +Node1->Node7 + + + + + + + + +Node8 + + +bmp384_get_fifo + + + + + +Node1->Node8 + + + + + + + + +Node9 + + +bmp384_get_fifo_data + + + + + +Node1->Node9 + + + + + + + + +Node10 + + +bmp384_get_fifo_data +_source + + + + + +Node1->Node10 + + + + + + + + +Node11 + + +bmp384_get_fifo_length + + + + + +Node1->Node11 + + + + + + + + +Node12 + + +bmp384_get_fifo_pressure_on + + + + + +Node1->Node12 + + + + + + + + +Node13 + + +bmp384_get_fifo_sensortime_on + + + + + +Node1->Node13 + + + + + + + + +Node14 + + +bmp384_get_fifo_stop +_on_full + + + + + +Node1->Node14 + + + + + + + + +Node15 + + +bmp384_get_fifo_subsampling + + + + + +Node1->Node15 + + + + + + + + +Node16 + + +bmp384_get_fifo_temperature_on + + + + + +Node1->Node16 + + + + + + + + +Node17 + + +bmp384_get_fifo_watermark + + + + + +Node1->Node17 + + + + + + + + +Node18 + + +bmp384_get_filter_coefficient + + + + + +Node1->Node18 + + + + + + + + +Node19 + + +bmp384_get_iic_watchdog +_period + + + + + +Node1->Node19 + + + + + + + + +Node20 + + +bmp384_get_iic_watchdog +_timer + + + + + +Node1->Node20 + + + + + + + + +Node21 + + +bmp384_get_interface + + + + + +Node1->Node21 + + + + + + + + +Node22 + + +bmp384_get_interrupt +_active_level + + + + + +Node1->Node22 + + + + + + + + +Node23 + + +bmp384_get_interrupt +_data_ready + + + + + +Node1->Node23 + + + + + + + + +Node24 + + +bmp384_get_interrupt +_fifo_full + + + + + +Node1->Node24 + + + + + + + + +Node25 + + +bmp384_get_interrupt +_fifo_watermark + + + + + +Node1->Node25 + + + + + + + + +Node26 + + +bmp384_get_interrupt +_pin_type + + + + + +Node1->Node26 + + + + + + + + +Node27 + + +bmp384_get_interrupt +_status + + + + + +Node1->Node27 + + + + + + + + +Node28 + + +bmp384_get_latch_interrupt +_pin_and_interrupt_status + + + + + +Node1->Node28 + + + + + + + + +Node29 + + +bmp384_get_mode + + + + + +Node1->Node29 + + + + + + + + +Node30 + + +bmp384_get_odr + + + + + +Node1->Node30 + + + + + + + + +Node31 + + +bmp384_get_pressure + + + + + +Node1->Node31 + + + + + + + + +Node32 + + +bmp384_get_pressure +_oversampling + + + + + +Node1->Node32 + + + + + + + + +Node33 + + +bmp384_get_sensortime + + + + + +Node1->Node33 + + + + + + + + +Node34 + + +bmp384_get_spi_wire + + + + + +Node1->Node34 + + + + + + + + +Node35 + + +bmp384_get_status + + + + + +Node1->Node35 + + + + + + + + +Node36 + + +bmp384_get_temperature + + + + + +Node1->Node36 + + + + + + + + +Node37 + + +bmp384_get_temperature +_oversampling + + + + + +Node1->Node37 + + + + + + + + +Node38 + + +bmp384_info + + + + + +Node1->Node38 + + + + + + + + +Node39 + + +bmp384_init + + + + + +Node1->Node39 + + + + + + + + +Node40 + + +bmp384_interface_debug +_print + + + + + +Node1->Node40 + + + + + + + + +Node41 + + +bmp384_interface_delay_ms + + + + + +Node1->Node41 + + + + + + + + +Node42 + + +bmp384_interface_iic +_deinit + + + + + +Node1->Node42 + + + + + + + + +Node43 + + +bmp384_interface_iic_init + + + + + +Node1->Node43 + + + + + + + + +Node44 + + +bmp384_interface_iic_read + + + + + +Node1->Node44 + + + + + + + + +Node45 + + +bmp384_interface_iic +_write + + + + + +Node1->Node45 + + + + + + + + +Node46 + + +bmp384_interface_receive +_callback + + + + + +Node1->Node46 + + + + + + + + +Node47 + + +bmp384_interface_spi +_deinit + + + + + +Node1->Node47 + + + + + + + + +Node48 + + +bmp384_interface_spi_init + + + + + +Node1->Node48 + + + + + + + + +Node49 + + +bmp384_interface_spi_read + + + + + +Node1->Node49 + + + + + + + + +Node50 + + +bmp384_interface_spi +_write + + + + + +Node1->Node50 + + + + + + + + +Node51 + + +bmp384_set_addr_pin + + + + + +Node1->Node51 + + + + + + + + +Node52 + + +bmp384_set_fifo + + + + + +Node1->Node52 + + + + + + + + +Node53 + + +bmp384_set_fifo_data +_source + + + + + +Node1->Node53 + + + + + + + + +Node54 + + +bmp384_set_fifo_pressure_on + + + + + +Node1->Node54 + + + + + + + + +Node55 + + +bmp384_set_fifo_sensortime_on + + + + + +Node1->Node55 + + + + + + + + +Node56 + + +bmp384_set_fifo_stop +_on_full + + + + + +Node1->Node56 + + + + + + + + +Node57 + + +bmp384_set_fifo_subsampling + + + + + +Node1->Node57 + + + + + + + + +Node58 + + +bmp384_set_fifo_temperature_on + + + + + +Node1->Node58 + + + + + + + + +Node59 + + +bmp384_set_fifo_watermark + + + + + +Node1->Node59 + + + + + + + + +Node60 + + +bmp384_set_filter_coefficient + + + + + +Node1->Node60 + + + + + + + + +Node61 + + +bmp384_set_iic_watchdog +_period + + + + + +Node1->Node61 + + + + + + + + +Node62 + + +bmp384_set_iic_watchdog +_timer + + + + + +Node1->Node62 + + + + + + + + +Node63 + + +bmp384_set_interface + + + + + +Node1->Node63 + + + + + + + + +Node64 + + +bmp384_set_interrupt +_active_level + + + + + +Node1->Node64 + + + + + + + + +Node65 + + +bmp384_set_interrupt +_data_ready + + + + + +Node1->Node65 + + + + + + + + +Node66 + + +bmp384_set_interrupt +_fifo_full + + + + + +Node1->Node66 + + + + + + + + +Node67 + + +bmp384_set_interrupt +_fifo_watermark + + + + + +Node1->Node67 + + + + + + + + +Node68 + + +bmp384_set_interrupt +_pin_type + + + + + +Node1->Node68 + + + + + + + + +Node69 + + +bmp384_set_latch_interrupt +_pin_and_interrupt_status + + + + + +Node1->Node69 + + + + + + + + +Node70 + + +bmp384_set_mode + + + + + +Node1->Node70 + + + + + + + + +Node71 + + +bmp384_set_odr + + + + + +Node1->Node71 + + + + + + + + +Node72 + + +bmp384_set_pressure + + + + + +Node1->Node72 + + + + + + + + +Node73 + + +bmp384_set_pressure +_oversampling + + + + + +Node1->Node73 + + + + + + + + +Node74 + + +bmp384_set_spi_wire + + + + + +Node1->Node74 + + + + + + + + +Node75 + + +bmp384_set_temperature + + + + + +Node1->Node75 + + + + + + + + +Node76 + + +bmp384_set_temperature +_oversampling + + + + + +Node1->Node76 + + + + + + + + +Node77 + + +bmp384_softreset + + + + + +Node1->Node77 + + + + + + + + +Node46->Node40 + + + + + + + + diff --git a/doc/html/group__bmp384__test__driver_ga794014321b7bf673ec6b2e16ec1ca418_cgraph.md5 b/doc/html/group__bmp384__test__driver_ga794014321b7bf673ec6b2e16ec1ca418_cgraph.md5 new file mode 100644 index 0000000..581a155 --- /dev/null +++ b/doc/html/group__bmp384__test__driver_ga794014321b7bf673ec6b2e16ec1ca418_cgraph.md5 @@ -0,0 +1 @@ +a9c94594a1812364af804db42fdcbeb4 \ No newline at end of file diff --git a/doc/html/group__bmp384__test__driver_ga794014321b7bf673ec6b2e16ec1ca418_cgraph.svg b/doc/html/group__bmp384__test__driver_ga794014321b7bf673ec6b2e16ec1ca418_cgraph.svg new file mode 100644 index 0000000..59f7863 --- /dev/null +++ b/doc/html/group__bmp384__test__driver_ga794014321b7bf673ec6b2e16ec1ca418_cgraph.svg @@ -0,0 +1,740 @@ + + + + + + +bmp384_interrupt_test + + +Node1 + + +bmp384_interrupt_test + + + + + +Node2 + + +bmp384_deinit + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +bmp384_info + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +bmp384_init + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +bmp384_interface_debug +_print + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +bmp384_interface_delay_ms + + + + + +Node1->Node6 + + + + + + + + +Node7 + + +bmp384_interface_iic +_deinit + + + + + +Node1->Node7 + + + + + + + + +Node8 + + +bmp384_interface_iic_init + + + + + +Node1->Node8 + + + + + + + + +Node9 + + +bmp384_interface_iic_read + + + + + +Node1->Node9 + + + + + + + + +Node10 + + +bmp384_interface_iic +_write + + + + + +Node1->Node10 + + + + + + + + +Node11 + + +bmp384_interface_spi +_deinit + + + + + +Node1->Node11 + + + + + + + + +Node12 + + +bmp384_interface_spi_init + + + + + +Node1->Node12 + + + + + + + + +Node13 + + +bmp384_interface_spi_read + + + + + +Node1->Node13 + + + + + + + + +Node14 + + +bmp384_interface_spi +_write + + + + + +Node1->Node14 + + + + + + + + +Node15 + + +bmp384_set_addr_pin + + + + + +Node1->Node15 + + + + + + + + +Node16 + + +bmp384_set_fifo + + + + + +Node1->Node16 + + + + + + + + +Node17 + + +bmp384_set_fifo_data +_source + + + + + +Node1->Node17 + + + + + + + + +Node18 + + +bmp384_set_fifo_pressure_on + + + + + +Node1->Node18 + + + + + + + + +Node19 + + +bmp384_set_fifo_sensortime_on + + + + + +Node1->Node19 + + + + + + + + +Node20 + + +bmp384_set_fifo_stop +_on_full + + + + + +Node1->Node20 + + + + + + + + +Node21 + + +bmp384_set_fifo_subsampling + + + + + +Node1->Node21 + + + + + + + + +Node22 + + +bmp384_set_fifo_temperature_on + + + + + +Node1->Node22 + + + + + + + + +Node23 + + +bmp384_set_fifo_watermark + + + + + +Node1->Node23 + + + + + + + + +Node24 + + +bmp384_set_filter_coefficient + + + + + +Node1->Node24 + + + + + + + + +Node25 + + +bmp384_set_iic_watchdog +_period + + + + + +Node1->Node25 + + + + + + + + +Node26 + + +bmp384_set_iic_watchdog +_timer + + + + + +Node1->Node26 + + + + + + + + +Node27 + + +bmp384_set_interface + + + + + +Node1->Node27 + + + + + + + + +Node28 + + +bmp384_set_interrupt +_active_level + + + + + +Node1->Node28 + + + + + + + + +Node29 + + +bmp384_set_interrupt +_data_ready + + + + + +Node1->Node29 + + + + + + + + +Node30 + + +bmp384_set_interrupt +_fifo_full + + + + + +Node1->Node30 + + + + + + + + +Node31 + + +bmp384_set_interrupt +_fifo_watermark + + + + + +Node1->Node31 + + + + + + + + +Node32 + + +bmp384_set_interrupt +_pin_type + + + + + +Node1->Node32 + + + + + + + + +Node33 + + +bmp384_set_latch_interrupt +_pin_and_interrupt_status + + + + + +Node1->Node33 + + + + + + + + +Node34 + + +bmp384_set_mode + + + + + +Node1->Node34 + + + + + + + + +Node35 + + +bmp384_set_odr + + + + + +Node1->Node35 + + + + + + + + +Node36 + + +bmp384_set_pressure + + + + + +Node1->Node36 + + + + + + + + +Node37 + + +bmp384_set_pressure +_oversampling + + + + + +Node1->Node37 + + + + + + + + +Node38 + + +bmp384_set_spi_wire + + + + + +Node1->Node38 + + + + + + + + +Node39 + + +bmp384_set_temperature + + + + + +Node1->Node39 + + + + + + + + +Node40 + + +bmp384_set_temperature +_oversampling + + + + + +Node1->Node40 + + + + + + + + diff --git a/doc/html/group__bmp384__test__driver_ga7b8775714c84396af1482ffe0378681a_cgraph.md5 b/doc/html/group__bmp384__test__driver_ga7b8775714c84396af1482ffe0378681a_cgraph.md5 new file mode 100644 index 0000000..ea839d4 --- /dev/null +++ b/doc/html/group__bmp384__test__driver_ga7b8775714c84396af1482ffe0378681a_cgraph.md5 @@ -0,0 +1 @@ +ff3d440b7d7e8bb8a6dc79cf2bb2a558 \ No newline at end of file diff --git a/doc/html/group__bmp384__test__driver_ga7b8775714c84396af1482ffe0378681a_cgraph.svg b/doc/html/group__bmp384__test__driver_ga7b8775714c84396af1482ffe0378681a_cgraph.svg new file mode 100644 index 0000000..4a62ffe --- /dev/null +++ b/doc/html/group__bmp384__test__driver_ga7b8775714c84396af1482ffe0378681a_cgraph.svg @@ -0,0 +1,740 @@ + + + + + + +bmp384_fifo_test + + +Node1 + + +bmp384_fifo_test + + + + + +Node2 + + +bmp384_deinit + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +bmp384_info + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +bmp384_init + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +bmp384_interface_debug +_print + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +bmp384_interface_delay_ms + + + + + +Node1->Node6 + + + + + + + + +Node7 + + +bmp384_interface_iic +_deinit + + + + + +Node1->Node7 + + + + + + + + +Node8 + + +bmp384_interface_iic_init + + + + + +Node1->Node8 + + + + + + + + +Node9 + + +bmp384_interface_iic_read + + + + + +Node1->Node9 + + + + + + + + +Node10 + + +bmp384_interface_iic +_write + + + + + +Node1->Node10 + + + + + + + + +Node11 + + +bmp384_interface_spi +_deinit + + + + + +Node1->Node11 + + + + + + + + +Node12 + + +bmp384_interface_spi_init + + + + + +Node1->Node12 + + + + + + + + +Node13 + + +bmp384_interface_spi_read + + + + + +Node1->Node13 + + + + + + + + +Node14 + + +bmp384_interface_spi +_write + + + + + +Node1->Node14 + + + + + + + + +Node15 + + +bmp384_set_addr_pin + + + + + +Node1->Node15 + + + + + + + + +Node16 + + +bmp384_set_fifo + + + + + +Node1->Node16 + + + + + + + + +Node17 + + +bmp384_set_fifo_data +_source + + + + + +Node1->Node17 + + + + + + + + +Node18 + + +bmp384_set_fifo_pressure_on + + + + + +Node1->Node18 + + + + + + + + +Node19 + + +bmp384_set_fifo_sensortime_on + + + + + +Node1->Node19 + + + + + + + + +Node20 + + +bmp384_set_fifo_stop +_on_full + + + + + +Node1->Node20 + + + + + + + + +Node21 + + +bmp384_set_fifo_subsampling + + + + + +Node1->Node21 + + + + + + + + +Node22 + + +bmp384_set_fifo_temperature_on + + + + + +Node1->Node22 + + + + + + + + +Node23 + + +bmp384_set_fifo_watermark + + + + + +Node1->Node23 + + + + + + + + +Node24 + + +bmp384_set_filter_coefficient + + + + + +Node1->Node24 + + + + + + + + +Node25 + + +bmp384_set_iic_watchdog +_period + + + + + +Node1->Node25 + + + + + + + + +Node26 + + +bmp384_set_iic_watchdog +_timer + + + + + +Node1->Node26 + + + + + + + + +Node27 + + +bmp384_set_interface + + + + + +Node1->Node27 + + + + + + + + +Node28 + + +bmp384_set_interrupt +_active_level + + + + + +Node1->Node28 + + + + + + + + +Node29 + + +bmp384_set_interrupt +_data_ready + + + + + +Node1->Node29 + + + + + + + + +Node30 + + +bmp384_set_interrupt +_fifo_full + + + + + +Node1->Node30 + + + + + + + + +Node31 + + +bmp384_set_interrupt +_fifo_watermark + + + + + +Node1->Node31 + + + + + + + + +Node32 + + +bmp384_set_interrupt +_pin_type + + + + + +Node1->Node32 + + + + + + + + +Node33 + + +bmp384_set_latch_interrupt +_pin_and_interrupt_status + + + + + +Node1->Node33 + + + + + + + + +Node34 + + +bmp384_set_mode + + + + + +Node1->Node34 + + + + + + + + +Node35 + + +bmp384_set_odr + + + + + +Node1->Node35 + + + + + + + + +Node36 + + +bmp384_set_pressure + + + + + +Node1->Node36 + + + + + + + + +Node37 + + +bmp384_set_pressure +_oversampling + + + + + +Node1->Node37 + + + + + + + + +Node38 + + +bmp384_set_spi_wire + + + + + +Node1->Node38 + + + + + + + + +Node39 + + +bmp384_set_temperature + + + + + +Node1->Node39 + + + + + + + + +Node40 + + +bmp384_set_temperature +_oversampling + + + + + +Node1->Node40 + + + + + + + + diff --git a/doc/html/group__bmp384__test__driver_ga7ec44cd8a80c4fb5467361300f5f8ab0_cgraph.md5 b/doc/html/group__bmp384__test__driver_ga7ec44cd8a80c4fb5467361300f5f8ab0_cgraph.md5 new file mode 100644 index 0000000..f419fb7 --- /dev/null +++ b/doc/html/group__bmp384__test__driver_ga7ec44cd8a80c4fb5467361300f5f8ab0_cgraph.md5 @@ -0,0 +1 @@ +d93e1e897eb227aaf835b4c22b0ac46a \ No newline at end of file diff --git a/doc/html/group__bmp384__test__driver_ga7ec44cd8a80c4fb5467361300f5f8ab0_cgraph.svg b/doc/html/group__bmp384__test__driver_ga7ec44cd8a80c4fb5467361300f5f8ab0_cgraph.svg new file mode 100644 index 0000000..eadc9ab --- /dev/null +++ b/doc/html/group__bmp384__test__driver_ga7ec44cd8a80c4fb5467361300f5f8ab0_cgraph.svg @@ -0,0 +1,787 @@ + + + + + + +bmp384_read_test + + +Node1 + + +bmp384_read_test + + + + + +Node2 + + +bmp384_deinit + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +bmp384_info + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +bmp384_init + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +bmp384_interface_debug +_print + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +bmp384_interface_delay_ms + + + + + +Node1->Node6 + + + + + + + + +Node7 + + +bmp384_interface_iic +_deinit + + + + + +Node1->Node7 + + + + + + + + +Node8 + + +bmp384_interface_iic_init + + + + + +Node1->Node8 + + + + + + + + +Node9 + + +bmp384_interface_iic_read + + + + + +Node1->Node9 + + + + + + + + +Node10 + + +bmp384_interface_iic +_write + + + + + +Node1->Node10 + + + + + + + + +Node11 + + +bmp384_interface_receive +_callback + + + + + +Node1->Node11 + + + + + + + + +Node12 + + +bmp384_interface_spi +_deinit + + + + + +Node1->Node12 + + + + + + + + +Node13 + + +bmp384_interface_spi_init + + + + + +Node1->Node13 + + + + + + + + +Node14 + + +bmp384_interface_spi_read + + + + + +Node1->Node14 + + + + + + + + +Node15 + + +bmp384_interface_spi +_write + + + + + +Node1->Node15 + + + + + + + + +Node16 + + +bmp384_read_temperature +_pressure + + + + + +Node1->Node16 + + + + + + + + +Node17 + + +bmp384_set_addr_pin + + + + + +Node1->Node17 + + + + + + + + +Node18 + + +bmp384_set_fifo + + + + + +Node1->Node18 + + + + + + + + +Node19 + + +bmp384_set_fifo_data +_source + + + + + +Node1->Node19 + + + + + + + + +Node20 + + +bmp384_set_fifo_pressure_on + + + + + +Node1->Node20 + + + + + + + + +Node21 + + +bmp384_set_fifo_sensortime_on + + + + + +Node1->Node21 + + + + + + + + +Node22 + + +bmp384_set_fifo_stop +_on_full + + + + + +Node1->Node22 + + + + + + + + +Node23 + + +bmp384_set_fifo_subsampling + + + + + +Node1->Node23 + + + + + + + + +Node24 + + +bmp384_set_fifo_temperature_on + + + + + +Node1->Node24 + + + + + + + + +Node25 + + +bmp384_set_fifo_watermark + + + + + +Node1->Node25 + + + + + + + + +Node26 + + +bmp384_set_filter_coefficient + + + + + +Node1->Node26 + + + + + + + + +Node27 + + +bmp384_set_iic_watchdog +_period + + + + + +Node1->Node27 + + + + + + + + +Node28 + + +bmp384_set_iic_watchdog +_timer + + + + + +Node1->Node28 + + + + + + + + +Node29 + + +bmp384_set_interface + + + + + +Node1->Node29 + + + + + + + + +Node30 + + +bmp384_set_interrupt +_active_level + + + + + +Node1->Node30 + + + + + + + + +Node31 + + +bmp384_set_interrupt +_data_ready + + + + + +Node1->Node31 + + + + + + + + +Node32 + + +bmp384_set_interrupt +_fifo_full + + + + + +Node1->Node32 + + + + + + + + +Node33 + + +bmp384_set_interrupt +_fifo_watermark + + + + + +Node1->Node33 + + + + + + + + +Node34 + + +bmp384_set_interrupt +_pin_type + + + + + +Node1->Node34 + + + + + + + + +Node35 + + +bmp384_set_latch_interrupt +_pin_and_interrupt_status + + + + + +Node1->Node35 + + + + + + + + +Node36 + + +bmp384_set_mode + + + + + +Node1->Node36 + + + + + + + + +Node37 + + +bmp384_set_odr + + + + + +Node1->Node37 + + + + + + + + +Node38 + + +bmp384_set_pressure + + + + + +Node1->Node38 + + + + + + + + +Node39 + + +bmp384_set_pressure +_oversampling + + + + + +Node1->Node39 + + + + + + + + +Node40 + + +bmp384_set_spi_wire + + + + + +Node1->Node40 + + + + + + + + +Node41 + + +bmp384_set_temperature + + + + + +Node1->Node41 + + + + + + + + +Node42 + + +bmp384_set_temperature +_oversampling + + + + + +Node1->Node42 + + + + + + + + +Node11->Node5 + + + + + + + + diff --git a/doc/html/group__bmp384__test__driver_gab30d2d05c9d54b0324eda0891185e41e_cgraph.md5 b/doc/html/group__bmp384__test__driver_gab30d2d05c9d54b0324eda0891185e41e_cgraph.md5 new file mode 100644 index 0000000..63b185c --- /dev/null +++ b/doc/html/group__bmp384__test__driver_gab30d2d05c9d54b0324eda0891185e41e_cgraph.md5 @@ -0,0 +1 @@ +d5aaadc109582d07c2bf5848a665d45d \ No newline at end of file diff --git a/doc/html/group__bmp384__test__driver_gab30d2d05c9d54b0324eda0891185e41e_cgraph.svg b/doc/html/group__bmp384__test__driver_gab30d2d05c9d54b0324eda0891185e41e_cgraph.svg new file mode 100644 index 0000000..cd2f635 --- /dev/null +++ b/doc/html/group__bmp384__test__driver_gab30d2d05c9d54b0324eda0891185e41e_cgraph.svg @@ -0,0 +1,40 @@ + + + + + + +bmp384_interrupt_test_irq_handler + + +Node1 + + +bmp384_interrupt_test +_irq_handler + + + + + +Node2 + + +bmp384_irq_handler + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/group__bmp384__test__driver_gade8e2ec4ca80bc44872a0ed0d1c7aaee_cgraph.md5 b/doc/html/group__bmp384__test__driver_gade8e2ec4ca80bc44872a0ed0d1c7aaee_cgraph.md5 new file mode 100644 index 0000000..93a1a84 --- /dev/null +++ b/doc/html/group__bmp384__test__driver_gade8e2ec4ca80bc44872a0ed0d1c7aaee_cgraph.md5 @@ -0,0 +1 @@ +55c5eea8d171647ec48bc53d1d3a9ef5 \ No newline at end of file diff --git a/doc/html/group__bmp384__test__driver_gade8e2ec4ca80bc44872a0ed0d1c7aaee_cgraph.svg b/doc/html/group__bmp384__test__driver_gade8e2ec4ca80bc44872a0ed0d1c7aaee_cgraph.svg new file mode 100644 index 0000000..5c638a1 --- /dev/null +++ b/doc/html/group__bmp384__test__driver_gade8e2ec4ca80bc44872a0ed0d1c7aaee_cgraph.svg @@ -0,0 +1,40 @@ + + + + + + +bmp384_fifo_test_irq_handler + + +Node1 + + +bmp384_fifo_test_irq +_handler + + + + + +Node2 + + +bmp384_irq_handler + + + + + +Node1->Node2 + + + + + + + + diff --git a/doc/html/index.html b/doc/html/index.html index 1b0c860..0b3c072 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: LibDriver BMP384 + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
-
LibDriver BMP384
+
+
LibDriver BMP384
-

LibDriver BMP384 is a full-featured driver of BMP384 and it can run in both MCU and Linux platform.

Version
1.0.0
+

LibDriver BMP384 is a full-featured driver of BMP384 and it can run in both MCU and Linux platform.

+
Version
1.0.0
Author
Shifeng Li

History

@@ -103,12 +110,14 @@

Copyright (c) LibDriver All rights reserved.

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ + diff --git a/doc/html/jquery.js b/doc/html/jquery.js index 103c32d..875ada7 100644 --- a/doc/html/jquery.js +++ b/doc/html/jquery.js @@ -1,18 +1,143 @@ -/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"
","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp( +"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType +}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c +)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){ +return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll( +":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id") +)&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push( +"\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test( +a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null, +null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne +).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for( +var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n; +return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0, +r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r] +,C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each( +function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r, +"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})} +),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each( +"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element -},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** +* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/resizable.js, widgets/mouse.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(y){"use strict";y.ui=y.ui||{};y.ui.version="1.13.2";var n,i=0,h=Array.prototype.hasOwnProperty,a=Array.prototype.slice;y.cleanData=(n=y.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=y._data(i,"events"))&&e.remove&&y(i).triggerHandler("remove");n(t)}),y.widget=function(t,i,e){var s,n,o,h={},a=t.split(".")[0],r=a+"-"+(t=t.split(".")[1]);return e||(e=i,i=y.Widget),Array.isArray(e)&&(e=y.extend.apply(null,[{}].concat(e))),y.expr.pseudos[r.toLowerCase()]=function(t){return!!y.data(t,r)},y[a]=y[a]||{},s=y[a][t],n=y[a][t]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},y.extend(n,s,{version:e.version,_proto:y.extend({},e),_childConstructors:[]}),(o=new i).options=y.widget.extend({},o.options),y.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)} +function o(t){return i.prototype[e].apply(this,t)}h[e]="function"==typeof s?function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}:s}),n.prototype=y.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},h,{constructor:n,namespace:a,widgetName:t,widgetFullName:r}),s?(y.each(s._childConstructors,function(t,e){var i=e.prototype;y.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),y.widget.bridge(t,n),n},y.widget.extend=function(t){for(var e,i,s=a.call(arguments,1),n=0,o=s.length;n",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t +){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t +]=y.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i}, +getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within, +s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n
").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})), +this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t +).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split( +","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add( +this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{ +width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(), +!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){ +this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height +,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e
").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e, +i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left +)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e +){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0), +i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth( +)-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e, +function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0 +]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0=f[g]?0:Math.min(f[g],n));!a&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right-1){ +targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se", +"n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if( +session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)} +closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if( +session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE, +function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset); +tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList, +finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight())); +return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")} +function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(), +elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight, +viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + */!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b, +"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery); +/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 * http://www.smartmenus.org/ - * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)), +mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend( +$.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy( +this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData( +"smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id" +).indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?( +this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for( +var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){ +return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if(( +!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&( +this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0 +]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass( +"highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){ +t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]" +)||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){ +t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"), +a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i, +downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2) +)&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t +)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0), +canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}}, +rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})} +return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1, +bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); diff --git a/doc/html/mainpage_8h.html b/doc/html/mainpage_8h.html index 10e88c1..4f04ee7 100644 --- a/doc/html/mainpage_8h.html +++ b/doc/html/mainpage_8h.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: doc/mainpage/mainpage.h File Reference + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
mainpage.h File Reference
+
mainpage.h File Reference
+ +
diff --git a/doc/html/mainpage_8h_source.html b/doc/html/mainpage_8h_source.html index 36269ab..cbe4eb3 100644 --- a/doc/html/mainpage_8h_source.html +++ b/doc/html/mainpage_8h_source.html @@ -1,21 +1,24 @@ - + - - + + LibDriver BMP384: doc/mainpage/mainpage.h Source File + + - + + @@ -23,34 +26,32 @@
- + -
+
LibDriver BMP384 -  1.0.0
-
BMP384 full-featured driver
- + + +
@@ -64,10 +65,9 @@
+
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
mainpage.h
+
mainpage.h
+
diff --git a/doc/html/menu.js b/doc/html/menu.js index 2fe2214..15f9c52 100644 --- a/doc/html/menu.js +++ b/doc/html/menu.js @@ -22,13 +22,20 @@ @licend The above is the entire license notice for the JavaScript code in this file */ -function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { +function initMenu(relPath,searchEnabled,serverSide,searchPage,search,treeview) { function makeTree(data,relPath) { - var result=''; + let result=''; if ('children' in data) { result+='