From 4ea212b0cd4c0b4dc5ee678da016fdfe271956fc Mon Sep 17 00:00:00 2001 From: William Woodall Date: Wed, 2 May 2012 00:40:56 -0500 Subject: [PATCH] Adding proposed v1.0 api to gh-pages --- docs/.DS_Store | Bin 0 -> 6148 bytes docs/index.html | 45 + docs/v1.0/annotated.html | 119 + docs/v1.0/bc_s.png | Bin 0 -> 705 bytes docs/v1.0/bdwn.png | Bin 0 -> 147 bytes .../class_serial_1_1_scoped_read_lock.html | 166 ++ .../class_serial_1_1_scoped_write_lock.html | 166 ++ docs/v1.0/classes.html | 123 ++ docs/v1.0/classserial_1_1_i_o_exception.html | 259 +++ ...sserial_1_1_port_not_opened_exception.html | 168 ++ docs/v1.0/classserial_1_1_serial.html | 1498 +++++++++++++ ...classserial_1_1_serial_exception_base.html | 119 + .../classserial_1_1_serial_execption.html | 168 ++ ..._1_1serial_1_1_serial_1_1_serial_impl.html | 1933 +++++++++++++++++ docs/v1.0/closed.png | Bin 0 -> 126 bytes docs/v1.0/doxygen.css | 1012 +++++++++ docs/v1.0/doxygen.png | Bin 0 -> 3942 bytes docs/v1.0/files.html | 115 + docs/v1.0/functions.html | 395 ++++ docs/v1.0/functions_func.html | 381 ++++ docs/v1.0/functions_vars.html | 128 ++ docs/v1.0/globals.html | 121 ++ docs/v1.0/globals_defs.html | 118 + docs/v1.0/globals_func.html | 115 + docs/v1.0/graph_legend.html | 165 ++ docs/v1.0/graph_legend.md5 | 1 + docs/v1.0/graph_legend.png | Bin 0 -> 18954 bytes docs/v1.0/index.html | 101 + docs/v1.0/jquery.js | 64 + docs/v1.0/namespacemembers.html | 160 ++ docs/v1.0/namespacemembers_enum.html | 124 ++ docs/v1.0/namespacemembers_eval.html | 148 ++ docs/v1.0/namespaces.html | 112 + docs/v1.0/namespaceserial.html | 259 +++ docs/v1.0/namespaceserial_1_1serial.html | 120 + .../namespaceserial_1_1serial_1_1_serial.html | 121 ++ docs/v1.0/nav_f.png | Bin 0 -> 159 bytes docs/v1.0/nav_h.png | Bin 0 -> 97 bytes docs/v1.0/open.png | Bin 0 -> 118 bytes docs/v1.0/search/all_61.html | 25 + docs/v1.0/search/all_61.js | 4 + docs/v1.0/search/all_62.html | 25 + docs/v1.0/search/all_62.js | 4 + docs/v1.0/search/all_63.html | 25 + docs/v1.0/search/all_63.js | 4 + docs/v1.0/search/all_65.html | 25 + docs/v1.0/search/all_65.js | 4 + docs/v1.0/search/all_66.html | 25 + docs/v1.0/search/all_66.js | 10 + docs/v1.0/search/all_67.html | 25 + docs/v1.0/search/all_67.js | 16 + docs/v1.0/search/all_69.html | 25 + docs/v1.0/search/all_69.js | 7 + docs/v1.0/search/all_6f.html | 25 + docs/v1.0/search/all_6f.js | 4 + docs/v1.0/search/all_70.html | 25 + docs/v1.0/search/all_70.js | 9 + docs/v1.0/search/all_72.html | 25 + docs/v1.0/search/all_72.js | 11 + docs/v1.0/search/all_73.html | 25 + docs/v1.0/search/all_73.js | 34 + docs/v1.0/search/all_74.html | 25 + docs/v1.0/search/all_74.js | 7 + docs/v1.0/search/all_75.html | 25 + docs/v1.0/search/all_75.js | 5 + docs/v1.0/search/all_77.html | 25 + docs/v1.0/search/all_77.js | 12 + docs/v1.0/search/all_7e.html | 25 + docs/v1.0/search/all_7e.js | 8 + docs/v1.0/search/classes_69.html | 25 + docs/v1.0/search/classes_69.js | 4 + docs/v1.0/search/classes_70.html | 25 + docs/v1.0/search/classes_70.js | 4 + docs/v1.0/search/classes_73.html | 25 + docs/v1.0/search/classes_73.js | 9 + docs/v1.0/search/classes_74.html | 25 + docs/v1.0/search/classes_74.js | 4 + docs/v1.0/search/close.png | Bin 0 -> 273 bytes docs/v1.0/search/defines_74.html | 25 + docs/v1.0/search/defines_74.js | 5 + docs/v1.0/search/enums_62.html | 25 + docs/v1.0/search/enums_62.js | 4 + docs/v1.0/search/enums_66.html | 25 + docs/v1.0/search/enums_66.js | 4 + docs/v1.0/search/enums_70.html | 25 + docs/v1.0/search/enums_70.js | 4 + docs/v1.0/search/enums_73.html | 25 + docs/v1.0/search/enums_73.js | 4 + docs/v1.0/search/enumvalues_65.html | 25 + docs/v1.0/search/enumvalues_65.js | 4 + docs/v1.0/search/enumvalues_66.html | 25 + docs/v1.0/search/enumvalues_66.js | 6 + docs/v1.0/search/enumvalues_70.html | 25 + docs/v1.0/search/enumvalues_70.js | 6 + docs/v1.0/search/enumvalues_73.html | 25 + docs/v1.0/search/enumvalues_73.js | 8 + docs/v1.0/search/files_73.html | 25 + docs/v1.0/search/files_73.js | 5 + docs/v1.0/search/files_75.html | 25 + docs/v1.0/search/files_75.js | 5 + docs/v1.0/search/files_77.html | 25 + docs/v1.0/search/files_77.js | 5 + docs/v1.0/search/functions_61.html | 25 + docs/v1.0/search/functions_61.js | 4 + docs/v1.0/search/functions_63.html | 25 + docs/v1.0/search/functions_63.js | 4 + docs/v1.0/search/functions_66.html | 25 + docs/v1.0/search/functions_66.js | 6 + docs/v1.0/search/functions_67.html | 25 + docs/v1.0/search/functions_67.js | 16 + docs/v1.0/search/functions_69.html | 25 + docs/v1.0/search/functions_69.js | 5 + docs/v1.0/search/functions_6f.html | 25 + docs/v1.0/search/functions_6f.js | 4 + docs/v1.0/search/functions_70.html | 25 + docs/v1.0/search/functions_70.js | 4 + docs/v1.0/search/functions_72.html | 25 + docs/v1.0/search/functions_72.js | 9 + docs/v1.0/search/functions_73.html | 25 + docs/v1.0/search/functions_73.js | 19 + docs/v1.0/search/functions_74.html | 25 + docs/v1.0/search/functions_74.js | 4 + docs/v1.0/search/functions_77.html | 25 + docs/v1.0/search/functions_77.js | 8 + docs/v1.0/search/functions_7e.html | 25 + docs/v1.0/search/functions_7e.js | 8 + docs/v1.0/search/mag_sel.png | Bin 0 -> 563 bytes docs/v1.0/search/namespaces_73.html | 25 + docs/v1.0/search/namespaces_73.js | 6 + docs/v1.0/search/nomatches.html | 12 + docs/v1.0/search/search.css | 238 ++ docs/v1.0/search/search.js | 811 +++++++ docs/v1.0/search/search_l.png | Bin 0 -> 604 bytes docs/v1.0/search/search_m.png | Bin 0 -> 158 bytes docs/v1.0/search/search_r.png | Bin 0 -> 612 bytes docs/v1.0/search/variables_69.html | 25 + docs/v1.0/search/variables_69.js | 4 + docs/v1.0/search/variables_72.html | 25 + docs/v1.0/search/variables_72.js | 5 + docs/v1.0/search/variables_77.html | 25 + docs/v1.0/search/variables_77.js | 5 + docs/v1.0/serial_8cc.html | 125 ++ docs/v1.0/serial_8cc__incl.map | 4 + docs/v1.0/serial_8cc__incl.md5 | 1 + docs/v1.0/serial_8cc__incl.png | Bin 0 -> 19664 bytes docs/v1.0/serial_8h.html | 211 ++ docs/v1.0/serial_8h__dep__incl.map | 7 + docs/v1.0/serial_8h__dep__incl.md5 | 1 + docs/v1.0/serial_8h__dep__incl.png | Bin 0 -> 14192 bytes docs/v1.0/serial_8h__incl.map | 2 + docs/v1.0/serial_8h__incl.md5 | 1 + docs/v1.0/serial_8h__incl.png | Bin 0 -> 11293 bytes docs/v1.0/serial_8h_source.html | 391 ++++ docs/v1.0/structserial_1_1timeout__t.html | 259 +++ docs/v1.0/tab_a.png | Bin 0 -> 140 bytes docs/v1.0/tab_b.png | Bin 0 -> 178 bytes docs/v1.0/tab_h.png | Bin 0 -> 192 bytes docs/v1.0/tab_s.png | Bin 0 -> 189 bytes docs/v1.0/tabs.css | 59 + docs/v1.0/unix_8cc.html | 187 ++ docs/v1.0/unix_8cc__incl.map | 4 + docs/v1.0/unix_8cc__incl.md5 | 1 + docs/v1.0/unix_8cc__incl.png | Bin 0 -> 56191 bytes docs/v1.0/unix_8h.html | 151 ++ docs/v1.0/unix_8h__dep__incl.map | 4 + docs/v1.0/unix_8h__dep__incl.md5 | 1 + docs/v1.0/unix_8h__dep__incl.png | Bin 0 -> 6441 bytes docs/v1.0/unix_8h__incl.map | 3 + docs/v1.0/unix_8h__incl.md5 | 1 + docs/v1.0/unix_8h__incl.png | Bin 0 -> 15930 bytes docs/v1.0/unix_8h_source.html | 270 +++ docs/v1.0/windows_8cc.html | 115 + docs/v1.0/windows_8cc__incl.map | 4 + docs/v1.0/windows_8cc__incl.md5 | 1 + docs/v1.0/windows_8cc__incl.png | Bin 0 -> 16258 bytes docs/v1.0/windows_8h.html | 150 ++ docs/v1.0/windows_8h__dep__incl.map | 3 + docs/v1.0/windows_8h__dep__incl.md5 | 1 + docs/v1.0/windows_8h__dep__incl.png | Bin 0 -> 4896 bytes docs/v1.0/windows_8h__incl.map | 3 + docs/v1.0/windows_8h__incl.md5 | 1 + docs/v1.0/windows_8h__incl.png | Bin 0 -> 13974 bytes docs/v1.0/windows_8h_source.html | 249 +++ 183 files changed, 13301 insertions(+) create mode 100644 docs/.DS_Store create mode 100644 docs/index.html create mode 100644 docs/v1.0/annotated.html create mode 100644 docs/v1.0/bc_s.png create mode 100644 docs/v1.0/bdwn.png create mode 100644 docs/v1.0/class_serial_1_1_scoped_read_lock.html create mode 100644 docs/v1.0/class_serial_1_1_scoped_write_lock.html create mode 100644 docs/v1.0/classes.html create mode 100644 docs/v1.0/classserial_1_1_i_o_exception.html create mode 100644 docs/v1.0/classserial_1_1_port_not_opened_exception.html create mode 100644 docs/v1.0/classserial_1_1_serial.html create mode 100644 docs/v1.0/classserial_1_1_serial_exception_base.html create mode 100644 docs/v1.0/classserial_1_1_serial_execption.html create mode 100644 docs/v1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html create mode 100644 docs/v1.0/closed.png create mode 100644 docs/v1.0/doxygen.css create mode 100644 docs/v1.0/doxygen.png create mode 100644 docs/v1.0/files.html create mode 100644 docs/v1.0/functions.html create mode 100644 docs/v1.0/functions_func.html create mode 100644 docs/v1.0/functions_vars.html create mode 100644 docs/v1.0/globals.html create mode 100644 docs/v1.0/globals_defs.html create mode 100644 docs/v1.0/globals_func.html create mode 100644 docs/v1.0/graph_legend.html create mode 100644 docs/v1.0/graph_legend.md5 create mode 100644 docs/v1.0/graph_legend.png create mode 100644 docs/v1.0/index.html create mode 100644 docs/v1.0/jquery.js create mode 100644 docs/v1.0/namespacemembers.html create mode 100644 docs/v1.0/namespacemembers_enum.html create mode 100644 docs/v1.0/namespacemembers_eval.html create mode 100644 docs/v1.0/namespaces.html create mode 100644 docs/v1.0/namespaceserial.html create mode 100644 docs/v1.0/namespaceserial_1_1serial.html create mode 100644 docs/v1.0/namespaceserial_1_1serial_1_1_serial.html create mode 100644 docs/v1.0/nav_f.png create mode 100644 docs/v1.0/nav_h.png create mode 100644 docs/v1.0/open.png create mode 100644 docs/v1.0/search/all_61.html create mode 100644 docs/v1.0/search/all_61.js create mode 100644 docs/v1.0/search/all_62.html create mode 100644 docs/v1.0/search/all_62.js create mode 100644 docs/v1.0/search/all_63.html create mode 100644 docs/v1.0/search/all_63.js create mode 100644 docs/v1.0/search/all_65.html create mode 100644 docs/v1.0/search/all_65.js create mode 100644 docs/v1.0/search/all_66.html create mode 100644 docs/v1.0/search/all_66.js create mode 100644 docs/v1.0/search/all_67.html create mode 100644 docs/v1.0/search/all_67.js create mode 100644 docs/v1.0/search/all_69.html create mode 100644 docs/v1.0/search/all_69.js create mode 100644 docs/v1.0/search/all_6f.html create mode 100644 docs/v1.0/search/all_6f.js create mode 100644 docs/v1.0/search/all_70.html create mode 100644 docs/v1.0/search/all_70.js create mode 100644 docs/v1.0/search/all_72.html create mode 100644 docs/v1.0/search/all_72.js create mode 100644 docs/v1.0/search/all_73.html create mode 100644 docs/v1.0/search/all_73.js create mode 100644 docs/v1.0/search/all_74.html create mode 100644 docs/v1.0/search/all_74.js create mode 100644 docs/v1.0/search/all_75.html create mode 100644 docs/v1.0/search/all_75.js create mode 100644 docs/v1.0/search/all_77.html create mode 100644 docs/v1.0/search/all_77.js create mode 100644 docs/v1.0/search/all_7e.html create mode 100644 docs/v1.0/search/all_7e.js create mode 100644 docs/v1.0/search/classes_69.html create mode 100644 docs/v1.0/search/classes_69.js create mode 100644 docs/v1.0/search/classes_70.html create mode 100644 docs/v1.0/search/classes_70.js create mode 100644 docs/v1.0/search/classes_73.html create mode 100644 docs/v1.0/search/classes_73.js create mode 100644 docs/v1.0/search/classes_74.html create mode 100644 docs/v1.0/search/classes_74.js create mode 100644 docs/v1.0/search/close.png create mode 100644 docs/v1.0/search/defines_74.html create mode 100644 docs/v1.0/search/defines_74.js create mode 100644 docs/v1.0/search/enums_62.html create mode 100644 docs/v1.0/search/enums_62.js create mode 100644 docs/v1.0/search/enums_66.html create mode 100644 docs/v1.0/search/enums_66.js create mode 100644 docs/v1.0/search/enums_70.html create mode 100644 docs/v1.0/search/enums_70.js create mode 100644 docs/v1.0/search/enums_73.html create mode 100644 docs/v1.0/search/enums_73.js create mode 100644 docs/v1.0/search/enumvalues_65.html create mode 100644 docs/v1.0/search/enumvalues_65.js create mode 100644 docs/v1.0/search/enumvalues_66.html create mode 100644 docs/v1.0/search/enumvalues_66.js create mode 100644 docs/v1.0/search/enumvalues_70.html create mode 100644 docs/v1.0/search/enumvalues_70.js create mode 100644 docs/v1.0/search/enumvalues_73.html create mode 100644 docs/v1.0/search/enumvalues_73.js create mode 100644 docs/v1.0/search/files_73.html create mode 100644 docs/v1.0/search/files_73.js create mode 100644 docs/v1.0/search/files_75.html create mode 100644 docs/v1.0/search/files_75.js create mode 100644 docs/v1.0/search/files_77.html create mode 100644 docs/v1.0/search/files_77.js create mode 100644 docs/v1.0/search/functions_61.html create mode 100644 docs/v1.0/search/functions_61.js create mode 100644 docs/v1.0/search/functions_63.html create mode 100644 docs/v1.0/search/functions_63.js create mode 100644 docs/v1.0/search/functions_66.html create mode 100644 docs/v1.0/search/functions_66.js create mode 100644 docs/v1.0/search/functions_67.html create mode 100644 docs/v1.0/search/functions_67.js create mode 100644 docs/v1.0/search/functions_69.html create mode 100644 docs/v1.0/search/functions_69.js create mode 100644 docs/v1.0/search/functions_6f.html create mode 100644 docs/v1.0/search/functions_6f.js create mode 100644 docs/v1.0/search/functions_70.html create mode 100644 docs/v1.0/search/functions_70.js create mode 100644 docs/v1.0/search/functions_72.html create mode 100644 docs/v1.0/search/functions_72.js create mode 100644 docs/v1.0/search/functions_73.html create mode 100644 docs/v1.0/search/functions_73.js create mode 100644 docs/v1.0/search/functions_74.html create mode 100644 docs/v1.0/search/functions_74.js create mode 100644 docs/v1.0/search/functions_77.html create mode 100644 docs/v1.0/search/functions_77.js create mode 100644 docs/v1.0/search/functions_7e.html create mode 100644 docs/v1.0/search/functions_7e.js create mode 100644 docs/v1.0/search/mag_sel.png create mode 100644 docs/v1.0/search/namespaces_73.html create mode 100644 docs/v1.0/search/namespaces_73.js create mode 100644 docs/v1.0/search/nomatches.html create mode 100644 docs/v1.0/search/search.css create mode 100644 docs/v1.0/search/search.js create mode 100644 docs/v1.0/search/search_l.png create mode 100644 docs/v1.0/search/search_m.png create mode 100644 docs/v1.0/search/search_r.png create mode 100644 docs/v1.0/search/variables_69.html create mode 100644 docs/v1.0/search/variables_69.js create mode 100644 docs/v1.0/search/variables_72.html create mode 100644 docs/v1.0/search/variables_72.js create mode 100644 docs/v1.0/search/variables_77.html create mode 100644 docs/v1.0/search/variables_77.js create mode 100644 docs/v1.0/serial_8cc.html create mode 100644 docs/v1.0/serial_8cc__incl.map create mode 100644 docs/v1.0/serial_8cc__incl.md5 create mode 100644 docs/v1.0/serial_8cc__incl.png create mode 100644 docs/v1.0/serial_8h.html create mode 100644 docs/v1.0/serial_8h__dep__incl.map create mode 100644 docs/v1.0/serial_8h__dep__incl.md5 create mode 100644 docs/v1.0/serial_8h__dep__incl.png create mode 100644 docs/v1.0/serial_8h__incl.map create mode 100644 docs/v1.0/serial_8h__incl.md5 create mode 100644 docs/v1.0/serial_8h__incl.png create mode 100644 docs/v1.0/serial_8h_source.html create mode 100644 docs/v1.0/structserial_1_1timeout__t.html create mode 100644 docs/v1.0/tab_a.png create mode 100644 docs/v1.0/tab_b.png create mode 100644 docs/v1.0/tab_h.png create mode 100644 docs/v1.0/tab_s.png create mode 100644 docs/v1.0/tabs.css create mode 100644 docs/v1.0/unix_8cc.html create mode 100644 docs/v1.0/unix_8cc__incl.map create mode 100644 docs/v1.0/unix_8cc__incl.md5 create mode 100644 docs/v1.0/unix_8cc__incl.png create mode 100644 docs/v1.0/unix_8h.html create mode 100644 docs/v1.0/unix_8h__dep__incl.map create mode 100644 docs/v1.0/unix_8h__dep__incl.md5 create mode 100644 docs/v1.0/unix_8h__dep__incl.png create mode 100644 docs/v1.0/unix_8h__incl.map create mode 100644 docs/v1.0/unix_8h__incl.md5 create mode 100644 docs/v1.0/unix_8h__incl.png create mode 100644 docs/v1.0/unix_8h_source.html create mode 100644 docs/v1.0/windows_8cc.html create mode 100644 docs/v1.0/windows_8cc__incl.map create mode 100644 docs/v1.0/windows_8cc__incl.md5 create mode 100644 docs/v1.0/windows_8cc__incl.png create mode 100644 docs/v1.0/windows_8h.html create mode 100644 docs/v1.0/windows_8h__dep__incl.map create mode 100644 docs/v1.0/windows_8h__dep__incl.md5 create mode 100644 docs/v1.0/windows_8h__dep__incl.png create mode 100644 docs/v1.0/windows_8h__incl.map create mode 100644 docs/v1.0/windows_8h__incl.md5 create mode 100644 docs/v1.0/windows_8h__incl.png create mode 100644 docs/v1.0/windows_8h_source.html diff --git a/docs/.DS_Store b/docs/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..930752f9cbdf8736f1460f0587e2ae55dd7d2af8 GIT binary patch literal 6148 zcmeHK%}T>S5T0$LCa92$(BtB{l#~kX!9xfYJPIlFU_}!mG*Ft-r1nsw!HbXM+xR@r z?5@RPp*Inof!S|%ezKbnvYP<_5iF86fC~UNDxn}_i;#P3sAiG{BB~4VGM~khEXMhp ziT!qGeQ5_vPs1^XxLbnpMsh6M{Y0x)VX~YPM(4~mFRG1b+=yLQ+ljj?(H0p8? zYGr(mS^2Yh5o&exOO+17*T^F?zzl3MP}ftJ?*9w?WVSZ>nta(iVz-{fgfPt E14)iS*Z=?k literal 0 HcmV?d00001 diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..ce7110b --- /dev/null +++ b/docs/index.html @@ -0,0 +1,45 @@ + + + + + + wjwwood/serial @ GitHub + + + + + + Fork me on GitHub + +
+ + + +
+ + + diff --git a/docs/v1.0/annotated.html b/docs/v1.0/annotated.html new file mode 100644 index 0000000..82221a5 --- /dev/null +++ b/docs/v1.0/annotated.html @@ -0,0 +1,119 @@ + + + + + +serial: Data Structures + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structures
+
+ + + + + + + diff --git a/docs/v1.0/bc_s.png b/docs/v1.0/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..51ba0066debbeac813d4014d805dc95ebd5b532e GIT binary patch literal 705 zcmV;y0zUnTP)rF$rQRw6Q(&UpP1C2j9>6opbR!_oV&F*Ar#jFVPDcrqyulXW;j+8j#k`kzKrw^%mxu{{V1|%gWybaP{#p01Ow~ zB}u2{E{(}bUp!#{_s(CTu-lqpI0GO7kSiTS0H7s=EN*pJI7&&m$E!@mK+B_{Xx(nj zH0-yS_)(8nX^er(4+o=lHsk1YNuDJFz~=EOD_HN~zW*iu%I90GV!oc&bWQk_4geq* z?tP92Q)0;sZ>cqtNr zOitc-rw&Cz$YQa>g0&|*N&WS=YH&7966!J}!88AdX)_x%jMh)j1wW9Z z*IvhmrFxz{vu`%7PR#}L0f5_4b|fCOXQid+8KYfFC_DlHq_*W{G_-J(_zH3*04SWE z4=w=!x2-hRp+Pe7IRei{XXZoQv3aO*zlhc|&K$GAain(EABqhLSF-2uT86!Xj#Z0B zU3k_Xawp7W)%kt^=&@!R3-to)mi?gz3E*IJe>$ba=d_9I2l8b9axei@p6k1qW)^BJ zqHa=NSguR@Srtva-n?v)XN=T%7nVoVfN2cYfePZIbCZQi`9_mavc00000NkvXXu0mjfn{!2m literal 0 HcmV?d00001 diff --git a/docs/v1.0/bdwn.png b/docs/v1.0/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..d0b575b75bb17ca8be0ea11f5b89e6f515e42f02 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb2suf81S&@r>)`W zoMpOVbHi*4U$GNDGr3ztRD>1Hemtw)^_}lW#_Q$jl{Yp22Ssn!U$}NQL!}(gxzoGk v8BZ+U-rgwm=aTL8S&KLwd@nXUI$9eScU_ug?HiF!pe+oZu6{1-oD!M + + + + +serial: serial::Serial::ScopedReadLock Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::Serial::ScopedReadLock Class Reference
+
+
+ + + + +

+Public Member Functions

 ScopedReadLock (SerialImpl *pimpl)
 ~ScopedReadLock ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
serial::Serial::ScopedReadLock::ScopedReadLock (SerialImpl * pimpl) [inline]
+
+
+
                                    : pimpl_(pimpl) {
+    this->pimpl_->readLock();
+  }
+
+
+
+ +
+ +
+
                    {
+    this->pimpl_->readUnlock();
+  }
+
+
+
+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/docs/v1.0/class_serial_1_1_scoped_write_lock.html b/docs/v1.0/class_serial_1_1_scoped_write_lock.html new file mode 100644 index 0000000..965141b --- /dev/null +++ b/docs/v1.0/class_serial_1_1_scoped_write_lock.html @@ -0,0 +1,166 @@ + + + + + +serial: serial::Serial::ScopedWriteLock Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::Serial::ScopedWriteLock Class Reference
+
+
+ + + + +

+Public Member Functions

 ScopedWriteLock (SerialImpl *pimpl)
 ~ScopedWriteLock ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
serial::Serial::ScopedWriteLock::ScopedWriteLock (SerialImpl * pimpl) [inline]
+
+
+
                                     : pimpl_(pimpl) {
+    this->pimpl_->writeLock();
+  }
+
+
+
+ +
+ +
+
                     {
+    this->pimpl_->writeUnlock();
+  }
+
+
+
+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/docs/v1.0/classes.html b/docs/v1.0/classes.html new file mode 100644 index 0000000..bbea460 --- /dev/null +++ b/docs/v1.0/classes.html @@ -0,0 +1,123 @@ + + + + + +serial: Data Structure Index + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structure Index
+
+
+
I | P | S | T
+ + + + + + + + +
  I  
+
  S  
+
Serial (serial)   
  T  
+
SerialExceptionBase (serial)   
IOException (serial)   Serial::ScopedReadLock   SerialExecption (serial)   timeout_t (serial)   
  P  
+
Serial::ScopedWriteLock   SerialImpl (serial::serial::Serial)   
PortNotOpenedException (serial)   
+
I | P | S | T
+
+ + + + + + diff --git a/docs/v1.0/classserial_1_1_i_o_exception.html b/docs/v1.0/classserial_1_1_i_o_exception.html new file mode 100644 index 0000000..f5058e4 --- /dev/null +++ b/docs/v1.0/classserial_1_1_i_o_exception.html @@ -0,0 +1,259 @@ + + + + + +serial: serial::IOException Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::IOException Class Reference
+
+
+ +

#include <serial.h>

+ + + + + + + +

+Public Member Functions

 IOException (std::string file, int line, int errnum)
 IOException (std::string file, int line, const char *description)
virtual ~IOException () throw ()
int getErrorNumber ()
virtual const char * what () const throw ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
serial::IOException::IOException (std::string file,
int line,
int errnum 
) [inline, explicit]
+
+
+
  : file_(file), line_(line), e_what_ (strerror (errnum)), errno_(errnum) {}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
serial::IOException::IOException (std::string file,
int line,
const char * description 
) [inline, explicit]
+
+
+
  : file_(file), line_(line), e_what_ (description), errno_(0) {}
+
+
+
+ +
+
+ + + + + + + +
virtual serial::IOException::~IOException () throw () [inline, virtual]
+
+
+
{}
+
+
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
int serial::IOException::getErrorNumber () [inline]
+
+
+
{ return errno_; }
+
+
+
+ +
+
+ + + + + + + +
virtual const char* serial::IOException::what () const throw () [inline, virtual]
+
+
+
  {
+    std::stringstream ss;
+    if (errno_ == 0)
+      ss << "IO Exception: " << e_what_;
+    else
+      ss << "IO Exception (" << errno_ << "): " << e_what_;
+    ss << ", file " << file_ << ", line " << line_ << ".";
+    return ss.str ().c_str ();
+  }
+
+
+
+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/docs/v1.0/classserial_1_1_port_not_opened_exception.html b/docs/v1.0/classserial_1_1_port_not_opened_exception.html new file mode 100644 index 0000000..5487b93 --- /dev/null +++ b/docs/v1.0/classserial_1_1_port_not_opened_exception.html @@ -0,0 +1,168 @@ + + + + + +serial: serial::PortNotOpenedException Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::PortNotOpenedException Class Reference
+
+
+ +

#include <serial.h>

+ + + + +

+Public Member Functions

 PortNotOpenedException (const char *description)
virtual const char * what () const throw ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
serial::PortNotOpenedException::PortNotOpenedException (const char * description) [inline]
+
+
+
: e_what_ (description) {}
+
+
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
virtual const char* serial::PortNotOpenedException::what () const throw () [inline, virtual]
+
+
+
  {
+    std::stringstream ss;
+    ss << e_what_ << " called before port was opened.";
+    return ss.str ().c_str ();
+  }
+
+
+
+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/docs/v1.0/classserial_1_1_serial.html b/docs/v1.0/classserial_1_1_serial.html new file mode 100644 index 0000000..85de31a --- /dev/null +++ b/docs/v1.0/classserial_1_1_serial.html @@ -0,0 +1,1498 @@ + + + + + +serial: serial::Serial Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::Serial Class Reference
+
+
+ +

#include <serial.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

class  ScopedReadLock
class  ScopedWriteLock

+Public Member Functions

 Serial (const std::string &port="", unsigned long baudrate=9600, bytesize_t bytesize=eightbits, parity_t parity=parity_none, stopbits_t stopbits=stopbits_one, flowcontrol_t flowcontrol=flowcontrol_none)
virtual ~Serial ()
void open ()
bool isOpen () const
void close ()
size_t available ()
size_t read (unsigned char *buffer, size_t size)
size_t read (std::vector< unsigned char > &buffer, size_t size=1)
size_t read (std::string &buffer, size_t size=1)
std::string read (size_t size=1)
size_t readline (std::string &buffer, size_t size=65536, std::string eol="\n")
std::string readline (size_t size=65536, std::string eol="\n")
std::vector< std::string > readlines (size_t size=65536, std::string eol="\n")
size_t write (const unsigned char *data, size_t size)
size_t write (const std::vector< unsigned char > &data)
size_t write (const std::string &data)
void setPort (const std::string &port)
std::string getPort () const
void setTimeout (timeout_t &timeout)
void setTimeout (long inter_byte_timeout, long read_timeout_constant, long read_timeout_multiplier, long write_timeout_constant, long write_timeout_multiplier)
timeout_t getTimeout () const
void setBaudrate (unsigned long baudrate)
unsigned long getBaudrate () const
void setBytesize (bytesize_t bytesize)
bytesize_t getBytesize () const
void setParity (parity_t parity)
parity_t getParity () const
void setStopbits (stopbits_t stopbits)
stopbits_t getStopbits () const
void setFlowcontrol (flowcontrol_t flowcontrol)
flowcontrol_t getFlowcontrol () const
void flush ()
void flushInput ()
void flushOutput ()
void sendBreak (int duration)
void setBreak (bool level=true)
void setRTS (bool level=true)
void setDTR (bool level=true)
bool waitForChange ()
bool getCTS ()
bool getDSR ()
bool getRI ()
bool getCD ()
+

Detailed Description

+

Class that provides a portable serial port interface.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
serial::Serial::Serial (const std::string & port = "",
unsigned long baudrate = 9600,
bytesize_t bytesize = eightbits,
parity_t parity = parity_none,
stopbits_t stopbits = stopbits_one,
flowcontrol_t flowcontrol = flowcontrol_none 
)
+
+
+

Creates a Serial object and opens the port if a port is specified, otherwise it remains closed until serial::Serial::open is called.

+
Parameters:
+ + + + + + + +
portA std::string containing the address of the serial port, which would be something like 'COM1' on Windows and '/dev/ttyS0' on Linux.
baudrateAn integer that represents the baudrate
bytesizeSize of each byte in the serial transmission of data, default is eightbits, possible values are: fivebits, sixbits, sevenbits, eightbits
parityMethod of parity, default is parity_none, possible values are: parity_none, parity_odd, parity_even
stopbitsNumber of stop bits used, default is stopbits_one, possible values are: stopbits_one, stopbits_one_point_five, stopbits_two
flowcontrolType of flowcontrol used, default is flowcontrol_none, possible values are: flowcontrol_none, flowcontrol_software, flowcontrol_hardware
+
+
+
Exceptions:
+ + +
PortNotOpenedException
+
+
+ +
+
+ +
+
+ + + + + + + +
Serial::~Serial () [virtual]
+
+
+

Destructor

+
{
+  delete pimpl_;
+}
+
+
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
size_t Serial::available ()
+
+
+

Return the number of characters in the buffer.

+
{
+  return pimpl_->available ();
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::close ()
+
+
+

Closes the serial port.

+
{
+  pimpl_->close ();
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::flush ()
+
+
+

Flush the input and output buffers

+
{
+  ScopedReadLock(this->pimpl_);
+  ScopedWriteLock(this->pimpl_);
+  pimpl_->flush ();
+  read_cache_.clear ();
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::flushInput ()
+
+
+

Flush only the input buffer

+
{
+  ScopedReadLock(this->pimpl_);
+  pimpl_->flushInput ();
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::flushOutput ()
+
+
+

Flush only the output buffer

+
{
+  ScopedWriteLock(this->pimpl_);
+  pimpl_->flushOutput ();
+  read_cache_.clear ();
+}
+
+
+
+ +
+
+ + + + + + + +
unsigned long Serial::getBaudrate () const
+
+
+

Gets the baudrate for the serial port.

+
Returns:
An integer that sets the baud rate for the serial port.
+
See also:
Serial::setBaudrate
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  return pimpl_->getBaudrate ();
+}
+
+
+
+ +
+
+ + + + + + + +
bytesize_t Serial::getBytesize () const
+
+
+

Gets the bytesize for the serial port.

+
See also:
Serial::setBytesize
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  return pimpl_->getBytesize ();
+}
+
+
+
+ +
+
+ + + + + + + +
bool Serial::getCD ()
+
+
+

Returns the current status of the CD line.

+
{
+  return pimpl_->getCD ();
+}
+
+
+
+ +
+
+ + + + + + + +
bool Serial::getCTS ()
+
+
+

Returns the current status of the CTS line.

+
{
+  return pimpl_->getCTS ();
+}
+
+
+
+ +
+
+ + + + + + + +
bool Serial::getDSR ()
+
+
+

Returns the current status of the DSR line.

+
{
+  return pimpl_->getDSR ();
+}
+
+
+
+ +
+
+ + + + + + + +
flowcontrol_t Serial::getFlowcontrol () const
+
+
+

Gets the flow control for the serial port.

+
See also:
Serial::setFlowcontrol
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  return pimpl_->getFlowcontrol ();
+}
+
+
+
+ +
+
+ + + + + + + +
parity_t Serial::getParity () const
+
+
+

Gets the parity for the serial port.

+
See also:
Serial::setParity
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  return pimpl_->getParity ();
+}
+
+
+
+ +
+
+ + + + + + + +
string Serial::getPort () const
+
+
+

Gets the serial port identifier.

+
See also:
Serial::setPort
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  return pimpl_->getPort ();
+}
+
+
+
+ +
+
+ + + + + + + +
bool Serial::getRI ()
+
+
+

Returns the current status of the RI line.

+
{
+  return pimpl_->getRI ();
+}
+
+
+
+ +
+
+ + + + + + + +
stopbits_t Serial::getStopbits () const
+
+
+

Gets the stopbits for the serial port.

+
See also:
Serial::setStopbits
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  return pimpl_->getStopbits ();
+}
+
+
+
+ +
+
+ + + + + + + +
serial::timeout_t Serial::getTimeout () const
+
+
+

Gets the timeout for reads in seconds.

+
Returns:
A timeout_t struct containing the inter_byte_timeout, and read and write timeout constants and multipliers.
+
See also:
Serial::setTimeout
+
                          {
+  return pimpl_->getTimeout ();
+}
+
+
+
+ +
+
+ + + + + + + +
bool Serial::isOpen () const
+
+
+

Gets the open status of the serial port.

+
Returns:
Returns true if the port is open, false otherwise.
+
{
+  return pimpl_->isOpen ();
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::open ()
+
+
+

Opens the serial port as long as the port is set and the port isn't already open.

+

If the port is provided to the constructor then an explicit call to open is not needed.

+
See also:
Serial::Serial
+
Exceptions:
+ + + + +
std::invalid_argument
serial::SerialExecption
serial::IOException
+
+
+
{
+  pimpl_->open ();
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t Serial::read (unsigned char * buffer,
size_t size 
)
+
+
+

Read a given amount of bytes from the serial port into a given buffer.

+

The read function will return in one of three cases:

+
    +
  • The number of requested bytes was read.
      +
    • In this case the number of bytes requested will match the size_t returned by read.
    • +
    +
  • +
  • A timeout occurred, in this case the number of bytes read will not match the amount requested, but no exception will be thrown. One of two possible timeouts occurred:
      +
    • The inter byte timeout expired, this means that number of milliseconds elapsed between receiving bytes from the serial port exceeded the inter byte timeout.
    • +
    • The total timeout expired, which is calculated by multiplying the read timeout multiplier by the number of requested bytes and then added to the read timeout constant. If that total number of milliseconds elapses after the initial call to read a timeout will occur.
    • +
    +
  • +
  • An exception occurred, in this case an actual exception will be thrown.
  • +
+
Parameters:
+ + + +
bufferAn unsigned char array of at least the requested size.
sizeA size_t defining how many bytes to be read.
+
+
+
Returns:
A size_t representing the number of bytes read as a result of the call to read.
+
{
+  ScopedReadLock (this->pimpl_);
+  return this->pimpl_->read (buffer, size);
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t Serial::read (std::vector< unsigned char > & buffer,
size_t size = 1 
)
+
+
+

Read a given amount of bytes from the serial port into a give buffer.

+
Parameters:
+ + + +
bufferA reference to a std::vector of unsigned char.
sizeA size_t defining how many bytes to be read.
+
+
+
Returns:
A size_t representing the number of bytes read as a result of the call to read.
+
{
+  ScopedReadLock (this->pimpl_);
+  unsigned char *buffer_ = new unsigned char[size];
+  size_t bytes_read = this->pimpl_->read (buffer_, size);
+  buffer.insert (buffer.end (), buffer_, buffer_+bytes_read);
+  delete[] buffer_;
+  return bytes_read;
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t Serial::read (std::string & buffer,
size_t size = 1 
)
+
+
+

Read a given amount of bytes from the serial port into a give buffer.

+
Parameters:
+ + + +
bufferA reference to a std::string.
sizeA size_t defining how many bytes to be read.
+
+
+
Returns:
A size_t representing the number of bytes read as a result of the call to read.
+
{
+  ScopedReadLock (this->pimpl_);
+  unsigned char *buffer_ = new unsigned char[size];
+  size_t bytes_read = this->pimpl_->read (buffer_, size);
+  buffer.append (reinterpret_cast<const char*>(buffer_), bytes_read);
+  delete[] buffer_;
+  return bytes_read;
+}
+
+
+
+ +
+
+ + + + + + + + +
string Serial::read (size_t size = 1)
+
+
+

Read a given amount of bytes from the serial port and return a string containing the data.

+
Parameters:
+ + +
sizeA size_t defining how many bytes to be read.
+
+
+
Returns:
A std::string containing the data read from the port.
+
{
+  std::string buffer;
+  this->read (buffer, size);
+  return buffer;
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
size_t serial::Serial::readline (std::string & buffer,
size_t size = 65536,
std::string eol = "\n" 
)
+
+
+

Reads in a line or until a given delimiter has been processed.

+

Reads from the serial port until a single line has been read.

+
Parameters:
+ + + + +
bufferA std::string reference used to store the data.
sizeA maximum length of a line, defaults to 65536 (2^16)
eolA string to match against for the EOL.
+
+
+
Returns:
A size_t representing the number of bytes read.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
std::string serial::Serial::readline (size_t size = 65536,
std::string eol = "\n" 
)
+
+
+

Reads in a line or until a given delimiter has been processed.

+

Reads from the serial port until a single line has been read.

+
Parameters:
+ + + +
sizeA maximum length of a line, defaults to 65536 (2^16)
eolA string to match against for the EOL.
+
+
+
Returns:
A std::string containing the line.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
vector< string > Serial::readlines (size_t size = 65536,
std::string eol = "\n" 
)
+
+
+

Reads in multiple lines until the serial port times out.

+

This requires a timeout > 0 before it can be run. It will read until a timeout occurs and return a list of strings.

+
Parameters:
+ + + +
sizeA maximum length of combined lines, defaults to 65536 (2^16)
eolA string to match against for the EOL.
+
+
+
Returns:
A vector<string> containing the lines.
+
{
+  ScopedReadLock (this->pimpl_);
+  std::vector<std::string> lines;
+  size_t eol_len = eol.length ();
+  unsigned char *buffer_ = static_cast<unsigned char*>
+    (alloca (size * sizeof (unsigned char)));
+  size_t read_so_far = 0;
+  size_t start_of_line = 0;
+  while (read_so_far < size) {
+    size_t bytes_read = this->read_ (buffer_+read_so_far, 1);
+    read_so_far += bytes_read;
+    if (bytes_read == 0) {
+      if (start_of_line != read_so_far) {
+        lines.push_back (
+          string (reinterpret_cast<const char*> (buffer_ + start_of_line),
+            read_so_far - start_of_line));
+      }
+      break; // Timeout occured on reading 1 byte
+    }
+    if (string (reinterpret_cast<const char*>
+         (buffer_ + read_so_far - eol_len), eol_len) == eol) {
+      // EOL found
+      lines.push_back(
+        string(reinterpret_cast<const char*> (buffer_ + start_of_line),
+          read_so_far - start_of_line));
+      start_of_line = read_so_far;
+    }
+    if (read_so_far == size) {
+      if (start_of_line != read_so_far) {
+        lines.push_back(
+          string(reinterpret_cast<const char*> (buffer_ + start_of_line),
+            read_so_far - start_of_line));
+      }
+      break; // Reached the maximum read length
+    }
+  }
+  return lines;
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::sendBreak (int duration)
+
+
+

Sends the RS-232 break signal. See tcsendbreak(3).

+
{
+  pimpl_->sendBreak (duration);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setBaudrate (unsigned long baudrate)
+
+
+

Sets the baudrate for the serial port.

+

Possible baudrates depends on the system but some safe baudrates include: 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 Some other baudrates that are supported by some comports: 128000, 153600, 230400, 256000, 460800, 921600

+
Parameters:
+ + +
baudrateAn integer that sets the baud rate for the serial port.
+
+
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  pimpl_->setBaudrate (baudrate);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setBreak (bool level = true)
+
+
+

Set the break condition to a given level. Defaults to true.

+
{
+  pimpl_->setBreak (level);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setBytesize (bytesize_t bytesize)
+
+
+

Sets the bytesize for the serial port.

+
Parameters:
+ + +
bytesizeSize of each byte in the serial transmission of data, default is eightbits, possible values are: fivebits, sixbits, sevenbits, eightbits
+
+
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  pimpl_->setBytesize (bytesize);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setDTR (bool level = true)
+
+
+

Set the DTR handshaking line to the given level. Defaults to true.

+
{
+  pimpl_->setDTR (level);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setFlowcontrol (flowcontrol_t flowcontrol)
+
+
+

Sets the flow control for the serial port.

+
Parameters:
+ + +
flowcontrolType of flowcontrol used, default is flowcontrol_none, possible values are: flowcontrol_none, flowcontrol_software, flowcontrol_hardware
+
+
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  pimpl_->setFlowcontrol (flowcontrol);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setParity (parity_t parity)
+
+
+

Sets the parity for the serial port.

+
Parameters:
+ + +
parityMethod of parity, default is parity_none, possible values are: parity_none, parity_odd, parity_even
+
+
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  pimpl_->setParity (parity);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setPort (const std::string & port)
+
+
+

Sets the serial port identifier.

+
Parameters:
+ + +
portA const std::string reference containing the address of the serial port, which would be something like 'COM1' on Windows and '/dev/ttyS0' on Linux.
+
+
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  ScopedReadLock(this->pimpl_);
+  ScopedWriteLock(this->pimpl_);
+  bool was_open = pimpl_->isOpen ();
+  if (was_open) close();
+  pimpl_->setPort (port);
+  if (was_open) open ();
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setRTS (bool level = true)
+
+
+

Set the RTS handshaking line to the given level. Defaults to true.

+
{
+  pimpl_->setRTS (level);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setStopbits (stopbits_t stopbits)
+
+
+

Sets the stopbits for the serial port.

+
Parameters:
+ + +
stopbitsNumber of stop bits used, default is stopbits_one, possible values are: stopbits_one, stopbits_one_point_five, stopbits_two
+
+
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  pimpl_->setStopbits (stopbits);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setTimeout (serial::timeout_ttimeout)
+
+
+

Sets the timeout for reads and writes using the timeout_t struct.

+

There are two basic conditions for timeout described here, the inter byte timeout is the maximum amount of time in milliseconds allowed between receiving bytes from the serial port. The second condition is where the total timeout expires during a read or write. The total timeout can be calculated as the multiplier times the number of requested bytes plus the constant. In this way a single constant time timeout can be specified with zero for the inter byte timeout and zero for the multiplier. Alternatively, you could have only an inter byte timeout and zero for both the constant and multiplier to prevent a total time timeout from occurring.You can use the multiplier to increase the total time timeout based on the number of bytes requested. The user can combine any of these timeout metrics in order to achieve the desired trade-off between efficiency and responsiveness.

+
Parameters:
+ + +
timeoutA timeout_t struct containing the inter byte timeout, and the read and write timeout constants and multipliers.
+
+
+
See also:
serial::timeout_t
+
{
+  pimpl_->setTimeout (timeout);
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void serial::Serial::setTimeout (long inter_byte_timeout,
long read_timeout_constant,
long read_timeout_multiplier,
long write_timeout_constant,
long write_timeout_multiplier 
) [inline]
+
+
+

Sets the timeout for reads and writes.

+
  {
+    timeout_t timeout(inter_byte_timeout, read_timeout_constant,
+                      read_timeout_multiplier, write_timeout_constant,
+                      write_timeout_multiplier);
+    return setTimeout(timeout);
+  }
+
+
+
+ +
+
+ + + + + + + +
bool Serial::waitForChange ()
+
+
+

Returns true on CTS, DSR, RI, or CD changing.

+

Can throw an exception if an error occurs while waiting. You can check the status of CTS, DSR, RI, and CD once this returns. Uses TIOCMIWAIT via ioctl if available (mostly only on Linux) with a resolution of less than +-1ms and as good as +-0.2ms. Otherwise a polling method is used which can give +-2ms.

+
Exceptions:
+ + +
SerialException
+
+
+
{
+  return pimpl_->waitForChange();
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t serial::Serial::write (const unsigned char * data,
size_t size 
)
+
+
+

Write a string to the serial port.

+
Parameters:
+ + + +
dataA const reference containing the data to be written to the serial port.
sizeA size_t that indicates how many bytes should be written from the given data buffer.
+
+
+
Returns:
A size_t representing the number of bytes actually written to the serial port.
+ +
+
+ +
+
+ + + + + + + + +
size_t serial::Serial::write (const std::vector< unsigned char > & data)
+
+
+

Write a string to the serial port.

+
Parameters:
+ + +
dataA const reference containing the data to be written to the serial port.
+
+
+
Returns:
A size_t representing the number of bytes actually written to the serial port.
+ +
+
+ +
+
+ + + + + + + + +
size_t serial::Serial::write (const std::string & data)
+
+
+

Write a string to the serial port.

+
Parameters:
+ + +
dataA const reference containing the data to be written to the serial port.
+
+
+
Returns:
A size_t representing the number of bytes actually written to the serial port.
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + + + diff --git a/docs/v1.0/classserial_1_1_serial_exception_base.html b/docs/v1.0/classserial_1_1_serial_exception_base.html new file mode 100644 index 0000000..5f7ef76 --- /dev/null +++ b/docs/v1.0/classserial_1_1_serial_exception_base.html @@ -0,0 +1,119 @@ + + + + + +serial: serial::SerialExceptionBase Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
serial::SerialExceptionBase Class Reference
+
+
+ +

#include <serial.h>

+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/docs/v1.0/classserial_1_1_serial_execption.html b/docs/v1.0/classserial_1_1_serial_execption.html new file mode 100644 index 0000000..c4efcf8 --- /dev/null +++ b/docs/v1.0/classserial_1_1_serial_execption.html @@ -0,0 +1,168 @@ + + + + + +serial: serial::SerialExecption Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::SerialExecption Class Reference
+
+
+ +

#include <serial.h>

+ + + + +

+Public Member Functions

 SerialExecption (const char *description)
virtual const char * what () const throw ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
serial::SerialExecption::SerialExecption (const char * description) [inline]
+
+
+
: e_what_ (description) {}
+
+
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
virtual const char* serial::SerialExecption::what () const throw () [inline, virtual]
+
+
+
  {
+    std::stringstream ss;
+    ss << "SerialException " << e_what_ << " failed.";
+    return ss.str ().c_str ();
+  }
+
+
+
+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/docs/v1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html b/docs/v1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html new file mode 100644 index 0000000..6c72779 --- /dev/null +++ b/docs/v1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html @@ -0,0 +1,1933 @@ + + + + + +serial: serial::serial::Serial::SerialImpl Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::serial::Serial::SerialImpl Class Reference
+
+
+ +

#include <unix.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SerialImpl (const string &port, unsigned long baudrate, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)
virtual ~SerialImpl ()
void open ()
void close ()
bool isOpen () const
size_t available ()
size_t read (unsigned char *buf, size_t size=1)
size_t write (const string &data)
void flush ()
void flushInput ()
void flushOutput ()
void sendBreak (int duration)
void setBreak (bool level)
void setRTS (bool level)
void setDTR (bool level)
bool waitForChange ()
bool getCTS ()
bool getDSR ()
bool getRI ()
bool getCD ()
void setPort (const string &port)
string getPort () const
void setTimeout (timeout_t &timeout)
timeout_t getTimeout () const
void setBaudrate (unsigned long baudrate)
unsigned long getBaudrate () const
void setBytesize (bytesize_t bytesize)
bytesize_t getBytesize () const
void setParity (parity_t parity)
parity_t getParity () const
void setStopbits (stopbits_t stopbits)
stopbits_t getStopbits () const
void setFlowcontrol (flowcontrol_t flowcontrol)
flowcontrol_t getFlowcontrol () const
void readLock ()
void readUnlock ()
void writeLock ()
void writeUnlock ()
 SerialImpl (const string &port, unsigned long baudrate, long timeout, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)
virtual ~SerialImpl ()
void open ()
void close ()
bool isOpen () const
size_t available ()
size_t read (char *buf, size_t size=1)
size_t write (const string &data)
void flush ()
void flushInput ()
void flushOutput ()
void sendBreak (int duration)
void setBreak (bool level)
void setRTS (bool level)
void setDTR (bool level)
bool getCTS ()
bool getDSR ()
bool getRI ()
bool getCD ()
void setPort (const string &port)
string getPort () const
void setTimeout (long timeout)
long getTimeout () const
void setBaudrate (unsigned long baudrate)
unsigned long getBaudrate () const
void setBytesize (bytesize_t bytesize)
bytesize_t getBytesize () const
void setParity (parity_t parity)
parity_t getParity () const
void setStopbits (stopbits_t stopbits)
stopbits_t getStopbits () const
void setFlowcontrol (flowcontrol_t flowcontrol)
flowcontrol_t getFlowcontrol () const

+Protected Member Functions

void reconfigurePort ()
void reconfigurePort ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Serial::SerialImpl::SerialImpl (const string & port,
unsigned long baudrate,
bytesize_t bytesize,
parity_t parity,
stopbits_t stopbits,
flowcontrol_t flowcontrol 
)
+
+
+
  : port_ (port), fd_ (-1), is_open_ (false), xonxoff_ (true), rtscts_ (false),
+    baudrate_ (baudrate), parity_ (parity),
+    bytesize_ (bytesize), stopbits_ (stopbits), flowcontrol_ (flowcontrol)
+{
+  pthread_mutex_init(&this->read_mutex, NULL);
+  pthread_mutex_init(&this->write_mutex, NULL);
+  if (port_.empty () == false)
+    open ();
+}
+
+
+
+ +
+
+ + + + + + + +
virtual serial::serial::Serial::SerialImpl::~SerialImpl () [virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Serial::SerialImpl::SerialImpl (const string & port,
unsigned long baudrate,
long timeout,
bytesize_t bytesize,
parity_t parity,
stopbits_t stopbits,
flowcontrol_t flowcontrol 
)
+
+
+
: port_ (port), fd_ (-1), isOpen_ (false), xonxoff_ (true), rtscts_ (false),
+  timeout_ (timeout), baudrate_ (baudrate), parity_ (parity), bytesize_ (bytesize),
+  stopbits_ (stopbits), flowcontrol_ (flowcontrol)
+{
+  if (port_.empty () == false)
+    open ();
+}
+
+
+
+ +
+
+ + + + + + + +
Serial::SerialImpl::~SerialImpl () [virtual]
+
+
+
{
+  close();
+  pthread_mutex_destroy(&this->read_mutex);
+  pthread_mutex_destroy(&this->write_mutex);
+}
+
+
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
size_t Serial::SerialImpl::available ()
+
+
+
{
+  if (!is_open_) {
+    return 0;
+  }
+  int count = 0;
+  int result = ioctl (fd_, TIOCINQ, &count);
+  if (result == 0) {
+    return static_cast<size_t> (count);
+  } else {
+    THROW (IOException, errno);
+  }
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::close ()
+
+
+
{
+  if (is_open_ == true) {
+    if (fd_ != -1) {
+      ::close (fd_); // Ignoring the outcome
+      fd_ = -1;
+    }
+    is_open_ = false;
+  }
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::flush ()
+
+
+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::flush");
+  }
+  tcdrain (fd_);
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::flushInput ()
+
+
+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::flushInput");
+  }
+  tcflush (fd_, TCIFLUSH);
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::flushOutput ()
+
+
+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::flushOutput");
+  }
+  tcflush (fd_, TCOFLUSH);
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
unsigned long serial::serial::Serial::SerialImpl::getBaudrate () const
+
+
+ +
+
+ +
+
+ + + + + + + +
unsigned long serial::serial::Serial::SerialImpl::getBaudrate () const
+
+
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
bool Serial::SerialImpl::getCD ()
+
+
+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::getCD");
+  }
+  int s = ioctl (fd_, TIOCMGET, 0);
+  return (s & TIOCM_CD) != 0;
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
bool Serial::SerialImpl::getCTS ()
+
+
+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::getCTS");
+  }
+  int s = ioctl (fd_, TIOCMGET, 0);
+  return (s & TIOCM_CTS) != 0;
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
bool Serial::SerialImpl::getDSR ()
+
+
+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::getDSR");
+  }
+  int s = ioctl (fd_, TIOCMGET, 0);
+  return (s & TIOCM_DSR) != 0;
+}
+
+
+
+ +
+ +
+ +
+
+ + + + + +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
string serial::serial::Serial::SerialImpl::getPort () const
+
+
+ +
+
+ +
+
+ + + + + + + +
string serial::serial::Serial::SerialImpl::getPort () const
+
+
+ +
+
+ +
+
+ + + + + + + +
bool Serial::SerialImpl::getRI ()
+
+
+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::getRI");
+  }
+  int s = ioctl (fd_, TIOCMGET, 0);
+  return (s & TIOCM_RI) != 0;
+}
+
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
long serial::serial::Serial::SerialImpl::getTimeout () const
+
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
bool serial::serial::Serial::SerialImpl::isOpen () const
+
+
+ +
+
+ +
+
+ + + + + + + +
bool serial::serial::Serial::SerialImpl::isOpen () const
+
+
+ +
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::open ()
+
+
+
{
+  if (port_.empty ()) {
+    throw invalid_argument ("Empty port is invalid.");
+  }
+  if (is_open_ == true) {
+    throw SerialExecption ("Serial port already open.");
+  }
+
+  fd_ = ::open (port_.c_str(), O_RDWR | O_NOCTTY | O_NONBLOCK);
+
+  if (fd_ == -1) {
+    switch (errno) {
+    case EINTR:
+      // Recurse because this is a recoverable error.
+      open ();
+      return;
+    case ENFILE:
+    case EMFILE:
+      THROW (IOException, "Too many file handles open.");
+    default:
+      THROW (IOException, errno);
+    }
+  }
+
+  reconfigurePort();
+  is_open_ = true;
+}
+
+
+
+ +
+
+ + + + + + + +
void serial::serial::Serial::SerialImpl::open ()
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t serial::serial::Serial::SerialImpl::read (char * buf,
size_t size = 1 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t serial::serial::Serial::SerialImpl::read (unsigned char * buf,
size_t size = 1 
)
+
+
+ +
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::readLock ()
+
+
+
{
+  int result = pthread_mutex_lock(&this->read_mutex);
+  if (result) {
+    THROW (IOException, result);
+  }
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::readUnlock ()
+
+
+
{
+  int result = pthread_mutex_unlock(&this->read_mutex);
+  if (result) {
+    THROW (IOException, result);
+  }
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::reconfigurePort () [protected]
+
+
+
{
+  if (fd_ == -1) {
+    // Can only operate on a valid file descriptor
+    THROW (IOException, "Invalid file descriptor, is the serial port open?");
+  }
+
+  struct termios options; // The options for the file descriptor
+
+  if (tcgetattr(fd_, &options) == -1) {
+    THROW (IOException, "::tcgetattr");
+  }
+
+  // set up raw mode / no echo / binary
+  options.c_cflag |= (unsigned long)  (CLOCAL | CREAD);
+  options.c_lflag &= (unsigned long) ~(ICANON | ECHO | ECHOE | ECHOK | ECHONL |
+                                       ISIG | IEXTEN); //|ECHOPRT
+
+  options.c_oflag &= (unsigned long) ~(OPOST);
+  options.c_iflag &= (unsigned long) ~(INLCR | IGNCR | ICRNL | IGNBRK);
+#ifdef IUCLC
+  options.c_iflag &= (unsigned long) ~IUCLC;
+#endif
+#ifdef PARMRK
+  options.c_iflag &= (unsigned long) ~PARMRK;
+#endif
+
+  // setup baud rate
+  bool custom_baud = false;
+  speed_t baud;
+  switch (baudrate_) {
+#ifdef B0
+  case 0: baud = B0; break;
+#endif
+#ifdef B50
+  case 50: baud = B50; break;
+#endif
+#ifdef B75
+  case 75: baud = B75; break;
+#endif
+#ifdef B110
+  case 110: baud = B110; break;
+#endif
+#ifdef B134
+  case 134: baud = B134; break;
+#endif
+#ifdef B150
+  case 150: baud = B150; break;
+#endif
+#ifdef B200
+  case 200: baud = B200; break;
+#endif
+#ifdef B300
+  case 300: baud = B300; break;
+#endif
+#ifdef B600
+  case 600: baud = B600; break;
+#endif
+#ifdef B1200
+  case 1200: baud = B1200; break;
+#endif
+#ifdef B1800
+  case 1800: baud = B1800; break;
+#endif
+#ifdef B2400
+  case 2400: baud = B2400; break;
+#endif
+#ifdef B4800
+  case 4800: baud = B4800; break;
+#endif
+#ifdef B7200
+  case 7200: baud = B7200; break;
+#endif
+#ifdef B9600
+  case 9600: baud = B9600; break;
+#endif
+#ifdef B14400
+  case 14400: baud = B14400; break;
+#endif
+#ifdef B19200
+  case 19200: baud = B19200; break;
+#endif
+#ifdef B28800
+  case 28800: baud = B28800; break;
+#endif
+#ifdef B57600
+  case 57600: baud = B57600; break;
+#endif
+#ifdef B76800
+  case 76800: baud = B76800; break;
+#endif
+#ifdef B38400
+  case 38400: baud = B38400; break;
+#endif
+#ifdef B115200
+  case 115200: baud = B115200; break;
+#endif
+#ifdef B128000
+  case 128000: baud = B128000; break;
+#endif
+#ifdef B153600
+  case 153600: baud = B153600; break;
+#endif
+#ifdef B230400
+  case 230400: baud = B230400; break;
+#endif
+#ifdef B256000
+  case 256000: baud = B256000; break;
+#endif
+#ifdef B460800
+  case 460800: baud = B460800; break;
+#endif
+#ifdef B921600
+  case 921600: baud = B921600; break;
+#endif
+  default:
+    custom_baud = true;
+    // Mac OS X 10.x Support
+#if defined(__APPLE__) && defined(__MACH__)
+#define IOSSIOSPEED _IOW('T', 2, speed_t)
+    int new_baud = static_cast<int> (baudrate_);
+    if (ioctl (fd_, IOSSIOSPEED, &new_baud, 1) < 0) {
+      THROW (IOException, errno);
+    }
+    // Linux Support
+#elif defined(__linux__)
+    struct serial_struct ser;
+    ioctl (fd_, TIOCGSERIAL, &ser);
+    // set custom divisor
+    ser.custom_divisor = ser.baud_base / baudrate_;
+    // update flags
+    ser.flags &= ~ASYNC_SPD_MASK;
+    ser.flags |= ASYNC_SPD_CUST;
+
+    if (ioctl (fd_, TIOCSSERIAL, ser) < 0) {
+      THROW (IOException, errno);
+    }
+#else
+    throw invalid_argument ("OS does not currently support custom bauds");
+#endif
+  }
+  if (custom_baud == false) {
+#ifdef _BSD_SOURCE
+    ::cfsetspeed(&options, baud);
+#else
+    ::cfsetispeed(&options, baud);
+    ::cfsetospeed(&options, baud);
+#endif
+  }
+
+  // setup char len
+  options.c_cflag &= (unsigned long) ~CSIZE;
+  if (bytesize_ == eightbits)
+    options.c_cflag |= CS8;
+  else if (bytesize_ == sevenbits)
+    options.c_cflag |= CS7;
+  else if (bytesize_ == sixbits)
+    options.c_cflag |= CS6;
+  else if (bytesize_ == fivebits)
+    options.c_cflag |= CS5;
+  else
+    throw invalid_argument ("invalid char len");
+  // setup stopbits
+  if (stopbits_ == stopbits_one)
+    options.c_cflag &= (unsigned long) ~(CSTOPB);
+  else if (stopbits_ == stopbits_one_point_five)
+    // ONE POINT FIVE same as TWO.. there is no POSIX support for 1.5
+    options.c_cflag |=  (CSTOPB);
+  else if (stopbits_ == stopbits_two)
+    options.c_cflag |=  (CSTOPB);
+  else
+    throw invalid_argument ("invalid stop bit");
+  // setup parity
+  options.c_iflag &= (unsigned long) ~(INPCK | ISTRIP);
+  if (parity_ == parity_none) {
+    options.c_cflag &= (unsigned long) ~(PARENB | PARODD);
+  } else if (parity_ == parity_even) {
+    options.c_cflag &= (unsigned long) ~(PARODD);
+    options.c_cflag |=  (PARENB);
+  } else if (parity_ == parity_odd) {
+    options.c_cflag |=  (PARENB | PARODD);
+  } else {
+    throw invalid_argument ("invalid parity");
+  }
+  // setup flow control
+  // xonxoff
+#ifdef IXANY
+  if (xonxoff_)
+    options.c_iflag |=  (IXON | IXOFF); //|IXANY)
+  else
+    options.c_iflag &= (unsigned long) ~(IXON | IXOFF | IXANY);
+#else
+  if (xonxoff_)
+    options.c_iflag |=  (IXON | IXOFF);
+  else
+    options.c_iflag &= (unsigned long) ~(IXON | IXOFF);
+#endif
+  // rtscts
+#ifdef CRTSCTS
+  if (rtscts_)
+    options.c_cflag |=  (CRTSCTS);
+  else
+    options.c_cflag &= (unsigned long) ~(CRTSCTS);
+#elif defined CNEW_RTSCTS
+  if (rtscts_)
+    options.c_cflag |=  (CNEW_RTSCTS);
+  else
+    options.c_cflag &= (unsigned long) ~(CNEW_RTSCTS);
+#else
+#error "OS Support seems wrong."
+#endif
+
+  // http://www.unixwiz.net/techtips/termios-vmin-vtime.html
+  // this basically sets the read call up to be a polling read,
+  // but we are using select to ensure there is data available
+  // to read before each call, so we should never needlessly poll
+  options.c_cc[VMIN] = 0;
+  options.c_cc[VTIME] = 0;
+
+  // activate settings
+  ::tcsetattr (fd_, TCSANOW, &options);
+}
+
+
+
+ +
+
+ + + + + + + +
void serial::serial::Serial::SerialImpl::reconfigurePort () [protected]
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Serial::SerialImpl::sendBreak (int duration)
+
+
+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::sendBreak");
+  }
+  tcsendbreak (fd_, static_cast<int> (duration / 4));
+}
+
+
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::sendBreak (int duration)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Serial::SerialImpl::setBaudrate (unsigned long baudrate)
+
+
+
{
+  baudrate_ = baudrate;
+  if (is_open_)
+    reconfigurePort ();
+}
+
+
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setBaudrate (unsigned long baudrate)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Serial::SerialImpl::setBreak (bool level)
+
+
+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::setBreak");
+  }
+  if (level) {
+    ioctl (fd_, TIOCSBRK);
+  } else {
+    ioctl (fd_, TIOCCBRK);
+  }
+}
+
+
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setBreak (bool level)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setBytesize (bytesize_t bytesize)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setBytesize (bytesize_t bytesize)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Serial::SerialImpl::setDTR (bool level)
+
+
+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::setDTR");
+  }
+  if (level) {
+    ioctl (fd_, TIOCMBIS, TIOCM_DTR);
+  } else {
+    ioctl (fd_, TIOCMBIC, TIOCM_DTR);
+  }
+}
+
+
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setDTR (bool level)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setFlowcontrol (flowcontrol_t flowcontrol)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setFlowcontrol (flowcontrol_t flowcontrol)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setParity (parity_t parity)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setParity (parity_t parity)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Serial::SerialImpl::setPort (const string & port)
+
+
+
{
+  port_ = port;
+}
+
+
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setPort (const string & port)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Serial::SerialImpl::setRTS (bool level)
+
+
+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::setRTS");
+  }
+  if (level) {
+    ioctl (fd_, TIOCMBIS, TIOCM_RTS);
+  } else {
+    ioctl (fd_, TIOCMBIC, TIOCM_RTS);
+  }
+}
+
+
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setRTS (bool level)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setStopbits (stopbits_t stopbits)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setStopbits (stopbits_t stopbits)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Serial::SerialImpl::setTimeout (long timeout)
+
+
+
{
+  timeout_ = timeout;
+}
+
+
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setTimeout (timeout_ttimeout)
+
+
+ +
+
+ +
+
+ + + + + + + +
bool Serial::SerialImpl::waitForChange ()
+
+
+
{
+#ifndef TIOCMIWAIT
+  while (is_open_ == true) {
+    int s = ioctl (fd_, TIOCMGET, 0);
+    if ((s & TIOCM_CTS) != 0) return true;
+    if ((s & TIOCM_DSR) != 0) return true;
+    if ((s & TIOCM_RI) != 0) return true;
+    if ((s & TIOCM_CD) != 0) return true;
+    usleep(1000);
+  }
+#else
+  if (ioctl(fd_, TIOCMIWAIT, (TIOCM_CD|TIOCM_DSR|TIOCM_RI|TIOCM_CTS)) != 0) {
+    stringstream ss;
+    ss << "waitForDSR failed on a call to ioctl(TIOCMIWAIT): "
+       << errno << " " << strerror(errno);
+    throw(SerialExecption(ss.str().c_str()));
+    return false;
+  }
+  return true;
+#endif
+  return false;
+}
+
+
+
+ +
+
+ + + + + + + + +
size_t Serial::SerialImpl::write (const string & data)
+
+
+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::write");
+  }
+  return static_cast<size_t> (::write (fd_, data.c_str (), data.length ()));
+}
+
+
+
+ +
+
+ + + + + + + + +
size_t serial::serial::Serial::SerialImpl::write (const string & data)
+
+
+ +
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::writeLock ()
+
+
+
{
+  int result = pthread_mutex_lock(&this->write_mutex);
+  if (result) {
+    THROW (IOException, result);
+  }
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::writeUnlock ()
+
+
+
{
+  int result = pthread_mutex_unlock(&this->write_mutex);
+  if (result) {
+    THROW (IOException, result);
+  }
+}
+
+
+
+
The documentation for this class was generated from the following files: +
+ + + + + + diff --git a/docs/v1.0/closed.png b/docs/v1.0/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..b7d4bd9fef2272c74b94762c9e2496177017775e GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VuAVNAAr*{o?>h22DDp4|bgj*t z)u^AqcA-V@guRYpb17F<&b?_~8HV>~XqWvB;^$!VVSTy0!eQcJp_yD7TIQA>7dijs YXf6~H5cs^Q6KEiVr>mdKI;Vst0NsWqGynhq literal 0 HcmV?d00001 diff --git a/docs/v1.0/doxygen.css b/docs/v1.0/doxygen.css new file mode 100644 index 0000000..c151fde --- /dev/null +++ b/docs/v1.0/doxygen.css @@ -0,0 +1,1012 @@ +/* The standard CSS for doxygen */ + +body, table, div, p, dl { + font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; + font-size: 13px; + line-height: 1.3; +} + +/* @group Heading Levels */ + +h1 { + font-size: 150%; +} + +.title { + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2 { + font-size: 120%; +} + +h3 { + font-size: 100%; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd, p.starttd { + margin-top: 2px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +.fragment { + font-family: monospace, fixed; + font-size: 105%; +} + +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%; +} + +div.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); +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 8px; + 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; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + 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%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memItemLeft, .memItemRight, .memTemplParams { + border-top: 1px solid #C4CFE5; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + 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%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; +} + +.memname { + white-space: nowrap; + font-weight: bold; + margin-left: 6px; +} + +.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); + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 8px; + border-top-left-radius: 8px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 8px; + -moz-border-radius-topleft: 8px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 8px; + -webkit-border-top-left-radius: 8px; + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 2px 5px; + background-color: #FBFCFD; + border-top-width: 0; + /* opera specific markup */ + border-bottom-left-radius: 8px; + border-bottom-right-radius: 8px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 8px; + -moz-border-radius-bottomright: 8px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7); + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7)); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} + +.params, .retval, .exception, .tparams { + border-spacing: 6px 2px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + + + + +/* @end */ + +/* @group Directory (tree) */ + +/* for the tree view */ + +.ftvtree { + font-family: sans-serif; + margin: 0px; +} + +/* these are for tree view when used as main index */ + +.directory { + font-size: 9pt; + font-weight: bold; + margin: 5px; +} + +.directory h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +/* +The following two styles can be used to replace the root node title +with an image of your choice. Simply uncomment the next two styles, +specify the name of your image and be sure to set 'height' to the +proper pixel height of your image. +*/ + +/* +.directory h3.swap { + height: 61px; + background-repeat: no-repeat; + background-image: url("yourimage.gif"); +} +.directory h3.swap span { + display: none; +} +*/ + +.directory > h3 { + margin-top: 0; +} + +.directory p { + margin: 0px; + white-space: nowrap; +} + +.directory div { + display: none; + margin: 0px; +} + +.directory img { + vertical-align: -30%; +} + +/* these are for tree view when not used as main index */ + +.directory-alt { + font-size: 100%; + font-weight: bold; +} + +.directory-alt h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +.directory-alt > h3 { + margin-top: 0; +} + +.directory-alt p { + margin: 0px; + white-space: nowrap; +} + +.directory-alt div { + display: none; + margin: 0px; +} + +.directory-alt img { + vertical-align: -30%; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + 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); +} + +.fieldtable td, .fieldtable th { + 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.fielddoc { + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.fieldtable tr:last-child td { + 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; + -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; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.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; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + margin-left: 5px; + font-size: 8pt; + padding-left: 5px; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 7px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + border-left:4px solid; + padding: 0 0 0 6px; +} + +dl.note +{ + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + border-color: #00D000; +} + +dl.deprecated +{ + border-color: #505050; +} + +dl.todo +{ + border-color: #00C0E0; +} + +dl.test +{ + border-color: #3030E0; +} + +dl.bug +{ + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + 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 20px 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; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + 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; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + + +@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; + } + pre.fragment + { + overflow: visible; + text-wrap: unrestricted; + 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+ */ + } +} + diff --git a/docs/v1.0/doxygen.png b/docs/v1.0/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..635ed52fce7057ac24df92ec7664088a881fa5d0 GIT binary patch literal 3942 zcmV-s51H_ZP)95ENDh(OT9xpYZC{M(=rqI* z+1erNEr&9zRjUI-4rN=4BBz>P@ys*xOjGRjzVE*Fx_qvyt9d@B@BO*&@8Mq!nM{Tc z_WoM84-~xLreSL9@vgZ{m2dF}`u=^ZF3syQ-s2tnBwCI3ZFvSfI20Wbj236~Urq*8Kfw@RKKfRQTgE>}uUHK^ptamY=o)LU(xy55zNQ(`qZ znZ&$O075mrrInIXQgw4%GCbMD8Vn`3n3$EaRwtP1D{A!Gs=e!L%3;ayv@I{rAw{xw z^x^>EIWQM8ob3m}$(BaupDMV;Ed8w5|i(*e`7rU$TOc&1o7`|!LyN5jHI z7uWAR!v4c2xMp?}QmRYyf>i}tYGU(g=>DW&==J@GbhR z5@BNVY3O$`^D%gk4khm9XpFhuwzxUhi9T=Du4rpVuYRSMPHeDqo+4htnZRU@G9`0& z9~p)CsFl1|t*wjfoTo&%davN^3RfJUhQ{ZZIAcD77X^XsF_iR&ZMQ;p>K5*+*48)x z+=<>nh+6Uq85jOkg>{z>a;+V`s(I;I%*5s+R@9a^wNoZ03(g9-EcH%uHvX&yp7`D#`9Kw>DU3s zjD-VuW_A-K)unlS4O3f>_B%pPONUmI#oyL};Lglp3=04>0eBBEw$D1k-$WTsoi#K* z$7h`NcyRZsZ#w~6I<%~u!^xDofYrzF>zVIj2N>Ijs`mVR(Oy&*9f}<{JtQj8jJT!oEc!NQXBq5y|6ET*N?7ox*E6#{i- z@_DLD^IYTtg|Pg?A~!7@OCd8p^)kxK%VBM84docx$Z{MvO)iiqep@or-N}TEU8$%; zJih?#yJ9)V1s_`}c3XbY9V}nEKwNz8ILmR|v)(w|D@oVG;=i`+$*)!(xH{9#$2Za;pyZ1wgU#)mHl|&8%iwu%yncO z`T32Ib0$D}j`c}}5M@M#7oR&G=QwU!!Ja*P7|NJt1@lo=d{_dY-q_lmDcH7{BHncF zR@^PmcLC6EsN?6N{fV3o8}>?h9X_@;=&-p7%tms7$_{3w(anwek_k&<&)~c$Ar?S> zy9gKavndTmxqAbE?SMgcWhXPENdKdz7ntt55Y3Hs3jjc~uR-#$tR(1a_abv9`-QzG z^J0Fsbd&yruq%xAsxf3rc=T}$Zx|AD%x{Fd=? z{qhl3kG5w-PqVK9-Gru%7UIEw)bt$ZMF|Z6HpmO)F%@GNT8yT|#FuWPxv@@Ic={;6 zU7)e!XG|1dx=kU|&|)+m+$&|Yw92Fa;*MnegXcCf8XsHfqg_F5t)3Jt8)EkXKuY21 zqt%4}@R8hK*(_JO0*H+Pa)6Pp&K49rKNeQEYb*x9WY`!`Vh3|80YF%I`lxv9_!$hD zOh$>zWaRIW!);6`vA$Zp;5lnGyX^^N%YEjCeJMHPolKCE1ttIqK<$0w&LcE8)`_c2 z^H^qf6ACV0t7FLLCsu#mL&Mb8gE@rZE#k+1Nrrxw+{N0^#bN*~!qt2>S4e#jC$a$` ze4@{)$aTEYq_!#2|t@Fj3e?w-XVuG$Z}kAR?_kgJAlZIJ)0{eHw#fybNooA zp02jyYVc&w!}m#BVP>ef2|U^J(A-#O1R#A&><*?Y! zOwml{CnE+aU3JfKE@uzge(qMY{^6siuXFt;+mMbapU;Ppejl=L#>s2#SMBbfP9AFT znEVA=TBtZ6d-GfF>kOxylg>Ek%qTp*h2ze!^^hOsmKOEE6b;maQ>~R>3#z`Zawbik z88OTykU3_!Atg^+vnM=1n}?%<$dHzn)?k&T#RWwb+*y;XNQbYNHKo3wr~&}Qa$id; z6^D*K9RTQZUuQVg)g~P%!BIiv+cXllt)KEP9IN)1udQKf>p|~lXj7K<-9}0Q%i9+K zXaF7qXclE>sf)7)J4_M%V{;(sFT7HN$o0#_qU#Ah1D{ zon=JihPcgG5xHuvQwOXBkt3(iUdx{6Gn|aa>@C9Cqg%rPK(+REZ4>6t3z7m@Aj;0l zSHh&%cKSJ*+WOJGwe?Y7d(9RAy)&NVS6uj}1m@U}jXH3oVQT9E0A)$ZDRdK>;_i;+ z7vbEoI7$1XK6vNxT(_sJ(GM4s92e;gB&Q zDO;(Ve^%gPG&lWW1fUf_=9-Q1%&`s%aD^o`Q2u`WI9V>Qm#D5?SW<)Njmt@aR5@6( zL4cdTo+Jg@>Brm1^_gf%0Z?}1AppR3NdFE5uzdpBZz;{Thd6SI-$gb2}pFAww$*j(2=s{mdz2E;lBvVcrN@}i2bC`Q5Y_;BID^f0J+ACVhyQsLg0@`okIk+i=LJ=3yvI*oASj62 za3C{Pu_fQ+atw!zN{$Shr*_UV=|jp4#CqWeGE?Jb`pq!|5bDES&-Ix=-N>DpydHqW z+-{QS+i)d;uGS)M%Suw9khR}3N82j|S{a#&Tctme0s%mTy<1S|;@M-+S4#o@!qr;r z+w(n=;@43Y_n#dI0Gb(T0{G7k-KY8k`MPM_Bss$?)SK){KJMrwv!vz42_U_Za zX7lDqiU8ZvCAfGpAtfVC5bQrYa4C)M9G$S4D&VqpJ8)lm$t5FAAR%ywf>*~VaivC70RVFXISv4Lx&tk^Cf1)qQ|rxp z*8H>)cgoM;(eKxH14u~~@JopNr9@A z#-yXVG?$es;EPqsn-j?45^L52U=nT#0A^T3JY$&B3EH&%2UHdv3P=_3$!n76!34ks zz^2ii@sXAu8LKYMmG=_^*qtiiOFNlG3?QYtG%wrCZh|)vlj8vq3sw~f1b8;_TMB>z zPSyDQy_9bbXD*#sNRGMzfSAwUD}ASX;ZGQcGdE=9q~ORU{v$}=z2Bc8EOe2S&);jS zCZB8P`hPoV1NBk)TQP2z{q$NL-GLUc7%>&fecE^E{I5gs?8!qTK7VgR7Z?}-`YG|z zVN-NvOlQ+B;~J*69_Xd1n-0MLKTY6&*%rTi*0^HXniz8{bCMsVpSXqs(GGO)*_#Kz z9YBCQ_VRhtwhMfppMh@OdxjCN0mH`5hKZr>UoxMx`W~u^kD&bskplglOiRxQvep*2 z0mk+kMP>J)K`8X3`6Zq|X~5IQ-_rrOn+_WvU{1Gs{ow1-Eb;K(Z?p$@ugXpr^?PM( z(5Hv;$*X=QZaqG_4q)N1v9sO(Dsei!;%IcIztt6YUs{yj z^77e`UYa^%<-Ts+d*b=ihKt?0_sj!ePNO@K*PGmGD*v^;rRAkduikx~UNk=@{XKeV zp_ir(dTaGVWBr{_02Kg2Xmlsn|IvIIRYivbo|L{yx}yX5Bte@P6C>1KyqvYnT{boB#j-07*qoM6N<$f^XQQ A+yDRo literal 0 HcmV?d00001 diff --git a/docs/v1.0/files.html b/docs/v1.0/files.html new file mode 100644 index 0000000..07a6aa3 --- /dev/null +++ b/docs/v1.0/files.html @@ -0,0 +1,115 @@ + + + + + +serial: File List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+ + + + + + +
include/serial/serial.h [code]
include/serial/impl/unix.h [code]
include/serial/impl/windows.h [code]
src/serial.cc
src/impl/unix.cc
src/impl/windows.cc
+
+ + + + + + diff --git a/docs/v1.0/functions.html b/docs/v1.0/functions.html new file mode 100644 index 0000000..6448c46 --- /dev/null +++ b/docs/v1.0/functions.html @@ -0,0 +1,395 @@ + + + + + +serial: Data Fields + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- a -

+ + +

- c -

+ + +

- f -

+ + +

- g -

+ + +

- i -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+ + +

- ~ -

+
+ + + + + + diff --git a/docs/v1.0/functions_func.html b/docs/v1.0/functions_func.html new file mode 100644 index 0000000..be71b98 --- /dev/null +++ b/docs/v1.0/functions_func.html @@ -0,0 +1,381 @@ + + + + + +serial: Data Fields - Functions + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- a -

+ + +

- c -

+ + +

- f -

+ + +

- g -

+ + +

- i -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+ + +

- ~ -

+
+ + + + + + diff --git a/docs/v1.0/functions_vars.html b/docs/v1.0/functions_vars.html new file mode 100644 index 0000000..c47acdf --- /dev/null +++ b/docs/v1.0/functions_vars.html @@ -0,0 +1,128 @@ + + + + + +serial: Data Fields - Variables + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/docs/v1.0/globals.html b/docs/v1.0/globals.html new file mode 100644 index 0000000..573e452 --- /dev/null +++ b/docs/v1.0/globals.html @@ -0,0 +1,121 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+ + + + + + diff --git a/docs/v1.0/globals_defs.html b/docs/v1.0/globals_defs.html new file mode 100644 index 0000000..eecaae1 --- /dev/null +++ b/docs/v1.0/globals_defs.html @@ -0,0 +1,118 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/docs/v1.0/globals_func.html b/docs/v1.0/globals_func.html new file mode 100644 index 0000000..dbc8194 --- /dev/null +++ b/docs/v1.0/globals_func.html @@ -0,0 +1,115 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/docs/v1.0/graph_legend.html b/docs/v1.0/graph_legend.html new file mode 100644 index 0000000..74bf721 --- /dev/null +++ b/docs/v1.0/graph_legend.html @@ -0,0 +1,165 @@ + + + + + +serial: Graph Legend + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
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 grey 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 dark 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/docs/v1.0/graph_legend.md5 b/docs/v1.0/graph_legend.md5 new file mode 100644 index 0000000..c0a4490 --- /dev/null +++ b/docs/v1.0/graph_legend.md5 @@ -0,0 +1 @@ +70d597617e34367275a35eeb8fb7ea07 \ No newline at end of file diff --git a/docs/v1.0/graph_legend.png b/docs/v1.0/graph_legend.png new file mode 100644 index 0000000000000000000000000000000000000000..c68e946389f02dc9141007f0b7dee43576c0c665 GIT binary patch literal 18954 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�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 PaS-3r)z4*}Q$iB}ZOhU! literal 0 HcmV?d00001 diff --git a/docs/v1.0/index.html b/docs/v1.0/index.html new file mode 100644 index 0000000..5738574 --- /dev/null +++ b/docs/v1.0/index.html @@ -0,0 +1,101 @@ + + + + + +serial: Main Page + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
serial Documentation
+
+
+
+ + + + + + diff --git a/docs/v1.0/jquery.js b/docs/v1.0/jquery.js new file mode 100644 index 0000000..90b3a2b --- /dev/null +++ b/docs/v1.0/jquery.js @@ -0,0 +1,64 @@ +/* + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ +(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0) +{I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function() +{G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); + +/* + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' +
+ +
+
Here is a list of all namespace members with links to the namespace documentation for each member:
+
+ + + + + + diff --git a/docs/v1.0/namespacemembers_enum.html b/docs/v1.0/namespacemembers_enum.html new file mode 100644 index 0000000..efbed3a --- /dev/null +++ b/docs/v1.0/namespacemembers_enum.html @@ -0,0 +1,124 @@ + + + + + +serial: Namespace Members + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/docs/v1.0/namespacemembers_eval.html b/docs/v1.0/namespacemembers_eval.html new file mode 100644 index 0000000..e13059f --- /dev/null +++ b/docs/v1.0/namespacemembers_eval.html @@ -0,0 +1,148 @@ + + + + + +serial: Namespace Members + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/docs/v1.0/namespaces.html b/docs/v1.0/namespaces.html new file mode 100644 index 0000000..5170ea2 --- /dev/null +++ b/docs/v1.0/namespaces.html @@ -0,0 +1,112 @@ + + + + + +serial: Namespace List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Namespace List
+
+
+
Here is a list of all namespaces with brief descriptions:
+ + + +
serial
serial::serial
serial::serial::Serial
+
+ + + + + + diff --git a/docs/v1.0/namespaceserial.html b/docs/v1.0/namespaceserial.html new file mode 100644 index 0000000..c4fe282 --- /dev/null +++ b/docs/v1.0/namespaceserial.html @@ -0,0 +1,259 @@ + + + + + +serial: serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
serial Namespace Reference
+
+
+ + + + + + + + + + + + + + + +

+Namespaces

namespace  serial

+Data Structures

struct  timeout_t
class  Serial
class  SerialExecption
class  IOException
class  PortNotOpenedException
class  SerialExceptionBase

+Enumerations

enum  bytesize_t { fivebits = 5, +sixbits = 6, +sevenbits = 7, +eightbits = 8 + }
enum  parity_t { parity_none = 0, +parity_odd = 1, +parity_even = 2 + }
enum  stopbits_t { stopbits_one = 1, +stopbits_one_point_five, +stopbits_two = 2 + }
enum  flowcontrol_t { flowcontrol_none = 0, +flowcontrol_software + }
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum serial::bytesize_t
+
+
+

Enumeration defines the possible bytesizes for the serial port.

+
Enumerator:
+ + + + +
fivebits  +
sixbits  +
sevenbits  +
eightbits  +
+
+
+
             {
+  fivebits = 5,
+  sixbits = 6,
+  sevenbits = 7,
+  eightbits = 8
+} bytesize_t;
+
+
+
+ +
+
+ + + + +
enum serial::flowcontrol_t
+
+
+

Enumeration defines the possible flowcontrol types for the serial port.

+
Enumerator:
+ + +
flowcontrol_none  +
flowcontrol_software  +
+
+
+ +
+
+ +
+
+ + + + +
enum serial::parity_t
+
+
+

Enumeration defines the possible parity types for the serial port.

+
Enumerator:
+ + + +
parity_none  +
parity_odd  +
parity_even  +
+
+
+
             {
+  parity_none = 0,
+  parity_odd = 1,
+  parity_even = 2
+} parity_t;
+
+
+
+ +
+
+ + + + +
enum serial::stopbits_t
+
+
+

Enumeration defines the possible stopbit types for the serial port.

+
Enumerator:
+ + + +
stopbits_one  +
stopbits_one_point_five  +
stopbits_two  +
+
+
+ +
+
+
+ + + + + + diff --git a/docs/v1.0/namespaceserial_1_1serial.html b/docs/v1.0/namespaceserial_1_1serial.html new file mode 100644 index 0000000..2b70bd5 --- /dev/null +++ b/docs/v1.0/namespaceserial_1_1serial.html @@ -0,0 +1,120 @@ + + + + + +serial: serial::serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::serial Namespace Reference
+
+
+ + + +

+Namespaces

namespace  Serial
+
+ + + + + + diff --git a/docs/v1.0/namespaceserial_1_1serial_1_1_serial.html b/docs/v1.0/namespaceserial_1_1serial_1_1_serial.html new file mode 100644 index 0000000..3e9bec7 --- /dev/null +++ b/docs/v1.0/namespaceserial_1_1serial_1_1_serial.html @@ -0,0 +1,121 @@ + + + + + +serial: serial::serial::Serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::serial::Serial Namespace Reference
+
+
+ + + +

+Data Structures

class  SerialImpl
+
+ + + + + + diff --git a/docs/v1.0/nav_f.png b/docs/v1.0/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..1b07a16207e67c95fe2ee17e7016e6d08ac7ac99 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQfZzpjv*C{Z|{2YIT`Y>1X`Eg z-tTbne1`SITM8Q!Pb(<)UFZ(m>wMzvKZQqKM~~GcZ=A7j<~E6K62>ozFS=cD3)mf8 z9WX0+R&m(l9KUsLdTx4?9~({T__KA%`}olPJ^N;y|F^pHgs_K%!rj~{8>RwnWbkzL Kb6Mw<&;$VTdq1fF literal 0 HcmV?d00001 diff --git a/docs/v1.0/nav_h.png b/docs/v1.0/nav_h.png new file mode 100644 index 0000000000000000000000000000000000000000..01f5fa6a596e36bd12c2d6ceff1b0169fda7e699 GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^j6lr8!2~3AUOE6t1`SUa$B+ufw|6&kG8phMJMJ~w va4>Y+bZ&9QY?(VEUPY_cGd9nQ`um^ZSUyYpAAuKhL7F^W{an^LB{Ts5DmojT literal 0 HcmV?d00001 diff --git a/docs/v1.0/open.png b/docs/v1.0/open.png new file mode 100644 index 0000000000000000000000000000000000000000..7b35d2c2c389743089632fe24c3104f2173d97af GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{Vww^AIAr*{o=Nbw!DDW^(zOibV zl!F8B0?t?i!vld4k#$~0_AX3zElaokn + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_61.js b/docs/v1.0/search/all_61.js new file mode 100644 index 0000000..2c73ebe --- /dev/null +++ b/docs/v1.0/search/all_61.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['available',['available',['../classserial_1_1_serial.html#afafe25b2f3bb0809550abdc72c51a234',1,'serial::Serial::available()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aec474ec54cb40a4191939aacb80c5ea2',1,'serial::serial::Serial::SerialImpl::available()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aecd5e068c21b076bcf161f7bf7f415f5',1,'serial::serial::Serial::SerialImpl::available()']]] +]; diff --git a/docs/v1.0/search/all_62.html b/docs/v1.0/search/all_62.html new file mode 100644 index 0000000..ee8871c --- /dev/null +++ b/docs/v1.0/search/all_62.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_62.js b/docs/v1.0/search/all_62.js new file mode 100644 index 0000000..ff57a8f --- /dev/null +++ b/docs/v1.0/search/all_62.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bytesize_5ft',['bytesize_t',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8',1,'serial']]] +]; diff --git a/docs/v1.0/search/all_63.html b/docs/v1.0/search/all_63.html new file mode 100644 index 0000000..56b5ad1 --- /dev/null +++ b/docs/v1.0/search/all_63.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_63.js b/docs/v1.0/search/all_63.js new file mode 100644 index 0000000..df69cf5 --- /dev/null +++ b/docs/v1.0/search/all_63.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['close',['close',['../classserial_1_1_serial.html#afbe59407e718bc3d22ea4a67b304db6c',1,'serial::Serial::close()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a38af5b9c8b676ffaef15c84fb303d6f7',1,'serial::serial::Serial::SerialImpl::close()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2608096ba0d17127b17484fc9481833a',1,'serial::serial::Serial::SerialImpl::close()']]] +]; diff --git a/docs/v1.0/search/all_65.html b/docs/v1.0/search/all_65.html new file mode 100644 index 0000000..66cc834 --- /dev/null +++ b/docs/v1.0/search/all_65.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_65.js b/docs/v1.0/search/all_65.js new file mode 100644 index 0000000..10bd939 --- /dev/null +++ b/docs/v1.0/search/all_65.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eightbits',['eightbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a47f14d952cf9bed6c3f7ae5985161990',1,'serial']]] +]; diff --git a/docs/v1.0/search/all_66.html b/docs/v1.0/search/all_66.html new file mode 100644 index 0000000..3d1f8b3 --- /dev/null +++ b/docs/v1.0/search/all_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_66.js b/docs/v1.0/search/all_66.js new file mode 100644 index 0000000..29ed8e6 --- /dev/null +++ b/docs/v1.0/search/all_66.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['fivebits',['fivebits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8af09eeaf7333d2feda0bd3d748d5e3123',1,'serial']]], + ['flowcontrol_5fnone',['flowcontrol_none',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351a083bc02a6e8e7c6540a28654c0f95bb0',1,'serial']]], + ['flowcontrol_5fsoftware',['flowcontrol_software',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351ab3390af5eee11740af5e09d71ad419a6',1,'serial']]], + ['flowcontrol_5ft',['flowcontrol_t',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351',1,'serial']]], + ['flush',['flush',['../classserial_1_1_serial.html#a63b7abf172cad25bfc998b3b1f98310f',1,'serial::Serial::flush()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7dc1818234ab3f5ae3ebd67bc79d8511',1,'serial::serial::Serial::SerialImpl::flush()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afe873a403bcca3956437d95aa55c4d06',1,'serial::serial::Serial::SerialImpl::flush()']]], + ['flushinput',['flushInput',['../classserial_1_1_serial.html#afa2c1f9114a37b7d140fc2292d1499b9',1,'serial::Serial::flushInput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a28003745a26c0924fc1d305e947bc3bf',1,'serial::serial::Serial::SerialImpl::flushInput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0b4ef99a4b44c3ef153ec7c4802ff194',1,'serial::serial::Serial::SerialImpl::flushInput()']]], + ['flushoutput',['flushOutput',['../classserial_1_1_serial.html#a256ee4bb93ab0e79d7a66b50f08dce53',1,'serial::Serial::flushOutput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a5b2c81540ca1e1eb962249ca8f538299',1,'serial::serial::Serial::SerialImpl::flushOutput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac61932385ea2ce645192e1539349500b',1,'serial::serial::Serial::SerialImpl::flushOutput()']]] +]; diff --git a/docs/v1.0/search/all_67.html b/docs/v1.0/search/all_67.html new file mode 100644 index 0000000..41a459a --- /dev/null +++ b/docs/v1.0/search/all_67.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_67.js b/docs/v1.0/search/all_67.js new file mode 100644 index 0000000..ef42170 --- /dev/null +++ b/docs/v1.0/search/all_67.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['get_5ftime_5fnow',['get_time_now',['../unix_8cc.html#ad718e26d8db83d1760a13a80c67b4821',1,'unix.cc']]], + ['getbaudrate',['getBaudrate',['../classserial_1_1_serial.html#acd0e5a25e4484d6f08fe02c1911ab5e0',1,'serial::Serial::getBaudrate()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const ']]], + ['getbytesize',['getBytesize',['../classserial_1_1_serial.html#a4fce90ef7a9a46525efa373a94a1bfbd',1,'serial::Serial::getBytesize()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aafeff74e9aed67a996735dbb46323b25',1,'serial::serial::Serial::SerialImpl::getBytesize() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aafeff74e9aed67a996735dbb46323b25',1,'serial::serial::Serial::SerialImpl::getBytesize() const ']]], + ['getcd',['getCD',['../classserial_1_1_serial.html#a9795a3e83e6745a14c64f657e68061fb',1,'serial::Serial::getCD()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a6f2a8d7ff955fc3f061b513c095859e1',1,'serial::serial::Serial::SerialImpl::getCD()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9d402e28513e22613658b31e13b76802',1,'serial::serial::Serial::SerialImpl::getCD()']]], + ['getcts',['getCTS',['../classserial_1_1_serial.html#a809f048546c4c72b74e205139b97648c',1,'serial::Serial::getCTS()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0801d20b6e906369ad232e460b741d7b',1,'serial::serial::Serial::SerialImpl::getCTS()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afbfd566cd435f7881826fb0a2f74f746',1,'serial::serial::Serial::SerialImpl::getCTS()']]], + ['getdsr',['getDSR',['../classserial_1_1_serial.html#a6b9a0c485e1fe599dbb5e9e15b1a65d6',1,'serial::Serial::getDSR()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a15d1d986dad6ec754919bb38c3470362',1,'serial::serial::Serial::SerialImpl::getDSR()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae07e012e3630c51baf1b8c7c37dd79a5',1,'serial::serial::Serial::SerialImpl::getDSR()']]], + ['geterrornumber',['getErrorNumber',['../classserial_1_1_i_o_exception.html#a91d5ee5241dd49fb39e8e762564b6cc5',1,'serial::IOException']]], + ['getflowcontrol',['getFlowcontrol',['../classserial_1_1_serial.html#acdc6da48a5434b936b1db20f36caf41f',1,'serial::Serial::getFlowcontrol()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af1b3fe4ea4d075b76b0c243d4ed768ec',1,'serial::serial::Serial::SerialImpl::getFlowcontrol() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af1b3fe4ea4d075b76b0c243d4ed768ec',1,'serial::serial::Serial::SerialImpl::getFlowcontrol() const ']]], + ['getparity',['getParity',['../classserial_1_1_serial.html#a89d876e1d3f0afadb0d6c21b08ed8931',1,'serial::Serial::getParity()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa7cc3b7bd62ad98d25f2e2e0f27d3b42',1,'serial::serial::Serial::SerialImpl::getParity() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa7cc3b7bd62ad98d25f2e2e0f27d3b42',1,'serial::serial::Serial::SerialImpl::getParity() const ']]], + ['getport',['getPort',['../classserial_1_1_serial.html#ae95cd057e90258b1b3203ff8972a3567',1,'serial::Serial::getPort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a1f881c2cf8bfc92a7836ee0dd554ec44',1,'serial::serial::Serial::SerialImpl::getPort() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a1f881c2cf8bfc92a7836ee0dd554ec44',1,'serial::serial::Serial::SerialImpl::getPort() const ']]], + ['getri',['getRI',['../classserial_1_1_serial.html#afb96e6968f040c4bff7576095f4ba6e7',1,'serial::Serial::getRI()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0ee5f4cd897bc177a179ec4f0ba8c561',1,'serial::serial::Serial::SerialImpl::getRI()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a4b9e1b75dce29e8ed4fa62b389510ae5',1,'serial::serial::Serial::SerialImpl::getRI()']]], + ['getstopbits',['getStopbits',['../classserial_1_1_serial.html#a42887bb76243bf6bbb3f69ff60f9792e',1,'serial::Serial::getStopbits()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af52b7b4b1d78b9fc98f7150587ddc8b6',1,'serial::serial::Serial::SerialImpl::getStopbits() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af52b7b4b1d78b9fc98f7150587ddc8b6',1,'serial::serial::Serial::SerialImpl::getStopbits() const ']]], + ['gettimeout',['getTimeout',['../classserial_1_1_serial.html#a655e62319e089961aa02fb47fbc1b198',1,'serial::Serial::getTimeout()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09ae38ff5e46514027888eaa631796cd',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae79177ed275c9cb5af7e5617644818f9',1,'serial::serial::Serial::SerialImpl::getTimeout() const ']]] +]; diff --git a/docs/v1.0/search/all_69.html b/docs/v1.0/search/all_69.html new file mode 100644 index 0000000..1a00b55 --- /dev/null +++ b/docs/v1.0/search/all_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_69.js b/docs/v1.0/search/all_69.js new file mode 100644 index 0000000..948eca8 --- /dev/null +++ b/docs/v1.0/search/all_69.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['inter_5fbyte_5ftimeout',['inter_byte_timeout',['../structserial_1_1timeout__t.html#abb885cffadb5ee57c6689d5a3c50dfad',1,'serial::timeout_t']]], + ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html',1,'serial']]], + ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html#acb2f2cf7a5cc8090945f6cbfcef3ef1e',1,'serial::IOException::IOException(std::string file, int line, int errnum)'],['../classserial_1_1_i_o_exception.html#acc1d2c650832cc8127f2cd777072b2cd',1,'serial::IOException::IOException(std::string file, int line, const char *description)']]], + ['isopen',['isOpen',['../classserial_1_1_serial.html#af9895af496189f7f0aba7c097f5fa9c1',1,'serial::Serial::isOpen()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a189fe759d2119a6513d5981575a91b8e',1,'serial::serial::Serial::SerialImpl::isOpen() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a189fe759d2119a6513d5981575a91b8e',1,'serial::serial::Serial::SerialImpl::isOpen() const ']]] +]; diff --git a/docs/v1.0/search/all_6f.html b/docs/v1.0/search/all_6f.html new file mode 100644 index 0000000..61827e8 --- /dev/null +++ b/docs/v1.0/search/all_6f.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_6f.js b/docs/v1.0/search/all_6f.js new file mode 100644 index 0000000..fec1706 --- /dev/null +++ b/docs/v1.0/search/all_6f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['open',['open',['../classserial_1_1_serial.html#af3644ed1a9d899b70e9d63bb9b808d62',1,'serial::Serial::open()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#abc447d3fefa173392f5d7b641ffef1ed',1,'serial::serial::Serial::SerialImpl::open()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a279801879f609e1845e3e730f5651aa2',1,'serial::serial::Serial::SerialImpl::open()']]] +]; diff --git a/docs/v1.0/search/all_70.html b/docs/v1.0/search/all_70.html new file mode 100644 index 0000000..0340151 --- /dev/null +++ b/docs/v1.0/search/all_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_70.js b/docs/v1.0/search/all_70.js new file mode 100644 index 0000000..29388a0 --- /dev/null +++ b/docs/v1.0/search/all_70.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['parity_5feven',['parity_even',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481abe15d241d407528bc8a199b02301ed46',1,'serial']]], + ['parity_5fnone',['parity_none',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481a31cbb2b3cf0870d1a089d66295918416',1,'serial']]], + ['parity_5fodd',['parity_odd',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481affd8fd58edf7c25bab458cafaebecb10',1,'serial']]], + ['parity_5ft',['parity_t',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481',1,'serial']]], + ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html#acd2213fae864534eae6a580f74c5ab1b',1,'serial::PortNotOpenedException']]], + ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html',1,'serial']]] +]; diff --git a/docs/v1.0/search/all_72.html b/docs/v1.0/search/all_72.html new file mode 100644 index 0000000..0ab18d6 --- /dev/null +++ b/docs/v1.0/search/all_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_72.js b/docs/v1.0/search/all_72.js new file mode 100644 index 0000000..5d1e427 --- /dev/null +++ b/docs/v1.0/search/all_72.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['read',['read',['../classserial_1_1_serial.html#a2bcd2c76cdacf64928fcd7e9ec279ff1',1,'serial::Serial::read(unsigned char *buffer, size_t size)'],['../classserial_1_1_serial.html#aa1f8933e86e7f37781c186b11a763221',1,'serial::Serial::read(std::vector< unsigned char > &buffer, size_t size=1)'],['../classserial_1_1_serial.html#ac47576244e34abc2e460ba99684c351f',1,'serial::Serial::read(std::string &buffer, size_t size=1)'],['../classserial_1_1_serial.html#a6c71ad1cbacf86cead4d38b48c548405',1,'serial::Serial::read(size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab38e31999f75db98b45e74e9b8f66343',1,'serial::serial::Serial::SerialImpl::read(unsigned char *buf, size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a332155c4d26e565a73d9823bc7d1da91',1,'serial::serial::Serial::SerialImpl::read(char *buf, size_t size=1)']]], + ['read_5ftimeout_5fconstant',['read_timeout_constant',['../structserial_1_1timeout__t.html#a2fc1dbde1ba635636379085f4e5f58fe',1,'serial::timeout_t']]], + ['read_5ftimeout_5fmultiplier',['read_timeout_multiplier',['../structserial_1_1timeout__t.html#a548b76a924a2f8d5c902130cb587e6bb',1,'serial::timeout_t']]], + ['readline',['readline',['../classserial_1_1_serial.html#a010b18ec545dfe1a7bb1c95be4bdaa54',1,'serial::Serial::readline(std::string &buffer, size_t size=65536, std::string eol="\n")'],['../classserial_1_1_serial.html#a04177f637cc02f92ec0492d377528b2a',1,'serial::Serial::readline(size_t size=65536, std::string eol="\n")']]], + ['readlines',['readlines',['../classserial_1_1_serial.html#a99f77b9bbdc128b6704cc59db77686c5',1,'serial::Serial']]], + ['readlock',['readLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a284eeedc3dd686ecef0fdcfd83bebc54',1,'serial::serial::Serial::SerialImpl']]], + ['readunlock',['readUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab6533e884ba609a1dd6a88b7964d8b52',1,'serial::serial::Serial::SerialImpl']]], + ['reconfigureport',['reconfigurePort',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a48dcc5d2568edd1ce29df30a95d460d9',1,'serial::serial::Serial::SerialImpl::reconfigurePort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad006a2392150daddfa43ae288259c07d',1,'serial::serial::Serial::SerialImpl::reconfigurePort()']]] +]; diff --git a/docs/v1.0/search/all_73.html b/docs/v1.0/search/all_73.html new file mode 100644 index 0000000..1ec8f17 --- /dev/null +++ b/docs/v1.0/search/all_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_73.js b/docs/v1.0/search/all_73.js new file mode 100644 index 0000000..c25189f --- /dev/null +++ b/docs/v1.0/search/all_73.js @@ -0,0 +1,34 @@ +var searchData= +[ + ['scopedreadlock',['ScopedReadLock',['../class_serial_1_1_scoped_read_lock.html',1,'serial::Serial']]], + ['scopedreadlock',['ScopedReadLock',['../class_serial_1_1_scoped_read_lock.html#a54f59663807d8adfe6db712ee6103503',1,'Serial::ScopedReadLock']]], + ['scopedwritelock',['ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html',1,'serial::Serial']]], + ['scopedwritelock',['ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html#a662173968431aee3d6f204c354b20225',1,'Serial::ScopedWriteLock']]], + ['sendbreak',['sendBreak',['../classserial_1_1_serial.html#ade90ff8f03525ea6d7b702fcd0f336de',1,'serial::Serial::sendBreak()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3f738264b8236e271d79835f0ec08bf3',1,'serial::serial::Serial::SerialImpl::sendBreak(int duration)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a6a1abcf6f4b94c7f3d7753c3f2dab91a',1,'serial::serial::Serial::SerialImpl::sendBreak(int duration)']]], + ['serial',['Serial',['../namespaceserial_1_1serial_1_1_serial.html',1,'serial::serial']]], + ['serial',['Serial',['../classserial_1_1_serial.html',1,'serial::Serial'],['../namespaceserial_1_1serial.html',1,'serial::serial']]], + ['serial',['serial',['../namespaceserial.html',1,'serial'],['../classserial_1_1_serial.html#a5c7bf8dcebe4dcf4269641fcd6d773e7',1,'serial::Serial::Serial()']]], + ['serial_2ecc',['serial.cc',['../serial_8cc.html',1,'']]], + ['serial_2eh',['serial.h',['../serial_8h.html',1,'']]], + ['serialexceptionbase',['SerialExceptionBase',['../classserial_1_1_serial_exception_base.html',1,'serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html',1,'serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html#aa4b29d2631c6a9a0ebe591834bbc4609',1,'serial::SerialExecption']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html',1,'serial::serial::Serial']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a80885778652ea3c7f7db39ec3f20310c',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad91611ac5ef21dd6bce2c14049e3aae6',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, long timeout, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)']]], + ['setbaudrate',['setBaudrate',['../classserial_1_1_serial.html#aec535895c800e3fd7c52d60b9f6b08a5',1,'serial::Serial::setBaudrate()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9773deb112bc756a7512930ec4bf23b3',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad57c0c497d487c2f2115168f60eda146',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)']]], + ['setbreak',['setBreak',['../classserial_1_1_serial.html#a2a27912b1ca5cdad4a4aba7b9ddbc206',1,'serial::Serial::setBreak()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aff11802f071e95c0e88ef6d0fa3bacd7',1,'serial::serial::Serial::SerialImpl::setBreak(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a4e439ed9ab4e38fb64bba2d49b814179',1,'serial::serial::Serial::SerialImpl::setBreak(bool level)']]], + ['setbytesize',['setBytesize',['../classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa',1,'serial::Serial::setBytesize()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac7bde1547ae13c2bbb09126ae7082661',1,'serial::serial::Serial::SerialImpl::setBytesize(bytesize_t bytesize)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac7bde1547ae13c2bbb09126ae7082661',1,'serial::serial::Serial::SerialImpl::setBytesize(bytesize_t bytesize)']]], + ['setdtr',['setDTR',['../classserial_1_1_serial.html#ac9b0bbf613a5fe68f05d1d40181a1bb3',1,'serial::Serial::setDTR()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a741dbda555f51bb7be361a602f72358c',1,'serial::serial::Serial::SerialImpl::setDTR(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a94cdd2aad19377a0ec435bb6241b98a8',1,'serial::serial::Serial::SerialImpl::setDTR(bool level)']]], + ['setflowcontrol',['setFlowcontrol',['../classserial_1_1_serial.html#ade41650d6bfe91b6432e5a0a60c03969',1,'serial::Serial::setFlowcontrol()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a70f3aaa863c4d11c226a983377a37e43',1,'serial::serial::Serial::SerialImpl::setFlowcontrol(flowcontrol_t flowcontrol)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a70f3aaa863c4d11c226a983377a37e43',1,'serial::serial::Serial::SerialImpl::setFlowcontrol(flowcontrol_t flowcontrol)']]], + ['setparity',['setParity',['../classserial_1_1_serial.html#a1e1896aa59ec35ac5bd263b87614ef01',1,'serial::Serial::setParity()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2619123d52d075967bdb35247f40e51b',1,'serial::serial::Serial::SerialImpl::setParity(parity_t parity)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2619123d52d075967bdb35247f40e51b',1,'serial::serial::Serial::SerialImpl::setParity(parity_t parity)']]], + ['setport',['setPort',['../classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a',1,'serial::Serial::setPort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aeb3006e2ff05d5bbaa518bb788eebcda',1,'serial::serial::Serial::SerialImpl::setPort(const string &port)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa3b4c490f3246a506dd29135553ecd64',1,'serial::serial::Serial::SerialImpl::setPort(const string &port)']]], + ['setrts',['setRTS',['../classserial_1_1_serial.html#ab43ddc05e5d69ff2778f698aa7062370',1,'serial::Serial::setRTS()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa6f543e9fb4517fa00835eee15fa5ffa',1,'serial::serial::Serial::SerialImpl::setRTS(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7faf4ef9a0f1b13c9155a4cae1e0ace9',1,'serial::serial::Serial::SerialImpl::setRTS(bool level)']]], + ['setstopbits',['setStopbits',['../classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5',1,'serial::Serial::setStopbits()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a697da32867459d1c4e527c3ec468062e',1,'serial::serial::Serial::SerialImpl::setStopbits(stopbits_t stopbits)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a697da32867459d1c4e527c3ec468062e',1,'serial::serial::Serial::SerialImpl::setStopbits(stopbits_t stopbits)']]], + ['settimeout',['setTimeout',['../classserial_1_1_serial.html#acb18e62d340695e2f7ab158633863b20',1,'serial::Serial::setTimeout(timeout_t &timeout)'],['../classserial_1_1_serial.html#a1316ecb01d266e2698317c390ff7af80',1,'serial::Serial::setTimeout(long inter_byte_timeout, long read_timeout_constant, long read_timeout_multiplier, long write_timeout_constant, long write_timeout_multiplier)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2a0cecc10007288116c1bc1398b139aa',1,'serial::serial::Serial::SerialImpl::setTimeout(timeout_t &timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae0f49f16cd4ace2e865a6fc2fe9d7218',1,'serial::serial::Serial::SerialImpl::setTimeout(long timeout)']]], + ['sevenbits',['sevenbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a7cf0a3607e326ff6736941008ea8174d',1,'serial']]], + ['sixbits',['sixbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a608eb93b80fe8531d626b4e588c5bc8b',1,'serial']]], + ['stopbits_5fone',['stopbits_one',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469ab70806555a14cb43e5cc43f6f3d01157',1,'serial']]], + ['stopbits_5fone_5fpoint_5ffive',['stopbits_one_point_five',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469abb25fb831662d361d99cf12fb0da45ec',1,'serial']]], + ['stopbits_5ft',['stopbits_t',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469',1,'serial']]], + ['stopbits_5ftwo',['stopbits_two',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469ae0b1b8af1ece65afeacbe9fff198fa47',1,'serial']]] +]; diff --git a/docs/v1.0/search/all_74.html b/docs/v1.0/search/all_74.html new file mode 100644 index 0000000..fdc6589 --- /dev/null +++ b/docs/v1.0/search/all_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_74.js b/docs/v1.0/search/all_74.js new file mode 100644 index 0000000..a3721c2 --- /dev/null +++ b/docs/v1.0/search/all_74.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['throw',['THROW',['../serial_8h.html#a25cffc64bd967636d69d7c3c82af1030',1,'serial.h']]], + ['timeout_5ft',['timeout_t',['../structserial_1_1timeout__t.html#a66a9f8ddc185a5c94b95fa2b0b7e6fbc',1,'serial::timeout_t']]], + ['timeout_5ft',['timeout_t',['../structserial_1_1timeout__t.html',1,'serial']]], + ['tiocinq',['TIOCINQ',['../unix_8cc.html#ad6548c2f81bf6e2679166b22d24784f1',1,'unix.cc']]] +]; diff --git a/docs/v1.0/search/all_75.html b/docs/v1.0/search/all_75.html new file mode 100644 index 0000000..ab8455e --- /dev/null +++ b/docs/v1.0/search/all_75.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_75.js b/docs/v1.0/search/all_75.js new file mode 100644 index 0000000..a7d347f --- /dev/null +++ b/docs/v1.0/search/all_75.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['unix_2ecc',['unix.cc',['../unix_8cc.html',1,'']]], + ['unix_2eh',['unix.h',['../unix_8h.html',1,'']]] +]; diff --git a/docs/v1.0/search/all_77.html b/docs/v1.0/search/all_77.html new file mode 100644 index 0000000..73323d3 --- /dev/null +++ b/docs/v1.0/search/all_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_77.js b/docs/v1.0/search/all_77.js new file mode 100644 index 0000000..1797e01 --- /dev/null +++ b/docs/v1.0/search/all_77.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['waitforchange',['waitForChange',['../classserial_1_1_serial.html#a419dc984258956a5adb41fb8c86f5449',1,'serial::Serial::waitForChange()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09f1dcb8e32cb64188daaf8ac0d40215',1,'serial::serial::Serial::SerialImpl::waitForChange()']]], + ['what',['what',['../classserial_1_1_serial_execption.html#a5cb17e5438390e95731ddd230524922d',1,'serial::SerialExecption::what()'],['../classserial_1_1_i_o_exception.html#a5151f78cf0309db2c79f3dc4c779c774',1,'serial::IOException::what()'],['../classserial_1_1_port_not_opened_exception.html#a314c997ecfe3990c4af147b247e8d9ce',1,'serial::PortNotOpenedException::what()']]], + ['windows_2ecc',['windows.cc',['../windows_8cc.html',1,'']]], + ['windows_2eh',['windows.h',['../windows_8h.html',1,'']]], + ['write',['write',['../classserial_1_1_serial.html#acd98ae129db624b664a5dd51f352d8f7',1,'serial::Serial::write(const unsigned char *data, size_t size)'],['../classserial_1_1_serial.html#a280abb1b73ac368591d79badf23776bf',1,'serial::Serial::write(const std::vector< unsigned char > &data)'],['../classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460',1,'serial::Serial::write(const std::string &data)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa248734f59cb31a2ca5d1bcb50e53e3e',1,'serial::serial::Serial::SerialImpl::write(const string &data)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a47a36ed36bb6b75b0788c9f60ddc07a8',1,'serial::serial::Serial::SerialImpl::write(const string &data)']]], + ['write_5ftimeout_5fconstant',['write_timeout_constant',['../structserial_1_1timeout__t.html#acd6e36245118512785400915828cfd32',1,'serial::timeout_t']]], + ['write_5ftimeout_5fmultiplier',['write_timeout_multiplier',['../structserial_1_1timeout__t.html#af43380c4255a9b8669970532048c4dfc',1,'serial::timeout_t']]], + ['writelock',['writeLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2905e50e9082a757bfafc03356e318ed',1,'serial::serial::Serial::SerialImpl']]], + ['writeunlock',['writeUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#adaec2b322f0b0793929da24f5bf09949',1,'serial::serial::Serial::SerialImpl']]] +]; diff --git a/docs/v1.0/search/all_7e.html b/docs/v1.0/search/all_7e.html new file mode 100644 index 0000000..63512c6 --- /dev/null +++ b/docs/v1.0/search/all_7e.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/all_7e.js b/docs/v1.0/search/all_7e.js new file mode 100644 index 0000000..e8440ac --- /dev/null +++ b/docs/v1.0/search/all_7e.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['_7eioexception',['~IOException',['../classserial_1_1_i_o_exception.html#a026ae2e6abc57c6069915f0f8c701390',1,'serial::IOException']]], + ['_7escopedreadlock',['~ScopedReadLock',['../class_serial_1_1_scoped_read_lock.html#a5c061909b95231cec776c40094c878b4',1,'Serial::ScopedReadLock']]], + ['_7escopedwritelock',['~ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html#aebeef5b2d16f409b60094cfac092ada2',1,'Serial::ScopedWriteLock']]], + ['_7eserial',['~Serial',['../classserial_1_1_serial.html#a5b32c394c0ff923a4ef1c13cfb20a6ba',1,'serial::Serial']]], + ['_7eserialimpl',['~SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7972685753e76e0068b754601442a8a5',1,'serial::serial::Serial::SerialImpl::~SerialImpl()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af9f0a13782d7870cf66a49001dcc64e7',1,'serial::serial::Serial::SerialImpl::~SerialImpl()']]] +]; diff --git a/docs/v1.0/search/classes_69.html b/docs/v1.0/search/classes_69.html new file mode 100644 index 0000000..961dbea --- /dev/null +++ b/docs/v1.0/search/classes_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/classes_69.js b/docs/v1.0/search/classes_69.js new file mode 100644 index 0000000..9252d96 --- /dev/null +++ b/docs/v1.0/search/classes_69.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html',1,'serial']]] +]; diff --git a/docs/v1.0/search/classes_70.html b/docs/v1.0/search/classes_70.html new file mode 100644 index 0000000..e4b5208 --- /dev/null +++ b/docs/v1.0/search/classes_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/classes_70.js b/docs/v1.0/search/classes_70.js new file mode 100644 index 0000000..422dca4 --- /dev/null +++ b/docs/v1.0/search/classes_70.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html',1,'serial']]] +]; diff --git a/docs/v1.0/search/classes_73.html b/docs/v1.0/search/classes_73.html new file mode 100644 index 0000000..a1bf0b9 --- /dev/null +++ b/docs/v1.0/search/classes_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/classes_73.js b/docs/v1.0/search/classes_73.js new file mode 100644 index 0000000..63a2a0a --- /dev/null +++ b/docs/v1.0/search/classes_73.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['scopedreadlock',['ScopedReadLock',['../class_serial_1_1_scoped_read_lock.html',1,'serial::Serial']]], + ['scopedwritelock',['ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html',1,'serial::Serial']]], + ['serial',['Serial',['../classserial_1_1_serial.html',1,'serial']]], + ['serialexceptionbase',['SerialExceptionBase',['../classserial_1_1_serial_exception_base.html',1,'serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html',1,'serial']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html',1,'serial::serial::Serial']]] +]; diff --git a/docs/v1.0/search/classes_74.html b/docs/v1.0/search/classes_74.html new file mode 100644 index 0000000..f7f27ce --- /dev/null +++ b/docs/v1.0/search/classes_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/classes_74.js b/docs/v1.0/search/classes_74.js new file mode 100644 index 0000000..417fb6f --- /dev/null +++ b/docs/v1.0/search/classes_74.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timeout_5ft',['timeout_t',['../structserial_1_1timeout__t.html',1,'serial']]] +]; diff --git a/docs/v1.0/search/close.png b/docs/v1.0/search/close.png new file mode 100644 index 0000000000000000000000000000000000000000..9342d3dfeea7b7c4ee610987e717804b5a42ceb9 GIT binary patch literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN literal 0 HcmV?d00001 diff --git a/docs/v1.0/search/defines_74.html b/docs/v1.0/search/defines_74.html new file mode 100644 index 0000000..7c78f10 --- /dev/null +++ b/docs/v1.0/search/defines_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/defines_74.js b/docs/v1.0/search/defines_74.js new file mode 100644 index 0000000..38216c2 --- /dev/null +++ b/docs/v1.0/search/defines_74.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['throw',['THROW',['../serial_8h.html#a25cffc64bd967636d69d7c3c82af1030',1,'serial.h']]], + ['tiocinq',['TIOCINQ',['../unix_8cc.html#ad6548c2f81bf6e2679166b22d24784f1',1,'unix.cc']]] +]; diff --git a/docs/v1.0/search/enums_62.html b/docs/v1.0/search/enums_62.html new file mode 100644 index 0000000..321fe92 --- /dev/null +++ b/docs/v1.0/search/enums_62.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/enums_62.js b/docs/v1.0/search/enums_62.js new file mode 100644 index 0000000..ff57a8f --- /dev/null +++ b/docs/v1.0/search/enums_62.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bytesize_5ft',['bytesize_t',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8',1,'serial']]] +]; diff --git a/docs/v1.0/search/enums_66.html b/docs/v1.0/search/enums_66.html new file mode 100644 index 0000000..87b48de --- /dev/null +++ b/docs/v1.0/search/enums_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/enums_66.js b/docs/v1.0/search/enums_66.js new file mode 100644 index 0000000..0eb1150 --- /dev/null +++ b/docs/v1.0/search/enums_66.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['flowcontrol_5ft',['flowcontrol_t',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351',1,'serial']]] +]; diff --git a/docs/v1.0/search/enums_70.html b/docs/v1.0/search/enums_70.html new file mode 100644 index 0000000..0bc0915 --- /dev/null +++ b/docs/v1.0/search/enums_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/enums_70.js b/docs/v1.0/search/enums_70.js new file mode 100644 index 0000000..e244a2d --- /dev/null +++ b/docs/v1.0/search/enums_70.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['parity_5ft',['parity_t',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481',1,'serial']]] +]; diff --git a/docs/v1.0/search/enums_73.html b/docs/v1.0/search/enums_73.html new file mode 100644 index 0000000..3f157e6 --- /dev/null +++ b/docs/v1.0/search/enums_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/enums_73.js b/docs/v1.0/search/enums_73.js new file mode 100644 index 0000000..d047512 --- /dev/null +++ b/docs/v1.0/search/enums_73.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['stopbits_5ft',['stopbits_t',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469',1,'serial']]] +]; diff --git a/docs/v1.0/search/enumvalues_65.html b/docs/v1.0/search/enumvalues_65.html new file mode 100644 index 0000000..58030d7 --- /dev/null +++ b/docs/v1.0/search/enumvalues_65.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/enumvalues_65.js b/docs/v1.0/search/enumvalues_65.js new file mode 100644 index 0000000..10bd939 --- /dev/null +++ b/docs/v1.0/search/enumvalues_65.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eightbits',['eightbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a47f14d952cf9bed6c3f7ae5985161990',1,'serial']]] +]; diff --git a/docs/v1.0/search/enumvalues_66.html b/docs/v1.0/search/enumvalues_66.html new file mode 100644 index 0000000..7f7df6f --- /dev/null +++ b/docs/v1.0/search/enumvalues_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/enumvalues_66.js b/docs/v1.0/search/enumvalues_66.js new file mode 100644 index 0000000..145d13f --- /dev/null +++ b/docs/v1.0/search/enumvalues_66.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['fivebits',['fivebits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8af09eeaf7333d2feda0bd3d748d5e3123',1,'serial']]], + ['flowcontrol_5fnone',['flowcontrol_none',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351a083bc02a6e8e7c6540a28654c0f95bb0',1,'serial']]], + ['flowcontrol_5fsoftware',['flowcontrol_software',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351ab3390af5eee11740af5e09d71ad419a6',1,'serial']]] +]; diff --git a/docs/v1.0/search/enumvalues_70.html b/docs/v1.0/search/enumvalues_70.html new file mode 100644 index 0000000..35a05be --- /dev/null +++ b/docs/v1.0/search/enumvalues_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/enumvalues_70.js b/docs/v1.0/search/enumvalues_70.js new file mode 100644 index 0000000..c073712 --- /dev/null +++ b/docs/v1.0/search/enumvalues_70.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['parity_5feven',['parity_even',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481abe15d241d407528bc8a199b02301ed46',1,'serial']]], + ['parity_5fnone',['parity_none',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481a31cbb2b3cf0870d1a089d66295918416',1,'serial']]], + ['parity_5fodd',['parity_odd',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481affd8fd58edf7c25bab458cafaebecb10',1,'serial']]] +]; diff --git a/docs/v1.0/search/enumvalues_73.html b/docs/v1.0/search/enumvalues_73.html new file mode 100644 index 0000000..f2f7db4 --- /dev/null +++ b/docs/v1.0/search/enumvalues_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/enumvalues_73.js b/docs/v1.0/search/enumvalues_73.js new file mode 100644 index 0000000..878414b --- /dev/null +++ b/docs/v1.0/search/enumvalues_73.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['sevenbits',['sevenbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a7cf0a3607e326ff6736941008ea8174d',1,'serial']]], + ['sixbits',['sixbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a608eb93b80fe8531d626b4e588c5bc8b',1,'serial']]], + ['stopbits_5fone',['stopbits_one',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469ab70806555a14cb43e5cc43f6f3d01157',1,'serial']]], + ['stopbits_5fone_5fpoint_5ffive',['stopbits_one_point_five',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469abb25fb831662d361d99cf12fb0da45ec',1,'serial']]], + ['stopbits_5ftwo',['stopbits_two',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469ae0b1b8af1ece65afeacbe9fff198fa47',1,'serial']]] +]; diff --git a/docs/v1.0/search/files_73.html b/docs/v1.0/search/files_73.html new file mode 100644 index 0000000..e0de9e6 --- /dev/null +++ b/docs/v1.0/search/files_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/files_73.js b/docs/v1.0/search/files_73.js new file mode 100644 index 0000000..f6585e0 --- /dev/null +++ b/docs/v1.0/search/files_73.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['serial_2ecc',['serial.cc',['../serial_8cc.html',1,'']]], + ['serial_2eh',['serial.h',['../serial_8h.html',1,'']]] +]; diff --git a/docs/v1.0/search/files_75.html b/docs/v1.0/search/files_75.html new file mode 100644 index 0000000..8ea7b3d --- /dev/null +++ b/docs/v1.0/search/files_75.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/files_75.js b/docs/v1.0/search/files_75.js new file mode 100644 index 0000000..a7d347f --- /dev/null +++ b/docs/v1.0/search/files_75.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['unix_2ecc',['unix.cc',['../unix_8cc.html',1,'']]], + ['unix_2eh',['unix.h',['../unix_8h.html',1,'']]] +]; diff --git a/docs/v1.0/search/files_77.html b/docs/v1.0/search/files_77.html new file mode 100644 index 0000000..69f6897 --- /dev/null +++ b/docs/v1.0/search/files_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/files_77.js b/docs/v1.0/search/files_77.js new file mode 100644 index 0000000..2ff0414 --- /dev/null +++ b/docs/v1.0/search/files_77.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['windows_2ecc',['windows.cc',['../windows_8cc.html',1,'']]], + ['windows_2eh',['windows.h',['../windows_8h.html',1,'']]] +]; diff --git a/docs/v1.0/search/functions_61.html b/docs/v1.0/search/functions_61.html new file mode 100644 index 0000000..7f39533 --- /dev/null +++ b/docs/v1.0/search/functions_61.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/functions_61.js b/docs/v1.0/search/functions_61.js new file mode 100644 index 0000000..2c73ebe --- /dev/null +++ b/docs/v1.0/search/functions_61.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['available',['available',['../classserial_1_1_serial.html#afafe25b2f3bb0809550abdc72c51a234',1,'serial::Serial::available()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aec474ec54cb40a4191939aacb80c5ea2',1,'serial::serial::Serial::SerialImpl::available()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aecd5e068c21b076bcf161f7bf7f415f5',1,'serial::serial::Serial::SerialImpl::available()']]] +]; diff --git a/docs/v1.0/search/functions_63.html b/docs/v1.0/search/functions_63.html new file mode 100644 index 0000000..9ebe11d --- /dev/null +++ b/docs/v1.0/search/functions_63.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/functions_63.js b/docs/v1.0/search/functions_63.js new file mode 100644 index 0000000..df69cf5 --- /dev/null +++ b/docs/v1.0/search/functions_63.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['close',['close',['../classserial_1_1_serial.html#afbe59407e718bc3d22ea4a67b304db6c',1,'serial::Serial::close()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a38af5b9c8b676ffaef15c84fb303d6f7',1,'serial::serial::Serial::SerialImpl::close()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2608096ba0d17127b17484fc9481833a',1,'serial::serial::Serial::SerialImpl::close()']]] +]; diff --git a/docs/v1.0/search/functions_66.html b/docs/v1.0/search/functions_66.html new file mode 100644 index 0000000..319a531 --- /dev/null +++ b/docs/v1.0/search/functions_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/functions_66.js b/docs/v1.0/search/functions_66.js new file mode 100644 index 0000000..5831b92 --- /dev/null +++ b/docs/v1.0/search/functions_66.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['flush',['flush',['../classserial_1_1_serial.html#a63b7abf172cad25bfc998b3b1f98310f',1,'serial::Serial::flush()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7dc1818234ab3f5ae3ebd67bc79d8511',1,'serial::serial::Serial::SerialImpl::flush()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afe873a403bcca3956437d95aa55c4d06',1,'serial::serial::Serial::SerialImpl::flush()']]], + ['flushinput',['flushInput',['../classserial_1_1_serial.html#afa2c1f9114a37b7d140fc2292d1499b9',1,'serial::Serial::flushInput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a28003745a26c0924fc1d305e947bc3bf',1,'serial::serial::Serial::SerialImpl::flushInput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0b4ef99a4b44c3ef153ec7c4802ff194',1,'serial::serial::Serial::SerialImpl::flushInput()']]], + ['flushoutput',['flushOutput',['../classserial_1_1_serial.html#a256ee4bb93ab0e79d7a66b50f08dce53',1,'serial::Serial::flushOutput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a5b2c81540ca1e1eb962249ca8f538299',1,'serial::serial::Serial::SerialImpl::flushOutput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac61932385ea2ce645192e1539349500b',1,'serial::serial::Serial::SerialImpl::flushOutput()']]] +]; diff --git a/docs/v1.0/search/functions_67.html b/docs/v1.0/search/functions_67.html new file mode 100644 index 0000000..d0ab42a --- /dev/null +++ b/docs/v1.0/search/functions_67.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/functions_67.js b/docs/v1.0/search/functions_67.js new file mode 100644 index 0000000..ef42170 --- /dev/null +++ b/docs/v1.0/search/functions_67.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['get_5ftime_5fnow',['get_time_now',['../unix_8cc.html#ad718e26d8db83d1760a13a80c67b4821',1,'unix.cc']]], + ['getbaudrate',['getBaudrate',['../classserial_1_1_serial.html#acd0e5a25e4484d6f08fe02c1911ab5e0',1,'serial::Serial::getBaudrate()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const ']]], + ['getbytesize',['getBytesize',['../classserial_1_1_serial.html#a4fce90ef7a9a46525efa373a94a1bfbd',1,'serial::Serial::getBytesize()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aafeff74e9aed67a996735dbb46323b25',1,'serial::serial::Serial::SerialImpl::getBytesize() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aafeff74e9aed67a996735dbb46323b25',1,'serial::serial::Serial::SerialImpl::getBytesize() const ']]], + ['getcd',['getCD',['../classserial_1_1_serial.html#a9795a3e83e6745a14c64f657e68061fb',1,'serial::Serial::getCD()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a6f2a8d7ff955fc3f061b513c095859e1',1,'serial::serial::Serial::SerialImpl::getCD()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9d402e28513e22613658b31e13b76802',1,'serial::serial::Serial::SerialImpl::getCD()']]], + ['getcts',['getCTS',['../classserial_1_1_serial.html#a809f048546c4c72b74e205139b97648c',1,'serial::Serial::getCTS()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0801d20b6e906369ad232e460b741d7b',1,'serial::serial::Serial::SerialImpl::getCTS()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afbfd566cd435f7881826fb0a2f74f746',1,'serial::serial::Serial::SerialImpl::getCTS()']]], + ['getdsr',['getDSR',['../classserial_1_1_serial.html#a6b9a0c485e1fe599dbb5e9e15b1a65d6',1,'serial::Serial::getDSR()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a15d1d986dad6ec754919bb38c3470362',1,'serial::serial::Serial::SerialImpl::getDSR()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae07e012e3630c51baf1b8c7c37dd79a5',1,'serial::serial::Serial::SerialImpl::getDSR()']]], + ['geterrornumber',['getErrorNumber',['../classserial_1_1_i_o_exception.html#a91d5ee5241dd49fb39e8e762564b6cc5',1,'serial::IOException']]], + ['getflowcontrol',['getFlowcontrol',['../classserial_1_1_serial.html#acdc6da48a5434b936b1db20f36caf41f',1,'serial::Serial::getFlowcontrol()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af1b3fe4ea4d075b76b0c243d4ed768ec',1,'serial::serial::Serial::SerialImpl::getFlowcontrol() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af1b3fe4ea4d075b76b0c243d4ed768ec',1,'serial::serial::Serial::SerialImpl::getFlowcontrol() const ']]], + ['getparity',['getParity',['../classserial_1_1_serial.html#a89d876e1d3f0afadb0d6c21b08ed8931',1,'serial::Serial::getParity()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa7cc3b7bd62ad98d25f2e2e0f27d3b42',1,'serial::serial::Serial::SerialImpl::getParity() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa7cc3b7bd62ad98d25f2e2e0f27d3b42',1,'serial::serial::Serial::SerialImpl::getParity() const ']]], + ['getport',['getPort',['../classserial_1_1_serial.html#ae95cd057e90258b1b3203ff8972a3567',1,'serial::Serial::getPort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a1f881c2cf8bfc92a7836ee0dd554ec44',1,'serial::serial::Serial::SerialImpl::getPort() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a1f881c2cf8bfc92a7836ee0dd554ec44',1,'serial::serial::Serial::SerialImpl::getPort() const ']]], + ['getri',['getRI',['../classserial_1_1_serial.html#afb96e6968f040c4bff7576095f4ba6e7',1,'serial::Serial::getRI()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0ee5f4cd897bc177a179ec4f0ba8c561',1,'serial::serial::Serial::SerialImpl::getRI()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a4b9e1b75dce29e8ed4fa62b389510ae5',1,'serial::serial::Serial::SerialImpl::getRI()']]], + ['getstopbits',['getStopbits',['../classserial_1_1_serial.html#a42887bb76243bf6bbb3f69ff60f9792e',1,'serial::Serial::getStopbits()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af52b7b4b1d78b9fc98f7150587ddc8b6',1,'serial::serial::Serial::SerialImpl::getStopbits() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af52b7b4b1d78b9fc98f7150587ddc8b6',1,'serial::serial::Serial::SerialImpl::getStopbits() const ']]], + ['gettimeout',['getTimeout',['../classserial_1_1_serial.html#a655e62319e089961aa02fb47fbc1b198',1,'serial::Serial::getTimeout()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09ae38ff5e46514027888eaa631796cd',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae79177ed275c9cb5af7e5617644818f9',1,'serial::serial::Serial::SerialImpl::getTimeout() const ']]] +]; diff --git a/docs/v1.0/search/functions_69.html b/docs/v1.0/search/functions_69.html new file mode 100644 index 0000000..e204197 --- /dev/null +++ b/docs/v1.0/search/functions_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/functions_69.js b/docs/v1.0/search/functions_69.js new file mode 100644 index 0000000..cf78ceb --- /dev/null +++ b/docs/v1.0/search/functions_69.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html#acb2f2cf7a5cc8090945f6cbfcef3ef1e',1,'serial::IOException::IOException(std::string file, int line, int errnum)'],['../classserial_1_1_i_o_exception.html#acc1d2c650832cc8127f2cd777072b2cd',1,'serial::IOException::IOException(std::string file, int line, const char *description)']]], + ['isopen',['isOpen',['../classserial_1_1_serial.html#af9895af496189f7f0aba7c097f5fa9c1',1,'serial::Serial::isOpen()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a189fe759d2119a6513d5981575a91b8e',1,'serial::serial::Serial::SerialImpl::isOpen() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a189fe759d2119a6513d5981575a91b8e',1,'serial::serial::Serial::SerialImpl::isOpen() const ']]] +]; diff --git a/docs/v1.0/search/functions_6f.html b/docs/v1.0/search/functions_6f.html new file mode 100644 index 0000000..222f0f8 --- /dev/null +++ b/docs/v1.0/search/functions_6f.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/functions_6f.js b/docs/v1.0/search/functions_6f.js new file mode 100644 index 0000000..fec1706 --- /dev/null +++ b/docs/v1.0/search/functions_6f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['open',['open',['../classserial_1_1_serial.html#af3644ed1a9d899b70e9d63bb9b808d62',1,'serial::Serial::open()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#abc447d3fefa173392f5d7b641ffef1ed',1,'serial::serial::Serial::SerialImpl::open()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a279801879f609e1845e3e730f5651aa2',1,'serial::serial::Serial::SerialImpl::open()']]] +]; diff --git a/docs/v1.0/search/functions_70.html b/docs/v1.0/search/functions_70.html new file mode 100644 index 0000000..c62125e --- /dev/null +++ b/docs/v1.0/search/functions_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/functions_70.js b/docs/v1.0/search/functions_70.js new file mode 100644 index 0000000..2129e23 --- /dev/null +++ b/docs/v1.0/search/functions_70.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html#acd2213fae864534eae6a580f74c5ab1b',1,'serial::PortNotOpenedException']]] +]; diff --git a/docs/v1.0/search/functions_72.html b/docs/v1.0/search/functions_72.html new file mode 100644 index 0000000..a4336f7 --- /dev/null +++ b/docs/v1.0/search/functions_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/functions_72.js b/docs/v1.0/search/functions_72.js new file mode 100644 index 0000000..fd5cddf --- /dev/null +++ b/docs/v1.0/search/functions_72.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['read',['read',['../classserial_1_1_serial.html#a2bcd2c76cdacf64928fcd7e9ec279ff1',1,'serial::Serial::read(unsigned char *buffer, size_t size)'],['../classserial_1_1_serial.html#aa1f8933e86e7f37781c186b11a763221',1,'serial::Serial::read(std::vector< unsigned char > &buffer, size_t size=1)'],['../classserial_1_1_serial.html#ac47576244e34abc2e460ba99684c351f',1,'serial::Serial::read(std::string &buffer, size_t size=1)'],['../classserial_1_1_serial.html#a6c71ad1cbacf86cead4d38b48c548405',1,'serial::Serial::read(size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab38e31999f75db98b45e74e9b8f66343',1,'serial::serial::Serial::SerialImpl::read(unsigned char *buf, size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a332155c4d26e565a73d9823bc7d1da91',1,'serial::serial::Serial::SerialImpl::read(char *buf, size_t size=1)']]], + ['readline',['readline',['../classserial_1_1_serial.html#a010b18ec545dfe1a7bb1c95be4bdaa54',1,'serial::Serial::readline(std::string &buffer, size_t size=65536, std::string eol="\n")'],['../classserial_1_1_serial.html#a04177f637cc02f92ec0492d377528b2a',1,'serial::Serial::readline(size_t size=65536, std::string eol="\n")']]], + ['readlines',['readlines',['../classserial_1_1_serial.html#a99f77b9bbdc128b6704cc59db77686c5',1,'serial::Serial']]], + ['readlock',['readLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a284eeedc3dd686ecef0fdcfd83bebc54',1,'serial::serial::Serial::SerialImpl']]], + ['readunlock',['readUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab6533e884ba609a1dd6a88b7964d8b52',1,'serial::serial::Serial::SerialImpl']]], + ['reconfigureport',['reconfigurePort',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a48dcc5d2568edd1ce29df30a95d460d9',1,'serial::serial::Serial::SerialImpl::reconfigurePort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad006a2392150daddfa43ae288259c07d',1,'serial::serial::Serial::SerialImpl::reconfigurePort()']]] +]; diff --git a/docs/v1.0/search/functions_73.html b/docs/v1.0/search/functions_73.html new file mode 100644 index 0000000..774d577 --- /dev/null +++ b/docs/v1.0/search/functions_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/functions_73.js b/docs/v1.0/search/functions_73.js new file mode 100644 index 0000000..c75c6ee --- /dev/null +++ b/docs/v1.0/search/functions_73.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['scopedreadlock',['ScopedReadLock',['../class_serial_1_1_scoped_read_lock.html#a54f59663807d8adfe6db712ee6103503',1,'Serial::ScopedReadLock']]], + ['scopedwritelock',['ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html#a662173968431aee3d6f204c354b20225',1,'Serial::ScopedWriteLock']]], + ['sendbreak',['sendBreak',['../classserial_1_1_serial.html#ade90ff8f03525ea6d7b702fcd0f336de',1,'serial::Serial::sendBreak()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3f738264b8236e271d79835f0ec08bf3',1,'serial::serial::Serial::SerialImpl::sendBreak(int duration)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a6a1abcf6f4b94c7f3d7753c3f2dab91a',1,'serial::serial::Serial::SerialImpl::sendBreak(int duration)']]], + ['serial',['Serial',['../classserial_1_1_serial.html#a5c7bf8dcebe4dcf4269641fcd6d773e7',1,'serial::Serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html#aa4b29d2631c6a9a0ebe591834bbc4609',1,'serial::SerialExecption']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a80885778652ea3c7f7db39ec3f20310c',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad91611ac5ef21dd6bce2c14049e3aae6',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, long timeout, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)']]], + ['setbaudrate',['setBaudrate',['../classserial_1_1_serial.html#aec535895c800e3fd7c52d60b9f6b08a5',1,'serial::Serial::setBaudrate()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9773deb112bc756a7512930ec4bf23b3',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad57c0c497d487c2f2115168f60eda146',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)']]], + ['setbreak',['setBreak',['../classserial_1_1_serial.html#a2a27912b1ca5cdad4a4aba7b9ddbc206',1,'serial::Serial::setBreak()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aff11802f071e95c0e88ef6d0fa3bacd7',1,'serial::serial::Serial::SerialImpl::setBreak(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a4e439ed9ab4e38fb64bba2d49b814179',1,'serial::serial::Serial::SerialImpl::setBreak(bool level)']]], + ['setbytesize',['setBytesize',['../classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa',1,'serial::Serial::setBytesize()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac7bde1547ae13c2bbb09126ae7082661',1,'serial::serial::Serial::SerialImpl::setBytesize(bytesize_t bytesize)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac7bde1547ae13c2bbb09126ae7082661',1,'serial::serial::Serial::SerialImpl::setBytesize(bytesize_t bytesize)']]], + ['setdtr',['setDTR',['../classserial_1_1_serial.html#ac9b0bbf613a5fe68f05d1d40181a1bb3',1,'serial::Serial::setDTR()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a741dbda555f51bb7be361a602f72358c',1,'serial::serial::Serial::SerialImpl::setDTR(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a94cdd2aad19377a0ec435bb6241b98a8',1,'serial::serial::Serial::SerialImpl::setDTR(bool level)']]], + ['setflowcontrol',['setFlowcontrol',['../classserial_1_1_serial.html#ade41650d6bfe91b6432e5a0a60c03969',1,'serial::Serial::setFlowcontrol()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a70f3aaa863c4d11c226a983377a37e43',1,'serial::serial::Serial::SerialImpl::setFlowcontrol(flowcontrol_t flowcontrol)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a70f3aaa863c4d11c226a983377a37e43',1,'serial::serial::Serial::SerialImpl::setFlowcontrol(flowcontrol_t flowcontrol)']]], + ['setparity',['setParity',['../classserial_1_1_serial.html#a1e1896aa59ec35ac5bd263b87614ef01',1,'serial::Serial::setParity()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2619123d52d075967bdb35247f40e51b',1,'serial::serial::Serial::SerialImpl::setParity(parity_t parity)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2619123d52d075967bdb35247f40e51b',1,'serial::serial::Serial::SerialImpl::setParity(parity_t parity)']]], + ['setport',['setPort',['../classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a',1,'serial::Serial::setPort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aeb3006e2ff05d5bbaa518bb788eebcda',1,'serial::serial::Serial::SerialImpl::setPort(const string &port)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa3b4c490f3246a506dd29135553ecd64',1,'serial::serial::Serial::SerialImpl::setPort(const string &port)']]], + ['setrts',['setRTS',['../classserial_1_1_serial.html#ab43ddc05e5d69ff2778f698aa7062370',1,'serial::Serial::setRTS()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa6f543e9fb4517fa00835eee15fa5ffa',1,'serial::serial::Serial::SerialImpl::setRTS(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7faf4ef9a0f1b13c9155a4cae1e0ace9',1,'serial::serial::Serial::SerialImpl::setRTS(bool level)']]], + ['setstopbits',['setStopbits',['../classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5',1,'serial::Serial::setStopbits()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a697da32867459d1c4e527c3ec468062e',1,'serial::serial::Serial::SerialImpl::setStopbits(stopbits_t stopbits)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a697da32867459d1c4e527c3ec468062e',1,'serial::serial::Serial::SerialImpl::setStopbits(stopbits_t stopbits)']]], + ['settimeout',['setTimeout',['../classserial_1_1_serial.html#acb18e62d340695e2f7ab158633863b20',1,'serial::Serial::setTimeout(timeout_t &timeout)'],['../classserial_1_1_serial.html#a1316ecb01d266e2698317c390ff7af80',1,'serial::Serial::setTimeout(long inter_byte_timeout, long read_timeout_constant, long read_timeout_multiplier, long write_timeout_constant, long write_timeout_multiplier)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2a0cecc10007288116c1bc1398b139aa',1,'serial::serial::Serial::SerialImpl::setTimeout(timeout_t &timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae0f49f16cd4ace2e865a6fc2fe9d7218',1,'serial::serial::Serial::SerialImpl::setTimeout(long timeout)']]] +]; diff --git a/docs/v1.0/search/functions_74.html b/docs/v1.0/search/functions_74.html new file mode 100644 index 0000000..e3c96c3 --- /dev/null +++ b/docs/v1.0/search/functions_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/functions_74.js b/docs/v1.0/search/functions_74.js new file mode 100644 index 0000000..145bcd5 --- /dev/null +++ b/docs/v1.0/search/functions_74.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timeout_5ft',['timeout_t',['../structserial_1_1timeout__t.html#a66a9f8ddc185a5c94b95fa2b0b7e6fbc',1,'serial::timeout_t']]] +]; diff --git a/docs/v1.0/search/functions_77.html b/docs/v1.0/search/functions_77.html new file mode 100644 index 0000000..8fe9755 --- /dev/null +++ b/docs/v1.0/search/functions_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/functions_77.js b/docs/v1.0/search/functions_77.js new file mode 100644 index 0000000..1466485 --- /dev/null +++ b/docs/v1.0/search/functions_77.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['waitforchange',['waitForChange',['../classserial_1_1_serial.html#a419dc984258956a5adb41fb8c86f5449',1,'serial::Serial::waitForChange()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09f1dcb8e32cb64188daaf8ac0d40215',1,'serial::serial::Serial::SerialImpl::waitForChange()']]], + ['what',['what',['../classserial_1_1_serial_execption.html#a5cb17e5438390e95731ddd230524922d',1,'serial::SerialExecption::what()'],['../classserial_1_1_i_o_exception.html#a5151f78cf0309db2c79f3dc4c779c774',1,'serial::IOException::what()'],['../classserial_1_1_port_not_opened_exception.html#a314c997ecfe3990c4af147b247e8d9ce',1,'serial::PortNotOpenedException::what()']]], + ['write',['write',['../classserial_1_1_serial.html#acd98ae129db624b664a5dd51f352d8f7',1,'serial::Serial::write(const unsigned char *data, size_t size)'],['../classserial_1_1_serial.html#a280abb1b73ac368591d79badf23776bf',1,'serial::Serial::write(const std::vector< unsigned char > &data)'],['../classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460',1,'serial::Serial::write(const std::string &data)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa248734f59cb31a2ca5d1bcb50e53e3e',1,'serial::serial::Serial::SerialImpl::write(const string &data)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a47a36ed36bb6b75b0788c9f60ddc07a8',1,'serial::serial::Serial::SerialImpl::write(const string &data)']]], + ['writelock',['writeLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2905e50e9082a757bfafc03356e318ed',1,'serial::serial::Serial::SerialImpl']]], + ['writeunlock',['writeUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#adaec2b322f0b0793929da24f5bf09949',1,'serial::serial::Serial::SerialImpl']]] +]; diff --git a/docs/v1.0/search/functions_7e.html b/docs/v1.0/search/functions_7e.html new file mode 100644 index 0000000..fd1d3ce --- /dev/null +++ b/docs/v1.0/search/functions_7e.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/functions_7e.js b/docs/v1.0/search/functions_7e.js new file mode 100644 index 0000000..e8440ac --- /dev/null +++ b/docs/v1.0/search/functions_7e.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['_7eioexception',['~IOException',['../classserial_1_1_i_o_exception.html#a026ae2e6abc57c6069915f0f8c701390',1,'serial::IOException']]], + ['_7escopedreadlock',['~ScopedReadLock',['../class_serial_1_1_scoped_read_lock.html#a5c061909b95231cec776c40094c878b4',1,'Serial::ScopedReadLock']]], + ['_7escopedwritelock',['~ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html#aebeef5b2d16f409b60094cfac092ada2',1,'Serial::ScopedWriteLock']]], + ['_7eserial',['~Serial',['../classserial_1_1_serial.html#a5b32c394c0ff923a4ef1c13cfb20a6ba',1,'serial::Serial']]], + ['_7eserialimpl',['~SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7972685753e76e0068b754601442a8a5',1,'serial::serial::Serial::SerialImpl::~SerialImpl()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af9f0a13782d7870cf66a49001dcc64e7',1,'serial::serial::Serial::SerialImpl::~SerialImpl()']]] +]; diff --git a/docs/v1.0/search/mag_sel.png b/docs/v1.0/search/mag_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..81f6040a2092402b4d98f9ffa8855d12a0d4ca17 GIT binary patch literal 563 zcmV-30?hr1P)zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpyh(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn literal 0 HcmV?d00001 diff --git a/docs/v1.0/search/namespaces_73.html b/docs/v1.0/search/namespaces_73.html new file mode 100644 index 0000000..5ebf8e4 --- /dev/null +++ b/docs/v1.0/search/namespaces_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/namespaces_73.js b/docs/v1.0/search/namespaces_73.js new file mode 100644 index 0000000..ed4fe68 --- /dev/null +++ b/docs/v1.0/search/namespaces_73.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['serial',['serial',['../namespaceserial.html',1,'']]], + ['serial',['Serial',['../namespaceserial_1_1serial_1_1_serial.html',1,'serial::serial']]], + ['serial',['serial',['../namespaceserial_1_1serial.html',1,'serial']]] +]; diff --git a/docs/v1.0/search/nomatches.html b/docs/v1.0/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/docs/v1.0/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/docs/v1.0/search/search.css b/docs/v1.0/search/search.css new file mode 100644 index 0000000..d18c1da --- /dev/null +++ b/docs/v1.0/search/search.css @@ -0,0 +1,238 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + position: absolute; + float: none; + display: inline; + margin-top: 8px; + right: 0px; + width: 170px; + z-index: 102; + background-color: white; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:116px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:0px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 1; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} diff --git a/docs/v1.0/search/search.js b/docs/v1.0/search/search.js new file mode 100644 index 0000000..135cc81 --- /dev/null +++ b/docs/v1.0/search/search.js @@ -0,0 +1,811 @@ +// Search script generated by doxygen +// Copyright (C) 2009 by Dimitri van Heesch. + +// The code in this file is loosly based on main.js, part of Natural Docs, +// which is Copyright (C) 2003-2008 Greg Valure +// Natural Docs is licensed under the GPL. + +var indexSectionsWithContent = +{ + 0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111011101000001101111010000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000100110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101001101000001101110010000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 5: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 6: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 7: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 8: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "namespaces", + 3: "files", + 4: "functions", + 5: "variables", + 6: "enums", + 7: "enumvalues", + 8: "defines" +}; + +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var hexCode; + if (code<16) + { + hexCode="0"+code.toString(16); + } + else + { + hexCode=code.toString(16); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + if (indexSectionsWithContent[this.searchIndex].charAt(code) == '1') + { + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; ek7RCwB~R6VQOP#AvB$vH7i{6H{96zot$7cZT<7246EF5Np6N}+$IbiG6W zg#87A+NFaX+=_^xM1#gCtshC=E{%9^uQX_%?YwXvo{#q&MnpJ8uh(O?ZRc&~_1%^SsPxG@rfElJg-?U zm!Cz-IOn(qJP3kDp-^~qt+FGbl=5jNli^Wj_xIBG{Rc0en{!oFvyoNC7{V~T8}b>| z=jL2WIReZzX(YN(_9fV;BBD$VXQIxNasAL8ATvEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/docs/v1.0/search/search_r.png b/docs/v1.0/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..97ee8b439687084201b79c6f776a41f495c6392a GIT binary patch literal 612 zcmV-q0-ODbP)PbXFRCwB?)W514K@j&X?z2*SxFI6-@HT2E2K=9X9%Pb zEK*!TBw&g(DMC;|A)uGlRkOS9vd-?zNs%bR4d$w+ox_iFnE8fvIvv7^5<(>Te12Li z7C)9srCzmK{ZcNM{YIl9j{DePFgOWiS%xG@5CnnnJa4nvY<^glbz7^|-ZY!dUkAwd z{gaTC@_>b5h~;ug#R0wRL0>o5!hxm*s0VW?8dr}O#zXTRTnrQm_Z7z1Mrnx>&p zD4qifUjzLvbVVWi?l?rUzwt^sdb~d!f_LEhsRVIXZtQ=qSxuxqm zEX#tf>$?M_Y1-LSDT)HqG?`%-%ZpY!#{N!rcNIiL;G7F0`l?)mNGTD9;f9F5Up3Kg zw}a<-JylhG&;=!>B+fZaCX+?C+kHYrP%c?X2!Zu_olK|GcS4A70HEy;vn)I0>0kLH z`jc(WIaaHc7!HS@f*^R^Znx8W=_jIl2oWJoQ*h1^$FX!>*PqR1J8k|fw}w_y}TpE>7m8DqDO<3z`OzXt$ccSejbEZCg@0000 + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/variables_69.js b/docs/v1.0/search/variables_69.js new file mode 100644 index 0000000..b391516 --- /dev/null +++ b/docs/v1.0/search/variables_69.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['inter_5fbyte_5ftimeout',['inter_byte_timeout',['../structserial_1_1timeout__t.html#abb885cffadb5ee57c6689d5a3c50dfad',1,'serial::timeout_t']]] +]; diff --git a/docs/v1.0/search/variables_72.html b/docs/v1.0/search/variables_72.html new file mode 100644 index 0000000..29b87f0 --- /dev/null +++ b/docs/v1.0/search/variables_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/variables_72.js b/docs/v1.0/search/variables_72.js new file mode 100644 index 0000000..d73cf23 --- /dev/null +++ b/docs/v1.0/search/variables_72.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['read_5ftimeout_5fconstant',['read_timeout_constant',['../structserial_1_1timeout__t.html#a2fc1dbde1ba635636379085f4e5f58fe',1,'serial::timeout_t']]], + ['read_5ftimeout_5fmultiplier',['read_timeout_multiplier',['../structserial_1_1timeout__t.html#a548b76a924a2f8d5c902130cb587e6bb',1,'serial::timeout_t']]] +]; diff --git a/docs/v1.0/search/variables_77.html b/docs/v1.0/search/variables_77.html new file mode 100644 index 0000000..25c3e3a --- /dev/null +++ b/docs/v1.0/search/variables_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v1.0/search/variables_77.js b/docs/v1.0/search/variables_77.js new file mode 100644 index 0000000..a4b1012 --- /dev/null +++ b/docs/v1.0/search/variables_77.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['write_5ftimeout_5fconstant',['write_timeout_constant',['../structserial_1_1timeout__t.html#acd6e36245118512785400915828cfd32',1,'serial::timeout_t']]], + ['write_5ftimeout_5fmultiplier',['write_timeout_multiplier',['../structserial_1_1timeout__t.html#af43380c4255a9b8669970532048c4dfc',1,'serial::timeout_t']]] +]; diff --git a/docs/v1.0/serial_8cc.html b/docs/v1.0/serial_8cc.html new file mode 100644 index 0000000..fd0b778 --- /dev/null +++ b/docs/v1.0/serial_8cc.html @@ -0,0 +1,125 @@ + + + + + +serial: src/serial.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
src/serial.cc File Reference
+
+
+
#include <alloca.h>
+#include "serial/serial.h"
+#include "serial/impl/unix.h"
+
+Include dependency graph for serial.cc:
+
+
+ + +
+
+ + + +

+Data Structures

class  serial::Serial::ScopedReadLock
class  serial::Serial::ScopedWriteLock
+
+ + + + + + diff --git a/docs/v1.0/serial_8cc__incl.map b/docs/v1.0/serial_8cc__incl.map new file mode 100644 index 0000000..ce3ff20 --- /dev/null +++ b/docs/v1.0/serial_8cc__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/v1.0/serial_8cc__incl.md5 b/docs/v1.0/serial_8cc__incl.md5 new file mode 100644 index 0000000..90f7e9c --- /dev/null +++ b/docs/v1.0/serial_8cc__incl.md5 @@ -0,0 +1 @@ +9d415ee246066b0d8beb28eb6ace1c01 \ No newline at end of file diff --git a/docs/v1.0/serial_8cc__incl.png b/docs/v1.0/serial_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..493966bc4bb5639e86ea3678a57c8480ca96bc68 GIT binary patch literal 19664 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­o){r#S&n{JxDw9H@S z_j>Vy6Es?=6xt@8E_QU;H}lQT^zk~p{Ixc8Wv0jb4)z}aI6l4(0LsF<&BjN$jEVB| zrH!lkPIl}ot2t@;MKhhjM$Sm~^Dmk`HKPV^{BV3OPj9v{9%E=Vm@qOBb90ZmxL941 zK{Y=2jR)hgED3kdo11IC&d#Y}{4(3(&#B@PeqL7%5$&yo8mLL(dmEActIz4F85!@H zP$BjdUFZh{q}!e!Qe;25r%u0|%o!rDy1F^OA`xPTi9FHuvciMx#fxE!fhc|la%MsA zjmhfpMkUyv*zVl6Hewb+3FJ!cPp(DdqZ)*E7I(4$A==J#v!~M1V$4DhtJD8iJ@CNo zt0+PEK|fDHz5e#ai6#I_Z~fdie>1X{8-;~g14vqI=Z2*Uv7q^a1%YCLajYP^$bach z@!cxqHClgv!S3Z_3sH__E;CtsgBW$*E_P5U_wM_!_kb|H^_JAee;-7o)U+z5L* zw~+Asu5X;~p|@V)aN9;EBxK~SIUav(ZEc2x1gIMCPs+?xWVFY9H~N8e^o1i5sB22nAxxlh&kd2*4`=DvEL>0CEz5(U4h*GEDc@i>rnt!~uz2j>U~5Q3Lh zXg?MZpvo4%D~|z-6ZQ`fIwdIsvk&EvqNCUFYs$L2d%JL_^0xy4 zHm@```26DJ9u69?IrIS7oGk3@^voY&wpTpj6y(=ztFhrDWPMdRDX#m#iFZcG%g)T) zXU+P9{J?~^*9fg2$9(-eNy?*bbfE8UO>i+dl%@2E_id7Fp+--xTv^moTHpMF4ZLeWv^nc?kv$-+L!*ACiBk^i=Y3f2EM zS5!PiM=x~`LGdLfwl?FCQ;HPyu4@lQk2iZ%R+atyCpI=kQ*lL2(6o*y^;#oF1HS#v zyOfj-W@g1_B&m>pEOU1L5R{kqY`qaDcX8pSjel)hLQ2Ft(PfcYP#_d3ognd3zGq~_ zw+F9wd703?_ilFkot}qa!50ATUS8@iE>&}L7cF)2De!7pSzRSECxJu8%i*CWcPt)m zzvl9&N=+I^P*L%ki%d&jEy&0(C}^>@TKK+M{gw!q#Z4m*3V3dHpW#B zMvHK9egQAgl}JFF98pqgb#<}H&u2wKTuh~LeCaWH@R#FZgmg}Sx{#hy>1QMZA0HnD zg>XgjjX@~NJa_+)8W=cQSrwTiPAHcfemgu8n6<*A$7vcNbViAkHf19Mv^RRIZSBa6oy6aYUF{}=!D|HGV~tBs9~0i{SVhEM|71%OLX zcAWZ6PfdNbourJukHYfswoI=v>&AJO%4|(QL$`AZ-~kySVZl$DyLSQdl@DuuX$JI> z_3+f_=oh~m-?<_YZf?zuPQgV&>N=*t=RjX-XyDl+;NWvO{P_+5Lbt#*R13oHyKirB z$4c1;DZq8H>-6nBJnH}a1!mU2U zA3b^`*PQ7(Ve1O;9JM-*|9^0$eLpolyi`xegI;D9|#+0+^VYfldUPnjMXinHef~zstRlgal1#>CO;L zGAQPuY{e4iv72##Y~In4gOgJa3c$vFzQ@Xrj*g2udg>D08PnFl{;e)Rtl$uvWEvSz5`Ik45SH+ zA2q}c{uiF&*Z*B*-b;ig4MTnVb_I;@-T=%2Fd?aq0V8H8!u^ke2`RM|;GKYZ05Vbn zYx@rp#KaUK@?_n*Bs+T%3Oh9o?B~>w4eSRQYlAujAl=WOKZ6Lu;b2uM@VU77-S}?( z>R0H&#(=_Azv^EUikPi;Dkv{!jXb`o?1$S2s?)=;~Uk zt*_p|u6pI15~NyImm zESUkvQa3X48_8D!jlgZ$>w+&_5*{~B6oUcOfe}>11 z*8bx+XvuXQg5D#lqB1aXnnAb+Di|#-t%u4~48Bdel4GfZy7Ed&q!2u_D4;L2`14EmNBFqzZCtKbfNPKs9_ZKe+ zt{>LIiMpH@_Pv~FYisN2DcmxD_#Cv<;#XMOx zxqw3^C3U5q04BB6_0Z!YkpqlEY^yf%Eu;^&Nn`@!Yajy3*E-wg^Xne)$sx1aynVY*5N#ptVu1HHsQ3Qe}s9e8(adR`= zPdQI*x@HPTO5+kOHod)G z^utHyCk#EMGkH7+3! z8R+SO%;-X5`Y#yqhgCkfH_ky!Ehe{&IyN?TXd!h0!X`lR;o;$cL8GIgowgL0myiGc zo#;@(^q+YY7Z-!r0tt<1aDj>jWx+m}jK}ViqWnF_y8}{hXJTckEi5Pk#;vWaJlx%7 zwcn?uk?z6;puQIkV6cS66}dKaaGB*oDGSYm4$MudmBFBWD&s zd==&Skdh+*zy9ZcAUFOGEgI4lT+M*e-Qo+YeaWQCa#@xmmQh@~8B{sFBd_-SymD zFM629E7BrNkyVkKYd%bEV`M}jw0dex5rRDHs-Y6>6<6~@P z_l$lvE^bnIUO~&{N>Xl9({Ly*Qeco0G1t%H_WH1J8~b_RwB%&J%@>C1xH(25PLQ>k zb{>)l&xk3Z`|1R2KL7?juSfnofl&n)H^bb5(9+84^c({f)va>|D669j}F zkTk};+t|nlD*I1&juxwnh)B{~gcEktPh4C-X1^5`XUj-Zcl;2ns^XYv^4S0I)Gn^& z#9=5q{_Jc8n0gKCzlN9K^V2agMmgE5D#?q#iypC~DJXb7dgQSLw6me%z29X=E>4?& z(n(s{+EV)ZE=Naa0Aqoy8;ZoHZ%FQ5n9gr16UU~X+#!dIiu~Ku)M{PbKcK=@(($Y< z3(qbZA0XC6Kbeh|&I!w?EDEjk^V{f-ck?<@!+e;^<+M7eOcOxDb8T3+`y)@GSNQ5n zz`NW)-Nt9pex~_P`o;*?VYeZ~=M{`Dnx*tcOc`xMQ1m|38+&08pvipts(Wn~sw+qkUnq zyB#W!bVEAjMK!Kg90q|#Ha3Tw)_@F^)MwfaIPL_j!e{?xhYvLg3>cMqQ$I29=LgB2id=X9FP7(8S_g+;$T;&eGBOnAn-_!g?%vjOZyf-( zq*~In{kH__C?*20%hPMHfrke=8{6Q92H!AuD-M2K#{3gT#;cJ6LOBCu6>}P&nK}b8 zu_x2DDx02G$XUSZ!`Yr~Jo!B`BFtnvT&Nmlz*Lc+zkYpH3l@6%v_3Mj^qUt640^ct z=ybinM_@W10pSdEVAuCmo`i-Dz{y!ZdDL&5dcsr}`)K8#|(6gK~FQnjO_2HbU#gvRZ6j?9kRPV<`+yXJy| ztNj&RkQnq7FGrJYa&Q=mB}r!rl7}B!KE^m%?Qepk1iBFym;Uth<2!e@0bW$Qnb`5f zWl~-33oS0rHfm{p@%3*Hyq8w-)MF^S(%3lOOq*$YDCZ;ub6!!YKf!}VY%mX-9t1u@ z*ulm+I%GJwPGttYPg(69-c$nj0hYD2u^CM;F&~DR1LDb|=lTqkZx#X;vWusC0)Txu zT%GI6&Dl`~m6TwHVB{6#uX?&qlxtHg>H9D34F7!P^Z>o;iBLmE?a6Jyx;Biwj9w*+ z*{1Ns-LJOUM@i)3Up#D1+NZuo?W&TLmndU{gB-8=%HVG|2N~-eOo<`A9r-FEqceSV zzCMwc>AE7mmkWPd4DNBJW2H@w}NkG>LS z-W3LU;lXYNUA(!gU7Qij{CHa_G_1kp;`kLOr@5FJnLk9ofx6%nNj0k^=r1R(%o z&(>lN(5xyXMr5$JO9W3VpuyN?_p9FbFfx^dM)tSGhg4R&zI=(aBqpcit5gx_d63^W z?RE0IRGpCJG4uHSy^HmNA0SVfZ>Ujih~iL#AuqOSQ{TLqygE&Oh=%v3w)<+0C znp!-OkE)%H|EaWGu!yoN*jg-ghL4x6fb^B)*>75Eguv&%zGqny>w9}DKq4eErxFqK zM-&o%5>1jO2Q6=2a5NG=$;Byzzl{y+csd3Ck1w_8OHdN&!7aTm>;A0vqdOWXv9BF| z-COdzJ{)Nd!SGR*MGyqSBLuTRMn>ez7cTAQPe1>2>cCsxb68uO+=9tSxIftD+@G`T z3%|gh0XK(hYaj*RWqW3kC5miJ3POz2-|OoxGNbcz3`#aMeO1-|EQy{t1qTQnyP^cD zludh?r%1T}{<%L_Q+I#^rK|gKsq5z7g0b7_u6_sWx3oNkflJUwP1o|s3xCYf-*XHN z3cAjgGX2|6LQxQ6oHkshkP{iXFj1)t@>CL$=9bGjZiEl0X4s4D$^RgEh>G<2l$<>9 z%4v5m6LJz)bIA#1Rd0xMuG>wn+cQRP+qTcR{>^A>??2a@7KEF;JAT%68;z1b@rIG5 z?CR=d+Tzy?5BHc(ll!N*WgJ8UVlTFzlz|Imn8ig!ua{-JGRdPMSES!Z)P4ROUY@k4 zmBd&DM-9;Ic-pPAv%i0Is)cFT(0t**GQRi}9;!nb-w$#;7SQr84I`!k4_tjBd zy_3w(^0Xj4#73^DC$j_7UVq^BA2g{0b#k_4({gOec~#|J#$G0^imRprChOhQmnaT?fdH8l_C{aOIv zCw=`ovb^O_+EMF=zI$ZuzLB24sNom^X}Es ze`?QzA#5}0I`8+VhK-IM^_->RwO1r_Mvsni(a@D^{zCQuIv_in!@b^Yp=}5NSV<%r z44D4|m_L#56Aj1x@VK}JVIReOrT9tr=LRTpa&W=8EOpL5BusxFt|x4(O_ptnz1|*D z9EwZzqIBP|rYChxoBxISi1V^+XDDv+H_sx!y^fz9;a%%%^j_uPT@8pMBffM+-_9L8 z$QGobdu>4_Ap8TS$XxizhtUtkaBP&6BHk>yMv`tme#93K13H{KcuGn-%J=Z!Wu+I$ zgCu6TyRqfQH&s55Nt;cc#t{XhfvcF{C#Avu@oRJOwwta1RMdTB)O~V65Aqcof0~}( zrF$qSD)#epxfQ?I)l94F@7%c<9sQZaTCQ=qiJkXCZ~C%}EV)U)%5sPo|J-VRrtiBR zT0wquNulLimdGBIs`p&N-i2Y|y@{K*UiynxyUw7oOugs>J|pcS=}J}g!+ZBm$OKQ% zzF7Te5~{7<-9NqJP)4*iR;ukjDim*k%JXe_fz5FW}CW*1Pg6L&W-QA0^B~HMOs1b67S_`6-{avq;?yleD3G!C`fPtj2Z{am9~| z=7F;nHI`ZIF}MMX(Tg?r=ZipIO;$%ku!YlcwDsUx{hC($l7NXfJtZYP!{dz^2TFSk z3~OdqxIaG&(pr$QfXV}%C8@VJh?kqYCzYr1!{yNX=dj7%r?lZ6DCneL9rKbx0N~DI*HyCK#+d^jE@B=JCKupVQuzjtpD zX(471ENt`p)8Ce~AYg(<3NS<8e=NGJ4d8ve-R$$!>o_+?ws1BqM%Hq)(3hQk9t%Ge z4VooxE)QB4+Si>ur%QA)_yzQAC$QQDt+QE$l(~MAB0Xj@sv*4EI6dAcAB3W$7=V_ zTnMJ0osEs8#>?T!iUo1!Ly2b>HzLd3W;mgeQ}vu{2LmCvMA{a4`KzG9N^E^uIeFvB zC7z=SfKCz4cu*XiAOYXYUqd;ydV0xB1W7;^2J1Ds{{!s|VlW*pj;odTLB7eq2?OL? zr@#RMS}_HSt6?lm3uIG>|hFaGs9?|P7_=UMH)SWSw8Lt z#Li+Y#DO8L?h3A3Y=@Fr$RpW$|-PfUi!nO zE1cT}*p2)|lK*@F(vG;e?}|g6cr99x`1SGh(|K=B!-Y3;<;~6Jf4=Xyd!?ihn}0_L zkEd%<+efE(5YP%QQWzS-#1=pGR4w|TluG;gw<|VqsgMVHTznPZ9Y+&?FDbq`uA*Dr zDYN&kd#o$k1>{G7lQnsrDCv>d43aYvgabSK=*A;XoWhjoD`+V;#)Rd^tRm`J zJ@ZE1Z|=@pi^s}ZE_HS@Y8AVt-c=<+J2vwBrUV!oq%Go@(x^d#mN7@MR0p0XFDj>d zISPt(md8FK;4k{G?pyc5ZkTDO@ zkTwhb9h{~Fc@QTM1rHCmO&yV{z5-+h2{Yf6Nc=riCwFGokuKutf*@HaEVno2nB?dG zqE+tdoJyMuS4q0yQyf2Epd^7@_i6Q4MGcp4jf*q%J{lv-W_Tx`_q^zXkuM4`%kTZ~ zsWUK~dF}Qj6nxgou&Ctqx0r^u8?uad0Lnk+lJyWELx!ps2hX{#AtmZ&S5=(~cp&!V z$Inuszp$_W2>N0^r7=H#eEVMwdJv~<&w91La*BxfqWtN!Ds@)riC~@EtJT%9&jWNc zLIoq!aA-H@=i}Bg%}h5&RftKZ2RW{iyeIY}KJ_A9cZT7Xs-M7L0+;n3RZ5T}`QP%gB&BNe z)$wq>lOKg7j%TS-o?1kt%a2?v+W52cBb)1Ibn=T`WcJ_ujDoNzrlvL~ zr#7aiHhj+4MQv;zHN8$R+`2e^9h8=KjVa;|)Yt0rvU4RDbO%vUJ(`h-F@DWtbR8Ot zeKu1MK!=WEewt#>2Y*|eS8LC&vLxsz0#j0T5)ux3dRF%xFX!`zhdYalS65%riX*pI zM3S%;7IA|%{1RPAURh7C5g4EBW+kP5`~>l9q;@vvE!|%u1!Ndc(ALHjI#RyL7R;s} zmoq{CO$iu3D=Q*$0vLq3X6DH+>pgHKAXBK;+UPJT+uHt4WLB4))dn`Qyr_tsU9~~T zw=+TvmzH;8YC}hFbB~7zWcs$2g|Tu36xJ7z_jF8XD;O9&D18Z}LT_)cxntRf*RT6B zb{1AvEKRaY^Q9F{jn2j*($iDY)AMt_3xwEPolt*jhQO(iz_M2?MW>~w;g)3dM; zBuIh0AN0O*)YR@03QCbBMMY($rCFapgO<9esOa}+!U8Q;bncq%n+gL56`Pg?;IfpI z680jc=~QS-46kHdT;e}={i*|$yV{~-aateaaiOz8h-A=*)KtdyJgh1obM46OK0L@}H}!pg}k(ySb)f5Ku>q)c&!dto60Q!$U3*lT1xx=W0)kLVj~O;I^AP|to^6`X5D*Guwr`lA>GkcUGkv+={dlOX^IvMd z`oEnc>vzeYgQ%kM>SOPU@8xOi4em8}2U|%+MT{2T<<#vX@Cycc;vZM5+6AoJegGhS zw~p^%ga8}Ms+~FL^0(_%HMmA2R@GyaSp|WTY*)P(4jE#%z5K{NHNk}vawsSUtYZF1 z?>|l^E50%{rMjVOYIyB7h3#S%I)#}a7UHE0l8(Vg_|M1uL+S%_`zS$b3^W^1x1J~4 zq><9$@84HcRIqVyOntE$No3YTLqj_}JbY22-71pT*ytrCB?a_lcRU@oIP?zJ*4DZ? zI#yLxHF%wrIUD~BjgH2AA}Id8ePLo^;zwsEWguwUIV=asfmEZS%Gup@xWscf+c(F> zjlaISn4XxBl$NFpJRLurs<8on8q_r-jJ6P3lKg8mKL!2 zPY3zAoKi(cMXhe#gI1#u3{nng-QeIL7V_k>A8!I7IEVn6o38^=a0yuSPkUKgkXhdR z-+eMPulq`g#81@NH9@}H4CY%Cc3SF02N^gW9U$b@(D<>~;p$HR6hCVd9~;})&dyL( z^&J*e)w!UHxD{*Mp>#e5aRfA$mqGdhdp0=8#>IuFf_d3Uwqxdxg(Fz?<6nrp_+@KC zOw3y{ruGm_Ru-1kej05p@y$ml0)!}O29}z&0wQi0oqs_A08KC-wUM)6J-|p)2Cg~t zUw6&aJAE!LR!-v&!a_wxE-WmRm6H>@apt|TkVk9p`;X3m9nI_iZCLris?jz<4HWpB z&EL#>BacOVK_mXDec>e$aQ*q^eve7qd>FvNOyoAbRT83>m@en_IV%gf9E+uAzWnU6Lmx;8al{uv8xHV|1B1I{jX zT5f>bDl6xu6(bFsVrfF}BIBDodtZwQq8%=7ZtxFikxJupdeF|+&r7I1%+N{nh7jbAfeC4TYeBr=K|#ip#kv*gl{chz z21V9}Lg93E1>LmaO@22|+SxAiCDqh$glQ7wzq#$C4>IjT4?J|n!1q!N538{xP5=J= z+juRkj}rPW;I4!n?PUA+xx87o$_ypg7`h$cD;A1Bf3~r{eViXp+e0`2a&ETVNMtSo zS`?u3sqMNpAFThix_Ze6GLZQw5+00;`TA4%T8TKslAqN9gWci`4V9H(Yw^~hm}0a+6?kL0zMwP7x?)2`akjEwzFj+y&s(1Q`ghf#1}S~lti@u zi`_>l9?hhBkwpY+Ts-*%A}U>N?Oj?|7nhFe_l3oFS_2=Migh=bC{q)gp}hc^;!=t~ z>c(pUBUBRS=+9_t>%wRe;KBOPyW;5L^3C_EL9s0c-@srN+U7bsJFB$eD-`PBn?}e3 z=UV*cM@N?z7Z?BCKD^Hlt#Cr2M`5tV&u=aQzGbAg^6X}<9~yihZY*7m|N2!{QW9}u zL`azDW#k_?EoHgfR3-?Ua5_8I)+T<^qtpiN08xIx+^7JuhYW+6rhB^SD_lO)G4$)*6tt(_}`OG{ff5 zk>&fi7K_r;(<2>8d;}c~(BG2GX~6>GjCQ07)Mxf{O<)8P9=ngJshFhvcofjQU~Ors zt)Za-ElK}rO1j!CZy_cjS!#Lf0I_J*?~A#uEzpgObAA~@UaxFEkM5YS_qZ->-D}#i zGck#~)vWx1cAiBGjc4LEIqI6!&KVy6)xwyVEW!vZM$IL8N9D$;0$%jk;%lA@Mpyr5 z&ku93u{b7{YW2vvv!OX?*fLefVsoB`^Hm|9NYGID0x3VVAflZv>=SlFQCv1P2If(Q z#Rfh3uEBusHCgid)3SVM_i;L^$=SO4P@ONdUW5p4aWv3m4Mt?H?tCiWa6Fa}S zkdcu=dhlR%Wrc>CnmiC%)u^bb_U7YGQa^UWYCg1M8;bO(nz6xE@uBM z`}cBpx%<6+f0uinj|RhLa=1;*&xiBV*hs`{JvaaR;!J{oigc9AWm!Ft?3DF z$L=#&fVDt70oMBis+u$)_qgttWtao<0qDO=CL$=v{Hw$RCX8`}HXir#4AI*owP!G< zu|4YV|C+8rdJ5{DfbXGJ(#D;)_RcBJPx^#}eiij%CO0peBG?|)U5lv)^r+{1-AV1- zVEWOcs&kVc_Zn5qPKLnc;hPudZ8%z{q1g($p^zmjmq=y;{h%yj0T+qZNWvFKO1#(8 zR~C`5D=){?qil9{bx|l#-JdtUXR`|`D-Ym4Sy@?aOK&sQl@u;cjj<9Es@+I;Lw=Kd z;=wmAOHT?XSFA6BV6?jJdI{MNITNJc-0ZCOjLZ1w=zNXYWU09YpAJ%!X#aAK7C}fu z!Yho#jUx@Oz|dhK(FJOfZsYWfq@*Ow7?^ZZnU^ zqcUx{&1FyJM#9x$$aEEvEM^T_4^ox7s;sFNO(WhEpinB$A1SsD+<6N1>Ursh)sa+@ z<~C>V^yP3kLsHLA56MMcai!fS{z3t7P1ze00fYsB zuEG38)X-oAp+53+b_#jA)3t(@8wsBfSQKyUTnHKK*+F{Ut7E?XL5Kon-0Wu8F)$F{ zzI)0aLvF43jdw{OFjAE&V}2_q0)2tIIx?#EynnWDGc#47><|mBs^oeXA@-O+se_vy?>h~_GTCK-AH$d4;2JFM*V(ekz?JE&a}y-agu3< z#Z+7ZgsmNU0wsoTmT7`qyU#BSe(rws=V4bj)`>k&FbhN=h#tn0^*I6C?_94pjOUtFla^=ijp*HWV;yR5Rdc6%`!V&7Cwv~_Y?n)^9!Id37{ z=KYnk{i^W&>cQVaD-`!NmiQ1bQ0f^{zWy)wX2HAQ6VZ#&)$>}MVG*_~lC5NYCwK=c CmtpS! literal 0 HcmV?d00001 diff --git a/docs/v1.0/serial_8h.html b/docs/v1.0/serial_8h.html new file mode 100644 index 0000000..c72c31b --- /dev/null +++ b/docs/v1.0/serial_8h.html @@ -0,0 +1,211 @@ + + + + + +serial: include/serial/serial.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
include/serial/serial.h File Reference
+
+
+
#include <limits>
+#include <vector>
+#include <string.h>
+#include <sstream>
+#include <exception>
+#include <stdexcept>
+
+Include dependency graph for serial.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + +
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + +

+Data Structures

struct  serial::timeout_t
class  serial::Serial
class  serial::SerialExecption
class  serial::IOException
class  serial::PortNotOpenedException
class  serial::SerialExceptionBase

+Namespaces

namespace  serial

+Defines

#define THROW(exceptionClass, message)

+Enumerations

enum  serial::bytesize_t { serial::fivebits = 5, +serial::sixbits = 6, +serial::sevenbits = 7, +serial::eightbits = 8 + }
enum  serial::parity_t { serial::parity_none = 0, +serial::parity_odd = 1, +serial::parity_even = 2 + }
enum  serial::stopbits_t { serial::stopbits_one = 1, +serial::stopbits_one_point_five, +serial::stopbits_two = 2 + }
enum  serial::flowcontrol_t { serial::flowcontrol_none = 0, +serial::flowcontrol_software + }
+

Detailed Description

+
Author:
William Woodall wjwwo.nosp@m.od@g.nosp@m.mail..nosp@m.com
+
+John Harrison ash.g.nosp@m.ti@g.nosp@m.mail..nosp@m.com
+
Version:
0.1
+

+LICENSE

+

The MIT License

+

Copyright (c) 2011 William Woodall

+

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.

+

+DESCRIPTION

+

This provides a cross platform interface for interacting with Serial Ports.

+

Define Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define THROW( exceptionClass,
 message 
)
+
+
+Value:
throw exceptionClass(__FILE__, \
+__LINE__, (message) )
+
+
+
+
+ + + + + + diff --git a/docs/v1.0/serial_8h__dep__incl.map b/docs/v1.0/serial_8h__dep__incl.map new file mode 100644 index 0000000..2a9863c --- /dev/null +++ b/docs/v1.0/serial_8h__dep__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/v1.0/serial_8h__dep__incl.md5 b/docs/v1.0/serial_8h__dep__incl.md5 new file mode 100644 index 0000000..825b2e2 --- /dev/null +++ b/docs/v1.0/serial_8h__dep__incl.md5 @@ -0,0 +1 @@ +fe2a3161980d504b6c6372e2f61123c3 \ No newline at end of file diff --git a/docs/v1.0/serial_8h__dep__incl.png b/docs/v1.0/serial_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..b18e0638e6514957a5cdd844fdd55920a83b8d0b GIT binary patch literal 14192 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 + diff --git a/docs/v1.0/serial_8h__incl.md5 b/docs/v1.0/serial_8h__incl.md5 new file mode 100644 index 0000000..7695c5f --- /dev/null +++ b/docs/v1.0/serial_8h__incl.md5 @@ -0,0 +1 @@ +6e0c764141061f34eeeffeb4410d6259 \ No newline at end of file diff --git a/docs/v1.0/serial_8h__incl.png b/docs/v1.0/serial_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..76a2ade6f44afb22ad43343e807325749a64bc83 GIT binary patch literal 11293 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 + + + + +serial: include/serial/serial.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
include/serial/serial.h
+
+
+Go to the documentation of this file.
00001 
+00036 #ifndef SERIAL_H
+00037 #define SERIAL_H
+00038 
+00039 #include <limits>
+00040 #include <vector>
+00041 #include <string.h>
+00042 #include <sstream>
+00043 #include <exception>
+00044 #include <stdexcept>
+00045 
+00046 #define THROW(exceptionClass, message) throw exceptionClass(__FILE__, \
+00047 __LINE__, (message) )
+00048 
+00049 namespace serial {
+00050 
+00054 typedef enum {
+00055   fivebits = 5,
+00056   sixbits = 6,
+00057   sevenbits = 7,
+00058   eightbits = 8
+00059 } bytesize_t;
+00060 
+00064 typedef enum {
+00065   parity_none = 0,
+00066   parity_odd = 1,
+00067   parity_even = 2
+00068 } parity_t;
+00069 
+00073 typedef enum {
+00074   stopbits_one = 1,
+00075   stopbits_one_point_five,
+00076   stopbits_two = 2
+00077 } stopbits_t;
+00078 
+00082 typedef enum {
+00083   flowcontrol_none = 0,
+00084   flowcontrol_software
+00085 } flowcontrol_t;
+00086 
+00091 struct timeout_t {
+00092     timeout_t (long inter_byte_timeout_=0, long read_timeout_constant_=0,
+00093                long read_timeout_multiplier_=0, long write_timeout_constant_=0,
+00094                long write_timeout_multiplier_=0)
+00095     : inter_byte_timeout(inter_byte_timeout_),
+00096       read_timeout_constant(read_timeout_constant_),
+00097       read_timeout_multiplier(read_timeout_multiplier_),
+00098       write_timeout_constant(write_timeout_constant_),
+00099       write_timeout_multiplier(write_timeout_multiplier_)
+00100     {}
+00102     long inter_byte_timeout;
+00104     long read_timeout_constant;
+00108     long read_timeout_multiplier;
+00110     long write_timeout_constant;
+00114     long write_timeout_multiplier;
+00115 };
+00116 
+00120 class Serial {
+00121 public:
+00148   Serial (const std::string &port = "",
+00149           unsigned long baudrate = 9600,
+00150           bytesize_t bytesize = eightbits,
+00151           parity_t parity = parity_none,
+00152           stopbits_t stopbits = stopbits_one,
+00153           flowcontrol_t flowcontrol = flowcontrol_none);
+00154 
+00156   virtual ~Serial ();
+00157 
+00171   void
+00172   open ();
+00173 
+00178   bool
+00179   isOpen () const;
+00180 
+00182   void
+00183   close ();
+00184 
+00186   size_t
+00187   available ();
+00188 
+00214   size_t
+00215   read (unsigned char *buffer, size_t size);
+00216 
+00225   size_t
+00226   read (std::vector<unsigned char> &buffer, size_t size = 1);
+00227 
+00236   size_t
+00237   read (std::string &buffer, size_t size = 1);
+00238 
+00246   std::string
+00247   read (size_t size = 1);
+00248 
+00259   size_t
+00260   readline (std::string &buffer, size_t size = 65536, std::string eol = "\n");
+00261 
+00271   std::string
+00272   readline (size_t size = 65536, std::string eol = "\n");
+00273 
+00285   std::vector<std::string>
+00286   readlines (size_t size = 65536, std::string eol = "\n");
+00287 
+00299   size_t
+00300   write (const unsigned char *data, size_t size);
+00301 
+00310   size_t
+00311   write (const std::vector<unsigned char> &data);
+00312 
+00321   size_t
+00322   write (const std::string &data);
+00323 
+00332   void
+00333   setPort (const std::string &port);
+00334 
+00341   std::string
+00342   getPort () const;
+00343 
+00365   void
+00366   setTimeout (timeout_t &timeout);
+00367 
+00369   void
+00370   setTimeout (long inter_byte_timeout, long read_timeout_constant,
+00371               long read_timeout_multiplier, long write_timeout_constant,
+00372               long write_timeout_multiplier)
+00373   {
+00374     timeout_t timeout(inter_byte_timeout, read_timeout_constant,
+00375                       read_timeout_multiplier, write_timeout_constant,
+00376                       write_timeout_multiplier);
+00377     return setTimeout(timeout);
+00378   }
+00379 
+00387   timeout_t
+00388   getTimeout () const;
+00389 
+00402   void
+00403   setBaudrate (unsigned long baudrate);
+00404 
+00413   unsigned long
+00414   getBaudrate () const;
+00415 
+00424   void
+00425   setBytesize (bytesize_t bytesize);
+00426 
+00433   bytesize_t
+00434   getBytesize () const;
+00435 
+00443   void
+00444   setParity (parity_t parity);
+00445 
+00452   parity_t
+00453   getParity () const;
+00454 
+00462   void
+00463   setStopbits (stopbits_t stopbits);
+00464 
+00471   stopbits_t
+00472   getStopbits () const;
+00473 
+00482   void
+00483   setFlowcontrol (flowcontrol_t flowcontrol);
+00484 
+00491   flowcontrol_t
+00492   getFlowcontrol () const;
+00493 
+00495   void
+00496   flush ();
+00497 
+00499   void
+00500   flushInput ();
+00501 
+00503   void
+00504   flushOutput ();
+00505 
+00507   void
+00508   sendBreak (int duration);
+00509 
+00511   void
+00512   setBreak (bool level = true);
+00513 
+00515   void
+00516   setRTS (bool level = true);
+00517 
+00519   void
+00520   setDTR (bool level = true);
+00521 
+00533   bool
+00534   waitForChange ();
+00535 
+00537   bool
+00538   getCTS ();
+00539 
+00541   bool
+00542   getDSR ();
+00543 
+00545   bool
+00546   getRI ();
+00547 
+00549   bool
+00550   getCD ();
+00551 
+00552 private:
+00553   // Disable copy constructors
+00554   Serial(const Serial&);
+00555   void operator=(const Serial&);
+00556   const Serial& operator=(Serial);
+00557 
+00558   std::string read_cache_; 
+00559 
+00560   // Pimpl idiom, d_pointer
+00561   class SerialImpl;
+00562   SerialImpl *pimpl_;
+00563 
+00564   // Scoped Lock Classes
+00565   class ScopedReadLock;
+00566   class ScopedWriteLock;
+00567 
+00568   // Read common function
+00569   size_t
+00570   read_ (unsigned char *buffer, size_t size);
+00571 
+00572 };
+00573 
+00574 class SerialExecption : public std::exception
+00575 {
+00576   const char* e_what_;
+00577 public:
+00578   SerialExecption (const char *description) : e_what_ (description) {}
+00579 
+00580   virtual const char* what () const throw ()
+00581   {
+00582     std::stringstream ss;
+00583     ss << "SerialException " << e_what_ << " failed.";
+00584     return ss.str ().c_str ();
+00585   }
+00586 };
+00587 
+00588 class IOException : public std::exception
+00589 {
+00590   std::string file_;
+00591   int line_;
+00592   const char* e_what_;
+00593   int errno_;
+00594 public:
+00595   explicit IOException (std::string file, int line, int errnum)
+00596   : file_(file), line_(line), e_what_ (strerror (errnum)), errno_(errnum) {}
+00597   explicit IOException (std::string file, int line, const char * description)
+00598   : file_(file), line_(line), e_what_ (description), errno_(0) {}
+00599   virtual ~IOException() throw() {}
+00600 
+00601   int getErrorNumber () { return errno_; }
+00602 
+00603   virtual const char* what () const throw ()
+00604   {
+00605     std::stringstream ss;
+00606     if (errno_ == 0)
+00607       ss << "IO Exception: " << e_what_;
+00608     else
+00609       ss << "IO Exception (" << errno_ << "): " << e_what_;
+00610     ss << ", file " << file_ << ", line " << line_ << ".";
+00611     return ss.str ().c_str ();
+00612   }
+00613 };
+00614 
+00615 class PortNotOpenedException : public std::exception
+00616 {
+00617   const char * e_what_;
+00618 public:
+00619   PortNotOpenedException (const char * description) : e_what_ (description) {}
+00620 
+00621   virtual const char* what () const throw ()
+00622   {
+00623     std::stringstream ss;
+00624     ss << e_what_ << " called before port was opened.";
+00625     return ss.str ().c_str ();
+00626   }
+00627 };
+00628 
+00629 class SerialExceptionBase : public std::exception
+00630 {
+00631   
+00632 };
+00633 
+00634 } // namespace serial
+00635 
+00636 #endif
+
+ + + + + + diff --git a/docs/v1.0/structserial_1_1timeout__t.html b/docs/v1.0/structserial_1_1timeout__t.html new file mode 100644 index 0000000..93fc54b --- /dev/null +++ b/docs/v1.0/structserial_1_1timeout__t.html @@ -0,0 +1,259 @@ + + + + + +serial: serial::timeout_t Struct Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::timeout_t Struct Reference
+
+
+ +

#include <serial.h>

+ + + + + + + + + +

+Public Member Functions

 timeout_t (long inter_byte_timeout_=0, long read_timeout_constant_=0, long read_timeout_multiplier_=0, long write_timeout_constant_=0, long write_timeout_multiplier_=0)

+Data Fields

long inter_byte_timeout
long read_timeout_constant
long read_timeout_multiplier
long write_timeout_constant
long write_timeout_multiplier
+

Detailed Description

+

Structure for setting the timeout of the serial port, times are in milliseconds.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
serial::timeout_t::timeout_t (long inter_byte_timeout_ = 0,
long read_timeout_constant_ = 0,
long read_timeout_multiplier_ = 0,
long write_timeout_constant_ = 0,
long write_timeout_multiplier_ = 0 
) [inline]
+
+
+
    : inter_byte_timeout(inter_byte_timeout_),
+      read_timeout_constant(read_timeout_constant_),
+      read_timeout_multiplier(read_timeout_multiplier_),
+      write_timeout_constant(write_timeout_constant_),
+      write_timeout_multiplier(write_timeout_multiplier_)
+    {}
+
+
+
+

Field Documentation

+ +
+ +
+

Number of milliseconds between bytes received to timeout on.

+ +
+
+ +
+ +
+

A constant number of milliseconds to wait after calling read.

+ +
+
+ +
+ +
+

A multiplier against the number of requested bytes to wait after calling read.

+ +
+
+ +
+ +
+

A constant number of milliseconds to wait after calling write.

+ +
+
+ +
+ +
+

A multiplier against the number of requested bytes to wait after calling write.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + + + diff --git a/docs/v1.0/tab_a.png b/docs/v1.0/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..2d99ef23fed78c7683f0b5aa803d937060d288c4 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qo)`sjv*C{Z|CmjY;X`^DSv)) z;hc^cTF;t%XWXdwWP5+kt?jQ5uhqKtjd^EY`^^-S;M%tFAj_l)EwVTK)E@1LSD0{e q?a6($SGQTzz1#QBzr0NMKf^0WCX-0bi?u-G89ZJ6T-G@yGywp8?ljB* literal 0 HcmV?d00001 diff --git a/docs/v1.0/tab_b.png b/docs/v1.0/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..b2c3d2be3c7e518fbca6bb30f571882e72fc506d GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qk9-Ajv*C{Z|~mbJ)|JfaM8Xd zIP7xAmLwau9@iXhZTrl-TjWj9jM#?{xt`6uU{<)jb9Suc^QnbhJ(o{ib8=j9u0_mE8M7kgF7f<7W7IEf=8(L_qx|g0H;V7iPxm&Q@G7p8W2Kx&iT|YUM=ITC zY<0Qbr;u&AtXD{o@41wH=7&d8=2Z_{M9Tsa=g*t*@A3H$UOlxZk7?f6RUWpx>Fc_L s#LQ{edY3MpIXkMeV^&YV=9fR%8Jv|Kya=#u06K}m)78&qol`;+0RKEt)&Kwi literal 0 HcmV?d00001 diff --git a/docs/v1.0/tab_s.png b/docs/v1.0/tab_s.png new file mode 100644 index 0000000000000000000000000000000000000000..978943ac807718de0e69e5a585a8f0a1e5999285 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QZ1e?jv*C{Z|}b5Yzkm-c<7z3 zq^cq0=~}Z;b(!Zvb5Z%sTRFKGlz1=qOFg;myyu?$r`wZb^irPsN1a)6)TwB0r+)wb zPL25;=adu89?fTK`qDR>$D*)b_WOmdKI;Vst02j(hg8%>k literal 0 HcmV?d00001 diff --git a/docs/v1.0/tabs.css b/docs/v1.0/tabs.css new file mode 100644 index 0000000..2192056 --- /dev/null +++ b/docs/v1.0/tabs.css @@ -0,0 +1,59 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/docs/v1.0/unix_8cc.html b/docs/v1.0/unix_8cc.html new file mode 100644 index 0000000..efc0abc --- /dev/null +++ b/docs/v1.0/unix_8cc.html @@ -0,0 +1,187 @@ + + + + + +serial: src/impl/unix.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
src/impl/unix.cc File Reference
+
+
+
#include <stdio.h>
+#include <string.h>
+#include <sstream>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <sys/signal.h>
+#include <errno.h>
+#include <paths.h>
+#include <sysexits.h>
+#include <termios.h>
+#include <sys/param.h>
+#include <pthread.h>
+#include <sys/select.h>
+#include <sys/time.h>
+#include <time.h>
+#include "serial/impl/unix.h"
+
+Include dependency graph for unix.cc:
+
+
+ + +
+
+ + + + +

+Defines

#define TIOCINQ   0x541B

+Functions

void get_time_now (struct timespec &time)
+

Define Documentation

+ +
+
+ + + + +
#define TIOCINQ   0x541B
+
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void get_time_now (struct timespec & time) [inline]
+
+
+
{
+# ifdef __MACH__ // OS X does not have clock_gettime, use clock_get_time
+  clock_serv_t cclock;
+  mach_timespec_t mts;
+  host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock);
+  clock_get_time(cclock, &mts);
+  mach_port_deallocate(mach_task_self(), cclock);
+  time.tv_sec = mts.tv_sec;
+  time.tv_nsec = mts.tv_nsec;
+# else
+  clock_gettime(CLOCK_REALTIME, &time);
+# endif
+}
+
+
+
+
+ + + + + + diff --git a/docs/v1.0/unix_8cc__incl.map b/docs/v1.0/unix_8cc__incl.map new file mode 100644 index 0000000..0991bbc --- /dev/null +++ b/docs/v1.0/unix_8cc__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/v1.0/unix_8cc__incl.md5 b/docs/v1.0/unix_8cc__incl.md5 new file mode 100644 index 0000000..e2da168 --- /dev/null +++ b/docs/v1.0/unix_8cc__incl.md5 @@ -0,0 +1 @@ +bab19cae72c3e5e04f76779db3ea5c4a \ No newline at end of file diff --git a/docs/v1.0/unix_8cc__incl.png b/docs/v1.0/unix_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..c16f3bad5827f1dd28a29f41f3aec3d688593c53 GIT binary patch literal 56191 zcmbUJby$?$_XQ3s0wMwuL#Id%Aq?FiAPv$I0z)I+(jna?4blwhh_sZHNQrcJNlQ!p z4nCjn8~?r6dl_)ez&-bzefHjKueHvEt17?5#w5eMckdpyoUD}Ey?f})_wLcCg_lzIZtwnlY%Wf`caP?toRoxyN9IoRJ8$xntXr|h{b8TJKWsv7_zC`5 zsQ5p=B@_ljbQ6*cCT&}1d|M5u`s#LnefV{G{%f~=_(P$>)XTc2IW|3v+@zIe%3i-qJzk~w+yEu|pVw&LJ?UaSMFZi6*OuT8@D$3CEd^rxOYCfHA+Hdh% zYzs)9$NTT5!)hM=%KmrjI%eLNGYfCF40O~f1e{C@-S7YRrr>NrfByT4|M%@Hp#ATc z{{MeS@f8!q_vR=^>||6OB5iOY^K0u^T}32$Xd}(`=1)rN*Q+K1RAk%#YaKNRWxXW- zEiz{pLcLg@ed6H2p+UdpceH8s6tSUqJYKAFmf)I;;Pcx(h%}qS!~cti=KtNRPS8(o z%E&HrLqjGAW-!Vu4F!(&Rb5%x_6I$?cYk^rrD^e;%@7)JMMa48np4A61{+ainxgrj z$ky-Q)6HIIS6+JTDe4Fa>$Xc{1Z8T@l#1zKamfExK!^E%!R*vsX}#HQ-D}v$ZoQsq zovX87xH#J2#EO*3_d4Bqw-U{Fx;x{3x-)e)@3lWDw12hADE1CSB3Z(Fbau&!CFH)R@8i>~0aYp<`NSNN$H2hgd%bNacD@+YdcAAU$iQ&- z=I`$DdGj&81TINPvOIm&gdP**jmJ_jSTY9mx@O zTt+>r3JF2S>Hsyu)|SnAZEvm#8~s6u@qY8!JT~8~Dw5|DSwNsk^;GJ1d(C^}R7D1L zX!57>iS70$T^t*{oLDSGk^P_L3j@(|Rlm1TQ8`Xj8raocg7=!$96zN(mn=VUG5UYG z$AaNk=zj0t-O$rz4H8GvV|6$QKvP)YBr>lG6&YfUb&xvB#YZF|!`w=^uj_qaX)GyL zIz?9Lbk+SuOr=T6#HnN6*+16IBfkII@<#HHq({?LQ_l`kT+9+eFuQDOIc{x#ZG90p z%D&|twsaXOQsP_icBYN@I2qH<@mLNY98^BV28*A@Wsy3zaC>vcH|y|%m1xAe2IR%Y z5z@YY?F~E~n%KK~^ezm2e}BJDhqb>oBqYQrqn}6dOz8~=vQ7HmzJd$L7XB$zL#Q&D!O(2vmzg(?y7Xh<1v!dE;;#zf$V}ypMfNUu zT3&<$aYFwuZdq9fFa1+O4lI`BABfSU&xx`e_`jl#ouwD+Q#;bsNckxg5t+j@=ib?h zyd&O9bjy)lDCU|B1dmX;Jl~I%t~(XK$7fH;SM?U}OC^X8dmfLm-l}A8Z|~>lc{79c zQ=DB)BKP^vuOk7RIz8EXwACK*uIRRcoZy|GV3IobKCyJ z*8vo~Sf3q}yVUSKYg(8C^@}8gQq;S?sHmu>#`TooV$i+CdGlv(M6p}%LwroO+rL%U zcmK2xk1aaB&h;O5EIE*HMhfIrv@=C{q0ELssDY9;;5Au{~WJitNNn&%-Xf z*+V%XT=9RV#KxzLaKv4L=DRAv2u zL8}K%PVA*%l9*ym9wJsp=p!^3!fcQ_@`ZnB=!{8Za7nQ`K2J%C8bVY0dRGhC#QZ_L zF)xIvUgqMOkT4{MgGh+CJy3rXqfoCOqsGih<``whYit*5oT?_klda8EB(txEkY!pm zCSf3YEJb_saR0j|lN6zQIldag8edSAS?Vv9$PN>PLdeiEIH7A0FzvJWAmtun( z&YW2JR#AuT_Z>>O%BEN~nfgc3i7?fb1^tl?$$c)cG&B3S-2xM;Z@V$W+|f#9Wh0Nd zLyUV(D>d>g_S@(KV(~+ap~y*#2~(~#Nd|S<;v+h+ zJrRmUaf;^cwy3&l(B$XIKfT z+oQ?UDf!fp77sqsVNj2qBJ_;z5vnjrJA8!b3DU!QvuXVyvez_*<}+&i(=Z$Ebj;9R zRVLEtqG$1@!r2UAAf5xJC6WO@HWUigtSYH3a6$sG4sTeht{iSc^R1?L-H0)RySuw1 z1bITdML`!W!AsDete+d>xirQND9g#xFb3eE3%{gGQz~BSMhpCI4tqyp zp>;0=txyf63(kRqiv8Vg;?ISCgSU0TL-t1pmn35v8U<6Jsa{Lrg9ZQ&~-U0qB5X??^ ziz34}N2D6FCKDY$J5K1_?e#(mJNAkLzgv^f%}kh79vY^K4LjE_J%&WK@n^7pUs~;( z(R%6|hk^A0@&lK8C3WL^!CT`g1-Nb4VQxkz|w>C_O`vx3mTKhO(^ zqEA-#d3|`HA1vwAYtNCUNQdi?qC_F}AB<-F2dKlk7&F-7Oh3?krb`Qc#los$$n}gd z-jp|k&9pi=61&4epEW+LKrL7DsTPwIez+=>aD3d_3>L2eO_C3mFVvvLlPy%w2U~$D zIRb(iugDOBLfd&&FmhoEOHo`mdWtU>A}QA@hKI$_VVpqo8KJ?R!PX|;r~zswx02xp zE0RC%QnW3yoy6g&YKVJ1h4O_`#ffDaY86^VW6;H_sq#)oq&~Yjqs%~Wd(gw%BeBGz z1#^LT`NE2d3YKQ#$H6`7Er%hO(R{NbW%|)Fygu=Kykx0n;McYKI^m)zeQXf%8j<8LPoEMwSq4iZ>FENSwlHD29<`_I zqnIS;+~=o|KTCM7f){Ew)S0i#OXt-X)W4fQRvpu0{U8T>%y~Pa*>(X(?i_Z4tPXZ| zzDeTqs1YmC4EGSuR%4Ery-SkZxbLQSNwAORJq3lpkvcT-7|HVCQh~EN|7JUV`b}a8 z07~pi3|w^|P>BOel0HDu(}byrd+6m0QG4h=ebnkJ*W%Hk1F?{zZF792ryMwp7lGZP zme8B#UtsD4g*|%jufv)pThOtjK^reu_(#=NgY`phoULzLOy`QD6s@SnlU`GJuw=QG zLXB?2RQZ>wQJH6z!`}%p!S+Mf?t=+05Ekd=E+KoU^tPIHm>`7SJIGz?+w(cp_($j< zpA_j}s?SKV5=0I2S{EMPP~ysyB*`O&!?+6H$>jgC(Wp2mpUQXaPAtq<)`iCvouTY~i zqPL6|jN_b|-C$oQmyVW3bUDG&B4yO4Skdey*k86sido!;b#^Pzp@d77sD_!ra&=ha z`nq6KNm{`xT)N3Rtp59M;ZjWT7=)O3qjc;)xTNp)JlyqPw?|S1LyF=|a3qYxKl zWBUw}-g33J_mZ0O(-b#v#Z8NIIA%&-^|gL$Fag^S=rq-Vgr z`+Kq&(+{?{Gc(qX8dN=*i5?fI;aO_J(lF$C3e}$0&wu1lX9yZ&=9`83sQ<&VZU1K8 zaeRm-972zqT$D1>?sc}csZPza|WE*n#e zmZ_Xz={HXvD5^xf${2t)Q@sqN2@J@CpDncJA{`TZ2+ll~i&caS->oUqi2DcTtI65& z@_bk0;UUXVGN~y|PmjvV!gjV}%V6t-Z&`8^Mi-eNL4w3|{fd``k|{OlBX#--BMVm! zu`c}N$!h0LJ$5(cW zMLGb!Rb%SWEcTkx7UG*Ss6D-k13mL+MUp)8ELP)x6vO`pyK)>@nk4Io zkRJ#gRy6EydBX@t1Mc()sRV>Zwh!@L_wOCGM#$4^A_~l_OPl8~`>bn{uAd_ySt*9t zaoWISc{N0mD_~DA&=_q=yp~*w$M?cxJ13H$(eFf;4d>m#da^o0r56->WQ~GkP z%5_-RoVwtSKl~YR54g!1-aO|^OVTQvhQA_>mJgCJhB3Pe25YhCDKvcZ^@H26ato4C zkv^gl6Q#l3)b@-WC*#f%^ARl7Dz39ZQuF_Ot)3t7ERhDLYyr7aQnnafi*R#SQB;;` z`$cY$s%-Vg#8gCNxY1 zY)3hVG9RlW#A_Z7W3u-z;COurZ>j8S3M0@WrSQ)?+YXe=W916nKkzdEki-cVkzafdhM!Dv92fEk>? zf&Vx(ao7^mr4Veo@B%oJ+pFYRN~Fy2pA@{4DCfqnxht<-KmzR%RPgn6^!fxWTl1Kvu zAyxvr_UKkrAOj%=ZZ7VYQ`h1bc|;OSEvff?5KL3MxX1C3aF;|_l|#0TkrP7u;C_O^ z9x*0;8i7Dj>7Zri->9|?v%v!dn&d0`Fb#_dh8Kfmo9c_kigb(UX%XS~J;Eo`Au$SV zuh1Ub49kP%(XD2oO=R|mpf!rIc4*vBgmrW4+{+m2T0U4ZNL3~9he@V0G*g%1`lGNvd)G7VG5G<;S+fXs~ zL*nFtN}3`A6cV9ogdb}m`SjPmibwOKoacjBQf4r``VXLHb>)4Y8YPPSVXBrsP|9OS zpv^vF=WgS{&mm0VAejH+MZnS$jgEm7t*=64L#@`f0|_OLx@|>mrSe0n_khFlT_(sm zUnXwl-{57&?Ax$vxcZg-JiQweP4SDh;fiDc5k_U(?1$c;YFpCw*XLk@2b9=D9Ey)6 zzs@~K=989|K8}!5QXCUwN@I0I$;>Ws2v8J#AWG~oo~<9|oq3)%MEu}B3OB+i&S+N6 z&K;|qDT)L2N77s+51C{BE33M4qd&t>*+n3n`_8c;5@+Mk*C;iaixp{j_*R=Tu`^X!1lJj|B$ z1t&Eoh}b0G1G2ZK=EU+H*6c4eZ2}5aG{e-XH*0fM!z7IL70@+7CW-eyxnr9$(zL1nBpf4FCm?-xr z14I`M#Ya?(G_qNEC_7BbE!;FnRzu}gyUtFb!k$2EC`&RQV`2|8)J0k)tuGl)qQ!2( z{!Rfs&4xUMMXpf!r%T~&9!j!xtn6rNAGSsHgWy2>8}i4fo>_bIP67r@=a^`Qxr-GZ z?7~$0tG$U}hTPq`RMY6)Q1B;1vtKxHxEC@@Xsw}_aRLtnW7{ZGt=^CA=obYLSxKW< z6dueZ<_x7~ar#14ra&(UmK_ss6dBxbF-xNQ0C>!m)Gk9JaDAZsR0AyGr-PlrMwXof#H`U zhG$(TYGZwD^xl@e%YMn6vSoN(x*aNZbxVOWqT=^=0w;7U!tGCW&NWYn@sRLQZ(nO) z?u+7t!Q@ADnE0orj0BR*-^FVO0i9AHEbDk9$NG=qtu*aEt) z0Y$X?Z@V1KRdSF(JVh!;dI!wuEj3x-Lg~e~G)-(qbO~@j+c)KBhFv`7)lSzXs|uLX z$?HialS<}O+OTX(ahk>U{)bcJEBY`j^$`>aF6&WE*zT8bf@0T8?%e0UL zOAhZdrp|td2vNt~N{}^$G90`Uu9Tw14M#<}U!~7Z9LX(B=qyl5oBRTiBq_1{B@UI~ zQZ z&T*^?UumSHqdhzOk&OK}$HUXz=&Y=hCU>Ff>2l&DIWQx=2=#p9b25A2&}KKWx8OHN z>270X)$k?4WiRux{b7!CQ$FC>vd-q4R-ouk+PNaeBt)3>t>;|}R3d^`4MW#!#4VpT z5+r5pt1kIk-`$?Iie(L`O&BhGv0rfYI%%$fr~>*KM0cUD&MKQ!fo&Wleg1L4SiNQjDdq{>MdTAv;* zXR@>oCuxu|NsIzF8L4`*z-69>{9>pYon%(Z-DD>q4rEVc3{%P$;C?Q`#QhI0mPM(V zlpe)prmEX+&YD&u2Fwe43%=-#npgiaYQsj?AmHP>@W#tT!L>x&E&I5Ni_W#E0nZ@~ zDxrh?Y0$?B?O;wpO6I2a5l%j!Voxa>{+{}HMFZ}YWYkuT+Z&rF4-g?hQM^P{)K6k# zL%X{rb5-&0=t_&4QUF>P%|Fl7eEK@?t!NV{kw7>EG5S$dudl2WjgHFj-OAdEla1qD zO3~KQhREC;frtnJqe@J$q+FpI=6ccK;NMfXZQ({mx`e;i`znB5pAx%$r&jR+2zIs2 zUR4cyjeq+DH2z#Ho5VI>^mFacIw{ON@vGl2ec)fI?Dg#~6D)E>4tMQuTbk$oKEHLc zx2-r$aPQrSv~PA@`kAY4-zq|r7%uvEnCD~E_Hh>Vu3Pk2Y3x2Xm+M-v;bAX?cB$Z!6ub&#Uy**fEiy7hC;BZv=aycq$1JdU`asV=Ub)c z$#=n-Q}SuXf*Yd2C6q=#w!s(xX1oOz!H2c4!z@=_PT> zH7FX^FK+!N+uO_LckU()FBr9+sx%k?&ZhZk3~LZi{p%it4*J? z-LLuVqn*Ly=lqF!((*soa|VTX?N`*5cgF1Zt02Kdx78E0#L0X>fya5ucE~E zoK|^xxs^gCd#!k^*Q;hIO-esR$$Tx6(NoVy$0KFeD)W4&FKhG4XnI}XnT956UbVLx z*WBOK!`60xZA}5frrD}I%BOn!7@>)Ad`~pODEkvDeu|dv_Euv5xu9(tLod7SR&>{1 z|JL#>MQF`G!|oHy$QDGmA~TIP@csQXn=xL;J5jR`gc_q0$`JqEzhu>|M>w0G)vMW& zqr&J;LP>pR529ObWy8xOtNh(m`Bk9~YgaZ+)>vPrk#?ISKLrKg3%%pRhE^PNxAb@w z%&O5&2RwvpUt5(LQ?qu2GqXPL*d9viov7AYI_K_2FigG zCr^lC*ic@pew@tc2$$pW=0O_Qpa!&R><4I~R%doSdvh^;@lTmbT~@y@g2s$Py$9qv zzPZsxP=D*@r+uaWm_d_o=g;2wo=y?C&pHk~i}k*ODRitG2TT)$7(+BY|MYeMfmyF^ z!FM3m_lsd+BMS9Y^7yi5+oozyOmrvQszR&9b|wj@#xdU(84;QLDJGnQnhK|0pEJEE zH#-LT62SX1yZ6MAg(BIhGnCFvD|YUqyD<{dZ139vYoCvoQ_F2_ZCyn4;kA2F2|lVq za7V8!9VtfKuw}&SEHMYnWi&9-_r8By6H&@`t<2y&vgE^Mu5*`sXk~dN8 zsNk)9TQcR=efOCO0u)m~fG!?2kaROA|A1)zFn^3Y{cTp}j;wKN_BAh6FHYpL_~4-2 zfUiQVP<#ZYt9FUo#gBdt92_v183O#KTT?Bf7bB#oh~b4v{!+q4&)W>AG`A*`o$^gE zh>@h<4PuYKWO4=aYHJtkMWh-7+{Dj0J|{9iC*t_`3s=^lUd8V$A#x!ha&~q5fA#ik zp8VZXaJJYDGKc2#gn@RQpI^^zoqbD0(7~L0D3#|XjdZf_asKt)4p>vM#38B_xetN~ z956$0lGEy(Ij;_EC2g05va+r+qjxS$G$eE{Wl)|yYtPMX+qAT_WV%-&`Lye6!@DA# z{fMOcsnw${asQGq*Nn`lI8!3Kw!uU=Z1C;d8WwoefcfJQH4P{(jd&Vn@OQx8oDsy! zMm(Z_|AE-14C3{=N?W5C)&-=TDIT9;ODM>se!R#+nrjiNp-<%9U@)$Q6b^rXx}}mI z59lwMM%|ou-hGcu^9=fLcxM)RPFpx@TO!7w%o2c84U@hP@=?kaT!1tnob<{0^`nE| zEA^=89dWH4VM>vc2bMMBujn^h!07)hp6-hUAgXe4dso>x`G_#;)et%i1P%?ePH9DV zG*hwKg^inxHc(-D3rd;%jEG9vHUskHO-!DKaZ^!XVPRjivjZxg6366iSwqd(?9Y$( zcD#Tpaur<#ir#@P_LGOXo_26rtOxgkBseR$(>{6*T5B4ze(_oYUV%i$9tr!uM>&i@ z0#u4#2L*HM4)fU5=fTQA7k>EU^y{Ha)ldqk+uq9rS?+T+yYiPc_YXb(E`>e;&Z!2k z{kg+v`yB(RTwCN9Myw85*jcpw*Yo8_znja}h3f(Pz2*p&Wl8J9Nq?NNIT7ET$&!Vf zxISsUy776Bd=q96R3e2ZPaew11dhy?7;(rNjaWluUsY5vgm!#k+NVrp9=yROqkh5( zy|PiVMu_pJG|c3x!tmulrIw{zJL-BCpEQ&bCI#sCKu&@RH?s&O_Ls=!M#6D}!0%d} zHpU}eQHrmr)i(#qD`!67^`Wch_I92Qy)k1vGb#7xE+Qeo(KR1~zk0e)4lTBjAw%UU51NNXVw8lTdHBEInkQO8t}8A6(<3H z_V~UoIA=}=F!}(A9PnJc3V2cFkglhCEWL^f*Y-6AbM@pm7;^-xoB8D}3&!9~z)Ff)DX0eQe z+<_(EB`jFfLBTa-A3^G*BXEKWzIh0DyeE`&c&cHD;{3YARJUT*NVTo1K$+2yapNfq zhTMAI@amT-Hp=KC+IYkmU={2sX5t4bk1YnR#TCZ3Rsok`q*~rVDvyftD)?WdaDHuF zoqKq|X@vpeq{LQMl{y`=3G_xCSQmoEV=%8C+qiddyh}AQ= z(4tEd@tYUo-y{clhx0ci1jQlGiW{n@r(|nO1h%Vj(9{w~#fH&2aNxkcb#kF)4Q_%_ zM^wwH!LkGWvC!9d0vktiF!w*JI__su+7k|bt#ulCe72t@oErxR(ev?Ie_>0GG`}0|3cHoIiz~D?kVC-g>G(y@%G_Jny^sxm0yfutzKO|_m5MqbTq!Vse+~5CGR-+qxh#JIosx|F1REQ@OtVI-X;O+7 z@o#id4Fj^ZYS{7RBMx??(2f5WItXUHepKI@ss?i+Gngw0B56`0S&4WO{oCpXa%q$c z6DrsZtd!x%2EjgHPWZlPHbc-s~I13jeVN$vEVD%4c3}{Zvn{TvwP^+2Tu+*Vkf; zhUr?{3l}EvN+4r%bD2#>7e9(oD8s8qOUAX1zP(tpNbGwBxa8d!E^A1bdVc{5_gq=U zm}Hz-YJnnyS#oLtv_!QibC7AI;yJ!tg{@gcz#QTeZ9m4F2utoRyNw@}5EJ)9lZ2>a z&#!_Ddps{h4d0jC0N@ZUsj8cvw))^Xp|c6lMaGoZ&H&0tlzUX|4kl8k>lE5ETwu)Q zyQ7L(Ays^$f@JUwM{)Hx6;;2EUcmDxaLAi}sQVAWX z%;DkdSc#?C-lB_6ep;M7kaOqcZvCH%N5z`*;|gYC*tjwTx*rZ4w=Y`cfwF zQ=I&o07c9|k)0iHZEbo+M)bfycel*-AED<&l-~`~kIK`BQSKpi!dBql(+f-B?AnUO zM?307LH8{h;ot?Dsrbkovy^e-QQxW=l=|n%gB~%I>6k6LE9~6O!-?0;(Qm3|H*Gre z^_{$p?#CdL@Xcu_n@HZ6gT$ZiUL zhYSv7dd4eioEkPu>-xDXguLr>=!(w1sad@GY-L*$#to+3{dCajK#uFoT+0W<>j;^<J%g4aZQv(M-ZBSoHjHvWr#!vuIrU83Nx>%B^H2Q5uZ4>280r$BHATd`v}=m#D0o6cc3f0Ewh@^_#?o>jG@)T4o?8OPgx=3 zbypGsl=KUHMbvs7R*no!8d=il`l)hQS`q_+9kS%avx_V;gf+!V=6&FNO*{r9vQYA= z!&<>)5t#KVN0^PEkLjS}rIHmNDt1O*9|7?1!2gJ-_0HVX3m9>%gm_uZUxbsk#)~4b zjO2q9$J?|4`3f!M=V%znyFdOQ@8BW&F=Q0SXD9D2|92J(YS1h0rF-*}?|; z&5#>4<3Vq?V1T6tb4qXGiipSxAhIsKAF-#bIHcCvAPv22cWZ5Ha6+wWq9Tcu1+%Eh z9|yFdjyW5Zw{i3vsebvA`V@nrbVKXwOD{A#_Z_g%;*_8og7L9m3ACIH-YFvbG_T=| z@qtIu$=Tk24%AhytyW~VO=9P&H)nD}*M_q>fPrmxqQz~qFhv=-w)St<`Oetwu-Ea& zmXVLpAITO~QBh(t5%s;Xr|^6$iJafG{G?xmhVsUz+4snNMvZ&4iSELi6PE^xc?K2S z(@ZTWefhn`8#5R#oQ^7x8@~GF-~j?GHqs0D~?S zU)e?rkuOhgOnjm}vp+Z;MCY7~`v|GNbf6JR%AX39ib|M1`$GoSv1BlN;II6Qdi?z&R$J5&2zuT&28USm*>%hC>AZc z_0V9AZAEzsbH+069d=GW{U}TYy!uJb`a-ws_HL}s zmV=+I{()|v&0OMs^R*#A--QtDNc~s!1^*?|=CE-J%a8HgT6=q)!%p!CXmo6-Lo=PZ01Y}bT~5xYJ2O)O zs(ZK0i{zo8WO)Gl_nf4c3Y=|NSDm_m+_2C1c?!{>%AV4(<`mgQx}TuK3Z@^1MEpRy zD4EP_cQ$%?)&~$xK~Uj#CO0qlW3vT$()wQUW{`CjfvSp4-v9Q}h9`q9DvIM!QNm64 zlRkT3r8h^VGruBHWT|zTq-8o470%}q1`1+O-6p4Aw|dp(R}3_U8KUhJxx$f)9n|w* zn7|+;ldI}|Jj|E#ZaphYD1*x9xGiFJ{CPEKNU1#pw^tiEB0kd>h0o{QZm;>C2anf| z{tF6bga|$UlIw(KJPul%shh*kA*s}}J97mj#8~DT&cZ#TSio0T$wD|KO!X@#U6525 zYGD7NqbtUT+1I@VvXiT8W1}GOYgAS$YpdrYrmM>Po)Rely=y21BN!tm)?b-MRrQHI zHm@01dxaKZCcX}F9%di0^_iq#uO5(u z03!?rfl*p9WMnzX347ap?A}-PkI29#Hj3=O+h+udCxzl|Cf|lXG9?>)Y?SXZLxop> z^C_KVj8rN)0xMw6T~Eu8`bo7}Kdd_m091GC*4G_fTg$89)nwK+61nk|gpNe0w^OQf zHwG<8N;umbbD2LgO$B(!HOmS;Mc%0AS5{4MkrDLc$Q4Ga(tpX$E%`N7UAfZpGM1WJ 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 + + + + +serial: include/serial/impl/unix.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
include/serial/impl/unix.h File Reference
+
+
+
#include "serial/serial.h"
+#include <pthread.h>
+
+Include dependency graph for unix.h:
+
+
+ + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + +
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

class  serial::serial::Serial::SerialImpl

+Namespaces

namespace  serial
+

Detailed Description

+
Author:
William Woodall wjwwo.nosp@m.od@g.nosp@m.mail..nosp@m.com
+
+John Harrison ash@g.nosp@m.reat.nosp@m.ertha.nosp@m.ninf.nosp@m.inity.nosp@m..com
+
Version:
0.1
+

+LICENSE

+

The MIT License

+

Copyright (c) 2011 William Woodall, John Harrison

+

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.

+

+DESCRIPTION

+

This provides a unix based pimpl for the Serial class. This implementation is based off termios.h and uses select for multiplexing the IO ports.

+
+ + + + + + diff --git a/docs/v1.0/unix_8h__dep__incl.map b/docs/v1.0/unix_8h__dep__incl.map new file mode 100644 index 0000000..1d057f0 --- /dev/null +++ b/docs/v1.0/unix_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/v1.0/unix_8h__dep__incl.md5 b/docs/v1.0/unix_8h__dep__incl.md5 new file mode 100644 index 0000000..922dae6 --- /dev/null +++ b/docs/v1.0/unix_8h__dep__incl.md5 @@ -0,0 +1 @@ +ac7115380356aaf2a3c649dcdd6c726d \ No newline at end of file diff --git a/docs/v1.0/unix_8h__dep__incl.png b/docs/v1.0/unix_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..6653c842810742901307869e01b04b99b636864e GIT binary patch literal 6441 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 ba)a|xa30lMB1a0|eL#;MXebvcnuq=elR|z& literal 0 HcmV?d00001 diff --git a/docs/v1.0/unix_8h__incl.map b/docs/v1.0/unix_8h__incl.map new file mode 100644 index 0000000..4283516 --- /dev/null +++ b/docs/v1.0/unix_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/v1.0/unix_8h__incl.md5 b/docs/v1.0/unix_8h__incl.md5 new file mode 100644 index 0000000..e609ed0 --- /dev/null +++ b/docs/v1.0/unix_8h__incl.md5 @@ -0,0 +1 @@ +8efcdc17867179f10b863ebc3c51f3b2 \ No newline at end of file diff --git a/docs/v1.0/unix_8h__incl.png b/docs/v1.0/unix_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..52d1629714f40daa088746b0a3ccb8ef8992ccfc GIT binary patch literal 15930 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 literal 0 HcmV?d00001 diff --git a/docs/v1.0/unix_8h_source.html b/docs/v1.0/unix_8h_source.html new file mode 100644 index 0000000..84acf35 --- /dev/null +++ b/docs/v1.0/unix_8h_source.html @@ -0,0 +1,270 @@ + + + + + +serial: include/serial/impl/unix.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
include/serial/impl/unix.h
+
+
+Go to the documentation of this file.
00001 
+00038 #ifndef SERIAL_IMPL_UNIX_H
+00039 #define SERIAL_IMPL_UNIX_H
+00040 
+00041 #include "serial/serial.h"
+00042 
+00043 #include <pthread.h>
+00044 
+00045 namespace serial {
+00046 
+00047 using std::string;
+00048 using std::invalid_argument;
+00049 
+00050 using serial::SerialExecption;
+00051 using serial::IOException;
+00052 
+00053 class serial::Serial::SerialImpl {
+00054 public:
+00055   SerialImpl (const string &port,
+00056               unsigned long baudrate,
+00057               bytesize_t bytesize,
+00058               parity_t parity,
+00059               stopbits_t stopbits,
+00060               flowcontrol_t flowcontrol);
+00061 
+00062   virtual ~SerialImpl ();
+00063 
+00064   void
+00065   open ();
+00066 
+00067   void
+00068   close ();
+00069 
+00070   bool
+00071   isOpen () const;
+00072 
+00073   size_t
+00074   available ();
+00075 
+00076   size_t
+00077   read (unsigned char *buf, size_t size = 1);
+00078 
+00079   size_t
+00080   write (const string &data);
+00081 
+00082   void
+00083   flush ();
+00084 
+00085   void
+00086   flushInput ();
+00087 
+00088   void
+00089   flushOutput ();
+00090 
+00091   void
+00092   sendBreak (int duration);
+00093 
+00094   void
+00095   setBreak (bool level);
+00096 
+00097   void
+00098   setRTS (bool level);
+00099 
+00100   void
+00101   setDTR (bool level);
+00102 
+00103   bool
+00104   waitForChange ();
+00105 
+00106   bool
+00107   getCTS ();
+00108 
+00109   bool
+00110   getDSR ();
+00111 
+00112   bool
+00113   getRI ();
+00114 
+00115   bool
+00116   getCD ();
+00117 
+00118   void
+00119   setPort (const string &port);
+00120 
+00121   string
+00122   getPort () const;
+00123 
+00124   void
+00125   setTimeout (timeout_t &timeout);
+00126 
+00127   timeout_t
+00128   getTimeout () const;
+00129 
+00130   void
+00131   setBaudrate (unsigned long baudrate);
+00132 
+00133   unsigned long
+00134   getBaudrate () const;
+00135 
+00136   void
+00137   setBytesize (bytesize_t bytesize);
+00138 
+00139   bytesize_t
+00140   getBytesize () const;
+00141 
+00142   void
+00143   setParity (parity_t parity);
+00144 
+00145   parity_t
+00146   getParity () const;
+00147 
+00148   void
+00149   setStopbits (stopbits_t stopbits);
+00150 
+00151   stopbits_t
+00152   getStopbits () const;
+00153 
+00154   void
+00155   setFlowcontrol (flowcontrol_t flowcontrol);
+00156 
+00157   flowcontrol_t
+00158   getFlowcontrol () const;
+00159 
+00160   void
+00161   readLock ();
+00162 
+00163   void
+00164   readUnlock ();
+00165 
+00166   void
+00167   writeLock ();
+00168 
+00169   void
+00170   writeUnlock ();
+00171 
+00172 protected:
+00173   void reconfigurePort ();
+00174 
+00175 private:
+00176   string port_;               // Path to the file descriptor
+00177   int fd_;                    // The current file descriptor
+00178 
+00179   bool is_open_;
+00180   bool xonxoff_;
+00181   bool rtscts_;
+00182 
+00183   timeout_t timeout_;         // Timeout for read operations
+00184   unsigned long baudrate_;    // Baudrate
+00185 
+00186   parity_t parity_;           // Parity
+00187   bytesize_t bytesize_;       // Size of the bytes
+00188   stopbits_t stopbits_;       // Stop Bits
+00189   flowcontrol_t flowcontrol_; // Flow Control
+00190 
+00191   // Mutex used to lock the read functions
+00192   pthread_mutex_t read_mutex;
+00193   // Mutex used to lock the write functions
+00194   pthread_mutex_t write_mutex;
+00195 };
+00196 
+00197 }
+00198 
+00199 #endif // SERIAL_IMPL_UNIX_H
+
+ + + + + + diff --git a/docs/v1.0/windows_8cc.html b/docs/v1.0/windows_8cc.html new file mode 100644 index 0000000..b64d9ed --- /dev/null +++ b/docs/v1.0/windows_8cc.html @@ -0,0 +1,115 @@ + + + + + +serial: src/impl/windows.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
src/impl/windows.cc File Reference
+
+
+
+Include dependency graph for windows.cc:
+
+
+ + +
+
+ + + + + + diff --git a/docs/v1.0/windows_8cc__incl.map b/docs/v1.0/windows_8cc__incl.map new file mode 100644 index 0000000..a71b1c0 --- /dev/null +++ b/docs/v1.0/windows_8cc__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/v1.0/windows_8cc__incl.md5 b/docs/v1.0/windows_8cc__incl.md5 new file mode 100644 index 0000000..edcf8e6 --- /dev/null +++ b/docs/v1.0/windows_8cc__incl.md5 @@ -0,0 +1 @@ +04910753f5601be3f1454fef3fd0023b \ No newline at end of file diff --git a/docs/v1.0/windows_8cc__incl.png b/docs/v1.0/windows_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..84470d49603d14ad597cd0e2b6e82aca862fd211 GIT binary patch literal 16258 zcmd6Oby$_*w&ylMKtLLlE@`9`q@)`JluqfCltz^95(K2ArMp2uN~F6*x}_Utaqc-Y z_s-li|IPEv)`$J<`rh|j?~31A>$d_FbGs) zR}p-DANX}-LN7NXl&83&LET(Ke7Hs<$H81Q1I>mq@Ph^>tv_?0SjiZMV6P!dcOTVSNO-fh-a{rJ#Ofgl)Zl)$Z@VV^w*^>!o4h;gnleXlPhj z6$p}%y_S%c?wa+yVv@P%6t^odkV=%y=X$uiD6L<7<8Kn&9gdHls-iHMhY4IB@AV1@3klK4eW`-odMh|O9*UE?@1Jcq$|v*l zQBfJR_}dHoolboY368i?r7XFNwcJ7)c+a?(cPR>0RkaT`Z%I}r_w60hd0f#l^7cXAO$oz_7()cq! z|B#62*v-S#lrFXl4s#=p-PqRFRxX*Ji72>81_J}*yorfLyABiic3fN>a_WZzv# z_J{m#&x9T`G6svKIlH*5t*k^xM*UEOi26AvS)uBkzpC1%w{G~h8aGdJT~T3DEwnJuVLWf{JOQ@}({ufRoU;TSyV zYlx30dit~yj+Kv@+3MHlCykebvi> z;=?gA;z?J%kBS=nDjGCWsAH{v{U`z3NAZb_i8%xxgPq;;{rm6!G;!nJBuf*MzdJi| z{O&bHr1`3Gut%`hk4P9|$Z%x4PP{n+B2-V}ez7zh{{ihQDk|z59DMlH>XA^#`1nZ| zOQU9`RbqL$gS-1hmCgLkn>XP|%MCGwKuq_Lk#*VPBAMnlHW0}$=?j|PGk&ux3*R?FTYSYtyfJYh{QjQSvFP9OYGy`>EZA9*q`>S#Lv9}1t!P>C& zB^&%GQHK2M(A(ZPu{25TOExYpBeu9ee4#wU=*iaz6U-_68xyS%nuKX>5bup%;N6(W z0A-o1upG3 zpWJIpS1w@Q##&^0v) z+|LflA|xWM%ggW4$R8?rN+9ZJ$%5Wn>7UxOposDYg-cM;MDuehiPg98@}v3(0p?CdlDwDkT6 za-0ka+mEJ^n9Qbd#L6M8vPH=#lb40ZWf`B<_Vvc^3xwKjds6$FoxgK(2D<{ToB<*z z_lfhy|M_hzYThaAD{i6GaPg2e`7}Z^9tuPaH(X!i9=cY!w47+?WNDEd4m1&g+ zZ)8h}i2O)+Y7GF4>4w_E1t)l<)xj)t9u$P&=-nexumDWh6g=64|JN7qBVVbguxQmp zx6DbnSEi=wtqx>>dp`CA05_VaMtMcK8L4h$`~k;qZ78Rz>Y09Vr^>5WxP*kA^E=8f zpCQ(6sNH@{=-1NO(E;IJan`VOyw-6OE2$wWDhm8MK*WFkJ}N26V|#`Vem^=kMnFv5 zy}bA8pTF;bI0DF)N~f@}FqZdDWySSlVtgFH*2^5_xphuX&XT*8ZLO`cacrWyl)NPJ z$CDpg<^YKXxQBNwa&d9}q*JgIt`k6Zv4rfC%cQ`;h1ycGj+~ybajgy z)?eTK_#$gi1)QN#H<6v49fZNwAbd)1@Fuem!agymOiWH{sHy@`QQGikW@LZ-cm)8X zI5MD#gwLPdj;7xo-vn$`=YCdU5|Wvj>3XzPUQ+UPaJ8YK!O0fTodGKW2a)CR-?`S- z)?;H9%_?0>%gxPA*|h!`Mzs%DzTr9%c}6(pHuGYTBuGn33kV3{1!V-wBE2Wl`(5vi z34o&P%bnfb-Cy0^Ahl}EEx=0R!317<1VOF(tOV;L`Q~P3^o)%5_V&S{q0Dr2FOWkX zaqsRfc7cL8J3Awj;|2NXefIMcmyrn;Bzw%n#QEe2=)rgVg52B|){WDH_4)R&_Vs3g z4_8l&d%i&UPZJNL@D>shf-D9k6Nm|KHTO27;xjM2eFmo;8X5}WI$V8;rSbgF`g)Mw z7$8=(`}gbX>z|+j&Lj-Ez8CD=ClnMPx{UXVX^^7A)8+(GS07GNp=_51g4Bn*`_3NG#|3$jy_}pJ06jjtrQpQG#M;_3P}2uOCnqNs zT$A11A)N+nalhWQhu&M}erIQg&EO?NLrX)$^X!?EtLyeub(B!5KU4VU&jfgQG-~A` zA@_xl1xAn7M=?AjL@4G|!U1|RGBNGogJS09=4Qljzx^#}ZoYnYw4IfiDVN0S4C&SC z>MGnNfYM0L!bBOpq$NKIO7FT*Wud& zp5b>t?Vx9W_U!oQCx+f+0a70O6;M7UMa6-E0UDXlWLaW$c-Yuc;8o^o!$<|hkk!=H z121FXAlHU-Rcdi1EyYAf@ZT5Qbkrf!5)%_MF)@L}_tU3WZ{M=cP%@B_r4$sPH#+Jl zE8{$R^avZ9GS?eC7&s4OV`FaxH#avA4}O{fCFzJHWyO29Kdh{ncq;(Xt+rdfdFz(p zC&EXM>O8MJKLW5ZNcpLXwh$)dPz9*DhfPC3M8rmb#==tQ@9!V-@Tp>s zvbcErHQp2xJKUO{?Ck99?zU_V#4V9RzIRWLEe>24_zhk#TEK#7U%yI8OYgihoW?PY zjfm(6X@EQ9bNc%m{40w_h0Jk`Y8)t;rIi&4yAhg@34m-s^lOWZlEQxI(|}Ne3E4L` zHu$g3_tZ*_$i2Y^DlNv@ASm+uVM1t`&ctqg2-U+kjhPtjg3uCR%-N5R$7~K5QT^dBY*nz=?MW^ z|5u(hz_{47a(RV?EX>RhXSkj|rPWlf1-Aw9>Mj}qnTvQ}eCfBH1Gl}rybNgI6&>A^%t3BtvxLlBFYlrFl(?TcQlmHANMXMQ zT^%Ei zoe6F@D9#(I_)1FO#Ds4CcE3iR*w{2x(vCl{kc)DZ{7k4|S?q98!KZpA*~{D8-_rJy zwI;p`w$FOL&-~XfNayB+o$5SU%vRSFX=L7JDIRbTU?HYSARBiNCSKRKIJfRGF`t)@ zyBS-GP++=-!hORT-rjC0X?wlX57^niB`22}3Exbagfd*sCpslwCtiLb36)qj=Muj$ zODx3ufu<*SYd+1joT;l4Pf;I9L9xs><)?o@kUe@AwG;IG2bmp&& zP9I%PPEK`ob$sX_f#Y*LZ-r$3=vzqWCOk3M4*U3T3xLE&M$RiANXF1m!m|$%aCuVBBx>2P-(}es-t(tN#ATvPc7W!X?tdie$xa zypL>h|8KIpe_6jI_y3At zujG_em6RyWos={+r=sbU{D+|cf?Fto7S^7dpa0505>dkdK6df{5hT@jX#Mfyv1-I; zaN6pCSk=`}Pfm(e85g;T5L$Qd3eu8!U)Sx7z3S?C?d$swl;~7f2+P8!P4B^1Bh9e$l&T_ zWn|dc*#7#gudT77)p}f9gS3022Y*^oxpDOfXw+lhW?%}H8uu1tXFHwl=KxUYjG}!$ zdtIu95v3j6`7Q4>@_0fr3@ zM*Yj zuI#;FP0n=O7A)6>%rgxt?A zmz}r&Cpt+il=cvf>@YaSx{El+yFnil5%GYC2+r5s&=B|0qu`@R6lCOVK;hfe0DSHs zA+`Vb(LtXIRiLSH701VA! zKeIOV^@TU-LQxC~)fQ7#5mFh~^)Oy1RyMX0D2M`d1X(b=&I^Af1UNUU6YxYZ{FP57;J|Yz5X9iAaEl?F4o|xb< z=_8xtyXUQ-q@?8NSP>EuQeW?0iwoEZF7WLh`)9jaMqC$(dCzBO?_mPW^_RACvPTIt_dJ=or*SV9DUf;NJ7!$Ke z^?u1{rZq@(eEeW|IKQo}Mux`nx1b$Ol#$7C@0d1<4;B&8x3pWr?k_4KXl08S8VXx% zq?H=XH?&3_=%s&(EX-#@fG$dtwJN%s7+x>{tVwGvK_9;mGRvj6vTrSqj*BQC=S z9E`#YpXXLnBe2~tk_(|7`MGL?$%?Mt&HfgV9R#A!2rK|gS)~*ki*08CVlY0=0v-rs=&`Z8yR(Y* zw{NN%mD-R(dnG2GRL;tM;aC;um5;WbsiUl}#vLsXU0thSkB$C3S-D3+;Sm&iX)uuf zg7}ooS8ueSeyZW(XQ?sud^?6}1Ml0u6vu+<0D8teN$DF5~POBHlJQt5U$5{QRhI)|2HCS6*U3db)Z8@6zc(Y)($DDMw4F2VO6Ac1&fzzeTncK8G9jUlo?h+Y z#)-*K91MMG!`qn z)`sy339S$I?d$3uK_QY9XJMq$I!vzZ-g|n0A_L{+J4#A+`fo_JY7a~DL!KH1ccn{y zYzrgRwXzyYwe@#sio{h^=qq$|EPKAY}55H7vo$kU*S(%-O8e9OkGKr_ zfBxXzC!P?eyF=kk!rL)hv1#jaYRP`}digc9GE?E6b^EBi9UIc@$Lh zw$Ka1*1+#~P}>|!9={~@Akfm(blp^sK9}nxKKT9OvcghjV9>6+`l|o&XHn#EkX7@ zQ*L^4=ts4aP2Ad+x`2yvk+Hm#?QRgc@S}!HmpXdedmqR{1hGLd_;7FXQZBZOKT9Jc zdBnwYbCmd^BYDFWYjrzI%!cElqc;+ssyuv{YqkJI>+QC%St5{0^;0b>@ch&DXA|Y- zEJ$cY7pLnxiQ6`0;(B_ru+G8)K5P1eY#f7#t&M~ApX|mYG}MN;xWmt$srve1ynMYY zNWb!ddiW#KiBjeU)D}up$ew24Gn*~<hFs2sdRRTXOt z7>MBv|s@)%NiG)A^j>zI(&mX#LLS{P7bb)d0Q?0 z%;~J+bi0vst}{&>BPu)`LrCbZvkOmTr_}SOIR$X}=Z=~op$!lKDn~{#zvYUqv<40Q z{!J`!!Qs&J<$+l?dTgRrg&l2@v;_raySJY!y^U+<4bYqtLA=#nP;RjLKbHZ)m9#+TwHpiek7g?%U`|yx(C14G$qP^u3wSJpukpVhP0skd_WWqJu)WoAf7^O* zSmh0LSHA9d)1so8-cE!)=YGqxkdgY?oVCx&HG*;fLU)2g{uLEQ`X5k4JpwMv34Z3- zKc=6A(InXVT(KSd&94D6y)SitQ)n$!g}p(*NSzUR2`PEG+*H|aB?n# zdFl%jK@&dwR*3|@(yLY}88=2Q(rCy>lai#2_FfCa*5#5tia=YsVpXcD9&=>XV1a5F zO_YJUx^p<&8j~JN{K{3qJv+?!(QXWNnm2Po_ZO}$>4iARgUHNm4Em$TZVGqr)?m{- z=7`fZ&dvfM4-ap=OyhDto-4XKYs5Sldc2fi-J@Ogmx|M&JR_r6?4}?xV4{ub1T4~I z=%P2govVstujf2?j}2C{@R9NB@ZXaZko0tQR903NyUo|HQTH5uCu(#%cMnEsfnMW! zaZ3NGAoCG~#?MbQeDANf;d<%QU`K~E)Z6sf%)JQa$m%A})PuxLKO6u?nx921Nb7$R@+`BE` zLH9SNbD64dBY_TJ8a!a4_<|v2&(;*$gCzPnzE)RqcZh@vV$-^@!^2fH%&+olBIm6ia6ArTrbotYUnv#dVJpS?5NXG%|bRIb}ZT`3DAdsn#7YtPVy< z#aT!NNJ*`IO;ZXZZG2;BxVspew)~4QwZ;SQwgkHA{=w$;zV4 zD%wU1i*sZC>;UZPVcurxk6K0PfA;RArq%`r@5?7&O69s-x*d)KOX6pA^kdoSwb-<> zGOMf0A#B<$K+6#kZ_1diPw&_RPLD>B7W)fpQ+JOXcT^+2+&o;1$9CZmLxAc(pzat|W^X?cUyjVor6SdQ z*7V{@xVZXpG)ZxB7_+vUy2e?r!3Qs|0zOyuYypBg)RDtYmH2p$kvr1g0t4ad-FwSt z`Kk}nS5?!Wx$GZKl-odvK)OFLgD&yvRUTAFq1Mjy=FJ65lY>e~TmrZRFK5eXXL zL24lbrYHY`vG%7mYjN>FPL8j+nIHKc;Z$RzZPHJ<_gwZ(k%jnI4%*es& z8&1Q(fu)aYG7{A99FZ0hUllI+1_dwJeZLo>louV5iTnP|mpgob9iK|~hxxE(-&aSv~u%Yn0vP5!|0 zM+%wT8ePd&BRjFMnT_T4sRno7%r~a(4eoS+02^E!eC~QGI7-OgKkJCt2g&5*N}p`7 zCo@M#zXiFQdod2sIXiD-VP7R;n1M=~4)Ss)@rEBlTr`}nIsWmZ{i$`q>&f2)%}%^8 zBs%1XiEV|NN7p=gDfG(AW&JR+?%8$LIj7b3shnlfpwGN{#(e^`tXpWNLvrDw{*ds4 z_A0EpDR`TLZciKyt>A~4{i?>oz zdd6Z~tD(gVuhwMESYVS~r`N5gbT~h!s`>YpPE0%ByWMFD7qh&pmVQfw78|DrDTBK6 zmZ=Rsqo&5gMxDlCP3FdT)fg{w$i$>%`=6Ag9Fu% z=YP!o?2)#b zT4Gw-{+yHg%pGYHFlE_x^-Thcw#F z(()WbV9N8z%ENY7syN`PtPwRPyO;m@=P&0s1@``Q7-0F5!(}%ojm@rxExizD7f0)p z6Xa4f`O^deRStN|DjPkT2 zQ8@L3kBqxvkV`=Voy>Q}`p@)Gm3Z$(xis1LhSRmN)*$)ovfW`=K)?^3ZF;RDk?NXD z9ZSooh4q>m92B1~(Paj|1)m>?XON+_@Sm;-nweGPwNO9V0VFPda5sZPR`!ch*4Fm8 zU4C`kbGyu=Kdtkk@>PIS;{>jd14QDVS`Qt~%8%%NA-*F_G(7L#OA)#ELN;NE+v6O; zM7Z-1*MWv+i6r@|my5@N-nIi133{K@fbF{f&Iw4mORK14sj%#gjfn#GF$nxl4`iYm}LMDKF0vd>=wozPdSS z=7pe)l1%nkI~$Z&;vhElyXVL8r^Rd4e*OXF7s!Gz30A&ITtVw>$PWXR%j(PBMx%5W z`BDib>}BwM`gx1qZB)_M-4;m=x3n-ZVEdMBatsav^4RWfPJw%VA9|A9 zt1QOp`n%MgvBhyXtcB-m7@J%zlJV;l*)0$2c-Bi%kQd{UM}&vTUkzq84k%kl4Nd*J zSTA%1yaMhWcK(KqF!yyLUJ_M@!N62?8kfb2RHMWXOoD-x#qw0hxQB*xkG94yFK-PK zTE_OtmPi;Hwglp4(aPD!3UKpUAfqB^Ot0?JGW%fk4H3Yxz2&~u-(ez-&X>EmxE z4>>!^vYK+zuF3}|8xzxZcH}wWVEvI!YqW>r=8cLs?VpIB7f^^aH!^3W=V3V-U?s|g zx05?oJhK{5(Fu9!s`+Dh^eM)pW6x$jS#du$ zUBrAx1WTEla7WYJ--ffTZNPcRx* za;g=Kf)`#n%94`PkV(?fu?!CCK>MJ&W&#LN+V%AKeDaEq4bWO*m{3(~I0SR=hL}p> z_fUj{Frnf-l9%m%u(b%50oiPU>H{inQsuWrwfUC#1pd*nN6gQh#O>I{*HVMnIXR)z zdd9rZkq(&`w;ei}H@P<`-Tta@rA6GxeP6-^Yb48&lNGmP<%Gl%o;tf+Us546?b(> zjlL?C0Q66re6FUg&Ek?nOfHf}82_072Y-}@N8QKA9g~RXbEiQEy~w1pGRN&Z7wSqa zF%u8`MJS+^1x+a5RP)iVKiWb~O7k^XHpinr=pmCgy_@y1&tln#i}L|5_pQ)+$<`S- zR@~eVYi02V!ow5e;zW0QF`(g_m7M8u7#BA2Rk2h$HVN33dTJplxzhc^8RxswKZbII zhaP=?y&5@-1n{HIel@3pt6^chqM?DCOc%)Bc3N8H@BVrz-@o5In7Nr-U^J)WW^do& z;=-fJoZLPiB|-J@A-l1$IZf2uf3iz8-yJW9qL*`i6!A8^5LrlSfHfTDr}t;kI07B+s<8 zq(;{$QmfWSOC9Vx^gqh@K-tQO{@#Ov%1aA&XyKm@jUDEIBwFBFWiB~Od@0V%uJG;N;Bte>Wa3n zqNIJR3sJPCii#w*)#y@mQHaHgUwx@%slw1qijSX|see=NI;#BA>#B>H!94F95QhIy zc(bCNEhVt?@W?VV4g5tWQH;U!vG?rAy$;tm(9SY}1s)NAByZl{bm{ zMBjD7vqZwirWhKE4Gmn5`nf=}>0;2TKb@Ly7eyvli#4B|0ERWjXkHxEdb1D=3dqWa zeEKx9xidFc@TQ&TV9n6T+L~rUuMDUUsi|UgY9dOL@7hBpV`9WyT%=a+K=WVq<;&D) zy9`^6`6zkb_ONYZL&LnZw78yzZ{~#T?8NNsWmc$H;kuU?lh(5sf0ce|gdudUeE zqdt6uo>f()`WlaprO@-JAVNea62A;oMfqD&adATq9h4oVGS&!)cJJRmaImkr>UQkp zlXYvEoSZybNez+b;IXB$SsiE@9=71FOtjga0Wv_~;!*XZXA0}S=$$C5z{HWt6Q!I~ z2?)vW&QBe8mrBqOGp`5g1aLV@W(-+PTn~RO?c4?{fd58D%GlVq-n_X5e~Swaowz^V zt$=#H8itob$ShfSN*=-RIMcFwq0sz$BX9r6Cu$IsP_$D28&%OJwAt1dV=kBN~{ zL}y{|30LhaTRkYTt_7kZ5HsdlG(iM}tM>`MJCS-A-a-iC4_s{D0n)2NBD!%zhIDL2 zS();`NQ7mzb$_Hk6lCmaR6vW1jV-c$p6&^KUr4bgV99AwEUTY8uT3)%9!^`b61Vb=^Y$!W|0g`Ei8b0wzRi+)V@trGmbY(-(0bI z&Yb0wzQql^p`)$oL0<`+7k>j|5)-x5)rmfxZmY_YgpCdie7NeKdkcL_s@S~z{6*X9 z<}l>j9|8kW^lz9bxVzVnc`!n!Qc6lh=Yf_IS_^bHeL^U|0X?exmDDz(J93Iy{~GH=lGbbfW=k<@gb z^nzHb&RZfq?bVuAZ{DP>Ff>=-KHu!%DKXgen@E}F%YxCBHKgIbp-8{#56DIlA3oe9 z3TZPco&CR)2ZNZo!H)x*2-w`vet*wp1n~j}a zOH0er(sI@Q6bfrQN`k<30)k6WkaTYnU#0bIC?=NHAW-mBH8fmZT?b9dsHJ0m&(?PR z{0TEg=%oDD6v_DbZ^Z}EVz#yZ1)(MjPo6w!cK<#!WDlIE*RNmO^GuJ9s#KXLJ%1P4 zq}yjw24faIP^FC3@rcL+9#RN!y@7}2;o-p;^EI)0Sa?mFJ}ba+Yl^PIFk_2dr9cz- zLO`{LufeEEdywUk!T`PEs5uZ2fpG&{MNWm=9UC8irK~JLLZ&F-admkCJ>`7O>VcV= zndWAF7$znc?ykiSZimel2m5oLA}Lt)aE zX2pAU?Yb0JQ&lh3)B-wz2auZ!^lxEgXpNtT!Hf`0ArbSr;E>~BVJWJqIUlUO+V6e8 z=Na>Z^;cWl5^x|1d|~t>E+JubbQFd`x)Yv;5j+v{$Ute!^oJt?Mefj9f@lJF;Kond zQe-|_&~H)(V=#C@t-7ou`5L1@e^*rn5-MbN zwXjHO*4W?EQB+Ymf_k4~X~+6#;lciXh1InB>(?}x$k6|uyswq0mY$mGC6xi;5xb=b z1|TTd*sxlPfX3Cgx?fYn!cgx9&gY8+Jbo>;Whjj&1pWOOHctt z$y8xK6x4T)jxq6~f9rriY+~~G@&z}?4AE|aghiLsv@uLf$;pKZl6`+C3cQJPMzSjf zvv&?d<7|qfsGjS<(em~61v6kb`t_Yv=0Aj(lmG1-ijFN5%-~F#FQUA`GUVIoR6r zz-%52z5tPKYI+*xv$CUEqg%m@e@4?mcmx+=V`G!-en=?vSU@1T+o-m>8pvxjQO+A< zPp|^^4>vV{J~@Y!C6@>VipJ8XjqYb7z+pbtK|=D|-L;+boSrJ%a=wRRg`X3F>bI+q zqkO(*rl*&>f*lBhMf`D3KJN7H1>8qN^Vf=b^&lrdRRa6or1%=YFijLTHa0P^7whZa zZB0q0o-bExl%P|8Dliq7)M7c$hY>YDAD?=cgSAQPMp0x*K0yQbDPWck3}ESi2WY6N zQUAK+*}+{xbtKG0?%69TCr1LqP=6bn%cF*0>u&}tj|>GW$l;MkWki4MOo~gXtD9Q3B*CjWB*v_e^E0aaKQscMj9^;6EZTWFYhCR z@8s{-&;Zv4gFY}HVQ6@;mNDFGxcbZS!Pc$jO)EpgPl<_4n!mw0>DbUoVWLF%Csw)$*F!}Ny_vB{L2wwfXvU&1I4!(2sUUf=_F(&{5|@` z-XYHapr9J`WHK&yL{4Fpd!O?GtwUsA*ZKVT$)#Uj1(vz7cX(jD`U5k*_YMvYJ7-$3 z-_+Dp2x{P_fncjX=3sq(yaV-<1nY(q7z5lzR}ljZf-6qErsKF zAhffy1B}S_M(IE1JU|VBnIm9TlY2w#1FktMOi^~{E1el!`BxxzC zs;YuPs^5jl&usnxz4K?V2Is%-TuD{c1PH4e8^M@?*Q6Z19Oq#k$u$>p@A!lSn4_G> zWq5slaWt!@rUpgx7?<}Qr&VAt+sTVdOAuX{Sy?d)H(C?=r;j6E(AwlA;WkdyRRPj5-p&I7u}viqNJekCXE*Thd&19 zI%S0+^-&y*;R2T*X3xOxfCkl_ERfu!3&V;X0?`v%#10i`H1n#eMY>+4rR)tTz*&MZ zEJzO&F)%yBpkwinkPwJHsW6$KOn=aVApq33K>?Ck7{ ziq{r;IhK>1l&DJ9cuhECb}%4$w7;sPcZ#E^p~PVOS$fNK&4Y+CM6BfsMvY`>l)B5` zB>~wxE9015GGE3%w%c`;#-DmHCkG`|Ra|{BVA0JR|9+WL8N(N RxbQ`Uq^O)ofspQp{{hlkI@$mL literal 0 HcmV?d00001 diff --git a/docs/v1.0/windows_8h.html b/docs/v1.0/windows_8h.html new file mode 100644 index 0000000..029932c --- /dev/null +++ b/docs/v1.0/windows_8h.html @@ -0,0 +1,150 @@ + + + + + +serial: include/serial/impl/windows.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
include/serial/impl/windows.h File Reference
+
+
+
#include "serial/serial.h"
+
+Include dependency graph for windows.h:
+
+
+ + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + +
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

class  serial::serial::Serial::SerialImpl

+Namespaces

namespace  serial
+

Detailed Description

+
Author:
William Woodall wjwwo.nosp@m.od@g.nosp@m.mail..nosp@m.com
+
+John Harrison ash@g.nosp@m.reat.nosp@m.ertha.nosp@m.ninf.nosp@m.inity.nosp@m..com
+
Version:
0.1
+

+LICENSE

+

The MIT License

+

Copyright (c) 2011 William Woodall, John Harrison

+

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.

+

+DESCRIPTION

+

This provides a windows implementation of the Serial class interface.

+
+ + + + + + diff --git a/docs/v1.0/windows_8h__dep__incl.map b/docs/v1.0/windows_8h__dep__incl.map new file mode 100644 index 0000000..2830697 --- /dev/null +++ b/docs/v1.0/windows_8h__dep__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/v1.0/windows_8h__dep__incl.md5 b/docs/v1.0/windows_8h__dep__incl.md5 new file mode 100644 index 0000000..c964f97 --- /dev/null +++ b/docs/v1.0/windows_8h__dep__incl.md5 @@ -0,0 +1 @@ +56bbeb7b13a744e0ebc3a22b7e8a5061 \ No newline at end of file diff --git a/docs/v1.0/windows_8h__dep__incl.png b/docs/v1.0/windows_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..94b6bb7eb4e5d06e41c45c62a0857e5fdf18c3e6 GIT binary patch literal 4896 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 + + diff --git a/docs/v1.0/windows_8h__incl.md5 b/docs/v1.0/windows_8h__incl.md5 new file mode 100644 index 0000000..6f72e14 --- /dev/null +++ b/docs/v1.0/windows_8h__incl.md5 @@ -0,0 +1 @@ +562506bdc3c26af690de500b9c8ba4e6 \ No newline at end of file diff --git a/docs/v1.0/windows_8h__incl.png b/docs/v1.0/windows_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..654ec29270ca9c821c0e3a2711b7ac331eb8371c GIT binary patch literal 13974 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 + + + + +serial: include/serial/impl/windows.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
include/serial/impl/windows.h
+
+
+Go to the documentation of this file.
00001 
+00037 #ifndef SERIAL_IMPL_WINDOWS_H
+00038 #define SERIAL_IMPL_WINDOWS_H
+00039 
+00040 #include "serial/serial.h"
+00041 
+00042 namespace serial {
+00043 
+00044 using std::string;
+00045 using std::invalid_argument;
+00046 
+00047 using serial::SerialExecption;
+00048 using serial::IOException;
+00049 
+00050 class serial::Serial::SerialImpl {
+00051 public:
+00052   SerialImpl (const string &port,
+00053               unsigned long baudrate,
+00054               long timeout,
+00055               bytesize_t bytesize,
+00056               parity_t parity,
+00057               stopbits_t stopbits,
+00058               flowcontrol_t flowcontrol);
+00059 
+00060   virtual ~SerialImpl ();
+00061 
+00062   void
+00063   open ();
+00064 
+00065   void
+00066   close ();
+00067 
+00068   bool
+00069   isOpen () const;
+00070 
+00071   size_t
+00072   available ();
+00073 
+00074   size_t
+00075   read (char* buf, size_t size = 1);
+00076 
+00077   size_t
+00078   write (const string &data);
+00079 
+00080   void
+00081   flush ();
+00082 
+00083   void
+00084   flushInput ();
+00085 
+00086   void
+00087   flushOutput ();
+00088 
+00089   void
+00090   sendBreak(int duration);
+00091 
+00092   void
+00093   setBreak(bool level);
+00094 
+00095   void
+00096   setRTS(bool level);
+00097 
+00098   void
+00099   setDTR(bool level);
+00100   
+00101   bool
+00102   getCTS();
+00103   
+00104   bool
+00105   getDSR();
+00106   
+00107   bool
+00108   getRI();
+00109   
+00110   bool
+00111   getCD();
+00112 
+00113   void
+00114   setPort (const string &port);
+00115   
+00116   string
+00117   getPort () const;
+00118 
+00119   void
+00120   setTimeout (long timeout);
+00121   
+00122   long
+00123   getTimeout () const;
+00124 
+00125   void
+00126   setBaudrate (unsigned long baudrate);
+00127   
+00128   unsigned long
+00129   getBaudrate () const;
+00130 
+00131   void
+00132   setBytesize (bytesize_t bytesize);
+00133   
+00134   bytesize_t
+00135   getBytesize () const;
+00136 
+00137   void
+00138   setParity (parity_t parity);
+00139 
+00140   parity_t
+00141   getParity () const;
+00142 
+00143   void
+00144   setStopbits (stopbits_t stopbits);
+00145 
+00146   stopbits_t
+00147   getStopbits () const;
+00148 
+00149   void
+00150   setFlowcontrol (flowcontrol_t flowcontrol);
+00151 
+00152   flowcontrol_t
+00153   getFlowcontrol () const;
+00154 
+00155 protected:
+00156   void reconfigurePort ();
+00157 
+00158 private:
+00159   string port_;               // Path to the file descriptor
+00160   int fd_;                    // The current file descriptor
+00161 
+00162   bool isOpen_;
+00163   bool xonxoff_;
+00164   bool rtscts_;
+00165 
+00166   long timeout_;              // Timeout for read operations
+00167   unsigned long baudrate_;    // Baudrate
+00168 
+00169   parity_t parity_;           // Parity
+00170   bytesize_t bytesize_;       // Size of the bytes
+00171   stopbits_t stopbits_;       // Stop Bits
+00172   flowcontrol_t flowcontrol_; // Flow Control
+00173 };
+00174 
+00175 }
+00176 
+00177 #endif // SERIAL_IMPL_WINDOWS_H
+
+ + + + + +