From 756dec9a1ea414c7c790b7798c6b1d7fdaeb1cde Mon Sep 17 00:00:00 2001 From: William Woodall Date: Wed, 24 Oct 2012 00:15:53 -0700 Subject: [PATCH] Uploading documentation for version 1.1.0 --- doc/0.2/annotated.html | 118 + doc/0.2/bc_s.png | Bin 0 -> 705 bytes doc/0.2/bdwn.png | Bin 0 -> 147 bytes .../class_serial_1_1_scoped_read_lock.html | 166 ++ .../class_serial_1_1_scoped_write_lock.html | 166 ++ doc/0.2/classes.html | 119 + doc/0.2/classserial_1_1_i_o_exception.html | 259 ++ ...sserial_1_1_port_not_opened_exception.html | 168 ++ doc/0.2/classserial_1_1_serial.html | 1347 +++++++++++ ...classserial_1_1_serial_exception_base.html | 119 + doc/0.2/classserial_1_1_serial_execption.html | 168 ++ ..._1_1serial_1_1_serial_1_1_serial_impl.html | 1936 +++++++++++++++ doc/0.2/closed.png | Bin 0 -> 126 bytes doc/0.2/doxygen.css | 1012 ++++++++ doc/0.2/doxygen.png | Bin 0 -> 3942 bytes doc/0.2/files.html | 115 + doc/0.2/functions.html | 366 +++ doc/0.2/functions_func.html | 366 +++ doc/0.2/globals.html | 121 + doc/0.2/globals_defs.html | 118 + doc/0.2/globals_func.html | 115 + doc/0.2/graph_legend.html | 165 ++ doc/0.2/graph_legend.md5 | 1 + doc/0.2/graph_legend.png | Bin 0 -> 18954 bytes doc/0.2/index.html | 101 + doc/0.2/jquery.js | 64 + doc/0.2/namespacemembers.html | 160 ++ doc/0.2/namespacemembers_enum.html | 124 + doc/0.2/namespacemembers_eval.html | 148 ++ doc/0.2/namespaces.html | 112 + doc/0.2/namespaceserial.html | 258 ++ doc/0.2/namespaceserial_1_1serial.html | 120 + .../namespaceserial_1_1serial_1_1_serial.html | 121 + doc/0.2/nav_f.png | Bin 0 -> 159 bytes doc/0.2/nav_h.png | Bin 0 -> 97 bytes doc/0.2/open.png | Bin 0 -> 118 bytes doc/0.2/search/all_61.html | 25 + doc/0.2/search/all_61.js | 4 + doc/0.2/search/all_62.html | 25 + doc/0.2/search/all_62.js | 4 + doc/0.2/search/all_63.html | 25 + doc/0.2/search/all_63.js | 4 + doc/0.2/search/all_65.html | 25 + doc/0.2/search/all_65.js | 4 + doc/0.2/search/all_66.html | 25 + doc/0.2/search/all_66.js | 10 + doc/0.2/search/all_67.html | 25 + doc/0.2/search/all_67.js | 16 + doc/0.2/search/all_69.html | 25 + doc/0.2/search/all_69.js | 6 + doc/0.2/search/all_6f.html | 25 + doc/0.2/search/all_6f.js | 4 + doc/0.2/search/all_70.html | 25 + doc/0.2/search/all_70.js | 9 + doc/0.2/search/all_72.html | 25 + doc/0.2/search/all_72.js | 9 + doc/0.2/search/all_73.html | 25 + doc/0.2/search/all_73.js | 34 + doc/0.2/search/all_74.html | 25 + doc/0.2/search/all_74.js | 5 + doc/0.2/search/all_75.html | 25 + doc/0.2/search/all_75.js | 5 + doc/0.2/search/all_77.html | 25 + doc/0.2/search/all_77.js | 9 + doc/0.2/search/all_7e.html | 25 + doc/0.2/search/all_7e.js | 8 + doc/0.2/search/classes_69.html | 25 + doc/0.2/search/classes_69.js | 4 + doc/0.2/search/classes_70.html | 25 + doc/0.2/search/classes_70.js | 4 + doc/0.2/search/classes_73.html | 25 + doc/0.2/search/classes_73.js | 9 + doc/0.2/search/close.png | Bin 0 -> 273 bytes doc/0.2/search/defines_74.html | 25 + doc/0.2/search/defines_74.js | 5 + doc/0.2/search/enums_62.html | 25 + doc/0.2/search/enums_62.js | 4 + doc/0.2/search/enums_66.html | 25 + doc/0.2/search/enums_66.js | 4 + doc/0.2/search/enums_70.html | 25 + doc/0.2/search/enums_70.js | 4 + doc/0.2/search/enums_73.html | 25 + doc/0.2/search/enums_73.js | 4 + doc/0.2/search/enumvalues_65.html | 25 + doc/0.2/search/enumvalues_65.js | 4 + doc/0.2/search/enumvalues_66.html | 25 + doc/0.2/search/enumvalues_66.js | 6 + doc/0.2/search/enumvalues_70.html | 25 + doc/0.2/search/enumvalues_70.js | 6 + doc/0.2/search/enumvalues_73.html | 25 + doc/0.2/search/enumvalues_73.js | 8 + doc/0.2/search/files_73.html | 25 + doc/0.2/search/files_73.js | 5 + doc/0.2/search/files_75.html | 25 + doc/0.2/search/files_75.js | 5 + doc/0.2/search/files_77.html | 25 + doc/0.2/search/files_77.js | 5 + doc/0.2/search/functions_61.html | 25 + doc/0.2/search/functions_61.js | 4 + doc/0.2/search/functions_63.html | 25 + doc/0.2/search/functions_63.js | 4 + doc/0.2/search/functions_66.html | 25 + doc/0.2/search/functions_66.js | 6 + doc/0.2/search/functions_67.html | 25 + doc/0.2/search/functions_67.js | 16 + doc/0.2/search/functions_69.html | 25 + doc/0.2/search/functions_69.js | 5 + doc/0.2/search/functions_6f.html | 25 + doc/0.2/search/functions_6f.js | 4 + doc/0.2/search/functions_70.html | 25 + doc/0.2/search/functions_70.js | 4 + doc/0.2/search/functions_72.html | 25 + doc/0.2/search/functions_72.js | 9 + doc/0.2/search/functions_73.html | 25 + doc/0.2/search/functions_73.js | 19 + doc/0.2/search/functions_77.html | 25 + doc/0.2/search/functions_77.js | 7 + doc/0.2/search/functions_7e.html | 25 + doc/0.2/search/functions_7e.js | 8 + doc/0.2/search/mag_sel.png | Bin 0 -> 563 bytes doc/0.2/search/namespaces_73.html | 25 + doc/0.2/search/namespaces_73.js | 6 + doc/0.2/search/nomatches.html | 12 + doc/0.2/search/search.css | 238 ++ doc/0.2/search/search.js | 809 +++++++ doc/0.2/search/search_l.png | Bin 0 -> 604 bytes doc/0.2/search/search_m.png | Bin 0 -> 158 bytes doc/0.2/search/search_r.png | Bin 0 -> 612 bytes doc/0.2/serial_8cc.html | 125 + doc/0.2/serial_8cc__incl.map | 4 + doc/0.2/serial_8cc__incl.md5 | 1 + doc/0.2/serial_8cc__incl.png | Bin 0 -> 19664 bytes doc/0.2/serial_8h.html | 210 ++ doc/0.2/serial_8h__dep__incl.map | 7 + doc/0.2/serial_8h__dep__incl.md5 | 1 + doc/0.2/serial_8h__dep__incl.png | Bin 0 -> 14192 bytes doc/0.2/serial_8h__incl.map | 2 + doc/0.2/serial_8h__incl.md5 | 1 + doc/0.2/serial_8h__incl.png | Bin 0 -> 11293 bytes doc/0.2/serial_8h_source.html | 357 +++ doc/0.2/tab_a.png | Bin 0 -> 140 bytes doc/0.2/tab_b.png | Bin 0 -> 178 bytes doc/0.2/tab_h.png | Bin 0 -> 192 bytes doc/0.2/tab_s.png | Bin 0 -> 189 bytes doc/0.2/tabs.css | 59 + doc/0.2/unix_8cc.html | 185 ++ doc/0.2/unix_8cc__incl.map | 4 + doc/0.2/unix_8cc__incl.md5 | 1 + doc/0.2/unix_8cc__incl.png | Bin 0 -> 54002 bytes doc/0.2/unix_8h.html | 151 ++ doc/0.2/unix_8h__dep__incl.map | 4 + doc/0.2/unix_8h__dep__incl.md5 | 1 + doc/0.2/unix_8h__dep__incl.png | Bin 0 -> 6441 bytes doc/0.2/unix_8h__incl.map | 3 + doc/0.2/unix_8h__incl.md5 | 1 + doc/0.2/unix_8h__incl.png | Bin 0 -> 15930 bytes doc/0.2/unix_8h_source.html | 268 ++ doc/0.2/windows_8cc.html | 115 + doc/0.2/windows_8cc__incl.map | 4 + doc/0.2/windows_8cc__incl.md5 | 1 + doc/0.2/windows_8cc__incl.png | Bin 0 -> 16258 bytes doc/0.2/windows_8h.html | 150 ++ doc/0.2/windows_8h__dep__incl.map | 3 + doc/0.2/windows_8h__dep__incl.md5 | 1 + doc/0.2/windows_8h__dep__incl.png | Bin 0 -> 4896 bytes doc/0.2/windows_8h__incl.map | 3 + doc/0.2/windows_8h__incl.md5 | 1 + doc/0.2/windows_8h__incl.png | Bin 0 -> 13974 bytes doc/0.2/windows_8h_source.html | 249 ++ doc/1.0.1/annotated.html | 118 + doc/1.0.1/bc_s.png | Bin 0 -> 705 bytes doc/1.0.1/bdwn.png | Bin 0 -> 147 bytes .../class_serial_1_1_scoped_read_lock.html | 166 ++ .../class_serial_1_1_scoped_write_lock.html | 166 ++ doc/1.0.1/classes.html | 123 + doc/1.0.1/classserial_1_1_i_o_exception.html | 280 +++ ...sserial_1_1_port_not_opened_exception.html | 189 ++ doc/1.0.1/classserial_1_1_serial.html | 1532 ++++++++++++ .../classserial_1_1_serial_execption.html | 189 ++ ..._1_1serial_1_1_serial_1_1_serial_impl.html | 2148 +++++++++++++++++ doc/1.0.1/closed.png | Bin 0 -> 126 bytes doc/1.0.1/doxygen.css | 1012 ++++++++ doc/1.0.1/doxygen.png | Bin 0 -> 3942 bytes doc/1.0.1/files.html | 117 + doc/1.0.1/functions.html | 404 ++++ doc/1.0.1/functions_func.html | 390 +++ doc/1.0.1/functions_vars.html | 128 + doc/1.0.1/globals.html | 130 + doc/1.0.1/globals_defs.html | 118 + doc/1.0.1/globals_func.html | 124 + doc/1.0.1/graph_legend.html | 165 ++ doc/1.0.1/graph_legend.md5 | 1 + doc/1.0.1/graph_legend.png | Bin 0 -> 18954 bytes doc/1.0.1/index.html | 153 ++ doc/1.0.1/jquery.js | 64 + doc/1.0.1/namespacemembers.html | 163 ++ doc/1.0.1/namespacemembers_enum.html | 124 + doc/1.0.1/namespacemembers_eval.html | 151 ++ doc/1.0.1/namespaces.html | 112 + doc/1.0.1/namespaceserial.html | 262 ++ doc/1.0.1/namespaceserial_1_1serial.html | 120 + .../namespaceserial_1_1serial_1_1_serial.html | 121 + doc/1.0.1/nav_f.png | Bin 0 -> 159 bytes doc/1.0.1/nav_h.png | Bin 0 -> 97 bytes doc/1.0.1/open.png | Bin 0 -> 118 bytes doc/1.0.1/search/all_61.html | 25 + doc/1.0.1/search/all_61.js | 4 + doc/1.0.1/search/all_62.html | 25 + doc/1.0.1/search/all_62.js | 4 + doc/1.0.1/search/all_63.html | 25 + doc/1.0.1/search/all_63.js | 4 + doc/1.0.1/search/all_65.html | 25 + doc/1.0.1/search/all_65.js | 4 + doc/1.0.1/search/all_66.html | 25 + doc/1.0.1/search/all_66.js | 11 + doc/1.0.1/search/all_67.html | 25 + doc/1.0.1/search/all_67.js | 16 + doc/1.0.1/search/all_69.html | 25 + doc/1.0.1/search/all_69.js | 7 + doc/1.0.1/search/all_6d.html | 25 + doc/1.0.1/search/all_6d.js | 6 + doc/1.0.1/search/all_6f.html | 25 + doc/1.0.1/search/all_6f.js | 4 + doc/1.0.1/search/all_70.html | 25 + doc/1.0.1/search/all_70.js | 9 + doc/1.0.1/search/all_72.html | 25 + doc/1.0.1/search/all_72.js | 12 + doc/1.0.1/search/all_73.html | 25 + doc/1.0.1/search/all_73.js | 36 + doc/1.0.1/search/all_74.html | 25 + doc/1.0.1/search/all_74.js | 7 + doc/1.0.1/search/all_75.html | 25 + doc/1.0.1/search/all_75.js | 5 + doc/1.0.1/search/all_76.html | 25 + doc/1.0.1/search/all_76.js | 4 + doc/1.0.1/search/all_77.html | 25 + doc/1.0.1/search/all_77.js | 12 + doc/1.0.1/search/all_7e.html | 25 + doc/1.0.1/search/all_7e.js | 8 + doc/1.0.1/search/classes_69.html | 25 + doc/1.0.1/search/classes_69.js | 4 + doc/1.0.1/search/classes_70.html | 25 + doc/1.0.1/search/classes_70.js | 4 + doc/1.0.1/search/classes_73.html | 25 + doc/1.0.1/search/classes_73.js | 8 + doc/1.0.1/search/classes_74.html | 25 + doc/1.0.1/search/classes_74.js | 4 + doc/1.0.1/search/close.png | Bin 0 -> 273 bytes doc/1.0.1/search/defines_74.html | 25 + doc/1.0.1/search/defines_74.js | 5 + doc/1.0.1/search/enums_62.html | 25 + doc/1.0.1/search/enums_62.js | 4 + doc/1.0.1/search/enums_66.html | 25 + doc/1.0.1/search/enums_66.js | 4 + doc/1.0.1/search/enums_70.html | 25 + doc/1.0.1/search/enums_70.js | 4 + doc/1.0.1/search/enums_73.html | 25 + doc/1.0.1/search/enums_73.js | 4 + doc/1.0.1/search/enumvalues_65.html | 25 + doc/1.0.1/search/enumvalues_65.js | 4 + doc/1.0.1/search/enumvalues_66.html | 25 + doc/1.0.1/search/enumvalues_66.js | 7 + doc/1.0.1/search/enumvalues_70.html | 25 + doc/1.0.1/search/enumvalues_70.js | 6 + doc/1.0.1/search/enumvalues_73.html | 25 + doc/1.0.1/search/enumvalues_73.js | 8 + doc/1.0.1/search/files_73.html | 25 + doc/1.0.1/search/files_73.js | 7 + doc/1.0.1/search/files_75.html | 25 + doc/1.0.1/search/files_75.js | 5 + doc/1.0.1/search/files_76.html | 25 + doc/1.0.1/search/files_76.js | 4 + doc/1.0.1/search/files_77.html | 25 + doc/1.0.1/search/files_77.js | 5 + doc/1.0.1/search/functions_61.html | 25 + doc/1.0.1/search/functions_61.js | 4 + doc/1.0.1/search/functions_63.html | 25 + doc/1.0.1/search/functions_63.js | 4 + doc/1.0.1/search/functions_66.html | 25 + doc/1.0.1/search/functions_66.js | 6 + doc/1.0.1/search/functions_67.html | 25 + doc/1.0.1/search/functions_67.js | 16 + doc/1.0.1/search/functions_69.html | 25 + doc/1.0.1/search/functions_69.js | 5 + doc/1.0.1/search/functions_6d.html | 25 + doc/1.0.1/search/functions_6d.js | 6 + doc/1.0.1/search/functions_6f.html | 25 + doc/1.0.1/search/functions_6f.js | 4 + doc/1.0.1/search/functions_70.html | 25 + doc/1.0.1/search/functions_70.js | 4 + doc/1.0.1/search/functions_72.html | 25 + doc/1.0.1/search/functions_72.js | 10 + doc/1.0.1/search/functions_73.html | 25 + doc/1.0.1/search/functions_73.js | 20 + doc/1.0.1/search/functions_74.html | 25 + doc/1.0.1/search/functions_74.js | 4 + doc/1.0.1/search/functions_77.html | 25 + doc/1.0.1/search/functions_77.js | 8 + doc/1.0.1/search/functions_7e.html | 25 + doc/1.0.1/search/functions_7e.js | 8 + doc/1.0.1/search/mag_sel.png | Bin 0 -> 563 bytes doc/1.0.1/search/namespaces_73.html | 25 + doc/1.0.1/search/namespaces_73.js | 6 + doc/1.0.1/search/nomatches.html | 12 + doc/1.0.1/search/search.css | 238 ++ doc/1.0.1/search/search.js | 811 +++++++ doc/1.0.1/search/search_l.png | Bin 0 -> 604 bytes doc/1.0.1/search/search_m.png | Bin 0 -> 158 bytes doc/1.0.1/search/search_r.png | Bin 0 -> 612 bytes doc/1.0.1/search/variables_69.html | 25 + doc/1.0.1/search/variables_69.js | 4 + doc/1.0.1/search/variables_72.html | 25 + doc/1.0.1/search/variables_72.js | 5 + doc/1.0.1/search/variables_77.html | 25 + doc/1.0.1/search/variables_77.js | 5 + doc/1.0.1/serial_8cc.html | 125 + doc/1.0.1/serial_8cc__incl.map | 5 + doc/1.0.1/serial_8cc__incl.md5 | 1 + doc/1.0.1/serial_8cc__incl.png | Bin 0 -> 27740 bytes doc/1.0.1/serial_8dox.html | 107 + doc/1.0.1/serial_8h.html | 215 ++ doc/1.0.1/serial_8h__dep__incl.map | 8 + doc/1.0.1/serial_8h__dep__incl.md5 | 1 + doc/1.0.1/serial_8h__dep__incl.png | Bin 0 -> 15660 bytes doc/1.0.1/serial_8h__incl.map | 3 + doc/1.0.1/serial_8h__incl.md5 | 1 + doc/1.0.1/serial_8h__incl.png | Bin 0 -> 19266 bytes doc/1.0.1/serial_8h_source.html | 422 ++++ doc/1.0.1/serial__example_8cc.html | 307 +++ doc/1.0.1/serial__example_8cc__incl.map | 4 + doc/1.0.1/serial__example_8cc__incl.md5 | 1 + doc/1.0.1/serial__example_8cc__incl.png | Bin 0 -> 29764 bytes doc/1.0.1/structserial_1_1_timeout.html | 311 +++ doc/1.0.1/tab_a.png | Bin 0 -> 140 bytes doc/1.0.1/tab_b.png | Bin 0 -> 178 bytes doc/1.0.1/tab_h.png | Bin 0 -> 192 bytes doc/1.0.1/tab_s.png | Bin 0 -> 189 bytes doc/1.0.1/tabs.css | 59 + doc/1.0.1/unix_8cc.html | 187 ++ doc/1.0.1/unix_8cc__incl.map | 5 + doc/1.0.1/unix_8cc__incl.md5 | 1 + doc/1.0.1/unix_8cc__incl.png | Bin 0 -> 78517 bytes doc/1.0.1/unix_8h.html | 151 ++ doc/1.0.1/unix_8h__dep__incl.map | 4 + doc/1.0.1/unix_8h__dep__incl.md5 | 1 + doc/1.0.1/unix_8h__dep__incl.png | Bin 0 -> 6453 bytes doc/1.0.1/unix_8h__incl.map | 4 + doc/1.0.1/unix_8h__incl.md5 | 1 + doc/1.0.1/unix_8h__incl.png | Bin 0 -> 24535 bytes doc/1.0.1/unix_8h_source.html | 270 +++ doc/1.0.1/v8stdint_8h.html | 126 + doc/1.0.1/v8stdint_8h__dep__incl.map | 9 + doc/1.0.1/v8stdint_8h__dep__incl.md5 | 1 + doc/1.0.1/v8stdint_8h__dep__incl.png | Bin 0 -> 18453 bytes doc/1.0.1/v8stdint_8h__incl.map | 2 + doc/1.0.1/v8stdint_8h__incl.md5 | 1 + doc/1.0.1/v8stdint_8h__incl.png | Bin 0 -> 6227 bytes doc/1.0.1/v8stdint_8h_source.html | 164 ++ doc/1.0.1/win_8cc.html | 115 + doc/1.0.1/win_8cc__incl.map | 5 + doc/1.0.1/win_8cc__incl.md5 | 1 + doc/1.0.1/win_8cc__incl.png | Bin 0 -> 26059 bytes doc/1.0.1/win_8h.html | 136 ++ doc/1.0.1/win_8h__dep__incl.map | 3 + doc/1.0.1/win_8h__dep__incl.md5 | 1 + doc/1.0.1/win_8h__dep__incl.png | Bin 0 -> 4269 bytes doc/1.0.1/win_8h__incl.map | 4 + doc/1.0.1/win_8h__incl.md5 | 1 + doc/1.0.1/win_8h__incl.png | Bin 0 -> 24658 bytes doc/1.0.1/win_8h_source.html | 268 ++ doc/1.0/annotated.html | 118 + doc/1.0/bc_s.png | Bin 0 -> 705 bytes doc/1.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 ++ doc/1.0/classes.html | 123 + doc/1.0/classserial_1_1_i_o_exception.html | 280 +++ ...sserial_1_1_port_not_opened_exception.html | 189 ++ doc/1.0/classserial_1_1_serial.html | 1532 ++++++++++++ ...classserial_1_1_serial_exception_base.html | 119 + doc/1.0/classserial_1_1_serial_execption.html | 189 ++ ..._1_1serial_1_1_serial_1_1_serial_impl.html | 2114 ++++++++++++++++ doc/1.0/closed.png | Bin 0 -> 126 bytes doc/1.0/doxygen.css | 1012 ++++++++ doc/1.0/doxygen.png | Bin 0 -> 3942 bytes doc/1.0/files.html | 117 + doc/1.0/functions.html | 404 ++++ doc/1.0/functions_func.html | 390 +++ doc/1.0/functions_vars.html | 128 + doc/1.0/globals.html | 130 + doc/1.0/globals_defs.html | 118 + doc/1.0/globals_func.html | 124 + doc/1.0/graph_legend.html | 165 ++ doc/1.0/graph_legend.md5 | 1 + doc/1.0/graph_legend.png | Bin 0 -> 18954 bytes doc/1.0/index.html | 153 ++ doc/1.0/jquery.js | 64 + doc/1.0/namespacemembers.html | 160 ++ doc/1.0/namespacemembers_enum.html | 124 + doc/1.0/namespacemembers_eval.html | 148 ++ doc/1.0/namespaces.html | 112 + doc/1.0/namespaceserial.html | 258 ++ doc/1.0/namespaceserial_1_1_serial.html | 120 + doc/1.0/namespaceserial_1_1serial.html | 120 + .../namespaceserial_1_1serial_1_1_serial.html | 121 + doc/1.0/nav_f.png | Bin 0 -> 159 bytes doc/1.0/nav_h.png | Bin 0 -> 97 bytes doc/1.0/open.png | Bin 0 -> 118 bytes doc/1.0/search/all_61.html | 25 + doc/1.0/search/all_61.js | 4 + doc/1.0/search/all_62.html | 25 + doc/1.0/search/all_62.js | 4 + doc/1.0/search/all_63.html | 25 + doc/1.0/search/all_63.js | 4 + doc/1.0/search/all_65.html | 25 + doc/1.0/search/all_65.js | 4 + doc/1.0/search/all_66.html | 25 + doc/1.0/search/all_66.js | 10 + doc/1.0/search/all_67.html | 25 + doc/1.0/search/all_67.js | 16 + doc/1.0/search/all_69.html | 25 + doc/1.0/search/all_69.js | 7 + doc/1.0/search/all_6d.html | 25 + doc/1.0/search/all_6d.js | 6 + doc/1.0/search/all_6f.html | 25 + doc/1.0/search/all_6f.js | 4 + doc/1.0/search/all_70.html | 25 + doc/1.0/search/all_70.js | 9 + doc/1.0/search/all_72.html | 25 + doc/1.0/search/all_72.js | 12 + doc/1.0/search/all_73.html | 25 + doc/1.0/search/all_73.js | 36 + doc/1.0/search/all_74.html | 25 + doc/1.0/search/all_74.js | 7 + doc/1.0/search/all_75.html | 25 + doc/1.0/search/all_75.js | 5 + doc/1.0/search/all_76.html | 25 + doc/1.0/search/all_76.js | 4 + doc/1.0/search/all_77.html | 25 + doc/1.0/search/all_77.js | 12 + doc/1.0/search/all_7e.html | 25 + doc/1.0/search/all_7e.js | 8 + doc/1.0/search/classes_69.html | 25 + doc/1.0/search/classes_69.js | 4 + doc/1.0/search/classes_70.html | 25 + doc/1.0/search/classes_70.js | 4 + doc/1.0/search/classes_73.html | 25 + doc/1.0/search/classes_73.js | 8 + doc/1.0/search/classes_74.html | 25 + doc/1.0/search/classes_74.js | 4 + doc/1.0/search/close.png | Bin 0 -> 273 bytes doc/1.0/search/defines_74.html | 25 + doc/1.0/search/defines_74.js | 5 + doc/1.0/search/enums_62.html | 25 + doc/1.0/search/enums_62.js | 4 + doc/1.0/search/enums_66.html | 25 + doc/1.0/search/enums_66.js | 4 + doc/1.0/search/enums_70.html | 25 + doc/1.0/search/enums_70.js | 4 + doc/1.0/search/enums_73.html | 25 + doc/1.0/search/enums_73.js | 4 + doc/1.0/search/enumvalues_65.html | 25 + doc/1.0/search/enumvalues_65.js | 4 + doc/1.0/search/enumvalues_66.html | 25 + doc/1.0/search/enumvalues_66.js | 6 + doc/1.0/search/enumvalues_70.html | 25 + doc/1.0/search/enumvalues_70.js | 6 + doc/1.0/search/enumvalues_73.html | 25 + doc/1.0/search/enumvalues_73.js | 8 + doc/1.0/search/files_73.html | 25 + doc/1.0/search/files_73.js | 7 + doc/1.0/search/files_75.html | 25 + doc/1.0/search/files_75.js | 5 + doc/1.0/search/files_76.html | 25 + doc/1.0/search/files_76.js | 4 + doc/1.0/search/files_77.html | 25 + doc/1.0/search/files_77.js | 5 + doc/1.0/search/functions_61.html | 25 + doc/1.0/search/functions_61.js | 4 + doc/1.0/search/functions_63.html | 25 + doc/1.0/search/functions_63.js | 4 + doc/1.0/search/functions_66.html | 25 + doc/1.0/search/functions_66.js | 6 + doc/1.0/search/functions_67.html | 25 + doc/1.0/search/functions_67.js | 16 + doc/1.0/search/functions_69.html | 25 + doc/1.0/search/functions_69.js | 5 + doc/1.0/search/functions_6d.html | 25 + doc/1.0/search/functions_6d.js | 6 + doc/1.0/search/functions_6f.html | 25 + doc/1.0/search/functions_6f.js | 4 + doc/1.0/search/functions_70.html | 25 + doc/1.0/search/functions_70.js | 4 + doc/1.0/search/functions_72.html | 25 + doc/1.0/search/functions_72.js | 10 + doc/1.0/search/functions_73.html | 25 + doc/1.0/search/functions_73.js | 20 + doc/1.0/search/functions_74.html | 25 + doc/1.0/search/functions_74.js | 4 + doc/1.0/search/functions_77.html | 25 + doc/1.0/search/functions_77.js | 8 + doc/1.0/search/functions_7e.html | 25 + doc/1.0/search/functions_7e.js | 8 + doc/1.0/search/mag_sel.png | Bin 0 -> 563 bytes doc/1.0/search/namespaces_73.html | 25 + doc/1.0/search/namespaces_73.js | 6 + doc/1.0/search/nomatches.html | 12 + doc/1.0/search/search.css | 238 ++ doc/1.0/search/search.js | 811 +++++++ doc/1.0/search/search_l.png | Bin 0 -> 604 bytes doc/1.0/search/search_m.png | Bin 0 -> 158 bytes doc/1.0/search/search_r.png | Bin 0 -> 612 bytes doc/1.0/search/variables_69.html | 25 + doc/1.0/search/variables_69.js | 4 + doc/1.0/search/variables_72.html | 25 + doc/1.0/search/variables_72.js | 5 + doc/1.0/search/variables_77.html | 25 + doc/1.0/search/variables_77.js | 5 + doc/1.0/serial_8cc.html | 124 + doc/1.0/serial_8cc__incl.map | 5 + doc/1.0/serial_8cc__incl.md5 | 1 + doc/1.0/serial_8cc__incl.png | Bin 0 -> 27801 bytes doc/1.0/serial_8dox.html | 107 + doc/1.0/serial_8h.html | 214 ++ doc/1.0/serial_8h__dep__incl.map | 8 + doc/1.0/serial_8h__dep__incl.md5 | 1 + doc/1.0/serial_8h__dep__incl.png | Bin 0 -> 15660 bytes doc/1.0/serial_8h__incl.map | 3 + doc/1.0/serial_8h__incl.md5 | 1 + doc/1.0/serial_8h__incl.png | Bin 0 -> 19266 bytes doc/1.0/serial_8h_source.html | 419 ++++ doc/1.0/serial__example_8cc.html | 307 +++ doc/1.0/serial__example_8cc__incl.map | 4 + doc/1.0/serial__example_8cc__incl.md5 | 1 + doc/1.0/serial__example_8cc__incl.png | Bin 0 -> 29764 bytes doc/1.0/structserial_1_1_timeout.html | 311 +++ doc/1.0/structserial_1_1timeout__t.html | 259 ++ doc/1.0/tab_a.png | Bin 0 -> 140 bytes doc/1.0/tab_b.png | Bin 0 -> 178 bytes doc/1.0/tab_h.png | Bin 0 -> 192 bytes doc/1.0/tab_s.png | Bin 0 -> 189 bytes doc/1.0/tabs.css | 59 + doc/1.0/unix_8cc.html | 187 ++ doc/1.0/unix_8cc__incl.map | 5 + doc/1.0/unix_8cc__incl.md5 | 1 + doc/1.0/unix_8cc__incl.png | Bin 0 -> 78517 bytes doc/1.0/unix_8h.html | 151 ++ doc/1.0/unix_8h__dep__incl.map | 4 + doc/1.0/unix_8h__dep__incl.md5 | 1 + doc/1.0/unix_8h__dep__incl.png | Bin 0 -> 6453 bytes doc/1.0/unix_8h__incl.map | 4 + doc/1.0/unix_8h__incl.md5 | 1 + doc/1.0/unix_8h__incl.png | Bin 0 -> 24535 bytes doc/1.0/unix_8h_source.html | 270 +++ doc/1.0/v8stdint_8h.html | 124 + doc/1.0/v8stdint_8h__dep__incl.map | 9 + doc/1.0/v8stdint_8h__dep__incl.md5 | 1 + doc/1.0/v8stdint_8h__dep__incl.png | Bin 0 -> 18453 bytes doc/1.0/v8stdint_8h__incl.map | 2 + doc/1.0/v8stdint_8h__incl.md5 | 1 + doc/1.0/v8stdint_8h__incl.png | Bin 0 -> 6227 bytes doc/1.0/v8stdint_8h_source.html | 164 ++ doc/1.0/win_8cc.html | 115 + doc/1.0/win_8cc__incl.map | 5 + doc/1.0/win_8cc__incl.md5 | 1 + doc/1.0/win_8cc__incl.png | Bin 0 -> 26059 bytes doc/1.0/win_8h.html | 136 ++ doc/1.0/win_8h__dep__incl.map | 3 + doc/1.0/win_8h__dep__incl.md5 | 1 + doc/1.0/win_8h__dep__incl.png | Bin 0 -> 4269 bytes doc/1.0/win_8h__incl.map | 4 + doc/1.0/win_8h__incl.md5 | 1 + doc/1.0/win_8h__incl.png | Bin 0 -> 24658 bytes doc/1.0/win_8h_source.html | 268 ++ doc/1.0/windows_8cc.html | 115 + doc/1.0/windows_8cc__incl.map | 4 + doc/1.0/windows_8cc__incl.md5 | 1 + doc/1.0/windows_8cc__incl.png | Bin 0 -> 16610 bytes doc/1.0/windows_8h.html | 150 ++ doc/1.0/windows_8h__dep__incl.map | 3 + doc/1.0/windows_8h__dep__incl.md5 | 1 + doc/1.0/windows_8h__dep__incl.png | Bin 0 -> 4896 bytes doc/1.0/windows_8h__incl.map | 3 + doc/1.0/windows_8h__incl.md5 | 1 + doc/1.0/windows_8h__incl.png | Bin 0 -> 14402 bytes doc/1.0/windows_8h_source.html | 249 ++ doc/1.1.0/annotated.html | 118 + doc/1.1.0/bc_s.png | Bin 0 -> 705 bytes doc/1.1.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 ++ doc/1.1.0/classes.html | 123 + doc/1.1.0/classserial_1_1_i_o_exception.html | 280 +++ ...sserial_1_1_port_not_opened_exception.html | 189 ++ doc/1.1.0/classserial_1_1_serial.html | 1532 ++++++++++++ .../classserial_1_1_serial_execption.html | 189 ++ ..._1_1serial_1_1_serial_1_1_serial_impl.html | 2148 +++++++++++++++++ doc/1.1.0/closed.png | Bin 0 -> 126 bytes doc/1.1.0/doxygen.css | 1012 ++++++++ doc/1.1.0/doxygen.png | Bin 0 -> 3942 bytes doc/1.1.0/files.html | 117 + doc/1.1.0/functions.html | 404 ++++ doc/1.1.0/functions_func.html | 390 +++ doc/1.1.0/functions_vars.html | 128 + doc/1.1.0/globals.html | 130 + doc/1.1.0/globals_defs.html | 118 + doc/1.1.0/globals_func.html | 124 + doc/1.1.0/graph_legend.html | 165 ++ doc/1.1.0/graph_legend.md5 | 1 + doc/1.1.0/graph_legend.png | Bin 0 -> 18954 bytes doc/1.1.0/index.html | 153 ++ doc/1.1.0/jquery.js | 64 + doc/1.1.0/namespacemembers.html | 163 ++ doc/1.1.0/namespacemembers_enum.html | 124 + doc/1.1.0/namespacemembers_eval.html | 151 ++ doc/1.1.0/namespaces.html | 112 + doc/1.1.0/namespaceserial.html | 262 ++ doc/1.1.0/namespaceserial_1_1serial.html | 120 + .../namespaceserial_1_1serial_1_1_serial.html | 121 + doc/1.1.0/nav_f.png | Bin 0 -> 159 bytes doc/1.1.0/nav_h.png | Bin 0 -> 97 bytes doc/1.1.0/open.png | Bin 0 -> 118 bytes doc/1.1.0/search/all_61.html | 25 + doc/1.1.0/search/all_61.js | 4 + doc/1.1.0/search/all_62.html | 25 + doc/1.1.0/search/all_62.js | 4 + doc/1.1.0/search/all_63.html | 25 + doc/1.1.0/search/all_63.js | 4 + doc/1.1.0/search/all_65.html | 25 + doc/1.1.0/search/all_65.js | 4 + doc/1.1.0/search/all_66.html | 25 + doc/1.1.0/search/all_66.js | 11 + doc/1.1.0/search/all_67.html | 25 + doc/1.1.0/search/all_67.js | 16 + doc/1.1.0/search/all_69.html | 25 + doc/1.1.0/search/all_69.js | 7 + doc/1.1.0/search/all_6d.html | 25 + doc/1.1.0/search/all_6d.js | 6 + doc/1.1.0/search/all_6f.html | 25 + doc/1.1.0/search/all_6f.js | 4 + doc/1.1.0/search/all_70.html | 25 + doc/1.1.0/search/all_70.js | 9 + doc/1.1.0/search/all_72.html | 25 + doc/1.1.0/search/all_72.js | 12 + doc/1.1.0/search/all_73.html | 25 + doc/1.1.0/search/all_73.js | 36 + doc/1.1.0/search/all_74.html | 25 + doc/1.1.0/search/all_74.js | 7 + doc/1.1.0/search/all_75.html | 25 + doc/1.1.0/search/all_75.js | 5 + doc/1.1.0/search/all_76.html | 25 + doc/1.1.0/search/all_76.js | 4 + doc/1.1.0/search/all_77.html | 25 + doc/1.1.0/search/all_77.js | 12 + doc/1.1.0/search/all_7e.html | 25 + doc/1.1.0/search/all_7e.js | 8 + doc/1.1.0/search/classes_69.html | 25 + doc/1.1.0/search/classes_69.js | 4 + doc/1.1.0/search/classes_70.html | 25 + doc/1.1.0/search/classes_70.js | 4 + doc/1.1.0/search/classes_73.html | 25 + doc/1.1.0/search/classes_73.js | 8 + doc/1.1.0/search/classes_74.html | 25 + doc/1.1.0/search/classes_74.js | 4 + doc/1.1.0/search/close.png | Bin 0 -> 273 bytes doc/1.1.0/search/defines_74.html | 25 + doc/1.1.0/search/defines_74.js | 5 + doc/1.1.0/search/enums_62.html | 25 + doc/1.1.0/search/enums_62.js | 4 + doc/1.1.0/search/enums_66.html | 25 + doc/1.1.0/search/enums_66.js | 4 + doc/1.1.0/search/enums_70.html | 25 + doc/1.1.0/search/enums_70.js | 4 + doc/1.1.0/search/enums_73.html | 25 + doc/1.1.0/search/enums_73.js | 4 + doc/1.1.0/search/enumvalues_65.html | 25 + doc/1.1.0/search/enumvalues_65.js | 4 + doc/1.1.0/search/enumvalues_66.html | 25 + doc/1.1.0/search/enumvalues_66.js | 7 + doc/1.1.0/search/enumvalues_70.html | 25 + doc/1.1.0/search/enumvalues_70.js | 6 + doc/1.1.0/search/enumvalues_73.html | 25 + doc/1.1.0/search/enumvalues_73.js | 8 + doc/1.1.0/search/files_73.html | 25 + doc/1.1.0/search/files_73.js | 7 + doc/1.1.0/search/files_75.html | 25 + doc/1.1.0/search/files_75.js | 5 + doc/1.1.0/search/files_76.html | 25 + doc/1.1.0/search/files_76.js | 4 + doc/1.1.0/search/files_77.html | 25 + doc/1.1.0/search/files_77.js | 5 + doc/1.1.0/search/functions_61.html | 25 + doc/1.1.0/search/functions_61.js | 4 + doc/1.1.0/search/functions_63.html | 25 + doc/1.1.0/search/functions_63.js | 4 + doc/1.1.0/search/functions_66.html | 25 + doc/1.1.0/search/functions_66.js | 6 + doc/1.1.0/search/functions_67.html | 25 + doc/1.1.0/search/functions_67.js | 16 + doc/1.1.0/search/functions_69.html | 25 + doc/1.1.0/search/functions_69.js | 5 + doc/1.1.0/search/functions_6d.html | 25 + doc/1.1.0/search/functions_6d.js | 6 + doc/1.1.0/search/functions_6f.html | 25 + doc/1.1.0/search/functions_6f.js | 4 + doc/1.1.0/search/functions_70.html | 25 + doc/1.1.0/search/functions_70.js | 4 + doc/1.1.0/search/functions_72.html | 25 + doc/1.1.0/search/functions_72.js | 10 + doc/1.1.0/search/functions_73.html | 25 + doc/1.1.0/search/functions_73.js | 20 + doc/1.1.0/search/functions_74.html | 25 + doc/1.1.0/search/functions_74.js | 4 + doc/1.1.0/search/functions_77.html | 25 + doc/1.1.0/search/functions_77.js | 8 + doc/1.1.0/search/functions_7e.html | 25 + doc/1.1.0/search/functions_7e.js | 8 + doc/1.1.0/search/mag_sel.png | Bin 0 -> 563 bytes doc/1.1.0/search/namespaces_73.html | 25 + doc/1.1.0/search/namespaces_73.js | 6 + doc/1.1.0/search/nomatches.html | 12 + doc/1.1.0/search/search.css | 238 ++ doc/1.1.0/search/search.js | 811 +++++++ doc/1.1.0/search/search_l.png | Bin 0 -> 604 bytes doc/1.1.0/search/search_m.png | Bin 0 -> 158 bytes doc/1.1.0/search/search_r.png | Bin 0 -> 612 bytes doc/1.1.0/search/variables_69.html | 25 + doc/1.1.0/search/variables_69.js | 4 + doc/1.1.0/search/variables_72.html | 25 + doc/1.1.0/search/variables_72.js | 5 + doc/1.1.0/search/variables_77.html | 25 + doc/1.1.0/search/variables_77.js | 5 + doc/1.1.0/serial_8cc.html | 125 + doc/1.1.0/serial_8cc__incl.map | 5 + doc/1.1.0/serial_8cc__incl.md5 | 1 + doc/1.1.0/serial_8cc__incl.png | Bin 0 -> 27740 bytes doc/1.1.0/serial_8dox.html | 107 + doc/1.1.0/serial_8h.html | 215 ++ doc/1.1.0/serial_8h__dep__incl.map | 8 + doc/1.1.0/serial_8h__dep__incl.md5 | 1 + doc/1.1.0/serial_8h__dep__incl.png | Bin 0 -> 15660 bytes doc/1.1.0/serial_8h__incl.map | 3 + doc/1.1.0/serial_8h__incl.md5 | 1 + doc/1.1.0/serial_8h__incl.png | Bin 0 -> 19266 bytes doc/1.1.0/serial_8h_source.html | 422 ++++ doc/1.1.0/serial__example_8cc.html | 307 +++ doc/1.1.0/serial__example_8cc__incl.map | 4 + doc/1.1.0/serial__example_8cc__incl.md5 | 1 + doc/1.1.0/serial__example_8cc__incl.png | Bin 0 -> 29764 bytes doc/1.1.0/structserial_1_1_timeout.html | 311 +++ doc/1.1.0/tab_a.png | Bin 0 -> 140 bytes doc/1.1.0/tab_b.png | Bin 0 -> 178 bytes doc/1.1.0/tab_h.png | Bin 0 -> 192 bytes doc/1.1.0/tab_s.png | Bin 0 -> 189 bytes doc/1.1.0/tabs.css | 59 + doc/1.1.0/unix_8cc.html | 187 ++ doc/1.1.0/unix_8cc__incl.map | 5 + doc/1.1.0/unix_8cc__incl.md5 | 1 + doc/1.1.0/unix_8cc__incl.png | Bin 0 -> 78517 bytes doc/1.1.0/unix_8h.html | 151 ++ doc/1.1.0/unix_8h__dep__incl.map | 4 + doc/1.1.0/unix_8h__dep__incl.md5 | 1 + doc/1.1.0/unix_8h__dep__incl.png | Bin 0 -> 6453 bytes doc/1.1.0/unix_8h__incl.map | 4 + doc/1.1.0/unix_8h__incl.md5 | 1 + doc/1.1.0/unix_8h__incl.png | Bin 0 -> 24535 bytes doc/1.1.0/unix_8h_source.html | 270 +++ doc/1.1.0/v8stdint_8h.html | 124 + doc/1.1.0/v8stdint_8h__dep__incl.map | 9 + doc/1.1.0/v8stdint_8h__dep__incl.md5 | 1 + doc/1.1.0/v8stdint_8h__dep__incl.png | Bin 0 -> 18453 bytes doc/1.1.0/v8stdint_8h__incl.map | 2 + doc/1.1.0/v8stdint_8h__incl.md5 | 1 + doc/1.1.0/v8stdint_8h__incl.png | Bin 0 -> 6227 bytes doc/1.1.0/v8stdint_8h_source.html | 164 ++ doc/1.1.0/win_8cc.html | 115 + doc/1.1.0/win_8cc__incl.map | 5 + doc/1.1.0/win_8cc__incl.md5 | 1 + doc/1.1.0/win_8cc__incl.png | Bin 0 -> 26059 bytes doc/1.1.0/win_8h.html | 136 ++ doc/1.1.0/win_8h__dep__incl.map | 3 + doc/1.1.0/win_8h__dep__incl.md5 | 1 + doc/1.1.0/win_8h__dep__incl.png | Bin 0 -> 4269 bytes doc/1.1.0/win_8h__incl.map | 4 + doc/1.1.0/win_8h__incl.md5 | 1 + doc/1.1.0/win_8h__incl.png | Bin 0 -> 24658 bytes doc/1.1.0/win_8h_source.html | 268 ++ index.html | 21 +- 788 files changed, 56944 insertions(+), 9 deletions(-) create mode 100644 doc/0.2/annotated.html create mode 100644 doc/0.2/bc_s.png create mode 100644 doc/0.2/bdwn.png create mode 100644 doc/0.2/class_serial_1_1_scoped_read_lock.html create mode 100644 doc/0.2/class_serial_1_1_scoped_write_lock.html create mode 100644 doc/0.2/classes.html create mode 100644 doc/0.2/classserial_1_1_i_o_exception.html create mode 100644 doc/0.2/classserial_1_1_port_not_opened_exception.html create mode 100644 doc/0.2/classserial_1_1_serial.html create mode 100644 doc/0.2/classserial_1_1_serial_exception_base.html create mode 100644 doc/0.2/classserial_1_1_serial_execption.html create mode 100644 doc/0.2/classserial_1_1serial_1_1_serial_1_1_serial_impl.html create mode 100644 doc/0.2/closed.png create mode 100644 doc/0.2/doxygen.css create mode 100644 doc/0.2/doxygen.png create mode 100644 doc/0.2/files.html create mode 100644 doc/0.2/functions.html create mode 100644 doc/0.2/functions_func.html create mode 100644 doc/0.2/globals.html create mode 100644 doc/0.2/globals_defs.html create mode 100644 doc/0.2/globals_func.html create mode 100644 doc/0.2/graph_legend.html create mode 100644 doc/0.2/graph_legend.md5 create mode 100644 doc/0.2/graph_legend.png create mode 100644 doc/0.2/index.html create mode 100644 doc/0.2/jquery.js create mode 100644 doc/0.2/namespacemembers.html create mode 100644 doc/0.2/namespacemembers_enum.html create mode 100644 doc/0.2/namespacemembers_eval.html create mode 100644 doc/0.2/namespaces.html create mode 100644 doc/0.2/namespaceserial.html create mode 100644 doc/0.2/namespaceserial_1_1serial.html create mode 100644 doc/0.2/namespaceserial_1_1serial_1_1_serial.html create mode 100644 doc/0.2/nav_f.png create mode 100644 doc/0.2/nav_h.png create mode 100644 doc/0.2/open.png create mode 100644 doc/0.2/search/all_61.html create mode 100644 doc/0.2/search/all_61.js create mode 100644 doc/0.2/search/all_62.html create mode 100644 doc/0.2/search/all_62.js create mode 100644 doc/0.2/search/all_63.html create mode 100644 doc/0.2/search/all_63.js create mode 100644 doc/0.2/search/all_65.html create mode 100644 doc/0.2/search/all_65.js create mode 100644 doc/0.2/search/all_66.html create mode 100644 doc/0.2/search/all_66.js create mode 100644 doc/0.2/search/all_67.html create mode 100644 doc/0.2/search/all_67.js create mode 100644 doc/0.2/search/all_69.html create mode 100644 doc/0.2/search/all_69.js create mode 100644 doc/0.2/search/all_6f.html create mode 100644 doc/0.2/search/all_6f.js create mode 100644 doc/0.2/search/all_70.html create mode 100644 doc/0.2/search/all_70.js create mode 100644 doc/0.2/search/all_72.html create mode 100644 doc/0.2/search/all_72.js create mode 100644 doc/0.2/search/all_73.html create mode 100644 doc/0.2/search/all_73.js create mode 100644 doc/0.2/search/all_74.html create mode 100644 doc/0.2/search/all_74.js create mode 100644 doc/0.2/search/all_75.html create mode 100644 doc/0.2/search/all_75.js create mode 100644 doc/0.2/search/all_77.html create mode 100644 doc/0.2/search/all_77.js create mode 100644 doc/0.2/search/all_7e.html create mode 100644 doc/0.2/search/all_7e.js create mode 100644 doc/0.2/search/classes_69.html create mode 100644 doc/0.2/search/classes_69.js create mode 100644 doc/0.2/search/classes_70.html create mode 100644 doc/0.2/search/classes_70.js create mode 100644 doc/0.2/search/classes_73.html create mode 100644 doc/0.2/search/classes_73.js create mode 100644 doc/0.2/search/close.png create mode 100644 doc/0.2/search/defines_74.html create mode 100644 doc/0.2/search/defines_74.js create mode 100644 doc/0.2/search/enums_62.html create mode 100644 doc/0.2/search/enums_62.js create mode 100644 doc/0.2/search/enums_66.html create mode 100644 doc/0.2/search/enums_66.js create mode 100644 doc/0.2/search/enums_70.html create mode 100644 doc/0.2/search/enums_70.js create mode 100644 doc/0.2/search/enums_73.html create mode 100644 doc/0.2/search/enums_73.js create mode 100644 doc/0.2/search/enumvalues_65.html create mode 100644 doc/0.2/search/enumvalues_65.js create mode 100644 doc/0.2/search/enumvalues_66.html create mode 100644 doc/0.2/search/enumvalues_66.js create mode 100644 doc/0.2/search/enumvalues_70.html create mode 100644 doc/0.2/search/enumvalues_70.js create mode 100644 doc/0.2/search/enumvalues_73.html create mode 100644 doc/0.2/search/enumvalues_73.js create mode 100644 doc/0.2/search/files_73.html create mode 100644 doc/0.2/search/files_73.js create mode 100644 doc/0.2/search/files_75.html create mode 100644 doc/0.2/search/files_75.js create mode 100644 doc/0.2/search/files_77.html create mode 100644 doc/0.2/search/files_77.js create mode 100644 doc/0.2/search/functions_61.html create mode 100644 doc/0.2/search/functions_61.js create mode 100644 doc/0.2/search/functions_63.html create mode 100644 doc/0.2/search/functions_63.js create mode 100644 doc/0.2/search/functions_66.html create mode 100644 doc/0.2/search/functions_66.js create mode 100644 doc/0.2/search/functions_67.html create mode 100644 doc/0.2/search/functions_67.js create mode 100644 doc/0.2/search/functions_69.html create mode 100644 doc/0.2/search/functions_69.js create mode 100644 doc/0.2/search/functions_6f.html create mode 100644 doc/0.2/search/functions_6f.js create mode 100644 doc/0.2/search/functions_70.html create mode 100644 doc/0.2/search/functions_70.js create mode 100644 doc/0.2/search/functions_72.html create mode 100644 doc/0.2/search/functions_72.js create mode 100644 doc/0.2/search/functions_73.html create mode 100644 doc/0.2/search/functions_73.js create mode 100644 doc/0.2/search/functions_77.html create mode 100644 doc/0.2/search/functions_77.js create mode 100644 doc/0.2/search/functions_7e.html create mode 100644 doc/0.2/search/functions_7e.js create mode 100644 doc/0.2/search/mag_sel.png create mode 100644 doc/0.2/search/namespaces_73.html create mode 100644 doc/0.2/search/namespaces_73.js create mode 100644 doc/0.2/search/nomatches.html create mode 100644 doc/0.2/search/search.css create mode 100644 doc/0.2/search/search.js create mode 100644 doc/0.2/search/search_l.png create mode 100644 doc/0.2/search/search_m.png create mode 100644 doc/0.2/search/search_r.png create mode 100644 doc/0.2/serial_8cc.html create mode 100644 doc/0.2/serial_8cc__incl.map create mode 100644 doc/0.2/serial_8cc__incl.md5 create mode 100644 doc/0.2/serial_8cc__incl.png create mode 100644 doc/0.2/serial_8h.html create mode 100644 doc/0.2/serial_8h__dep__incl.map create mode 100644 doc/0.2/serial_8h__dep__incl.md5 create mode 100644 doc/0.2/serial_8h__dep__incl.png create mode 100644 doc/0.2/serial_8h__incl.map create mode 100644 doc/0.2/serial_8h__incl.md5 create mode 100644 doc/0.2/serial_8h__incl.png create mode 100644 doc/0.2/serial_8h_source.html create mode 100644 doc/0.2/tab_a.png create mode 100644 doc/0.2/tab_b.png create mode 100644 doc/0.2/tab_h.png create mode 100644 doc/0.2/tab_s.png create mode 100644 doc/0.2/tabs.css create mode 100644 doc/0.2/unix_8cc.html create mode 100644 doc/0.2/unix_8cc__incl.map create mode 100644 doc/0.2/unix_8cc__incl.md5 create mode 100644 doc/0.2/unix_8cc__incl.png create mode 100644 doc/0.2/unix_8h.html create mode 100644 doc/0.2/unix_8h__dep__incl.map create mode 100644 doc/0.2/unix_8h__dep__incl.md5 create mode 100644 doc/0.2/unix_8h__dep__incl.png create mode 100644 doc/0.2/unix_8h__incl.map create mode 100644 doc/0.2/unix_8h__incl.md5 create mode 100644 doc/0.2/unix_8h__incl.png create mode 100644 doc/0.2/unix_8h_source.html create mode 100644 doc/0.2/windows_8cc.html create mode 100644 doc/0.2/windows_8cc__incl.map create mode 100644 doc/0.2/windows_8cc__incl.md5 create mode 100644 doc/0.2/windows_8cc__incl.png create mode 100644 doc/0.2/windows_8h.html create mode 100644 doc/0.2/windows_8h__dep__incl.map create mode 100644 doc/0.2/windows_8h__dep__incl.md5 create mode 100644 doc/0.2/windows_8h__dep__incl.png create mode 100644 doc/0.2/windows_8h__incl.map create mode 100644 doc/0.2/windows_8h__incl.md5 create mode 100644 doc/0.2/windows_8h__incl.png create mode 100644 doc/0.2/windows_8h_source.html create mode 100644 doc/1.0.1/annotated.html create mode 100644 doc/1.0.1/bc_s.png create mode 100644 doc/1.0.1/bdwn.png create mode 100644 doc/1.0.1/class_serial_1_1_scoped_read_lock.html create mode 100644 doc/1.0.1/class_serial_1_1_scoped_write_lock.html create mode 100644 doc/1.0.1/classes.html create mode 100644 doc/1.0.1/classserial_1_1_i_o_exception.html create mode 100644 doc/1.0.1/classserial_1_1_port_not_opened_exception.html create mode 100644 doc/1.0.1/classserial_1_1_serial.html create mode 100644 doc/1.0.1/classserial_1_1_serial_execption.html create mode 100644 doc/1.0.1/classserial_1_1serial_1_1_serial_1_1_serial_impl.html create mode 100644 doc/1.0.1/closed.png create mode 100644 doc/1.0.1/doxygen.css create mode 100644 doc/1.0.1/doxygen.png create mode 100644 doc/1.0.1/files.html create mode 100644 doc/1.0.1/functions.html create mode 100644 doc/1.0.1/functions_func.html create mode 100644 doc/1.0.1/functions_vars.html create mode 100644 doc/1.0.1/globals.html create mode 100644 doc/1.0.1/globals_defs.html create mode 100644 doc/1.0.1/globals_func.html create mode 100644 doc/1.0.1/graph_legend.html create mode 100644 doc/1.0.1/graph_legend.md5 create mode 100644 doc/1.0.1/graph_legend.png create mode 100644 doc/1.0.1/index.html create mode 100644 doc/1.0.1/jquery.js create mode 100644 doc/1.0.1/namespacemembers.html create mode 100644 doc/1.0.1/namespacemembers_enum.html create mode 100644 doc/1.0.1/namespacemembers_eval.html create mode 100644 doc/1.0.1/namespaces.html create mode 100644 doc/1.0.1/namespaceserial.html create mode 100644 doc/1.0.1/namespaceserial_1_1serial.html create mode 100644 doc/1.0.1/namespaceserial_1_1serial_1_1_serial.html create mode 100644 doc/1.0.1/nav_f.png create mode 100644 doc/1.0.1/nav_h.png create mode 100644 doc/1.0.1/open.png create mode 100644 doc/1.0.1/search/all_61.html create mode 100644 doc/1.0.1/search/all_61.js create mode 100644 doc/1.0.1/search/all_62.html create mode 100644 doc/1.0.1/search/all_62.js create mode 100644 doc/1.0.1/search/all_63.html create mode 100644 doc/1.0.1/search/all_63.js create mode 100644 doc/1.0.1/search/all_65.html create mode 100644 doc/1.0.1/search/all_65.js create mode 100644 doc/1.0.1/search/all_66.html create mode 100644 doc/1.0.1/search/all_66.js create mode 100644 doc/1.0.1/search/all_67.html create mode 100644 doc/1.0.1/search/all_67.js create mode 100644 doc/1.0.1/search/all_69.html create mode 100644 doc/1.0.1/search/all_69.js create mode 100644 doc/1.0.1/search/all_6d.html create mode 100644 doc/1.0.1/search/all_6d.js create mode 100644 doc/1.0.1/search/all_6f.html create mode 100644 doc/1.0.1/search/all_6f.js create mode 100644 doc/1.0.1/search/all_70.html create mode 100644 doc/1.0.1/search/all_70.js create mode 100644 doc/1.0.1/search/all_72.html create mode 100644 doc/1.0.1/search/all_72.js create mode 100644 doc/1.0.1/search/all_73.html create mode 100644 doc/1.0.1/search/all_73.js create mode 100644 doc/1.0.1/search/all_74.html create mode 100644 doc/1.0.1/search/all_74.js create mode 100644 doc/1.0.1/search/all_75.html create mode 100644 doc/1.0.1/search/all_75.js create mode 100644 doc/1.0.1/search/all_76.html create mode 100644 doc/1.0.1/search/all_76.js create mode 100644 doc/1.0.1/search/all_77.html create mode 100644 doc/1.0.1/search/all_77.js create mode 100644 doc/1.0.1/search/all_7e.html create mode 100644 doc/1.0.1/search/all_7e.js create mode 100644 doc/1.0.1/search/classes_69.html create mode 100644 doc/1.0.1/search/classes_69.js create mode 100644 doc/1.0.1/search/classes_70.html create mode 100644 doc/1.0.1/search/classes_70.js create mode 100644 doc/1.0.1/search/classes_73.html create mode 100644 doc/1.0.1/search/classes_73.js create mode 100644 doc/1.0.1/search/classes_74.html create mode 100644 doc/1.0.1/search/classes_74.js create mode 100644 doc/1.0.1/search/close.png create mode 100644 doc/1.0.1/search/defines_74.html create mode 100644 doc/1.0.1/search/defines_74.js create mode 100644 doc/1.0.1/search/enums_62.html create mode 100644 doc/1.0.1/search/enums_62.js create mode 100644 doc/1.0.1/search/enums_66.html create mode 100644 doc/1.0.1/search/enums_66.js create mode 100644 doc/1.0.1/search/enums_70.html create mode 100644 doc/1.0.1/search/enums_70.js create mode 100644 doc/1.0.1/search/enums_73.html create mode 100644 doc/1.0.1/search/enums_73.js create mode 100644 doc/1.0.1/search/enumvalues_65.html create mode 100644 doc/1.0.1/search/enumvalues_65.js create mode 100644 doc/1.0.1/search/enumvalues_66.html create mode 100644 doc/1.0.1/search/enumvalues_66.js create mode 100644 doc/1.0.1/search/enumvalues_70.html create mode 100644 doc/1.0.1/search/enumvalues_70.js create mode 100644 doc/1.0.1/search/enumvalues_73.html create mode 100644 doc/1.0.1/search/enumvalues_73.js create mode 100644 doc/1.0.1/search/files_73.html create mode 100644 doc/1.0.1/search/files_73.js create mode 100644 doc/1.0.1/search/files_75.html create mode 100644 doc/1.0.1/search/files_75.js create mode 100644 doc/1.0.1/search/files_76.html create mode 100644 doc/1.0.1/search/files_76.js create mode 100644 doc/1.0.1/search/files_77.html create mode 100644 doc/1.0.1/search/files_77.js create mode 100644 doc/1.0.1/search/functions_61.html create mode 100644 doc/1.0.1/search/functions_61.js create mode 100644 doc/1.0.1/search/functions_63.html create mode 100644 doc/1.0.1/search/functions_63.js create mode 100644 doc/1.0.1/search/functions_66.html create mode 100644 doc/1.0.1/search/functions_66.js create mode 100644 doc/1.0.1/search/functions_67.html create mode 100644 doc/1.0.1/search/functions_67.js create mode 100644 doc/1.0.1/search/functions_69.html create mode 100644 doc/1.0.1/search/functions_69.js create mode 100644 doc/1.0.1/search/functions_6d.html create mode 100644 doc/1.0.1/search/functions_6d.js create mode 100644 doc/1.0.1/search/functions_6f.html create mode 100644 doc/1.0.1/search/functions_6f.js create mode 100644 doc/1.0.1/search/functions_70.html create mode 100644 doc/1.0.1/search/functions_70.js create mode 100644 doc/1.0.1/search/functions_72.html create mode 100644 doc/1.0.1/search/functions_72.js create mode 100644 doc/1.0.1/search/functions_73.html create mode 100644 doc/1.0.1/search/functions_73.js create mode 100644 doc/1.0.1/search/functions_74.html create mode 100644 doc/1.0.1/search/functions_74.js create mode 100644 doc/1.0.1/search/functions_77.html create mode 100644 doc/1.0.1/search/functions_77.js create mode 100644 doc/1.0.1/search/functions_7e.html create mode 100644 doc/1.0.1/search/functions_7e.js create mode 100644 doc/1.0.1/search/mag_sel.png create mode 100644 doc/1.0.1/search/namespaces_73.html create mode 100644 doc/1.0.1/search/namespaces_73.js create mode 100644 doc/1.0.1/search/nomatches.html create mode 100644 doc/1.0.1/search/search.css create mode 100644 doc/1.0.1/search/search.js create mode 100644 doc/1.0.1/search/search_l.png create mode 100644 doc/1.0.1/search/search_m.png create mode 100644 doc/1.0.1/search/search_r.png create mode 100644 doc/1.0.1/search/variables_69.html create mode 100644 doc/1.0.1/search/variables_69.js create mode 100644 doc/1.0.1/search/variables_72.html create mode 100644 doc/1.0.1/search/variables_72.js create mode 100644 doc/1.0.1/search/variables_77.html create mode 100644 doc/1.0.1/search/variables_77.js create mode 100644 doc/1.0.1/serial_8cc.html create mode 100644 doc/1.0.1/serial_8cc__incl.map create mode 100644 doc/1.0.1/serial_8cc__incl.md5 create mode 100644 doc/1.0.1/serial_8cc__incl.png create mode 100644 doc/1.0.1/serial_8dox.html create mode 100644 doc/1.0.1/serial_8h.html create mode 100644 doc/1.0.1/serial_8h__dep__incl.map create mode 100644 doc/1.0.1/serial_8h__dep__incl.md5 create mode 100644 doc/1.0.1/serial_8h__dep__incl.png create mode 100644 doc/1.0.1/serial_8h__incl.map create mode 100644 doc/1.0.1/serial_8h__incl.md5 create mode 100644 doc/1.0.1/serial_8h__incl.png create mode 100644 doc/1.0.1/serial_8h_source.html create mode 100644 doc/1.0.1/serial__example_8cc.html create mode 100644 doc/1.0.1/serial__example_8cc__incl.map create mode 100644 doc/1.0.1/serial__example_8cc__incl.md5 create mode 100644 doc/1.0.1/serial__example_8cc__incl.png create mode 100644 doc/1.0.1/structserial_1_1_timeout.html create mode 100644 doc/1.0.1/tab_a.png create mode 100644 doc/1.0.1/tab_b.png create mode 100644 doc/1.0.1/tab_h.png create mode 100644 doc/1.0.1/tab_s.png create mode 100644 doc/1.0.1/tabs.css create mode 100644 doc/1.0.1/unix_8cc.html create mode 100644 doc/1.0.1/unix_8cc__incl.map create mode 100644 doc/1.0.1/unix_8cc__incl.md5 create mode 100644 doc/1.0.1/unix_8cc__incl.png create mode 100644 doc/1.0.1/unix_8h.html create mode 100644 doc/1.0.1/unix_8h__dep__incl.map create mode 100644 doc/1.0.1/unix_8h__dep__incl.md5 create mode 100644 doc/1.0.1/unix_8h__dep__incl.png create mode 100644 doc/1.0.1/unix_8h__incl.map create mode 100644 doc/1.0.1/unix_8h__incl.md5 create mode 100644 doc/1.0.1/unix_8h__incl.png create mode 100644 doc/1.0.1/unix_8h_source.html create mode 100644 doc/1.0.1/v8stdint_8h.html create mode 100644 doc/1.0.1/v8stdint_8h__dep__incl.map create mode 100644 doc/1.0.1/v8stdint_8h__dep__incl.md5 create mode 100644 doc/1.0.1/v8stdint_8h__dep__incl.png create mode 100644 doc/1.0.1/v8stdint_8h__incl.map create mode 100644 doc/1.0.1/v8stdint_8h__incl.md5 create mode 100644 doc/1.0.1/v8stdint_8h__incl.png create mode 100644 doc/1.0.1/v8stdint_8h_source.html create mode 100644 doc/1.0.1/win_8cc.html create mode 100644 doc/1.0.1/win_8cc__incl.map create mode 100644 doc/1.0.1/win_8cc__incl.md5 create mode 100644 doc/1.0.1/win_8cc__incl.png create mode 100644 doc/1.0.1/win_8h.html create mode 100644 doc/1.0.1/win_8h__dep__incl.map create mode 100644 doc/1.0.1/win_8h__dep__incl.md5 create mode 100644 doc/1.0.1/win_8h__dep__incl.png create mode 100644 doc/1.0.1/win_8h__incl.map create mode 100644 doc/1.0.1/win_8h__incl.md5 create mode 100644 doc/1.0.1/win_8h__incl.png create mode 100644 doc/1.0.1/win_8h_source.html create mode 100644 doc/1.0/annotated.html create mode 100644 doc/1.0/bc_s.png create mode 100644 doc/1.0/bdwn.png create mode 100644 doc/1.0/class_serial_1_1_scoped_read_lock.html create mode 100644 doc/1.0/class_serial_1_1_scoped_write_lock.html create mode 100644 doc/1.0/classes.html create mode 100644 doc/1.0/classserial_1_1_i_o_exception.html create mode 100644 doc/1.0/classserial_1_1_port_not_opened_exception.html create mode 100644 doc/1.0/classserial_1_1_serial.html create mode 100644 doc/1.0/classserial_1_1_serial_exception_base.html create mode 100644 doc/1.0/classserial_1_1_serial_execption.html create mode 100644 doc/1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html create mode 100644 doc/1.0/closed.png create mode 100644 doc/1.0/doxygen.css create mode 100644 doc/1.0/doxygen.png create mode 100644 doc/1.0/files.html create mode 100644 doc/1.0/functions.html create mode 100644 doc/1.0/functions_func.html create mode 100644 doc/1.0/functions_vars.html create mode 100644 doc/1.0/globals.html create mode 100644 doc/1.0/globals_defs.html create mode 100644 doc/1.0/globals_func.html create mode 100644 doc/1.0/graph_legend.html create mode 100644 doc/1.0/graph_legend.md5 create mode 100644 doc/1.0/graph_legend.png create mode 100644 doc/1.0/index.html create mode 100644 doc/1.0/jquery.js create mode 100644 doc/1.0/namespacemembers.html create mode 100644 doc/1.0/namespacemembers_enum.html create mode 100644 doc/1.0/namespacemembers_eval.html create mode 100644 doc/1.0/namespaces.html create mode 100644 doc/1.0/namespaceserial.html create mode 100644 doc/1.0/namespaceserial_1_1_serial.html create mode 100644 doc/1.0/namespaceserial_1_1serial.html create mode 100644 doc/1.0/namespaceserial_1_1serial_1_1_serial.html create mode 100644 doc/1.0/nav_f.png create mode 100644 doc/1.0/nav_h.png create mode 100644 doc/1.0/open.png create mode 100644 doc/1.0/search/all_61.html create mode 100644 doc/1.0/search/all_61.js create mode 100644 doc/1.0/search/all_62.html create mode 100644 doc/1.0/search/all_62.js create mode 100644 doc/1.0/search/all_63.html create mode 100644 doc/1.0/search/all_63.js create mode 100644 doc/1.0/search/all_65.html create mode 100644 doc/1.0/search/all_65.js create mode 100644 doc/1.0/search/all_66.html create mode 100644 doc/1.0/search/all_66.js create mode 100644 doc/1.0/search/all_67.html create mode 100644 doc/1.0/search/all_67.js create mode 100644 doc/1.0/search/all_69.html create mode 100644 doc/1.0/search/all_69.js create mode 100644 doc/1.0/search/all_6d.html create mode 100644 doc/1.0/search/all_6d.js create mode 100644 doc/1.0/search/all_6f.html create mode 100644 doc/1.0/search/all_6f.js create mode 100644 doc/1.0/search/all_70.html create mode 100644 doc/1.0/search/all_70.js create mode 100644 doc/1.0/search/all_72.html create mode 100644 doc/1.0/search/all_72.js create mode 100644 doc/1.0/search/all_73.html create mode 100644 doc/1.0/search/all_73.js create mode 100644 doc/1.0/search/all_74.html create mode 100644 doc/1.0/search/all_74.js create mode 100644 doc/1.0/search/all_75.html create mode 100644 doc/1.0/search/all_75.js create mode 100644 doc/1.0/search/all_76.html create mode 100644 doc/1.0/search/all_76.js create mode 100644 doc/1.0/search/all_77.html create mode 100644 doc/1.0/search/all_77.js create mode 100644 doc/1.0/search/all_7e.html create mode 100644 doc/1.0/search/all_7e.js create mode 100644 doc/1.0/search/classes_69.html create mode 100644 doc/1.0/search/classes_69.js create mode 100644 doc/1.0/search/classes_70.html create mode 100644 doc/1.0/search/classes_70.js create mode 100644 doc/1.0/search/classes_73.html create mode 100644 doc/1.0/search/classes_73.js create mode 100644 doc/1.0/search/classes_74.html create mode 100644 doc/1.0/search/classes_74.js create mode 100644 doc/1.0/search/close.png create mode 100644 doc/1.0/search/defines_74.html create mode 100644 doc/1.0/search/defines_74.js create mode 100644 doc/1.0/search/enums_62.html create mode 100644 doc/1.0/search/enums_62.js create mode 100644 doc/1.0/search/enums_66.html create mode 100644 doc/1.0/search/enums_66.js create mode 100644 doc/1.0/search/enums_70.html create mode 100644 doc/1.0/search/enums_70.js create mode 100644 doc/1.0/search/enums_73.html create mode 100644 doc/1.0/search/enums_73.js create mode 100644 doc/1.0/search/enumvalues_65.html create mode 100644 doc/1.0/search/enumvalues_65.js create mode 100644 doc/1.0/search/enumvalues_66.html create mode 100644 doc/1.0/search/enumvalues_66.js create mode 100644 doc/1.0/search/enumvalues_70.html create mode 100644 doc/1.0/search/enumvalues_70.js create mode 100644 doc/1.0/search/enumvalues_73.html create mode 100644 doc/1.0/search/enumvalues_73.js create mode 100644 doc/1.0/search/files_73.html create mode 100644 doc/1.0/search/files_73.js create mode 100644 doc/1.0/search/files_75.html create mode 100644 doc/1.0/search/files_75.js create mode 100644 doc/1.0/search/files_76.html create mode 100644 doc/1.0/search/files_76.js create mode 100644 doc/1.0/search/files_77.html create mode 100644 doc/1.0/search/files_77.js create mode 100644 doc/1.0/search/functions_61.html create mode 100644 doc/1.0/search/functions_61.js create mode 100644 doc/1.0/search/functions_63.html create mode 100644 doc/1.0/search/functions_63.js create mode 100644 doc/1.0/search/functions_66.html create mode 100644 doc/1.0/search/functions_66.js create mode 100644 doc/1.0/search/functions_67.html create mode 100644 doc/1.0/search/functions_67.js create mode 100644 doc/1.0/search/functions_69.html create mode 100644 doc/1.0/search/functions_69.js create mode 100644 doc/1.0/search/functions_6d.html create mode 100644 doc/1.0/search/functions_6d.js create mode 100644 doc/1.0/search/functions_6f.html create mode 100644 doc/1.0/search/functions_6f.js create mode 100644 doc/1.0/search/functions_70.html create mode 100644 doc/1.0/search/functions_70.js create mode 100644 doc/1.0/search/functions_72.html create mode 100644 doc/1.0/search/functions_72.js create mode 100644 doc/1.0/search/functions_73.html create mode 100644 doc/1.0/search/functions_73.js create mode 100644 doc/1.0/search/functions_74.html create mode 100644 doc/1.0/search/functions_74.js create mode 100644 doc/1.0/search/functions_77.html create mode 100644 doc/1.0/search/functions_77.js create mode 100644 doc/1.0/search/functions_7e.html create mode 100644 doc/1.0/search/functions_7e.js create mode 100644 doc/1.0/search/mag_sel.png create mode 100644 doc/1.0/search/namespaces_73.html create mode 100644 doc/1.0/search/namespaces_73.js create mode 100644 doc/1.0/search/nomatches.html create mode 100644 doc/1.0/search/search.css create mode 100644 doc/1.0/search/search.js create mode 100644 doc/1.0/search/search_l.png create mode 100644 doc/1.0/search/search_m.png create mode 100644 doc/1.0/search/search_r.png create mode 100644 doc/1.0/search/variables_69.html create mode 100644 doc/1.0/search/variables_69.js create mode 100644 doc/1.0/search/variables_72.html create mode 100644 doc/1.0/search/variables_72.js create mode 100644 doc/1.0/search/variables_77.html create mode 100644 doc/1.0/search/variables_77.js create mode 100644 doc/1.0/serial_8cc.html create mode 100644 doc/1.0/serial_8cc__incl.map create mode 100644 doc/1.0/serial_8cc__incl.md5 create mode 100644 doc/1.0/serial_8cc__incl.png create mode 100644 doc/1.0/serial_8dox.html create mode 100644 doc/1.0/serial_8h.html create mode 100644 doc/1.0/serial_8h__dep__incl.map create mode 100644 doc/1.0/serial_8h__dep__incl.md5 create mode 100644 doc/1.0/serial_8h__dep__incl.png create mode 100644 doc/1.0/serial_8h__incl.map create mode 100644 doc/1.0/serial_8h__incl.md5 create mode 100644 doc/1.0/serial_8h__incl.png create mode 100644 doc/1.0/serial_8h_source.html create mode 100644 doc/1.0/serial__example_8cc.html create mode 100644 doc/1.0/serial__example_8cc__incl.map create mode 100644 doc/1.0/serial__example_8cc__incl.md5 create mode 100644 doc/1.0/serial__example_8cc__incl.png create mode 100644 doc/1.0/structserial_1_1_timeout.html create mode 100644 doc/1.0/structserial_1_1timeout__t.html create mode 100644 doc/1.0/tab_a.png create mode 100644 doc/1.0/tab_b.png create mode 100644 doc/1.0/tab_h.png create mode 100644 doc/1.0/tab_s.png create mode 100644 doc/1.0/tabs.css create mode 100644 doc/1.0/unix_8cc.html create mode 100644 doc/1.0/unix_8cc__incl.map create mode 100644 doc/1.0/unix_8cc__incl.md5 create mode 100644 doc/1.0/unix_8cc__incl.png create mode 100644 doc/1.0/unix_8h.html create mode 100644 doc/1.0/unix_8h__dep__incl.map create mode 100644 doc/1.0/unix_8h__dep__incl.md5 create mode 100644 doc/1.0/unix_8h__dep__incl.png create mode 100644 doc/1.0/unix_8h__incl.map create mode 100644 doc/1.0/unix_8h__incl.md5 create mode 100644 doc/1.0/unix_8h__incl.png create mode 100644 doc/1.0/unix_8h_source.html create mode 100644 doc/1.0/v8stdint_8h.html create mode 100644 doc/1.0/v8stdint_8h__dep__incl.map create mode 100644 doc/1.0/v8stdint_8h__dep__incl.md5 create mode 100644 doc/1.0/v8stdint_8h__dep__incl.png create mode 100644 doc/1.0/v8stdint_8h__incl.map create mode 100644 doc/1.0/v8stdint_8h__incl.md5 create mode 100644 doc/1.0/v8stdint_8h__incl.png create mode 100644 doc/1.0/v8stdint_8h_source.html create mode 100644 doc/1.0/win_8cc.html create mode 100644 doc/1.0/win_8cc__incl.map create mode 100644 doc/1.0/win_8cc__incl.md5 create mode 100644 doc/1.0/win_8cc__incl.png create mode 100644 doc/1.0/win_8h.html create mode 100644 doc/1.0/win_8h__dep__incl.map create mode 100644 doc/1.0/win_8h__dep__incl.md5 create mode 100644 doc/1.0/win_8h__dep__incl.png create mode 100644 doc/1.0/win_8h__incl.map create mode 100644 doc/1.0/win_8h__incl.md5 create mode 100644 doc/1.0/win_8h__incl.png create mode 100644 doc/1.0/win_8h_source.html create mode 100644 doc/1.0/windows_8cc.html create mode 100644 doc/1.0/windows_8cc__incl.map create mode 100644 doc/1.0/windows_8cc__incl.md5 create mode 100644 doc/1.0/windows_8cc__incl.png create mode 100644 doc/1.0/windows_8h.html create mode 100644 doc/1.0/windows_8h__dep__incl.map create mode 100644 doc/1.0/windows_8h__dep__incl.md5 create mode 100644 doc/1.0/windows_8h__dep__incl.png create mode 100644 doc/1.0/windows_8h__incl.map create mode 100644 doc/1.0/windows_8h__incl.md5 create mode 100644 doc/1.0/windows_8h__incl.png create mode 100644 doc/1.0/windows_8h_source.html create mode 100644 doc/1.1.0/annotated.html create mode 100644 doc/1.1.0/bc_s.png create mode 100644 doc/1.1.0/bdwn.png create mode 100644 doc/1.1.0/class_serial_1_1_scoped_read_lock.html create mode 100644 doc/1.1.0/class_serial_1_1_scoped_write_lock.html create mode 100644 doc/1.1.0/classes.html create mode 100644 doc/1.1.0/classserial_1_1_i_o_exception.html create mode 100644 doc/1.1.0/classserial_1_1_port_not_opened_exception.html create mode 100644 doc/1.1.0/classserial_1_1_serial.html create mode 100644 doc/1.1.0/classserial_1_1_serial_execption.html create mode 100644 doc/1.1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html create mode 100644 doc/1.1.0/closed.png create mode 100644 doc/1.1.0/doxygen.css create mode 100644 doc/1.1.0/doxygen.png create mode 100644 doc/1.1.0/files.html create mode 100644 doc/1.1.0/functions.html create mode 100644 doc/1.1.0/functions_func.html create mode 100644 doc/1.1.0/functions_vars.html create mode 100644 doc/1.1.0/globals.html create mode 100644 doc/1.1.0/globals_defs.html create mode 100644 doc/1.1.0/globals_func.html create mode 100644 doc/1.1.0/graph_legend.html create mode 100644 doc/1.1.0/graph_legend.md5 create mode 100644 doc/1.1.0/graph_legend.png create mode 100644 doc/1.1.0/index.html create mode 100644 doc/1.1.0/jquery.js create mode 100644 doc/1.1.0/namespacemembers.html create mode 100644 doc/1.1.0/namespacemembers_enum.html create mode 100644 doc/1.1.0/namespacemembers_eval.html create mode 100644 doc/1.1.0/namespaces.html create mode 100644 doc/1.1.0/namespaceserial.html create mode 100644 doc/1.1.0/namespaceserial_1_1serial.html create mode 100644 doc/1.1.0/namespaceserial_1_1serial_1_1_serial.html create mode 100644 doc/1.1.0/nav_f.png create mode 100644 doc/1.1.0/nav_h.png create mode 100644 doc/1.1.0/open.png create mode 100644 doc/1.1.0/search/all_61.html create mode 100644 doc/1.1.0/search/all_61.js create mode 100644 doc/1.1.0/search/all_62.html create mode 100644 doc/1.1.0/search/all_62.js create mode 100644 doc/1.1.0/search/all_63.html create mode 100644 doc/1.1.0/search/all_63.js create mode 100644 doc/1.1.0/search/all_65.html create mode 100644 doc/1.1.0/search/all_65.js create mode 100644 doc/1.1.0/search/all_66.html create mode 100644 doc/1.1.0/search/all_66.js create mode 100644 doc/1.1.0/search/all_67.html create mode 100644 doc/1.1.0/search/all_67.js create mode 100644 doc/1.1.0/search/all_69.html create mode 100644 doc/1.1.0/search/all_69.js create mode 100644 doc/1.1.0/search/all_6d.html create mode 100644 doc/1.1.0/search/all_6d.js create mode 100644 doc/1.1.0/search/all_6f.html create mode 100644 doc/1.1.0/search/all_6f.js create mode 100644 doc/1.1.0/search/all_70.html create mode 100644 doc/1.1.0/search/all_70.js create mode 100644 doc/1.1.0/search/all_72.html create mode 100644 doc/1.1.0/search/all_72.js create mode 100644 doc/1.1.0/search/all_73.html create mode 100644 doc/1.1.0/search/all_73.js create mode 100644 doc/1.1.0/search/all_74.html create mode 100644 doc/1.1.0/search/all_74.js create mode 100644 doc/1.1.0/search/all_75.html create mode 100644 doc/1.1.0/search/all_75.js create mode 100644 doc/1.1.0/search/all_76.html create mode 100644 doc/1.1.0/search/all_76.js create mode 100644 doc/1.1.0/search/all_77.html create mode 100644 doc/1.1.0/search/all_77.js create mode 100644 doc/1.1.0/search/all_7e.html create mode 100644 doc/1.1.0/search/all_7e.js create mode 100644 doc/1.1.0/search/classes_69.html create mode 100644 doc/1.1.0/search/classes_69.js create mode 100644 doc/1.1.0/search/classes_70.html create mode 100644 doc/1.1.0/search/classes_70.js create mode 100644 doc/1.1.0/search/classes_73.html create mode 100644 doc/1.1.0/search/classes_73.js create mode 100644 doc/1.1.0/search/classes_74.html create mode 100644 doc/1.1.0/search/classes_74.js create mode 100644 doc/1.1.0/search/close.png create mode 100644 doc/1.1.0/search/defines_74.html create mode 100644 doc/1.1.0/search/defines_74.js create mode 100644 doc/1.1.0/search/enums_62.html create mode 100644 doc/1.1.0/search/enums_62.js create mode 100644 doc/1.1.0/search/enums_66.html create mode 100644 doc/1.1.0/search/enums_66.js create mode 100644 doc/1.1.0/search/enums_70.html create mode 100644 doc/1.1.0/search/enums_70.js create mode 100644 doc/1.1.0/search/enums_73.html create mode 100644 doc/1.1.0/search/enums_73.js create mode 100644 doc/1.1.0/search/enumvalues_65.html create mode 100644 doc/1.1.0/search/enumvalues_65.js create mode 100644 doc/1.1.0/search/enumvalues_66.html create mode 100644 doc/1.1.0/search/enumvalues_66.js create mode 100644 doc/1.1.0/search/enumvalues_70.html create mode 100644 doc/1.1.0/search/enumvalues_70.js create mode 100644 doc/1.1.0/search/enumvalues_73.html create mode 100644 doc/1.1.0/search/enumvalues_73.js create mode 100644 doc/1.1.0/search/files_73.html create mode 100644 doc/1.1.0/search/files_73.js create mode 100644 doc/1.1.0/search/files_75.html create mode 100644 doc/1.1.0/search/files_75.js create mode 100644 doc/1.1.0/search/files_76.html create mode 100644 doc/1.1.0/search/files_76.js create mode 100644 doc/1.1.0/search/files_77.html create mode 100644 doc/1.1.0/search/files_77.js create mode 100644 doc/1.1.0/search/functions_61.html create mode 100644 doc/1.1.0/search/functions_61.js create mode 100644 doc/1.1.0/search/functions_63.html create mode 100644 doc/1.1.0/search/functions_63.js create mode 100644 doc/1.1.0/search/functions_66.html create mode 100644 doc/1.1.0/search/functions_66.js create mode 100644 doc/1.1.0/search/functions_67.html create mode 100644 doc/1.1.0/search/functions_67.js create mode 100644 doc/1.1.0/search/functions_69.html create mode 100644 doc/1.1.0/search/functions_69.js create mode 100644 doc/1.1.0/search/functions_6d.html create mode 100644 doc/1.1.0/search/functions_6d.js create mode 100644 doc/1.1.0/search/functions_6f.html create mode 100644 doc/1.1.0/search/functions_6f.js create mode 100644 doc/1.1.0/search/functions_70.html create mode 100644 doc/1.1.0/search/functions_70.js create mode 100644 doc/1.1.0/search/functions_72.html create mode 100644 doc/1.1.0/search/functions_72.js create mode 100644 doc/1.1.0/search/functions_73.html create mode 100644 doc/1.1.0/search/functions_73.js create mode 100644 doc/1.1.0/search/functions_74.html create mode 100644 doc/1.1.0/search/functions_74.js create mode 100644 doc/1.1.0/search/functions_77.html create mode 100644 doc/1.1.0/search/functions_77.js create mode 100644 doc/1.1.0/search/functions_7e.html create mode 100644 doc/1.1.0/search/functions_7e.js create mode 100644 doc/1.1.0/search/mag_sel.png create mode 100644 doc/1.1.0/search/namespaces_73.html create mode 100644 doc/1.1.0/search/namespaces_73.js create mode 100644 doc/1.1.0/search/nomatches.html create mode 100644 doc/1.1.0/search/search.css create mode 100644 doc/1.1.0/search/search.js create mode 100644 doc/1.1.0/search/search_l.png create mode 100644 doc/1.1.0/search/search_m.png create mode 100644 doc/1.1.0/search/search_r.png create mode 100644 doc/1.1.0/search/variables_69.html create mode 100644 doc/1.1.0/search/variables_69.js create mode 100644 doc/1.1.0/search/variables_72.html create mode 100644 doc/1.1.0/search/variables_72.js create mode 100644 doc/1.1.0/search/variables_77.html create mode 100644 doc/1.1.0/search/variables_77.js create mode 100644 doc/1.1.0/serial_8cc.html create mode 100644 doc/1.1.0/serial_8cc__incl.map create mode 100644 doc/1.1.0/serial_8cc__incl.md5 create mode 100644 doc/1.1.0/serial_8cc__incl.png create mode 100644 doc/1.1.0/serial_8dox.html create mode 100644 doc/1.1.0/serial_8h.html create mode 100644 doc/1.1.0/serial_8h__dep__incl.map create mode 100644 doc/1.1.0/serial_8h__dep__incl.md5 create mode 100644 doc/1.1.0/serial_8h__dep__incl.png create mode 100644 doc/1.1.0/serial_8h__incl.map create mode 100644 doc/1.1.0/serial_8h__incl.md5 create mode 100644 doc/1.1.0/serial_8h__incl.png create mode 100644 doc/1.1.0/serial_8h_source.html create mode 100644 doc/1.1.0/serial__example_8cc.html create mode 100644 doc/1.1.0/serial__example_8cc__incl.map create mode 100644 doc/1.1.0/serial__example_8cc__incl.md5 create mode 100644 doc/1.1.0/serial__example_8cc__incl.png create mode 100644 doc/1.1.0/structserial_1_1_timeout.html create mode 100644 doc/1.1.0/tab_a.png create mode 100644 doc/1.1.0/tab_b.png create mode 100644 doc/1.1.0/tab_h.png create mode 100644 doc/1.1.0/tab_s.png create mode 100644 doc/1.1.0/tabs.css create mode 100644 doc/1.1.0/unix_8cc.html create mode 100644 doc/1.1.0/unix_8cc__incl.map create mode 100644 doc/1.1.0/unix_8cc__incl.md5 create mode 100644 doc/1.1.0/unix_8cc__incl.png create mode 100644 doc/1.1.0/unix_8h.html create mode 100644 doc/1.1.0/unix_8h__dep__incl.map create mode 100644 doc/1.1.0/unix_8h__dep__incl.md5 create mode 100644 doc/1.1.0/unix_8h__dep__incl.png create mode 100644 doc/1.1.0/unix_8h__incl.map create mode 100644 doc/1.1.0/unix_8h__incl.md5 create mode 100644 doc/1.1.0/unix_8h__incl.png create mode 100644 doc/1.1.0/unix_8h_source.html create mode 100644 doc/1.1.0/v8stdint_8h.html create mode 100644 doc/1.1.0/v8stdint_8h__dep__incl.map create mode 100644 doc/1.1.0/v8stdint_8h__dep__incl.md5 create mode 100644 doc/1.1.0/v8stdint_8h__dep__incl.png create mode 100644 doc/1.1.0/v8stdint_8h__incl.map create mode 100644 doc/1.1.0/v8stdint_8h__incl.md5 create mode 100644 doc/1.1.0/v8stdint_8h__incl.png create mode 100644 doc/1.1.0/v8stdint_8h_source.html create mode 100644 doc/1.1.0/win_8cc.html create mode 100644 doc/1.1.0/win_8cc__incl.map create mode 100644 doc/1.1.0/win_8cc__incl.md5 create mode 100644 doc/1.1.0/win_8cc__incl.png create mode 100644 doc/1.1.0/win_8h.html create mode 100644 doc/1.1.0/win_8h__dep__incl.map create mode 100644 doc/1.1.0/win_8h__dep__incl.md5 create mode 100644 doc/1.1.0/win_8h__dep__incl.png create mode 100644 doc/1.1.0/win_8h__incl.map create mode 100644 doc/1.1.0/win_8h__incl.md5 create mode 100644 doc/1.1.0/win_8h__incl.png create mode 100644 doc/1.1.0/win_8h_source.html diff --git a/doc/0.2/annotated.html b/doc/0.2/annotated.html new file mode 100644 index 0000000..17ce425 --- /dev/null +++ b/doc/0.2/annotated.html @@ -0,0 +1,118 @@ + + + + + +serial: Data Structures + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + +
+ +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+ + + + + + + + +
serial::IOException
serial::PortNotOpenedException
serial::Serial::ScopedReadLock
serial::Serial::ScopedWriteLock
serial::Serial
serial::SerialExceptionBase
serial::SerialExecption
serial::serial::Serial::SerialImpl
+
+ + + + + + diff --git a/doc/0.2/bc_s.png b/doc/0.2/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/doc/0.2/bdwn.png b/doc/0.2/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-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
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/doc/0.2/class_serial_1_1_scoped_write_lock.html b/doc/0.2/class_serial_1_1_scoped_write_lock.html new file mode 100644 index 0000000..5cd2639 --- /dev/null +++ b/doc/0.2/class_serial_1_1_scoped_write_lock.html @@ -0,0 +1,166 @@ + + + + + +serial: serial::Serial::ScopedWriteLock Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
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/doc/0.2/classes.html b/doc/0.2/classes.html new file mode 100644 index 0000000..9533600 --- /dev/null +++ b/doc/0.2/classes.html @@ -0,0 +1,119 @@ + + + + + +serial: Data Structure Index + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structure Index
+
+
+
I | P | S
+ + + + + +
  I  
+
  P  
+
  S  
+
Serial::ScopedWriteLock   SerialExecption (serial)   
Serial (serial)   SerialImpl (serial::serial::Serial)   
IOException (serial)   PortNotOpenedException (serial)   Serial::ScopedReadLock   SerialExceptionBase (serial)   
+
I | P | S
+
+ + + + + + diff --git a/doc/0.2/classserial_1_1_i_o_exception.html b/doc/0.2/classserial_1_1_i_o_exception.html new file mode 100644 index 0000000..895c4d3 --- /dev/null +++ b/doc/0.2/classserial_1_1_i_o_exception.html @@ -0,0 +1,259 @@ + + + + + +serial: serial::IOException Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
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/doc/0.2/classserial_1_1_port_not_opened_exception.html b/doc/0.2/classserial_1_1_port_not_opened_exception.html new file mode 100644 index 0000000..4fdc592 --- /dev/null +++ b/doc/0.2/classserial_1_1_port_not_opened_exception.html @@ -0,0 +1,168 @@ + + + + + +serial: serial::PortNotOpenedException Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
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/doc/0.2/classserial_1_1_serial.html b/doc/0.2/classserial_1_1_serial.html new file mode 100644 index 0000000..188b3e4 --- /dev/null +++ b/doc/0.2/classserial_1_1_serial.html @@ -0,0 +1,1347 @@ + + + + + +serial: serial::Serial Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
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, long timeout=0, 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 (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
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 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,
long timeout = 0,
bytesize_t bytesize = eightbits,
parity_t parity = parity_none,
stopbits_t stopbits = stopbits_one,
flowcontrol_t flowcontrol = flowcontrol_none 
)
+
+
+

Constructor, creates a SerialPortBoost object and opens the port.

+
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 buadrate
timeoutA long that represents the time (in milliseconds) until a timeout on reads occur. Setting this to zero (0) will cause reading to be non-blocking, i.e. the available data will be returned immediately, but it will not block to wait for more. Setting this to a number less than zero (-1) will result in infinite blocking behaviour, i.e. the serial port will block until either size bytes have been read or an exception has occured.
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
buffer_sizeThe maximum size of the internal buffer, defaults to 256 bytes (2^8).
+
+
+
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 ()
+
+
+
{
+  return pimpl_->getCD ();
+}
+
+
+
+ +
+
+ + + + + + + +
bool Serial::getCTS ()
+
+
+
{
+  return pimpl_->getCTS ();
+}
+
+
+
+ +
+
+ + + + + + + +
bool Serial::getDSR ()
+
+
+
{
+  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 ()
+
+
+
{
+  return pimpl_->getRI ();
+}
+
+
+
+ +
+
+ + + + + + + +
stopbits_t Serial::getStopbits () const
+
+
+

Gets the stopbits for the serial port.

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

Gets the timeout for reads in seconds.

+
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 portname is set and the port isn't alreay 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.

+

If a timeout is set it may return less characters than requested. With no timeout it will block until the requested number of bytes have been read or until an exception occurs.

+
Parameters:
+ + +
sizeA size_t defining how many bytes to be read.
+
+
+
Returns:
A std::string containing the data read.
+
{
+  ScopedReadLock (this->pimpl_);
+  return this->pimpl_->read (buffer, size);
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t Serial::read (std::vector< unsigned char > & buffer,
size_t size = 1 
)
+
+
+
{
+  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 
)
+
+
+
{
+  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)
+
+
+
{
+  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:
+ + + +
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.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
std::string serial::Serial::readline (size_t size = 65536,
std::string eol = "\n" 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
vector< string > Serial::readlines (size_t size = 65536,
std::string eol = "\n" 
)
+
+
+

Reads in multiple lines until the serail 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)
+
+
+
{
+  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)
+
+
+
{
+  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)
+
+
+
{
+  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)
+
+
+
{
+  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 (long timeout)
+
+
+

Sets the timeout for reads in milliseconds.

+
Parameters:
+ + +
timeoutA long that represents the time (in milliseconds) until a timeout on reads occur. Setting this to zero (0) will cause reading to be non-blocking, i.e. the available data will be returned immediately, but it will not block to wait for more. Setting this to a number less than zero (-1) will result in infinite blocking behaviour, i.e. the serial port will block until either size bytes have been read or an exception has occured.
+
+
+
{
+  pimpl_->setTimeout (timeout);
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t serial::Serial::write (const unsigned char * data,
size_t size 
)
+
+
+

Write a string to the serial port.

+
Parameters:
+ + +
dataA const reference containg 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::vector< unsigned char > & data)
+
+
+ +
+
+ +
+
+ + + + + + + + +
size_t serial::Serial::write (const std::string & data)
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + + + diff --git a/doc/0.2/classserial_1_1_serial_exception_base.html b/doc/0.2/classserial_1_1_serial_exception_base.html new file mode 100644 index 0000000..34a5906 --- /dev/null +++ b/doc/0.2/classserial_1_1_serial_exception_base.html @@ -0,0 +1,119 @@ + + + + + +serial: serial::SerialExceptionBase Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
serial::SerialExceptionBase Class Reference
+
+
+ +

#include <serial.h>

+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/doc/0.2/classserial_1_1_serial_execption.html b/doc/0.2/classserial_1_1_serial_execption.html new file mode 100644 index 0000000..7d0a8ae --- /dev/null +++ b/doc/0.2/classserial_1_1_serial_execption.html @@ -0,0 +1,168 @@ + + + + + +serial: serial::SerialExecption Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
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/doc/0.2/classserial_1_1serial_1_1_serial_1_1_serial_impl.html b/doc/0.2/classserial_1_1serial_1_1_serial_1_1_serial_impl.html new file mode 100644 index 0000000..acc72ec --- /dev/null +++ b/doc/0.2/classserial_1_1serial_1_1_serial_1_1_serial_impl.html @@ -0,0 +1,1936 @@ + + + + + +serial: serial::serial::Serial::SerialImpl Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::serial::Serial::SerialImpl Class Reference
+
+
+ +

#include <unix.h>

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

+Public Member Functions

 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 (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 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
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::serial::Serial::SerialImpl::SerialImpl (const string & port,
unsigned long baudrate,
long timeout,
bytesize_t bytesize,
parity_t parity,
stopbits_t stopbits,
flowcontrol_t flowcontrol 
)
+
+
+ +
+
+ +
+
+ + + + + + + +
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), is_open_ (false), xonxoff_ (true), rtscts_ (false),
+  timeout_ (timeout), 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 ();
+}
+
+
+
+ +
+
+ + + + + + + +
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
+
+
+ +
+
+ +
+
+ + + + + + + +
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 (long timeout)
+
+
+ +
+
+ +
+
+ + + + + + + + +
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/doc/0.2/closed.png b/doc/0.2/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/doc/0.2/doxygen.css b/doc/0.2/doxygen.css new file mode 100644 index 0000000..c151fde --- /dev/null +++ b/doc/0.2/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/doc/0.2/doxygen.png b/doc/0.2/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..635ed52fce7057ac24df92ec7664088a881fa5d0 GIT binary patch literal 3942 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 A+yDRo literal 0 HcmV?d00001 diff --git a/doc/0.2/files.html b/doc/0.2/files.html new file mode 100644 index 0000000..a3031a2 --- /dev/null +++ b/doc/0.2/files.html @@ -0,0 +1,115 @@ + + + + + +serial: File List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
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/doc/0.2/functions.html b/doc/0.2/functions.html new file mode 100644 index 0000000..dc97004 --- /dev/null +++ b/doc/0.2/functions.html @@ -0,0 +1,366 @@ + + + + + +serial: Data Fields + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
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 -

+ + +

- w -

+ + +

- ~ -

+
+ + + + + + diff --git a/doc/0.2/functions_func.html b/doc/0.2/functions_func.html new file mode 100644 index 0000000..5a64b89 --- /dev/null +++ b/doc/0.2/functions_func.html @@ -0,0 +1,366 @@ + + + + + +serial: Data Fields - Functions + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- a -

+ + +

- c -

+ + +

- f -

+ + +

- g -

+ + +

- i -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- w -

+ + +

- ~ -

+
+ + + + + + diff --git a/doc/0.2/globals.html b/doc/0.2/globals.html new file mode 100644 index 0000000..95beabb --- /dev/null +++ b/doc/0.2/globals.html @@ -0,0 +1,121 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+ + + + + + diff --git a/doc/0.2/globals_defs.html b/doc/0.2/globals_defs.html new file mode 100644 index 0000000..353106c --- /dev/null +++ b/doc/0.2/globals_defs.html @@ -0,0 +1,118 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/0.2/globals_func.html b/doc/0.2/globals_func.html new file mode 100644 index 0000000..cfbb97d --- /dev/null +++ b/doc/0.2/globals_func.html @@ -0,0 +1,115 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/0.2/graph_legend.html b/doc/0.2/graph_legend.html new file mode 100644 index 0000000..264b8eb --- /dev/null +++ b/doc/0.2/graph_legend.html @@ -0,0 +1,165 @@ + + + + + +serial: Graph Legend + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
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/doc/0.2/graph_legend.md5 b/doc/0.2/graph_legend.md5 new file mode 100644 index 0000000..c0a4490 --- /dev/null +++ b/doc/0.2/graph_legend.md5 @@ -0,0 +1 @@ +70d597617e34367275a35eeb8fb7ea07 \ No newline at end of file diff --git a/doc/0.2/graph_legend.png b/doc/0.2/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/doc/0.2/index.html b/doc/0.2/index.html new file mode 100644 index 0000000..bca69ec --- /dev/null +++ b/doc/0.2/index.html @@ -0,0 +1,101 @@ + + + + + +serial: Main Page + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
serial Documentation
+
+
+
+ + + + + + diff --git a/doc/0.2/jquery.js b/doc/0.2/jquery.js new file mode 100644 index 0000000..90b3a2b --- /dev/null +++ b/doc/0.2/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/doc/0.2/namespacemembers_enum.html b/doc/0.2/namespacemembers_enum.html new file mode 100644 index 0000000..b46e018 --- /dev/null +++ b/doc/0.2/namespacemembers_enum.html @@ -0,0 +1,124 @@ + + + + + +serial: Namespace Members + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/0.2/namespacemembers_eval.html b/doc/0.2/namespacemembers_eval.html new file mode 100644 index 0000000..c49b91f --- /dev/null +++ b/doc/0.2/namespacemembers_eval.html @@ -0,0 +1,148 @@ + + + + + +serial: Namespace Members + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/0.2/namespaces.html b/doc/0.2/namespaces.html new file mode 100644 index 0000000..509ea44 --- /dev/null +++ b/doc/0.2/namespaces.html @@ -0,0 +1,112 @@ + + + + + +serial: Namespace List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Namespace List
+
+
+
Here is a list of all namespaces with brief descriptions:
+ + + +
serial
serial::serial
serial::serial::Serial
+
+ + + + + + diff --git a/doc/0.2/namespaceserial.html b/doc/0.2/namespaceserial.html new file mode 100644 index 0000000..602179c --- /dev/null +++ b/doc/0.2/namespaceserial.html @@ -0,0 +1,258 @@ + + + + + +serial: serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
serial Namespace Reference
+
+
+ + + + + + + + + + + + + + +

+Namespaces

namespace  serial

+Data Structures

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/doc/0.2/namespaceserial_1_1serial.html b/doc/0.2/namespaceserial_1_1serial.html new file mode 100644 index 0000000..d6e2738 --- /dev/null +++ b/doc/0.2/namespaceserial_1_1serial.html @@ -0,0 +1,120 @@ + + + + + +serial: serial::serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::serial Namespace Reference
+
+
+ + + +

+Namespaces

namespace  Serial
+
+ + + + + + diff --git a/doc/0.2/namespaceserial_1_1serial_1_1_serial.html b/doc/0.2/namespaceserial_1_1serial_1_1_serial.html new file mode 100644 index 0000000..c5acbf8 --- /dev/null +++ b/doc/0.2/namespaceserial_1_1serial_1_1_serial.html @@ -0,0 +1,121 @@ + + + + + +serial: serial::serial::Serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::serial::Serial Namespace Reference
+
+
+ + + +

+Data Structures

class  SerialImpl
+
+ + + + + + diff --git a/doc/0.2/nav_f.png b/doc/0.2/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/doc/0.2/nav_h.png b/doc/0.2/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/doc/0.2/open.png b/doc/0.2/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/doc/0.2/search/all_61.js b/doc/0.2/search/all_61.js new file mode 100644 index 0000000..2c73ebe --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/all_62.html b/doc/0.2/search/all_62.html new file mode 100644 index 0000000..ee8871c --- /dev/null +++ b/doc/0.2/search/all_62.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/all_62.js b/doc/0.2/search/all_62.js new file mode 100644 index 0000000..ff57a8f --- /dev/null +++ b/doc/0.2/search/all_62.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bytesize_5ft',['bytesize_t',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8',1,'serial']]] +]; diff --git a/doc/0.2/search/all_63.html b/doc/0.2/search/all_63.html new file mode 100644 index 0000000..56b5ad1 --- /dev/null +++ b/doc/0.2/search/all_63.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/all_63.js b/doc/0.2/search/all_63.js new file mode 100644 index 0000000..df69cf5 --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/all_65.html b/doc/0.2/search/all_65.html new file mode 100644 index 0000000..66cc834 --- /dev/null +++ b/doc/0.2/search/all_65.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/all_65.js b/doc/0.2/search/all_65.js new file mode 100644 index 0000000..10bd939 --- /dev/null +++ b/doc/0.2/search/all_65.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eightbits',['eightbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a47f14d952cf9bed6c3f7ae5985161990',1,'serial']]] +]; diff --git a/doc/0.2/search/all_66.html b/doc/0.2/search/all_66.html new file mode 100644 index 0000000..3d1f8b3 --- /dev/null +++ b/doc/0.2/search/all_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/all_66.js b/doc/0.2/search/all_66.js new file mode 100644 index 0000000..29ed8e6 --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/all_67.html b/doc/0.2/search/all_67.html new file mode 100644 index 0000000..41a459a --- /dev/null +++ b/doc/0.2/search/all_67.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/all_67.js b/doc/0.2/search/all_67.js new file mode 100644 index 0000000..5979da6 --- /dev/null +++ b/doc/0.2/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#a345cd91d7bd366e990e295f756d51112',1,'serial::Serial::getTimeout()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae79177ed275c9cb5af7e5617644818f9',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/doc/0.2/search/all_69.html b/doc/0.2/search/all_69.html new file mode 100644 index 0000000..1a00b55 --- /dev/null +++ b/doc/0.2/search/all_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/all_69.js b/doc/0.2/search/all_69.js new file mode 100644 index 0000000..c19f75f --- /dev/null +++ b/doc/0.2/search/all_69.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['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/doc/0.2/search/all_6f.html b/doc/0.2/search/all_6f.html new file mode 100644 index 0000000..61827e8 --- /dev/null +++ b/doc/0.2/search/all_6f.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/all_6f.js b/doc/0.2/search/all_6f.js new file mode 100644 index 0000000..fec1706 --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/all_70.html b/doc/0.2/search/all_70.html new file mode 100644 index 0000000..0340151 --- /dev/null +++ b/doc/0.2/search/all_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/all_70.js b/doc/0.2/search/all_70.js new file mode 100644 index 0000000..29388a0 --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/all_72.html b/doc/0.2/search/all_72.html new file mode 100644 index 0000000..0ab18d6 --- /dev/null +++ b/doc/0.2/search/all_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/all_72.js b/doc/0.2/search/all_72.js new file mode 100644 index 0000000..fd5cddf --- /dev/null +++ b/doc/0.2/search/all_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/doc/0.2/search/all_73.html b/doc/0.2/search/all_73.html new file mode 100644 index 0000000..1ec8f17 --- /dev/null +++ b/doc/0.2/search/all_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/all_73.js b/doc/0.2/search/all_73.js new file mode 100644 index 0000000..fe646b0 --- /dev/null +++ b/doc/0.2/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#a9222791dd26285a594cfc594f0879b10',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#a2fa9977e6f06797623d3f4ea36c09d02',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)'],['../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#ab6ad13f872e31b9cf0af8cbeb9117cb0',1,'serial::Serial::setTimeout()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa1eb04036c3ed8ad67e243164760bba6',1,'serial::serial::Serial::SerialImpl::setTimeout(long 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/doc/0.2/search/all_74.html b/doc/0.2/search/all_74.html new file mode 100644 index 0000000..fdc6589 --- /dev/null +++ b/doc/0.2/search/all_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/all_74.js b/doc/0.2/search/all_74.js new file mode 100644 index 0000000..38216c2 --- /dev/null +++ b/doc/0.2/search/all_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/doc/0.2/search/all_75.html b/doc/0.2/search/all_75.html new file mode 100644 index 0000000..ab8455e --- /dev/null +++ b/doc/0.2/search/all_75.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/all_75.js b/doc/0.2/search/all_75.js new file mode 100644 index 0000000..a7d347f --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/all_77.html b/doc/0.2/search/all_77.html new file mode 100644 index 0000000..73323d3 --- /dev/null +++ b/doc/0.2/search/all_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/all_77.js b/doc/0.2/search/all_77.js new file mode 100644 index 0000000..02c8cd5 --- /dev/null +++ b/doc/0.2/search/all_77.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['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)']]], + ['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/doc/0.2/search/all_7e.html b/doc/0.2/search/all_7e.html new file mode 100644 index 0000000..63512c6 --- /dev/null +++ b/doc/0.2/search/all_7e.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/all_7e.js b/doc/0.2/search/all_7e.js new file mode 100644 index 0000000..e8440ac --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/classes_69.html b/doc/0.2/search/classes_69.html new file mode 100644 index 0000000..961dbea --- /dev/null +++ b/doc/0.2/search/classes_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/classes_69.js b/doc/0.2/search/classes_69.js new file mode 100644 index 0000000..9252d96 --- /dev/null +++ b/doc/0.2/search/classes_69.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html',1,'serial']]] +]; diff --git a/doc/0.2/search/classes_70.html b/doc/0.2/search/classes_70.html new file mode 100644 index 0000000..e4b5208 --- /dev/null +++ b/doc/0.2/search/classes_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/classes_70.js b/doc/0.2/search/classes_70.js new file mode 100644 index 0000000..422dca4 --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/classes_73.html b/doc/0.2/search/classes_73.html new file mode 100644 index 0000000..a1bf0b9 --- /dev/null +++ b/doc/0.2/search/classes_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/classes_73.js b/doc/0.2/search/classes_73.js new file mode 100644 index 0000000..63a2a0a --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/close.png b/doc/0.2/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/doc/0.2/search/defines_74.html b/doc/0.2/search/defines_74.html new file mode 100644 index 0000000..7c78f10 --- /dev/null +++ b/doc/0.2/search/defines_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/defines_74.js b/doc/0.2/search/defines_74.js new file mode 100644 index 0000000..38216c2 --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/enums_62.html b/doc/0.2/search/enums_62.html new file mode 100644 index 0000000..321fe92 --- /dev/null +++ b/doc/0.2/search/enums_62.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/enums_62.js b/doc/0.2/search/enums_62.js new file mode 100644 index 0000000..ff57a8f --- /dev/null +++ b/doc/0.2/search/enums_62.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bytesize_5ft',['bytesize_t',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8',1,'serial']]] +]; diff --git a/doc/0.2/search/enums_66.html b/doc/0.2/search/enums_66.html new file mode 100644 index 0000000..87b48de --- /dev/null +++ b/doc/0.2/search/enums_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/enums_66.js b/doc/0.2/search/enums_66.js new file mode 100644 index 0000000..0eb1150 --- /dev/null +++ b/doc/0.2/search/enums_66.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['flowcontrol_5ft',['flowcontrol_t',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351',1,'serial']]] +]; diff --git a/doc/0.2/search/enums_70.html b/doc/0.2/search/enums_70.html new file mode 100644 index 0000000..0bc0915 --- /dev/null +++ b/doc/0.2/search/enums_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/enums_70.js b/doc/0.2/search/enums_70.js new file mode 100644 index 0000000..e244a2d --- /dev/null +++ b/doc/0.2/search/enums_70.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['parity_5ft',['parity_t',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481',1,'serial']]] +]; diff --git a/doc/0.2/search/enums_73.html b/doc/0.2/search/enums_73.html new file mode 100644 index 0000000..3f157e6 --- /dev/null +++ b/doc/0.2/search/enums_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/enums_73.js b/doc/0.2/search/enums_73.js new file mode 100644 index 0000000..d047512 --- /dev/null +++ b/doc/0.2/search/enums_73.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['stopbits_5ft',['stopbits_t',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469',1,'serial']]] +]; diff --git a/doc/0.2/search/enumvalues_65.html b/doc/0.2/search/enumvalues_65.html new file mode 100644 index 0000000..58030d7 --- /dev/null +++ b/doc/0.2/search/enumvalues_65.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/enumvalues_65.js b/doc/0.2/search/enumvalues_65.js new file mode 100644 index 0000000..10bd939 --- /dev/null +++ b/doc/0.2/search/enumvalues_65.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eightbits',['eightbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a47f14d952cf9bed6c3f7ae5985161990',1,'serial']]] +]; diff --git a/doc/0.2/search/enumvalues_66.html b/doc/0.2/search/enumvalues_66.html new file mode 100644 index 0000000..7f7df6f --- /dev/null +++ b/doc/0.2/search/enumvalues_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/enumvalues_66.js b/doc/0.2/search/enumvalues_66.js new file mode 100644 index 0000000..145d13f --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/enumvalues_70.html b/doc/0.2/search/enumvalues_70.html new file mode 100644 index 0000000..35a05be --- /dev/null +++ b/doc/0.2/search/enumvalues_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/enumvalues_70.js b/doc/0.2/search/enumvalues_70.js new file mode 100644 index 0000000..c073712 --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/enumvalues_73.html b/doc/0.2/search/enumvalues_73.html new file mode 100644 index 0000000..f2f7db4 --- /dev/null +++ b/doc/0.2/search/enumvalues_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/enumvalues_73.js b/doc/0.2/search/enumvalues_73.js new file mode 100644 index 0000000..878414b --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/files_73.html b/doc/0.2/search/files_73.html new file mode 100644 index 0000000..e0de9e6 --- /dev/null +++ b/doc/0.2/search/files_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/files_73.js b/doc/0.2/search/files_73.js new file mode 100644 index 0000000..f6585e0 --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/files_75.html b/doc/0.2/search/files_75.html new file mode 100644 index 0000000..8ea7b3d --- /dev/null +++ b/doc/0.2/search/files_75.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/files_75.js b/doc/0.2/search/files_75.js new file mode 100644 index 0000000..a7d347f --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/files_77.html b/doc/0.2/search/files_77.html new file mode 100644 index 0000000..69f6897 --- /dev/null +++ b/doc/0.2/search/files_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/files_77.js b/doc/0.2/search/files_77.js new file mode 100644 index 0000000..2ff0414 --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/functions_61.html b/doc/0.2/search/functions_61.html new file mode 100644 index 0000000..7f39533 --- /dev/null +++ b/doc/0.2/search/functions_61.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/functions_61.js b/doc/0.2/search/functions_61.js new file mode 100644 index 0000000..2c73ebe --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/functions_63.html b/doc/0.2/search/functions_63.html new file mode 100644 index 0000000..9ebe11d --- /dev/null +++ b/doc/0.2/search/functions_63.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/functions_63.js b/doc/0.2/search/functions_63.js new file mode 100644 index 0000000..df69cf5 --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/functions_66.html b/doc/0.2/search/functions_66.html new file mode 100644 index 0000000..319a531 --- /dev/null +++ b/doc/0.2/search/functions_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/functions_66.js b/doc/0.2/search/functions_66.js new file mode 100644 index 0000000..5831b92 --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/functions_67.html b/doc/0.2/search/functions_67.html new file mode 100644 index 0000000..d0ab42a --- /dev/null +++ b/doc/0.2/search/functions_67.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/functions_67.js b/doc/0.2/search/functions_67.js new file mode 100644 index 0000000..5979da6 --- /dev/null +++ b/doc/0.2/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#a345cd91d7bd366e990e295f756d51112',1,'serial::Serial::getTimeout()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae79177ed275c9cb5af7e5617644818f9',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/doc/0.2/search/functions_69.html b/doc/0.2/search/functions_69.html new file mode 100644 index 0000000..e204197 --- /dev/null +++ b/doc/0.2/search/functions_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/functions_69.js b/doc/0.2/search/functions_69.js new file mode 100644 index 0000000..cf78ceb --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/functions_6f.html b/doc/0.2/search/functions_6f.html new file mode 100644 index 0000000..222f0f8 --- /dev/null +++ b/doc/0.2/search/functions_6f.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/functions_6f.js b/doc/0.2/search/functions_6f.js new file mode 100644 index 0000000..fec1706 --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/functions_70.html b/doc/0.2/search/functions_70.html new file mode 100644 index 0000000..c62125e --- /dev/null +++ b/doc/0.2/search/functions_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/functions_70.js b/doc/0.2/search/functions_70.js new file mode 100644 index 0000000..2129e23 --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/functions_72.html b/doc/0.2/search/functions_72.html new file mode 100644 index 0000000..a4336f7 --- /dev/null +++ b/doc/0.2/search/functions_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/functions_72.js b/doc/0.2/search/functions_72.js new file mode 100644 index 0000000..fd5cddf --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/functions_73.html b/doc/0.2/search/functions_73.html new file mode 100644 index 0000000..774d577 --- /dev/null +++ b/doc/0.2/search/functions_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/functions_73.js b/doc/0.2/search/functions_73.js new file mode 100644 index 0000000..5e20bb8 --- /dev/null +++ b/doc/0.2/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#a9222791dd26285a594cfc594f0879b10',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#a2fa9977e6f06797623d3f4ea36c09d02',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)'],['../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#ab6ad13f872e31b9cf0af8cbeb9117cb0',1,'serial::Serial::setTimeout()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa1eb04036c3ed8ad67e243164760bba6',1,'serial::serial::Serial::SerialImpl::setTimeout(long timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae0f49f16cd4ace2e865a6fc2fe9d7218',1,'serial::serial::Serial::SerialImpl::setTimeout(long timeout)']]] +]; diff --git a/doc/0.2/search/functions_77.html b/doc/0.2/search/functions_77.html new file mode 100644 index 0000000..8fe9755 --- /dev/null +++ b/doc/0.2/search/functions_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/functions_77.js b/doc/0.2/search/functions_77.js new file mode 100644 index 0000000..adb033f --- /dev/null +++ b/doc/0.2/search/functions_77.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['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/doc/0.2/search/functions_7e.html b/doc/0.2/search/functions_7e.html new file mode 100644 index 0000000..fd1d3ce --- /dev/null +++ b/doc/0.2/search/functions_7e.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/functions_7e.js b/doc/0.2/search/functions_7e.js new file mode 100644 index 0000000..e8440ac --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/mag_sel.png b/doc/0.2/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/doc/0.2/search/namespaces_73.html b/doc/0.2/search/namespaces_73.html new file mode 100644 index 0000000..5ebf8e4 --- /dev/null +++ b/doc/0.2/search/namespaces_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/0.2/search/namespaces_73.js b/doc/0.2/search/namespaces_73.js new file mode 100644 index 0000000..ed4fe68 --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/nomatches.html b/doc/0.2/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/doc/0.2/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/doc/0.2/search/search.css b/doc/0.2/search/search.css new file mode 100644 index 0000000..d18c1da --- /dev/null +++ b/doc/0.2/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/doc/0.2/search/search.js b/doc/0.2/search/search.js new file mode 100644 index 0000000..80681d9 --- /dev/null +++ b/doc/0.2/search/search.js @@ -0,0 +1,809 @@ +// 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: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101001101000001101100010000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 5: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 6: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 7: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "namespaces", + 3: "files", + 4: "functions", + 5: "enums", + 6: "enumvalues", + 7: "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/doc/0.2/search/search_r.png b/doc/0.2/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 + + + + +serial: src/serial.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
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/doc/0.2/serial_8cc__incl.map b/doc/0.2/serial_8cc__incl.map new file mode 100644 index 0000000..ce3ff20 --- /dev/null +++ b/doc/0.2/serial_8cc__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/0.2/serial_8cc__incl.md5 b/doc/0.2/serial_8cc__incl.md5 new file mode 100644 index 0000000..90f7e9c --- /dev/null +++ b/doc/0.2/serial_8cc__incl.md5 @@ -0,0 +1 @@ +9d415ee246066b0d8beb28eb6ace1c01 \ No newline at end of file diff --git a/doc/0.2/serial_8cc__incl.png b/doc/0.2/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 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 CmtpS! literal 0 HcmV?d00001 diff --git a/doc/0.2/serial_8h.html b/doc/0.2/serial_8h.html new file mode 100644 index 0000000..10b319c --- /dev/null +++ b/doc/0.2/serial_8h.html @@ -0,0 +1,210 @@ + + + + + +serial: include/serial/serial.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
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

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

+Namespaces

namespace  serial

+Defines

#define THROW(exceptionClass, message)   throw exceptionClass(__FILE__, __LINE__, (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 
)   throw exceptionClass(__FILE__, __LINE__, (message) )
+
+
+ +
+
+
+ + + + + + diff --git a/doc/0.2/serial_8h__dep__incl.map b/doc/0.2/serial_8h__dep__incl.map new file mode 100644 index 0000000..2a9863c --- /dev/null +++ b/doc/0.2/serial_8h__dep__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/doc/0.2/serial_8h__dep__incl.md5 b/doc/0.2/serial_8h__dep__incl.md5 new file mode 100644 index 0000000..825b2e2 --- /dev/null +++ b/doc/0.2/serial_8h__dep__incl.md5 @@ -0,0 +1 @@ +fe2a3161980d504b6c6372e2f61123c3 \ No newline at end of file diff --git a/doc/0.2/serial_8h__dep__incl.png b/doc/0.2/serial_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..b18e0638e6514957a5cdd844fdd55920a83b8d0b GIT binary patch literal 14192 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 + diff --git a/doc/0.2/serial_8h__incl.md5 b/doc/0.2/serial_8h__incl.md5 new file mode 100644 index 0000000..7695c5f --- /dev/null +++ b/doc/0.2/serial_8h__incl.md5 @@ -0,0 +1 @@ +6e0c764141061f34eeeffeb4410d6259 \ No newline at end of file diff --git a/doc/0.2/serial_8h__incl.png b/doc/0.2/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-platformserialportlibraryforC++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
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__, __LINE__, (message) )
+00047 
+00048 namespace serial {
+00049 
+00053 typedef enum {
+00054   fivebits = 5,
+00055   sixbits = 6,
+00056   sevenbits = 7,
+00057   eightbits = 8
+00058 } bytesize_t;
+00059 
+00063 typedef enum {
+00064   parity_none = 0,
+00065   parity_odd = 1,
+00066   parity_even = 2
+00067 } parity_t;
+00068 
+00072 typedef enum {
+00073   stopbits_one = 1,
+00074   stopbits_one_point_five,
+00075   stopbits_two = 2
+00076 } stopbits_t;
+00077 
+00081 typedef enum {
+00082   flowcontrol_none = 0,
+00083   flowcontrol_software
+00084 } flowcontrol_t;
+00085 
+00089 class Serial {
+00090 public:
+00127   Serial (const std::string &port = "",
+00128           unsigned long baudrate = 9600,
+00129           long timeout = 0,
+00130           bytesize_t bytesize = eightbits,
+00131           parity_t parity = parity_none,
+00132           stopbits_t stopbits = stopbits_one,
+00133           flowcontrol_t flowcontrol = flowcontrol_none);
+00134 
+00136   virtual ~Serial ();
+00137 
+00151   void
+00152   open ();
+00153 
+00158   bool
+00159   isOpen () const;
+00160 
+00162   void
+00163   close ();
+00164 
+00166   size_t
+00167   available();
+00168 
+00179   size_t
+00180   read (unsigned char *buffer, size_t size);
+00181   size_t
+00182   read (std::vector<unsigned char> &buffer, size_t size = 1);
+00183   size_t
+00184   read (std::string &buffer, size_t size = 1);
+00185   std::string
+00186   read (size_t size = 1);
+00187 
+00197   size_t
+00198   readline (std::string &buffer,
+00199             size_t size = 65536,
+00200             std::string eol = "\n");
+00201   std::string
+00202   readline (size_t size = 65536,
+00203             std::string eol = "\n");
+00204 
+00216   std::vector<std::string>
+00217   readlines (size_t size = 65536, std::string eol = "\n");
+00218 
+00227   size_t
+00228   write (const unsigned char *data, size_t size);
+00229   size_t
+00230   write (const std::vector<unsigned char> &data);
+00231   size_t
+00232   write (const std::string &data);
+00233 
+00242   void
+00243   setPort (const std::string &port);
+00244 
+00251   std::string
+00252   getPort () const;
+00253 
+00264   void
+00265   setTimeout (long timeout);
+00266 
+00271   long
+00272   getTimeout () const;
+00273 
+00286   void
+00287   setBaudrate (unsigned long baudrate);
+00288 
+00297   unsigned long
+00298   getBaudrate () const;
+00299 
+00308   void
+00309   setBytesize (bytesize_t bytesize);
+00310 
+00317   bytesize_t
+00318   getBytesize () const;
+00319 
+00327   void
+00328   setParity (parity_t parity);
+00329 
+00336   parity_t
+00337   getParity () const;
+00338 
+00346   void
+00347   setStopbits (stopbits_t stopbits);
+00348 
+00355   stopbits_t
+00356   getStopbits () const;
+00357 
+00366   void
+00367   setFlowcontrol (flowcontrol_t flowcontrol);
+00368 
+00375   flowcontrol_t
+00376   getFlowcontrol () const;
+00377 
+00379   void
+00380   flush ();
+00381 
+00383   void
+00384   flushInput ();
+00385 
+00387   void
+00388   flushOutput ();
+00389 
+00390   void
+00391   sendBreak (int duration);
+00392 
+00393   void
+00394   setBreak (bool level = true);
+00395 
+00396   void
+00397   setRTS (bool level = true);
+00398 
+00399   void
+00400   setDTR (bool level = true);
+00401 
+00402   bool
+00403   getCTS ();
+00404 
+00405   bool
+00406   getDSR ();
+00407 
+00408   bool
+00409   getRI ();
+00410 
+00411   bool
+00412   getCD ();
+00413 
+00414 private:
+00415   // Disable copy constructors
+00416   Serial(const Serial&);
+00417   void operator=(const Serial&);
+00418   const Serial& operator=(Serial);
+00419 
+00420   std::string read_cache_; 
+00421 
+00422   // Pimpl idiom, d_pointer
+00423   class SerialImpl;
+00424   SerialImpl *pimpl_;
+00425 
+00426   // Scoped Lock Classes
+00427   class ScopedReadLock;
+00428   class ScopedWriteLock;
+00429 
+00430   // Read common function
+00431   size_t
+00432   read_ (unsigned char *buffer, size_t size);
+00433 
+00434 };
+00435 
+00436 class SerialExecption : public std::exception
+00437 {
+00438   const char* e_what_;
+00439 public:
+00440   SerialExecption (const char *description) : e_what_ (description) {}
+00441 
+00442   virtual const char* what () const throw ()
+00443   {
+00444     std::stringstream ss;
+00445     ss << "SerialException " << e_what_ << " failed.";
+00446     return ss.str ().c_str ();
+00447   }
+00448 };
+00449 
+00450 class IOException : public std::exception
+00451 {
+00452   std::string file_;
+00453   int line_;
+00454   const char* e_what_;
+00455   int errno_;
+00456 public:
+00457   explicit IOException (std::string file, int line, int errnum)
+00458   : file_(file), line_(line), e_what_ (strerror (errnum)), errno_(errnum) {}
+00459   explicit IOException (std::string file, int line, const char * description)
+00460   : file_(file), line_(line), e_what_ (description), errno_(0) {}
+00461   virtual ~IOException() throw() {}
+00462 
+00463   int getErrorNumber () { return errno_; }
+00464 
+00465   virtual const char* what () const throw ()
+00466   {
+00467     std::stringstream ss;
+00468     if (errno_ == 0)
+00469       ss << "IO Exception: " << e_what_;
+00470     else
+00471       ss << "IO Exception (" << errno_ << "): " << e_what_;
+00472     ss << ", file " << file_ << ", line " << line_ << ".";
+00473     return ss.str ().c_str ();
+00474   }
+00475 };
+00476 
+00477 class PortNotOpenedException : public std::exception
+00478 {
+00479   const char * e_what_;
+00480 public:
+00481   PortNotOpenedException (const char * description) : e_what_ (description) {}
+00482 
+00483   virtual const char* what () const throw ()
+00484   {
+00485     std::stringstream ss;
+00486     ss << e_what_ << " called before port was opened.";
+00487     return ss.str ().c_str ();
+00488   }
+00489 };
+00490 
+00491 class SerialExceptionBase : public std::exception
+00492 {
+00493   
+00494 };
+00495 
+00496 } // namespace serial
+00497 
+00498 #endif
+
+ + + + + + diff --git a/doc/0.2/tab_a.png b/doc/0.2/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/doc/0.2/tab_b.png b/doc/0.2/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/doc/0.2/tab_s.png b/doc/0.2/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/doc/0.2/tabs.css b/doc/0.2/tabs.css new file mode 100644 index 0000000..2192056 --- /dev/null +++ b/doc/0.2/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/doc/0.2/unix_8cc.html b/doc/0.2/unix_8cc.html new file mode 100644 index 0000000..a0237aa --- /dev/null +++ b/doc/0.2/unix_8cc.html @@ -0,0 +1,185 @@ + + + + + +serial: src/impl/unix.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
src/impl/unix.cc File Reference
+
+
+
#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/ioctl.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/doc/0.2/unix_8cc__incl.map b/doc/0.2/unix_8cc__incl.map new file mode 100644 index 0000000..1da0662 --- /dev/null +++ b/doc/0.2/unix_8cc__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/0.2/unix_8cc__incl.md5 b/doc/0.2/unix_8cc__incl.md5 new file mode 100644 index 0000000..361be4e --- /dev/null +++ b/doc/0.2/unix_8cc__incl.md5 @@ -0,0 +1 @@ +5c63488514754becf91924411251f91b \ No newline at end of file diff --git a/doc/0.2/unix_8cc__incl.png b/doc/0.2/unix_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..2a86c10274a1acb655382fe313fdb2381d80b9f6 GIT binary patch literal 54002 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 ByS4xT literal 0 HcmV?d00001 diff --git a/doc/0.2/unix_8h.html b/doc/0.2/unix_8h.html new file mode 100644 index 0000000..fdd89a0 --- /dev/null +++ b/doc/0.2/unix_8h.html @@ -0,0 +1,151 @@ + + + + + +serial: include/serial/impl/unix.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
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/doc/0.2/unix_8h__dep__incl.map b/doc/0.2/unix_8h__dep__incl.map new file mode 100644 index 0000000..1d057f0 --- /dev/null +++ b/doc/0.2/unix_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/0.2/unix_8h__dep__incl.md5 b/doc/0.2/unix_8h__dep__incl.md5 new file mode 100644 index 0000000..922dae6 --- /dev/null +++ b/doc/0.2/unix_8h__dep__incl.md5 @@ -0,0 +1 @@ +ac7115380356aaf2a3c649dcdd6c726d \ No newline at end of file diff --git a/doc/0.2/unix_8h__dep__incl.png b/doc/0.2/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/doc/0.2/unix_8h__incl.map b/doc/0.2/unix_8h__incl.map new file mode 100644 index 0000000..4283516 --- /dev/null +++ b/doc/0.2/unix_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/0.2/unix_8h__incl.md5 b/doc/0.2/unix_8h__incl.md5 new file mode 100644 index 0000000..e609ed0 --- /dev/null +++ b/doc/0.2/unix_8h__incl.md5 @@ -0,0 +1 @@ +8efcdc17867179f10b863ebc3c51f3b2 \ No newline at end of file diff --git a/doc/0.2/unix_8h__incl.png b/doc/0.2/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/doc/0.2/unix_8h_source.html b/doc/0.2/unix_8h_source.html new file mode 100644 index 0000000..1b3006b --- /dev/null +++ b/doc/0.2/unix_8h_source.html @@ -0,0 +1,268 @@ + + + + + +serial: include/serial/impl/unix.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
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               long timeout,
+00058               bytesize_t bytesize,
+00059               parity_t parity,
+00060               stopbits_t stopbits,
+00061               flowcontrol_t flowcontrol);
+00062 
+00063   virtual ~SerialImpl ();
+00064 
+00065   void
+00066   open ();
+00067 
+00068   void
+00069   close ();
+00070 
+00071   bool
+00072   isOpen () const;
+00073 
+00074   size_t
+00075   available ();
+00076 
+00077   size_t
+00078   read (unsigned char* buf, size_t size = 1);
+00079 
+00080   size_t
+00081   write (const string &data);
+00082 
+00083   void
+00084   flush ();
+00085 
+00086   void
+00087   flushInput ();
+00088 
+00089   void
+00090   flushOutput ();
+00091 
+00092   void
+00093   sendBreak(int duration);
+00094 
+00095   void
+00096   setBreak(bool level);
+00097 
+00098   void
+00099   setRTS(bool level);
+00100 
+00101   void
+00102   setDTR(bool level);
+00103 
+00104   bool
+00105   getCTS();
+00106 
+00107   bool
+00108   getDSR();
+00109 
+00110   bool
+00111   getRI();
+00112 
+00113   bool
+00114   getCD();
+00115 
+00116   void
+00117   setPort (const string &port);
+00118 
+00119   string
+00120   getPort () const;
+00121 
+00122   void
+00123   setTimeout (long timeout);
+00124 
+00125   long
+00126   getTimeout () const;
+00127 
+00128   void
+00129   setBaudrate (unsigned long baudrate);
+00130 
+00131   unsigned long
+00132   getBaudrate () const;
+00133 
+00134   void
+00135   setBytesize (bytesize_t bytesize);
+00136 
+00137   bytesize_t
+00138   getBytesize () const;
+00139 
+00140   void
+00141   setParity (parity_t parity);
+00142 
+00143   parity_t
+00144   getParity () const;
+00145 
+00146   void
+00147   setStopbits (stopbits_t stopbits);
+00148 
+00149   stopbits_t
+00150   getStopbits () const;
+00151 
+00152   void
+00153   setFlowcontrol (flowcontrol_t flowcontrol);
+00154 
+00155   flowcontrol_t
+00156   getFlowcontrol () const;
+00157 
+00158   void
+00159   readLock();
+00160 
+00161   void
+00162   readUnlock();
+00163 
+00164   void
+00165   writeLock();
+00166 
+00167   void
+00168   writeUnlock();
+00169 
+00170 protected:
+00171   void reconfigurePort ();
+00172 
+00173 private:
+00174   string port_;               // Path to the file descriptor
+00175   int fd_;                    // The current file descriptor
+00176 
+00177   bool is_open_;
+00178   bool xonxoff_;
+00179   bool rtscts_;
+00180 
+00181   long timeout_;              // Timeout for read operations
+00182   unsigned long baudrate_;    // Baudrate
+00183 
+00184   parity_t parity_;           // Parity
+00185   bytesize_t bytesize_;       // Size of the bytes
+00186   stopbits_t stopbits_;       // Stop Bits
+00187   flowcontrol_t flowcontrol_; // Flow Control
+00188 
+00189   // Mutex used to lock the read functions
+00190   pthread_mutex_t read_mutex;
+00191   // Mutex used to lock the write functions
+00192   pthread_mutex_t write_mutex;
+00193 };
+00194 
+00195 }
+00196 
+00197 #endif // SERIAL_IMPL_UNIX_H
+
+ + + + + + diff --git a/doc/0.2/windows_8cc.html b/doc/0.2/windows_8cc.html new file mode 100644 index 0000000..c2bc269 --- /dev/null +++ b/doc/0.2/windows_8cc.html @@ -0,0 +1,115 @@ + + + + + +serial: src/impl/windows.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
src/impl/windows.cc File Reference
+
+
+
+Include dependency graph for windows.cc:
+
+
+ + +
+
+ + + + + + diff --git a/doc/0.2/windows_8cc__incl.map b/doc/0.2/windows_8cc__incl.map new file mode 100644 index 0000000..a71b1c0 --- /dev/null +++ b/doc/0.2/windows_8cc__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/0.2/windows_8cc__incl.md5 b/doc/0.2/windows_8cc__incl.md5 new file mode 100644 index 0000000..edcf8e6 --- /dev/null +++ b/doc/0.2/windows_8cc__incl.md5 @@ -0,0 +1 @@ +04910753f5601be3f1454fef3fd0023b \ No newline at end of file diff --git a/doc/0.2/windows_8cc__incl.png b/doc/0.2/windows_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..84470d49603d14ad597cd0e2b6e82aca862fd211 GIT binary patch literal 16258 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 RxbQ`Uq^O)ofspQp{{hlkI@$mL literal 0 HcmV?d00001 diff --git a/doc/0.2/windows_8h.html b/doc/0.2/windows_8h.html new file mode 100644 index 0000000..4074969 --- /dev/null +++ b/doc/0.2/windows_8h.html @@ -0,0 +1,150 @@ + + + + + +serial: include/serial/impl/windows.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
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/doc/0.2/windows_8h__dep__incl.map b/doc/0.2/windows_8h__dep__incl.map new file mode 100644 index 0000000..2830697 --- /dev/null +++ b/doc/0.2/windows_8h__dep__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/0.2/windows_8h__dep__incl.md5 b/doc/0.2/windows_8h__dep__incl.md5 new file mode 100644 index 0000000..c964f97 --- /dev/null +++ b/doc/0.2/windows_8h__dep__incl.md5 @@ -0,0 +1 @@ +56bbeb7b13a744e0ebc3a22b7e8a5061 \ No newline at end of file diff --git a/doc/0.2/windows_8h__dep__incl.png b/doc/0.2/windows_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..94b6bb7eb4e5d06e41c45c62a0857e5fdf18c3e6 GIT binary patch literal 4896 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 + + diff --git a/doc/0.2/windows_8h__incl.md5 b/doc/0.2/windows_8h__incl.md5 new file mode 100644 index 0000000..6f72e14 --- /dev/null +++ b/doc/0.2/windows_8h__incl.md5 @@ -0,0 +1 @@ +562506bdc3c26af690de500b9c8ba4e6 \ No newline at end of file diff --git a/doc/0.2/windows_8h__incl.png b/doc/0.2/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-platformserialportlibraryforC++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
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
+
+ + + + + + diff --git a/doc/1.0.1/annotated.html b/doc/1.0.1/annotated.html new file mode 100644 index 0000000..47250bd --- /dev/null +++ b/doc/1.0.1/annotated.html @@ -0,0 +1,118 @@ + + + + + +serial: Data Structures + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structures
+
+ + + + + + + diff --git a/doc/1.0.1/bc_s.png b/doc/1.0.1/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/doc/1.0.1/bdwn.png b/doc/1.0.1/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.1 +
+
Cross-platform serial port library written in 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/doc/1.0.1/class_serial_1_1_scoped_write_lock.html b/doc/1.0.1/class_serial_1_1_scoped_write_lock.html new file mode 100644 index 0000000..ee56ce7 --- /dev/null +++ b/doc/1.0.1/class_serial_1_1_scoped_write_lock.html @@ -0,0 +1,166 @@ + + + + + +serial: serial::Serial::ScopedWriteLock Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in 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/doc/1.0.1/classes.html b/doc/1.0.1/classes.html new file mode 100644 index 0000000..c3d41ea --- /dev/null +++ b/doc/1.0.1/classes.html @@ -0,0 +1,123 @@ + + + + + +serial: Data Structure Index + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structure Index
+
+
+
I | P | S | T
+ + + + + + + + +
  I  
+
  S  
+
Serial (serial)   
SerialExecption (serial)   
IOException (serial)   Serial::ScopedReadLock   SerialImpl (serial::serial::Serial)   
  P  
+
Serial::ScopedWriteLock   
  T  
+
PortNotOpenedException (serial)   Timeout (serial)   
+
I | P | S | T
+
+ + + + + + diff --git a/doc/1.0.1/classserial_1_1_i_o_exception.html b/doc/1.0.1/classserial_1_1_i_o_exception.html new file mode 100644 index 0000000..7fa76db --- /dev/null +++ b/doc/1.0.1/classserial_1_1_i_o_exception.html @@ -0,0 +1,280 @@ + + + + + +serial: serial::IOException Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in 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 ()
 IOException (const IOException &other)
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]
+
+
+
{}
+
+
+
+ +
+
+ + + + + + + + +
serial::IOException::IOException (const IOExceptionother) [inline]
+
+
+
                                         {
+    e_what_ = other.e_what_;
+  }
+
+
+
+

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/doc/1.0.1/classserial_1_1_port_not_opened_exception.html b/doc/1.0.1/classserial_1_1_port_not_opened_exception.html new file mode 100644 index 0000000..a204408 --- /dev/null +++ b/doc/1.0.1/classserial_1_1_port_not_opened_exception.html @@ -0,0 +1,189 @@ + + + + + +serial: serial::PortNotOpenedException Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::PortNotOpenedException Class Reference
+
+
+ +

#include <serial.h>

+ + + + + +

+Public Member Functions

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

Constructor & Destructor Documentation

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

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/doc/1.0.1/classserial_1_1_serial.html b/doc/1.0.1/classserial_1_1_serial.html new file mode 100644 index 0000000..cb45f5b --- /dev/null +++ b/doc/1.0.1/classserial_1_1_serial.html @@ -0,0 +1,1532 @@ + + + + + +serial: serial::Serial Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::Serial Class Reference
+
+
+ +

#include <serial.h>

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

+Data Structures

class  ScopedReadLock
class  ScopedWriteLock

+Public Member Functions

 Serial (const std::string &port="", uint32_t baudrate=9600, Timeout timeout=Timeout(), 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 (uint8_t *buffer, size_t size)
size_t read (std::vector< uint8_t > &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 uint8_t *data, size_t size)
size_t write (const std::vector< uint8_t > &data)
size_t write (const std::string &data)
void setPort (const std::string &port)
std::string getPort () const
void setTimeout (Timeout &timeout)
void setTimeout (uint32_t inter_byte_timeout, uint32_t read_timeout_constant, uint32_t read_timeout_multiplier, uint32_t write_timeout_constant, uint32_t write_timeout_multiplier)
Timeout getTimeout () const
void setBaudrate (uint32_t baudrate)
uint32_t 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 = "",
uint32_t baudrate = 9600,
Timeout timeout = Timeout(),
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 unsigned 32-bit integer that represents the baudrate
timeoutA serial::Timeout struct that defines the timeout conditions for the serial port.
+
+
+
See also:
serial::Timeout
+
Parameters:
+ + + + + +
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 ();
+}
+
+
+
+ +
+
+ + + + + + + +
uint32_t 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 uint32_t(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 Serial::getTimeout () const
+
+
+

Gets the timeout for reads in seconds.

+
Returns:
A Timeout 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 (uint8_t * 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 uint8_t 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< uint8_t > & 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 uint8_t.
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_);
+  uint8_t *buffer_ = new uint8_t[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_);
+  uint8_t *buffer_ = new uint8_t[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 ();
+  uint8_t *buffer_ = static_cast<uint8_t*>
+    (alloca (size * sizeof (uint8_t)));
+  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 (uint32_t 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::Timeouttimeout)
+
+
+

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

+

There are two timeout conditions described here:

+
    +
  • The inter byte timeout:
      +
    • The inter_byte_timeout component of serial::Timeout defines the maximum amount of time, in milliseconds, between receiving bytes on the serial port that can pass before a timeout occurs. Setting this to zero will prevent inter byte timeouts from occurring.
    • +
    +
  • +
  • Total time timeout:
      +
    • The the constant and multiplier component of this timeout condition, for both read and write, are defined in serial::Timeout. This timeout occurs if the total time since the read or write call was made exceeds the specified time in milliseconds.
    • +
    • The limit is defined by multiplying the multiplier component by the number of requested bytes and adding that product to the constant component. In this way if you want a read call, for example, to timeout after exactly one second regardless of the number of bytes you asked for then set the read_timeout_constant component of serial::Timeout to 1000 and the read_timeout_multiplier to zero. This timeout condition can be used in conjunction with the inter byte timeout condition with out any problems, timeout will simply occur when one of the two timeout conditions is met. This allows users to have maximum control over the trade-off between responsiveness and efficiency.
    • +
    +
  • +
+

Read and write functions will return in one of three cases. When the reading or writing is complete, when a timeout occurs, or when an exception occurs.

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

Sets the timeout for reads and writes.

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

Blocks until CTS, DSR, RI, CD changes or something interrupts it.

+

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.

+
Returns:
Returns true if one of the lines changed, false if something else occurred.
+
Exceptions:
+ + +
SerialException
+
+
+
{
+  return pimpl_->waitForChange();
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t Serial::write (const uint8_t * 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.
+
{
+  ScopedWriteLock(this->pimpl_);
+  return this->write_(data, size);
+}
+
+
+
+ +
+
+ + + + + + + + +
size_t Serial::write (const std::vector< uint8_t > & 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.
+
{
+  ScopedWriteLock(this->pimpl_);
+  return this->write_ (&data[0], data.size());
+}
+
+
+
+ +
+
+ + + + + + + + +
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/doc/1.0.1/classserial_1_1_serial_execption.html b/doc/1.0.1/classserial_1_1_serial_execption.html new file mode 100644 index 0000000..12fad21 --- /dev/null +++ b/doc/1.0.1/classserial_1_1_serial_execption.html @@ -0,0 +1,189 @@ + + + + + +serial: serial::SerialExecption Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::SerialExecption Class Reference
+
+
+ +

#include <serial.h>

+ + + + + +

+Public Member Functions

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

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
serial::SerialExecption::SerialExecption (const char * description) [inline]
+
+
+
: e_what_ (description) {}
+
+
+
+ +
+
+ + + + + + + + +
serial::SerialExecption::SerialExecption (const SerialExecptionother) [inline]
+
+
+
                                                 {
+    e_what_ = other.e_what_;
+  }
+
+
+
+

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/doc/1.0.1/classserial_1_1serial_1_1_serial_1_1_serial_impl.html b/doc/1.0.1/classserial_1_1serial_1_1_serial_1_1_serial_impl.html new file mode 100644 index 0000000..92eaff6 --- /dev/null +++ b/doc/1.0.1/classserial_1_1serial_1_1_serial_1_1_serial_impl.html @@ -0,0 +1,2148 @@ + + + + + +serial: serial::serial::Serial::SerialImpl Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in 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 (uint8_t *buf, size_t size=1)
size_t write (const uint8_t *data, size_t length)
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 &timeout)
Timeout 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, 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 (uint8_t *buf, size_t size=1)
size_t write (const uint8_t *data, size_t length)
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 &timeout)
Timeout 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 ()

+Protected Member Functions

void reconfigurePort ()
void reconfigurePort ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
serial::serial::Serial::SerialImpl::SerialImpl (const string & port,
unsigned long baudrate,
bytesize_t bytesize,
parity_t parity,
stopbits_t stopbits,
flowcontrol_t flowcontrol 
)
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual serial::serial::Serial::SerialImpl::~SerialImpl () [virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
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_ (false), 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 ();
+}
+
+
+
+ +
+
+ + + + + + + +
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;
+}
+
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
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 (uint8_t * buf,
size_t size = 1 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t serial::serial::Serial::SerialImpl::read (uint8_t * 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 |= (tcflag_t)  (CLOCAL | CREAD);
+  options.c_lflag &= (tcflag_t) ~(ICANON | ECHO | ECHOE | ECHOK | ECHONL |
+                                       ISIG | IEXTEN); //|ECHOPRT
+
+  options.c_oflag &= (tcflag_t) ~(OPOST);
+  options.c_iflag &= (tcflag_t) ~(INLCR | IGNCR | ICRNL | IGNBRK);
+#ifdef IUCLC
+  options.c_iflag &= (tcflag_t) ~IUCLC;
+#endif
+#ifdef PARMRK
+  options.c_iflag &= (tcflag_t) ~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
+#ifdef B1000000
+  case 1000000: baud = B1000000; break;
+#endif
+#ifdef B1152000
+  case 1152000: baud = B1152000; break;
+#endif
+#ifdef B1500000
+  case 1500000: baud = B1500000; break;
+#endif
+#ifdef B2000000
+  case 2000000: baud = B2000000; break;
+#endif
+#ifdef B2500000
+  case 2500000: baud = B2500000; break;
+#endif
+#ifdef B3000000
+  case 3000000: baud = B3000000; break;
+#endif
+#ifdef B3500000
+  case 3500000: baud = B3500000; break;
+#endif
+#ifdef B4000000
+  case 4000000: baud = B4000000; 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__) && defined (TIOCSSERIAL)
+    struct serial_struct ser;
+    ioctl (fd_, TIOCGSERIAL, &ser);
+    // set custom divisor
+    ser.custom_divisor = ser.baud_base / (int) 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 &= (tcflag_t) ~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 &= (tcflag_t) ~(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 &= (tcflag_t) ~(INPCK | ISTRIP);
+  if (parity_ == parity_none) {
+    options.c_cflag &= (tcflag_t) ~(PARENB | PARODD);
+  } else if (parity_ == parity_even) {
+    options.c_cflag &= (tcflag_t) ~(PARODD);
+    options.c_cflag |=  (PARENB);
+  } else if (parity_ == parity_odd) {
+    options.c_cflag |=  (PARENB | PARODD);
+  } else {
+    throw invalid_argument ("invalid parity");
+  }
+  // setup flow control
+  if (flowcontrol_ == flowcontrol_none) {
+    xonxoff_ = false;
+    rtscts_ = false;
+  }
+  if (flowcontrol_ == flowcontrol_software) {
+    xonxoff_ = true;
+    rtscts_ = false;
+  }
+  if (flowcontrol_ == flowcontrol_hardware) {
+    xonxoff_ = false;
+    rtscts_ = true;
+  }
+  // xonxoff
+#ifdef IXANY
+  if (xonxoff_)
+    options.c_iflag |=  (IXON | IXOFF); //|IXANY)
+  else
+    options.c_iflag &= (tcflag_t) ~(IXON | IXOFF | IXANY);
+#else
+  if (xonxoff_)
+    options.c_iflag |=  (IXON | IXOFF);
+  else
+    options.c_iflag &= (tcflag_t) ~(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::serial::Serial::SerialImpl::setTimeout (Timeouttimeout)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setTimeout (Timeouttimeout)
+
+
+ +
+
+ +
+
+ + + + + + + +
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);
+  }
+  return false;
+#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 true;
+#endif
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t Serial::SerialImpl::write (const uint8_t * data,
size_t length 
)
+
+
+

Error

+

Timeout

+

Port ready to write

+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::write");
+  }
+  fd_set writefds;
+  size_t bytes_written = 0;
+  struct timeval timeout;
+  timeout.tv_sec =                    timeout_.write_timeout_constant / 1000;
+  timeout.tv_usec = static_cast<int> (timeout_.write_timeout_multiplier % 1000);
+  timeout.tv_usec *= 1000; // To convert to micro seconds
+  while (bytes_written < length) {
+    FD_ZERO (&writefds);
+    FD_SET (fd_, &writefds);
+    // On Linux the timeout struct is updated by select to contain the time
+    // left on the timeout to make looping easier, but on other platforms this
+    // does not occur.
+#if !defined(__linux__)
+    // Begin timing select
+    struct timespec start, end;
+    get_time_now(start);
+#endif
+    // Do the select
+    int r = select (fd_ + 1, NULL, &writefds, NULL, &timeout);
+#if !defined(__linux__)
+    // Calculate difference and update the structure
+    get_time_now(end);
+    // Calculate the time select took
+    struct timeval diff;
+    diff.tv_sec = end.tv_sec - start.tv_sec;
+    diff.tv_usec = static_cast<int> ((end.tv_nsec - start.tv_nsec) / 1000);
+    // Update the timeout
+    if (timeout.tv_sec <= diff.tv_sec) {
+      timeout.tv_sec = 0;
+    } else {
+      timeout.tv_sec -= diff.tv_sec;
+    }
+    if (timeout.tv_usec <= diff.tv_usec) {
+      timeout.tv_usec = 0;
+    } else {
+      timeout.tv_usec -= diff.tv_usec;
+    }
+#endif
+
+    // Figure out what happened by looking at select's response 'r'
+    if (r < 0) {
+      // Select was interrupted, try again
+      if (errno == EINTR) {
+        continue;
+      }
+      // Otherwise there was some error
+      THROW (IOException, errno);
+    }
+    if (r == 0) {
+      break;
+    }
+    if (r > 0) {
+      // Make sure our file descriptor is in the ready to write list
+      if (FD_ISSET (fd_, &writefds)) {
+        // This will write some
+        ssize_t bytes_written_now =
+          ::write (fd_, data + bytes_written, length - bytes_written);
+        // write should always return some data as select reported it was
+        // ready to write when we get to this point.
+        if (bytes_written_now < 1) {
+          // Disconnected devices, at least on Linux, show the
+          // behavior that they are always ready to write immediately
+          // but writing returns nothing.
+          throw SerialExecption ("device reports readiness to write but "
+                                 "returned no data (device disconnected?)");
+        }
+        // Update bytes_written
+        bytes_written += static_cast<size_t> (bytes_written_now);
+        // If bytes_written == size then we have written everything we need to
+        if (bytes_written == length) {
+          break;
+        }
+        // If bytes_written < size then we have more to write
+        if (bytes_written < length) {
+          continue;
+        }
+        // If bytes_written > size then we have over written, which shouldn't happen
+        if (bytes_written > length) {
+          throw SerialExecption ("write over wrote, too many bytes where "
+                                 "written, this shouldn't happen, might be "
+                                 "a logical error!");
+        }
+      }
+      // This shouldn't happen, if r > 0 our fd has to be in the list!
+      THROW (IOException, "select reports ready to write, but our fd isn't"
+                          " in the list, this shouldn't happen!");
+    }
+  }
+  return bytes_written;
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t serial::serial::Serial::SerialImpl::write (const uint8_t * data,
size_t length 
)
+
+
+ +
+
+ +
+
+ + + + + + + +
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/doc/1.0.1/closed.png b/doc/1.0.1/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/doc/1.0.1/doxygen.css b/doc/1.0.1/doxygen.css new file mode 100644 index 0000000..c151fde --- /dev/null +++ b/doc/1.0.1/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/doc/1.0.1/doxygen.png b/doc/1.0.1/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..635ed52fce7057ac24df92ec7664088a881fa5d0 GIT binary patch literal 3942 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 A+yDRo literal 0 HcmV?d00001 diff --git a/doc/1.0.1/files.html b/doc/1.0.1/files.html new file mode 100644 index 0000000..ad4f0f3 --- /dev/null +++ b/doc/1.0.1/files.html @@ -0,0 +1,117 @@ + + + + + +serial: File List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+ + + + + + + + +
examples/serial_example.cc
include/serial/serial.h [code]
include/serial/v8stdint.h [code]
include/serial/impl/unix.h [code]
include/serial/impl/win.h [code]
src/serial.cc
src/impl/unix.cc
src/impl/win.cc
+
+ + + + + + diff --git a/doc/1.0.1/functions.html b/doc/1.0.1/functions.html new file mode 100644 index 0000000..893f405 --- /dev/null +++ b/doc/1.0.1/functions.html @@ -0,0 +1,404 @@ + + + + + +serial: Data Fields + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in 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 -

+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+ + +

- ~ -

+
+ + + + + + diff --git a/doc/1.0.1/functions_func.html b/doc/1.0.1/functions_func.html new file mode 100644 index 0000000..1e28a44 --- /dev/null +++ b/doc/1.0.1/functions_func.html @@ -0,0 +1,390 @@ + + + + + +serial: Data Fields - Functions + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- a -

+ + +

- c -

+ + +

- f -

+ + +

- g -

+ + +

- i -

+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+ + +

- ~ -

+
+ + + + + + diff --git a/doc/1.0.1/functions_vars.html b/doc/1.0.1/functions_vars.html new file mode 100644 index 0000000..621f9f6 --- /dev/null +++ b/doc/1.0.1/functions_vars.html @@ -0,0 +1,128 @@ + + + + + +serial: Data Fields - Variables + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.0.1/globals.html b/doc/1.0.1/globals.html new file mode 100644 index 0000000..6361e34 --- /dev/null +++ b/doc/1.0.1/globals.html @@ -0,0 +1,130 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+ + + + + + diff --git a/doc/1.0.1/globals_defs.html b/doc/1.0.1/globals_defs.html new file mode 100644 index 0000000..0357474 --- /dev/null +++ b/doc/1.0.1/globals_defs.html @@ -0,0 +1,118 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.0.1/globals_func.html b/doc/1.0.1/globals_func.html new file mode 100644 index 0000000..8e7d309 --- /dev/null +++ b/doc/1.0.1/globals_func.html @@ -0,0 +1,124 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.0.1/graph_legend.html b/doc/1.0.1/graph_legend.html new file mode 100644 index 0000000..6dd5dd6 --- /dev/null +++ b/doc/1.0.1/graph_legend.html @@ -0,0 +1,165 @@ + + + + + +serial: Graph Legend + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in 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/doc/1.0.1/graph_legend.md5 b/doc/1.0.1/graph_legend.md5 new file mode 100644 index 0000000..c0a4490 --- /dev/null +++ b/doc/1.0.1/graph_legend.md5 @@ -0,0 +1 @@ +70d597617e34367275a35eeb8fb7ea07 \ No newline at end of file diff --git a/doc/1.0.1/graph_legend.png b/doc/1.0.1/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/doc/1.0.1/index.html b/doc/1.0.1/index.html new file mode 100644 index 0000000..38dda26 --- /dev/null +++ b/doc/1.0.1/index.html @@ -0,0 +1,153 @@ + + + + + +serial: Serial Library + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
Serial Library
+
+
+
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
+

+What is serial?

+

Serial is a cross-platform, simple to use library for using serial ports on computers. This library provides a C++, object oriented interface for interacting with RS-232 like devices on Linux and Windows.

+

Want to use it with ROS(Robot Operating System)? No problem, it compiles as a unary stack.

+

+Getting Started

+

Ready to jump in?

+ +

+Features

+
    +
  • Linux, Mac OS X, and Windows Support
  • +
  • Easy to use interface (modeled after PySerial)
  • +
  • Minimal dependencies (cmake)
  • +
  • Complete timeout control serial::Serial::setTimeout
  • +
  • Check and set handshaking lines (CTS, DSR, RI, CD and RTS, DTR)
  • +
  • Block for changes in handshaking lines (Linux and Windows)
  • +
  • Flush I/O separately and block until all writing done
  • +
+

+Installation

+

+Dependencies

+ +

+Compiling

+

Once you have gathered the dependencies, you need to checkout the software from github.com:

+
+    git clone git://github.com/wjwwood/serial.git
+

Once you have checked out the source code from github.com you can enter the directory and build the software.

+
+    cd serial
+    make
+    make test # (optional) builds the example and tests, and runs the tests.
+    make doc  # (optional) builds _this_ documentation.
+

+Installing

+

To install simply:

+
+    sudo make install
+

To uninstall simply:

+
+    sudo make uninstall
+
+ + + + + + diff --git a/doc/1.0.1/jquery.js b/doc/1.0.1/jquery.js new file mode 100644 index 0000000..90b3a2b --- /dev/null +++ b/doc/1.0.1/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/doc/1.0.1/namespacemembers_enum.html b/doc/1.0.1/namespacemembers_enum.html new file mode 100644 index 0000000..57a3607 --- /dev/null +++ b/doc/1.0.1/namespacemembers_enum.html @@ -0,0 +1,124 @@ + + + + + +serial: Namespace Members + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.0.1/namespacemembers_eval.html b/doc/1.0.1/namespacemembers_eval.html new file mode 100644 index 0000000..383b9af --- /dev/null +++ b/doc/1.0.1/namespacemembers_eval.html @@ -0,0 +1,151 @@ + + + + + +serial: Namespace Members + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.0.1/namespaces.html b/doc/1.0.1/namespaces.html new file mode 100644 index 0000000..e310761 --- /dev/null +++ b/doc/1.0.1/namespaces.html @@ -0,0 +1,112 @@ + + + + + +serial: Namespace List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Namespace List
+
+
+
Here is a list of all namespaces with brief descriptions:
+ + + +
serial
serial::serial
serial::serial::Serial
+
+ + + + + + diff --git a/doc/1.0.1/namespaceserial.html b/doc/1.0.1/namespaceserial.html new file mode 100644 index 0000000..dd09719 --- /dev/null +++ b/doc/1.0.1/namespaceserial.html @@ -0,0 +1,262 @@ + + + + + +serial: serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
serial Namespace Reference
+
+
+ + + + + + + + + + + + + + +

+Namespaces

namespace  serial

+Data Structures

struct  Timeout
class  Serial
class  SerialExecption
class  IOException
class  PortNotOpenedException

+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, +flowcontrol_hardware + }
+

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  +
flowcontrol_hardware  +
+
+
+ +
+
+ +
+
+ + + + +
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/doc/1.0.1/namespaceserial_1_1serial.html b/doc/1.0.1/namespaceserial_1_1serial.html new file mode 100644 index 0000000..fca1442 --- /dev/null +++ b/doc/1.0.1/namespaceserial_1_1serial.html @@ -0,0 +1,120 @@ + + + + + +serial: serial::serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::serial Namespace Reference
+
+
+ + + +

+Namespaces

namespace  Serial
+
+ + + + + + diff --git a/doc/1.0.1/namespaceserial_1_1serial_1_1_serial.html b/doc/1.0.1/namespaceserial_1_1serial_1_1_serial.html new file mode 100644 index 0000000..01339dd --- /dev/null +++ b/doc/1.0.1/namespaceserial_1_1serial_1_1_serial.html @@ -0,0 +1,121 @@ + + + + + +serial: serial::serial::Serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::serial::Serial Namespace Reference
+
+
+ + + +

+Data Structures

class  SerialImpl
+
+ + + + + + diff --git a/doc/1.0.1/nav_f.png b/doc/1.0.1/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/doc/1.0.1/nav_h.png b/doc/1.0.1/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/doc/1.0.1/open.png b/doc/1.0.1/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/doc/1.0.1/search/all_61.js b/doc/1.0.1/search/all_61.js new file mode 100644 index 0000000..4a6b8e4 --- /dev/null +++ b/doc/1.0.1/search/all_61.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['available',['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()'],['../classserial_1_1_serial.html#afafe25b2f3bb0809550abdc72c51a234',1,'serial::Serial::available()']]] +]; diff --git a/doc/1.0.1/search/all_62.html b/doc/1.0.1/search/all_62.html new file mode 100644 index 0000000..ee8871c --- /dev/null +++ b/doc/1.0.1/search/all_62.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_62.js b/doc/1.0.1/search/all_62.js new file mode 100644 index 0000000..ff57a8f --- /dev/null +++ b/doc/1.0.1/search/all_62.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bytesize_5ft',['bytesize_t',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8',1,'serial']]] +]; diff --git a/doc/1.0.1/search/all_63.html b/doc/1.0.1/search/all_63.html new file mode 100644 index 0000000..56b5ad1 --- /dev/null +++ b/doc/1.0.1/search/all_63.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_63.js b/doc/1.0.1/search/all_63.js new file mode 100644 index 0000000..e4b824e --- /dev/null +++ b/doc/1.0.1/search/all_63.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['close',['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()'],['../classserial_1_1_serial.html#afbe59407e718bc3d22ea4a67b304db6c',1,'serial::Serial::close()']]] +]; diff --git a/doc/1.0.1/search/all_65.html b/doc/1.0.1/search/all_65.html new file mode 100644 index 0000000..66cc834 --- /dev/null +++ b/doc/1.0.1/search/all_65.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_65.js b/doc/1.0.1/search/all_65.js new file mode 100644 index 0000000..10bd939 --- /dev/null +++ b/doc/1.0.1/search/all_65.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eightbits',['eightbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a47f14d952cf9bed6c3f7ae5985161990',1,'serial']]] +]; diff --git a/doc/1.0.1/search/all_66.html b/doc/1.0.1/search/all_66.html new file mode 100644 index 0000000..3d1f8b3 --- /dev/null +++ b/doc/1.0.1/search/all_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_66.js b/doc/1.0.1/search/all_66.js new file mode 100644 index 0000000..64469b5 --- /dev/null +++ b/doc/1.0.1/search/all_66.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['fivebits',['fivebits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8af09eeaf7333d2feda0bd3d748d5e3123',1,'serial']]], + ['flowcontrol_5fhardware',['flowcontrol_hardware',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351a84d411ac86fd25d659eef30aade04c43',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_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()'],['../classserial_1_1_serial.html#a63b7abf172cad25bfc998b3b1f98310f',1,'serial::Serial::flush()']]], + ['flushinput',['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()'],['../classserial_1_1_serial.html#afa2c1f9114a37b7d140fc2292d1499b9',1,'serial::Serial::flushInput()']]], + ['flushoutput',['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()'],['../classserial_1_1_serial.html#a256ee4bb93ab0e79d7a66b50f08dce53',1,'serial::Serial::flushOutput()']]] +]; diff --git a/doc/1.0.1/search/all_67.html b/doc/1.0.1/search/all_67.html new file mode 100644 index 0000000..41a459a --- /dev/null +++ b/doc/1.0.1/search/all_67.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_67.js b/doc/1.0.1/search/all_67.js new file mode 100644 index 0000000..108b85e --- /dev/null +++ b/doc/1.0.1/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_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 '],['../classserial_1_1_serial.html#a9b57d6da619d53f58cddc3621c78c32b',1,'serial::Serial::getBaudrate()']]], + ['getbytesize',['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 '],['../classserial_1_1_serial.html#a4fce90ef7a9a46525efa373a94a1bfbd',1,'serial::Serial::getBytesize()']]], + ['getcd',['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()'],['../classserial_1_1_serial.html#a9795a3e83e6745a14c64f657e68061fb',1,'serial::Serial::getCD()']]], + ['getcts',['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()'],['../classserial_1_1_serial.html#a809f048546c4c72b74e205139b97648c',1,'serial::Serial::getCTS()']]], + ['getdsr',['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()'],['../classserial_1_1_serial.html#a6b9a0c485e1fe599dbb5e9e15b1a65d6',1,'serial::Serial::getDSR()']]], + ['geterrornumber',['getErrorNumber',['../classserial_1_1_i_o_exception.html#a91d5ee5241dd49fb39e8e762564b6cc5',1,'serial::IOException']]], + ['getflowcontrol',['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 '],['../classserial_1_1_serial.html#acdc6da48a5434b936b1db20f36caf41f',1,'serial::Serial::getFlowcontrol()']]], + ['getparity',['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 '],['../classserial_1_1_serial.html#a89d876e1d3f0afadb0d6c21b08ed8931',1,'serial::Serial::getParity()']]], + ['getport',['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 '],['../classserial_1_1_serial.html#ae95cd057e90258b1b3203ff8972a3567',1,'serial::Serial::getPort()']]], + ['getri',['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()'],['../classserial_1_1_serial.html#afb96e6968f040c4bff7576095f4ba6e7',1,'serial::Serial::getRI()']]], + ['getstopbits',['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 '],['../classserial_1_1_serial.html#a42887bb76243bf6bbb3f69ff60f9792e',1,'serial::Serial::getStopbits()']]], + ['gettimeout',['getTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1_serial.html#a765fccd0e53562773626fb39bb2efcb6',1,'serial::Serial::getTimeout()']]] +]; diff --git a/doc/1.0.1/search/all_69.html b/doc/1.0.1/search/all_69.html new file mode 100644 index 0000000..1a00b55 --- /dev/null +++ b/doc/1.0.1/search/all_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_69.js b/doc/1.0.1/search/all_69.js new file mode 100644 index 0000000..252b6c5 --- /dev/null +++ b/doc/1.0.1/search/all_69.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['inter_5fbyte_5ftimeout',['inter_byte_timeout',['../structserial_1_1_timeout.html#ada15f2a0ae478cbb62ef79d1633b2b81',1,'serial::Timeout']]], + ['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)'],['../classserial_1_1_i_o_exception.html#af65196a71b800d11b5e5c367caf5b354',1,'serial::IOException::IOException(const IOException &other)']]], + ['isopen',['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 '],['../classserial_1_1_serial.html#af9895af496189f7f0aba7c097f5fa9c1',1,'serial::Serial::isOpen()']]] +]; diff --git a/doc/1.0.1/search/all_6d.html b/doc/1.0.1/search/all_6d.html new file mode 100644 index 0000000..2e27d4d --- /dev/null +++ b/doc/1.0.1/search/all_6d.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_6d.js b/doc/1.0.1/search/all_6d.js new file mode 100644 index 0000000..6259fbe --- /dev/null +++ b/doc/1.0.1/search/all_6d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['main',['main',['../serial__example_8cc.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'serial_example.cc']]], + ['max',['max',['../structserial_1_1_timeout.html#adc68e33d2f94bfa33ba1062c363b9151',1,'serial::Timeout']]], + ['my_5fsleep',['my_sleep',['../serial__example_8cc.html#a89b7c9d8c710b057346cc9ac52ae3734',1,'serial_example.cc']]] +]; diff --git a/doc/1.0.1/search/all_6f.html b/doc/1.0.1/search/all_6f.html new file mode 100644 index 0000000..61827e8 --- /dev/null +++ b/doc/1.0.1/search/all_6f.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_6f.js b/doc/1.0.1/search/all_6f.js new file mode 100644 index 0000000..65fc001 --- /dev/null +++ b/doc/1.0.1/search/all_6f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['open',['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()'],['../classserial_1_1_serial.html#af3644ed1a9d899b70e9d63bb9b808d62',1,'serial::Serial::open()']]] +]; diff --git a/doc/1.0.1/search/all_70.html b/doc/1.0.1/search/all_70.html new file mode 100644 index 0000000..0340151 --- /dev/null +++ b/doc/1.0.1/search/all_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_70.js b/doc/1.0.1/search/all_70.js new file mode 100644 index 0000000..589b9bf --- /dev/null +++ b/doc/1.0.1/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(const char *description)'],['../classserial_1_1_port_not_opened_exception.html#ae8b466d10d496a53ed8e9f949e9e628c',1,'serial::PortNotOpenedException::PortNotOpenedException(const PortNotOpenedException &other)']]], + ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html',1,'serial']]] +]; diff --git a/doc/1.0.1/search/all_72.html b/doc/1.0.1/search/all_72.html new file mode 100644 index 0000000..0ab18d6 --- /dev/null +++ b/doc/1.0.1/search/all_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_72.js b/doc/1.0.1/search/all_72.js new file mode 100644 index 0000000..27e0f9a --- /dev/null +++ b/doc/1.0.1/search/all_72.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['read',['read',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1_serial.html#a0261dbfb9361784ecb3eee98b85fa103',1,'serial::Serial::read(uint8_t *buffer, size_t size)'],['../classserial_1_1_serial.html#aa3795c6cbc96f504932dd02fd6e9538e',1,'serial::Serial::read(std::vector< uint8_t > &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)']]], + ['read_5ftimeout_5fconstant',['read_timeout_constant',['../structserial_1_1_timeout.html#a099244649dec66b6e0548480edeb2b9f',1,'serial::Timeout']]], + ['read_5ftimeout_5fmultiplier',['read_timeout_multiplier',['../structserial_1_1_timeout.html#a64412753eb2edf1621716dd9f1a4e71e',1,'serial::Timeout']]], + ['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#a3536cdcf1a389a2effe27455db31b906',1,'serial::serial::Serial::SerialImpl::readLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a284eeedc3dd686ecef0fdcfd83bebc54',1,'serial::serial::Serial::SerialImpl::readLock()']]], + ['readunlock',['readUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a63f05143ebfa94168e1df5047362ef0e',1,'serial::serial::Serial::SerialImpl::readUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab6533e884ba609a1dd6a88b7964d8b52',1,'serial::serial::Serial::SerialImpl::readUnlock()']]], + ['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()']]], + ['run',['run',['../serial__example_8cc.html#ac1f545534cdaab9094198a5dc2c2a79f',1,'serial_example.cc']]] +]; diff --git a/doc/1.0.1/search/all_73.html b/doc/1.0.1/search/all_73.html new file mode 100644 index 0000000..1ec8f17 --- /dev/null +++ b/doc/1.0.1/search/all_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_73.js b/doc/1.0.1/search/all_73.js new file mode 100644 index 0000000..e16e64d --- /dev/null +++ b/doc/1.0.1/search/all_73.js @@ -0,0 +1,36 @@ +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_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)'],['../classserial_1_1_serial.html#ade90ff8f03525ea6d7b702fcd0f336de',1,'serial::Serial::sendBreak()']]], + ['serial',['serial',['../namespaceserial.html',1,'serial'],['../classserial_1_1_serial.html#aecbc4cc1723143805ae5a4aa79ba9332',1,'serial::Serial::Serial()']]], + ['serial',['Serial',['../classserial_1_1_serial.html',1,'serial::Serial'],['../namespaceserial_1_1serial.html',1,'serial::serial']]], + ['serial',['Serial',['../namespaceserial_1_1serial_1_1_serial.html',1,'serial::serial']]], + ['serial_2ecc',['serial.cc',['../serial_8cc.html',1,'']]], + ['serial_2edox',['serial.dox',['../serial_8dox.html',1,'']]], + ['serial_2eh',['serial.h',['../serial_8h.html',1,'']]], + ['serial_5fexample_2ecc',['serial_example.cc',['../serial__example_8cc.html',1,'']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html',1,'serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html#aa4b29d2631c6a9a0ebe591834bbc4609',1,'serial::SerialExecption::SerialExecption(const char *description)'],['../classserial_1_1_serial_execption.html#a824b52fe58b37de592d7bd13e7949860',1,'serial::SerialExecption::SerialExecption(const SerialExecption &other)']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9baa5dccbb7935163bf6715eb5d9deff',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#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)']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html',1,'serial::serial::Serial']]], + ['setbaudrate',['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)'],['../classserial_1_1_serial.html#ad4f7e9edff11b464199e94a43dfd19bf',1,'serial::Serial::setBaudrate()']]], + ['setbreak',['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)'],['../classserial_1_1_serial.html#a2a27912b1ca5cdad4a4aba7b9ddbc206',1,'serial::Serial::setBreak()']]], + ['setbytesize',['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)'],['../classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa',1,'serial::Serial::setBytesize()']]], + ['setdtr',['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)'],['../classserial_1_1_serial.html#ac9b0bbf613a5fe68f05d1d40181a1bb3',1,'serial::Serial::setDTR()']]], + ['setflowcontrol',['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)'],['../classserial_1_1_serial.html#ade41650d6bfe91b6432e5a0a60c03969',1,'serial::Serial::setFlowcontrol()']]], + ['setparity',['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)'],['../classserial_1_1_serial.html#a1e1896aa59ec35ac5bd263b87614ef01',1,'serial::Serial::setParity()']]], + ['setport',['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)'],['../classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a',1,'serial::Serial::setPort()']]], + ['setrts',['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)'],['../classserial_1_1_serial.html#ab43ddc05e5d69ff2778f698aa7062370',1,'serial::Serial::setRTS()']]], + ['setstopbits',['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)'],['../classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5',1,'serial::Serial::setStopbits()']]], + ['settimeout',['setTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3',1,'serial::Serial::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4b4be39af3e1c68bc6ac09cb55788c86',1,'serial::Serial::setTimeout(uint32_t inter_byte_timeout, uint32_t read_timeout_constant, uint32_t read_timeout_multiplier, uint32_t write_timeout_constant, uint32_t write_timeout_multiplier)']]], + ['sevenbits',['sevenbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a7cf0a3607e326ff6736941008ea8174d',1,'serial']]], + ['simpletimeout',['simpleTimeout',['../structserial_1_1_timeout.html#aa4fbd72e16f47c9aea9fb3c32ca17828',1,'serial::Timeout']]], + ['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/doc/1.0.1/search/all_74.html b/doc/1.0.1/search/all_74.html new file mode 100644 index 0000000..fdc6589 --- /dev/null +++ b/doc/1.0.1/search/all_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_74.js b/doc/1.0.1/search/all_74.js new file mode 100644 index 0000000..b846294 --- /dev/null +++ b/doc/1.0.1/search/all_74.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['throw',['THROW',['../serial_8h.html#a25cffc64bd967636d69d7c3c82af1030',1,'serial.h']]], + ['timeout',['Timeout',['../structserial_1_1_timeout.html#a1a454b17f5d653b8e1b04b3ec2fead59',1,'serial::Timeout']]], + ['timeout',['Timeout',['../structserial_1_1_timeout.html',1,'serial']]], + ['tiocinq',['TIOCINQ',['../unix_8cc.html#ad6548c2f81bf6e2679166b22d24784f1',1,'unix.cc']]] +]; diff --git a/doc/1.0.1/search/all_75.html b/doc/1.0.1/search/all_75.html new file mode 100644 index 0000000..ab8455e --- /dev/null +++ b/doc/1.0.1/search/all_75.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_75.js b/doc/1.0.1/search/all_75.js new file mode 100644 index 0000000..a7d347f --- /dev/null +++ b/doc/1.0.1/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/doc/1.0.1/search/all_76.html b/doc/1.0.1/search/all_76.html new file mode 100644 index 0000000..0ff5edd --- /dev/null +++ b/doc/1.0.1/search/all_76.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_76.js b/doc/1.0.1/search/all_76.js new file mode 100644 index 0000000..edd4f0a --- /dev/null +++ b/doc/1.0.1/search/all_76.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['v8stdint_2eh',['v8stdint.h',['../v8stdint_8h.html',1,'']]] +]; diff --git a/doc/1.0.1/search/all_77.html b/doc/1.0.1/search/all_77.html new file mode 100644 index 0000000..73323d3 --- /dev/null +++ b/doc/1.0.1/search/all_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_77.js b/doc/1.0.1/search/all_77.js new file mode 100644 index 0000000..cdd7401 --- /dev/null +++ b/doc/1.0.1/search/all_77.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['waitforchange',['waitForChange',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#abf091b468bdc0d9d338e51e746e0c397',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09f1dcb8e32cb64188daaf8ac0d40215',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1_serial.html#a419dc984258956a5adb41fb8c86f5449',1,'serial::Serial::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()']]], + ['win_2ecc',['win.cc',['../win_8cc.html',1,'']]], + ['win_2eh',['win.h',['../win_8h.html',1,'']]], + ['write',['write',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a222136f14876f84fd0d95f47a7d9c541',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a89b50df2562176fd250413833d636d0a',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1_serial.html#aa020880cdff3a370ddc574f594379c3c',1,'serial::Serial::write(const uint8_t *data, size_t size)'],['../classserial_1_1_serial.html#a2c4180b4c7d386c84e9d0e7ef4a267d3',1,'serial::Serial::write(const std::vector< uint8_t > &data)'],['../classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460',1,'serial::Serial::write(const std::string &data)']]], + ['write_5ftimeout_5fconstant',['write_timeout_constant',['../structserial_1_1_timeout.html#accf01b97f83564f4ce3d6e5f63e21006',1,'serial::Timeout']]], + ['write_5ftimeout_5fmultiplier',['write_timeout_multiplier',['../structserial_1_1_timeout.html#a31ddae32907cff9c3d27fa763981317d',1,'serial::Timeout']]], + ['writelock',['writeLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac094e8cb4a5957e1ddeb1d4fdc9d9536',1,'serial::serial::Serial::SerialImpl::writeLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2905e50e9082a757bfafc03356e318ed',1,'serial::serial::Serial::SerialImpl::writeLock()']]], + ['writeunlock',['writeUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afeac86484622bbeb08303e98db24efe0',1,'serial::serial::Serial::SerialImpl::writeUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#adaec2b322f0b0793929da24f5bf09949',1,'serial::serial::Serial::SerialImpl::writeUnlock()']]] +]; diff --git a/doc/1.0.1/search/all_7e.html b/doc/1.0.1/search/all_7e.html new file mode 100644 index 0000000..63512c6 --- /dev/null +++ b/doc/1.0.1/search/all_7e.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/all_7e.js b/doc/1.0.1/search/all_7e.js new file mode 100644 index 0000000..e8440ac --- /dev/null +++ b/doc/1.0.1/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/doc/1.0.1/search/classes_69.html b/doc/1.0.1/search/classes_69.html new file mode 100644 index 0000000..961dbea --- /dev/null +++ b/doc/1.0.1/search/classes_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/classes_69.js b/doc/1.0.1/search/classes_69.js new file mode 100644 index 0000000..9252d96 --- /dev/null +++ b/doc/1.0.1/search/classes_69.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html',1,'serial']]] +]; diff --git a/doc/1.0.1/search/classes_70.html b/doc/1.0.1/search/classes_70.html new file mode 100644 index 0000000..e4b5208 --- /dev/null +++ b/doc/1.0.1/search/classes_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/classes_70.js b/doc/1.0.1/search/classes_70.js new file mode 100644 index 0000000..422dca4 --- /dev/null +++ b/doc/1.0.1/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/doc/1.0.1/search/classes_73.html b/doc/1.0.1/search/classes_73.html new file mode 100644 index 0000000..a1bf0b9 --- /dev/null +++ b/doc/1.0.1/search/classes_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/classes_73.js b/doc/1.0.1/search/classes_73.js new file mode 100644 index 0000000..a4aa155 --- /dev/null +++ b/doc/1.0.1/search/classes_73.js @@ -0,0 +1,8 @@ +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']]], + ['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/doc/1.0.1/search/classes_74.html b/doc/1.0.1/search/classes_74.html new file mode 100644 index 0000000..f7f27ce --- /dev/null +++ b/doc/1.0.1/search/classes_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/classes_74.js b/doc/1.0.1/search/classes_74.js new file mode 100644 index 0000000..747b69c --- /dev/null +++ b/doc/1.0.1/search/classes_74.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timeout',['Timeout',['../structserial_1_1_timeout.html',1,'serial']]] +]; diff --git a/doc/1.0.1/search/close.png b/doc/1.0.1/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/doc/1.0.1/search/defines_74.html b/doc/1.0.1/search/defines_74.html new file mode 100644 index 0000000..7c78f10 --- /dev/null +++ b/doc/1.0.1/search/defines_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/defines_74.js b/doc/1.0.1/search/defines_74.js new file mode 100644 index 0000000..38216c2 --- /dev/null +++ b/doc/1.0.1/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/doc/1.0.1/search/enums_62.html b/doc/1.0.1/search/enums_62.html new file mode 100644 index 0000000..321fe92 --- /dev/null +++ b/doc/1.0.1/search/enums_62.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/enums_62.js b/doc/1.0.1/search/enums_62.js new file mode 100644 index 0000000..ff57a8f --- /dev/null +++ b/doc/1.0.1/search/enums_62.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bytesize_5ft',['bytesize_t',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8',1,'serial']]] +]; diff --git a/doc/1.0.1/search/enums_66.html b/doc/1.0.1/search/enums_66.html new file mode 100644 index 0000000..87b48de --- /dev/null +++ b/doc/1.0.1/search/enums_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/enums_66.js b/doc/1.0.1/search/enums_66.js new file mode 100644 index 0000000..0eb1150 --- /dev/null +++ b/doc/1.0.1/search/enums_66.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['flowcontrol_5ft',['flowcontrol_t',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351',1,'serial']]] +]; diff --git a/doc/1.0.1/search/enums_70.html b/doc/1.0.1/search/enums_70.html new file mode 100644 index 0000000..0bc0915 --- /dev/null +++ b/doc/1.0.1/search/enums_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/enums_70.js b/doc/1.0.1/search/enums_70.js new file mode 100644 index 0000000..e244a2d --- /dev/null +++ b/doc/1.0.1/search/enums_70.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['parity_5ft',['parity_t',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481',1,'serial']]] +]; diff --git a/doc/1.0.1/search/enums_73.html b/doc/1.0.1/search/enums_73.html new file mode 100644 index 0000000..3f157e6 --- /dev/null +++ b/doc/1.0.1/search/enums_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/enums_73.js b/doc/1.0.1/search/enums_73.js new file mode 100644 index 0000000..d047512 --- /dev/null +++ b/doc/1.0.1/search/enums_73.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['stopbits_5ft',['stopbits_t',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469',1,'serial']]] +]; diff --git a/doc/1.0.1/search/enumvalues_65.html b/doc/1.0.1/search/enumvalues_65.html new file mode 100644 index 0000000..58030d7 --- /dev/null +++ b/doc/1.0.1/search/enumvalues_65.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/enumvalues_65.js b/doc/1.0.1/search/enumvalues_65.js new file mode 100644 index 0000000..10bd939 --- /dev/null +++ b/doc/1.0.1/search/enumvalues_65.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eightbits',['eightbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a47f14d952cf9bed6c3f7ae5985161990',1,'serial']]] +]; diff --git a/doc/1.0.1/search/enumvalues_66.html b/doc/1.0.1/search/enumvalues_66.html new file mode 100644 index 0000000..7f7df6f --- /dev/null +++ b/doc/1.0.1/search/enumvalues_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/enumvalues_66.js b/doc/1.0.1/search/enumvalues_66.js new file mode 100644 index 0000000..d5ec239 --- /dev/null +++ b/doc/1.0.1/search/enumvalues_66.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['fivebits',['fivebits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8af09eeaf7333d2feda0bd3d748d5e3123',1,'serial']]], + ['flowcontrol_5fhardware',['flowcontrol_hardware',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351a84d411ac86fd25d659eef30aade04c43',1,'serial']]], + ['flowcontrol_5fnone',['flowcontrol_none',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351a083bc02a6e8e7c6540a28654c0f95bb0',1,'serial']]], + ['flowcontrol_5fsoftware',['flowcontrol_software',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351ab3390af5eee11740af5e09d71ad419a6',1,'serial']]] +]; diff --git a/doc/1.0.1/search/enumvalues_70.html b/doc/1.0.1/search/enumvalues_70.html new file mode 100644 index 0000000..35a05be --- /dev/null +++ b/doc/1.0.1/search/enumvalues_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/enumvalues_70.js b/doc/1.0.1/search/enumvalues_70.js new file mode 100644 index 0000000..c073712 --- /dev/null +++ b/doc/1.0.1/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/doc/1.0.1/search/enumvalues_73.html b/doc/1.0.1/search/enumvalues_73.html new file mode 100644 index 0000000..f2f7db4 --- /dev/null +++ b/doc/1.0.1/search/enumvalues_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/enumvalues_73.js b/doc/1.0.1/search/enumvalues_73.js new file mode 100644 index 0000000..878414b --- /dev/null +++ b/doc/1.0.1/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/doc/1.0.1/search/files_73.html b/doc/1.0.1/search/files_73.html new file mode 100644 index 0000000..e0de9e6 --- /dev/null +++ b/doc/1.0.1/search/files_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/files_73.js b/doc/1.0.1/search/files_73.js new file mode 100644 index 0000000..5c9a4a2 --- /dev/null +++ b/doc/1.0.1/search/files_73.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['serial_2ecc',['serial.cc',['../serial_8cc.html',1,'']]], + ['serial_2edox',['serial.dox',['../serial_8dox.html',1,'']]], + ['serial_2eh',['serial.h',['../serial_8h.html',1,'']]], + ['serial_5fexample_2ecc',['serial_example.cc',['../serial__example_8cc.html',1,'']]] +]; diff --git a/doc/1.0.1/search/files_75.html b/doc/1.0.1/search/files_75.html new file mode 100644 index 0000000..8ea7b3d --- /dev/null +++ b/doc/1.0.1/search/files_75.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/files_75.js b/doc/1.0.1/search/files_75.js new file mode 100644 index 0000000..a7d347f --- /dev/null +++ b/doc/1.0.1/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/doc/1.0.1/search/files_76.html b/doc/1.0.1/search/files_76.html new file mode 100644 index 0000000..e53e134 --- /dev/null +++ b/doc/1.0.1/search/files_76.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/files_76.js b/doc/1.0.1/search/files_76.js new file mode 100644 index 0000000..edd4f0a --- /dev/null +++ b/doc/1.0.1/search/files_76.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['v8stdint_2eh',['v8stdint.h',['../v8stdint_8h.html',1,'']]] +]; diff --git a/doc/1.0.1/search/files_77.html b/doc/1.0.1/search/files_77.html new file mode 100644 index 0000000..69f6897 --- /dev/null +++ b/doc/1.0.1/search/files_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/files_77.js b/doc/1.0.1/search/files_77.js new file mode 100644 index 0000000..e1669a3 --- /dev/null +++ b/doc/1.0.1/search/files_77.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['win_2ecc',['win.cc',['../win_8cc.html',1,'']]], + ['win_2eh',['win.h',['../win_8h.html',1,'']]] +]; diff --git a/doc/1.0.1/search/functions_61.html b/doc/1.0.1/search/functions_61.html new file mode 100644 index 0000000..7f39533 --- /dev/null +++ b/doc/1.0.1/search/functions_61.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/functions_61.js b/doc/1.0.1/search/functions_61.js new file mode 100644 index 0000000..4a6b8e4 --- /dev/null +++ b/doc/1.0.1/search/functions_61.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['available',['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()'],['../classserial_1_1_serial.html#afafe25b2f3bb0809550abdc72c51a234',1,'serial::Serial::available()']]] +]; diff --git a/doc/1.0.1/search/functions_63.html b/doc/1.0.1/search/functions_63.html new file mode 100644 index 0000000..9ebe11d --- /dev/null +++ b/doc/1.0.1/search/functions_63.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/functions_63.js b/doc/1.0.1/search/functions_63.js new file mode 100644 index 0000000..e4b824e --- /dev/null +++ b/doc/1.0.1/search/functions_63.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['close',['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()'],['../classserial_1_1_serial.html#afbe59407e718bc3d22ea4a67b304db6c',1,'serial::Serial::close()']]] +]; diff --git a/doc/1.0.1/search/functions_66.html b/doc/1.0.1/search/functions_66.html new file mode 100644 index 0000000..319a531 --- /dev/null +++ b/doc/1.0.1/search/functions_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/functions_66.js b/doc/1.0.1/search/functions_66.js new file mode 100644 index 0000000..a22f813 --- /dev/null +++ b/doc/1.0.1/search/functions_66.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['flush',['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()'],['../classserial_1_1_serial.html#a63b7abf172cad25bfc998b3b1f98310f',1,'serial::Serial::flush()']]], + ['flushinput',['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()'],['../classserial_1_1_serial.html#afa2c1f9114a37b7d140fc2292d1499b9',1,'serial::Serial::flushInput()']]], + ['flushoutput',['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()'],['../classserial_1_1_serial.html#a256ee4bb93ab0e79d7a66b50f08dce53',1,'serial::Serial::flushOutput()']]] +]; diff --git a/doc/1.0.1/search/functions_67.html b/doc/1.0.1/search/functions_67.html new file mode 100644 index 0000000..d0ab42a --- /dev/null +++ b/doc/1.0.1/search/functions_67.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/functions_67.js b/doc/1.0.1/search/functions_67.js new file mode 100644 index 0000000..108b85e --- /dev/null +++ b/doc/1.0.1/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_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 '],['../classserial_1_1_serial.html#a9b57d6da619d53f58cddc3621c78c32b',1,'serial::Serial::getBaudrate()']]], + ['getbytesize',['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 '],['../classserial_1_1_serial.html#a4fce90ef7a9a46525efa373a94a1bfbd',1,'serial::Serial::getBytesize()']]], + ['getcd',['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()'],['../classserial_1_1_serial.html#a9795a3e83e6745a14c64f657e68061fb',1,'serial::Serial::getCD()']]], + ['getcts',['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()'],['../classserial_1_1_serial.html#a809f048546c4c72b74e205139b97648c',1,'serial::Serial::getCTS()']]], + ['getdsr',['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()'],['../classserial_1_1_serial.html#a6b9a0c485e1fe599dbb5e9e15b1a65d6',1,'serial::Serial::getDSR()']]], + ['geterrornumber',['getErrorNumber',['../classserial_1_1_i_o_exception.html#a91d5ee5241dd49fb39e8e762564b6cc5',1,'serial::IOException']]], + ['getflowcontrol',['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 '],['../classserial_1_1_serial.html#acdc6da48a5434b936b1db20f36caf41f',1,'serial::Serial::getFlowcontrol()']]], + ['getparity',['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 '],['../classserial_1_1_serial.html#a89d876e1d3f0afadb0d6c21b08ed8931',1,'serial::Serial::getParity()']]], + ['getport',['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 '],['../classserial_1_1_serial.html#ae95cd057e90258b1b3203ff8972a3567',1,'serial::Serial::getPort()']]], + ['getri',['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()'],['../classserial_1_1_serial.html#afb96e6968f040c4bff7576095f4ba6e7',1,'serial::Serial::getRI()']]], + ['getstopbits',['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 '],['../classserial_1_1_serial.html#a42887bb76243bf6bbb3f69ff60f9792e',1,'serial::Serial::getStopbits()']]], + ['gettimeout',['getTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1_serial.html#a765fccd0e53562773626fb39bb2efcb6',1,'serial::Serial::getTimeout()']]] +]; diff --git a/doc/1.0.1/search/functions_69.html b/doc/1.0.1/search/functions_69.html new file mode 100644 index 0000000..e204197 --- /dev/null +++ b/doc/1.0.1/search/functions_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/functions_69.js b/doc/1.0.1/search/functions_69.js new file mode 100644 index 0000000..4630e34 --- /dev/null +++ b/doc/1.0.1/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)'],['../classserial_1_1_i_o_exception.html#af65196a71b800d11b5e5c367caf5b354',1,'serial::IOException::IOException(const IOException &other)']]], + ['isopen',['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 '],['../classserial_1_1_serial.html#af9895af496189f7f0aba7c097f5fa9c1',1,'serial::Serial::isOpen()']]] +]; diff --git a/doc/1.0.1/search/functions_6d.html b/doc/1.0.1/search/functions_6d.html new file mode 100644 index 0000000..d01ac53 --- /dev/null +++ b/doc/1.0.1/search/functions_6d.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/functions_6d.js b/doc/1.0.1/search/functions_6d.js new file mode 100644 index 0000000..6259fbe --- /dev/null +++ b/doc/1.0.1/search/functions_6d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['main',['main',['../serial__example_8cc.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'serial_example.cc']]], + ['max',['max',['../structserial_1_1_timeout.html#adc68e33d2f94bfa33ba1062c363b9151',1,'serial::Timeout']]], + ['my_5fsleep',['my_sleep',['../serial__example_8cc.html#a89b7c9d8c710b057346cc9ac52ae3734',1,'serial_example.cc']]] +]; diff --git a/doc/1.0.1/search/functions_6f.html b/doc/1.0.1/search/functions_6f.html new file mode 100644 index 0000000..222f0f8 --- /dev/null +++ b/doc/1.0.1/search/functions_6f.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/functions_6f.js b/doc/1.0.1/search/functions_6f.js new file mode 100644 index 0000000..65fc001 --- /dev/null +++ b/doc/1.0.1/search/functions_6f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['open',['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()'],['../classserial_1_1_serial.html#af3644ed1a9d899b70e9d63bb9b808d62',1,'serial::Serial::open()']]] +]; diff --git a/doc/1.0.1/search/functions_70.html b/doc/1.0.1/search/functions_70.html new file mode 100644 index 0000000..c62125e --- /dev/null +++ b/doc/1.0.1/search/functions_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/functions_70.js b/doc/1.0.1/search/functions_70.js new file mode 100644 index 0000000..ecb3695 --- /dev/null +++ b/doc/1.0.1/search/functions_70.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html#acd2213fae864534eae6a580f74c5ab1b',1,'serial::PortNotOpenedException::PortNotOpenedException(const char *description)'],['../classserial_1_1_port_not_opened_exception.html#ae8b466d10d496a53ed8e9f949e9e628c',1,'serial::PortNotOpenedException::PortNotOpenedException(const PortNotOpenedException &other)']]] +]; diff --git a/doc/1.0.1/search/functions_72.html b/doc/1.0.1/search/functions_72.html new file mode 100644 index 0000000..a4336f7 --- /dev/null +++ b/doc/1.0.1/search/functions_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/functions_72.js b/doc/1.0.1/search/functions_72.js new file mode 100644 index 0000000..85d6f08 --- /dev/null +++ b/doc/1.0.1/search/functions_72.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['read',['read',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1_serial.html#a0261dbfb9361784ecb3eee98b85fa103',1,'serial::Serial::read(uint8_t *buffer, size_t size)'],['../classserial_1_1_serial.html#aa3795c6cbc96f504932dd02fd6e9538e',1,'serial::Serial::read(std::vector< uint8_t > &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)']]], + ['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#a3536cdcf1a389a2effe27455db31b906',1,'serial::serial::Serial::SerialImpl::readLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a284eeedc3dd686ecef0fdcfd83bebc54',1,'serial::serial::Serial::SerialImpl::readLock()']]], + ['readunlock',['readUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a63f05143ebfa94168e1df5047362ef0e',1,'serial::serial::Serial::SerialImpl::readUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab6533e884ba609a1dd6a88b7964d8b52',1,'serial::serial::Serial::SerialImpl::readUnlock()']]], + ['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()']]], + ['run',['run',['../serial__example_8cc.html#ac1f545534cdaab9094198a5dc2c2a79f',1,'serial_example.cc']]] +]; diff --git a/doc/1.0.1/search/functions_73.html b/doc/1.0.1/search/functions_73.html new file mode 100644 index 0000000..774d577 --- /dev/null +++ b/doc/1.0.1/search/functions_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/functions_73.js b/doc/1.0.1/search/functions_73.js new file mode 100644 index 0000000..761e893 --- /dev/null +++ b/doc/1.0.1/search/functions_73.js @@ -0,0 +1,20 @@ +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_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)'],['../classserial_1_1_serial.html#ade90ff8f03525ea6d7b702fcd0f336de',1,'serial::Serial::sendBreak()']]], + ['serial',['Serial',['../classserial_1_1_serial.html#aecbc4cc1723143805ae5a4aa79ba9332',1,'serial::Serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html#aa4b29d2631c6a9a0ebe591834bbc4609',1,'serial::SerialExecption::SerialExecption(const char *description)'],['../classserial_1_1_serial_execption.html#a824b52fe58b37de592d7bd13e7949860',1,'serial::SerialExecption::SerialExecption(const SerialExecption &other)']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9baa5dccbb7935163bf6715eb5d9deff',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#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)']]], + ['setbaudrate',['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)'],['../classserial_1_1_serial.html#ad4f7e9edff11b464199e94a43dfd19bf',1,'serial::Serial::setBaudrate()']]], + ['setbreak',['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)'],['../classserial_1_1_serial.html#a2a27912b1ca5cdad4a4aba7b9ddbc206',1,'serial::Serial::setBreak()']]], + ['setbytesize',['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)'],['../classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa',1,'serial::Serial::setBytesize()']]], + ['setdtr',['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)'],['../classserial_1_1_serial.html#ac9b0bbf613a5fe68f05d1d40181a1bb3',1,'serial::Serial::setDTR()']]], + ['setflowcontrol',['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)'],['../classserial_1_1_serial.html#ade41650d6bfe91b6432e5a0a60c03969',1,'serial::Serial::setFlowcontrol()']]], + ['setparity',['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)'],['../classserial_1_1_serial.html#a1e1896aa59ec35ac5bd263b87614ef01',1,'serial::Serial::setParity()']]], + ['setport',['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)'],['../classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a',1,'serial::Serial::setPort()']]], + ['setrts',['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)'],['../classserial_1_1_serial.html#ab43ddc05e5d69ff2778f698aa7062370',1,'serial::Serial::setRTS()']]], + ['setstopbits',['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)'],['../classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5',1,'serial::Serial::setStopbits()']]], + ['settimeout',['setTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3',1,'serial::Serial::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4b4be39af3e1c68bc6ac09cb55788c86',1,'serial::Serial::setTimeout(uint32_t inter_byte_timeout, uint32_t read_timeout_constant, uint32_t read_timeout_multiplier, uint32_t write_timeout_constant, uint32_t write_timeout_multiplier)']]], + ['simpletimeout',['simpleTimeout',['../structserial_1_1_timeout.html#aa4fbd72e16f47c9aea9fb3c32ca17828',1,'serial::Timeout']]] +]; diff --git a/doc/1.0.1/search/functions_74.html b/doc/1.0.1/search/functions_74.html new file mode 100644 index 0000000..e3c96c3 --- /dev/null +++ b/doc/1.0.1/search/functions_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/functions_74.js b/doc/1.0.1/search/functions_74.js new file mode 100644 index 0000000..2a6b2d5 --- /dev/null +++ b/doc/1.0.1/search/functions_74.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timeout',['Timeout',['../structserial_1_1_timeout.html#a1a454b17f5d653b8e1b04b3ec2fead59',1,'serial::Timeout']]] +]; diff --git a/doc/1.0.1/search/functions_77.html b/doc/1.0.1/search/functions_77.html new file mode 100644 index 0000000..8fe9755 --- /dev/null +++ b/doc/1.0.1/search/functions_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/functions_77.js b/doc/1.0.1/search/functions_77.js new file mode 100644 index 0000000..585547f --- /dev/null +++ b/doc/1.0.1/search/functions_77.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['waitforchange',['waitForChange',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#abf091b468bdc0d9d338e51e746e0c397',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09f1dcb8e32cb64188daaf8ac0d40215',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1_serial.html#a419dc984258956a5adb41fb8c86f5449',1,'serial::Serial::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_1serial_1_1_serial_1_1_serial_impl.html#a222136f14876f84fd0d95f47a7d9c541',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a89b50df2562176fd250413833d636d0a',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1_serial.html#aa020880cdff3a370ddc574f594379c3c',1,'serial::Serial::write(const uint8_t *data, size_t size)'],['../classserial_1_1_serial.html#a2c4180b4c7d386c84e9d0e7ef4a267d3',1,'serial::Serial::write(const std::vector< uint8_t > &data)'],['../classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460',1,'serial::Serial::write(const std::string &data)']]], + ['writelock',['writeLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac094e8cb4a5957e1ddeb1d4fdc9d9536',1,'serial::serial::Serial::SerialImpl::writeLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2905e50e9082a757bfafc03356e318ed',1,'serial::serial::Serial::SerialImpl::writeLock()']]], + ['writeunlock',['writeUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afeac86484622bbeb08303e98db24efe0',1,'serial::serial::Serial::SerialImpl::writeUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#adaec2b322f0b0793929da24f5bf09949',1,'serial::serial::Serial::SerialImpl::writeUnlock()']]] +]; diff --git a/doc/1.0.1/search/functions_7e.html b/doc/1.0.1/search/functions_7e.html new file mode 100644 index 0000000..fd1d3ce --- /dev/null +++ b/doc/1.0.1/search/functions_7e.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/functions_7e.js b/doc/1.0.1/search/functions_7e.js new file mode 100644 index 0000000..e8440ac --- /dev/null +++ b/doc/1.0.1/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/doc/1.0.1/search/mag_sel.png b/doc/1.0.1/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/doc/1.0.1/search/namespaces_73.html b/doc/1.0.1/search/namespaces_73.html new file mode 100644 index 0000000..5ebf8e4 --- /dev/null +++ b/doc/1.0.1/search/namespaces_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/namespaces_73.js b/doc/1.0.1/search/namespaces_73.js new file mode 100644 index 0000000..ed4fe68 --- /dev/null +++ b/doc/1.0.1/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/doc/1.0.1/search/nomatches.html b/doc/1.0.1/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/doc/1.0.1/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/doc/1.0.1/search/search.css b/doc/1.0.1/search/search.css new file mode 100644 index 0000000..d18c1da --- /dev/null +++ b/doc/1.0.1/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/doc/1.0.1/search/search.js b/doc/1.0.1/search/search.js new file mode 100644 index 0000000..cef6337 --- /dev/null +++ b/doc/1.0.1/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: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111011101000101101111110000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000100110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101001101000101101110010000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 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/doc/1.0.1/search/search_r.png b/doc/1.0.1/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/doc/1.0.1/search/variables_69.js b/doc/1.0.1/search/variables_69.js new file mode 100644 index 0000000..c0d7081 --- /dev/null +++ b/doc/1.0.1/search/variables_69.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['inter_5fbyte_5ftimeout',['inter_byte_timeout',['../structserial_1_1_timeout.html#ada15f2a0ae478cbb62ef79d1633b2b81',1,'serial::Timeout']]] +]; diff --git a/doc/1.0.1/search/variables_72.html b/doc/1.0.1/search/variables_72.html new file mode 100644 index 0000000..29b87f0 --- /dev/null +++ b/doc/1.0.1/search/variables_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/variables_72.js b/doc/1.0.1/search/variables_72.js new file mode 100644 index 0000000..dd94aea --- /dev/null +++ b/doc/1.0.1/search/variables_72.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['read_5ftimeout_5fconstant',['read_timeout_constant',['../structserial_1_1_timeout.html#a099244649dec66b6e0548480edeb2b9f',1,'serial::Timeout']]], + ['read_5ftimeout_5fmultiplier',['read_timeout_multiplier',['../structserial_1_1_timeout.html#a64412753eb2edf1621716dd9f1a4e71e',1,'serial::Timeout']]] +]; diff --git a/doc/1.0.1/search/variables_77.html b/doc/1.0.1/search/variables_77.html new file mode 100644 index 0000000..25c3e3a --- /dev/null +++ b/doc/1.0.1/search/variables_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0.1/search/variables_77.js b/doc/1.0.1/search/variables_77.js new file mode 100644 index 0000000..43fa260 --- /dev/null +++ b/doc/1.0.1/search/variables_77.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['write_5ftimeout_5fconstant',['write_timeout_constant',['../structserial_1_1_timeout.html#accf01b97f83564f4ce3d6e5f63e21006',1,'serial::Timeout']]], + ['write_5ftimeout_5fmultiplier',['write_timeout_multiplier',['../structserial_1_1_timeout.html#a31ddae32907cff9c3d27fa763981317d',1,'serial::Timeout']]] +]; diff --git a/doc/1.0.1/serial_8cc.html b/doc/1.0.1/serial_8cc.html new file mode 100644 index 0000000..cd4d097 --- /dev/null +++ b/doc/1.0.1/serial_8cc.html @@ -0,0 +1,125 @@ + + + + + +serial: src/serial.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in 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/doc/1.0.1/serial_8cc__incl.map b/doc/1.0.1/serial_8cc__incl.map new file mode 100644 index 0000000..9b93ade --- /dev/null +++ b/doc/1.0.1/serial_8cc__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doc/1.0.1/serial_8cc__incl.md5 b/doc/1.0.1/serial_8cc__incl.md5 new file mode 100644 index 0000000..3cbf1cc --- /dev/null +++ b/doc/1.0.1/serial_8cc__incl.md5 @@ -0,0 +1 @@ +c658af7c9cee1bc94ae43edfaee9db94 \ No newline at end of file diff --git a/doc/1.0.1/serial_8cc__incl.png b/doc/1.0.1/serial_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..574e4e85843adaee93de7f909656846377d1fb34 GIT binary patch literal 27740 zcma&O1yq$?*Dk#EK}1P|lu`jv8tDe`Fj?(RC1=l#Aj z&iMXw#`w1m_JF|2Wwy`cN0dq`lsTtqK{a1n5f_IP}XNiT+=$!W+wN*Ztrp8Ee`M}sGCV)I&5 zgbcYvEUm}x-#gQal(7ehLia zuv?O}wx*xH@0Q`%iyyqjOS zKeyaGt-L2hPNP0?ziRfqtA0El7#KKR=Y)#nldY7Smp9Si#v0acX5j#~^6Jn*bp2f& z%28ESEpjX5BNdgB!VYScD*8TWeRaA_@{%7Nfq0C`j>dN-8bM7%WAQDiZ+ZXJ-PAuL zBg2(9BsBDBcQ>3-z`?;G6aD(cy)h+ardYF%iHV5}m5PeWU=?HBm^_3Q23+$7y`HQzd;k7DomTxfuj?zndyfozlkf=%-H$d@ z*JO1|*(fLs|9pQR61ub0lStQi@{FF|`r>3a0Fxy9w$ikY)odfTc_va)=!z}x|GC?E@;3+;FFGcsH;$pDudi=l zpj0Q%-`}72@<6^pT!mVx#eZpODR4Rnfk?g+8gQ%Qkyr#F#`4}`H#Ro5e2(;VqetC> z$gKN*NOkowcn_HE115aeg>aF8xun-C@wB8Fxqaq zrYNqi-d^cFX68a9-)85XKl~~xc#)kI)zwCfi5Kbx1L6s97Pl~<__)}0&6iwj5RwPV{Mf#jG zJUpyeproj%h>wSdhDV<^haCi0@9pYx-T8BiA8TM>z^E^UnTe^;Ela=U!P(KKx}qXB zKE7ClzK+futOR)2w8E{^)6?48+R@R`;gjvzCM%UUf`UH_luHP1Zn!tajX>>d&t_8mp2qJB?@0ag=be<4l(O=e&3xPD zRCV9bQ27>zNGRd%@o_4bN-x4k)G?K-LKh&y#9p zW%V{$%=}~fd~|fQ!}_Sy(SvUqmP$%7>FMdzM)&sj_Z{qS9wo3;0l zeT#}MTjveLwWXAuP-4%;NhxD&R4gpsQpo4zuRZ1eIHmTtsZ^!##oHA3o#wlHL^z1F z*WX>lym6fOm(V9t*a$tXceX=AQ(MX5ZrlPBsLh z0t4JzF1L8e<7_omRkd}wx5vSn-Xcs&Ma}VYIdyxfm#EQl+TW^?T~1bZidY@e#l+Kq zTm5fuJq`Y0_!^gv*kS2cQqJ4gmlst(+YBpat01_mg4vklRZt@FxW=C{+I|WOI$h|j ztF~;Q#hKS7`cK;F7u$UrtgHXU?qFriY*g~(@>pFyXN!h1S7to>7J~0KJDN9(y+8eZ z-{zAuvssB)oQ0*BFuYQ7Mn=`!>YTNRf9SMf%J2VhNX4v7n(Q9;aTTsejv9@Vc_AD2sUGB!oZ^5rXah zQre+p%AmJNCnsP(iriYRCa0wh+6sgVFv11y$X;Pl%+1d~eo#6*Fkt@or=~GIGNRuT z(%xf!e*wJKah2umrY6;L!ym<(;X~P*RFt`2>YgFIF;Lji(x&q?{=N2(mSrQO*t1iM zM!RL~Y3y4FdnT~(ri9R&IKP~no{%R&9v;aMp5HRz{e$>Sw?Oah_+{;Ba7IBvjoWb! zr=ujN$62S}y*kF%L94|mh%{eF!p3w&&;7)Z?zm_-HHwmAg%H*-Q*Yo;FCq~3NH-VH z@b#w;Y-m`Grb6}gJ%w*y% zGRtB88a*tmeya?Yq-x6a6W`dt_`%KHS1P~;IXN{>+rgVtImuk7&VM0wH&CU6fe|C# zgvk9$$y|P7uy|~Q@0+e;f^buZG%*m~_ixPe$nR?{AyH4U7W%#WYpiCYr7(SKwwu)> zMYqM{TYu`u{3X5lYPbDU0EP!Xems}ya8*PYQQ+j^spQsy6?P?~31o8c7L7$D;WiJ$eJKUB z8qO4|K3EhY2??gWS8Tg|yhgB(>=!zUO0*hsZp=Li%ROA}vR~QNHM!l$DJ{g{_w|V0 zu~0gX$B^Sn@poAWW_aeBBqnwu|ue2|#R(`OjslN&|FpA}IixD!@B>MgNY3Nw7|M)oGojaEd4r@H=GJ+AqZ}GsB zUcSoDsOCa=ANk&VzUkUCsOM^o7mD^G6`QN=CXzt~g`EDP#H;w%<>v>b9@mYMlu=Bs z%aA$G46Zw@P4q5R;KLU+mf+D<&V5RW{n)nVWj?c2MwH*_J@M zjQhD`SNv-Rd&N75{$kh`S7ygs>XL@@*Uwa_Kd4AjP%Ke?`_h}4o4dw)&EEBnp5Xjx zjqT#;uV1=CV@QbpEBFYC4{2GsL|@V;6KDG19z&?{cjwOq1*ui5%$aB^9gwM%k_rkJ zKDO$&kc5*x#rlXt!yy$Ba`70!msPq-i{N{CvDy8WD!^HJ^knnta??D4+c;lADF z>9SZDan^MG>E2}J&x?!u@Mamxhe2WyWXnCAHk*^r@|&L^`0jrH9)-HH@amQ6`H^Pd z+|J0bN~$M^b#KyKOpN9#ZN3W*&eQXw9++|DmcXR4xVV;};ND2VJ#d=gfRVqg&ml_+ zIcXvgd++CU_!8sd;wC56Y70mM15HPU@kl%t=naE?-@k85WZkuzsc^=kh@8lIOQNYc z?MNx3dayCEKT@D^Vvj3;_0wyGHqFCgsw$+d0~HYn zj%GhNH1wLGnTa}@;oW!dv^3J%f|V0M8zN5k5NV_F|A)@0fpHah^eAf?^&7hn&)H;9dkOQ-SebNf8=*^p}qV{Er(rD^m*08_yL!=g$# z(u_2Ml*kq@H)U;YEt%74&zY+e*OsuptjzZM>hhWFL z1<78#knj>MCm@m!WtRA}iG&z@8u0!;RDa=%ZJ167wY=-h z%*=d9+_Ah5&@e0b<)zCf!Hm5<+s zm7rX#!SMR^`fO9v`}fU0cTjVmW8u1d9*!2N8<6bBYJ0-FUbC=Ki-x{P33kQt#h(MMMZu7JQExtk}N(pHYYFdbWGbz zRZUG;NXS569}f>tL0S1xPXouZ@D;#Vw{G2v2>6nfWnyY-Ia5FJ`}gmT4&&B9>;k2t zwaLnY#>T69mwgl;=e>nbnVItu5!^2U8WH7bg0FMU; z2M-Po9JgmIbai$0^%v&n-}tkO-2y1H1ykYY2SfrDeQ8C7Io_LH$J^f7qyg{c&ack5 z0U~KDC>;E4y+JQLZbyX!Ber&SzCJz}Bs@u}sj1=NHmieK+-^tuMn-Q_c|7`3xB>Ir z#UzG3YU1iz8?2X|l|}yIMSFXDlgIfH0I$t+GS0w?iV7l5M=~<9$GEtC0KZQ67LoYD z0AVoRy@k%!*4EwK-50Qw)_)LU5nROE{poL@xF%#Vk5i#8&dp6j4!>Ia4L}nRrDmOD z(K!}zSS)PIh=?)(PTF3V%nS^$H2VPZ>zuY}X=!op`@;*1wl(bR?AtR9L7zSW)|SZB zlT#Fn0e0b4kFuhokcbE@+YOHDNo2*P(;`C=ko%q?6jbZ9&EvH78-U~I&seWwn18=^ z=Dfw1`MHJ9+;_f%{UJYllJ1fbLK8JLTZ-S!Kx0Q!E0+R0zPeieR8TCCkPGd|8n zO6pDek=<@7E+OIU^fWIo4+bblRj6Jq4T0&$58d7*_EWm<&$q`*eOq;zD-GcR zyPbR%eC!g?XncG;I7Jk75|c?pWo2csUP5A`yf$F9y;Jv7uGG-p=H|JTflR=_uz~HJ zoSGoI@nfy7u8xe1SXx@biov5jlt_;rZ}<%Ua42kiG;$9UGnHOPphZePAZ^^7g&!+4 zG;~-1*_WTFe{gJ!m4zi6M@>}~qE$CzHXrF{cMDTfagX$@tdX6|KMM;?IzRltol7)o z$_BW7s~;hl?i|M=Ego)6l*6uUZ)>Zqt9yi`V`VivoY2eUMS!xZLXVluJwKBQ4ABK`{Y3L!>7g8cQ#?mRKKD-#EWV*0{l8*Gmc z^Q^9i-!nzRe*E}>j80HtJdn}RAu84%rA3TDKo&~-RaRD3>$thLu_1{isG_3c>gp;# z)*nK|$-=-8p5P*{rslfX6%C}5bR7Lta&mGmt|ZqJ*z9$HzlY=6!$^Q;Qv7YV{_*eM zzinY8kc~}sbr}tR;jOKSdU;*L)gQf({!DhdHC@M`*OtWNQJeSROVi&njgfK6Qk8n3 zKYU2#JV87uU?pjFYp@Zn@Xve6t#;%buPdi*MPnu}~CTahME}-MxDk zUI(l80G%~7WCw1+&(9Bp#!Y~#wwmoVEKek`gWrc;n2ak2GDVzL2U{UxPEB#Lv7JDW z9vB=fD=+7?U+FJYEjPEYAR;7$mvQK{eh;IBG;&0AV;aPFj8IxwY(hYsgiY$|ib2Rm zPevxVmszU^yOdU|{sj0YCI$v}_Y>>sZxpQ%$W*CE*G3A!oK?UvMpG%vJ?hvAy^T<% z*Ei`#>L_Wpy@U}J3HH(e1_mFx7KqY5=c2s0(0u5Lz23Ei|J z!uuJ(2@7*`b2dVZX~m8Jpf3ZqIV;^y_YMy12~czMWZf<&Wkdp&7Zhd&+i`H6WaS^N ztrxU$S9y4N@SZL_x*4Jnz`V)fhG|C1CaFZ0fl8CoxZjPJZN1448XJ27G_$gdnyjJ# zDFKX=ReR{_rYtdnuKge=*M@!4uQctXH2|6Mzg#IlF zB5G`N>ZPY=VtKg)otDPV;aFo)f!i( zZ0vNYhn$$0ahj;?B{4CJE<=1&6jcduQVX}2$#3zk0@c$OzkdvufDxkJk7${GT2xp| z@MQgGyV3D>nCd4)nxHio8X`)<*!XuxxVpc=l@E&ajzBWx>RaHu~W0liMPN{@=cJ1h08U5=a*4IOCMLUQYf0ib*fVk zpa$oZ$=%smelB7;XM1O?xU-x)j+%?xf?g3867m*;5+$G|71n%XqTR>mOta?U-xcHR zKey4)E5ZJa&hIUY5oy#n%l;U`rPXMmo{*4Y0HznaY19)<183*)clkUBN=)dEcsn}n z{AmEz?g@dZh%jvygWrR=d`yHma(fFRjVL;Hj8@AX9O;Wc>Lm{Cfl;aP)l^?g3kO|E z{nxKu!wRu8;s^u^4A+?VZOWIvfiZn`?Be{An` z$0T1~?7w;R!qa+D{A0NtYb}*&Qb2%%tnA47@uEF+HN5vD5Tuwu3#4+Nt9W`Yrh4@f za*q0L*?zHcsy1ZA-`$;9T0*uTyNyUDg60CBy6k52!9m5dXEBs6D9=#@L_{)0FdzM% zMnOc~x_NzFQDK-?)%Iwz((g0Y^&QlU3G z7W2eJ*3H=eGotRtj}?9;I{od8JYY7Xa6gR3^leV7%fMNmo{H!(Y-=}CSAR07iHfi{ zz1b8r*6T`LA0MdO+I7=us@+6^e7qkhKK+AoPWDW1ls#b0VH)0&5CcA-<6@G8rf{A5 zYJ1)Tx)3hP0!9%A+fG8*;oE0q3^eS!;(T51JllwW>sE?=?DM-@Tcbb;d?w4w2sl8b z=>ctwFmB_$<|1OZEl41E{Y+P^9YqI;-`QD3S;_V_5P;C!;$Xh5ULsb@eAZKb z&q7TtJU%`}KOzQ5$SMo@#k$s?Ka(cP!{EY>n`b}U+r=7vhdy>=laViiS*~~6iFmYC zD>U7j11EMNc#)9^)#%O|CsYTt9yH044zlzSHy3 zeIaU`mccTr2JG8>Mng8ej0k)4ND7bsVLw}(Aa(=sCZ*uhGY8Km&nLHUJMK6ObV99^ zzdCfhJ&9f8dU!J5-n2=76Tm1U!=n|S;Y1?wqabCt&W#K!V7`D*+zio0!MCU=yspk5 z6ZaUrr=8^3V%7Whd*h=GJ?H^)HyB@@S)0x!bCw7PpKMOoMeOXH=1&n9zWnfElJ^3O z4=aQ>kC1iUXdx5a`&rS0iPIlrZ4jJf0Gyp}o3P&1Hwh{wQx@fk?Q^;d6Q(0}^Q zw;h9V2&9q6`PN54ps|pBA3U@@10w3`VCd&`9WPYQQCHR@t@?~C7WYlrl0%!{O-|~5 zfS^TiGd6mb(bd`6^qHp&$i57gNg_dQdHH{Vy4qnXJ=%C8q<$xs@>(@ z*8Bb;2Q^rqeoj?Qe+=m{Hj5VT8&@%E4P^Mmk?IBQo>3eKtb7AEtM#e4cu9ohFhY=l znR#?&V5^L`zOc}+HPB8@nk#~=)OcW(1t;$z&$atUUtj#7!&z>VcWEP8K^zUR+%JG6 zNz@|dThif$@H?^i~Rff+S=Kg$%H@-dkjN|4@-``_&$ArWf)pP~6>RQea zQcqyBu&}*^M8(JJfxw<$Ue3?T(o*lny$`eC{e1b}sQ0HvUCcwh2R;9-1yDIwGF)3T z=g~GcFMO>dpzYEK%w(`gy|c3N z*>9zX2xI8M_Xp?Z<_-@l)E1oJ(i9OykR>Hmgc5U8&%cpQ?#e4#d>!u>9Swx9Yi}>d zhYxE=yF5?lJOq4x-ya$th8mwEae5RpW^Zo~_^q0#;lh$ef}Qj2t>lbB7IyQ6p^dz>k{4Bx4a#}SNhS2!DSiJ& z36Ta&)J;A5f9Mk6H$F_rx066N0FU)GFNlHazsas#s~U~1e8qxEy*KF9LRf;bvIBq- z`~-B?t3>OLimw6K0niTo{S09*3VEpFKRlKcvvF>5@l1_f4jGq_pkT$>502F*rr&6M zNMBJ=L1&!q;U~3fA%dFP+MD+@tT#c&f4)6zomO_58>%d5Y<apw0f8KSuG}+jQdF=$lz|jdV0nRRpsU7Bcr1YjErvd6-h~iKBUN)#O{}8 z4j2LZ&|dc;&Ckyljo6r~-iAT9>e^UZ7K5xpLxZr=R#g=m?|>wU8FU2;szEA1X7Gkg zY;-ziLF@t2Zs&{Ch2`ZJWMqJ{lh|xBHqXU{fe(5~Nonk;4zP7`*SV&q#?jI735$7J zjMMt)CJ=a1Bic^YkFl|te_IWcq94mySQN#?jJAb5>F(|ZWrH}@Pk@l?qeHdaN-{Fm z(34l%cm{h4D*v>i|9=Efgvs>(LH{6?s<;Dl_UF$Z0G<#4p!=^}qBSxN)Bv7?T$#hv zV1NH-n>U9b$7ufb3oO>t-7Rr%slR_8AzRhL$Ai!ThgDH3R7o!> z;nizHb8BIGU$ninq-2Hk|K*QH)Sq&3x&QFHXECc({v^Ns_wS@L0eSiItuIstX(c6A=H`+f z76t~28XCW?le5=y93|w>iv}7VKX||ZV7LJ`m_KMjyYe1Th8ZeKg&7{)?;85OKYf+5{6tfE$U62QHKXlX<<}4Xg{rbXPbqN z@L^jJ*SIRnuw><3j;?6kM?n#lmge!g;u4D(M)K-p%P)hibPp1E#R!mYb@r>emX=$a zo4|uy0IgvRgw(_Y5pdX}g{oCmRUjAvmMRFB4o3BVXK14Bvp-8>n4MPnkhvo0FAWVW7B+cx{E{Y9aI6M+7NB6a}5xA@Kz z&zq1Q4-FSL_Cq(&nho{!`h;IVvJ_E5LrpztrOs$6O0J@=&Z;5m{{o-+-wVRB!-IzE z0V2)h2JXJUb<=M)s&@RO?GOa7XvgF}8Wrn3BccGjX~L`Hu8xty}Tsac&(4gNFPa;HB! zSb{-U;Z^TEDC9FGaKk1iol8}+Ta?YKN>ftk!eTq;4N&|ILW&;&BiwY|@8_4~=eIFD z>@!xfFE77;&!>NE`|pDO(w61smgOS+T+pY;a@hdK&sAq}K$fH!8XJqYf?OVojpG06#O`=MR++=?4sE5|&>Y5(V-9ENst?2@5Y}e~B6aVlaf+?GQRzlOxUiVLeyd zPv77KF+&mK8nQw4%2d0lHzz_>K%f_R95S)BRTB=*LxE=5=Gbws3{zd&iEJgbvaf#;>Gv)dFqTU?n+Pim;7 zXa_VLRzseAVrMttc8!xv8fPW_KGd0~F2CO79$yD?o&d~QWMo$wZJxHlGBbHIxrhi` zk&wwMgYKx8@@JiUUw-P^{_xXWTPxgOUhZ-($e2{S>WmC?+72x&UIMP{-Aw(1?Cjbe zp0&gEi;fO(VL1|B>E~i)Z%NdlSmotae%Ys)Q5JE&rkFw&)8L^_iWAAfLBQ>%CaN1B zd`^Pk8+jVQZv)uMaK6O&)lN1AVPRPyva%$0 zq2tBEBFxXPHQ(mK!6^|$dgo3w@3s3&CZ=L#x*&&j9%81B^ob&9Q1gAqprJVgWkrYQ zb$e7)y=-Qc#S9lY+qXNLOL5TBi@q`VJyCSPWdm)k?S9bQ%Sp`jsffh#*FCnPu%L@qcB^eY`*-DY}v zuYvv6)g6qCgtm+`GO}iU1Elft{i7;i1@a|u9VSG8Gi39+TCK5r3$86CY2O~U{Rr#N z+@gWks4A;_~2F z+M31&+)Ly7u3!ilif7?$FJH1gd-n3#Gj;|B5qbHZ?t;41)b%)qEgT%0Z&R6kq~dSs zGBBda$@E{4>F+xWFf+#_C*O0(4L)ni&Q=Rb0Y=bP0K*p}Ym53EwqQktKxv%4JyWKS za+4>wxkZQ?hoOzlp+9OLt)}Y(+}OOLA_g6S)bD&Hm^>>p8=qcBkO4C(YUgl+~$0_&1A(@fpVCYNi!ja*U8Q-ls2Vy%Lg$$F~;fynE=~oYa$=w#}i^7 z=H~~lFAVqe^^J^;nS4jMF*7R#eaOe{)@uBr-C5b7z*k!Evs9nrk9pl<@E?SOL?$XBVYag1hDqY#k-oZWP(RK<@&5~!dli$Fz4U@&DJpiXOhuBa zpm_Lz$H~czu4GHI&a_(B8i8m9VNJAxhQ{T}z*JluS|_#Jn>U-yzC?L;p|C+J4!#8m zg3h5U`lLH{etX)D1}C!RLk$wL>*;Atm*+F;7dad4By?JhgxAe?r&-NU#$nH7F>|>_ z;oyB+{{FtNJ=n%-Rgc`Tj|Yb&6?&#+RY^Z0B?vP04Whx(g$2o`8_w0p9@f>Wot+-; z?b|unl}C6SslT~%2Rq{BwT(?Y&|OIUaq+8Sz3+}z^`-{*%MpnCAY#eqr>4+u{FUy5 z%iNvP{H|ixPfzpqdrB}BD5IV~i|`W|2p~BkWbJL4omJFs3fk};1{!GNBbz(hB&gg1 zNN%@<>>CUHz(NrOlC`pmh0FC|J%*>MI3weg_N-K@7mxGl9)ksbfbr+Hr9KiJ-N7y< zVJxJ87Oyj=ec(e2lpoDB(XlcN5OEAoz#bi^$JNw~pR^E_WsQ-&EAq*!y$nb5Gcd<9 z|F%{I|1K=lgF+^iODyb@7~QLU-SYSbS5;RRhn!Hi$^(7vHv;J(aEJmj3-koQjn&uJ z-o4`zhCgpG-~&skpuAsE$$WNHxj9xMa(%^pc2GJnI%<5bBpMMM z((}#!Oi$PkU5=Tu`-ey7k5x;Mn^`mB$>+dZuf7vp<&T>=joNlX@7d6 zVIMK^!@sj@{Gg&rVl=P<=la`vhf(XxMB$OB-p}jfrZn2>!rWX7p=(stii}KZ1YaFM z%(KO%7;g8I7*qQ27$wSwpFoD=?vcD;`=gXNe;?xhrID&z^C6RdkN=zq+F zPz9Wf`T1O*E5RmZK|#UlU)@l!Pa0l_4&OgwPM=m*6imx-BRf~7rvf>q#zEz$j`5QD z6?X$A^+r>&vV}#+?SB%t>tAUqVmpl$cf1MMijQBl7^ffT>#N)p5*DWDi?jLjD}JJ= zv7=O0y-I`E`VWkns@5TLUkgIZ3u&&I@?|9lW~;T~D_cpusEmyK++1b!b8R%j71El> z2*Px*2_-Rf98pGkQ#e)>OX~beN+NS|q^6dQSr4`}J8SGp6)qwg_VewZg`W)Py-=^7 z$t_x>(d2Ml`qga9?$|nikN09n85488!Of_`qoVf2Jw0_62N!q$^4zG)NnhM8hvDzF zdgSlASl9ifZdR-NxmUPA)R?aNKc?}yu?3<-r$6+Y#w`aIJxR&7awAnJ<$w^qy4=hQ zBAotRsKy+b>-Mk?ygi7Qm3*engi2&^D~%hp97(c|iq{>F7#Rog znL3(*);&5ms+NAjSt1@AtypF#r2>tCojLBY;$+ei)H6yG6aSWg>ng*Zlaj{0==rY> zG-~$HX=Hw7TBAX0Zyfkz5U-NP)bzSY{iW@;*Fd2wkpa{+uU_@b;vm$}*wGe9IqME~ z=b20!aYqQgcjhJ5bGR`VXf2P(X8ykYPlLOA(t^W}+_H!|kQ3^)6OT{CU!2Sfo=VST zNG8{o6c#S6jeI^r&0AcoY;1h;Lh9_@bZyv_$)ksXu(-9CbSl&o4rS`0mvs8?!L*Z}K zWdSa(N!OYz`}A}hRGg%GTLYb`lJzM6ze9NGuy|#BBC7v(sXOww1kacI$^(N6n3=|h zxe3n?*9UUKibAD1Q+6VZEB4pMOSf!!Z`m*R7C5Za>gzx5Nn+QBEsTu3$w*RP7O}p5 z-rW&y*>puPOgumK+G4U1mf36!r&1)%{4tG5uyO5mE3|qRJg0N1VgHyJW-l)cOW6`X zg2m%_xt)`S$6wh$ zUBA_<2DLF*__5e^5H$Ak3tTp*uLW>cC{YoQ7wB`tTISkY4Y)m%juylw%Z;|#2;t}r z1@lmW*EMnAcIx9tk)Eq^Tq73-<)t@!uz1Py>hv>|B-KN* zZP}t{+P}YrpB!1F>z-+M+`h37%>p#XePFNhdL-$d&7 z4xMC>mn|M|H-$6BrP10R?Aol2_4N)735Ux&u9-CT77PN2_1v699T>=iP7{?(HeX&7`^2!jD8-f6oy?btnO?+e5Ik?X&ZufKhhWM;-0xz=3} zWxX5VnDl&H4xFJsoHW3}-Nj`QllX$pEibPWdaRR&mI7sFV{p&tD23~@^^u{RR5o@8 z_3Ewpr*8A`euVWDscHr!yfTH)sGBl(hxbP{$y(Iw@$;y^Mtqw(d?gsNaZ*GSlrB>Qg zj+?o(K?wviAl!_lYoBd6Pas>Iby4Ja&v&q#DqH6?JKF!QNDZ6br7YIRs0mUd3*}0f z@7*Rm?n$ZesiNhz5kIRY?uP_tnou^ z!fDon$?eFxHMQ;mis03iy1999DDkCQbE4%+Hyvh^i@f#vsN7=wZc&m+u)w9uBcf!r z>TCa0?UJLErg34gecG?jEeh(Ysy*Q5m?VuJCp(+#W2ewBnx1xrihFGZw_%x({P8G+ z0f0@Q--0ah+GX!9EPmxzdYOe$@}sSWa)&E3SCqMU9QH#S6D?37W!A-b z$u2PoGp%^(80T_3f0aA<&zvc-7wAXiWo01>o%!CiBIa^FKRa}zh@4wB;WYkynZ}Qy zrRCW5nmu-{-u3EY2cMs1aMotq&0L z?|Tzw6Rc@2i%!dQjE!|d98{*0sCD&W&C*#O0o60*UTF72_r{&?@9UbbJtdTt?RpY+ z0e1GE7woQ=T)XaPlQP=o?fp8$3F^G}$T6>=yf-zqAgP9*eDL2D2Z6dyiw2~rsGMtm z>Kn&{USU-1m!?>8eL5e~!NL1<8qV2YdkcDM?N?jdLX-mo^P$xbB_>I2v1HW8kD_PL zLtpOeBZ8*>jQE)3|jkqO{3 zcMct(!y`Y*6QZh0zT9_Ry`P_#XUWHxnnp?oP=r82T)a!Odg}*x!B7sSN`>(kMvXBg z^==Xt^T_Jz=@jnN0ZobLo@c9rdGc?!W;D|mVh8e+2%fJUG<|bbC za1$I_c;zg1<|gJU=?um7C8f0dnxhso{R*Sa-@CVN5#L{d(o9EZ!)7#dzl4$io?vXc~UO0oGe69+0Lj}p_55?c-8B{gK!NQ84#?o+2@u+-yBL+lcwkK?l*P)dqN74d-oqbU~*#!I6GBUJ4gOqxs6?lphNlUwQdWsF*qY{M&O7|nke0{Gweo@oX7UKkoz32Oq-F60G zveN8Dzh*)qhcH3r@TOOKaqrPl)&8LabQyYPv|9gDprqTuDnIJHTuR{*qoOWkq+byr zI^Ns0DXV18sH??E<0yeP=;v5vX{%*LA5u_|K(e^FbYtD{6qC9$Rk3O+h3?cDG4R?5 zL#Zn0y4s?y)J&NymF`QUL3z9+g&weY`^)Dq)$>BcMLSYnFRKU(Gw@?Y^dUPrb+3=b z_Nyv&JA7dhw*U5@dUl2EbBkJ`RuG-0W)H--|1ey34wVW;nEtiN%5_exAYJ*#m9s=n zKtLMy&}*aK9THEJ+&V567CopWpmO^Kwe7$&uSKpOOde;AAnqDFR|ds_>jC|Al|^7| zERmE0b4gW9lg)hebCC>uG?4D+pFhV5ichGOHBrwMeJVjPzwbZaz76$?R;4K+jZoD` zQL@mW?%=FmaS3*#wtT;J(H26|y zS@9DQC*)LHO=^k>b0zx&@wKnIj*hDkq-wz*Ppo4r&3KiTvKMG+XMr0apfzHQN8;D| zM*o&QGfqYF?A*%Z@~lCW%+lT;L>)6TT`D!yUvf&Du4=DaFw>Fve|v>V!=|0EdimkvBjB)fSK(fN92DUBzAJ<|4?Aq*Fbg;jr$#Ps?so zYjlU@X~EWxCS*>46LF2PV`pV$YCfcKl5MQBXo~6a)(;h~gA!RIEq{yt>U{b7Uo^;n zbcG9>n3|?&;;T-^U?Y2?e`r}+?dO)Y?ry5EP-)=m4=>O2T3bg94P8N3IUGetUZ2Ln zz+klW>z~{2Pg;WxrIH`g&=lQ64}s2-f0=_;(F@>|j8ciPf;wxr#aLOpgMZ z8s>iZV2k}*1_+PWom46c6J16fV_WZZoltnH6V|r zVtPFUievmPm-?!#HHRoE@vfqx#c~x%H#d36H^VN!s_dgQzwJZ?1i(1am1-iNrultt z0rB1a`>%3OaiG%zQsb7P@Vc);|!aChXz&RHh>9DW|#+AzeB@I zU1+YCXk8BKaG(Io7D`ytcx&Bc=;#4b zvp%C(#Km7!2tMsj^)=VF83vetZ;`kOC*|IhJ79HKA z%0xabIKbs!w)L#RE$_htF`(ida@-HMEV8(A)(Bb`@5j(`KO!IyX>c`XG5hVv>1reN~Zskz?s~#a{lVs_nC}gvbO`9G<(aPb0`c zgQOw}Wy8*XUu05}abx{G1!a*A9gX5Y%c*oEJcLpa3veu(<{J9W`J z$S+(7CaUA6DyW#bg$GBP`-g_y_w+;d`ZVVD{f~~i$?5JV_Sia9f)<`iu|80W^0C#V zy}|YjClbF5$pdPf{pwktY^f)FPA0Z3b2|+UV{k;4&Bk7upKT!(V= zN`LC^?e_&xtFx$eT5;a$5?izzk9@Iew|u3kqVn=_;K+!ow&!ZOq12^GRRpazKnI$a zc`^1XiqTs~4%1E7OHdU5wLWop>j^IQj$TsI9yqzE@_kcz!DqX{_;@jdN|qW zkzmX6(L{NBCK@>*c{Eko;AZtY9xZ*Ri6r~zC>xlMdp@~^3o@}BqnmqK7xIl?rplK`v!#?# zdGC=WZUPi@7Yr8mo9z&;m^x-xfdMwd= zB8-Jr8mCcZegJ>x_->y6?OP#TBO4S(bGv>}$AuAJ@;M3F4(0Ssg81If!^3#P`4A?ry{xs4_~PaH9@Jrv9$r1^2BbVP z^7}&pLp)jp8Jx3au|&K0^N)J#*u7WcigqgE;xmP+?Sn%>1QZc>P=&d?QivW!_Rina z)TotJ=ET5zS2CzfZO3*Y6eJA?Y%>Nr1Z3s)$SJPATr6*s0T|q$55vtXnJ~|;welG}5|O1GVd6nY9gr@~6zpaw8H{Ot0e1OqW03m)`_%uwEmuWtEinH>*Ve zVz#`afB29E4?l1G=|c9#gx&dI7A^>Gfxa7VPXqC3GgLO=3va@kArmd7zqujQv&%;v zA3Z*3ZwauMkvb|F#Nxng>e6o;DShCZJ@75}*Z&&Xj3A&8=sG&QC4 znC0l>C82>2-(vw{|GMKNND9wUGG=PnO_`rOd9y}q&coB2oqc$XzjJy4r+wg?Wm1A= z#3xa4KV;|NvbZ-oK-d9v0$-)TT${VHhFaP0scEWY62e{fVMhx z^v^jQoPiT#wv-Bns5lz5bjz0G^gl+cq+a-gY5=}!V@f61eRf$O9RwM1-Lcvhvpl1% zt%9_ARZ$C%(n98$e!sr`KKJWa3f`tyyiK)fX&k&wj4yJaQ<1l-OlpL7d_Z8sWs?c>9uZ?I^*2zO;%2IFVl{(fyQ28;h;*P zZH>}hD78^>sPR~(?`(NK&GeGe>g??u9U2~_%^dA7Vn zj)(RGxPs;0RjCkpEiElMIbB_WzU>GlQAu~uQ%rY>r=YDz=;-u)S)k8y_1N49#-Tf^ ztQamYe?2&QWkrQf9Hy+Q`ZBif?Be3$f7Nx~@l^kR|5r&AvQn}>Bq3yFhO%d7NmjBF z*_<4!WF#UhdpkC#WMqp}_U;&Q$~v~JV{<)^&-eP>uIu)@U2gr6Zm08pzhAHCYdxQj z$Ndc&L22oha&My=4+#07sj4!{i0|!PT@GH9(JOn&ot$uILgxO3Z{MCUX$Z;JBGT)x zF#U>g>i#fnZ)8MaWYmnba}oF7-=FvQFDMlXPe@=1MIouPOG|}hWgGID@M~5MdTd4N z7bzepnVH?6J)`jP;iFf#G|wo``L;}yJCbzuAmx30d{#-<#QMUD7@Xz_I!U(8La4l| zo29uQ9o9w2vW$$MMu>vuO44KTL2xHXsUH{`mLEiyNGm8RnpDSpw(ZxHG2@u#s)mi| z8#U@s)wu>fV-u6njBg&1@BWStJs54uJiHO2G(60pZgwZ%)XdSb8>#-UG-UcFWIU;Ij1K4F;O$MpC24Gu2$Dasoe z$t&j`rac`HPqEBZ^~;6o?m6Pe?(QCAKS0DbvG}Xl3t=H81%INK$KJZT--NQPl$9E! zMr|(WdEls-m^2V%E;&LMT~lr)xb3VN8U8FPn&P~M%fJ7fll#|L=hjNvfU3-i6SvI= z1|FO^v3W#)at_v5cQ+C6j4dvP!G6Euldw+6aAA6fK4-A|O3Bfm;PAo0Cdfv-IeXXr zW?VD%zSjkkB+$h&KsM#@K#Z9aa8oa$;)PJy8194Fl9Q5jv90E>NDO@r+|kvz0R?tv z#nZW&nH9CkkS{XQ`NDkzU7Yt@|DLl{-{4aaV)p3dgK!A;Q;ryBg6S?;9^o&ZwKF#+qJ1>A`JP*SJaao-a&UC+UnQoSK}J({gAqs+^RNR0mB##t z!Ge356j!N8mw#31fj+ESEibOreP#T=4a`kHpH(+Mai$!ta=jMuee&3bT-qTEYrYBWC|(FOS!R$1R7j+Q+3xs~_x z^H1l+Zf-tPP*Bh_Fkcy~!8A3ob8vk9`BPLtK)a0|)euu!>%|zZZD?5KcjOzXl0)gi z{2m)TdYjDGIT7D+sxk&gF>>WZq>8@jxJrMMQd-U0 zlkGM40_mPv*=FQ9MxWiNN{41Y>X@jgs31P;#NBl5yPDGF$jkMC*|&hJWpMv+!B=fy zxp*ssXWBI@zcNAS2|fi(=%asigqCeGLrlg7nirPlgIc&ka(pj{?$+k{AveeQ-X0o7 zlTuKmh&w-So`yc?OuR`z->gn3T3gQ?0p`hB=ib6mBgRQbiAIT^@|6E?irU*b92p*Y zdimNf5Q^;sBHUV@?Q50~Z4x{c#@q=Lqj&_C=h(V@oH z)(3|}xW$|V>1LwlMTYI#qsJ9{YehEbI-Ik0=Lp!cRlw{_7mL@+H>Jtj(&gKUYqbO| zeB#8)s-$7?1$z273Ynll_4hw{{dytvI9L+Ay!Jp9Yya!BbK{E>pm=kv+kC&42sXar zygYa=X}4J_Hp}++d@L+1FuK8s3dU5Vy)H&GK`4+cm5Lo4@Fpgc6BDFtKrsVRpRYw5BB#J*n2^29N%;VhglHDn)z(T zhK7dv+9=LTZmwtkVw(N|GQ?q-M-~>e3=DI#v*74D+UVE%v{eshaTN}lNR^Fl;MaiV zI?a2H4E=U8-FFvxk3{^2d~9H1qTgKK)voLQRBK}hEJ0U{M80W(Vi1N#Zlq4<660ph z(yyxi*4F&YOn)ku*&a6VUe1`P)tz&8I2?6s05;Zs3Syi=uGldOkkddMb3ZBAVFM!I+%PUgltFP2>uU@_}jT0XF3|sLm=>e~Y zlM^W^X&xHA62!zPUBCgVM!46filpFPuJYLvWy`LwPu-b}H89ODDhdk;VGDpS2kl6* ztY0dXuAyOTi7L0di;J47YDUa>y^k04E~xa1i;G$P_E*1#(3Z36e;;y#={YhnvA`z< zEbWpK60OrNYI9pyKM-w$j#b~x>_(&tC>m}VJNEy%9%fY%#JE6D(Yx%wt#|cjPA^lYc!`O+=A!EY$W~>xaHxeX56Vj zp7LhOMf_K8c&^5vQd%feXppFfY`-5K^1%qw^FD-2h z_JdNuC>HU+Jy~^9BeboCWYlN?eRH>Ap)4mSNEf*}(Sl3!OMUv>%%~PfI67I-wEK&n zy2BZSb1EwC>*bLY?J#;{1Zd>tRJ2gf|<`ZF^Az!@q{(tSP`cp#6zl6o|Qo&SAIOwUm{3_DqO z1j6QM6F%ZMlVCG@#2-~wCSr0@)RH-8t~RfhLO8N;<7H+hyY)1X;$Sw3)UCF|l#tPK zevksogh+*?26PrOzLSt@YH)&=wFB7Z+!eMwX2+D%S7`O)=lr>t9=6 zhYB-pZcf5+{Fb$5mlP3hM#H)BezFu|*>W#P4X%CMP3Au&HN3i2)zqR?I2PMvWMlwm zhl#N%Fe=zu9&4|v%F$;uXa1HT(p8pMYbTJBQBrdE;9-^@x_KPA0Mi^-+h#qSIx4`U z{GG*%S6qCkrNs)w$beo*%U35rhpgy zJ+Gl0DMbEVdHGkBm6dUX9}F-9PoKO4&I<_tVG5A?&&|)b)${W3KvP(lfh!+A^yx-j zT^&VVB4y8Nt&>vM-6c-Cvk7;I;BMQxRlVo)bF0~=_;qA`v}6z5R$7U0b3ak%1v+uH z?4)c!CLkjt10S=mudf$=QBX|GMr?8Rt^bY0L{VVf_4M?>Ue@nu58IKLj3ClX8XXyt z6yM)!wRlBB(YJB#=F%3$rh_#{*;ewoi~JgiA|XDlBHDVHuO0GB3Jd$os>1VUm~HyX zvK6PhvZfzeT;<>Z3JFcgRyj=B3Lq!N;Q*7T#1jhx34w)!ZRTU=RJ9At^C+5-fSu;H zwzjjdMwu30Yx~hty^aAr> z?0OUa1in^EQgUW``r~yvI=Wf0krF*wA6UxjuANHGHQJJC^i-shgE>X?*+@)$JlGzd z?{3)IEi_nfFZ|nZ_yu&sx9{JzzzzX2YK@`ehQnYmpIU3d!VSuM@raUx`i$|;umF5& ze}kXjv>hAZRi1PS_wo(Gz)cjz2oBaxY9zid%jXbq z`pEEb0u?(IDX7EYzvOW9c%&ug>M8~!xpB`j3zjiD z%I5^kY_znrWQ1>PZEao0b>q;QOZ{%9L$nw+kgLPL!GOz*Nrf4Mz!gB$nxK4lvvqBc zLvF_S$FMhH{na%#zV)b)2%vp(D&F3=)=jd%Fk-GIYuY`1`Ve{%NQ`$=Z+ULc559g) z+B6uLoSZCTr3AAy%pqRdn;sYfS3UC&f($V@vwH! zNItrv91hEl8<&A}!dhHR3JdEuZ@-T0ZHUj~N!8ZYwr#Q*mW^g|qxY?ru$ayF=R$3b zz+eGy6L$GxUJw&=(}M=zI^dIfdP>wx!O{YA3D{|%p9sDITic8nB?SebNkT>eup$6N z5wG7~J4{!1)i3641pd9UV^l)R0TaX!LuUCuK27*s!L@1O)~bn>D2FNC^q) za?lKqjF1o$Yb1$+WTbfHipbw>fdY?Rqy~xG@Oc{xiHk0xX-_}1gY)3z$&*aX%wuC? z%}q_Feh2O$3Xl|&wQJBR8)ZL*Ju#4kpGk5A3zCqgxcBx4ZLW^?_N>dxMDt0xxw%G0 zMrTM!V2qFjHl034|HD$q+KRKT<2+G<(N&y}yt-Kb*LRc6Wm`;YbI?wm9UUArtq|q} zViIxpaG;ykP25bPZZT6BeGn6C&RkH|IDf2q#2h*BhvqR4VUJ%^8W(5a>s!A@eQz8i zv;SA#z`y|V7_P4CxKyujhFoljUVeM0w&!{IV9JBptO))4sZt1s8k0o)*Hv@olIH3> zh~TPRF1k0sp#i97pj<|KP!PIVT(IFpq#CO2TvB2p97*r}v^09Cr{@aj4}kEvEx!&b zYR;QkZxU5TfDm0bUmwD(fz0Pm;Kd;Xw?$2W@~QF zwwDU|ot#OllE6PJL|~H%U#Cnjg&k#eaWNmNEIT{9y85A&)#irBYW)`hOJ*haSqTV^ z?$%cGbJ{`6o;k+(_p!$61@2XEC=7#jI>ngA`uke!G&8h~>yWX`yy&Y19$Hp4lFk?J zVbxt1GhiMr+B~z8Kn&JC2na zz<|O^1DiM)O*^o=0~1T~6-m!rm*Xw*|9c#{*Dh)aC%8D3_4)^#$4`hnE7{j$d5=VD zF4TW{Qi&4>VVk66K~cI_Dw#n+xqV6M{9WUgG0lDo<*hQe)rYjC#1XQGpZRsly?92g z0(Qhm>U_MJ+*m(8*l)RLwuo);gJT3BNuVhIn4}wEQ$!zjw^kfo++#!J3ci$G+Fciz zy=M(4B)gxy^;y4Zg^0-Eu3;(p%dCigq5sPE3+@J*-ed zSe!Qb92^_GgVPIVW~?Dy1Dn%g9>(wTP zeSvM^4rN9zthwR6GI<5Ahxdbl>XlX3M||?7HrL{=FOafs|MS^>;XVdoB>*Ni6pusH4RBI_1A-yxsLVoJoYC#vOcAkO#KB}(2glYaK&9UHi9uHP@3-7S&4 z^UsG5g+%w&qf= zBRp`rs;zBjAL@*{S^+SWp&T=4TkmFry9o}#rz$^&JTM(?Jf_tf>E-2v8S-cfR{mv| z4=+{;Z6w{YvtHFLy%my>Fx(QlGWQ_B{l{nLS2s+(Aq+VMoDeQ+H|tg!F3J%a_R$&_ zN=HYw7C&O3mm99C@_ZC53M}k^tzu@}Q&Rasi*8`~ti)IKvg}T{1&~lGYw*-jTLkyHhNQZ8^9ezjRBy7 z3Jh2T7W95|a2(or#~5+ZyeQ5Le}o?u1KmrGRsQLV^6~a4VGL5>-x0xjXjNnYhLA z1E|;nY3rU*WmjpL2u_ft-~admF&~5jfN#9GgHv8*req5sCH8k;$f00eF0=0ZxWDgp zhLYFWZLu4nopS=K4lwfgFf-pO=1ZSzP>LS-#fMk8n;x*SS#&3R*3{N|jFgQ@Na)r# z3sU4A-w*JqZP#&rGYbo;F=fafRLb?ue*}S}G02*h53@RjH&fnK{kZ35N&QcZ>E zPR$Anc-QgJV({kPVD^2XQ<(Ssv-eI0qgb2Fo_!?0 z*2}3B6l$l$WIgqH69sKu#ksWO?*nD&gl)eEw&6%X&^cC>&YV|cqu|_e7bx+F;w$0u z%3)M#QkB+IDmL}aa~~SCHjtq!PGQvZ1oBN*GdZbIji|@Y+6%{eL%~NcZepq3qxuxk zz45d6n7dmYxzNvY(L$DGKq%9ROdZa|8RR+wjE8qx_6bpduv ziE14GLEkUqcklk<;|2M>gR@vqz64(b&e&uLQzYTBK+lOhI9DGBJaYm1Yj-U*(pW%p zEw9#A&7v3ZQBLj~Cud2M0=n(E!Tth|xOQ)O^k(*t# z{@1Bd0Zo4VytfJq?H-oRhSFXWVrQp!__ZAssHo+OsQC0r#)FrMwoXVu27>K{mYC!F z8z#HcS<1!E&ey+3AaGJl^6(`^sm9Lm0GFz!rtH3a@mg9c*3YvrxzL}xMM*n9 zOrw2@k~++ zLE1WB{BS1hoou?p3yO+xQtYSh9FKj{ju#&=rh7bGKd#9f@`WgTMJOmKduC$nFvu1K z^l@ZXoA~&wM_oOWm8FMRjECckf4z?&|7%96-i3`hYA~C0A;iZh-67m=Z}IS#B+5v$ zUoQl@CDwb#$`9h(qeB5LY_ki8VKHgnOoQV_9^>NUll?-wlt)B#Zi(=Y00Ad4HVz2A zh9hmlkbwUp<83?Pi&KeXK@2xRMszSt}Vu(qWmm_KGG6|v9Bb;9* z$-%*Xb93fTbGt!__uYS}{xV0Bxgrpc>id@9V`sURTAQ&D=H$H62i<@FUOE$eXy#Ks z(A*rk;v}ApnpRdcu{4{Rj;;Cp+TK2(qkVO94C^EIF1JS{Ge(HEj{m`5eXYdV3k^wt zW0?hh5Nr*LlalJ%*7EXLJr>3Hn$BfyEt_l)St#wAOraa-_c!{}0`@oWbi6v_*O~NC zf1{CfLBKlGKum0JurLBP!Yhq0uZD*o#2P?Bb`gV)XqC>PJ)UvghQgU`(vb7AX+H1U z_-!2=_Am|M_Sn?@aj!ctI|+`khf&ectOdAG=XCV-*)RXPM!^)Z?EmUJ43=sH`mR+b z2J2h19^vN=ho#;To=L&lyT_|eAY~7PK9fcmS#;sr}ve#S6BPATl@Qff&!%~<2&3tOO;Y=Y+6IZhU?5( zC4W5$!Fh&BX5ZD<7j*j90-)|SGR5jm1-9#VQKdgey{NFgb5CbFR$Z#*4Wege{3Tq& zw$xRv0K^^{dBbt&@5D!oIDi9L2}ykV)e#2gCo*4)1*+p%u7-wNmOa`TjrOnsO3gR=;Cf%1a|5A zrF+506JO8Z8P;T7UyMyzd8^;fG=6yuyGo;*+nKPQy+#Gx#!nDiDJhC@fMr`-+7Y_xz^;76C7pxVkN_th? zaO`!{HXR>>C0ybtL|4}UQ;JwQeJXfB;&{Z5VEWj-a4D0CzND?ZV#N_(7nfMqw^*&M z@mRIn|4;=4giVWaj9uk4wX?PT^x?M*vr82?WYl3sWE3y>PrTH>etm9hd60+hZ0z*= z_w)f&T3WfCN%9tt->*|Y#C0Z4w|jF~J2>DY{K5n>*c^a077}6zr|LPpik;?;^-33U%+BVQ*P? zoO$-lMOgTb!q=t*;qU9rI>F^-Kl=LCB3QdsRI9pTL>6B|BYp{Ib_G!??q;LMzl|QG zE9tX))ZWJPz8$jSGeQYX-@ZNlS+pu_9mXg-KK3Km{uu@)qVBZrrT*{iVq3D`_Q_v( zjMW)2vZgUGdZE&P`=-gz7Z(e?d@(dcdc*9n@#oLyvN(Cd6r0`|Ld#Hi-$$NwZWO~V z(Bn0ufdzXL%X;!0ED`N-tY^s>_I7aSHRe!X;J~Nc+VL{}wQ}zsMZi14zGy1C%KHrJ zc$pPohs+0HPbZ|_G^nadnZMfxYC}Dj^ANZarNPSDWbq!XwWdNQK z01|NUt3S2V4kuWtx?+8vL3P97fdNYki%D?)Zkpt)Yi!JgkI~415m-%KeY3Riu4UtB zQb6F`^zYp-2^55(@yHl3c5v|A373;y#x|hQCYwv6n5n)@?8+|PyS&e{w(1RdT7I-x_R^FJs&ur?M}DHxf|v|TGtAwAy<^b9>v}A-WGt` z6FBIvK77@i3WxOf9UU5*!PYMG8r`K2;0QY z!V0`&_g{E1hDoVq>tuv%Nqvq6XJJXnvPKU{Mij%6E#wz==5o{E?FH*mx(|(w_h);r zECtVgVfZKD$20*YGrc*u)i{sjA?#9K5Xh^c!NI|B>JAN6M?42qoy^;a6ECwL{z&$Rx6~?+FNaAH@x>81g^${7#Mjr}97dz|9MV6TJ z10h|F2^8KyVj{{3&>a~X+J@6Bgwt=R71cdo&1^dh#9L@7D2ox^2vYVW65c zQux7;?fL%Ql?9b+{epl|0W`wi?k-?`S0O7oay~as|9EE769Os;(0c)qQ}g-r_V#wN zwAX#B!2eFS&f##mwrp%uP>O24JEIhuYxs=cwb0X-~t5<8^ zWr4Qh?&>;uOHHej=+!gk!9T6>NY%hqYg(ApO&|xYqN3vNUY?a@p{-4|cSRYBN7j$r z|3_voj^6~1+kIv4sD!NAz@2>A+DQv2K-${c_Vz_>)DcV)QIV16jhr4dHr8diftwSd zH%!5&0|F?B%E?pWzo5?~tY${p{8W92S zzUjz51$$iI%|XIzb|is}3n+1*9(T92OqXL!39RY>Cw`8A=g*%r-Fhwna2A+%0aU(@ z$D39bd-Hdb$m0^3kx++Jxu_eGNUM=5(a$YP^utfC3`e{igT@E&O!uvI4ai1hGH8GM zPsslNX_4bi3DN(RG&xrfdtRdLq=|{gn&-ttB%rDWWnSd)JwP8rL3E?^`m5fRQ(T(= zPS1pCIqY>(Qc~MGyJjMk3m@<<@A__((l&pBRi?5M(_W$>ay*gmY{0n`X71zs!~b>l bh@ + + + + +serial: doc/serial.dox File Reference + + + + + + + + + + + + +
+
+
doc/serial.dox File Reference
+
+
+
+ + + + + + diff --git a/doc/1.0.1/serial_8h.html b/doc/1.0.1/serial_8h.html new file mode 100644 index 0000000..df6a099 --- /dev/null +++ b/doc/1.0.1/serial_8h.html @@ -0,0 +1,215 @@ + + + + + +serial: include/serial/serial.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
include/serial/serial.h File Reference
+
+
+
#include <limits>
+#include <vector>
+#include <string>
+#include <cstring>
+#include <sstream>
+#include <exception>
+#include <stdexcept>
+#include <serial/v8stdint.h>
+
+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
class  serial::Serial
class  serial::SerialExecption
class  serial::IOException
class  serial::PortNotOpenedException

+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, +serial::flowcontrol_hardware + }
+

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) 2012 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/doc/1.0.1/serial_8h__dep__incl.map b/doc/1.0.1/serial_8h__dep__incl.map new file mode 100644 index 0000000..0c1cf0d --- /dev/null +++ b/doc/1.0.1/serial_8h__dep__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/doc/1.0.1/serial_8h__dep__incl.md5 b/doc/1.0.1/serial_8h__dep__incl.md5 new file mode 100644 index 0000000..880bd7b --- /dev/null +++ b/doc/1.0.1/serial_8h__dep__incl.md5 @@ -0,0 +1 @@ +c98d963b631b13d25afd23d112f3e739 \ No newline at end of file diff --git a/doc/1.0.1/serial_8h__dep__incl.png b/doc/1.0.1/serial_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..d7f6ae644f9592792f019d768369f1184f737c37 GIT binary patch literal 15660 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 RMZlmS(jOGW%S4R={~w@ZxP$-z literal 0 HcmV?d00001 diff --git a/doc/1.0.1/serial_8h__incl.map b/doc/1.0.1/serial_8h__incl.map new file mode 100644 index 0000000..8c11f01 --- /dev/null +++ b/doc/1.0.1/serial_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/1.0.1/serial_8h__incl.md5 b/doc/1.0.1/serial_8h__incl.md5 new file mode 100644 index 0000000..f84a942 --- /dev/null +++ b/doc/1.0.1/serial_8h__incl.md5 @@ -0,0 +1 @@ +b5d1de374ff6278767e5c67477d92fc7 \ No newline at end of file diff --git a/doc/1.0.1/serial_8h__incl.png b/doc/1.0.1/serial_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..9bdc47e47398f050de7f368b94446e0da2395d70 GIT binary patch literal 19266 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 literal 0 HcmV?d00001 diff --git a/doc/1.0.1/serial_8h_source.html b/doc/1.0.1/serial_8h_source.html new file mode 100644 index 0000000..75a1b1c --- /dev/null +++ b/doc/1.0.1/serial_8h_source.html @@ -0,0 +1,422 @@ + + + + + +serial: include/serial/serial.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in 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>
+00042 #include <cstring>
+00043 #include <sstream>
+00044 #include <exception>
+00045 #include <stdexcept>
+00046 #include <serial/v8stdint.h>
+00047 
+00048 #define THROW(exceptionClass, message) throw exceptionClass(__FILE__, \
+00049 __LINE__, (message) )
+00050 
+00051 namespace serial {
+00052 
+00056 typedef enum {
+00057   fivebits = 5,
+00058   sixbits = 6,
+00059   sevenbits = 7,
+00060   eightbits = 8
+00061 } bytesize_t;
+00062 
+00066 typedef enum {
+00067   parity_none = 0,
+00068   parity_odd = 1,
+00069   parity_even = 2
+00070 } parity_t;
+00071 
+00075 typedef enum {
+00076   stopbits_one = 1,
+00077   stopbits_one_point_five,
+00078   stopbits_two = 2
+00079 } stopbits_t;
+00080 
+00084 typedef enum {
+00085   flowcontrol_none = 0,
+00086   flowcontrol_software,
+00087   flowcontrol_hardware
+00088 } flowcontrol_t;
+00089 
+00096 struct Timeout {
+00097 #ifdef max
+00098 # undef max
+00099 #endif
+00100   static uint32_t max() {return std::numeric_limits<uint32_t>::max();}
+00110   static Timeout simpleTimeout(uint32_t timeout) {
+00111     return Timeout(max(), timeout, 0, timeout, 0);
+00112   }
+00113 
+00115   uint32_t inter_byte_timeout;
+00117   uint32_t read_timeout_constant;
+00121   uint32_t read_timeout_multiplier;
+00123   uint32_t write_timeout_constant;
+00127   uint32_t write_timeout_multiplier;
+00128 
+00129   explicit Timeout (uint32_t inter_byte_timeout_=0,
+00130                     uint32_t read_timeout_constant_=0,
+00131                     uint32_t read_timeout_multiplier_=0,
+00132                     uint32_t write_timeout_constant_=0,
+00133                     uint32_t write_timeout_multiplier_=0)
+00134   : inter_byte_timeout(inter_byte_timeout_),
+00135     read_timeout_constant(read_timeout_constant_),
+00136     read_timeout_multiplier(read_timeout_multiplier_),
+00137     write_timeout_constant(write_timeout_constant_),
+00138     write_timeout_multiplier(write_timeout_multiplier_)
+00139   {}
+00140 };
+00141 
+00145 class Serial {
+00146 public:
+00176   Serial (const std::string &port = "",
+00177           uint32_t baudrate = 9600,
+00178           Timeout timeout = Timeout(),
+00179           bytesize_t bytesize = eightbits,
+00180           parity_t parity = parity_none,
+00181           stopbits_t stopbits = stopbits_one,
+00182           flowcontrol_t flowcontrol = flowcontrol_none);
+00183 
+00185   virtual ~Serial ();
+00186 
+00200   void
+00201   open ();
+00202 
+00207   bool
+00208   isOpen () const;
+00209 
+00211   void
+00212   close ();
+00213 
+00215   size_t
+00216   available ();
+00217 
+00243   size_t
+00244   read (uint8_t *buffer, size_t size);
+00245 
+00254   size_t
+00255   read (std::vector<uint8_t> &buffer, size_t size = 1);
+00256 
+00265   size_t
+00266   read (std::string &buffer, size_t size = 1);
+00267 
+00275   std::string
+00276   read (size_t size = 1);
+00277 
+00288   size_t
+00289   readline (std::string &buffer, size_t size = 65536, std::string eol = "\n");
+00290 
+00300   std::string
+00301   readline (size_t size = 65536, std::string eol = "\n");
+00302 
+00314   std::vector<std::string>
+00315   readlines (size_t size = 65536, std::string eol = "\n");
+00316 
+00328   size_t
+00329   write (const uint8_t *data, size_t size);
+00330 
+00339   size_t
+00340   write (const std::vector<uint8_t> &data);
+00341 
+00350   size_t
+00351   write (const std::string &data);
+00352 
+00361   void
+00362   setPort (const std::string &port);
+00363 
+00370   std::string
+00371   getPort () const;
+00372 
+00407   void
+00408   setTimeout (Timeout &timeout);
+00409 
+00411   void
+00412   setTimeout (uint32_t inter_byte_timeout, uint32_t read_timeout_constant,
+00413               uint32_t read_timeout_multiplier, uint32_t write_timeout_constant,
+00414               uint32_t write_timeout_multiplier)
+00415   {
+00416     Timeout timeout(inter_byte_timeout, read_timeout_constant,
+00417                     read_timeout_multiplier, write_timeout_constant,
+00418                     write_timeout_multiplier);
+00419     return setTimeout(timeout);
+00420   }
+00421 
+00429   Timeout
+00430   getTimeout () const;
+00431 
+00444   void
+00445   setBaudrate (uint32_t baudrate);
+00446 
+00455   uint32_t
+00456   getBaudrate () const;
+00457 
+00466   void
+00467   setBytesize (bytesize_t bytesize);
+00468 
+00475   bytesize_t
+00476   getBytesize () const;
+00477 
+00485   void
+00486   setParity (parity_t parity);
+00487 
+00494   parity_t
+00495   getParity () const;
+00496 
+00504   void
+00505   setStopbits (stopbits_t stopbits);
+00506 
+00513   stopbits_t
+00514   getStopbits () const;
+00515 
+00524   void
+00525   setFlowcontrol (flowcontrol_t flowcontrol);
+00526 
+00533   flowcontrol_t
+00534   getFlowcontrol () const;
+00535 
+00537   void
+00538   flush ();
+00539 
+00541   void
+00542   flushInput ();
+00543 
+00545   void
+00546   flushOutput ();
+00547 
+00549   void
+00550   sendBreak (int duration);
+00551 
+00553   void
+00554   setBreak (bool level = true);
+00555 
+00557   void
+00558   setRTS (bool level = true);
+00559 
+00561   void
+00562   setDTR (bool level = true);
+00563 
+00578   bool
+00579   waitForChange ();
+00580 
+00582   bool
+00583   getCTS ();
+00584 
+00586   bool
+00587   getDSR ();
+00588 
+00590   bool
+00591   getRI ();
+00592 
+00594   bool
+00595   getCD ();
+00596 
+00597 private:
+00598   // Disable copy constructors
+00599   Serial(const Serial&);
+00600   void operator=(const Serial&);
+00601   const Serial& operator=(Serial);
+00602 
+00603   std::string read_cache_; 
+00604 
+00605   // Pimpl idiom, d_pointer
+00606   class SerialImpl;
+00607   SerialImpl *pimpl_;
+00608 
+00609   // Scoped Lock Classes
+00610   class ScopedReadLock;
+00611   class ScopedWriteLock;
+00612 
+00613   // Read common function
+00614   size_t
+00615   read_ (uint8_t *buffer, size_t size);
+00616   // Write common function
+00617   size_t
+00618   write_ (const uint8_t *data, size_t length);
+00619 
+00620 };
+00621 
+00622 class SerialExecption : public std::exception
+00623 {
+00624   // Disable copy constructors
+00625   void operator=(const SerialExecption&);
+00626   const SerialExecption& operator=(SerialExecption);
+00627   const char* e_what_;
+00628 public:
+00629   SerialExecption (const char *description) : e_what_ (description) {}
+00630   SerialExecption (const SerialExecption& other) {
+00631     e_what_ = other.e_what_;
+00632   }
+00633 
+00634   virtual const char* what () const throw ()
+00635   {
+00636     std::stringstream ss;
+00637     ss << "SerialException " << e_what_ << " failed.";
+00638     return ss.str ().c_str ();
+00639   }
+00640 };
+00641 
+00642 class IOException : public std::exception
+00643 {
+00644   // Disable copy constructors
+00645   void operator=(const IOException&);
+00646   const IOException& operator=(IOException);
+00647   std::string file_;
+00648   int line_;
+00649   const char* e_what_;
+00650   int errno_;
+00651 public:
+00652   explicit IOException (std::string file, int line, int errnum)
+00653   : file_(file), line_(line), e_what_ (strerror (errnum)), errno_(errnum) {}
+00654   explicit IOException (std::string file, int line, const char * description)
+00655   : file_(file), line_(line), e_what_ (description), errno_(0) {}
+00656   virtual ~IOException() throw() {}
+00657   IOException (const IOException& other) {
+00658     e_what_ = other.e_what_;
+00659   }
+00660 
+00661   int getErrorNumber () { return errno_; }
+00662 
+00663   virtual const char* what () const throw ()
+00664   {
+00665     std::stringstream ss;
+00666     if (errno_ == 0)
+00667       ss << "IO Exception: " << e_what_;
+00668     else
+00669       ss << "IO Exception (" << errno_ << "): " << e_what_;
+00670     ss << ", file " << file_ << ", line " << line_ << ".";
+00671     return ss.str ().c_str ();
+00672   }
+00673 };
+00674 
+00675 class PortNotOpenedException : public std::exception
+00676 {
+00677   // Disable copy constructors
+00678   void operator=(const PortNotOpenedException&);
+00679   const PortNotOpenedException& operator=(PortNotOpenedException);
+00680   const char * e_what_;
+00681 public:
+00682   PortNotOpenedException (const char * description) : e_what_ (description) {}
+00683   PortNotOpenedException (const PortNotOpenedException& other) {
+00684     e_what_ = other.e_what_;
+00685   }
+00686 
+00687   virtual const char* what () const throw ()
+00688   {
+00689     std::stringstream ss;
+00690     ss << e_what_ << " called before port was opened.";
+00691     return ss.str ().c_str ();
+00692   }
+00693 };
+00694 
+00695 } // namespace serial
+00696 
+00697 #endif
+
+ + + + + + diff --git a/doc/1.0.1/serial__example_8cc.html b/doc/1.0.1/serial__example_8cc.html new file mode 100644 index 0000000..4790ddc --- /dev/null +++ b/doc/1.0.1/serial__example_8cc.html @@ -0,0 +1,307 @@ + + + + + +serial: examples/serial_example.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
examples/serial_example.cc File Reference
+
+
+
#include <string>
+#include <iostream>
+#include <cstdio>
+#include <unistd.h>
+#include "serial/serial.h"
+
+Include dependency graph for serial_example.cc:
+
+
+ + +
+
+ + + + +

+Functions

void my_sleep (unsigned long milliseconds)
int run (int argc, char **argv)
int main (int argc, char **argv)
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int main (int argc,
char ** argv 
)
+
+
+
                                {
+  try {
+    return run(argc, argv);
+  } catch (exception &e) {
+    cerr << "Unhandled Exception: " << e.what() << endl;
+  }
+}
+
+
+
+ +
+
+ + + + + + + + +
void my_sleep (unsigned long milliseconds)
+
+
+
                                          {
+#ifdef _WIN32
+      Sleep(milliseconds); // 100 ms
+#else
+      usleep(milliseconds*1000); // 100 ms
+#endif
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int run (int argc,
char ** argv 
)
+
+
+
{
+  if(argc < 3) {
+    cerr << "Usage: test_serial <serial port address> ";
+    cerr << "<baudrate> [test string]" << endl;
+    return 0;
+  }
+  // Argument 1 is the serial port
+  string port(argv[1]);
+
+  // Argument 2 is the baudrate
+  unsigned long baud = 0;
+  sscanf(argv[2], "%lu", &baud);
+
+  // port, baudrate, timeout in milliseconds
+  serial::Serial my_serial(port, baud, serial::Timeout::simpleTimeout(1000));
+
+  cout << "Is the serial port open?";
+  if(my_serial.isOpen())
+    cout << " Yes." << endl;
+  else
+    cout << " No." << endl;
+
+  // Get the Test string
+  int count = 0;
+  string test_string;
+  if (argc == 4) {
+    test_string = argv[3];
+  } else {
+    test_string = "Testing.";
+  }
+
+  // Test the timeout, there should be 1 second between prints
+  cout << "Timeout == 1000ms, asking for 1 more byte than written." << endl;
+  while (count < 10) {
+    size_t bytes_wrote = my_serial.write(test_string);
+
+    string result = my_serial.read(test_string.length()+1);
+
+    cout << "Iteration: " << count << ", Bytes written: ";
+    cout << bytes_wrote << ", Bytes read: ";
+    cout << result.length() << ", String read: " << result << endl;
+
+    count += 1;
+  }
+
+  // Test the timeout at 250ms
+  my_serial.setTimeout(serial::Timeout::max(), 250, 0, 250, 0);
+  count = 0;
+  cout << "Timeout == 250ms, asking for 1 more byte than written." << endl;
+  while (count < 10) {
+    size_t bytes_wrote = my_serial.write(test_string);
+
+    string result = my_serial.read(test_string.length()+1);
+
+    cout << "Iteration: " << count << ", Bytes written: ";
+    cout << bytes_wrote << ", Bytes read: ";
+    cout << result.length() << ", String read: " << result << endl;
+
+    count += 1;
+  }
+
+  // Test the timeout at 250ms, but asking exactly for what was written
+  count = 0;
+  cout << "Timeout == 250ms, asking for exactly what was written." << endl;
+  while (count < 10) {
+    size_t bytes_wrote = my_serial.write(test_string);
+
+    string result = my_serial.read(test_string.length());
+
+    cout << "Iteration: " << count << ", Bytes written: ";
+    cout << bytes_wrote << ", Bytes read: ";
+    cout << result.length() << ", String read: " << result << endl;
+
+    count += 1;
+  }
+
+  // Test the timeout at 250ms, but asking for 1 less than what was written
+  count = 0;
+  cout << "Timeout == 250ms, asking for 1 less than was written." << endl;
+  while (count < 10) {
+    size_t bytes_wrote = my_serial.write(test_string);
+
+    string result = my_serial.read(test_string.length()-1);
+
+    cout << "Iteration: " << count << ", Bytes written: ";
+    cout << bytes_wrote << ", Bytes read: ";
+    cout << result.length() << ", String read: " << result << endl;
+
+    count += 1;
+  }
+
+  return 0;
+}
+
+
+
+
+ + + + + + diff --git a/doc/1.0.1/serial__example_8cc__incl.map b/doc/1.0.1/serial__example_8cc__incl.map new file mode 100644 index 0000000..e416595 --- /dev/null +++ b/doc/1.0.1/serial__example_8cc__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/1.0.1/serial__example_8cc__incl.md5 b/doc/1.0.1/serial__example_8cc__incl.md5 new file mode 100644 index 0000000..41f231c --- /dev/null +++ b/doc/1.0.1/serial__example_8cc__incl.md5 @@ -0,0 +1 @@ +ef764addfbad6889cc99705661c2273d \ No newline at end of file diff --git a/doc/1.0.1/serial__example_8cc__incl.png b/doc/1.0.1/serial__example_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..90473f84df4b053ddbdf5b9d003886f10823ee9e GIT binary patch literal 29764 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 + + + + +serial: serial::Timeout Struct Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::Timeout Struct Reference
+
+
+ +

#include <serial.h>

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

+Public Member Functions

 Timeout (uint32_t inter_byte_timeout_=0, uint32_t read_timeout_constant_=0, uint32_t read_timeout_multiplier_=0, uint32_t write_timeout_constant_=0, uint32_t write_timeout_multiplier_=0)

+Static Public Member Functions

static uint32_t max ()
static Timeout simpleTimeout (uint32_t timeout)

+Data Fields

uint32_t inter_byte_timeout
uint32_t read_timeout_constant
uint32_t read_timeout_multiplier
uint32_t write_timeout_constant
uint32_t write_timeout_multiplier
+

Detailed Description

+

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

+

In order to disable the interbyte timeout, set it to Timeout::max().

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
serial::Timeout::Timeout (uint32_t inter_byte_timeout_ = 0,
uint32_t read_timeout_constant_ = 0,
uint32_t read_timeout_multiplier_ = 0,
uint32_t write_timeout_constant_ = 0,
uint32_t write_timeout_multiplier_ = 0 
) [inline, explicit]
+
+
+
  : 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_)
+  {}
+
+
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
static uint32_t serial::Timeout::max () [inline, static]
+
+ +
+ +
+
+ + + + + + + + +
static Timeout serial::Timeout::simpleTimeout (uint32_t timeout) [inline, static]
+
+
+

Convenience function to generate Timeout structs using a single absolute timeout.

+
Parameters:
+ + +
timeoutA long that defines the time in milliseconds until a timeout occurs after a call to read or write is made.
+
+
+
Returns:
Timeout struct that represents this simple timeout provided.
+
                                                 {
+    return Timeout(max(), timeout, 0, timeout, 0);
+  }
+
+
+
+

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/doc/1.0.1/tab_a.png b/doc/1.0.1/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/doc/1.0.1/tab_b.png b/doc/1.0.1/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/doc/1.0.1/tab_s.png b/doc/1.0.1/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/doc/1.0.1/tabs.css b/doc/1.0.1/tabs.css new file mode 100644 index 0000000..2192056 --- /dev/null +++ b/doc/1.0.1/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/doc/1.0.1/unix_8cc.html b/doc/1.0.1/unix_8cc.html new file mode 100644 index 0000000..75cce10 --- /dev/null +++ b/doc/1.0.1/unix_8cc.html @@ -0,0 +1,187 @@ + + + + + +serial: src/impl/unix.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in 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/doc/1.0.1/unix_8cc__incl.map b/doc/1.0.1/unix_8cc__incl.map new file mode 100644 index 0000000..84ddac5 --- /dev/null +++ b/doc/1.0.1/unix_8cc__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doc/1.0.1/unix_8cc__incl.md5 b/doc/1.0.1/unix_8cc__incl.md5 new file mode 100644 index 0000000..1097a78 --- /dev/null +++ b/doc/1.0.1/unix_8cc__incl.md5 @@ -0,0 +1 @@ +6fe186826ba1650b64f7ddad091f4012 \ No newline at end of file diff --git a/doc/1.0.1/unix_8cc__incl.png b/doc/1.0.1/unix_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..2abfad2e239e5f46b5f79f1bba21563c43d13e91 GIT binary patch literal 78517 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 Sn_A8J%OxE{?NUvL@P7labL1HS literal 0 HcmV?d00001 diff --git a/doc/1.0.1/unix_8h.html b/doc/1.0.1/unix_8h.html new file mode 100644 index 0000000..3cec1aa --- /dev/null +++ b/doc/1.0.1/unix_8h.html @@ -0,0 +1,151 @@ + + + + + +serial: include/serial/impl/unix.h File Reference + + + + + + + + + + + +

+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in 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) 2012 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/doc/1.0.1/unix_8h__dep__incl.map b/doc/1.0.1/unix_8h__dep__incl.map new file mode 100644 index 0000000..9716d93 --- /dev/null +++ b/doc/1.0.1/unix_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/1.0.1/unix_8h__dep__incl.md5 b/doc/1.0.1/unix_8h__dep__incl.md5 new file mode 100644 index 0000000..604000a --- /dev/null +++ b/doc/1.0.1/unix_8h__dep__incl.md5 @@ -0,0 +1 @@ +5404c7ca3dbfca28900fc5af87992483 \ No newline at end of file diff --git a/doc/1.0.1/unix_8h__dep__incl.png b/doc/1.0.1/unix_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..bd648c823d8ac56a5f9d80f137521987453e3213 GIT binary patch literal 6453 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

>@6iT-0QemQQjmEmUHaT8;Qs(nU5EDo literal 0 HcmV?d00001 diff --git a/doc/1.0.1/unix_8h__incl.map b/doc/1.0.1/unix_8h__incl.map new file mode 100644 index 0000000..c6ec8dc --- /dev/null +++ b/doc/1.0.1/unix_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/1.0.1/unix_8h__incl.md5 b/doc/1.0.1/unix_8h__incl.md5 new file mode 100644 index 0000000..706bd41 --- /dev/null +++ b/doc/1.0.1/unix_8h__incl.md5 @@ -0,0 +1 @@ +c644a77c41f65cf3d129ecef9919893c \ No newline at end of file diff --git a/doc/1.0.1/unix_8h__incl.png b/doc/1.0.1/unix_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..c3972bb4ede26ba743c7ff53f4a411babe8d1e30 GIT binary patch literal 24535 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 literal 0 HcmV?d00001 diff --git a/doc/1.0.1/unix_8h_source.html b/doc/1.0.1/unix_8h_source.html new file mode 100644 index 0000000..2308329 --- /dev/null +++ b/doc/1.0.1/unix_8h_source.html @@ -0,0 +1,270 @@ + + + + + +serial: include/serial/impl/unix.h Source File + + + + + + + + + + + +

+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in 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 (uint8_t *buf, size_t size = 1);
+00078 
+00079   size_t
+00080   write (const uint8_t *data, size_t length);
+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 &timeout);
+00126 
+00127   Timeout
+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 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/doc/1.0.1/v8stdint_8h.html b/doc/1.0.1/v8stdint_8h.html new file mode 100644 index 0000000..a38dff3 --- /dev/null +++ b/doc/1.0.1/v8stdint_8h.html @@ -0,0 +1,126 @@ + + + + + +serial: include/serial/v8stdint.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
include/serial/v8stdint.h File Reference
+
+
+
#include <stddef.h>
+#include <stdio.h>
+#include <stdint.h>
+
+Include dependency graph for v8stdint.h:
+
+
+ + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + +
+
+

Go to the source code of this file.

+
+ + + + + + diff --git a/doc/1.0.1/v8stdint_8h__dep__incl.map b/doc/1.0.1/v8stdint_8h__dep__incl.map new file mode 100644 index 0000000..bb2cdf6 --- /dev/null +++ b/doc/1.0.1/v8stdint_8h__dep__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/doc/1.0.1/v8stdint_8h__dep__incl.md5 b/doc/1.0.1/v8stdint_8h__dep__incl.md5 new file mode 100644 index 0000000..bdb0b26 --- /dev/null +++ b/doc/1.0.1/v8stdint_8h__dep__incl.md5 @@ -0,0 +1 @@ +af57361690e99b803f0462c8bdb7cff4 \ No newline at end of file diff --git a/doc/1.0.1/v8stdint_8h__dep__incl.png b/doc/1.0.1/v8stdint_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..bb175507e82497a865879384ea7639dc7fe18f1d GIT binary patch literal 18453 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 literal 0 HcmV?d00001 diff --git a/doc/1.0.1/v8stdint_8h__incl.map b/doc/1.0.1/v8stdint_8h__incl.map new file mode 100644 index 0000000..8be6a30 --- /dev/null +++ b/doc/1.0.1/v8stdint_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/doc/1.0.1/v8stdint_8h__incl.md5 b/doc/1.0.1/v8stdint_8h__incl.md5 new file mode 100644 index 0000000..1ca1357 --- /dev/null +++ b/doc/1.0.1/v8stdint_8h__incl.md5 @@ -0,0 +1 @@ +f6bf6cb6422db640ba7e37d5916453b2 \ No newline at end of file diff --git a/doc/1.0.1/v8stdint_8h__incl.png b/doc/1.0.1/v8stdint_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..00352a8e8dbef9a06009e9d1a732f88f3e232114 GIT binary patch literal 6227 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 literal 0 HcmV?d00001 diff --git a/doc/1.0.1/v8stdint_8h_source.html b/doc/1.0.1/v8stdint_8h_source.html new file mode 100644 index 0000000..ef71001 --- /dev/null +++ b/doc/1.0.1/v8stdint_8h_source.html @@ -0,0 +1,164 @@ + + + + + +serial: include/serial/v8stdint.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
include/serial/v8stdint.h
+
+
+Go to the documentation of this file.
00001 // This header is from the v8 google project: 
+00002 // http://code.google.com/p/v8/source/browse/trunk/include/v8stdint.h
+00003 
+00004 // Copyright 2012 the V8 project authors. All rights reserved.
+00005 // Redistribution and use in source and binary forms, with or without
+00006 // modification, are permitted provided that the following conditions are
+00007 // met:
+00008 //
+00009 //     * Redistributions of source code must retain the above copyright
+00010 //       notice, this list of conditions and the following disclaimer.
+00011 //     * Redistributions in binary form must reproduce the above
+00012 //       copyright notice, this list of conditions and the following
+00013 //       disclaimer in the documentation and/or other materials provided
+00014 //       with the distribution.
+00015 //     * Neither the name of Google Inc. nor the names of its
+00016 //       contributors may be used to endorse or promote products derived
+00017 //       from this software without specific prior written permission.
+00018 //
+00019 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+00020 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+00021 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+00022 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+00023 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+00024 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+00025 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+00026 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+00027 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+00028 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+00029 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+00030 
+00031 // Load definitions of standard types.
+00032 
+00033 #ifndef V8STDINT_H_
+00034 #define V8STDINT_H_
+00035 
+00036 #include <stddef.h>
+00037 #include <stdio.h>
+00038 
+00039 #if defined(_WIN32) && !defined(__MINGW32__)
+00040 
+00041 typedef signed char int8_t;
+00042 typedef unsigned char uint8_t;
+00043 typedef short int16_t;  // NOLINT
+00044 typedef unsigned short uint16_t;  // NOLINT
+00045 typedef int int32_t;
+00046 typedef unsigned int uint32_t;
+00047 typedef __int64 int64_t;
+00048 typedef unsigned __int64 uint64_t;
+00049 // intptr_t and friends are defined in crtdefs.h through stdio.h.
+00050 
+00051 #else
+00052 
+00053 #include <stdint.h>
+00054 
+00055 #endif
+00056 
+00057 #endif  // V8STDINT_H_
+
+ + + + + + diff --git a/doc/1.0.1/win_8cc.html b/doc/1.0.1/win_8cc.html new file mode 100644 index 0000000..5a42f31 --- /dev/null +++ b/doc/1.0.1/win_8cc.html @@ -0,0 +1,115 @@ + + + + + +serial: src/impl/win.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
src/impl/win.cc File Reference
+
+
+
#include "serial/impl/win.h"
+
+Include dependency graph for win.cc:
+
+
+ + +
+
+ + + + + + diff --git a/doc/1.0.1/win_8cc__incl.map b/doc/1.0.1/win_8cc__incl.map new file mode 100644 index 0000000..9bcf43b --- /dev/null +++ b/doc/1.0.1/win_8cc__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doc/1.0.1/win_8cc__incl.md5 b/doc/1.0.1/win_8cc__incl.md5 new file mode 100644 index 0000000..f28adf1 --- /dev/null +++ b/doc/1.0.1/win_8cc__incl.md5 @@ -0,0 +1 @@ +ac617508eef9f03d290dd09ec479c335 \ No newline at end of file diff --git a/doc/1.0.1/win_8cc__incl.png b/doc/1.0.1/win_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..13da98581b1f7ac33d39490fa7d8bb4265c0f8e5 GIT binary patch literal 26059 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 VOj0~vYZ~56peV0)zYJj%_&;(n3U>ei literal 0 HcmV?d00001 diff --git a/doc/1.0.1/win_8h.html b/doc/1.0.1/win_8h.html new file mode 100644 index 0000000..3280710 --- /dev/null +++ b/doc/1.0.1/win_8h.html @@ -0,0 +1,136 @@ + + + + + +serial: include/serial/impl/win.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
include/serial/impl/win.h File Reference
+
+
+
#include "serial/serial.h"
+#include "windows.h"
+
+Include dependency graph for win.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
+
+ + + + + + diff --git a/doc/1.0.1/win_8h__dep__incl.map b/doc/1.0.1/win_8h__dep__incl.map new file mode 100644 index 0000000..2ae6fa6 --- /dev/null +++ b/doc/1.0.1/win_8h__dep__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/1.0.1/win_8h__dep__incl.md5 b/doc/1.0.1/win_8h__dep__incl.md5 new file mode 100644 index 0000000..977746a --- /dev/null +++ b/doc/1.0.1/win_8h__dep__incl.md5 @@ -0,0 +1 @@ +dbf5e18357478e7fe097f14bb0558aea \ No newline at end of file diff --git a/doc/1.0.1/win_8h__dep__incl.png b/doc/1.0.1/win_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..682dbc160596db70d106080e3639dc5bcfc3773e GIT binary patch literal 4269 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 NcUN1bMA`b;e*n`2Ihz0g literal 0 HcmV?d00001 diff --git a/doc/1.0.1/win_8h__incl.map b/doc/1.0.1/win_8h__incl.map new file mode 100644 index 0000000..c6ec8dc --- /dev/null +++ b/doc/1.0.1/win_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/1.0.1/win_8h__incl.md5 b/doc/1.0.1/win_8h__incl.md5 new file mode 100644 index 0000000..f2d5af9 --- /dev/null +++ b/doc/1.0.1/win_8h__incl.md5 @@ -0,0 +1 @@ +bffdfff16bef6b02682a3561852c9429 \ No newline at end of file diff --git a/doc/1.0.1/win_8h__incl.png b/doc/1.0.1/win_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..4ded21cb9d2ea2b8ebcbcd53420338ed3c6f3e11 GIT binary patch literal 24658 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 literal 0 HcmV?d00001 diff --git a/doc/1.0.1/win_8h_source.html b/doc/1.0.1/win_8h_source.html new file mode 100644 index 0000000..50d55ac --- /dev/null +++ b/doc/1.0.1/win_8h_source.html @@ -0,0 +1,268 @@ + + + + + +serial: include/serial/impl/win.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0.1 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
include/serial/impl/win.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 #include "windows.h"
+00043 
+00044 namespace serial {
+00045 
+00046 using std::string;
+00047 using std::invalid_argument;
+00048 
+00049 using serial::SerialExecption;
+00050 using serial::IOException;
+00051 
+00052 class serial::Serial::SerialImpl {
+00053 public:
+00054   SerialImpl (const string &port,
+00055               unsigned long baudrate,
+00056               bytesize_t bytesize,
+00057               parity_t parity,
+00058               stopbits_t stopbits,
+00059               flowcontrol_t flowcontrol);
+00060 
+00061   virtual ~SerialImpl ();
+00062 
+00063   void
+00064   open ();
+00065 
+00066   void
+00067   close ();
+00068 
+00069   bool
+00070   isOpen () const;
+00071 
+00072   size_t
+00073   available ();
+00074 
+00075   size_t
+00076   read (uint8_t *buf, size_t size = 1);
+00077 
+00078   size_t
+00079   write (const uint8_t *data, size_t length);
+00080 
+00081   void
+00082   flush ();
+00083 
+00084   void
+00085   flushInput ();
+00086 
+00087   void
+00088   flushOutput ();
+00089 
+00090   void
+00091   sendBreak (int duration);
+00092 
+00093   void
+00094   setBreak (bool level);
+00095 
+00096   void
+00097   setRTS (bool level);
+00098 
+00099   void
+00100   setDTR (bool level);
+00101 
+00102   bool
+00103   waitForChange ();
+00104 
+00105   bool
+00106   getCTS ();
+00107 
+00108   bool
+00109   getDSR ();
+00110 
+00111   bool
+00112   getRI ();
+00113 
+00114   bool
+00115   getCD ();
+00116 
+00117   void
+00118   setPort (const string &port);
+00119 
+00120   string
+00121   getPort () const;
+00122 
+00123   void
+00124   setTimeout (Timeout &timeout);
+00125 
+00126   Timeout
+00127   getTimeout () const;
+00128 
+00129   void
+00130   setBaudrate (unsigned long baudrate);
+00131 
+00132   unsigned long
+00133   getBaudrate () const;
+00134 
+00135   void
+00136   setBytesize (bytesize_t bytesize);
+00137 
+00138   bytesize_t
+00139   getBytesize () const;
+00140 
+00141   void
+00142   setParity (parity_t parity);
+00143 
+00144   parity_t
+00145   getParity () const;
+00146 
+00147   void
+00148   setStopbits (stopbits_t stopbits);
+00149 
+00150   stopbits_t
+00151   getStopbits () const;
+00152 
+00153   void
+00154   setFlowcontrol (flowcontrol_t flowcontrol);
+00155 
+00156   flowcontrol_t
+00157   getFlowcontrol () const;
+00158 
+00159   void
+00160   readLock ();
+00161 
+00162   void
+00163   readUnlock ();
+00164 
+00165   void
+00166   writeLock ();
+00167 
+00168   void
+00169   writeUnlock ();
+00170 
+00171 protected:
+00172   void reconfigurePort ();
+00173 
+00174 private:
+00175   string port_;               // Path to the file descriptor
+00176   HANDLE fd_;
+00177 
+00178   bool is_open_;
+00179 
+00180   Timeout timeout_;           // Timeout for read operations
+00181   unsigned long baudrate_;    // Baudrate
+00182 
+00183   parity_t parity_;           // Parity
+00184   bytesize_t bytesize_;       // Size of the bytes
+00185   stopbits_t stopbits_;       // Stop Bits
+00186   flowcontrol_t flowcontrol_; // Flow Control
+00187 
+00188   // Mutex used to lock the read functions
+00189   HANDLE read_mutex;
+00190   // Mutex used to lock the write functions
+00191   HANDLE write_mutex;
+00192 };
+00193 
+00194 }
+00195 
+00196 #endif // SERIAL_IMPL_WINDOWS_H
+
+ + + + + + diff --git a/doc/1.0/annotated.html b/doc/1.0/annotated.html new file mode 100644 index 0000000..732a744 --- /dev/null +++ b/doc/1.0/annotated.html @@ -0,0 +1,118 @@ + + + + + +serial: Data Structures + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structures
+
+ + + + + + + diff --git a/doc/1.0/bc_s.png b/doc/1.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/doc/1.0/bdwn.png b/doc/1.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 written in 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/doc/1.0/class_serial_1_1_scoped_write_lock.html b/doc/1.0/class_serial_1_1_scoped_write_lock.html new file mode 100644 index 0000000..e6c4228 --- /dev/null +++ b/doc/1.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 written in 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/doc/1.0/classes.html b/doc/1.0/classes.html new file mode 100644 index 0000000..24f4a46 --- /dev/null +++ b/doc/1.0/classes.html @@ -0,0 +1,123 @@ + + + + + +serial: Data Structure Index + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structure Index
+
+
+
I | P | S | T
+ + + + + + + + +
  I  
+
  S  
+
Serial (serial)   
SerialExecption (serial)   
IOException (serial)   Serial::ScopedReadLock   SerialImpl (serial::serial::Serial)   
  P  
+
Serial::ScopedWriteLock   
  T  
+
PortNotOpenedException (serial)   Timeout (serial)   
+
I | P | S | T
+
+ + + + + + diff --git a/doc/1.0/classserial_1_1_i_o_exception.html b/doc/1.0/classserial_1_1_i_o_exception.html new file mode 100644 index 0000000..96394b0 --- /dev/null +++ b/doc/1.0/classserial_1_1_i_o_exception.html @@ -0,0 +1,280 @@ + + + + + +serial: serial::IOException Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in 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 ()
 IOException (const IOException &other)
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]
+
+
+
{}
+
+
+
+ +
+
+ + + + + + + + +
serial::IOException::IOException (const IOExceptionother) [inline]
+
+
+
                                         {
+    e_what_ = other.e_what_;
+  }
+
+
+
+

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/doc/1.0/classserial_1_1_port_not_opened_exception.html b/doc/1.0/classserial_1_1_port_not_opened_exception.html new file mode 100644 index 0000000..87d0e2d --- /dev/null +++ b/doc/1.0/classserial_1_1_port_not_opened_exception.html @@ -0,0 +1,189 @@ + + + + + +serial: serial::PortNotOpenedException Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::PortNotOpenedException Class Reference
+
+
+ +

#include <serial.h>

+ + + + + +

+Public Member Functions

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

Constructor & Destructor Documentation

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

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/doc/1.0/classserial_1_1_serial.html b/doc/1.0/classserial_1_1_serial.html new file mode 100644 index 0000000..444c69d --- /dev/null +++ b/doc/1.0/classserial_1_1_serial.html @@ -0,0 +1,1532 @@ + + + + + +serial: serial::Serial Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::Serial Class Reference
+
+
+ +

#include <serial.h>

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

+Data Structures

class  ScopedReadLock
class  ScopedWriteLock

+Public Member Functions

 Serial (const std::string &port="", uint32_t baudrate=9600, Timeout timeout=Timeout(), 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 (uint8_t *buffer, size_t size)
size_t read (std::vector< uint8_t > &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 uint8_t *data, size_t size)
size_t write (const std::vector< uint8_t > &data)
size_t write (const std::string &data)
void setPort (const std::string &port)
std::string getPort () const
void setTimeout (Timeout &timeout)
void setTimeout (uint32_t inter_byte_timeout, uint32_t read_timeout_constant, uint32_t read_timeout_multiplier, uint32_t write_timeout_constant, uint32_t write_timeout_multiplier)
Timeout getTimeout () const
void setBaudrate (uint32_t baudrate)
uint32_t 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 = "",
uint32_t baudrate = 9600,
Timeout timeout = Timeout(),
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 unsigned 32-bit integer that represents the baudrate
timeoutA serial::Timeout struct that defines the timeout conditions for the serial port.
+
+
+
See also:
serial::Timeout
+
Parameters:
+ + + + + +
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 ();
+}
+
+
+
+ +
+
+ + + + + + + +
uint32_t 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 uint32_t(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 Serial::getTimeout () const
+
+
+

Gets the timeout for reads in seconds.

+
Returns:
A Timeout 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 (uint8_t * 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 uint8_t 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< uint8_t > & 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 uint8_t.
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_);
+  uint8_t *buffer_ = new uint8_t[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_);
+  uint8_t *buffer_ = new uint8_t[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 ();
+  uint8_t *buffer_ = static_cast<uint8_t*>
+    (alloca (size * sizeof (uint8_t)));
+  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 (uint32_t 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::Timeouttimeout)
+
+
+

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

+

There are two timeout conditions described here:

+
    +
  • The inter byte timeout:
      +
    • The inter_byte_timeout component of serial::Timeout defines the maximum amount of time, in milliseconds, between receiving bytes on the serial port that can pass before a timeout occurs. Setting this to zero will prevent inter byte timeouts from occurring.
    • +
    +
  • +
  • Total time timeout:
      +
    • The the constant and multiplier component of this timeout condition, for both read and write, are defined in serial::Timeout. This timeout occurs if the total time since the read or write call was made exceeds the specified time in milliseconds.
    • +
    • The limit is defined by multiplying the multiplier component by the number of requested bytes and adding that product to the constant component. In this way if you want a read call, for example, to timeout after exactly one second regardless of the number of bytes you asked for then set the read_timeout_constant component of serial::Timeout to 1000 and the read_timeout_multiplier to zero. This timeout condition can be used in conjunction with the inter byte timeout condition with out any problems, timeout will simply occur when one of the two timeout conditions is met. This allows users to have maximum control over the trade-off between responsiveness and efficiency.
    • +
    +
  • +
+

Read and write functions will return in one of three cases. When the reading or writing is complete, when a timeout occurs, or when an exception occurs.

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

Sets the timeout for reads and writes.

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

Blocks until CTS, DSR, RI, CD changes or something interrupts it.

+

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.

+
Returns:
Returns true if one of the lines changed, false if something else occurred.
+
Exceptions:
+ + +
SerialException
+
+
+
{
+  return pimpl_->waitForChange();
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t Serial::write (const uint8_t * 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.
+
{
+  ScopedWriteLock(this->pimpl_);
+  return this->write_(data, size);
+}
+
+
+
+ +
+
+ + + + + + + + +
size_t Serial::write (const std::vector< uint8_t > & 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.
+
{
+  ScopedWriteLock(this->pimpl_);
+  return this->write_ (&data[0], data.size());
+}
+
+
+
+ +
+
+ + + + + + + + +
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/doc/1.0/classserial_1_1_serial_exception_base.html b/doc/1.0/classserial_1_1_serial_exception_base.html new file mode 100644 index 0000000..0e99cb0 --- /dev/null +++ b/doc/1.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/doc/1.0/classserial_1_1_serial_execption.html b/doc/1.0/classserial_1_1_serial_execption.html new file mode 100644 index 0000000..2a77ec9 --- /dev/null +++ b/doc/1.0/classserial_1_1_serial_execption.html @@ -0,0 +1,189 @@ + + + + + +serial: serial::SerialExecption Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::SerialExecption Class Reference
+
+
+ +

#include <serial.h>

+ + + + + +

+Public Member Functions

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

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
serial::SerialExecption::SerialExecption (const char * description) [inline]
+
+
+
: e_what_ (description) {}
+
+
+
+ +
+
+ + + + + + + + +
serial::SerialExecption::SerialExecption (const SerialExecptionother) [inline]
+
+
+
                                                 {
+    e_what_ = other.e_what_;
+  }
+
+
+
+

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/doc/1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html b/doc/1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html new file mode 100644 index 0000000..f8db4a0 --- /dev/null +++ b/doc/1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html @@ -0,0 +1,2114 @@ + + + + + +serial: serial::serial::Serial::SerialImpl Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in 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 (uint8_t *buf, size_t size=1)
size_t write (const uint8_t *data, size_t length)
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 &timeout)
Timeout 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, 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 (uint8_t *buf, size_t size=1)
size_t write (const uint8_t *data, size_t length)
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 &timeout)
Timeout 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 ()

+Protected Member Functions

void reconfigurePort ()
void reconfigurePort ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
serial::serial::Serial::SerialImpl::SerialImpl (const string & port,
unsigned long baudrate,
bytesize_t bytesize,
parity_t parity,
stopbits_t stopbits,
flowcontrol_t flowcontrol 
)
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual serial::serial::Serial::SerialImpl::~SerialImpl () [virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
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 ();
+}
+
+
+
+ +
+
+ + + + + + + +
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;
+}
+
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
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 (uint8_t * buf,
size_t size = 1 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t serial::serial::Serial::SerialImpl::read (uint8_t * 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 |= (tcflag_t)  (CLOCAL | CREAD);
+  options.c_lflag &= (tcflag_t) ~(ICANON | ECHO | ECHOE | ECHOK | ECHONL |
+                                       ISIG | IEXTEN); //|ECHOPRT
+
+  options.c_oflag &= (tcflag_t) ~(OPOST);
+  options.c_iflag &= (tcflag_t) ~(INLCR | IGNCR | ICRNL | IGNBRK);
+#ifdef IUCLC
+  options.c_iflag &= (tcflag_t) ~IUCLC;
+#endif
+#ifdef PARMRK
+  options.c_iflag &= (tcflag_t) ~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 / (int) 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 &= (tcflag_t) ~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 &= (tcflag_t) ~(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 &= (tcflag_t) ~(INPCK | ISTRIP);
+  if (parity_ == parity_none) {
+    options.c_cflag &= (tcflag_t) ~(PARENB | PARODD);
+  } else if (parity_ == parity_even) {
+    options.c_cflag &= (tcflag_t) ~(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 &= (tcflag_t) ~(IXON | IXOFF | IXANY);
+#else
+  if (xonxoff_)
+    options.c_iflag |=  (IXON | IXOFF);
+  else
+    options.c_iflag &= (tcflag_t) ~(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::serial::Serial::SerialImpl::setTimeout (Timeouttimeout)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setTimeout (Timeouttimeout)
+
+
+ +
+
+ +
+
+ + + + + + + +
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 uint8_t * data,
size_t length 
)
+
+
+

Error

+

Timeout

+

Something ready to read

+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::write");
+  }
+  fd_set writefds;
+  size_t bytes_written = 0;
+  struct timeval timeout;
+  timeout.tv_sec =                    timeout_.write_timeout_constant / 1000;
+  timeout.tv_usec = static_cast<int> (timeout_.write_timeout_multiplier % 1000);
+  timeout.tv_usec *= 1000; // To convert to micro seconds
+  while (bytes_written < length) {
+    FD_ZERO (&writefds);
+    FD_SET (fd_, &writefds);
+    // On Linux the timeout struct is updated by select to contain the time
+    // left on the timeout to make looping easier, but on other platforms this
+    // does not occur.
+#if !defined(__linux__)
+    // Begin timing select
+    struct timespec start, end;
+    get_time_now(start);
+#endif
+    // Do the select
+    int r = select (fd_ + 1, &writefds, NULL, NULL, &timeout);
+#if !defined(__linux__)
+    // Calculate difference and update the structure
+    get_time_now(end);
+    // Calculate the time select took
+    struct timeval diff;
+    diff.tv_sec = end.tv_sec - start.tv_sec;
+    diff.tv_usec = static_cast<int> ((end.tv_nsec - start.tv_nsec) / 1000);
+    // Update the timeout
+    if (timeout.tv_sec <= diff.tv_sec) {
+      timeout.tv_sec = 0;
+    } else {
+      timeout.tv_sec -= diff.tv_sec;
+    }
+    if (timeout.tv_usec <= diff.tv_usec) {
+      timeout.tv_usec = 0;
+    } else {
+      timeout.tv_usec -= diff.tv_usec;
+    }
+#endif
+
+    // Figure out what happened by looking at select's response 'r'
+    if (r < 0) {
+      // Select was interrupted, try again
+      if (errno == EINTR) {
+        continue;
+      }
+      // Otherwise there was some error
+      THROW (IOException, errno);
+    }
+    if (r == 0) {
+      break;
+    }
+    if (r > 0) {
+      // Make sure our file descriptor is in the ready to read list
+      if (FD_ISSET (fd_, &writefds)) {
+        // This should be non-blocking returning only what is avaialble now
+        //  Then returning so that select can block again.
+        ssize_t bytes_written_now =
+          ::write (fd_, data + bytes_written, length - bytes_written);
+        // read should always return some data as select reported it was
+        // ready to read when we get to this point.
+        if (bytes_written_now < 1) {
+          // Disconnected devices, at least on Linux, show the
+          // behavior that they are always ready to read immediately
+          // but reading returns nothing.
+          throw SerialExecption ("device reports readiness to write but "
+                                 "returned no data (device disconnected?)");
+        }
+        // Update bytes_read
+        bytes_written += static_cast<size_t> (bytes_written_now);
+        // If bytes_read == size then we have read everything we need
+        if (bytes_written == length) {
+          break;
+        }
+        // If bytes_read < size then we have more to read
+        if (bytes_written < length) {
+          continue;
+        }
+        // If bytes_read > size then we have over read, which shouldn't happen
+        if (bytes_written > length) {
+          throw SerialExecption ("read over read, too many bytes where "
+                                 "read, this shouldn't happen, might be "
+                                 "a logical error!");
+        }
+      }
+      // This shouldn't happen, if r > 0 our fd has to be in the list!
+      THROW (IOException, "select reports ready to read, but our fd isn't"
+             " in the list, this shouldn't happen!");
+    }
+  }
+  return bytes_written;
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t serial::serial::Serial::SerialImpl::write (const uint8_t * data,
size_t length 
)
+
+
+ +
+
+ +
+
+ + + + + + + +
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/doc/1.0/closed.png b/doc/1.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/doc/1.0/doxygen.css b/doc/1.0/doxygen.css new file mode 100644 index 0000000..c151fde --- /dev/null +++ b/doc/1.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/doc/1.0/doxygen.png b/doc/1.0/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..635ed52fce7057ac24df92ec7664088a881fa5d0 GIT binary patch literal 3942 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 A+yDRo literal 0 HcmV?d00001 diff --git a/doc/1.0/files.html b/doc/1.0/files.html new file mode 100644 index 0000000..ef48145 --- /dev/null +++ b/doc/1.0/files.html @@ -0,0 +1,117 @@ + + + + + +serial: File List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+ + + + + + + + +
examples/serial_example.cc
include/serial/serial.h [code]
include/serial/v8stdint.h [code]
include/serial/impl/unix.h [code]
include/serial/impl/win.h [code]
src/serial.cc
src/impl/unix.cc
src/impl/win.cc
+
+ + + + + + diff --git a/doc/1.0/functions.html b/doc/1.0/functions.html new file mode 100644 index 0000000..20d9d46 --- /dev/null +++ b/doc/1.0/functions.html @@ -0,0 +1,404 @@ + + + + + +serial: Data Fields + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in 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 -

+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+ + +

- ~ -

+
+ + + + + + diff --git a/doc/1.0/functions_func.html b/doc/1.0/functions_func.html new file mode 100644 index 0000000..50dc074 --- /dev/null +++ b/doc/1.0/functions_func.html @@ -0,0 +1,390 @@ + + + + + +serial: Data Fields - Functions + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- a -

+ + +

- c -

+ + +

- f -

+ + +

- g -

+ + +

- i -

+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+ + +

- ~ -

+
+ + + + + + diff --git a/doc/1.0/functions_vars.html b/doc/1.0/functions_vars.html new file mode 100644 index 0000000..f93a5b1 --- /dev/null +++ b/doc/1.0/functions_vars.html @@ -0,0 +1,128 @@ + + + + + +serial: Data Fields - Variables + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.0/globals.html b/doc/1.0/globals.html new file mode 100644 index 0000000..8c83bfe --- /dev/null +++ b/doc/1.0/globals.html @@ -0,0 +1,130 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+ + + + + + diff --git a/doc/1.0/globals_defs.html b/doc/1.0/globals_defs.html new file mode 100644 index 0000000..6c45001 --- /dev/null +++ b/doc/1.0/globals_defs.html @@ -0,0 +1,118 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.0/globals_func.html b/doc/1.0/globals_func.html new file mode 100644 index 0000000..2bd7541 --- /dev/null +++ b/doc/1.0/globals_func.html @@ -0,0 +1,124 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.0/graph_legend.html b/doc/1.0/graph_legend.html new file mode 100644 index 0000000..e80c987 --- /dev/null +++ b/doc/1.0/graph_legend.html @@ -0,0 +1,165 @@ + + + + + +serial: Graph Legend + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in 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/doc/1.0/graph_legend.md5 b/doc/1.0/graph_legend.md5 new file mode 100644 index 0000000..c0a4490 --- /dev/null +++ b/doc/1.0/graph_legend.md5 @@ -0,0 +1 @@ +70d597617e34367275a35eeb8fb7ea07 \ No newline at end of file diff --git a/doc/1.0/graph_legend.png b/doc/1.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/doc/1.0/index.html b/doc/1.0/index.html new file mode 100644 index 0000000..2e119fd --- /dev/null +++ b/doc/1.0/index.html @@ -0,0 +1,153 @@ + + + + + +serial: Serial Library + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
Serial Library
+
+
+
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
+

+What is serial?

+

Serial is a cross-platform, simple to use library for using serial ports on computers. This library provides a C++, object oriented interface for interacting with RS-232 like devices on Linux and Windows.

+

Want to use it with ROS(Robot Operating System)? No problem, it compiles as a unary stack.

+

+Getting Started

+

Ready to jump in?

+ +

+Features

+
    +
  • Linux, Mac OS X, and Windows Support
  • +
  • Easy to use interface (modeled after PySerial)
  • +
  • Minimal dependencies (cmake)
  • +
  • Complete timeout control serial::Serial::setTimeout
  • +
  • Check and set handshaking lines (CTS, DSR, RI, CD and RTS, DTR)
  • +
  • Block for changes in handshaking lines (Linux and Windows)
  • +
  • Flush I/O separately and block until all writing done
  • +
+

+Installation

+

+Dependencies

+ +

+Compiling

+

Once you have gathered the dependencies, you need to checkout the software from github.com:

+
+    git clone git://github.com/wjwwood/serial.git
+

Once you have checked out the source code from github.com you can enter the directory and build the software.

+
+    cd serial
+    make
+    make test # (optional) builds the example and tests, and runs the tests.
+    make doc  # (optional) builds _this_ documentation.
+

+Installing

+

To install simply:

+
+    sudo make install
+

To uninstall simply:

+
+    sudo make uninstall
+
+ + + + + + diff --git a/doc/1.0/jquery.js b/doc/1.0/jquery.js new file mode 100644 index 0000000..90b3a2b --- /dev/null +++ b/doc/1.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/doc/1.0/namespacemembers_enum.html b/doc/1.0/namespacemembers_enum.html new file mode 100644 index 0000000..aa4de9a --- /dev/null +++ b/doc/1.0/namespacemembers_enum.html @@ -0,0 +1,124 @@ + + + + + +serial: Namespace Members + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.0/namespacemembers_eval.html b/doc/1.0/namespacemembers_eval.html new file mode 100644 index 0000000..6978978 --- /dev/null +++ b/doc/1.0/namespacemembers_eval.html @@ -0,0 +1,148 @@ + + + + + +serial: Namespace Members + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.0/namespaces.html b/doc/1.0/namespaces.html new file mode 100644 index 0000000..a3adc7a --- /dev/null +++ b/doc/1.0/namespaces.html @@ -0,0 +1,112 @@ + + + + + +serial: Namespace List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Namespace List
+
+
+
Here is a list of all namespaces with brief descriptions:
+ + + +
serial
serial::serial
serial::serial::Serial
+
+ + + + + + diff --git a/doc/1.0/namespaceserial.html b/doc/1.0/namespaceserial.html new file mode 100644 index 0000000..0935fcb --- /dev/null +++ b/doc/1.0/namespaceserial.html @@ -0,0 +1,258 @@ + + + + + +serial: serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
serial Namespace Reference
+
+
+ + + + + + + + + + + + + + +

+Namespaces

namespace  serial

+Data Structures

struct  Timeout
class  Serial
class  SerialExecption
class  IOException
class  PortNotOpenedException

+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/doc/1.0/namespaceserial_1_1_serial.html b/doc/1.0/namespaceserial_1_1_serial.html new file mode 100644 index 0000000..1aaa426 --- /dev/null +++ b/doc/1.0/namespaceserial_1_1_serial.html @@ -0,0 +1,120 @@ + + + + + +serial: serial::Serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library for C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::Serial Namespace Reference
+
+
+ + + + +

+Data Structures

class  ScopedReadLock
class  ScopedWriteLock
+
+ + + + + + diff --git a/doc/1.0/namespaceserial_1_1serial.html b/doc/1.0/namespaceserial_1_1serial.html new file mode 100644 index 0000000..ac19311 --- /dev/null +++ b/doc/1.0/namespaceserial_1_1serial.html @@ -0,0 +1,120 @@ + + + + + +serial: serial::serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::serial Namespace Reference
+
+
+ + + +

+Namespaces

namespace  Serial
+
+ + + + + + diff --git a/doc/1.0/namespaceserial_1_1serial_1_1_serial.html b/doc/1.0/namespaceserial_1_1serial_1_1_serial.html new file mode 100644 index 0000000..60c0f3b --- /dev/null +++ b/doc/1.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 written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::serial::Serial Namespace Reference
+
+
+ + + +

+Data Structures

class  SerialImpl
+
+ + + + + + diff --git a/doc/1.0/nav_f.png b/doc/1.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/doc/1.0/nav_h.png b/doc/1.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/doc/1.0/open.png b/doc/1.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/doc/1.0/search/all_61.js b/doc/1.0/search/all_61.js new file mode 100644 index 0000000..4a6b8e4 --- /dev/null +++ b/doc/1.0/search/all_61.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['available',['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()'],['../classserial_1_1_serial.html#afafe25b2f3bb0809550abdc72c51a234',1,'serial::Serial::available()']]] +]; diff --git a/doc/1.0/search/all_62.html b/doc/1.0/search/all_62.html new file mode 100644 index 0000000..ee8871c --- /dev/null +++ b/doc/1.0/search/all_62.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_62.js b/doc/1.0/search/all_62.js new file mode 100644 index 0000000..ff57a8f --- /dev/null +++ b/doc/1.0/search/all_62.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bytesize_5ft',['bytesize_t',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8',1,'serial']]] +]; diff --git a/doc/1.0/search/all_63.html b/doc/1.0/search/all_63.html new file mode 100644 index 0000000..56b5ad1 --- /dev/null +++ b/doc/1.0/search/all_63.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_63.js b/doc/1.0/search/all_63.js new file mode 100644 index 0000000..e4b824e --- /dev/null +++ b/doc/1.0/search/all_63.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['close',['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()'],['../classserial_1_1_serial.html#afbe59407e718bc3d22ea4a67b304db6c',1,'serial::Serial::close()']]] +]; diff --git a/doc/1.0/search/all_65.html b/doc/1.0/search/all_65.html new file mode 100644 index 0000000..66cc834 --- /dev/null +++ b/doc/1.0/search/all_65.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_65.js b/doc/1.0/search/all_65.js new file mode 100644 index 0000000..10bd939 --- /dev/null +++ b/doc/1.0/search/all_65.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eightbits',['eightbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a47f14d952cf9bed6c3f7ae5985161990',1,'serial']]] +]; diff --git a/doc/1.0/search/all_66.html b/doc/1.0/search/all_66.html new file mode 100644 index 0000000..3d1f8b3 --- /dev/null +++ b/doc/1.0/search/all_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_66.js b/doc/1.0/search/all_66.js new file mode 100644 index 0000000..b55d469 --- /dev/null +++ b/doc/1.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_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()'],['../classserial_1_1_serial.html#a63b7abf172cad25bfc998b3b1f98310f',1,'serial::Serial::flush()']]], + ['flushinput',['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()'],['../classserial_1_1_serial.html#afa2c1f9114a37b7d140fc2292d1499b9',1,'serial::Serial::flushInput()']]], + ['flushoutput',['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()'],['../classserial_1_1_serial.html#a256ee4bb93ab0e79d7a66b50f08dce53',1,'serial::Serial::flushOutput()']]] +]; diff --git a/doc/1.0/search/all_67.html b/doc/1.0/search/all_67.html new file mode 100644 index 0000000..41a459a --- /dev/null +++ b/doc/1.0/search/all_67.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_67.js b/doc/1.0/search/all_67.js new file mode 100644 index 0000000..108b85e --- /dev/null +++ b/doc/1.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_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 '],['../classserial_1_1_serial.html#a9b57d6da619d53f58cddc3621c78c32b',1,'serial::Serial::getBaudrate()']]], + ['getbytesize',['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 '],['../classserial_1_1_serial.html#a4fce90ef7a9a46525efa373a94a1bfbd',1,'serial::Serial::getBytesize()']]], + ['getcd',['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()'],['../classserial_1_1_serial.html#a9795a3e83e6745a14c64f657e68061fb',1,'serial::Serial::getCD()']]], + ['getcts',['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()'],['../classserial_1_1_serial.html#a809f048546c4c72b74e205139b97648c',1,'serial::Serial::getCTS()']]], + ['getdsr',['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()'],['../classserial_1_1_serial.html#a6b9a0c485e1fe599dbb5e9e15b1a65d6',1,'serial::Serial::getDSR()']]], + ['geterrornumber',['getErrorNumber',['../classserial_1_1_i_o_exception.html#a91d5ee5241dd49fb39e8e762564b6cc5',1,'serial::IOException']]], + ['getflowcontrol',['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 '],['../classserial_1_1_serial.html#acdc6da48a5434b936b1db20f36caf41f',1,'serial::Serial::getFlowcontrol()']]], + ['getparity',['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 '],['../classserial_1_1_serial.html#a89d876e1d3f0afadb0d6c21b08ed8931',1,'serial::Serial::getParity()']]], + ['getport',['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 '],['../classserial_1_1_serial.html#ae95cd057e90258b1b3203ff8972a3567',1,'serial::Serial::getPort()']]], + ['getri',['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()'],['../classserial_1_1_serial.html#afb96e6968f040c4bff7576095f4ba6e7',1,'serial::Serial::getRI()']]], + ['getstopbits',['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 '],['../classserial_1_1_serial.html#a42887bb76243bf6bbb3f69ff60f9792e',1,'serial::Serial::getStopbits()']]], + ['gettimeout',['getTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1_serial.html#a765fccd0e53562773626fb39bb2efcb6',1,'serial::Serial::getTimeout()']]] +]; diff --git a/doc/1.0/search/all_69.html b/doc/1.0/search/all_69.html new file mode 100644 index 0000000..1a00b55 --- /dev/null +++ b/doc/1.0/search/all_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_69.js b/doc/1.0/search/all_69.js new file mode 100644 index 0000000..252b6c5 --- /dev/null +++ b/doc/1.0/search/all_69.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['inter_5fbyte_5ftimeout',['inter_byte_timeout',['../structserial_1_1_timeout.html#ada15f2a0ae478cbb62ef79d1633b2b81',1,'serial::Timeout']]], + ['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)'],['../classserial_1_1_i_o_exception.html#af65196a71b800d11b5e5c367caf5b354',1,'serial::IOException::IOException(const IOException &other)']]], + ['isopen',['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 '],['../classserial_1_1_serial.html#af9895af496189f7f0aba7c097f5fa9c1',1,'serial::Serial::isOpen()']]] +]; diff --git a/doc/1.0/search/all_6d.html b/doc/1.0/search/all_6d.html new file mode 100644 index 0000000..2e27d4d --- /dev/null +++ b/doc/1.0/search/all_6d.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_6d.js b/doc/1.0/search/all_6d.js new file mode 100644 index 0000000..6259fbe --- /dev/null +++ b/doc/1.0/search/all_6d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['main',['main',['../serial__example_8cc.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'serial_example.cc']]], + ['max',['max',['../structserial_1_1_timeout.html#adc68e33d2f94bfa33ba1062c363b9151',1,'serial::Timeout']]], + ['my_5fsleep',['my_sleep',['../serial__example_8cc.html#a89b7c9d8c710b057346cc9ac52ae3734',1,'serial_example.cc']]] +]; diff --git a/doc/1.0/search/all_6f.html b/doc/1.0/search/all_6f.html new file mode 100644 index 0000000..61827e8 --- /dev/null +++ b/doc/1.0/search/all_6f.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_6f.js b/doc/1.0/search/all_6f.js new file mode 100644 index 0000000..65fc001 --- /dev/null +++ b/doc/1.0/search/all_6f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['open',['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()'],['../classserial_1_1_serial.html#af3644ed1a9d899b70e9d63bb9b808d62',1,'serial::Serial::open()']]] +]; diff --git a/doc/1.0/search/all_70.html b/doc/1.0/search/all_70.html new file mode 100644 index 0000000..0340151 --- /dev/null +++ b/doc/1.0/search/all_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_70.js b/doc/1.0/search/all_70.js new file mode 100644 index 0000000..589b9bf --- /dev/null +++ b/doc/1.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(const char *description)'],['../classserial_1_1_port_not_opened_exception.html#ae8b466d10d496a53ed8e9f949e9e628c',1,'serial::PortNotOpenedException::PortNotOpenedException(const PortNotOpenedException &other)']]], + ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html',1,'serial']]] +]; diff --git a/doc/1.0/search/all_72.html b/doc/1.0/search/all_72.html new file mode 100644 index 0000000..0ab18d6 --- /dev/null +++ b/doc/1.0/search/all_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_72.js b/doc/1.0/search/all_72.js new file mode 100644 index 0000000..27e0f9a --- /dev/null +++ b/doc/1.0/search/all_72.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['read',['read',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1_serial.html#a0261dbfb9361784ecb3eee98b85fa103',1,'serial::Serial::read(uint8_t *buffer, size_t size)'],['../classserial_1_1_serial.html#aa3795c6cbc96f504932dd02fd6e9538e',1,'serial::Serial::read(std::vector< uint8_t > &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)']]], + ['read_5ftimeout_5fconstant',['read_timeout_constant',['../structserial_1_1_timeout.html#a099244649dec66b6e0548480edeb2b9f',1,'serial::Timeout']]], + ['read_5ftimeout_5fmultiplier',['read_timeout_multiplier',['../structserial_1_1_timeout.html#a64412753eb2edf1621716dd9f1a4e71e',1,'serial::Timeout']]], + ['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#a3536cdcf1a389a2effe27455db31b906',1,'serial::serial::Serial::SerialImpl::readLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a284eeedc3dd686ecef0fdcfd83bebc54',1,'serial::serial::Serial::SerialImpl::readLock()']]], + ['readunlock',['readUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a63f05143ebfa94168e1df5047362ef0e',1,'serial::serial::Serial::SerialImpl::readUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab6533e884ba609a1dd6a88b7964d8b52',1,'serial::serial::Serial::SerialImpl::readUnlock()']]], + ['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()']]], + ['run',['run',['../serial__example_8cc.html#ac1f545534cdaab9094198a5dc2c2a79f',1,'serial_example.cc']]] +]; diff --git a/doc/1.0/search/all_73.html b/doc/1.0/search/all_73.html new file mode 100644 index 0000000..1ec8f17 --- /dev/null +++ b/doc/1.0/search/all_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_73.js b/doc/1.0/search/all_73.js new file mode 100644 index 0000000..e16e64d --- /dev/null +++ b/doc/1.0/search/all_73.js @@ -0,0 +1,36 @@ +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_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)'],['../classserial_1_1_serial.html#ade90ff8f03525ea6d7b702fcd0f336de',1,'serial::Serial::sendBreak()']]], + ['serial',['serial',['../namespaceserial.html',1,'serial'],['../classserial_1_1_serial.html#aecbc4cc1723143805ae5a4aa79ba9332',1,'serial::Serial::Serial()']]], + ['serial',['Serial',['../classserial_1_1_serial.html',1,'serial::Serial'],['../namespaceserial_1_1serial.html',1,'serial::serial']]], + ['serial',['Serial',['../namespaceserial_1_1serial_1_1_serial.html',1,'serial::serial']]], + ['serial_2ecc',['serial.cc',['../serial_8cc.html',1,'']]], + ['serial_2edox',['serial.dox',['../serial_8dox.html',1,'']]], + ['serial_2eh',['serial.h',['../serial_8h.html',1,'']]], + ['serial_5fexample_2ecc',['serial_example.cc',['../serial__example_8cc.html',1,'']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html',1,'serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html#aa4b29d2631c6a9a0ebe591834bbc4609',1,'serial::SerialExecption::SerialExecption(const char *description)'],['../classserial_1_1_serial_execption.html#a824b52fe58b37de592d7bd13e7949860',1,'serial::SerialExecption::SerialExecption(const SerialExecption &other)']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9baa5dccbb7935163bf6715eb5d9deff',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#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)']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html',1,'serial::serial::Serial']]], + ['setbaudrate',['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)'],['../classserial_1_1_serial.html#ad4f7e9edff11b464199e94a43dfd19bf',1,'serial::Serial::setBaudrate()']]], + ['setbreak',['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)'],['../classserial_1_1_serial.html#a2a27912b1ca5cdad4a4aba7b9ddbc206',1,'serial::Serial::setBreak()']]], + ['setbytesize',['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)'],['../classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa',1,'serial::Serial::setBytesize()']]], + ['setdtr',['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)'],['../classserial_1_1_serial.html#ac9b0bbf613a5fe68f05d1d40181a1bb3',1,'serial::Serial::setDTR()']]], + ['setflowcontrol',['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)'],['../classserial_1_1_serial.html#ade41650d6bfe91b6432e5a0a60c03969',1,'serial::Serial::setFlowcontrol()']]], + ['setparity',['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)'],['../classserial_1_1_serial.html#a1e1896aa59ec35ac5bd263b87614ef01',1,'serial::Serial::setParity()']]], + ['setport',['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)'],['../classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a',1,'serial::Serial::setPort()']]], + ['setrts',['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)'],['../classserial_1_1_serial.html#ab43ddc05e5d69ff2778f698aa7062370',1,'serial::Serial::setRTS()']]], + ['setstopbits',['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)'],['../classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5',1,'serial::Serial::setStopbits()']]], + ['settimeout',['setTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3',1,'serial::Serial::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4b4be39af3e1c68bc6ac09cb55788c86',1,'serial::Serial::setTimeout(uint32_t inter_byte_timeout, uint32_t read_timeout_constant, uint32_t read_timeout_multiplier, uint32_t write_timeout_constant, uint32_t write_timeout_multiplier)']]], + ['sevenbits',['sevenbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a7cf0a3607e326ff6736941008ea8174d',1,'serial']]], + ['simpletimeout',['simpleTimeout',['../structserial_1_1_timeout.html#aa4fbd72e16f47c9aea9fb3c32ca17828',1,'serial::Timeout']]], + ['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/doc/1.0/search/all_74.html b/doc/1.0/search/all_74.html new file mode 100644 index 0000000..fdc6589 --- /dev/null +++ b/doc/1.0/search/all_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_74.js b/doc/1.0/search/all_74.js new file mode 100644 index 0000000..b846294 --- /dev/null +++ b/doc/1.0/search/all_74.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['throw',['THROW',['../serial_8h.html#a25cffc64bd967636d69d7c3c82af1030',1,'serial.h']]], + ['timeout',['Timeout',['../structserial_1_1_timeout.html#a1a454b17f5d653b8e1b04b3ec2fead59',1,'serial::Timeout']]], + ['timeout',['Timeout',['../structserial_1_1_timeout.html',1,'serial']]], + ['tiocinq',['TIOCINQ',['../unix_8cc.html#ad6548c2f81bf6e2679166b22d24784f1',1,'unix.cc']]] +]; diff --git a/doc/1.0/search/all_75.html b/doc/1.0/search/all_75.html new file mode 100644 index 0000000..ab8455e --- /dev/null +++ b/doc/1.0/search/all_75.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_75.js b/doc/1.0/search/all_75.js new file mode 100644 index 0000000..a7d347f --- /dev/null +++ b/doc/1.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/doc/1.0/search/all_76.html b/doc/1.0/search/all_76.html new file mode 100644 index 0000000..0ff5edd --- /dev/null +++ b/doc/1.0/search/all_76.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_76.js b/doc/1.0/search/all_76.js new file mode 100644 index 0000000..edd4f0a --- /dev/null +++ b/doc/1.0/search/all_76.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['v8stdint_2eh',['v8stdint.h',['../v8stdint_8h.html',1,'']]] +]; diff --git a/doc/1.0/search/all_77.html b/doc/1.0/search/all_77.html new file mode 100644 index 0000000..73323d3 --- /dev/null +++ b/doc/1.0/search/all_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_77.js b/doc/1.0/search/all_77.js new file mode 100644 index 0000000..cdd7401 --- /dev/null +++ b/doc/1.0/search/all_77.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['waitforchange',['waitForChange',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#abf091b468bdc0d9d338e51e746e0c397',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09f1dcb8e32cb64188daaf8ac0d40215',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1_serial.html#a419dc984258956a5adb41fb8c86f5449',1,'serial::Serial::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()']]], + ['win_2ecc',['win.cc',['../win_8cc.html',1,'']]], + ['win_2eh',['win.h',['../win_8h.html',1,'']]], + ['write',['write',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a222136f14876f84fd0d95f47a7d9c541',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a89b50df2562176fd250413833d636d0a',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1_serial.html#aa020880cdff3a370ddc574f594379c3c',1,'serial::Serial::write(const uint8_t *data, size_t size)'],['../classserial_1_1_serial.html#a2c4180b4c7d386c84e9d0e7ef4a267d3',1,'serial::Serial::write(const std::vector< uint8_t > &data)'],['../classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460',1,'serial::Serial::write(const std::string &data)']]], + ['write_5ftimeout_5fconstant',['write_timeout_constant',['../structserial_1_1_timeout.html#accf01b97f83564f4ce3d6e5f63e21006',1,'serial::Timeout']]], + ['write_5ftimeout_5fmultiplier',['write_timeout_multiplier',['../structserial_1_1_timeout.html#a31ddae32907cff9c3d27fa763981317d',1,'serial::Timeout']]], + ['writelock',['writeLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac094e8cb4a5957e1ddeb1d4fdc9d9536',1,'serial::serial::Serial::SerialImpl::writeLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2905e50e9082a757bfafc03356e318ed',1,'serial::serial::Serial::SerialImpl::writeLock()']]], + ['writeunlock',['writeUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afeac86484622bbeb08303e98db24efe0',1,'serial::serial::Serial::SerialImpl::writeUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#adaec2b322f0b0793929da24f5bf09949',1,'serial::serial::Serial::SerialImpl::writeUnlock()']]] +]; diff --git a/doc/1.0/search/all_7e.html b/doc/1.0/search/all_7e.html new file mode 100644 index 0000000..63512c6 --- /dev/null +++ b/doc/1.0/search/all_7e.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/all_7e.js b/doc/1.0/search/all_7e.js new file mode 100644 index 0000000..e8440ac --- /dev/null +++ b/doc/1.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/doc/1.0/search/classes_69.html b/doc/1.0/search/classes_69.html new file mode 100644 index 0000000..961dbea --- /dev/null +++ b/doc/1.0/search/classes_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/classes_69.js b/doc/1.0/search/classes_69.js new file mode 100644 index 0000000..9252d96 --- /dev/null +++ b/doc/1.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/doc/1.0/search/classes_70.html b/doc/1.0/search/classes_70.html new file mode 100644 index 0000000..e4b5208 --- /dev/null +++ b/doc/1.0/search/classes_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/classes_70.js b/doc/1.0/search/classes_70.js new file mode 100644 index 0000000..422dca4 --- /dev/null +++ b/doc/1.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/doc/1.0/search/classes_73.html b/doc/1.0/search/classes_73.html new file mode 100644 index 0000000..a1bf0b9 --- /dev/null +++ b/doc/1.0/search/classes_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/classes_73.js b/doc/1.0/search/classes_73.js new file mode 100644 index 0000000..a4aa155 --- /dev/null +++ b/doc/1.0/search/classes_73.js @@ -0,0 +1,8 @@ +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']]], + ['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/doc/1.0/search/classes_74.html b/doc/1.0/search/classes_74.html new file mode 100644 index 0000000..f7f27ce --- /dev/null +++ b/doc/1.0/search/classes_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/classes_74.js b/doc/1.0/search/classes_74.js new file mode 100644 index 0000000..747b69c --- /dev/null +++ b/doc/1.0/search/classes_74.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timeout',['Timeout',['../structserial_1_1_timeout.html',1,'serial']]] +]; diff --git a/doc/1.0/search/close.png b/doc/1.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/doc/1.0/search/defines_74.html b/doc/1.0/search/defines_74.html new file mode 100644 index 0000000..7c78f10 --- /dev/null +++ b/doc/1.0/search/defines_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/defines_74.js b/doc/1.0/search/defines_74.js new file mode 100644 index 0000000..38216c2 --- /dev/null +++ b/doc/1.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/doc/1.0/search/enums_62.html b/doc/1.0/search/enums_62.html new file mode 100644 index 0000000..321fe92 --- /dev/null +++ b/doc/1.0/search/enums_62.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/enums_62.js b/doc/1.0/search/enums_62.js new file mode 100644 index 0000000..ff57a8f --- /dev/null +++ b/doc/1.0/search/enums_62.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bytesize_5ft',['bytesize_t',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8',1,'serial']]] +]; diff --git a/doc/1.0/search/enums_66.html b/doc/1.0/search/enums_66.html new file mode 100644 index 0000000..87b48de --- /dev/null +++ b/doc/1.0/search/enums_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/enums_66.js b/doc/1.0/search/enums_66.js new file mode 100644 index 0000000..0eb1150 --- /dev/null +++ b/doc/1.0/search/enums_66.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['flowcontrol_5ft',['flowcontrol_t',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351',1,'serial']]] +]; diff --git a/doc/1.0/search/enums_70.html b/doc/1.0/search/enums_70.html new file mode 100644 index 0000000..0bc0915 --- /dev/null +++ b/doc/1.0/search/enums_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/enums_70.js b/doc/1.0/search/enums_70.js new file mode 100644 index 0000000..e244a2d --- /dev/null +++ b/doc/1.0/search/enums_70.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['parity_5ft',['parity_t',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481',1,'serial']]] +]; diff --git a/doc/1.0/search/enums_73.html b/doc/1.0/search/enums_73.html new file mode 100644 index 0000000..3f157e6 --- /dev/null +++ b/doc/1.0/search/enums_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/enums_73.js b/doc/1.0/search/enums_73.js new file mode 100644 index 0000000..d047512 --- /dev/null +++ b/doc/1.0/search/enums_73.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['stopbits_5ft',['stopbits_t',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469',1,'serial']]] +]; diff --git a/doc/1.0/search/enumvalues_65.html b/doc/1.0/search/enumvalues_65.html new file mode 100644 index 0000000..58030d7 --- /dev/null +++ b/doc/1.0/search/enumvalues_65.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/enumvalues_65.js b/doc/1.0/search/enumvalues_65.js new file mode 100644 index 0000000..10bd939 --- /dev/null +++ b/doc/1.0/search/enumvalues_65.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eightbits',['eightbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a47f14d952cf9bed6c3f7ae5985161990',1,'serial']]] +]; diff --git a/doc/1.0/search/enumvalues_66.html b/doc/1.0/search/enumvalues_66.html new file mode 100644 index 0000000..7f7df6f --- /dev/null +++ b/doc/1.0/search/enumvalues_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/enumvalues_66.js b/doc/1.0/search/enumvalues_66.js new file mode 100644 index 0000000..145d13f --- /dev/null +++ b/doc/1.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/doc/1.0/search/enumvalues_70.html b/doc/1.0/search/enumvalues_70.html new file mode 100644 index 0000000..35a05be --- /dev/null +++ b/doc/1.0/search/enumvalues_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/enumvalues_70.js b/doc/1.0/search/enumvalues_70.js new file mode 100644 index 0000000..c073712 --- /dev/null +++ b/doc/1.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/doc/1.0/search/enumvalues_73.html b/doc/1.0/search/enumvalues_73.html new file mode 100644 index 0000000..f2f7db4 --- /dev/null +++ b/doc/1.0/search/enumvalues_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/enumvalues_73.js b/doc/1.0/search/enumvalues_73.js new file mode 100644 index 0000000..878414b --- /dev/null +++ b/doc/1.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/doc/1.0/search/files_73.html b/doc/1.0/search/files_73.html new file mode 100644 index 0000000..e0de9e6 --- /dev/null +++ b/doc/1.0/search/files_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/files_73.js b/doc/1.0/search/files_73.js new file mode 100644 index 0000000..5c9a4a2 --- /dev/null +++ b/doc/1.0/search/files_73.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['serial_2ecc',['serial.cc',['../serial_8cc.html',1,'']]], + ['serial_2edox',['serial.dox',['../serial_8dox.html',1,'']]], + ['serial_2eh',['serial.h',['../serial_8h.html',1,'']]], + ['serial_5fexample_2ecc',['serial_example.cc',['../serial__example_8cc.html',1,'']]] +]; diff --git a/doc/1.0/search/files_75.html b/doc/1.0/search/files_75.html new file mode 100644 index 0000000..8ea7b3d --- /dev/null +++ b/doc/1.0/search/files_75.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/files_75.js b/doc/1.0/search/files_75.js new file mode 100644 index 0000000..a7d347f --- /dev/null +++ b/doc/1.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/doc/1.0/search/files_76.html b/doc/1.0/search/files_76.html new file mode 100644 index 0000000..e53e134 --- /dev/null +++ b/doc/1.0/search/files_76.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/files_76.js b/doc/1.0/search/files_76.js new file mode 100644 index 0000000..edd4f0a --- /dev/null +++ b/doc/1.0/search/files_76.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['v8stdint_2eh',['v8stdint.h',['../v8stdint_8h.html',1,'']]] +]; diff --git a/doc/1.0/search/files_77.html b/doc/1.0/search/files_77.html new file mode 100644 index 0000000..69f6897 --- /dev/null +++ b/doc/1.0/search/files_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/files_77.js b/doc/1.0/search/files_77.js new file mode 100644 index 0000000..e1669a3 --- /dev/null +++ b/doc/1.0/search/files_77.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['win_2ecc',['win.cc',['../win_8cc.html',1,'']]], + ['win_2eh',['win.h',['../win_8h.html',1,'']]] +]; diff --git a/doc/1.0/search/functions_61.html b/doc/1.0/search/functions_61.html new file mode 100644 index 0000000..7f39533 --- /dev/null +++ b/doc/1.0/search/functions_61.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/functions_61.js b/doc/1.0/search/functions_61.js new file mode 100644 index 0000000..4a6b8e4 --- /dev/null +++ b/doc/1.0/search/functions_61.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['available',['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()'],['../classserial_1_1_serial.html#afafe25b2f3bb0809550abdc72c51a234',1,'serial::Serial::available()']]] +]; diff --git a/doc/1.0/search/functions_63.html b/doc/1.0/search/functions_63.html new file mode 100644 index 0000000..9ebe11d --- /dev/null +++ b/doc/1.0/search/functions_63.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/functions_63.js b/doc/1.0/search/functions_63.js new file mode 100644 index 0000000..e4b824e --- /dev/null +++ b/doc/1.0/search/functions_63.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['close',['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()'],['../classserial_1_1_serial.html#afbe59407e718bc3d22ea4a67b304db6c',1,'serial::Serial::close()']]] +]; diff --git a/doc/1.0/search/functions_66.html b/doc/1.0/search/functions_66.html new file mode 100644 index 0000000..319a531 --- /dev/null +++ b/doc/1.0/search/functions_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/functions_66.js b/doc/1.0/search/functions_66.js new file mode 100644 index 0000000..a22f813 --- /dev/null +++ b/doc/1.0/search/functions_66.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['flush',['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()'],['../classserial_1_1_serial.html#a63b7abf172cad25bfc998b3b1f98310f',1,'serial::Serial::flush()']]], + ['flushinput',['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()'],['../classserial_1_1_serial.html#afa2c1f9114a37b7d140fc2292d1499b9',1,'serial::Serial::flushInput()']]], + ['flushoutput',['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()'],['../classserial_1_1_serial.html#a256ee4bb93ab0e79d7a66b50f08dce53',1,'serial::Serial::flushOutput()']]] +]; diff --git a/doc/1.0/search/functions_67.html b/doc/1.0/search/functions_67.html new file mode 100644 index 0000000..d0ab42a --- /dev/null +++ b/doc/1.0/search/functions_67.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/functions_67.js b/doc/1.0/search/functions_67.js new file mode 100644 index 0000000..108b85e --- /dev/null +++ b/doc/1.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_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 '],['../classserial_1_1_serial.html#a9b57d6da619d53f58cddc3621c78c32b',1,'serial::Serial::getBaudrate()']]], + ['getbytesize',['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 '],['../classserial_1_1_serial.html#a4fce90ef7a9a46525efa373a94a1bfbd',1,'serial::Serial::getBytesize()']]], + ['getcd',['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()'],['../classserial_1_1_serial.html#a9795a3e83e6745a14c64f657e68061fb',1,'serial::Serial::getCD()']]], + ['getcts',['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()'],['../classserial_1_1_serial.html#a809f048546c4c72b74e205139b97648c',1,'serial::Serial::getCTS()']]], + ['getdsr',['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()'],['../classserial_1_1_serial.html#a6b9a0c485e1fe599dbb5e9e15b1a65d6',1,'serial::Serial::getDSR()']]], + ['geterrornumber',['getErrorNumber',['../classserial_1_1_i_o_exception.html#a91d5ee5241dd49fb39e8e762564b6cc5',1,'serial::IOException']]], + ['getflowcontrol',['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 '],['../classserial_1_1_serial.html#acdc6da48a5434b936b1db20f36caf41f',1,'serial::Serial::getFlowcontrol()']]], + ['getparity',['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 '],['../classserial_1_1_serial.html#a89d876e1d3f0afadb0d6c21b08ed8931',1,'serial::Serial::getParity()']]], + ['getport',['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 '],['../classserial_1_1_serial.html#ae95cd057e90258b1b3203ff8972a3567',1,'serial::Serial::getPort()']]], + ['getri',['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()'],['../classserial_1_1_serial.html#afb96e6968f040c4bff7576095f4ba6e7',1,'serial::Serial::getRI()']]], + ['getstopbits',['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 '],['../classserial_1_1_serial.html#a42887bb76243bf6bbb3f69ff60f9792e',1,'serial::Serial::getStopbits()']]], + ['gettimeout',['getTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1_serial.html#a765fccd0e53562773626fb39bb2efcb6',1,'serial::Serial::getTimeout()']]] +]; diff --git a/doc/1.0/search/functions_69.html b/doc/1.0/search/functions_69.html new file mode 100644 index 0000000..e204197 --- /dev/null +++ b/doc/1.0/search/functions_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/functions_69.js b/doc/1.0/search/functions_69.js new file mode 100644 index 0000000..4630e34 --- /dev/null +++ b/doc/1.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)'],['../classserial_1_1_i_o_exception.html#af65196a71b800d11b5e5c367caf5b354',1,'serial::IOException::IOException(const IOException &other)']]], + ['isopen',['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 '],['../classserial_1_1_serial.html#af9895af496189f7f0aba7c097f5fa9c1',1,'serial::Serial::isOpen()']]] +]; diff --git a/doc/1.0/search/functions_6d.html b/doc/1.0/search/functions_6d.html new file mode 100644 index 0000000..d01ac53 --- /dev/null +++ b/doc/1.0/search/functions_6d.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/functions_6d.js b/doc/1.0/search/functions_6d.js new file mode 100644 index 0000000..6259fbe --- /dev/null +++ b/doc/1.0/search/functions_6d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['main',['main',['../serial__example_8cc.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'serial_example.cc']]], + ['max',['max',['../structserial_1_1_timeout.html#adc68e33d2f94bfa33ba1062c363b9151',1,'serial::Timeout']]], + ['my_5fsleep',['my_sleep',['../serial__example_8cc.html#a89b7c9d8c710b057346cc9ac52ae3734',1,'serial_example.cc']]] +]; diff --git a/doc/1.0/search/functions_6f.html b/doc/1.0/search/functions_6f.html new file mode 100644 index 0000000..222f0f8 --- /dev/null +++ b/doc/1.0/search/functions_6f.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/functions_6f.js b/doc/1.0/search/functions_6f.js new file mode 100644 index 0000000..65fc001 --- /dev/null +++ b/doc/1.0/search/functions_6f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['open',['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()'],['../classserial_1_1_serial.html#af3644ed1a9d899b70e9d63bb9b808d62',1,'serial::Serial::open()']]] +]; diff --git a/doc/1.0/search/functions_70.html b/doc/1.0/search/functions_70.html new file mode 100644 index 0000000..c62125e --- /dev/null +++ b/doc/1.0/search/functions_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/functions_70.js b/doc/1.0/search/functions_70.js new file mode 100644 index 0000000..ecb3695 --- /dev/null +++ b/doc/1.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::PortNotOpenedException(const char *description)'],['../classserial_1_1_port_not_opened_exception.html#ae8b466d10d496a53ed8e9f949e9e628c',1,'serial::PortNotOpenedException::PortNotOpenedException(const PortNotOpenedException &other)']]] +]; diff --git a/doc/1.0/search/functions_72.html b/doc/1.0/search/functions_72.html new file mode 100644 index 0000000..a4336f7 --- /dev/null +++ b/doc/1.0/search/functions_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/functions_72.js b/doc/1.0/search/functions_72.js new file mode 100644 index 0000000..85d6f08 --- /dev/null +++ b/doc/1.0/search/functions_72.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['read',['read',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1_serial.html#a0261dbfb9361784ecb3eee98b85fa103',1,'serial::Serial::read(uint8_t *buffer, size_t size)'],['../classserial_1_1_serial.html#aa3795c6cbc96f504932dd02fd6e9538e',1,'serial::Serial::read(std::vector< uint8_t > &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)']]], + ['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#a3536cdcf1a389a2effe27455db31b906',1,'serial::serial::Serial::SerialImpl::readLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a284eeedc3dd686ecef0fdcfd83bebc54',1,'serial::serial::Serial::SerialImpl::readLock()']]], + ['readunlock',['readUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a63f05143ebfa94168e1df5047362ef0e',1,'serial::serial::Serial::SerialImpl::readUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab6533e884ba609a1dd6a88b7964d8b52',1,'serial::serial::Serial::SerialImpl::readUnlock()']]], + ['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()']]], + ['run',['run',['../serial__example_8cc.html#ac1f545534cdaab9094198a5dc2c2a79f',1,'serial_example.cc']]] +]; diff --git a/doc/1.0/search/functions_73.html b/doc/1.0/search/functions_73.html new file mode 100644 index 0000000..774d577 --- /dev/null +++ b/doc/1.0/search/functions_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/functions_73.js b/doc/1.0/search/functions_73.js new file mode 100644 index 0000000..761e893 --- /dev/null +++ b/doc/1.0/search/functions_73.js @@ -0,0 +1,20 @@ +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_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)'],['../classserial_1_1_serial.html#ade90ff8f03525ea6d7b702fcd0f336de',1,'serial::Serial::sendBreak()']]], + ['serial',['Serial',['../classserial_1_1_serial.html#aecbc4cc1723143805ae5a4aa79ba9332',1,'serial::Serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html#aa4b29d2631c6a9a0ebe591834bbc4609',1,'serial::SerialExecption::SerialExecption(const char *description)'],['../classserial_1_1_serial_execption.html#a824b52fe58b37de592d7bd13e7949860',1,'serial::SerialExecption::SerialExecption(const SerialExecption &other)']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9baa5dccbb7935163bf6715eb5d9deff',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#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)']]], + ['setbaudrate',['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)'],['../classserial_1_1_serial.html#ad4f7e9edff11b464199e94a43dfd19bf',1,'serial::Serial::setBaudrate()']]], + ['setbreak',['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)'],['../classserial_1_1_serial.html#a2a27912b1ca5cdad4a4aba7b9ddbc206',1,'serial::Serial::setBreak()']]], + ['setbytesize',['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)'],['../classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa',1,'serial::Serial::setBytesize()']]], + ['setdtr',['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)'],['../classserial_1_1_serial.html#ac9b0bbf613a5fe68f05d1d40181a1bb3',1,'serial::Serial::setDTR()']]], + ['setflowcontrol',['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)'],['../classserial_1_1_serial.html#ade41650d6bfe91b6432e5a0a60c03969',1,'serial::Serial::setFlowcontrol()']]], + ['setparity',['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)'],['../classserial_1_1_serial.html#a1e1896aa59ec35ac5bd263b87614ef01',1,'serial::Serial::setParity()']]], + ['setport',['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)'],['../classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a',1,'serial::Serial::setPort()']]], + ['setrts',['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)'],['../classserial_1_1_serial.html#ab43ddc05e5d69ff2778f698aa7062370',1,'serial::Serial::setRTS()']]], + ['setstopbits',['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)'],['../classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5',1,'serial::Serial::setStopbits()']]], + ['settimeout',['setTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3',1,'serial::Serial::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4b4be39af3e1c68bc6ac09cb55788c86',1,'serial::Serial::setTimeout(uint32_t inter_byte_timeout, uint32_t read_timeout_constant, uint32_t read_timeout_multiplier, uint32_t write_timeout_constant, uint32_t write_timeout_multiplier)']]], + ['simpletimeout',['simpleTimeout',['../structserial_1_1_timeout.html#aa4fbd72e16f47c9aea9fb3c32ca17828',1,'serial::Timeout']]] +]; diff --git a/doc/1.0/search/functions_74.html b/doc/1.0/search/functions_74.html new file mode 100644 index 0000000..e3c96c3 --- /dev/null +++ b/doc/1.0/search/functions_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/functions_74.js b/doc/1.0/search/functions_74.js new file mode 100644 index 0000000..2a6b2d5 --- /dev/null +++ b/doc/1.0/search/functions_74.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timeout',['Timeout',['../structserial_1_1_timeout.html#a1a454b17f5d653b8e1b04b3ec2fead59',1,'serial::Timeout']]] +]; diff --git a/doc/1.0/search/functions_77.html b/doc/1.0/search/functions_77.html new file mode 100644 index 0000000..8fe9755 --- /dev/null +++ b/doc/1.0/search/functions_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/functions_77.js b/doc/1.0/search/functions_77.js new file mode 100644 index 0000000..585547f --- /dev/null +++ b/doc/1.0/search/functions_77.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['waitforchange',['waitForChange',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#abf091b468bdc0d9d338e51e746e0c397',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09f1dcb8e32cb64188daaf8ac0d40215',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1_serial.html#a419dc984258956a5adb41fb8c86f5449',1,'serial::Serial::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_1serial_1_1_serial_1_1_serial_impl.html#a222136f14876f84fd0d95f47a7d9c541',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a89b50df2562176fd250413833d636d0a',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1_serial.html#aa020880cdff3a370ddc574f594379c3c',1,'serial::Serial::write(const uint8_t *data, size_t size)'],['../classserial_1_1_serial.html#a2c4180b4c7d386c84e9d0e7ef4a267d3',1,'serial::Serial::write(const std::vector< uint8_t > &data)'],['../classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460',1,'serial::Serial::write(const std::string &data)']]], + ['writelock',['writeLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac094e8cb4a5957e1ddeb1d4fdc9d9536',1,'serial::serial::Serial::SerialImpl::writeLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2905e50e9082a757bfafc03356e318ed',1,'serial::serial::Serial::SerialImpl::writeLock()']]], + ['writeunlock',['writeUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afeac86484622bbeb08303e98db24efe0',1,'serial::serial::Serial::SerialImpl::writeUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#adaec2b322f0b0793929da24f5bf09949',1,'serial::serial::Serial::SerialImpl::writeUnlock()']]] +]; diff --git a/doc/1.0/search/functions_7e.html b/doc/1.0/search/functions_7e.html new file mode 100644 index 0000000..fd1d3ce --- /dev/null +++ b/doc/1.0/search/functions_7e.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/functions_7e.js b/doc/1.0/search/functions_7e.js new file mode 100644 index 0000000..e8440ac --- /dev/null +++ b/doc/1.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/doc/1.0/search/mag_sel.png b/doc/1.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/doc/1.0/search/namespaces_73.html b/doc/1.0/search/namespaces_73.html new file mode 100644 index 0000000..5ebf8e4 --- /dev/null +++ b/doc/1.0/search/namespaces_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/namespaces_73.js b/doc/1.0/search/namespaces_73.js new file mode 100644 index 0000000..ed4fe68 --- /dev/null +++ b/doc/1.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/doc/1.0/search/nomatches.html b/doc/1.0/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/doc/1.0/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/doc/1.0/search/search.css b/doc/1.0/search/search.css new file mode 100644 index 0000000..d18c1da --- /dev/null +++ b/doc/1.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/doc/1.0/search/search.js b/doc/1.0/search/search.js new file mode 100644 index 0000000..cef6337 --- /dev/null +++ b/doc/1.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: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111011101000101101111110000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000100110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101001101000101101110010000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 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/doc/1.0/search/search_r.png b/doc/1.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/doc/1.0/search/variables_69.js b/doc/1.0/search/variables_69.js new file mode 100644 index 0000000..c0d7081 --- /dev/null +++ b/doc/1.0/search/variables_69.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['inter_5fbyte_5ftimeout',['inter_byte_timeout',['../structserial_1_1_timeout.html#ada15f2a0ae478cbb62ef79d1633b2b81',1,'serial::Timeout']]] +]; diff --git a/doc/1.0/search/variables_72.html b/doc/1.0/search/variables_72.html new file mode 100644 index 0000000..29b87f0 --- /dev/null +++ b/doc/1.0/search/variables_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/variables_72.js b/doc/1.0/search/variables_72.js new file mode 100644 index 0000000..dd94aea --- /dev/null +++ b/doc/1.0/search/variables_72.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['read_5ftimeout_5fconstant',['read_timeout_constant',['../structserial_1_1_timeout.html#a099244649dec66b6e0548480edeb2b9f',1,'serial::Timeout']]], + ['read_5ftimeout_5fmultiplier',['read_timeout_multiplier',['../structserial_1_1_timeout.html#a64412753eb2edf1621716dd9f1a4e71e',1,'serial::Timeout']]] +]; diff --git a/doc/1.0/search/variables_77.html b/doc/1.0/search/variables_77.html new file mode 100644 index 0000000..25c3e3a --- /dev/null +++ b/doc/1.0/search/variables_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.0/search/variables_77.js b/doc/1.0/search/variables_77.js new file mode 100644 index 0000000..43fa260 --- /dev/null +++ b/doc/1.0/search/variables_77.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['write_5ftimeout_5fconstant',['write_timeout_constant',['../structserial_1_1_timeout.html#accf01b97f83564f4ce3d6e5f63e21006',1,'serial::Timeout']]], + ['write_5ftimeout_5fmultiplier',['write_timeout_multiplier',['../structserial_1_1_timeout.html#a31ddae32907cff9c3d27fa763981317d',1,'serial::Timeout']]] +]; diff --git a/doc/1.0/serial_8cc.html b/doc/1.0/serial_8cc.html new file mode 100644 index 0000000..d86161c --- /dev/null +++ b/doc/1.0/serial_8cc.html @@ -0,0 +1,124 @@ + + + + + +serial: src/serial.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
src/serial.cc File Reference
+
+
+
#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/doc/1.0/serial_8cc__incl.map b/doc/1.0/serial_8cc__incl.map new file mode 100644 index 0000000..7a11706 --- /dev/null +++ b/doc/1.0/serial_8cc__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doc/1.0/serial_8cc__incl.md5 b/doc/1.0/serial_8cc__incl.md5 new file mode 100644 index 0000000..ca4d8e1 --- /dev/null +++ b/doc/1.0/serial_8cc__incl.md5 @@ -0,0 +1 @@ +90ebab7e162d611065ad362f55d24cb1 \ No newline at end of file diff --git a/doc/1.0/serial_8cc__incl.png b/doc/1.0/serial_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..72152d9af3b6fe32be6bb40ba959196b4329b9a6 GIT binary patch literal 27801 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 O6Az`8r3w)yf&T#q#t_>8 literal 0 HcmV?d00001 diff --git a/doc/1.0/serial_8dox.html b/doc/1.0/serial_8dox.html new file mode 100644 index 0000000..c666cfc --- /dev/null +++ b/doc/1.0/serial_8dox.html @@ -0,0 +1,107 @@ + + + + + +serial: doc/serial.dox File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
doc/serial.dox File Reference
+
+
+
+ + + + + + diff --git a/doc/1.0/serial_8h.html b/doc/1.0/serial_8h.html new file mode 100644 index 0000000..55e8a6e --- /dev/null +++ b/doc/1.0/serial_8h.html @@ -0,0 +1,214 @@ + + + + + +serial: include/serial/serial.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
include/serial/serial.h File Reference
+
+
+
#include <limits>
+#include <vector>
+#include <string>
+#include <cstring>
+#include <sstream>
+#include <exception>
+#include <stdexcept>
+#include <serial/v8stdint.h>
+
+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
class  serial::Serial
class  serial::SerialExecption
class  serial::IOException
class  serial::PortNotOpenedException

+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) 2012 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/doc/1.0/serial_8h__dep__incl.map b/doc/1.0/serial_8h__dep__incl.map new file mode 100644 index 0000000..0c1cf0d --- /dev/null +++ b/doc/1.0/serial_8h__dep__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/doc/1.0/serial_8h__dep__incl.md5 b/doc/1.0/serial_8h__dep__incl.md5 new file mode 100644 index 0000000..880bd7b --- /dev/null +++ b/doc/1.0/serial_8h__dep__incl.md5 @@ -0,0 +1 @@ +c98d963b631b13d25afd23d112f3e739 \ No newline at end of file diff --git a/doc/1.0/serial_8h__dep__incl.png b/doc/1.0/serial_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..d7f6ae644f9592792f019d768369f1184f737c37 GIT binary patch literal 15660 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 RMZlmS(jOGW%S4R={~w@ZxP$-z literal 0 HcmV?d00001 diff --git a/doc/1.0/serial_8h__incl.map b/doc/1.0/serial_8h__incl.map new file mode 100644 index 0000000..8c11f01 --- /dev/null +++ b/doc/1.0/serial_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/1.0/serial_8h__incl.md5 b/doc/1.0/serial_8h__incl.md5 new file mode 100644 index 0000000..f84a942 --- /dev/null +++ b/doc/1.0/serial_8h__incl.md5 @@ -0,0 +1 @@ +b5d1de374ff6278767e5c67477d92fc7 \ No newline at end of file diff --git a/doc/1.0/serial_8h__incl.png b/doc/1.0/serial_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..9bdc47e47398f050de7f368b94446e0da2395d70 GIT binary patch literal 19266 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 literal 0 HcmV?d00001 diff --git a/doc/1.0/serial_8h_source.html b/doc/1.0/serial_8h_source.html new file mode 100644 index 0000000..cc522f5 --- /dev/null +++ b/doc/1.0/serial_8h_source.html @@ -0,0 +1,419 @@ + + + + + +serial: include/serial/serial.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in 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>
+00042 #include <cstring>
+00043 #include <sstream>
+00044 #include <exception>
+00045 #include <stdexcept>
+00046 #include <serial/v8stdint.h>
+00047 
+00048 #define THROW(exceptionClass, message) throw exceptionClass(__FILE__, \
+00049 __LINE__, (message) )
+00050 
+00051 namespace serial {
+00052 
+00056 typedef enum {
+00057   fivebits = 5,
+00058   sixbits = 6,
+00059   sevenbits = 7,
+00060   eightbits = 8
+00061 } bytesize_t;
+00062 
+00066 typedef enum {
+00067   parity_none = 0,
+00068   parity_odd = 1,
+00069   parity_even = 2
+00070 } parity_t;
+00071 
+00075 typedef enum {
+00076   stopbits_one = 1,
+00077   stopbits_one_point_five,
+00078   stopbits_two = 2
+00079 } stopbits_t;
+00080 
+00084 typedef enum {
+00085   flowcontrol_none = 0,
+00086   flowcontrol_software
+00087 } flowcontrol_t;
+00088 
+00095 struct Timeout {
+00096 #ifdef max
+00097 # undef max
+00098 #endif
+00099   static uint32_t max() {return std::numeric_limits<uint32_t>::max();}
+00109   static Timeout simpleTimeout(uint32_t timeout) {
+00110     return Timeout(max(), timeout, 0, timeout, 0);
+00111   }
+00112 
+00114   uint32_t inter_byte_timeout;
+00116   uint32_t read_timeout_constant;
+00120   uint32_t read_timeout_multiplier;
+00122   uint32_t write_timeout_constant;
+00126   uint32_t write_timeout_multiplier;
+00127 
+00128   Timeout (uint32_t inter_byte_timeout_=0, uint32_t read_timeout_constant_=0,
+00129            uint32_t read_timeout_multiplier_=0, uint32_t write_timeout_constant_=0,
+00130            uint32_t write_timeout_multiplier_=0)
+00131   : inter_byte_timeout(inter_byte_timeout_),
+00132     read_timeout_constant(read_timeout_constant_),
+00133     read_timeout_multiplier(read_timeout_multiplier_),
+00134     write_timeout_constant(write_timeout_constant_),
+00135     write_timeout_multiplier(write_timeout_multiplier_)
+00136   {}
+00137 };
+00138 
+00142 class Serial {
+00143 public:
+00173   Serial (const std::string &port = "",
+00174           uint32_t baudrate = 9600,
+00175           Timeout timeout = Timeout(),
+00176           bytesize_t bytesize = eightbits,
+00177           parity_t parity = parity_none,
+00178           stopbits_t stopbits = stopbits_one,
+00179           flowcontrol_t flowcontrol = flowcontrol_none);
+00180 
+00182   virtual ~Serial ();
+00183 
+00197   void
+00198   open ();
+00199 
+00204   bool
+00205   isOpen () const;
+00206 
+00208   void
+00209   close ();
+00210 
+00212   size_t
+00213   available ();
+00214 
+00240   size_t
+00241   read (uint8_t *buffer, size_t size);
+00242 
+00251   size_t
+00252   read (std::vector<uint8_t> &buffer, size_t size = 1);
+00253 
+00262   size_t
+00263   read (std::string &buffer, size_t size = 1);
+00264 
+00272   std::string
+00273   read (size_t size = 1);
+00274 
+00285   size_t
+00286   readline (std::string &buffer, size_t size = 65536, std::string eol = "\n");
+00287 
+00297   std::string
+00298   readline (size_t size = 65536, std::string eol = "\n");
+00299 
+00311   std::vector<std::string>
+00312   readlines (size_t size = 65536, std::string eol = "\n");
+00313 
+00325   size_t
+00326   write (const uint8_t *data, size_t size);
+00327 
+00336   size_t
+00337   write (const std::vector<uint8_t> &data);
+00338 
+00347   size_t
+00348   write (const std::string &data);
+00349 
+00358   void
+00359   setPort (const std::string &port);
+00360 
+00367   std::string
+00368   getPort () const;
+00369 
+00404   void
+00405   setTimeout (Timeout &timeout);
+00406 
+00408   void
+00409   setTimeout (uint32_t inter_byte_timeout, uint32_t read_timeout_constant,
+00410               uint32_t read_timeout_multiplier, uint32_t write_timeout_constant,
+00411               uint32_t write_timeout_multiplier)
+00412   {
+00413     Timeout timeout(inter_byte_timeout, read_timeout_constant,
+00414                     read_timeout_multiplier, write_timeout_constant,
+00415                     write_timeout_multiplier);
+00416     return setTimeout(timeout);
+00417   }
+00418 
+00426   Timeout
+00427   getTimeout () const;
+00428 
+00441   void
+00442   setBaudrate (uint32_t baudrate);
+00443 
+00452   uint32_t
+00453   getBaudrate () const;
+00454 
+00463   void
+00464   setBytesize (bytesize_t bytesize);
+00465 
+00472   bytesize_t
+00473   getBytesize () const;
+00474 
+00482   void
+00483   setParity (parity_t parity);
+00484 
+00491   parity_t
+00492   getParity () const;
+00493 
+00501   void
+00502   setStopbits (stopbits_t stopbits);
+00503 
+00510   stopbits_t
+00511   getStopbits () const;
+00512 
+00521   void
+00522   setFlowcontrol (flowcontrol_t flowcontrol);
+00523 
+00530   flowcontrol_t
+00531   getFlowcontrol () const;
+00532 
+00534   void
+00535   flush ();
+00536 
+00538   void
+00539   flushInput ();
+00540 
+00542   void
+00543   flushOutput ();
+00544 
+00546   void
+00547   sendBreak (int duration);
+00548 
+00550   void
+00551   setBreak (bool level = true);
+00552 
+00554   void
+00555   setRTS (bool level = true);
+00556 
+00558   void
+00559   setDTR (bool level = true);
+00560 
+00575   bool
+00576   waitForChange ();
+00577 
+00579   bool
+00580   getCTS ();
+00581 
+00583   bool
+00584   getDSR ();
+00585 
+00587   bool
+00588   getRI ();
+00589 
+00591   bool
+00592   getCD ();
+00593 
+00594 private:
+00595   // Disable copy constructors
+00596   Serial(const Serial&);
+00597   void operator=(const Serial&);
+00598   const Serial& operator=(Serial);
+00599 
+00600   std::string read_cache_; 
+00601 
+00602   // Pimpl idiom, d_pointer
+00603   class SerialImpl;
+00604   SerialImpl *pimpl_;
+00605 
+00606   // Scoped Lock Classes
+00607   class ScopedReadLock;
+00608   class ScopedWriteLock;
+00609 
+00610   // Read common function
+00611   size_t
+00612   read_ (uint8_t *buffer, size_t size);
+00613   // Write common function
+00614   size_t
+00615   write_ (const uint8_t *data, size_t length);
+00616 
+00617 };
+00618 
+00619 class SerialExecption : public std::exception
+00620 {
+00621   // Disable copy constructors
+00622   void operator=(const SerialExecption&);
+00623   const SerialExecption& operator=(SerialExecption);
+00624   const char* e_what_;
+00625 public:
+00626   SerialExecption (const char *description) : e_what_ (description) {}
+00627   SerialExecption (const SerialExecption& other) {
+00628     e_what_ = other.e_what_;
+00629   }
+00630 
+00631   virtual const char* what () const throw ()
+00632   {
+00633     std::stringstream ss;
+00634     ss << "SerialException " << e_what_ << " failed.";
+00635     return ss.str ().c_str ();
+00636   }
+00637 };
+00638 
+00639 class IOException : public std::exception
+00640 {
+00641   // Disable copy constructors
+00642   void operator=(const IOException&);
+00643   const IOException& operator=(IOException);
+00644   std::string file_;
+00645   int line_;
+00646   const char* e_what_;
+00647   int errno_;
+00648 public:
+00649   explicit IOException (std::string file, int line, int errnum)
+00650   : file_(file), line_(line), e_what_ (strerror (errnum)), errno_(errnum) {}
+00651   explicit IOException (std::string file, int line, const char * description)
+00652   : file_(file), line_(line), e_what_ (description), errno_(0) {}
+00653   virtual ~IOException() throw() {}
+00654   IOException (const IOException& other) {
+00655     e_what_ = other.e_what_;
+00656   }
+00657 
+00658   int getErrorNumber () { return errno_; }
+00659 
+00660   virtual const char* what () const throw ()
+00661   {
+00662     std::stringstream ss;
+00663     if (errno_ == 0)
+00664       ss << "IO Exception: " << e_what_;
+00665     else
+00666       ss << "IO Exception (" << errno_ << "): " << e_what_;
+00667     ss << ", file " << file_ << ", line " << line_ << ".";
+00668     return ss.str ().c_str ();
+00669   }
+00670 };
+00671 
+00672 class PortNotOpenedException : public std::exception
+00673 {
+00674   // Disable copy constructors
+00675   void operator=(const PortNotOpenedException&);
+00676   const PortNotOpenedException& operator=(PortNotOpenedException);
+00677   const char * e_what_;
+00678 public:
+00679   PortNotOpenedException (const char * description) : e_what_ (description) {}
+00680   PortNotOpenedException (const PortNotOpenedException& other) {
+00681     e_what_ = other.e_what_;
+00682   }
+00683 
+00684   virtual const char* what () const throw ()
+00685   {
+00686     std::stringstream ss;
+00687     ss << e_what_ << " called before port was opened.";
+00688     return ss.str ().c_str ();
+00689   }
+00690 };
+00691 
+00692 } // namespace serial
+00693 
+00694 #endif
+
+ + + + + + diff --git a/doc/1.0/serial__example_8cc.html b/doc/1.0/serial__example_8cc.html new file mode 100644 index 0000000..27628a1 --- /dev/null +++ b/doc/1.0/serial__example_8cc.html @@ -0,0 +1,307 @@ + + + + + +serial: examples/serial_example.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
examples/serial_example.cc File Reference
+
+
+
#include <string>
+#include <iostream>
+#include <cstdio>
+#include <unistd.h>
+#include "serial/serial.h"
+
+Include dependency graph for serial_example.cc:
+
+
+ + +
+
+ + + + +

+Functions

void my_sleep (unsigned long milliseconds)
int run (int argc, char **argv)
int main (int argc, char **argv)
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int main (int argc,
char ** argv 
)
+
+
+
                                {
+  try {
+    return run(argc, argv);
+  } catch (exception &e) {
+    cerr << "Unhandled Exception: " << e.what() << endl;
+  }
+}
+
+
+
+ +
+
+ + + + + + + + +
void my_sleep (unsigned long milliseconds)
+
+
+
                                          {
+#ifdef _WIN32
+      Sleep(milliseconds); // 100 ms
+#else
+      usleep(milliseconds*1000); // 100 ms
+#endif
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int run (int argc,
char ** argv 
)
+
+
+
{
+  if(argc < 3) {
+    cerr << "Usage: test_serial <serial port address> ";
+    cerr << "<baudrate> [test string]" << endl;
+    return 0;
+  }
+  // Argument 1 is the serial port
+  string port(argv[1]);
+
+  // Argument 2 is the baudrate
+  unsigned long baud = 0;
+  sscanf(argv[2], "%lu", &baud);
+
+  // port, baudrate, timeout in milliseconds
+  serial::Serial my_serial(port, baud, serial::Timeout::simpleTimeout(1000));
+
+  cout << "Is the serial port open?";
+  if(my_serial.isOpen())
+    cout << " Yes." << endl;
+  else
+    cout << " No." << endl;
+
+  // Get the Test string
+  int count = 0;
+  string test_string;
+  if (argc == 4) {
+    test_string = argv[3];
+  } else {
+    test_string = "Testing.";
+  }
+
+  // Test the timeout, there should be 1 second between prints
+  cout << "Timeout == 1000ms, asking for 1 more byte than written." << endl;
+  while (count < 10) {
+    size_t bytes_wrote = my_serial.write(test_string);
+
+    string result = my_serial.read(test_string.length()+1);
+
+    cout << "Iteration: " << count << ", Bytes written: ";
+    cout << bytes_wrote << ", Bytes read: ";
+    cout << result.length() << ", String read: " << result << endl;
+
+    count += 1;
+  }
+
+  // Test the timeout at 250ms
+  my_serial.setTimeout(serial::Timeout::max(), 250, 0, 250, 0);
+  count = 0;
+  cout << "Timeout == 250ms, asking for 1 more byte than written." << endl;
+  while (count < 10) {
+    size_t bytes_wrote = my_serial.write(test_string);
+
+    string result = my_serial.read(test_string.length()+1);
+
+    cout << "Iteration: " << count << ", Bytes written: ";
+    cout << bytes_wrote << ", Bytes read: ";
+    cout << result.length() << ", String read: " << result << endl;
+
+    count += 1;
+  }
+
+  // Test the timeout at 250ms, but asking exactly for what was written
+  count = 0;
+  cout << "Timeout == 250ms, asking for exactly what was written." << endl;
+  while (count < 10) {
+    size_t bytes_wrote = my_serial.write(test_string);
+
+    string result = my_serial.read(test_string.length());
+
+    cout << "Iteration: " << count << ", Bytes written: ";
+    cout << bytes_wrote << ", Bytes read: ";
+    cout << result.length() << ", String read: " << result << endl;
+
+    count += 1;
+  }
+
+  // Test the timeout at 250ms, but asking for 1 less than what was written
+  count = 0;
+  cout << "Timeout == 250ms, asking for 1 less than was written." << endl;
+  while (count < 10) {
+    size_t bytes_wrote = my_serial.write(test_string);
+
+    string result = my_serial.read(test_string.length()-1);
+
+    cout << "Iteration: " << count << ", Bytes written: ";
+    cout << bytes_wrote << ", Bytes read: ";
+    cout << result.length() << ", String read: " << result << endl;
+
+    count += 1;
+  }
+
+  return 0;
+}
+
+
+
+
+ + + + + + diff --git a/doc/1.0/serial__example_8cc__incl.map b/doc/1.0/serial__example_8cc__incl.map new file mode 100644 index 0000000..e416595 --- /dev/null +++ b/doc/1.0/serial__example_8cc__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/1.0/serial__example_8cc__incl.md5 b/doc/1.0/serial__example_8cc__incl.md5 new file mode 100644 index 0000000..41f231c --- /dev/null +++ b/doc/1.0/serial__example_8cc__incl.md5 @@ -0,0 +1 @@ +ef764addfbad6889cc99705661c2273d \ No newline at end of file diff --git a/doc/1.0/serial__example_8cc__incl.png b/doc/1.0/serial__example_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..90473f84df4b053ddbdf5b9d003886f10823ee9e GIT binary patch literal 29764 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 + + + + +serial: serial::Timeout Struct Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::Timeout Struct Reference
+
+
+ +

#include <serial.h>

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

+Public Member Functions

 Timeout (uint32_t inter_byte_timeout_=0, uint32_t read_timeout_constant_=0, uint32_t read_timeout_multiplier_=0, uint32_t write_timeout_constant_=0, uint32_t write_timeout_multiplier_=0)

+Static Public Member Functions

static uint32_t max ()
static Timeout simpleTimeout (uint32_t timeout)

+Data Fields

uint32_t inter_byte_timeout
uint32_t read_timeout_constant
uint32_t read_timeout_multiplier
uint32_t write_timeout_constant
uint32_t write_timeout_multiplier
+

Detailed Description

+

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

+

In order to disable the interbyte timeout, set it to Timeout::max().

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
serial::Timeout::Timeout (uint32_t inter_byte_timeout_ = 0,
uint32_t read_timeout_constant_ = 0,
uint32_t read_timeout_multiplier_ = 0,
uint32_t write_timeout_constant_ = 0,
uint32_t 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_)
+  {}
+
+
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
static uint32_t serial::Timeout::max () [inline, static]
+
+ +
+ +
+
+ + + + + + + + +
static Timeout serial::Timeout::simpleTimeout (uint32_t timeout) [inline, static]
+
+
+

Convenience function to generate Timeout structs using a single absolute timeout.

+
Parameters:
+ + +
timeoutA long that defines the time in milliseconds until a timeout occurs after a call to read or write is made.
+
+
+
Returns:
Timeout struct that represents this simple timeout provided.
+
                                                 {
+    return Timeout(max(), timeout, 0, timeout, 0);
+  }
+
+
+
+

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/doc/1.0/structserial_1_1timeout__t.html b/doc/1.0/structserial_1_1timeout__t.html new file mode 100644 index 0000000..93fc54b --- /dev/null +++ b/doc/1.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/doc/1.0/tab_a.png b/doc/1.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/doc/1.0/tab_b.png b/doc/1.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/doc/1.0/tab_s.png b/doc/1.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/doc/1.0/tabs.css b/doc/1.0/tabs.css new file mode 100644 index 0000000..2192056 --- /dev/null +++ b/doc/1.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/doc/1.0/unix_8cc.html b/doc/1.0/unix_8cc.html new file mode 100644 index 0000000..5710b40 --- /dev/null +++ b/doc/1.0/unix_8cc.html @@ -0,0 +1,187 @@ + + + + + +serial: src/impl/unix.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in 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/doc/1.0/unix_8cc__incl.map b/doc/1.0/unix_8cc__incl.map new file mode 100644 index 0000000..84ddac5 --- /dev/null +++ b/doc/1.0/unix_8cc__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doc/1.0/unix_8cc__incl.md5 b/doc/1.0/unix_8cc__incl.md5 new file mode 100644 index 0000000..1097a78 --- /dev/null +++ b/doc/1.0/unix_8cc__incl.md5 @@ -0,0 +1 @@ +6fe186826ba1650b64f7ddad091f4012 \ No newline at end of file diff --git a/doc/1.0/unix_8cc__incl.png b/doc/1.0/unix_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..2abfad2e239e5f46b5f79f1bba21563c43d13e91 GIT binary patch literal 78517 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 Sn_A8J%OxE{?NUvL@P7labL1HS literal 0 HcmV?d00001 diff --git a/doc/1.0/unix_8h.html b/doc/1.0/unix_8h.html new file mode 100644 index 0000000..f92fa2a --- /dev/null +++ b/doc/1.0/unix_8h.html @@ -0,0 +1,151 @@ + + + + + +serial: include/serial/impl/unix.h File Reference + + + + + + + + + + + +

+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in 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) 2012 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/doc/1.0/unix_8h__dep__incl.map b/doc/1.0/unix_8h__dep__incl.map new file mode 100644 index 0000000..9716d93 --- /dev/null +++ b/doc/1.0/unix_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/1.0/unix_8h__dep__incl.md5 b/doc/1.0/unix_8h__dep__incl.md5 new file mode 100644 index 0000000..604000a --- /dev/null +++ b/doc/1.0/unix_8h__dep__incl.md5 @@ -0,0 +1 @@ +5404c7ca3dbfca28900fc5af87992483 \ No newline at end of file diff --git a/doc/1.0/unix_8h__dep__incl.png b/doc/1.0/unix_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..bd648c823d8ac56a5f9d80f137521987453e3213 GIT binary patch literal 6453 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

>@6iT-0QemQQjmEmUHaT8;Qs(nU5EDo literal 0 HcmV?d00001 diff --git a/doc/1.0/unix_8h__incl.map b/doc/1.0/unix_8h__incl.map new file mode 100644 index 0000000..c6ec8dc --- /dev/null +++ b/doc/1.0/unix_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/1.0/unix_8h__incl.md5 b/doc/1.0/unix_8h__incl.md5 new file mode 100644 index 0000000..706bd41 --- /dev/null +++ b/doc/1.0/unix_8h__incl.md5 @@ -0,0 +1 @@ +c644a77c41f65cf3d129ecef9919893c \ No newline at end of file diff --git a/doc/1.0/unix_8h__incl.png b/doc/1.0/unix_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..c3972bb4ede26ba743c7ff53f4a411babe8d1e30 GIT binary patch literal 24535 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 literal 0 HcmV?d00001 diff --git a/doc/1.0/unix_8h_source.html b/doc/1.0/unix_8h_source.html new file mode 100644 index 0000000..d74d303 --- /dev/null +++ b/doc/1.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 written in 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 (uint8_t *buf, size_t size = 1);
+00078 
+00079   size_t
+00080   write (const uint8_t *data, size_t length);
+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 &timeout);
+00126 
+00127   Timeout
+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 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/doc/1.0/v8stdint_8h.html b/doc/1.0/v8stdint_8h.html new file mode 100644 index 0000000..2e363d2 --- /dev/null +++ b/doc/1.0/v8stdint_8h.html @@ -0,0 +1,124 @@ + + + + + +serial: include/serial/v8stdint.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
include/serial/v8stdint.h File Reference
+
+
+
#include <stddef.h>
+#include <stdio.h>
+#include <stdint.h>
+
+Include dependency graph for v8stdint.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + +
+
+

Go to the source code of this file.

+
+ + + + + + diff --git a/doc/1.0/v8stdint_8h__dep__incl.map b/doc/1.0/v8stdint_8h__dep__incl.map new file mode 100644 index 0000000..bb2cdf6 --- /dev/null +++ b/doc/1.0/v8stdint_8h__dep__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/doc/1.0/v8stdint_8h__dep__incl.md5 b/doc/1.0/v8stdint_8h__dep__incl.md5 new file mode 100644 index 0000000..bdb0b26 --- /dev/null +++ b/doc/1.0/v8stdint_8h__dep__incl.md5 @@ -0,0 +1 @@ +af57361690e99b803f0462c8bdb7cff4 \ No newline at end of file diff --git a/doc/1.0/v8stdint_8h__dep__incl.png b/doc/1.0/v8stdint_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..bb175507e82497a865879384ea7639dc7fe18f1d GIT binary patch literal 18453 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 literal 0 HcmV?d00001 diff --git a/doc/1.0/v8stdint_8h__incl.map b/doc/1.0/v8stdint_8h__incl.map new file mode 100644 index 0000000..8be6a30 --- /dev/null +++ b/doc/1.0/v8stdint_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/doc/1.0/v8stdint_8h__incl.md5 b/doc/1.0/v8stdint_8h__incl.md5 new file mode 100644 index 0000000..1ca1357 --- /dev/null +++ b/doc/1.0/v8stdint_8h__incl.md5 @@ -0,0 +1 @@ +f6bf6cb6422db640ba7e37d5916453b2 \ No newline at end of file diff --git a/doc/1.0/v8stdint_8h__incl.png b/doc/1.0/v8stdint_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..00352a8e8dbef9a06009e9d1a732f88f3e232114 GIT binary patch literal 6227 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 literal 0 HcmV?d00001 diff --git a/doc/1.0/v8stdint_8h_source.html b/doc/1.0/v8stdint_8h_source.html new file mode 100644 index 0000000..895850c --- /dev/null +++ b/doc/1.0/v8stdint_8h_source.html @@ -0,0 +1,164 @@ + + + + + +serial: include/serial/v8stdint.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
include/serial/v8stdint.h
+
+
+Go to the documentation of this file.
00001 // This header is from the v8 google project: 
+00002 // http://code.google.com/p/v8/source/browse/trunk/include/v8stdint.h
+00003 
+00004 // Copyright 2012 the V8 project authors. All rights reserved.
+00005 // Redistribution and use in source and binary forms, with or without
+00006 // modification, are permitted provided that the following conditions are
+00007 // met:
+00008 //
+00009 //     * Redistributions of source code must retain the above copyright
+00010 //       notice, this list of conditions and the following disclaimer.
+00011 //     * Redistributions in binary form must reproduce the above
+00012 //       copyright notice, this list of conditions and the following
+00013 //       disclaimer in the documentation and/or other materials provided
+00014 //       with the distribution.
+00015 //     * Neither the name of Google Inc. nor the names of its
+00016 //       contributors may be used to endorse or promote products derived
+00017 //       from this software without specific prior written permission.
+00018 //
+00019 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+00020 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+00021 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+00022 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+00023 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+00024 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+00025 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+00026 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+00027 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+00028 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+00029 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+00030 
+00031 // Load definitions of standard types.
+00032 
+00033 #ifndef V8STDINT_H_
+00034 #define V8STDINT_H_
+00035 
+00036 #include <stddef.h>
+00037 #include <stdio.h>
+00038 
+00039 #if defined(_WIN32) && !defined(__MINGW32__)
+00040 
+00041 typedef signed char int8_t;
+00042 typedef unsigned char uint8_t;
+00043 typedef short int16_t;  // NOLINT
+00044 typedef unsigned short uint16_t;  // NOLINT
+00045 typedef int int32_t;
+00046 typedef unsigned int uint32_t;
+00047 typedef __int64 int64_t;
+00048 typedef unsigned __int64 uint64_t;
+00049 // intptr_t and friends are defined in crtdefs.h through stdio.h.
+00050 
+00051 #else
+00052 
+00053 #include <stdint.h>
+00054 
+00055 #endif
+00056 
+00057 #endif  // V8STDINT_H_
+
+ + + + + + diff --git a/doc/1.0/win_8cc.html b/doc/1.0/win_8cc.html new file mode 100644 index 0000000..b1e1788 --- /dev/null +++ b/doc/1.0/win_8cc.html @@ -0,0 +1,115 @@ + + + + + +serial: src/impl/win.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
src/impl/win.cc File Reference
+
+
+
#include "serial/impl/win.h"
+
+Include dependency graph for win.cc:
+
+
+ + +
+
+ + + + + + diff --git a/doc/1.0/win_8cc__incl.map b/doc/1.0/win_8cc__incl.map new file mode 100644 index 0000000..9bcf43b --- /dev/null +++ b/doc/1.0/win_8cc__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doc/1.0/win_8cc__incl.md5 b/doc/1.0/win_8cc__incl.md5 new file mode 100644 index 0000000..f28adf1 --- /dev/null +++ b/doc/1.0/win_8cc__incl.md5 @@ -0,0 +1 @@ +ac617508eef9f03d290dd09ec479c335 \ No newline at end of file diff --git a/doc/1.0/win_8cc__incl.png b/doc/1.0/win_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..13da98581b1f7ac33d39490fa7d8bb4265c0f8e5 GIT binary patch literal 26059 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 VOj0~vYZ~56peV0)zYJj%_&;(n3U>ei literal 0 HcmV?d00001 diff --git a/doc/1.0/win_8h.html b/doc/1.0/win_8h.html new file mode 100644 index 0000000..6ebc6d2 --- /dev/null +++ b/doc/1.0/win_8h.html @@ -0,0 +1,136 @@ + + + + + +serial: include/serial/impl/win.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
include/serial/impl/win.h File Reference
+
+
+
#include "serial/serial.h"
+#include "windows.h"
+
+Include dependency graph for win.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
+
+ + + + + + diff --git a/doc/1.0/win_8h__dep__incl.map b/doc/1.0/win_8h__dep__incl.map new file mode 100644 index 0000000..2ae6fa6 --- /dev/null +++ b/doc/1.0/win_8h__dep__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/1.0/win_8h__dep__incl.md5 b/doc/1.0/win_8h__dep__incl.md5 new file mode 100644 index 0000000..977746a --- /dev/null +++ b/doc/1.0/win_8h__dep__incl.md5 @@ -0,0 +1 @@ +dbf5e18357478e7fe097f14bb0558aea \ No newline at end of file diff --git a/doc/1.0/win_8h__dep__incl.png b/doc/1.0/win_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..682dbc160596db70d106080e3639dc5bcfc3773e GIT binary patch literal 4269 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 NcUN1bMA`b;e*n`2Ihz0g literal 0 HcmV?d00001 diff --git a/doc/1.0/win_8h__incl.map b/doc/1.0/win_8h__incl.map new file mode 100644 index 0000000..c6ec8dc --- /dev/null +++ b/doc/1.0/win_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/1.0/win_8h__incl.md5 b/doc/1.0/win_8h__incl.md5 new file mode 100644 index 0000000..f2d5af9 --- /dev/null +++ b/doc/1.0/win_8h__incl.md5 @@ -0,0 +1 @@ +bffdfff16bef6b02682a3561852c9429 \ No newline at end of file diff --git a/doc/1.0/win_8h__incl.png b/doc/1.0/win_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..4ded21cb9d2ea2b8ebcbcd53420338ed3c6f3e11 GIT binary patch literal 24658 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 literal 0 HcmV?d00001 diff --git a/doc/1.0/win_8h_source.html b/doc/1.0/win_8h_source.html new file mode 100644 index 0000000..ad27599 --- /dev/null +++ b/doc/1.0/win_8h_source.html @@ -0,0 +1,268 @@ + + + + + +serial: include/serial/impl/win.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platform serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
include/serial/impl/win.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 #include "windows.h"
+00043 
+00044 namespace serial {
+00045 
+00046 using std::string;
+00047 using std::invalid_argument;
+00048 
+00049 using serial::SerialExecption;
+00050 using serial::IOException;
+00051 
+00052 class serial::Serial::SerialImpl {
+00053 public:
+00054   SerialImpl (const string &port,
+00055               unsigned long baudrate,
+00056               bytesize_t bytesize,
+00057               parity_t parity,
+00058               stopbits_t stopbits,
+00059               flowcontrol_t flowcontrol);
+00060 
+00061   virtual ~SerialImpl ();
+00062 
+00063   void
+00064   open ();
+00065 
+00066   void
+00067   close ();
+00068 
+00069   bool
+00070   isOpen () const;
+00071 
+00072   size_t
+00073   available ();
+00074 
+00075   size_t
+00076   read (uint8_t *buf, size_t size = 1);
+00077 
+00078   size_t
+00079   write (const uint8_t *data, size_t length);
+00080 
+00081   void
+00082   flush ();
+00083 
+00084   void
+00085   flushInput ();
+00086 
+00087   void
+00088   flushOutput ();
+00089 
+00090   void
+00091   sendBreak (int duration);
+00092 
+00093   void
+00094   setBreak (bool level);
+00095 
+00096   void
+00097   setRTS (bool level);
+00098 
+00099   void
+00100   setDTR (bool level);
+00101 
+00102   bool
+00103   waitForChange ();
+00104 
+00105   bool
+00106   getCTS ();
+00107 
+00108   bool
+00109   getDSR ();
+00110 
+00111   bool
+00112   getRI ();
+00113 
+00114   bool
+00115   getCD ();
+00116 
+00117   void
+00118   setPort (const string &port);
+00119 
+00120   string
+00121   getPort () const;
+00122 
+00123   void
+00124   setTimeout (Timeout &timeout);
+00125 
+00126   Timeout
+00127   getTimeout () const;
+00128 
+00129   void
+00130   setBaudrate (unsigned long baudrate);
+00131 
+00132   unsigned long
+00133   getBaudrate () const;
+00134 
+00135   void
+00136   setBytesize (bytesize_t bytesize);
+00137 
+00138   bytesize_t
+00139   getBytesize () const;
+00140 
+00141   void
+00142   setParity (parity_t parity);
+00143 
+00144   parity_t
+00145   getParity () const;
+00146 
+00147   void
+00148   setStopbits (stopbits_t stopbits);
+00149 
+00150   stopbits_t
+00151   getStopbits () const;
+00152 
+00153   void
+00154   setFlowcontrol (flowcontrol_t flowcontrol);
+00155 
+00156   flowcontrol_t
+00157   getFlowcontrol () const;
+00158 
+00159   void
+00160   readLock ();
+00161 
+00162   void
+00163   readUnlock ();
+00164 
+00165   void
+00166   writeLock ();
+00167 
+00168   void
+00169   writeUnlock ();
+00170 
+00171 protected:
+00172   void reconfigurePort ();
+00173 
+00174 private:
+00175   string port_;               // Path to the file descriptor
+00176   HANDLE fd_;
+00177 
+00178   bool is_open_;
+00179 
+00180   Timeout timeout_;           // Timeout for read operations
+00181   unsigned long baudrate_;    // Baudrate
+00182 
+00183   parity_t parity_;           // Parity
+00184   bytesize_t bytesize_;       // Size of the bytes
+00185   stopbits_t stopbits_;       // Stop Bits
+00186   flowcontrol_t flowcontrol_; // Flow Control
+00187 
+00188   // Mutex used to lock the read functions
+00189   HANDLE read_mutex;
+00190   // Mutex used to lock the write functions
+00191   HANDLE write_mutex;
+00192 };
+00193 
+00194 }
+00195 
+00196 #endif // SERIAL_IMPL_WINDOWS_H
+
+ + + + + + diff --git a/doc/1.0/windows_8cc.html b/doc/1.0/windows_8cc.html new file mode 100644 index 0000000..f0fffd0 --- /dev/null +++ b/doc/1.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/doc/1.0/windows_8cc__incl.map b/doc/1.0/windows_8cc__incl.map new file mode 100644 index 0000000..107faff --- /dev/null +++ b/doc/1.0/windows_8cc__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/1.0/windows_8cc__incl.md5 b/doc/1.0/windows_8cc__incl.md5 new file mode 100644 index 0000000..dd5d047 --- /dev/null +++ b/doc/1.0/windows_8cc__incl.md5 @@ -0,0 +1 @@ +dc52277cd82bceaede8f65892b4e9fa0 \ No newline at end of file diff --git a/doc/1.0/windows_8cc__incl.png b/doc/1.0/windows_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..14550896beda291fb6346a0195f5d19686ab0667 GIT binary patch literal 16610 zcmdVCby$_}vo5|&LRvsT0f9wJ2nt9GqI640NjC`6sdPw#h%`udH;90Mh?I19clU4j ze7}32eVy~$`|op>T;jE0z0dnT&&)md%-o~Dtn@2PbP{v~0)Z(e`a&LoxQ>B9T)TyO z9o|9Qpu>c}Z|g|BdV#pS`jb?b5rIHFM2Nk3uILcAK5j2~*YFatMXT*YjOtAHP=c7j zgX=q5CS6hr*GbNa9kXA_q6!KMl9Cv{O}NYoCzR{i+kfJDFm9*n7G2vi_CQ{n zn{5fa=k4vy#KiRM*)tdZ23_wboSa&<4s!2)wsu6;i`JM(%E)y6{=KGRhH&``>&X%M z^bZUK$Shh{sWab8OwP_0pHsN)IlZ}QsiRYD*hL1HYP2B>p*_;??(O|yP$EKTW^S%u zq=HA)*bzyV=MV&|6cx$oaXiPkPUQ1iNhv@k+9Oln%Mizy*x&rt2lS7~YZvp){&(38 z|D2uec4bJ#eojaT#>vjgLPJNdwwnD}YTTz;=M)te_kfU)!+vAT&(H7u;-6`W?c+1U zt^`a{?$X*?m)>t;ot>Tf`ufkGKQAgOnx3B4*49SBCgXKEdM7H{2G>7a8}`Kc_3PJ3 z!{uqi`RSodB0nDziR9*fGv~rY_r4{7;8h5j2&xrV+|<L8cZO!Lvv zQF{cfuaA%0<@uq*hU3wewu8gbH?asprZ-3~Edj?Jy_LUNcL*PSd1Bm4?tb?15+_VE z%%Q^%$MT*Us*4Y;5f5!8)TlRbY#_gai-l@WuJ5gt#~vzf0TnJGYDD#jUL^iD+i98$PE! zR0>56jXLcn9|A_D=9ZS0pFjEC&W?K1Bv2{n35ZEZ0xCWgVw3axmHu8GETAqYKxE$v zzj=h>qYcNST%c)gWc20P`-RPhOXj1c)q;kD?QO@srLe55ukyZqZ3gPj_;5o-Ml*E8t#VUS1v;7+6!|EGO5~5zVr{ zw`b6mke8ElA0K~iYU%?{wew+qSQsuDLD0+l>;@PUu}o={Y%!95*($$%Lxz3UW+lQK zMMv~s7rTDeG&16}ztS%zCf1iBbGg&OlE~{wd4wuZr=+O3w=u59+A}#x?vAHuZN0NK z-PCgD2?xhZ)M?sR_wV1oau{En-v0ilPo6YqeEIs7c$?zwEg~fq zv={KL6hpdJ|H!4jx%|3dnP52LGBYb{duwZ`!QEY5eQc>G)%|pxGtBKeY-?|?d}Bj2 zvqpAyw$teWQ_xHH$B%JYLM1vKa6{wYlU{xZMX$j*K?6TLO2+>V=cGi zv>W}#rlt)J+cRg!yO@}maCBf3_b^xq==(Z40y_<`iC7U7a~m5IBO?skhF)CC%7X>< zCnmE$gMR+}`St5p-PT|c)T+u#m(%r%)qy;APR@dY0&*TZGg;Zty#Qo6hS1VbkuE@6 zet!N8)9lR5f8O>4?KT=km?-#K^hM@7jHZCVz$$f%M1EIMWO%b9*8^z{jd-vOLl4K@ zh0g5PIr*A(C(}(R=-w#>1(Pwo-*RA~yu7lKlDqXp{X;`4^71+WqHo_ml%OCrjX5aq z2YZ=z#S_f>&VshZ0uc;+xOcIqw|7O)2WJ3tyh@Sb_1Q>dLPA1LPR^RQO|Jgjs1m|P zU?~C-ker&@m;e3=LXZLiNz1!;?~e8dwFpRWA(Ajdkr2;tAR_%A!A^L!x0R>f0-;N zy8pq%Bu!cpL@X60$^4fP4Zi?E95wtVd=vWb*Z;3k{r|#`;Q43=1Ybj_@;PkTZBEp9 zxR(_F%FD~TeH;I5^10`lQtp?eq;AAg%wGah1Y&*bXxsVrEUD0?OG#F~0r~|qU8WE6 z+6R}$d730~Az>7BLsV@Nk~u%rM2ldQ4`kTkH)W|^Pv0CY>%OE6YZfpuo|Z{i>p!Qs z)?IS7zXm5ZxXVdR_1W z4xK<(S9fmNSeWK=we@C*ueUd*qT;_lu@b{S{;E>VLy`uYM9)xP$lfg)UL1?|pV z;#n`L*oC}8Bg9e{U?l4^RTX*-h08F$G3FvUUV$;(TMhPNBM8(hp%z8jl95r;AHU07|)SmSjaxdToUWNClPs{rmus_>gExDxpZH zdO$qMM1GAPIRruxZ}0zPk^gCLOGzs$E7TI7-*G+gPlVv`NVWJ|RTc4Nbf-aqMvc-5 zrFpoDfuRS!)xz(X%F4>%78;G$uloUf)YQ~!Qr;n|@sViV&mUmXQd4_(ElQk~78O|? zZj5`Bu*XXSy91&Zi~Kws^H2myOAF-Xn{JWV;r49n4HT>`huVC)2OpSWQyzNZBz6^K zX5u7jYH6{!`RJDnn{kYejC^f;D@%vpxcBudNs2Q&fKj?+3}wBjscFts^flimV-piR z)zFT4U09tZBr@td3+<+1S0*T^j z92^{!UKZok^RQ>|SqqDLvthQd9Y@}Y&R9-iA)%XrweFXiYHH4{!K9x*e||z@-k<&2 zbTI!Z8ynk`C+f8hkA;?&`!b}Zr3EgIQiFnmii);>$FPh18T4Rl4IzgR>*R$K*wQ;V zs8wQs$?ut$x8CH7?QQymmDSJR|MAnOX+1_47Z(m2VxppjrKR8GvxI%In3$P=M%US` zf32#jDkxxy5hG~kV}S4Y2rE)n^R*Ew@Oe26HxqjmFgcDGBQ zAUm7e?Tkx^4vG9$T+9aXpF;8VYwtw8drWVdr{4i1Twh;LO--f#T;+Od=kD%~(PS}M zp9kS^bv001#mR{~O5EJo7&q%NC1nci-0|+>!oq_4`To7YmK0e!wQ{qpf`Zm2zfYeY z(bFf((kbVwH?m?BIDt79DC|ZnsIlLq^uoi#gTx0Y=VOf29-|V2PQ1M(3n0Q{l~#~;dEgznT)=r! zQBne}v9`7@EiHYKKuADN&az$I{WIvkl%%APkPwd0oqNnr*xB!3VEpawZfkFEG#o0_ z_DoMtkBaL5;eDq-vyP$Y_texBfS@pk5dvi1LU~3D9{-Y!fEfP62JbZj|vN2L7AtfcH=i}w&RanTnoz3*<5suJN z)>wNxTB0ar*j5LRkB<)x4b9Pu`}bp4R!sc$tE;MFVq*ndPoB`z8}H1u-?)t-DlJ|A zeo^|}yF!N`NLY`^@zK3I=6jd-z|`*WgJFuG65!)cxlgUFt^Mlg7|j*cVGjV~Z@%mv z7+A2bnqfyILAvU)0zW)IJ4*noR#knb`|}f+2N-^AOboERdjtdo_pV+U-@dJlR)l1F z0jbQ)%w$x~hwMhH+D1%SS^22%9*d?5SiYKCAPb$tWhU#IyT&9?vTp3{x%Rs#C@3jx zo}QkTFh4s03kOLE#zpARLhm2Oei$BhlfnQMXt@P&r zM=VnfYc`0~cfBTST{!5rA}=p5BrFV=1p5b<+%A%YQwFCwvfWKdNdZ#;ew2cTe&NrB%ki0lLe(5HnRsH!;ta))4`vKPnoL}wjRW8Rnl~%KUzc8?{F2Kp^>gphG z1N?D@%#oIs_KL594YIMbv#3{o&<55eZ(_nAWHi(44}>3FlL3;msKqKfKVmxw!$)AZ5bE#RWu3m!*Rw@m27H7y)-TutQQ(Qa)bZ z&n#NfibA5Ieqb|sd3kkp=WqlK#|yD-ZEZmR&lFOy{5h6aR=^?-HpZR5f4BzdrBQ8@ zb;Y(@KM^PtU{z!2kC9h2O?kW?l)b*?%w|Axp8%?!CXk{R7Zw&46&aVLcz9fAh!Rhe#}xun3eWmOq-+qdmsUDXMN3OdT|GA= z!%$D}?{vxtVAgBM=?b(2rY9od#O*gHo^f$?8$BWJpfLG~6`?=><=L4))J#v1%efP)4;yPzt6>T1-K(GZ+yfSlZgqGb0Nv;Qfpq2!| z6`#}({b87>8HXD1*@xu+W1+G!J0~alk*d%Wo9yId?e=hLCf1FvSQ$;~7bIPE$Au0>@L_sm70b%XihrXCV&4$E-X>*ZQwn$uWume&TWf1Jeqeb0EIIy*&BAIC^yG}YGD>geho zySNz}XVurc!6x#**U%vK(FRn+L`7YCr$J0iEYI+RRkD(~QJlhy|8%Vc3O7*CfeNHT zhO}*c-W66$TyKNA9Rx#PEYj@!e9a=Amhl>UTp_4l0xwegF9qWR#h@|SNVJSiWe=!q-KXIzBU)xT7{|MFxt4{p>{d;Jr zGBXoZK+FATD;ci!AG8FDsm@MLlwK!$$AdS%L(yE@*x1<%>Xjj8EaX04LBcOJ>sThdprh>$E=dt#Wn-I_?BqYem6QMK>sf_|1zO(Zw z7}4)Ufd)8P*f-b?sA|$OP#}@b{rx~81|UlS+A!&|E2XFR?QLjIl5ondtypemX{n+^ z0_J^=Ddi%>QFG%d@`I!(Qa&~Wy_I!seYC=iqsIO6!s7zrB?}z|C8f_$q6-R=iX{Nn zC!3|n5EX#Kz{prqT8hss9&FpLB8Sq}tAxlzhq8~g@Ktp{qa|Z?Wd#ba9V&kD@$plZ zU|IP&5 z1q9;`Y@MB~i?yBqmDAjeK@+jQxcJ2UtG#S!Y;tmN^YOE|fiGW1PY);i`ug6~aOjOZ zv0UzIdRtU^aiR9|)4PlFL)GHu-RT?eoBcYq-1)4JcedH`g=}pBC&hfRCo_8X7P`pK zj~AOtOGmg`b{)GwMKrdFNie3%+n$}rpP$D=ko(<9y(ofE#Dy|~Rae5iM%B*A zNZB9(0cJu%d0)CC3X1a^Rk^fB)^M9lYWa{cv1szzHF`Ye=Kg9vQ0#gdba@dS7FYYT z`Gw5S?^xt+g~okRJoc1OGK#Rm^^#RpJ%?MBPH@rFNx59FNL~0%oSsGBSMV_<!6Z=Bw`UG3;F)VAsbeP}!=MR$CrTd%M z4R!TL-&msJHR>(K)8^*lAU@_O%aoR|ho$A$)@JvlR)~mrLq!*Lm}+kO=q}Bffm!ao z`#f3)Y404ek5&s_85o>Qx|4IgPcNvh&Yk7?8e7GpiI1c)7^@5e#JAK*;WUXfeVa6z zDVKk8GGfkx{b2{%I(qxlH+FaCqwg`-ib^nYJnp%3XZI`r_-J2WdFL%t)7Wy0I>P&> zP$K8$b}CLxELn^C6YmV&1m?$9RbStnzMQFZdJRpZ{PWXAFE0$EL66Gb-fDqM$rY9C z?{%(fR;PA9JyD*8kS}Iug`r^E5k3ClIL3wjs@3kS@|xf@)YLhia9A^Ii1WE$IGUJH zc&9vet8Lv|=5O+O_RD%;Vf*M+2+ifeC=**usY!qHL4t|ptOf^Y9q+!B|dB?)e$3a7~sA0(S9dLMXW`!%jGCO)({g1d(q(Hvd}D&`?rd?(>P7 z*Yzu8e9=*_`7IMBcjjj^72D5;UU04M#&a7r`LvTV zUQT(d-ItkGdhxIp8--7UK4_}2M`E5z>XCtwi3h&(0G#ht1pKV>BmbeZnnb+FA z^k&!7_3huki)-waZ7#CUM=J=PKX0%YW-~unqlkYbo>W+9usOkF_=nfl=80P6yDK`Z z&L*p^jTxWtJj0OJafhs_@Z$|W z&w<>SzcF`Spe92iKU{*{{PPd_;~#14^Qh3#oo6>pU?a*gexkZr8ro80ALV{##lz3v z-`?)B+?ym8ani9WF6YV@*x07cYK?by(&gy;+IXzbWICtyx4=&o7XMn4DV`YCw6)c> zu@O>N7oV(G>giGN!CLQYM}7Bc-|;`R0BUa>K7MQ%8I66wccM=lh-YN65KL0m+12F; zeWe`+g@?2mlr#&{E-u+6CCA~^JCX#Vxdl)(ZR+ZxXYFQsn50F^{usgLf!r2bIs?`J~%yqvz{^ftT?tQd1}Ur3DTAcFVmw}O`=0gs{|p+#C|e}Db@aYT4AI9{ziOHNVP?3&rfkWV`Y<ASJ1~sjfOawb?KqYx(m0C^a`kBYb?U$~Q33)N=gI zgsnZTo?-Omh4V~*PQmFx+1a%3_u%o?K^m-#{o#^YKvIhdNr>Z~MMWE1)6&7E#SS}jt`0{N!oCZ)P@I2N z=zW}Yml=>K;uWZTqec zYE|1?de_zQ7HIkFvRWJb9&(>)9)yFaE~V6l&|hQUx4efzPJY_fhUVrbJ+5F0vAWJ# zwZhVnhFYIJ#;mr$xfyjaS(ub(3y0xK!;$P%tpf{^^RsfASG#QM1XNUvcL~TWS9gq+ zl}R=ET3)P`Pzapk_lmqmRV$ooUL9;X+{iQA?G)OH3YV`m?3&DiI_lJP6KPG}%7Bua ziODrcslFU7jMs=$QE3PWWPJGGW=-6JaN-cfV@O@~Vep@|R=Yf!J%EV)>66W1-ktS; zYw@bVBIuIY+w7m9F}N?DVQ4lKDyyV)2*`Vn`GIh9 z>G@9OABW>&I;7rU0$(DOmog<7@$BZ>JQLk54s%xLmRbVO1THFtGYpSTc?#5t*XH|c zPIYniY$xmERpol#nws(gjx;pvetGO_Yg1-Q};XVzfjiB~=!9uVHni+RJvK-`0BX%<&?alrtjYJrE@2f&{L&f-E8;9u1WA zj~`P}rwJ-3jJLM(vv!;RxQTr{(TjS;o6`FF!KY7-!s>KegYMFj0W%VLC9_`MF~9hS z?{d3!sJWS3LxZU%OQV&#?%+eh1{U{wMaToX-AFMDt)kbehVFE7-{La<%O6Y)jy z0(#vqb+$B$>00i%nawk%6Lk%a8U1hC@HlM+(}$nfLRDM2kFv5#>Uec^=FnHCS5R(0(Xp!{m+e zI-HI%$7Q^_@>R%$uP^qS8oThSsvnxFeSe#YAM30FU)9(~PYNC`UH-M)Co^}k!u?E# z)tbYy{%e9Jo0ZNb0V56FVukIrG7^?sT{6P@H942Yw14T8U0qv3cyF6~ zASqDL$$@9c%O9NVM+0CHvXIrhZ6qR%&v&i%`DD;}Qj#6uxH@3%eU=$+u`$*J!P?(n zfZ;OAhWGW_kk#z^Xh31%$BxfI3OkA)@9x<`bM=3bs9RM$&te$4pMVJAMFyPSH{KFVWl!A-`bPfcpvRfBFn+@R+6Js&F^_e(defexUw)iUx^H%Fm?Kh@@Rx+uu-gY-{+H9Z&g&E&%-5@rB zzsYId_izfEhKFamlO2yDA&c`w*|eM_gO2gv#Yeoa%_iMaGcyf-ero(@i$AnPMgFCR zI7#&Ea6=y`#+EYj*6oAcgL36^H5GpPP~=FuA^?lH6w{}G00{}k7|t#zQ$5rtda5Wd z&*|{)NsMH1VUoo-cV|nB&RknwM|6lt=@3sPo!TG^D%`Pwm%7Oua;T z>|g%=n%2hCr0)w>5>SCv4TMjDjPY4$}|P_V&jmN#;m zUM-PC6wfR23P1b%gL-<{(n_YnvXM&vss3(2>jD*7R2k zH)8cxm;L@8;PA!8PW^y(`AmQfo zlf-Z>ineusy>{%v8-pL_lA7PtxWc ztCX~6>i10Uq%?2)W%(62NhKw>I6mjLnU-t6T#^f<_V*v%rt*d2f}{)7Bow*_`5+Xh zr=z><%4&onFDQ5w+aYcu^*;RYWiX#`VWL?mkB%OXVw}7)IrDB&df;S#TVH?wDj)KJ zQ1iXi_>@e*jkfrGR!$Bvk?cSL_G=#=j%HxjgSk}>a6W7?&5M_eHhBJ#@pY;Mt^0T6 zTR?MhL8F@f}a7py4KJ>Io`SmdPR-WVb0{(>j->u* z(SI7zPM9c7Nr54}*u}C^en`^p*VXFc!U3CtFNS^n9`hslozt~%IAR3AW8a#b$YdYQ zN9RDHV|KSF=zbG0r*GG1%?eglemWl(TTK3u6#r$wHrzcpPQX8oO#Uq#g(GC+^wa&~ z{Y?RF=wdNMS)ba?LHv@Ab6A?wBO~P#iIGtOL=pBe3qQj3hXUj6jghBnXe_vE6H=4) z=ePa6ns>bbN&^V)Mm7v;aPz)CI~dJ_^&EH42$@KP(^eFfI55c0-b>uUPF&1L6jGcy z^g{h#xx~15SLgX#vs@mRN`-%HdkhnU&YT&6qm*s3fi zIVL=^&aUn|CPqJkW_{+}n_FtHG~%IF{avp(nwj*l<=zE4`2+*$MX2&NBM0noq4til zR*v*HC(Gt=m{-Jk%iulx0;fk*AWnW zS>rITwqEM?{QOy|5#QGKDHBtfC(0$eQ)$li8xbOIZvB_%la1lw++n=hX1S*eL34?( zvi(|S$ap?KxclC>-E3j|Mc?tkdSBFT#$5^uRn;Hq9GYhz@sps6XK*G3aYE_rp!ll5J~ z!YFp{6*ck-3l}!VCAs-_w`a$|W&l<(}K> zfHyriU6pFd!c3Mzh=2G^f3G&Z9rw#q@8WR}DwaotoX?&u7BrAeRz=WX(DT1=hGyXU zC{^Sf+OL3=7j85vno5j6XJKfVl1!m} z+02U3RM-)%6--*g$5;35v`K+1`%uE8W#(e5DGTTswcD(cGA(ErjJgtr$H`R;d7UD8 zbbq?lk_$-%<))?mF{s!&{!(9WcX?3`;dWzVU}J;h;DAQ_DY`^TqI*3ExcHcu_P>0& zjO8k7NNEc5{PoMnaW}ZuO(QoeDSIi7Cm+`T5cy zVnnNV2Ec?1>@MEJBGJnz6s+k@dVas7V>RtJqHg$79B*^7!P3l3@$D1&(009h_o9o7 zL*6euAhZz@{g#?~ywFLLLi@<7Y7F#%JI7vu_5#e&oDdh%X_$rl#QW{+IBf0G_m_p= zzhmWK?-M~C9vbR4vUZRWJT#l^jNNQ-(DJxh$ zJdj=m@4212HP?adFD1SmwbUbmQ7STq`T_w;bN zI{DyX-7>rDHqrez(xr}$rQlbWWyvRzAR_Gwr+vCAk@V&l2c_=j`=E!rapMLPlfFx- zG$;i3SF;$E)bWh|2X0#Fs?Yh+q?rEsX42Fm2^_KFhrU(Y`!C zChC&?)OU4=|D>c$uC7csZUp4#e}*py8CwwKfbK8ycqr`NHlLI?9u*gl&VgWv}9&y{BPjmIih6w{bBYP{lpK@@<-iu5z1o#mB8U z3kwT)Z&mb5cDip~R&#%tEBVqjr=i=g89d6@!<_MZ5+dT_&Oiu7jrOt{OVgsbyxf45 z2>+LW<*pHQzAY?%UM{@jf*$V7d*}wj5Kki|fDy=}&GovDUO%z^3W*k8;?+#xz+Fk3sVwI`$Yj$w7w20LN3)h?N z(bQq=;OH)` z6$BlSiVA4qTXBRyW(0aCW@cu1Fu-BbJE?&;Z{3=1r1Em$O#qRm_nmt75^Ub7qy%`3{nrT5OCON2tPL+!{Q>%IYypU6q>=3uSgvi46M{j0BVN zz`P2yRB?qsB?kSHpE74?qTx8{!I4P*8xv*5BX%N{+$M7)Ruzs-iMh>v*@RaBNJSiYoQw z#ECh&#&&f;yU9naK=J30o}8+x^$F2s}th zO)YXyB;4W?pZO?U8Y@Oyu={c`gp@E)Bw4oHY*=1PD`XP^wv0DQ+{C(_{@EcrtddKP z=MD;$_fY~(A~GyG+E-h}+?+{h2_&jVaU>)pfL@VbkP~&z8Ch9XFd+g42`y}ck~C!o zU9;lQ`M0JPU7YHueeO$fZq+HHX!KQ@BihgrQ6CKU1R-8)RYJVT*~jE){08d?JJ z3CPAlsW8)whUc#+E87jo(C7gon6k3-MZW4=w{8I}c(||sqjSA=>Ez&G(=k%&`Ds){ zXU^mF0X;st+jvP~q3jVFtFRBS#V;Xr;tMpmo+lLLQ)gC@9#>*QojX_rj6F z(K!TPgyPLpL&HT7IRc-6fgF-Vg)=o?7YB*b@bIvQJIu89=S0gljHR%TiWFj_me*uu8G|O|tP&U7;@h3-WT%<0X-C?$XglUg|jw%QpEJnhv}`?c$# zk3eosi-i@g6-+t*9e1)b@%qPbbr2_}Ao(M9q4fAcu|jE#(@ zT%|zSo}8QvN+Iy`#>Pf*t|g|24?lD*7N}QQ15zACCM6|RS93So4*etG9fDm4kvZsv zu4Ff7pyb{z2srvG9mn;UkMI0f6eDUf1Re^3jpQ8J+@X!5dmJ^{0e^Pht1xfgaa7 zY=eN@`C#oisz3SlzI3UGp+~3`{D~ol((`k3>h&&;K;A{=N3+L1dg^i6{TGEW5&zsZ z+)bewDW+{j;nK=xyO*SVq4RyTAGJO-<#cs+wk(2(9lGux-z7GKFn&AXHv~n{Y6GtW z4bI_m-y(>1dl{o1bEvktnRBwS$xBJ))z+%B&i~C)sIIOC?JFP-DAQ)&aS{2f50|`x z=|B*s_xJC^<&NS!o{ksk`oi2LOqN0Dt3N*&{rs75&3&*8R6crWsXV7hzw*Ghwq8`x zmDq2IH~@Cq+C?_7!`;xzm5zK zcYb}k8f#f!R9fl+(yP6H!|<1Huc14g92j_~9vyUF0C^zi{_;&&P^SdOS73eVFRaNh zmWGe6f3P+TYQ8VBqv(l@&Dam14DLR9zlYt&Zyna_eNW_@b7w~ z@4@p!KYym-GM(k_`!f?LVQeVrb3@fdW_2UuyL^`788)8(+{(&GXPJEh$m3u}w(SMF zw~nD9Et_0nx*|h=Yiq`RorpVN%_^kBphb6daw3C>-PN@T@-TQ%{EZ+*JUEnze?ga* zJsQ-=rA4wHzR01GKEnwu&fS{Aifb-^op%GJy?ha7Rs$NgbJ^D)>051sF>;4aUvp2& z`4SsT4g*kNYYCUrmP6yF1!MQuhZRv5ee@2 z{3SXk{;CT0v;S^NFVv{j7UnKt%1B6PSsG|y0M>IQ5TC+JGmZZEpoRP{6N?#>^^aiC zj=5j`zW^L+-W;Vi-E8O?bFIO(ew)US=i#G^7~7NL`6JKVVzE+X>5zEzw6qz!BDVK| zT~$S<{vK5pWL6_)$;i$QXxICd_Cz1S)OXFA*OKnCh>C@h>E#c_^(;16p&IkQRbww* aUb{_ljM~6f-vz&j5EGGpkuUVt# literal 0 HcmV?d00001 diff --git a/doc/1.0/windows_8h.html b/doc/1.0/windows_8h.html new file mode 100644 index 0000000..a42d91c --- /dev/null +++ b/doc/1.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/doc/1.0/windows_8h__dep__incl.map b/doc/1.0/windows_8h__dep__incl.map new file mode 100644 index 0000000..2830697 --- /dev/null +++ b/doc/1.0/windows_8h__dep__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/1.0/windows_8h__dep__incl.md5 b/doc/1.0/windows_8h__dep__incl.md5 new file mode 100644 index 0000000..c964f97 --- /dev/null +++ b/doc/1.0/windows_8h__dep__incl.md5 @@ -0,0 +1 @@ +56bbeb7b13a744e0ebc3a22b7e8a5061 \ No newline at end of file diff --git a/doc/1.0/windows_8h__dep__incl.png b/doc/1.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/doc/1.0/windows_8h__incl.md5 b/doc/1.0/windows_8h__incl.md5 new file mode 100644 index 0000000..0e886e2 --- /dev/null +++ b/doc/1.0/windows_8h__incl.md5 @@ -0,0 +1 @@ +f9525dd30b2f75e871e525bd7ead30ac \ No newline at end of file diff --git a/doc/1.0/windows_8h__incl.png b/doc/1.0/windows_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..cdfe1e5be0763669771fe4a661c2e52df5996ffb GIT binary patch literal 14402 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 G=l=ke)GRFk literal 0 HcmV?d00001 diff --git a/doc/1.0/windows_8h_source.html b/doc/1.0/windows_8h_source.html new file mode 100644 index 0000000..f108a10 --- /dev/null +++ b/doc/1.0/windows_8h_source.html @@ -0,0 +1,249 @@ + + + + + +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
+
+ + + + + + diff --git a/doc/1.1.0/annotated.html b/doc/1.1.0/annotated.html new file mode 100644 index 0000000..94c08c7 --- /dev/null +++ b/doc/1.1.0/annotated.html @@ -0,0 +1,118 @@ + + + + + +serial: Data Structures + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structures
+
+ + + + + + + diff --git a/doc/1.1.0/bc_s.png b/doc/1.1.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/doc/1.1.0/bdwn.png b/doc/1.1.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.1.0 +
+
Cross-platform, serial port library written in 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/doc/1.1.0/class_serial_1_1_scoped_write_lock.html b/doc/1.1.0/class_serial_1_1_scoped_write_lock.html new file mode 100644 index 0000000..ffcec13 --- /dev/null +++ b/doc/1.1.0/class_serial_1_1_scoped_write_lock.html @@ -0,0 +1,166 @@ + + + + + +serial: serial::Serial::ScopedWriteLock Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in 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/doc/1.1.0/classes.html b/doc/1.1.0/classes.html new file mode 100644 index 0000000..8b45120 --- /dev/null +++ b/doc/1.1.0/classes.html @@ -0,0 +1,123 @@ + + + + + +serial: Data Structure Index + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structure Index
+
+
+
I | P | S | T
+ + + + + + + + +
  I  
+
  S  
+
Serial (serial)   
SerialExecption (serial)   
IOException (serial)   Serial::ScopedReadLock   SerialImpl (serial::serial::Serial)   
  P  
+
Serial::ScopedWriteLock   
  T  
+
PortNotOpenedException (serial)   Timeout (serial)   
+
I | P | S | T
+
+ + + + + + diff --git a/doc/1.1.0/classserial_1_1_i_o_exception.html b/doc/1.1.0/classserial_1_1_i_o_exception.html new file mode 100644 index 0000000..870f112 --- /dev/null +++ b/doc/1.1.0/classserial_1_1_i_o_exception.html @@ -0,0 +1,280 @@ + + + + + +serial: serial::IOException Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in 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 ()
 IOException (const IOException &other)
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]
+
+
+
{}
+
+
+
+ +
+
+ + + + + + + + +
serial::IOException::IOException (const IOExceptionother) [inline]
+
+
+
                                         {
+    e_what_ = other.e_what_;
+  }
+
+
+
+

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/doc/1.1.0/classserial_1_1_port_not_opened_exception.html b/doc/1.1.0/classserial_1_1_port_not_opened_exception.html new file mode 100644 index 0000000..e7c001b --- /dev/null +++ b/doc/1.1.0/classserial_1_1_port_not_opened_exception.html @@ -0,0 +1,189 @@ + + + + + +serial: serial::PortNotOpenedException Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::PortNotOpenedException Class Reference
+
+
+ +

#include <serial.h>

+ + + + + +

+Public Member Functions

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

Constructor & Destructor Documentation

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

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/doc/1.1.0/classserial_1_1_serial.html b/doc/1.1.0/classserial_1_1_serial.html new file mode 100644 index 0000000..4772d5f --- /dev/null +++ b/doc/1.1.0/classserial_1_1_serial.html @@ -0,0 +1,1532 @@ + + + + + +serial: serial::Serial Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::Serial Class Reference
+
+
+ +

#include <serial.h>

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

+Data Structures

class  ScopedReadLock
class  ScopedWriteLock

+Public Member Functions

 Serial (const std::string &port="", uint32_t baudrate=9600, Timeout timeout=Timeout(), 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 (uint8_t *buffer, size_t size)
size_t read (std::vector< uint8_t > &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 uint8_t *data, size_t size)
size_t write (const std::vector< uint8_t > &data)
size_t write (const std::string &data)
void setPort (const std::string &port)
std::string getPort () const
void setTimeout (Timeout &timeout)
void setTimeout (uint32_t inter_byte_timeout, uint32_t read_timeout_constant, uint32_t read_timeout_multiplier, uint32_t write_timeout_constant, uint32_t write_timeout_multiplier)
Timeout getTimeout () const
void setBaudrate (uint32_t baudrate)
uint32_t 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 = "",
uint32_t baudrate = 9600,
Timeout timeout = Timeout(),
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 unsigned 32-bit integer that represents the baudrate
timeoutA serial::Timeout struct that defines the timeout conditions for the serial port.
+
+
+
See also:
serial::Timeout
+
Parameters:
+ + + + + +
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 ();
+}
+
+
+
+ +
+
+ + + + + + + +
uint32_t 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 uint32_t(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 Serial::getTimeout () const
+
+
+

Gets the timeout for reads in seconds.

+
Returns:
A Timeout 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 (uint8_t * 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 uint8_t 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< uint8_t > & 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 uint8_t.
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_);
+  uint8_t *buffer_ = new uint8_t[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_);
+  uint8_t *buffer_ = new uint8_t[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 ();
+  uint8_t *buffer_ = static_cast<uint8_t*>
+    (alloca (size * sizeof (uint8_t)));
+  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 (uint32_t 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::Timeouttimeout)
+
+
+

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

+

There are two timeout conditions described here:

+
    +
  • The inter byte timeout:
      +
    • The inter_byte_timeout component of serial::Timeout defines the maximum amount of time, in milliseconds, between receiving bytes on the serial port that can pass before a timeout occurs. Setting this to zero will prevent inter byte timeouts from occurring.
    • +
    +
  • +
  • Total time timeout:
      +
    • The the constant and multiplier component of this timeout condition, for both read and write, are defined in serial::Timeout. This timeout occurs if the total time since the read or write call was made exceeds the specified time in milliseconds.
    • +
    • The limit is defined by multiplying the multiplier component by the number of requested bytes and adding that product to the constant component. In this way if you want a read call, for example, to timeout after exactly one second regardless of the number of bytes you asked for then set the read_timeout_constant component of serial::Timeout to 1000 and the read_timeout_multiplier to zero. This timeout condition can be used in conjunction with the inter byte timeout condition with out any problems, timeout will simply occur when one of the two timeout conditions is met. This allows users to have maximum control over the trade-off between responsiveness and efficiency.
    • +
    +
  • +
+

Read and write functions will return in one of three cases. When the reading or writing is complete, when a timeout occurs, or when an exception occurs.

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

Sets the timeout for reads and writes.

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

Blocks until CTS, DSR, RI, CD changes or something interrupts it.

+

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.

+
Returns:
Returns true if one of the lines changed, false if something else occurred.
+
Exceptions:
+ + +
SerialException
+
+
+
{
+  return pimpl_->waitForChange();
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t Serial::write (const uint8_t * 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.
+
{
+  ScopedWriteLock(this->pimpl_);
+  return this->write_(data, size);
+}
+
+
+
+ +
+
+ + + + + + + + +
size_t Serial::write (const std::vector< uint8_t > & 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.
+
{
+  ScopedWriteLock(this->pimpl_);
+  return this->write_ (&data[0], data.size());
+}
+
+
+
+ +
+
+ + + + + + + + +
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/doc/1.1.0/classserial_1_1_serial_execption.html b/doc/1.1.0/classserial_1_1_serial_execption.html new file mode 100644 index 0000000..4bac1a4 --- /dev/null +++ b/doc/1.1.0/classserial_1_1_serial_execption.html @@ -0,0 +1,189 @@ + + + + + +serial: serial::SerialExecption Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::SerialExecption Class Reference
+
+
+ +

#include <serial.h>

+ + + + + +

+Public Member Functions

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

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
serial::SerialExecption::SerialExecption (const char * description) [inline]
+
+
+
: e_what_ (description) {}
+
+
+
+ +
+
+ + + + + + + + +
serial::SerialExecption::SerialExecption (const SerialExecptionother) [inline]
+
+
+
                                                 {
+    e_what_ = other.e_what_;
+  }
+
+
+
+

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/doc/1.1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html b/doc/1.1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html new file mode 100644 index 0000000..b96a617 --- /dev/null +++ b/doc/1.1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html @@ -0,0 +1,2148 @@ + + + + + +serial: serial::serial::Serial::SerialImpl Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in 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 (uint8_t *buf, size_t size=1)
size_t write (const uint8_t *data, size_t length)
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 &timeout)
Timeout 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, 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 (uint8_t *buf, size_t size=1)
size_t write (const uint8_t *data, size_t length)
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 &timeout)
Timeout 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 ()

+Protected Member Functions

void reconfigurePort ()
void reconfigurePort ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
serial::serial::Serial::SerialImpl::SerialImpl (const string & port,
unsigned long baudrate,
bytesize_t bytesize,
parity_t parity,
stopbits_t stopbits,
flowcontrol_t flowcontrol 
)
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual serial::serial::Serial::SerialImpl::~SerialImpl () [virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
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_ (false), 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 ();
+}
+
+
+
+ +
+
+ + + + + + + +
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;
+}
+
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
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 (uint8_t * buf,
size_t size = 1 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t serial::serial::Serial::SerialImpl::read (uint8_t * 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 |= (tcflag_t)  (CLOCAL | CREAD);
+  options.c_lflag &= (tcflag_t) ~(ICANON | ECHO | ECHOE | ECHOK | ECHONL |
+                                       ISIG | IEXTEN); //|ECHOPRT
+
+  options.c_oflag &= (tcflag_t) ~(OPOST);
+  options.c_iflag &= (tcflag_t) ~(INLCR | IGNCR | ICRNL | IGNBRK);
+#ifdef IUCLC
+  options.c_iflag &= (tcflag_t) ~IUCLC;
+#endif
+#ifdef PARMRK
+  options.c_iflag &= (tcflag_t) ~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
+#ifdef B1000000
+  case 1000000: baud = B1000000; break;
+#endif
+#ifdef B1152000
+  case 1152000: baud = B1152000; break;
+#endif
+#ifdef B1500000
+  case 1500000: baud = B1500000; break;
+#endif
+#ifdef B2000000
+  case 2000000: baud = B2000000; break;
+#endif
+#ifdef B2500000
+  case 2500000: baud = B2500000; break;
+#endif
+#ifdef B3000000
+  case 3000000: baud = B3000000; break;
+#endif
+#ifdef B3500000
+  case 3500000: baud = B3500000; break;
+#endif
+#ifdef B4000000
+  case 4000000: baud = B4000000; 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__) && defined (TIOCSSERIAL)
+    struct serial_struct ser;
+    ioctl (fd_, TIOCGSERIAL, &ser);
+    // set custom divisor
+    ser.custom_divisor = ser.baud_base / (int) 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 &= (tcflag_t) ~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 &= (tcflag_t) ~(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 &= (tcflag_t) ~(INPCK | ISTRIP);
+  if (parity_ == parity_none) {
+    options.c_cflag &= (tcflag_t) ~(PARENB | PARODD);
+  } else if (parity_ == parity_even) {
+    options.c_cflag &= (tcflag_t) ~(PARODD);
+    options.c_cflag |=  (PARENB);
+  } else if (parity_ == parity_odd) {
+    options.c_cflag |=  (PARENB | PARODD);
+  } else {
+    throw invalid_argument ("invalid parity");
+  }
+  // setup flow control
+  if (flowcontrol_ == flowcontrol_none) {
+    xonxoff_ = false;
+    rtscts_ = false;
+  }
+  if (flowcontrol_ == flowcontrol_software) {
+    xonxoff_ = true;
+    rtscts_ = false;
+  }
+  if (flowcontrol_ == flowcontrol_hardware) {
+    xonxoff_ = false;
+    rtscts_ = true;
+  }
+  // xonxoff
+#ifdef IXANY
+  if (xonxoff_)
+    options.c_iflag |=  (IXON | IXOFF); //|IXANY)
+  else
+    options.c_iflag &= (tcflag_t) ~(IXON | IXOFF | IXANY);
+#else
+  if (xonxoff_)
+    options.c_iflag |=  (IXON | IXOFF);
+  else
+    options.c_iflag &= (tcflag_t) ~(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::serial::Serial::SerialImpl::setTimeout (Timeouttimeout)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setTimeout (Timeouttimeout)
+
+
+ +
+
+ +
+
+ + + + + + + +
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);
+  }
+  return false;
+#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 true;
+#endif
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t Serial::SerialImpl::write (const uint8_t * data,
size_t length 
)
+
+
+

Error

+

Timeout

+

Port ready to write

+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::write");
+  }
+  fd_set writefds;
+  size_t bytes_written = 0;
+  struct timeval timeout;
+  timeout.tv_sec =                    timeout_.write_timeout_constant / 1000;
+  timeout.tv_usec = static_cast<int> (timeout_.write_timeout_multiplier % 1000);
+  timeout.tv_usec *= 1000; // To convert to micro seconds
+  while (bytes_written < length) {
+    FD_ZERO (&writefds);
+    FD_SET (fd_, &writefds);
+    // On Linux the timeout struct is updated by select to contain the time
+    // left on the timeout to make looping easier, but on other platforms this
+    // does not occur.
+#if !defined(__linux__)
+    // Begin timing select
+    struct timespec start, end;
+    get_time_now(start);
+#endif
+    // Do the select
+    int r = select (fd_ + 1, NULL, &writefds, NULL, &timeout);
+#if !defined(__linux__)
+    // Calculate difference and update the structure
+    get_time_now(end);
+    // Calculate the time select took
+    struct timeval diff;
+    diff.tv_sec = end.tv_sec - start.tv_sec;
+    diff.tv_usec = static_cast<int> ((end.tv_nsec - start.tv_nsec) / 1000);
+    // Update the timeout
+    if (timeout.tv_sec <= diff.tv_sec) {
+      timeout.tv_sec = 0;
+    } else {
+      timeout.tv_sec -= diff.tv_sec;
+    }
+    if (timeout.tv_usec <= diff.tv_usec) {
+      timeout.tv_usec = 0;
+    } else {
+      timeout.tv_usec -= diff.tv_usec;
+    }
+#endif
+
+    // Figure out what happened by looking at select's response 'r'
+    if (r < 0) {
+      // Select was interrupted, try again
+      if (errno == EINTR) {
+        continue;
+      }
+      // Otherwise there was some error
+      THROW (IOException, errno);
+    }
+    if (r == 0) {
+      break;
+    }
+    if (r > 0) {
+      // Make sure our file descriptor is in the ready to write list
+      if (FD_ISSET (fd_, &writefds)) {
+        // This will write some
+        ssize_t bytes_written_now =
+          ::write (fd_, data + bytes_written, length - bytes_written);
+        // write should always return some data as select reported it was
+        // ready to write when we get to this point.
+        if (bytes_written_now < 1) {
+          // Disconnected devices, at least on Linux, show the
+          // behavior that they are always ready to write immediately
+          // but writing returns nothing.
+          throw SerialExecption ("device reports readiness to write but "
+                                 "returned no data (device disconnected?)");
+        }
+        // Update bytes_written
+        bytes_written += static_cast<size_t> (bytes_written_now);
+        // If bytes_written == size then we have written everything we need to
+        if (bytes_written == length) {
+          break;
+        }
+        // If bytes_written < size then we have more to write
+        if (bytes_written < length) {
+          continue;
+        }
+        // If bytes_written > size then we have over written, which shouldn't happen
+        if (bytes_written > length) {
+          throw SerialExecption ("write over wrote, too many bytes where "
+                                 "written, this shouldn't happen, might be "
+                                 "a logical error!");
+        }
+      }
+      // This shouldn't happen, if r > 0 our fd has to be in the list!
+      THROW (IOException, "select reports ready to write, but our fd isn't"
+                          " in the list, this shouldn't happen!");
+    }
+  }
+  return bytes_written;
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t serial::serial::Serial::SerialImpl::write (const uint8_t * data,
size_t length 
)
+
+
+ +
+
+ +
+
+ + + + + + + +
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/doc/1.1.0/closed.png b/doc/1.1.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/doc/1.1.0/doxygen.css b/doc/1.1.0/doxygen.css new file mode 100644 index 0000000..c151fde --- /dev/null +++ b/doc/1.1.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/doc/1.1.0/doxygen.png b/doc/1.1.0/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..635ed52fce7057ac24df92ec7664088a881fa5d0 GIT binary patch literal 3942 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 A+yDRo literal 0 HcmV?d00001 diff --git a/doc/1.1.0/files.html b/doc/1.1.0/files.html new file mode 100644 index 0000000..45991e5 --- /dev/null +++ b/doc/1.1.0/files.html @@ -0,0 +1,117 @@ + + + + + +serial: File List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+ + + + + + + + +
examples/serial_example.cc
include/serial/serial.h [code]
include/serial/v8stdint.h [code]
include/serial/impl/unix.h [code]
include/serial/impl/win.h [code]
src/serial.cc
src/impl/unix.cc
src/impl/win.cc
+
+ + + + + + diff --git a/doc/1.1.0/functions.html b/doc/1.1.0/functions.html new file mode 100644 index 0000000..2e2db3c --- /dev/null +++ b/doc/1.1.0/functions.html @@ -0,0 +1,404 @@ + + + + + +serial: Data Fields + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in 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 -

+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+ + +

- ~ -

+
+ + + + + + diff --git a/doc/1.1.0/functions_func.html b/doc/1.1.0/functions_func.html new file mode 100644 index 0000000..632cbc3 --- /dev/null +++ b/doc/1.1.0/functions_func.html @@ -0,0 +1,390 @@ + + + + + +serial: Data Fields - Functions + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- a -

+ + +

- c -

+ + +

- f -

+ + +

- g -

+ + +

- i -

+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+ + +

- ~ -

+
+ + + + + + diff --git a/doc/1.1.0/functions_vars.html b/doc/1.1.0/functions_vars.html new file mode 100644 index 0000000..278cd95 --- /dev/null +++ b/doc/1.1.0/functions_vars.html @@ -0,0 +1,128 @@ + + + + + +serial: Data Fields - Variables + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.1.0/globals.html b/doc/1.1.0/globals.html new file mode 100644 index 0000000..2f9f0d3 --- /dev/null +++ b/doc/1.1.0/globals.html @@ -0,0 +1,130 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+ + + + + + diff --git a/doc/1.1.0/globals_defs.html b/doc/1.1.0/globals_defs.html new file mode 100644 index 0000000..c90affe --- /dev/null +++ b/doc/1.1.0/globals_defs.html @@ -0,0 +1,118 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.1.0/globals_func.html b/doc/1.1.0/globals_func.html new file mode 100644 index 0000000..6c8d805 --- /dev/null +++ b/doc/1.1.0/globals_func.html @@ -0,0 +1,124 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.1.0/graph_legend.html b/doc/1.1.0/graph_legend.html new file mode 100644 index 0000000..b9cf4a2 --- /dev/null +++ b/doc/1.1.0/graph_legend.html @@ -0,0 +1,165 @@ + + + + + +serial: Graph Legend + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in 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/doc/1.1.0/graph_legend.md5 b/doc/1.1.0/graph_legend.md5 new file mode 100644 index 0000000..c0a4490 --- /dev/null +++ b/doc/1.1.0/graph_legend.md5 @@ -0,0 +1 @@ +70d597617e34367275a35eeb8fb7ea07 \ No newline at end of file diff --git a/doc/1.1.0/graph_legend.png b/doc/1.1.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/doc/1.1.0/index.html b/doc/1.1.0/index.html new file mode 100644 index 0000000..718e39b --- /dev/null +++ b/doc/1.1.0/index.html @@ -0,0 +1,153 @@ + + + + + +serial: Serial Library + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
Serial Library
+
+
+
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
+

+What is serial?

+

Serial is a cross-platform, simple to use library for using serial ports on computers. This library provides a C++, object oriented interface for interacting with RS-232 like devices on Linux and Windows.

+

Want to use it with ROS(Robot Operating System)? No problem, it compiles as a unary stack.

+

+Getting Started

+

Ready to jump in?

+ +

+Features

+
    +
  • Linux, Mac OS X, and Windows Support
  • +
  • Easy to use interface (modeled after PySerial)
  • +
  • Minimal dependencies (cmake)
  • +
  • Complete timeout control serial::Serial::setTimeout
  • +
  • Check and set handshaking lines (CTS, DSR, RI, CD and RTS, DTR)
  • +
  • Block for changes in handshaking lines (Linux and Windows)
  • +
  • Flush I/O separately and block until all writing done
  • +
+

+Installation

+

+Dependencies

+ +

+Compiling

+

Once you have gathered the dependencies, you need to checkout the software from github.com:

+
+    git clone git://github.com/wjwwood/serial.git
+

Once you have checked out the source code from github.com you can enter the directory and build the software.

+
+    cd serial
+    make
+    make test # (optional) builds the example and tests, and runs the tests.
+    make doc  # (optional) builds _this_ documentation.
+

+Installing

+

To install simply:

+
+    sudo make install
+

To uninstall simply:

+
+    sudo make uninstall
+
+ + + + + + diff --git a/doc/1.1.0/jquery.js b/doc/1.1.0/jquery.js new file mode 100644 index 0000000..90b3a2b --- /dev/null +++ b/doc/1.1.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/doc/1.1.0/namespacemembers_enum.html b/doc/1.1.0/namespacemembers_enum.html new file mode 100644 index 0000000..e00597f --- /dev/null +++ b/doc/1.1.0/namespacemembers_enum.html @@ -0,0 +1,124 @@ + + + + + +serial: Namespace Members + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.1.0/namespacemembers_eval.html b/doc/1.1.0/namespacemembers_eval.html new file mode 100644 index 0000000..db1be59 --- /dev/null +++ b/doc/1.1.0/namespacemembers_eval.html @@ -0,0 +1,151 @@ + + + + + +serial: Namespace Members + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/doc/1.1.0/namespaces.html b/doc/1.1.0/namespaces.html new file mode 100644 index 0000000..4c383d0 --- /dev/null +++ b/doc/1.1.0/namespaces.html @@ -0,0 +1,112 @@ + + + + + +serial: Namespace List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Namespace List
+
+
+
Here is a list of all namespaces with brief descriptions:
+ + + +
serial
serial::serial
serial::serial::Serial
+
+ + + + + + diff --git a/doc/1.1.0/namespaceserial.html b/doc/1.1.0/namespaceserial.html new file mode 100644 index 0000000..b954a7c --- /dev/null +++ b/doc/1.1.0/namespaceserial.html @@ -0,0 +1,262 @@ + + + + + +serial: serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
serial Namespace Reference
+
+
+ + + + + + + + + + + + + + +

+Namespaces

namespace  serial

+Data Structures

struct  Timeout
class  Serial
class  SerialExecption
class  IOException
class  PortNotOpenedException

+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, +flowcontrol_hardware + }
+

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  +
flowcontrol_hardware  +
+
+
+ +
+
+ +
+
+ + + + +
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/doc/1.1.0/namespaceserial_1_1serial.html b/doc/1.1.0/namespaceserial_1_1serial.html new file mode 100644 index 0000000..4cf47f9 --- /dev/null +++ b/doc/1.1.0/namespaceserial_1_1serial.html @@ -0,0 +1,120 @@ + + + + + +serial: serial::serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::serial Namespace Reference
+
+
+ + + +

+Namespaces

namespace  Serial
+
+ + + + + + diff --git a/doc/1.1.0/namespaceserial_1_1serial_1_1_serial.html b/doc/1.1.0/namespaceserial_1_1serial_1_1_serial.html new file mode 100644 index 0000000..4fbb2b3 --- /dev/null +++ b/doc/1.1.0/namespaceserial_1_1serial_1_1_serial.html @@ -0,0 +1,121 @@ + + + + + +serial: serial::serial::Serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::serial::Serial Namespace Reference
+
+
+ + + +

+Data Structures

class  SerialImpl
+
+ + + + + + diff --git a/doc/1.1.0/nav_f.png b/doc/1.1.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/doc/1.1.0/nav_h.png b/doc/1.1.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/doc/1.1.0/open.png b/doc/1.1.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/doc/1.1.0/search/all_61.js b/doc/1.1.0/search/all_61.js new file mode 100644 index 0000000..4a6b8e4 --- /dev/null +++ b/doc/1.1.0/search/all_61.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['available',['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()'],['../classserial_1_1_serial.html#afafe25b2f3bb0809550abdc72c51a234',1,'serial::Serial::available()']]] +]; diff --git a/doc/1.1.0/search/all_62.html b/doc/1.1.0/search/all_62.html new file mode 100644 index 0000000..ee8871c --- /dev/null +++ b/doc/1.1.0/search/all_62.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_62.js b/doc/1.1.0/search/all_62.js new file mode 100644 index 0000000..ff57a8f --- /dev/null +++ b/doc/1.1.0/search/all_62.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bytesize_5ft',['bytesize_t',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8',1,'serial']]] +]; diff --git a/doc/1.1.0/search/all_63.html b/doc/1.1.0/search/all_63.html new file mode 100644 index 0000000..56b5ad1 --- /dev/null +++ b/doc/1.1.0/search/all_63.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_63.js b/doc/1.1.0/search/all_63.js new file mode 100644 index 0000000..e4b824e --- /dev/null +++ b/doc/1.1.0/search/all_63.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['close',['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()'],['../classserial_1_1_serial.html#afbe59407e718bc3d22ea4a67b304db6c',1,'serial::Serial::close()']]] +]; diff --git a/doc/1.1.0/search/all_65.html b/doc/1.1.0/search/all_65.html new file mode 100644 index 0000000..66cc834 --- /dev/null +++ b/doc/1.1.0/search/all_65.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_65.js b/doc/1.1.0/search/all_65.js new file mode 100644 index 0000000..10bd939 --- /dev/null +++ b/doc/1.1.0/search/all_65.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eightbits',['eightbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a47f14d952cf9bed6c3f7ae5985161990',1,'serial']]] +]; diff --git a/doc/1.1.0/search/all_66.html b/doc/1.1.0/search/all_66.html new file mode 100644 index 0000000..3d1f8b3 --- /dev/null +++ b/doc/1.1.0/search/all_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_66.js b/doc/1.1.0/search/all_66.js new file mode 100644 index 0000000..64469b5 --- /dev/null +++ b/doc/1.1.0/search/all_66.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['fivebits',['fivebits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8af09eeaf7333d2feda0bd3d748d5e3123',1,'serial']]], + ['flowcontrol_5fhardware',['flowcontrol_hardware',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351a84d411ac86fd25d659eef30aade04c43',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_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()'],['../classserial_1_1_serial.html#a63b7abf172cad25bfc998b3b1f98310f',1,'serial::Serial::flush()']]], + ['flushinput',['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()'],['../classserial_1_1_serial.html#afa2c1f9114a37b7d140fc2292d1499b9',1,'serial::Serial::flushInput()']]], + ['flushoutput',['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()'],['../classserial_1_1_serial.html#a256ee4bb93ab0e79d7a66b50f08dce53',1,'serial::Serial::flushOutput()']]] +]; diff --git a/doc/1.1.0/search/all_67.html b/doc/1.1.0/search/all_67.html new file mode 100644 index 0000000..41a459a --- /dev/null +++ b/doc/1.1.0/search/all_67.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_67.js b/doc/1.1.0/search/all_67.js new file mode 100644 index 0000000..108b85e --- /dev/null +++ b/doc/1.1.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_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 '],['../classserial_1_1_serial.html#a9b57d6da619d53f58cddc3621c78c32b',1,'serial::Serial::getBaudrate()']]], + ['getbytesize',['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 '],['../classserial_1_1_serial.html#a4fce90ef7a9a46525efa373a94a1bfbd',1,'serial::Serial::getBytesize()']]], + ['getcd',['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()'],['../classserial_1_1_serial.html#a9795a3e83e6745a14c64f657e68061fb',1,'serial::Serial::getCD()']]], + ['getcts',['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()'],['../classserial_1_1_serial.html#a809f048546c4c72b74e205139b97648c',1,'serial::Serial::getCTS()']]], + ['getdsr',['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()'],['../classserial_1_1_serial.html#a6b9a0c485e1fe599dbb5e9e15b1a65d6',1,'serial::Serial::getDSR()']]], + ['geterrornumber',['getErrorNumber',['../classserial_1_1_i_o_exception.html#a91d5ee5241dd49fb39e8e762564b6cc5',1,'serial::IOException']]], + ['getflowcontrol',['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 '],['../classserial_1_1_serial.html#acdc6da48a5434b936b1db20f36caf41f',1,'serial::Serial::getFlowcontrol()']]], + ['getparity',['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 '],['../classserial_1_1_serial.html#a89d876e1d3f0afadb0d6c21b08ed8931',1,'serial::Serial::getParity()']]], + ['getport',['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 '],['../classserial_1_1_serial.html#ae95cd057e90258b1b3203ff8972a3567',1,'serial::Serial::getPort()']]], + ['getri',['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()'],['../classserial_1_1_serial.html#afb96e6968f040c4bff7576095f4ba6e7',1,'serial::Serial::getRI()']]], + ['getstopbits',['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 '],['../classserial_1_1_serial.html#a42887bb76243bf6bbb3f69ff60f9792e',1,'serial::Serial::getStopbits()']]], + ['gettimeout',['getTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1_serial.html#a765fccd0e53562773626fb39bb2efcb6',1,'serial::Serial::getTimeout()']]] +]; diff --git a/doc/1.1.0/search/all_69.html b/doc/1.1.0/search/all_69.html new file mode 100644 index 0000000..1a00b55 --- /dev/null +++ b/doc/1.1.0/search/all_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_69.js b/doc/1.1.0/search/all_69.js new file mode 100644 index 0000000..252b6c5 --- /dev/null +++ b/doc/1.1.0/search/all_69.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['inter_5fbyte_5ftimeout',['inter_byte_timeout',['../structserial_1_1_timeout.html#ada15f2a0ae478cbb62ef79d1633b2b81',1,'serial::Timeout']]], + ['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)'],['../classserial_1_1_i_o_exception.html#af65196a71b800d11b5e5c367caf5b354',1,'serial::IOException::IOException(const IOException &other)']]], + ['isopen',['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 '],['../classserial_1_1_serial.html#af9895af496189f7f0aba7c097f5fa9c1',1,'serial::Serial::isOpen()']]] +]; diff --git a/doc/1.1.0/search/all_6d.html b/doc/1.1.0/search/all_6d.html new file mode 100644 index 0000000..2e27d4d --- /dev/null +++ b/doc/1.1.0/search/all_6d.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_6d.js b/doc/1.1.0/search/all_6d.js new file mode 100644 index 0000000..6259fbe --- /dev/null +++ b/doc/1.1.0/search/all_6d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['main',['main',['../serial__example_8cc.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'serial_example.cc']]], + ['max',['max',['../structserial_1_1_timeout.html#adc68e33d2f94bfa33ba1062c363b9151',1,'serial::Timeout']]], + ['my_5fsleep',['my_sleep',['../serial__example_8cc.html#a89b7c9d8c710b057346cc9ac52ae3734',1,'serial_example.cc']]] +]; diff --git a/doc/1.1.0/search/all_6f.html b/doc/1.1.0/search/all_6f.html new file mode 100644 index 0000000..61827e8 --- /dev/null +++ b/doc/1.1.0/search/all_6f.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_6f.js b/doc/1.1.0/search/all_6f.js new file mode 100644 index 0000000..65fc001 --- /dev/null +++ b/doc/1.1.0/search/all_6f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['open',['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()'],['../classserial_1_1_serial.html#af3644ed1a9d899b70e9d63bb9b808d62',1,'serial::Serial::open()']]] +]; diff --git a/doc/1.1.0/search/all_70.html b/doc/1.1.0/search/all_70.html new file mode 100644 index 0000000..0340151 --- /dev/null +++ b/doc/1.1.0/search/all_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_70.js b/doc/1.1.0/search/all_70.js new file mode 100644 index 0000000..589b9bf --- /dev/null +++ b/doc/1.1.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(const char *description)'],['../classserial_1_1_port_not_opened_exception.html#ae8b466d10d496a53ed8e9f949e9e628c',1,'serial::PortNotOpenedException::PortNotOpenedException(const PortNotOpenedException &other)']]], + ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html',1,'serial']]] +]; diff --git a/doc/1.1.0/search/all_72.html b/doc/1.1.0/search/all_72.html new file mode 100644 index 0000000..0ab18d6 --- /dev/null +++ b/doc/1.1.0/search/all_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_72.js b/doc/1.1.0/search/all_72.js new file mode 100644 index 0000000..27e0f9a --- /dev/null +++ b/doc/1.1.0/search/all_72.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['read',['read',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1_serial.html#a0261dbfb9361784ecb3eee98b85fa103',1,'serial::Serial::read(uint8_t *buffer, size_t size)'],['../classserial_1_1_serial.html#aa3795c6cbc96f504932dd02fd6e9538e',1,'serial::Serial::read(std::vector< uint8_t > &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)']]], + ['read_5ftimeout_5fconstant',['read_timeout_constant',['../structserial_1_1_timeout.html#a099244649dec66b6e0548480edeb2b9f',1,'serial::Timeout']]], + ['read_5ftimeout_5fmultiplier',['read_timeout_multiplier',['../structserial_1_1_timeout.html#a64412753eb2edf1621716dd9f1a4e71e',1,'serial::Timeout']]], + ['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#a3536cdcf1a389a2effe27455db31b906',1,'serial::serial::Serial::SerialImpl::readLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a284eeedc3dd686ecef0fdcfd83bebc54',1,'serial::serial::Serial::SerialImpl::readLock()']]], + ['readunlock',['readUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a63f05143ebfa94168e1df5047362ef0e',1,'serial::serial::Serial::SerialImpl::readUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab6533e884ba609a1dd6a88b7964d8b52',1,'serial::serial::Serial::SerialImpl::readUnlock()']]], + ['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()']]], + ['run',['run',['../serial__example_8cc.html#ac1f545534cdaab9094198a5dc2c2a79f',1,'serial_example.cc']]] +]; diff --git a/doc/1.1.0/search/all_73.html b/doc/1.1.0/search/all_73.html new file mode 100644 index 0000000..1ec8f17 --- /dev/null +++ b/doc/1.1.0/search/all_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_73.js b/doc/1.1.0/search/all_73.js new file mode 100644 index 0000000..e16e64d --- /dev/null +++ b/doc/1.1.0/search/all_73.js @@ -0,0 +1,36 @@ +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_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)'],['../classserial_1_1_serial.html#ade90ff8f03525ea6d7b702fcd0f336de',1,'serial::Serial::sendBreak()']]], + ['serial',['serial',['../namespaceserial.html',1,'serial'],['../classserial_1_1_serial.html#aecbc4cc1723143805ae5a4aa79ba9332',1,'serial::Serial::Serial()']]], + ['serial',['Serial',['../classserial_1_1_serial.html',1,'serial::Serial'],['../namespaceserial_1_1serial.html',1,'serial::serial']]], + ['serial',['Serial',['../namespaceserial_1_1serial_1_1_serial.html',1,'serial::serial']]], + ['serial_2ecc',['serial.cc',['../serial_8cc.html',1,'']]], + ['serial_2edox',['serial.dox',['../serial_8dox.html',1,'']]], + ['serial_2eh',['serial.h',['../serial_8h.html',1,'']]], + ['serial_5fexample_2ecc',['serial_example.cc',['../serial__example_8cc.html',1,'']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html',1,'serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html#aa4b29d2631c6a9a0ebe591834bbc4609',1,'serial::SerialExecption::SerialExecption(const char *description)'],['../classserial_1_1_serial_execption.html#a824b52fe58b37de592d7bd13e7949860',1,'serial::SerialExecption::SerialExecption(const SerialExecption &other)']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9baa5dccbb7935163bf6715eb5d9deff',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#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)']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html',1,'serial::serial::Serial']]], + ['setbaudrate',['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)'],['../classserial_1_1_serial.html#ad4f7e9edff11b464199e94a43dfd19bf',1,'serial::Serial::setBaudrate()']]], + ['setbreak',['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)'],['../classserial_1_1_serial.html#a2a27912b1ca5cdad4a4aba7b9ddbc206',1,'serial::Serial::setBreak()']]], + ['setbytesize',['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)'],['../classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa',1,'serial::Serial::setBytesize()']]], + ['setdtr',['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)'],['../classserial_1_1_serial.html#ac9b0bbf613a5fe68f05d1d40181a1bb3',1,'serial::Serial::setDTR()']]], + ['setflowcontrol',['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)'],['../classserial_1_1_serial.html#ade41650d6bfe91b6432e5a0a60c03969',1,'serial::Serial::setFlowcontrol()']]], + ['setparity',['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)'],['../classserial_1_1_serial.html#a1e1896aa59ec35ac5bd263b87614ef01',1,'serial::Serial::setParity()']]], + ['setport',['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)'],['../classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a',1,'serial::Serial::setPort()']]], + ['setrts',['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)'],['../classserial_1_1_serial.html#ab43ddc05e5d69ff2778f698aa7062370',1,'serial::Serial::setRTS()']]], + ['setstopbits',['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)'],['../classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5',1,'serial::Serial::setStopbits()']]], + ['settimeout',['setTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3',1,'serial::Serial::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4b4be39af3e1c68bc6ac09cb55788c86',1,'serial::Serial::setTimeout(uint32_t inter_byte_timeout, uint32_t read_timeout_constant, uint32_t read_timeout_multiplier, uint32_t write_timeout_constant, uint32_t write_timeout_multiplier)']]], + ['sevenbits',['sevenbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a7cf0a3607e326ff6736941008ea8174d',1,'serial']]], + ['simpletimeout',['simpleTimeout',['../structserial_1_1_timeout.html#aa4fbd72e16f47c9aea9fb3c32ca17828',1,'serial::Timeout']]], + ['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/doc/1.1.0/search/all_74.html b/doc/1.1.0/search/all_74.html new file mode 100644 index 0000000..fdc6589 --- /dev/null +++ b/doc/1.1.0/search/all_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_74.js b/doc/1.1.0/search/all_74.js new file mode 100644 index 0000000..b846294 --- /dev/null +++ b/doc/1.1.0/search/all_74.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['throw',['THROW',['../serial_8h.html#a25cffc64bd967636d69d7c3c82af1030',1,'serial.h']]], + ['timeout',['Timeout',['../structserial_1_1_timeout.html#a1a454b17f5d653b8e1b04b3ec2fead59',1,'serial::Timeout']]], + ['timeout',['Timeout',['../structserial_1_1_timeout.html',1,'serial']]], + ['tiocinq',['TIOCINQ',['../unix_8cc.html#ad6548c2f81bf6e2679166b22d24784f1',1,'unix.cc']]] +]; diff --git a/doc/1.1.0/search/all_75.html b/doc/1.1.0/search/all_75.html new file mode 100644 index 0000000..ab8455e --- /dev/null +++ b/doc/1.1.0/search/all_75.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_75.js b/doc/1.1.0/search/all_75.js new file mode 100644 index 0000000..a7d347f --- /dev/null +++ b/doc/1.1.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/doc/1.1.0/search/all_76.html b/doc/1.1.0/search/all_76.html new file mode 100644 index 0000000..0ff5edd --- /dev/null +++ b/doc/1.1.0/search/all_76.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_76.js b/doc/1.1.0/search/all_76.js new file mode 100644 index 0000000..edd4f0a --- /dev/null +++ b/doc/1.1.0/search/all_76.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['v8stdint_2eh',['v8stdint.h',['../v8stdint_8h.html',1,'']]] +]; diff --git a/doc/1.1.0/search/all_77.html b/doc/1.1.0/search/all_77.html new file mode 100644 index 0000000..73323d3 --- /dev/null +++ b/doc/1.1.0/search/all_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_77.js b/doc/1.1.0/search/all_77.js new file mode 100644 index 0000000..cdd7401 --- /dev/null +++ b/doc/1.1.0/search/all_77.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['waitforchange',['waitForChange',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#abf091b468bdc0d9d338e51e746e0c397',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09f1dcb8e32cb64188daaf8ac0d40215',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1_serial.html#a419dc984258956a5adb41fb8c86f5449',1,'serial::Serial::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()']]], + ['win_2ecc',['win.cc',['../win_8cc.html',1,'']]], + ['win_2eh',['win.h',['../win_8h.html',1,'']]], + ['write',['write',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a222136f14876f84fd0d95f47a7d9c541',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a89b50df2562176fd250413833d636d0a',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1_serial.html#aa020880cdff3a370ddc574f594379c3c',1,'serial::Serial::write(const uint8_t *data, size_t size)'],['../classserial_1_1_serial.html#a2c4180b4c7d386c84e9d0e7ef4a267d3',1,'serial::Serial::write(const std::vector< uint8_t > &data)'],['../classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460',1,'serial::Serial::write(const std::string &data)']]], + ['write_5ftimeout_5fconstant',['write_timeout_constant',['../structserial_1_1_timeout.html#accf01b97f83564f4ce3d6e5f63e21006',1,'serial::Timeout']]], + ['write_5ftimeout_5fmultiplier',['write_timeout_multiplier',['../structserial_1_1_timeout.html#a31ddae32907cff9c3d27fa763981317d',1,'serial::Timeout']]], + ['writelock',['writeLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac094e8cb4a5957e1ddeb1d4fdc9d9536',1,'serial::serial::Serial::SerialImpl::writeLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2905e50e9082a757bfafc03356e318ed',1,'serial::serial::Serial::SerialImpl::writeLock()']]], + ['writeunlock',['writeUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afeac86484622bbeb08303e98db24efe0',1,'serial::serial::Serial::SerialImpl::writeUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#adaec2b322f0b0793929da24f5bf09949',1,'serial::serial::Serial::SerialImpl::writeUnlock()']]] +]; diff --git a/doc/1.1.0/search/all_7e.html b/doc/1.1.0/search/all_7e.html new file mode 100644 index 0000000..63512c6 --- /dev/null +++ b/doc/1.1.0/search/all_7e.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/all_7e.js b/doc/1.1.0/search/all_7e.js new file mode 100644 index 0000000..e8440ac --- /dev/null +++ b/doc/1.1.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/doc/1.1.0/search/classes_69.html b/doc/1.1.0/search/classes_69.html new file mode 100644 index 0000000..961dbea --- /dev/null +++ b/doc/1.1.0/search/classes_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/classes_69.js b/doc/1.1.0/search/classes_69.js new file mode 100644 index 0000000..9252d96 --- /dev/null +++ b/doc/1.1.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/doc/1.1.0/search/classes_70.html b/doc/1.1.0/search/classes_70.html new file mode 100644 index 0000000..e4b5208 --- /dev/null +++ b/doc/1.1.0/search/classes_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/classes_70.js b/doc/1.1.0/search/classes_70.js new file mode 100644 index 0000000..422dca4 --- /dev/null +++ b/doc/1.1.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/doc/1.1.0/search/classes_73.html b/doc/1.1.0/search/classes_73.html new file mode 100644 index 0000000..a1bf0b9 --- /dev/null +++ b/doc/1.1.0/search/classes_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/classes_73.js b/doc/1.1.0/search/classes_73.js new file mode 100644 index 0000000..a4aa155 --- /dev/null +++ b/doc/1.1.0/search/classes_73.js @@ -0,0 +1,8 @@ +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']]], + ['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/doc/1.1.0/search/classes_74.html b/doc/1.1.0/search/classes_74.html new file mode 100644 index 0000000..f7f27ce --- /dev/null +++ b/doc/1.1.0/search/classes_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/classes_74.js b/doc/1.1.0/search/classes_74.js new file mode 100644 index 0000000..747b69c --- /dev/null +++ b/doc/1.1.0/search/classes_74.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timeout',['Timeout',['../structserial_1_1_timeout.html',1,'serial']]] +]; diff --git a/doc/1.1.0/search/close.png b/doc/1.1.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/doc/1.1.0/search/defines_74.html b/doc/1.1.0/search/defines_74.html new file mode 100644 index 0000000..7c78f10 --- /dev/null +++ b/doc/1.1.0/search/defines_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/defines_74.js b/doc/1.1.0/search/defines_74.js new file mode 100644 index 0000000..38216c2 --- /dev/null +++ b/doc/1.1.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/doc/1.1.0/search/enums_62.html b/doc/1.1.0/search/enums_62.html new file mode 100644 index 0000000..321fe92 --- /dev/null +++ b/doc/1.1.0/search/enums_62.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/enums_62.js b/doc/1.1.0/search/enums_62.js new file mode 100644 index 0000000..ff57a8f --- /dev/null +++ b/doc/1.1.0/search/enums_62.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bytesize_5ft',['bytesize_t',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8',1,'serial']]] +]; diff --git a/doc/1.1.0/search/enums_66.html b/doc/1.1.0/search/enums_66.html new file mode 100644 index 0000000..87b48de --- /dev/null +++ b/doc/1.1.0/search/enums_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/enums_66.js b/doc/1.1.0/search/enums_66.js new file mode 100644 index 0000000..0eb1150 --- /dev/null +++ b/doc/1.1.0/search/enums_66.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['flowcontrol_5ft',['flowcontrol_t',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351',1,'serial']]] +]; diff --git a/doc/1.1.0/search/enums_70.html b/doc/1.1.0/search/enums_70.html new file mode 100644 index 0000000..0bc0915 --- /dev/null +++ b/doc/1.1.0/search/enums_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/enums_70.js b/doc/1.1.0/search/enums_70.js new file mode 100644 index 0000000..e244a2d --- /dev/null +++ b/doc/1.1.0/search/enums_70.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['parity_5ft',['parity_t',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481',1,'serial']]] +]; diff --git a/doc/1.1.0/search/enums_73.html b/doc/1.1.0/search/enums_73.html new file mode 100644 index 0000000..3f157e6 --- /dev/null +++ b/doc/1.1.0/search/enums_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/enums_73.js b/doc/1.1.0/search/enums_73.js new file mode 100644 index 0000000..d047512 --- /dev/null +++ b/doc/1.1.0/search/enums_73.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['stopbits_5ft',['stopbits_t',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469',1,'serial']]] +]; diff --git a/doc/1.1.0/search/enumvalues_65.html b/doc/1.1.0/search/enumvalues_65.html new file mode 100644 index 0000000..58030d7 --- /dev/null +++ b/doc/1.1.0/search/enumvalues_65.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/enumvalues_65.js b/doc/1.1.0/search/enumvalues_65.js new file mode 100644 index 0000000..10bd939 --- /dev/null +++ b/doc/1.1.0/search/enumvalues_65.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eightbits',['eightbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a47f14d952cf9bed6c3f7ae5985161990',1,'serial']]] +]; diff --git a/doc/1.1.0/search/enumvalues_66.html b/doc/1.1.0/search/enumvalues_66.html new file mode 100644 index 0000000..7f7df6f --- /dev/null +++ b/doc/1.1.0/search/enumvalues_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/enumvalues_66.js b/doc/1.1.0/search/enumvalues_66.js new file mode 100644 index 0000000..d5ec239 --- /dev/null +++ b/doc/1.1.0/search/enumvalues_66.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['fivebits',['fivebits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8af09eeaf7333d2feda0bd3d748d5e3123',1,'serial']]], + ['flowcontrol_5fhardware',['flowcontrol_hardware',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351a84d411ac86fd25d659eef30aade04c43',1,'serial']]], + ['flowcontrol_5fnone',['flowcontrol_none',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351a083bc02a6e8e7c6540a28654c0f95bb0',1,'serial']]], + ['flowcontrol_5fsoftware',['flowcontrol_software',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351ab3390af5eee11740af5e09d71ad419a6',1,'serial']]] +]; diff --git a/doc/1.1.0/search/enumvalues_70.html b/doc/1.1.0/search/enumvalues_70.html new file mode 100644 index 0000000..35a05be --- /dev/null +++ b/doc/1.1.0/search/enumvalues_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/enumvalues_70.js b/doc/1.1.0/search/enumvalues_70.js new file mode 100644 index 0000000..c073712 --- /dev/null +++ b/doc/1.1.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/doc/1.1.0/search/enumvalues_73.html b/doc/1.1.0/search/enumvalues_73.html new file mode 100644 index 0000000..f2f7db4 --- /dev/null +++ b/doc/1.1.0/search/enumvalues_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/enumvalues_73.js b/doc/1.1.0/search/enumvalues_73.js new file mode 100644 index 0000000..878414b --- /dev/null +++ b/doc/1.1.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/doc/1.1.0/search/files_73.html b/doc/1.1.0/search/files_73.html new file mode 100644 index 0000000..e0de9e6 --- /dev/null +++ b/doc/1.1.0/search/files_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/files_73.js b/doc/1.1.0/search/files_73.js new file mode 100644 index 0000000..5c9a4a2 --- /dev/null +++ b/doc/1.1.0/search/files_73.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['serial_2ecc',['serial.cc',['../serial_8cc.html',1,'']]], + ['serial_2edox',['serial.dox',['../serial_8dox.html',1,'']]], + ['serial_2eh',['serial.h',['../serial_8h.html',1,'']]], + ['serial_5fexample_2ecc',['serial_example.cc',['../serial__example_8cc.html',1,'']]] +]; diff --git a/doc/1.1.0/search/files_75.html b/doc/1.1.0/search/files_75.html new file mode 100644 index 0000000..8ea7b3d --- /dev/null +++ b/doc/1.1.0/search/files_75.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/files_75.js b/doc/1.1.0/search/files_75.js new file mode 100644 index 0000000..a7d347f --- /dev/null +++ b/doc/1.1.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/doc/1.1.0/search/files_76.html b/doc/1.1.0/search/files_76.html new file mode 100644 index 0000000..e53e134 --- /dev/null +++ b/doc/1.1.0/search/files_76.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/files_76.js b/doc/1.1.0/search/files_76.js new file mode 100644 index 0000000..edd4f0a --- /dev/null +++ b/doc/1.1.0/search/files_76.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['v8stdint_2eh',['v8stdint.h',['../v8stdint_8h.html',1,'']]] +]; diff --git a/doc/1.1.0/search/files_77.html b/doc/1.1.0/search/files_77.html new file mode 100644 index 0000000..69f6897 --- /dev/null +++ b/doc/1.1.0/search/files_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/files_77.js b/doc/1.1.0/search/files_77.js new file mode 100644 index 0000000..e1669a3 --- /dev/null +++ b/doc/1.1.0/search/files_77.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['win_2ecc',['win.cc',['../win_8cc.html',1,'']]], + ['win_2eh',['win.h',['../win_8h.html',1,'']]] +]; diff --git a/doc/1.1.0/search/functions_61.html b/doc/1.1.0/search/functions_61.html new file mode 100644 index 0000000..7f39533 --- /dev/null +++ b/doc/1.1.0/search/functions_61.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/functions_61.js b/doc/1.1.0/search/functions_61.js new file mode 100644 index 0000000..4a6b8e4 --- /dev/null +++ b/doc/1.1.0/search/functions_61.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['available',['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()'],['../classserial_1_1_serial.html#afafe25b2f3bb0809550abdc72c51a234',1,'serial::Serial::available()']]] +]; diff --git a/doc/1.1.0/search/functions_63.html b/doc/1.1.0/search/functions_63.html new file mode 100644 index 0000000..9ebe11d --- /dev/null +++ b/doc/1.1.0/search/functions_63.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/functions_63.js b/doc/1.1.0/search/functions_63.js new file mode 100644 index 0000000..e4b824e --- /dev/null +++ b/doc/1.1.0/search/functions_63.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['close',['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()'],['../classserial_1_1_serial.html#afbe59407e718bc3d22ea4a67b304db6c',1,'serial::Serial::close()']]] +]; diff --git a/doc/1.1.0/search/functions_66.html b/doc/1.1.0/search/functions_66.html new file mode 100644 index 0000000..319a531 --- /dev/null +++ b/doc/1.1.0/search/functions_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/functions_66.js b/doc/1.1.0/search/functions_66.js new file mode 100644 index 0000000..a22f813 --- /dev/null +++ b/doc/1.1.0/search/functions_66.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['flush',['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()'],['../classserial_1_1_serial.html#a63b7abf172cad25bfc998b3b1f98310f',1,'serial::Serial::flush()']]], + ['flushinput',['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()'],['../classserial_1_1_serial.html#afa2c1f9114a37b7d140fc2292d1499b9',1,'serial::Serial::flushInput()']]], + ['flushoutput',['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()'],['../classserial_1_1_serial.html#a256ee4bb93ab0e79d7a66b50f08dce53',1,'serial::Serial::flushOutput()']]] +]; diff --git a/doc/1.1.0/search/functions_67.html b/doc/1.1.0/search/functions_67.html new file mode 100644 index 0000000..d0ab42a --- /dev/null +++ b/doc/1.1.0/search/functions_67.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/functions_67.js b/doc/1.1.0/search/functions_67.js new file mode 100644 index 0000000..108b85e --- /dev/null +++ b/doc/1.1.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_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 '],['../classserial_1_1_serial.html#a9b57d6da619d53f58cddc3621c78c32b',1,'serial::Serial::getBaudrate()']]], + ['getbytesize',['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 '],['../classserial_1_1_serial.html#a4fce90ef7a9a46525efa373a94a1bfbd',1,'serial::Serial::getBytesize()']]], + ['getcd',['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()'],['../classserial_1_1_serial.html#a9795a3e83e6745a14c64f657e68061fb',1,'serial::Serial::getCD()']]], + ['getcts',['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()'],['../classserial_1_1_serial.html#a809f048546c4c72b74e205139b97648c',1,'serial::Serial::getCTS()']]], + ['getdsr',['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()'],['../classserial_1_1_serial.html#a6b9a0c485e1fe599dbb5e9e15b1a65d6',1,'serial::Serial::getDSR()']]], + ['geterrornumber',['getErrorNumber',['../classserial_1_1_i_o_exception.html#a91d5ee5241dd49fb39e8e762564b6cc5',1,'serial::IOException']]], + ['getflowcontrol',['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 '],['../classserial_1_1_serial.html#acdc6da48a5434b936b1db20f36caf41f',1,'serial::Serial::getFlowcontrol()']]], + ['getparity',['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 '],['../classserial_1_1_serial.html#a89d876e1d3f0afadb0d6c21b08ed8931',1,'serial::Serial::getParity()']]], + ['getport',['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 '],['../classserial_1_1_serial.html#ae95cd057e90258b1b3203ff8972a3567',1,'serial::Serial::getPort()']]], + ['getri',['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()'],['../classserial_1_1_serial.html#afb96e6968f040c4bff7576095f4ba6e7',1,'serial::Serial::getRI()']]], + ['getstopbits',['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 '],['../classserial_1_1_serial.html#a42887bb76243bf6bbb3f69ff60f9792e',1,'serial::Serial::getStopbits()']]], + ['gettimeout',['getTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1_serial.html#a765fccd0e53562773626fb39bb2efcb6',1,'serial::Serial::getTimeout()']]] +]; diff --git a/doc/1.1.0/search/functions_69.html b/doc/1.1.0/search/functions_69.html new file mode 100644 index 0000000..e204197 --- /dev/null +++ b/doc/1.1.0/search/functions_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/functions_69.js b/doc/1.1.0/search/functions_69.js new file mode 100644 index 0000000..4630e34 --- /dev/null +++ b/doc/1.1.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)'],['../classserial_1_1_i_o_exception.html#af65196a71b800d11b5e5c367caf5b354',1,'serial::IOException::IOException(const IOException &other)']]], + ['isopen',['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 '],['../classserial_1_1_serial.html#af9895af496189f7f0aba7c097f5fa9c1',1,'serial::Serial::isOpen()']]] +]; diff --git a/doc/1.1.0/search/functions_6d.html b/doc/1.1.0/search/functions_6d.html new file mode 100644 index 0000000..d01ac53 --- /dev/null +++ b/doc/1.1.0/search/functions_6d.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/functions_6d.js b/doc/1.1.0/search/functions_6d.js new file mode 100644 index 0000000..6259fbe --- /dev/null +++ b/doc/1.1.0/search/functions_6d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['main',['main',['../serial__example_8cc.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'serial_example.cc']]], + ['max',['max',['../structserial_1_1_timeout.html#adc68e33d2f94bfa33ba1062c363b9151',1,'serial::Timeout']]], + ['my_5fsleep',['my_sleep',['../serial__example_8cc.html#a89b7c9d8c710b057346cc9ac52ae3734',1,'serial_example.cc']]] +]; diff --git a/doc/1.1.0/search/functions_6f.html b/doc/1.1.0/search/functions_6f.html new file mode 100644 index 0000000..222f0f8 --- /dev/null +++ b/doc/1.1.0/search/functions_6f.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/functions_6f.js b/doc/1.1.0/search/functions_6f.js new file mode 100644 index 0000000..65fc001 --- /dev/null +++ b/doc/1.1.0/search/functions_6f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['open',['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()'],['../classserial_1_1_serial.html#af3644ed1a9d899b70e9d63bb9b808d62',1,'serial::Serial::open()']]] +]; diff --git a/doc/1.1.0/search/functions_70.html b/doc/1.1.0/search/functions_70.html new file mode 100644 index 0000000..c62125e --- /dev/null +++ b/doc/1.1.0/search/functions_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/functions_70.js b/doc/1.1.0/search/functions_70.js new file mode 100644 index 0000000..ecb3695 --- /dev/null +++ b/doc/1.1.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::PortNotOpenedException(const char *description)'],['../classserial_1_1_port_not_opened_exception.html#ae8b466d10d496a53ed8e9f949e9e628c',1,'serial::PortNotOpenedException::PortNotOpenedException(const PortNotOpenedException &other)']]] +]; diff --git a/doc/1.1.0/search/functions_72.html b/doc/1.1.0/search/functions_72.html new file mode 100644 index 0000000..a4336f7 --- /dev/null +++ b/doc/1.1.0/search/functions_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/functions_72.js b/doc/1.1.0/search/functions_72.js new file mode 100644 index 0000000..85d6f08 --- /dev/null +++ b/doc/1.1.0/search/functions_72.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['read',['read',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1_serial.html#a0261dbfb9361784ecb3eee98b85fa103',1,'serial::Serial::read(uint8_t *buffer, size_t size)'],['../classserial_1_1_serial.html#aa3795c6cbc96f504932dd02fd6e9538e',1,'serial::Serial::read(std::vector< uint8_t > &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)']]], + ['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#a3536cdcf1a389a2effe27455db31b906',1,'serial::serial::Serial::SerialImpl::readLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a284eeedc3dd686ecef0fdcfd83bebc54',1,'serial::serial::Serial::SerialImpl::readLock()']]], + ['readunlock',['readUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a63f05143ebfa94168e1df5047362ef0e',1,'serial::serial::Serial::SerialImpl::readUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab6533e884ba609a1dd6a88b7964d8b52',1,'serial::serial::Serial::SerialImpl::readUnlock()']]], + ['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()']]], + ['run',['run',['../serial__example_8cc.html#ac1f545534cdaab9094198a5dc2c2a79f',1,'serial_example.cc']]] +]; diff --git a/doc/1.1.0/search/functions_73.html b/doc/1.1.0/search/functions_73.html new file mode 100644 index 0000000..774d577 --- /dev/null +++ b/doc/1.1.0/search/functions_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/functions_73.js b/doc/1.1.0/search/functions_73.js new file mode 100644 index 0000000..761e893 --- /dev/null +++ b/doc/1.1.0/search/functions_73.js @@ -0,0 +1,20 @@ +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_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)'],['../classserial_1_1_serial.html#ade90ff8f03525ea6d7b702fcd0f336de',1,'serial::Serial::sendBreak()']]], + ['serial',['Serial',['../classserial_1_1_serial.html#aecbc4cc1723143805ae5a4aa79ba9332',1,'serial::Serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html#aa4b29d2631c6a9a0ebe591834bbc4609',1,'serial::SerialExecption::SerialExecption(const char *description)'],['../classserial_1_1_serial_execption.html#a824b52fe58b37de592d7bd13e7949860',1,'serial::SerialExecption::SerialExecption(const SerialExecption &other)']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9baa5dccbb7935163bf6715eb5d9deff',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#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)']]], + ['setbaudrate',['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)'],['../classserial_1_1_serial.html#ad4f7e9edff11b464199e94a43dfd19bf',1,'serial::Serial::setBaudrate()']]], + ['setbreak',['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)'],['../classserial_1_1_serial.html#a2a27912b1ca5cdad4a4aba7b9ddbc206',1,'serial::Serial::setBreak()']]], + ['setbytesize',['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)'],['../classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa',1,'serial::Serial::setBytesize()']]], + ['setdtr',['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)'],['../classserial_1_1_serial.html#ac9b0bbf613a5fe68f05d1d40181a1bb3',1,'serial::Serial::setDTR()']]], + ['setflowcontrol',['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)'],['../classserial_1_1_serial.html#ade41650d6bfe91b6432e5a0a60c03969',1,'serial::Serial::setFlowcontrol()']]], + ['setparity',['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)'],['../classserial_1_1_serial.html#a1e1896aa59ec35ac5bd263b87614ef01',1,'serial::Serial::setParity()']]], + ['setport',['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)'],['../classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a',1,'serial::Serial::setPort()']]], + ['setrts',['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)'],['../classserial_1_1_serial.html#ab43ddc05e5d69ff2778f698aa7062370',1,'serial::Serial::setRTS()']]], + ['setstopbits',['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)'],['../classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5',1,'serial::Serial::setStopbits()']]], + ['settimeout',['setTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3',1,'serial::Serial::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4b4be39af3e1c68bc6ac09cb55788c86',1,'serial::Serial::setTimeout(uint32_t inter_byte_timeout, uint32_t read_timeout_constant, uint32_t read_timeout_multiplier, uint32_t write_timeout_constant, uint32_t write_timeout_multiplier)']]], + ['simpletimeout',['simpleTimeout',['../structserial_1_1_timeout.html#aa4fbd72e16f47c9aea9fb3c32ca17828',1,'serial::Timeout']]] +]; diff --git a/doc/1.1.0/search/functions_74.html b/doc/1.1.0/search/functions_74.html new file mode 100644 index 0000000..e3c96c3 --- /dev/null +++ b/doc/1.1.0/search/functions_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/functions_74.js b/doc/1.1.0/search/functions_74.js new file mode 100644 index 0000000..2a6b2d5 --- /dev/null +++ b/doc/1.1.0/search/functions_74.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timeout',['Timeout',['../structserial_1_1_timeout.html#a1a454b17f5d653b8e1b04b3ec2fead59',1,'serial::Timeout']]] +]; diff --git a/doc/1.1.0/search/functions_77.html b/doc/1.1.0/search/functions_77.html new file mode 100644 index 0000000..8fe9755 --- /dev/null +++ b/doc/1.1.0/search/functions_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/functions_77.js b/doc/1.1.0/search/functions_77.js new file mode 100644 index 0000000..585547f --- /dev/null +++ b/doc/1.1.0/search/functions_77.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['waitforchange',['waitForChange',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#abf091b468bdc0d9d338e51e746e0c397',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09f1dcb8e32cb64188daaf8ac0d40215',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1_serial.html#a419dc984258956a5adb41fb8c86f5449',1,'serial::Serial::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_1serial_1_1_serial_1_1_serial_impl.html#a222136f14876f84fd0d95f47a7d9c541',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a89b50df2562176fd250413833d636d0a',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1_serial.html#aa020880cdff3a370ddc574f594379c3c',1,'serial::Serial::write(const uint8_t *data, size_t size)'],['../classserial_1_1_serial.html#a2c4180b4c7d386c84e9d0e7ef4a267d3',1,'serial::Serial::write(const std::vector< uint8_t > &data)'],['../classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460',1,'serial::Serial::write(const std::string &data)']]], + ['writelock',['writeLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac094e8cb4a5957e1ddeb1d4fdc9d9536',1,'serial::serial::Serial::SerialImpl::writeLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2905e50e9082a757bfafc03356e318ed',1,'serial::serial::Serial::SerialImpl::writeLock()']]], + ['writeunlock',['writeUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afeac86484622bbeb08303e98db24efe0',1,'serial::serial::Serial::SerialImpl::writeUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#adaec2b322f0b0793929da24f5bf09949',1,'serial::serial::Serial::SerialImpl::writeUnlock()']]] +]; diff --git a/doc/1.1.0/search/functions_7e.html b/doc/1.1.0/search/functions_7e.html new file mode 100644 index 0000000..fd1d3ce --- /dev/null +++ b/doc/1.1.0/search/functions_7e.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/functions_7e.js b/doc/1.1.0/search/functions_7e.js new file mode 100644 index 0000000..e8440ac --- /dev/null +++ b/doc/1.1.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/doc/1.1.0/search/mag_sel.png b/doc/1.1.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/doc/1.1.0/search/namespaces_73.html b/doc/1.1.0/search/namespaces_73.html new file mode 100644 index 0000000..5ebf8e4 --- /dev/null +++ b/doc/1.1.0/search/namespaces_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/namespaces_73.js b/doc/1.1.0/search/namespaces_73.js new file mode 100644 index 0000000..ed4fe68 --- /dev/null +++ b/doc/1.1.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/doc/1.1.0/search/nomatches.html b/doc/1.1.0/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/doc/1.1.0/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/doc/1.1.0/search/search.css b/doc/1.1.0/search/search.css new file mode 100644 index 0000000..d18c1da --- /dev/null +++ b/doc/1.1.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/doc/1.1.0/search/search.js b/doc/1.1.0/search/search.js new file mode 100644 index 0000000..cef6337 --- /dev/null +++ b/doc/1.1.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: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111011101000101101111110000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000100110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101001101000101101110010000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 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/doc/1.1.0/search/search_r.png b/doc/1.1.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/doc/1.1.0/search/variables_69.js b/doc/1.1.0/search/variables_69.js new file mode 100644 index 0000000..c0d7081 --- /dev/null +++ b/doc/1.1.0/search/variables_69.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['inter_5fbyte_5ftimeout',['inter_byte_timeout',['../structserial_1_1_timeout.html#ada15f2a0ae478cbb62ef79d1633b2b81',1,'serial::Timeout']]] +]; diff --git a/doc/1.1.0/search/variables_72.html b/doc/1.1.0/search/variables_72.html new file mode 100644 index 0000000..29b87f0 --- /dev/null +++ b/doc/1.1.0/search/variables_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/variables_72.js b/doc/1.1.0/search/variables_72.js new file mode 100644 index 0000000..dd94aea --- /dev/null +++ b/doc/1.1.0/search/variables_72.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['read_5ftimeout_5fconstant',['read_timeout_constant',['../structserial_1_1_timeout.html#a099244649dec66b6e0548480edeb2b9f',1,'serial::Timeout']]], + ['read_5ftimeout_5fmultiplier',['read_timeout_multiplier',['../structserial_1_1_timeout.html#a64412753eb2edf1621716dd9f1a4e71e',1,'serial::Timeout']]] +]; diff --git a/doc/1.1.0/search/variables_77.html b/doc/1.1.0/search/variables_77.html new file mode 100644 index 0000000..25c3e3a --- /dev/null +++ b/doc/1.1.0/search/variables_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/1.1.0/search/variables_77.js b/doc/1.1.0/search/variables_77.js new file mode 100644 index 0000000..43fa260 --- /dev/null +++ b/doc/1.1.0/search/variables_77.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['write_5ftimeout_5fconstant',['write_timeout_constant',['../structserial_1_1_timeout.html#accf01b97f83564f4ce3d6e5f63e21006',1,'serial::Timeout']]], + ['write_5ftimeout_5fmultiplier',['write_timeout_multiplier',['../structserial_1_1_timeout.html#a31ddae32907cff9c3d27fa763981317d',1,'serial::Timeout']]] +]; diff --git a/doc/1.1.0/serial_8cc.html b/doc/1.1.0/serial_8cc.html new file mode 100644 index 0000000..ae8bc77 --- /dev/null +++ b/doc/1.1.0/serial_8cc.html @@ -0,0 +1,125 @@ + + + + + +serial: src/serial.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in 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/doc/1.1.0/serial_8cc__incl.map b/doc/1.1.0/serial_8cc__incl.map new file mode 100644 index 0000000..9b93ade --- /dev/null +++ b/doc/1.1.0/serial_8cc__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doc/1.1.0/serial_8cc__incl.md5 b/doc/1.1.0/serial_8cc__incl.md5 new file mode 100644 index 0000000..3cbf1cc --- /dev/null +++ b/doc/1.1.0/serial_8cc__incl.md5 @@ -0,0 +1 @@ +c658af7c9cee1bc94ae43edfaee9db94 \ No newline at end of file diff --git a/doc/1.1.0/serial_8cc__incl.png b/doc/1.1.0/serial_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..574e4e85843adaee93de7f909656846377d1fb34 GIT binary patch literal 27740 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 bh@ + + + + +serial: doc/serial.dox File Reference + + + + + + + + + + + + +
+
+
doc/serial.dox File Reference
+
+
+
+ + + + + + diff --git a/doc/1.1.0/serial_8h.html b/doc/1.1.0/serial_8h.html new file mode 100644 index 0000000..ffd798c --- /dev/null +++ b/doc/1.1.0/serial_8h.html @@ -0,0 +1,215 @@ + + + + + +serial: include/serial/serial.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
include/serial/serial.h File Reference
+
+
+
#include <limits>
+#include <vector>
+#include <string>
+#include <cstring>
+#include <sstream>
+#include <exception>
+#include <stdexcept>
+#include <serial/v8stdint.h>
+
+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
class  serial::Serial
class  serial::SerialExecption
class  serial::IOException
class  serial::PortNotOpenedException

+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, +serial::flowcontrol_hardware + }
+

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) 2012 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/doc/1.1.0/serial_8h__dep__incl.map b/doc/1.1.0/serial_8h__dep__incl.map new file mode 100644 index 0000000..0c1cf0d --- /dev/null +++ b/doc/1.1.0/serial_8h__dep__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/doc/1.1.0/serial_8h__dep__incl.md5 b/doc/1.1.0/serial_8h__dep__incl.md5 new file mode 100644 index 0000000..880bd7b --- /dev/null +++ b/doc/1.1.0/serial_8h__dep__incl.md5 @@ -0,0 +1 @@ +c98d963b631b13d25afd23d112f3e739 \ No newline at end of file diff --git a/doc/1.1.0/serial_8h__dep__incl.png b/doc/1.1.0/serial_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..d7f6ae644f9592792f019d768369f1184f737c37 GIT binary patch literal 15660 zcmajG1yq&a*YCSUN*biQyHSuvK)Smd>5y)uOF&9WLXqwUDQPy{El78F-^Kqu_uTWI z@s4r#?>F2G^m(53tTpFcbA3N^Mkpyrq9PF@K_C!RX(@3P2n5Cj{M>{H1O7B+OdJJY z@Fud7;*h83|FT>16Cej zku09J*44GyE2u@QnV-JgDyp55iSo9=sd0tJA@~Vn&s`u#0P~`w|MxQ4%w{?*#mBe- z4oFIg;X%FVwgl|NSY|t;ZsPgGhwKR)+*^N>QsUxB6y${~nG8Taf+xHy=Mg zk=cV@W`*3BE)I z$Qz&MMh6~>v)xzT_SnC5mbBd3*myHz=x^uXpy_l+#A8oQN5`}j+Pl`>)5Ay>^eZ$J z9xjX=$8JlVS{F|=ymMuLu~C&CyGWA?BC-eWM*@cUYdE_c~nU-8eg$$XBec zuEudlh>KI!(<|{oiNE$~4HWwtS$D=5Uy4jIIX-?0o>(~94Ed}8_dJ%vzfA-vq1RcI zap40SGIl}6TJrMIMKl8>f1Mij<_sNa>F5yP;8t*^rluGg@nU<|PCU@i&{V=kXJ==} zV#T|03YC+Sl9Enwq%n~~amgAt_{6!cwc_H^DF&fvD2UuyBrjZxFX z6qSnpZNJo9X!bz`T*d9WJK5LQ$JTl+x>y8(h>AGD@r^GoerdC`vhqA#ho*8__}v}U zS5;L_PO1efxw>AsFZ^?>b|_ZbZC2UyFK4I zIXQ`oi*r9*e2-XLS68N8P5bWMbw>#D-PMtzlvIPu4p!^hT5qhNfIwPW+T;D%$V&t? zy#_~Pa481|2gyN*F@Dxao6n7ti_7`v7cbdSUXyi@`QKL>wFh2bUxS5_O=iWx#+D*w zFu;uJE-ENc$|)1_y`|TVON@++>(? zMOF32=kW^x7duLIRTUxEM>!Q0tX5wc85t!dj8Nm!(o+AY2X`^C&JyivzuO(UZg1b~ zm9Q5tUbyh->#>CzkByDxNJLv(TGF$yK*mC@xB|@AsH!rWJyE_hQrl_dMseS8T;PC;Gf`^Ake%H(NgUbH?{xROF z1{?$fE}n_}vu$QYU7g?c@sH~)u+YA@=W&Z70yuR)f5P}1+uO79Qq^Z?8~yteP*+!{ zp`iinn>J1gkpe9&Xt{ZCV4%9b-rdo$ptSU0x$P;1!}J~Tu%Z7$Eil#gAO!cCWIZ@I zIAABS5fSaqE8lsYsh=3j5Gj5c>qj!hU-axFLq-W22m=i8g?v0ded6$YddtguGnmS? zI#ya-%oHNp=(>k1O3%Sj`TIAazc4#{MMJ~&<-r1esG!$5y|6GD#ro0F^5kUV*RP+A zwSZ0UP8B;WHAhhA9c^xHmFw1*6&6B!dOmKC{|XV#c+B#?!2Nm$~o> zGBR54O_$zX9-LiXq9G#wS-v_s(XO!^10fa6?Y4`TloX<9-_+Daae3=}tFO1Mt*ySk zzNO_hcri>-C=|Nv|0F1C+4q%#PT_kBw_RF(zJ;pl#Lo{=_$Z-^E$@h97L{JUd^wWA zkB5U}{_*4H-X1@QDZY1?c5_v5PsI(CLwoVMW5AWD>v>(aM`tTdJ3Bhw2!m~cC2*?| zhJ`#%3WVp$`#9%=gM*8U3szRvDt~Kxdt5}=>FH^eBj?Mn;C2vQCLCG;;E@uoK$< zySaD;w;S~hl^{|eBO^B+EzHh_w~63(=2N<>AxDVsF10l6-$h=~#I zLG2)_pt-qO;T0hS5+wyG-TvF;ZftB!hhuO4HeS>?4*HQAD_Z<#JQO9E9#I);#whxv zt?;4~R$cv$T`uG8-q4_zj&9iWbmnVB>!js@#b)6Ulc9~JUiM7FB*q>ikJ-5ol))HS z6v4*$p%}m~Wl7$OB2tu;9(?e9_@G|AJyo2%+B^FKGWqgKF8~)C8`~%&=hv_44wLLu zZ8p9Zrsz$%-1!9PH#5!zxjgAje9qJ^vvI|YTRH00V&#FQ7M_EB+63q(FYg@VL4!#* zt*q=*t8ZIm)PP!!LAQ=>6fiB(9OVKvMp1062pLM{b#o2zTot#&dzolP@@kk-X|OA| zOqZtXi+n~1`B{*oQi!doxj@9D5lvjUe=B3+(|R1mrr`7RV2B?&IJ6_^-Rij_CatXe z0`bSK*I_)3Bo&qW)`of!;b$0XtesADNm{yc&%M$^v#Oso=x{K~Qc`4aL?H5^faP*O z+k`VAS#Hi&qF-8KO=e|rc6V2*UEkf!i+Jtc-7Aa{!HyNNzI7E!Ok3>#RAykniWtX^ zBIu*V`EhVMS2lKL>TNM$1kB&2h2Cx!{pyb}A)r+InYEYl#Ez-|C{ zrQm~yVDC%~SUo+iU%K(St3b`hx5tEfWBqMSP0Oq+W66>gQmdLuN({&`D1*0Mc7I7b zz`=PI>Y!z@$teuuMX<*qiXr0QYLEzh?>8GqK-n%U#kmAG`PVKeCVERtxAm60PWC}F zNFwKQd&Tje$SGKgg!t3qBEq3TO9cgu`63cXHhjt`>^WW*TeH{2PNk_8FE0+ULX-&k z?a{I{GA_z;vuDvNTlB_nr;VNbEK*EFanTiF^LVLW%l=uy#vQsvxEHr?-T(cGUUk9{ zrN*L+lM)irud~lMxm*xbV^IpYbZfsn(7ZZqk*1~kf$>_?eS7pLCY6_kS+kr>zoNph z|LL#E#qUCvU%eeGG__L7lauc)K$^*iPOX_8TU11-kn!7pwd?Qc>8)~(kErNvnW4YI zqUH(5T%NotE(?-Itr<$E+hKE^^Oh@$7~(_zS$@8QqjR-7)%?xbQ-dd$CTAOEaDiH+ z5`7xC-6*(de}7$gTv8AUy~*-*Yi`YqdU6Po$z9*H=iqr-j@2tJPPbnkmY3>Nkm+}@ zwA>l%6r%5AqVKa=mm*_g;$o42fovm!u}OA`O-)V)+W*~O@^+X7n|a1}EyN$t1b@Hl z3UPYuI4Ct^(&>W3Sx@Xyx%G{m-90c3!^TtCCnU}I+P7SE7ExZtPY+jXvBE;kS1LbM zpc)#3%l=^Ns7Uq-8BkZ9sBzjTB;s+x=zxI{SX~oNZc0_6@9$>>Q>F+ePL@d=@#0_) z7k8S6d9dEFt*mIt2p&R@4h$H%ySuhGCO1RSyREg=e6iv2sD;P&`gkcm>(OHPSGm@w zcu@)t{PWH*JXE61LTiwL%AajMWM(`dwLuwy^G6f!xUP1YTm){Nz&_l5aBd_SrqgNj z8_&;*Q7(6cQ~2IML_$*U<=Q1l7VWdvb8#`mzyJrPv)+E=Tk_1pf-XG#B@)sp66(R; zs)?Sg10)*(xGyCGevyoo-Nwz0ol)hWLe}FicL$5NyJ=i>v>Y6YyTwMt84B7})Misf zC)U_ex^0j5V>#~E_fNm){AiW|Y6YOl!W<6#V} z&5MRAI8%UugvUOAo&OEt+~W67>wO@9BDKa_n46!!-q~S0wo+2e`j(nHcK`4YsWxS{E7|s|7kBPCd+mMdtBokiR-!4$br;>cs($b1HR8nK? z9v-G-ub5eCaef=A6=rRncDTf1QeBOORmJ=L+u`4X6J~y=U-d~i3ESHccJ}8izkoyS zfI1?A_iXD34>4GcF?9rwBAA#&JC@90x?;A)+u`wg%{)LvDpv&_ZU1phl1lhyz3+5m zWgt0rN@DUi6))=U;a|!)#Ip-mWUv@$mxSCUnv%%c5C}Cmr)5OV{wQMpq4dUnQGt$b zIzKD4MBDkYJ8Fg!6Bl>WdwWzARkp0i8vl)Df>ba_;MSiW9pIxScs5n1~-`lb3Ut-n#6Vh`G2xw%Mf0va7d8l+?$e z3GQu=wMh>yC`U?@^ZW0mi4;lS=Ll1d;2^NAA`osF_@bajY{|%#c zMQA-&ZEj(q-SzPiojl?3!_|bVYK{mwu(rJH?9YSZ(M z+;LcH&u;b`l9y%b@}E^zpW0sU0&|Uqe1?j4SyeZ!PxUg}0a(BM&KY?Bf#h<@nEOwE ze@pi>H)iX9_%QXF?vWUKlArctYbDygI3>uKIU6UkL(wjNjnRuEAbwT=Yqjfrb9!;I z=6>N>z__y(i*8||x!8PzLqT>fE$w;Ka@9nkK&l}oi_FG#X0D?0c(FHvgjB@Lj2{rt z($V1~8GEVhaPbj>f(C*Xrx-zz%x~{{%lR5ZbTWfqP#H`@&Om6VHHKo)Z(siU%1Zfr z?0~VHJ1rf~@EEku!!S^s0ti`ACa-f=C&%X>MZXwS{eFz~S&Xn!aDRDg^C;kZ`*?Gf zg^F)#OVT9Z8N2f8{9iJ%u9A0I1?x!p|JEoV{>HZ6MbkJ=;<95x4_fT( z@agQlbKUzW2`sn(KA!0soeIP+YpWGhvd4!+1_y^ld}$ZvrvOD#gGx%DInK2#ffD!# zD<#k9=+adyr5uTy3ayXgk_dm&!3rW0%z)J|)1Lu{H8-7kK0&?FKX2&Ji)FxM@6A+m zav8=$e+9hs{z9^cJdyo5Gicp<_ls=-V_{w%1N-rv`9Q}v=2sMaxHod1rxk>|yJ@Pb z$ngnh4oicD1^;IMcfdv7+uOI52LrxGpw@g%Lt2#g3;TTASU^l&dT%DH&Fw&2reCK; zU&BDa^SVE2gO&9wsoH0Mhry2)G&CEv^~lZ5ddF|^j0v$vUw_q;kMSs&pPalL=6^hD zUL(W!XG{$4b8Ql)TQ4#6oi}A$3wy;;hgMp`^=%}MIF50XOD@)$Xu7F14idZDnZit0pwkd!zkXKk?q5ged}xb6vt&E&mBrM<9E6 zGwHsswM-%AHNNA;w}*;P4_+XrH2P^PivaA>f}Se72L~o9U~Z4v+S>B+PR4UL#1VdS zrU;a9#ZP2s3bAl;<=osgttn!%7d}M<4!?v>;jeF~A1-H|<uoEZoonzXIcs7VlD& zjPb!IoKN1?nrvUGkxQwF>ITmJ8ywkOuIw>EkpB90Xr;#G$UfF$E{>|Dv?K*sC<<`S zm+)fh+Gkt6)6-5*kKP1h0R`x^=&wIecVr4OC1k+k5bwXW)na?dazi^uqSg$86;p2{ z6`;?2_i5&2jVzY*K+J`iFaX*aY-6=z{;{>$PjK({!Xh`6DNwPcfO5 z9Tlk==yqZ-V(Q&X-bYuPo0km@x!`T#*gduU!}H(M&~9?Stz8k$Lj6wwonGi}gRGD@ z62jvbwE{V6Bwy}kW3sTjy?qHxH3_(A84>m;0=hxf+}!mWdiWqhjDG>k*&+Fe5QeXM z7lbJ4Nfxl~y15`!xGz7D(4z0<&y+V>S%v&3e{fS*56Ypk*;X1E9c?u>Zsq2741tj< zyG05uV)VQ$@!6j}2t#9e)398}2%ivkkrimAbd3E%6&|YICWWT%>!T-pO>TL*{^HpC zGmp;i^XqC0a~=mjb05PY92|AUlnRhBI)GJt0ttk)^mD%A=a(A-N5%e}<{lL&3+Xq_ zW08J78wvO-^IC@zD)Lq~cJw4nf zs<0BVho)9gaz4J%9r8vjl+dEIg$9nt)o#hF!&07Aoc+rq#rX;fQd)E($^enX4E^Dc z7L{{zBbiBY|3{qpLPV|EvA)^L=SWTvT0~e>?tq3k+w5~QOCu{99+T_bzHUsVq&v{! zoX^h7D@;MrR8`g9-tIJ8VQ`J^{XL@;Y!H^OsWtV3eiXSq+;iR4FWcwkJD62|xev%- z_nhs+#+#{{)3$Y+Zt)(0gE4ON(>EqeIt zB)fyB<u8(S-DGybig2jp%TA$13CYw@kGtpyR}B__gX&X~{5ZA9{L^&8mPFJ(zMQ}ZD` z{7lOHo|&nTzxVg*06Q|bv9UZ_KDheKL~~|Dn);e1cIn5&4gmo{yzh>%uzugrkbbMr zO@(o1c;rZ5O&!wUU;*{`yPq$2lyr3F6@?$fU9hdel386J8~EP3C^r+FTdQW5X5Qc5 zIFrV@Zw?X+MeU+cVruCB-CcD`+!py<19ae@KYzXtf{$2^d({6o`a{fOFy+TW0mPU+ zsD(jEL&N{UYZ|1cNptvKwPO?ZilIv|ZxCXi;NW+ARhJGrVGxtm0jzl<+?0k^&bUJS<$$%8QxEOUT0N?>1 zM!FgEfp4|-^-OKPK(VYcAJEa&O*_B2cHK*ieLuc8Q;tI%s8-|g zA=2HGs?pq<<6|X|Y`dfIkYQmiR^MQQL+aI`V3x3d1MWbuK`G-~uiDeMX;O+BNkuIR zC1=0C(JH$#`i9GFtf!@>GGIj{E@uvGJS)EahMf!y4DLru>dmO>L&L+v8ba{WKzu?% zd(WuTOxfMk9Jk0>i(jo}YHBJc_eF_bjZH!9)3u}ZNM_9Y_Xax5uf1xECby^hXDlfN zwbhF*`6`F^bkfA93ePDRlM-y4oH!G1+H&uLMJd8Mw$r@d5mW%pp+H!Dn-Glhzdxi25W$YrRbIe?O38gg+@xE-fuBE;83r#rE3R z+Nvq#Eec0S*B04AB45D<0$q%Thnsn5=-|^Qbg=40e{rm{HFJiKrmEid+gV6^EhTJZ zVm7X4#_({zQ<>d#diiz1lX@g(5tWbcYh4|;x3~93(>EBxI-Kzm|5gr2qh`HV^8J%k z8GQf-pYLtWDvn%9X=!>|8WJ+HHuE%F+r5d6jVx_~D`I`qgXNdobVEd)L<6)u~15tN@ajp`jsd zf|aRhwcmqRoK&y_GX|obp5E^6E+7Y!E#B@R9*T z$&Doe`b&vE%lDEX)EHR6!Bp`KxE0Xi8L<0-;;E~nv;K{t{w<%i`X|WqrEYFzB_&<# z`~TX5^nbf}UhF1aPh#WZQU-I|&Kg-*NK(cH1_coj5#eMF0X`&q@j}pjRXnZfF4@&p zZ^J#nptRb6gp{<^xDy_wGc7$GsQWV|+Cja`V8Rj;v7vS$?M+Sm-NIC=;y#R@;-@1*tga={^s&lTyZz@$|(Le*~Z%XScy(PO-)_h_2JevSPAeg85tx|OQ2i>U)%rrLU$&eI?)BB02!Q*ceE@PFKxW(66^A2{m4*cepw|#d7cgO8@`^(;hRFFf1T{>#-&eY?SFYaSI3#FB|QQ=Xzi6Gtkp#PwXtz*%cQQ z0BP2v(&?&0mzROz)v~@%2y#fr;-X%h)bm8{O|u{%gaN!I>xSJ-DYt35eRH;jAG)%v zq2K5P$M#Jk2hf()e1bLsb`)^C1z^=1-wMea`|FC+7$8BjhTewx%|` zmdg|%Sk`~hDN}ZHlT=nV0Aw+BtMcLPDJv_h(PHxfpUZuMpms|;yXcr0gGMJB@UyM$ zVy%s)np&c5bkzZ~gpr~~-uIZ{oc&scE0^ZV_DcT*8%aA>9!O&bLc%-#Dk2vb^7t0n zPct1$iF$8snLa_RuN2|%NE9x2Ss57O?($X*DDHTvTJC?yeEfOtPVqeS{@t$R`O3Cy5R(7n$54xu+8r}3K@^J#Gqv!M9Slp zPJZ{p``zMlA75V{hb5pesKI$lw?T_~+?KVtFO@$uXj}B+byE|8taEPX>rkcGk*J#qbyS)X}d%4M-jf3OUz&94KD}fJ> z{bGuc?{C}a$UENgwampag18oLobPCGs4;CCqacVsOYyc_@3AZ--Cn}!BSX*2c-%^d zZJ4@0lVmy+=(8*#*1?K_%86GbC^$T{n7$B`S-;B7p6%d?3 z$_~&KCY8is+S}s1JX%`Xk0-0$Ydz6>mTcfm;DJFxl98EtxV06Aae989cn=s5oFt3% zA`EbGFl*NjPfhMem-}<7_NgSbp^F+xiQm5Ag8cy>A8>)l;9%G}PeG?nE*Q}t+xv50 zw5#D0pc!`+EaqOdZEeDjgkH63shF6UGiCa~HRgZ`i;0OjEH=b_|4vLqRGcl*_|Tm5 z_58i0h4|&Xnj;@J&;Q=~0K)77lNPkSZE5FPs$f^l!<}4YN249SKSe@7z;HDL{EpGN z?h3!{?P?MXRdwrKcE8jmn z{CGAZ%z+{+C+Bng?}e!4{%j?1=Ia?48X6if*nEWyQLKq2PA)Dw#Y{a-&8_Wid`!#$ z#h1@h29TDWogJXBCrT&fBwhaMA1`zCDC6j9Y2hgnv$FibjhaCKc9Obv21thFugc_NF>)*MJAz{IR{ zSQhg4_vgzX#lpfOB3fv2cQ_$e=MdY0I*o)c+NhrFD9OD~A3znc--;6eeiTK6U}P(nn0FkI?Z1D0 zff11Tp2rmz+ek>jw^lZQxMzUrH+lX2sG~#FhlnuxTVi5je7p%j>VEgvV7|Cg2YH=0 z5n*9ILE_E(LFm#^C;pS4d;Gsi2%i%n)k4SNFXoMI@II_LV z$ozfiIi2bW`9;fH-H$Sdz1}7dn1d{%&bFN$jK14QYXlu_ASs>etYnYpx6JCzQ#3(P$v8NX6 zwx=WY`3)C**Gn1$wI!?F$c_H1j_+3aN8*c$i?akgDKQYKm%Hd*fBW{WpGAfmYh!&~ zz~@@Y+PZeN>cGP;> z74hcnWr#uPnt?nb37w`~64%e39i_Y>^OxHNXY@-V2>P<<3o?<5U_>-*vX{;hIo@R? z#+<2#hlfs2W_ETgSH6;xk|%h5Cb+n`tLeH`Qq=LWv9bS)qgo`hI(Y2Yor1hRZ}1~Y zE&Nxfl@2k!3_j0O5g60Y2Bl`@+?f4YnDPo?f!xWc**U{G9xs7^f`SvMeVgM-M@0p@ zpe+-FQ@K4{ax*6%O=B7}ZWIm%hKLKc1i;jHn3#UJxF|nga(oyqb{)Z3&})B~SIDim z%gsMKK>-d#mOezwhh(a%rS)+AY3F<=C>*Uz{C)Yfpr!N1j-4(L=WfBijH0QTKK$s( z1nP<~flNBXjuI8?k3qnjUG2XFs*QAj7`$DJfDWA1CST4oeOm-n9>D>X-XJQ<``^ya z`WC{O+6zdixL4gVC|0@ZCG*F?LQ)o|*S(vLW ztn~J5G}lgjD;h3}sjYKbTH?WsyF4B*nU7pcVwGP}TN@o7PR-{NF3I@Ty-4h9G+p{t*%zQsfGryF#G8r%vLTG@vZ_^e2gz{1J$BeNU{FUXy@o?<>*Mr(Fk3*t?c-v{Dsd+ zcSJ`=k!SRvX!&izHjZ!3c*V-|i^PaNWB=?Q} z1oh$`@RSv4xj~wQv59(jiFvu&y{DRgNK0*ILt4FKR9&sBdlMJOuBi1EKUDwsxfZqP z8$udx?uczi2)lA#x?bbrWlD;Fe6duppqE;Sn{ta6F9~0bQu_p5p;}da{oZ$8v8l2S zSa7Mw_GqSp0y8j6Af1#0!4^{#AnN-Y6tw)1?QjVD2XMDo(w2$oo=(GwoyqfaytG7a zli(SiWw|&{ryJp5QQL(&0_@10y1F7jp?DlN<^w?5}3pHm2Vyne4`y7f)ZhXEX8K^(`VSGayGBj-M zu%-C@8h0!JKhtI=^A+rqoEr|(2mkv|3te<9Fd~Sr<;(IFmy?^Jk;b!~Vcn~G#dR#Y zdFX_b0F#CD~a4akW-2D8MFrlT4vT}n7gn26Tzk(1{Um+ntCd?zDZ-pM;0}*f1 z0wYOAT5+aBPnth{u?+8_=S z+;QUs_BHJ_CNQN&PcGfvR|qfx+qW0_)PelQrw@Sceukh+N~X}2 z5TbO>?laFd5t(sr08IttIiI1Njq6?)yA$#8d~;p2*e32r)_nQWw!4${^$xMOD`D>N zs7}c~!pws_3|2!wKfDKy$w9fAABHYlqn*5vMfJ$Rdzme=18Z>Rpo`*PIt490w!hbRA8RotDzL4kK2|D|u}>nd?@ z!SqGN#Khi)$)N+bVWp_5t4jb1b&22I)iFYS4RL|i#508&<6pLIBr;%gW+>z;Jzjab zJhe)+xv3ju3F)t{B|n}|>=$ch!6P{EdUKQbu?5`S9rZf29UQKj$h(k-O5RfuBZY|P zC~vzkg6qfVv5^QmD|%yBY_K3My*1OgpjK<9thAum22e+OwymxnS|IDk5Negd8O*(R!C3tz|hxOmpjg!p)2=gn5{tDjA7wKROVo!=797(vib8Ba54`3}Tc zh^m>6A+l^?f#qmI@8tR3mfK1P-a`Gzm#6_0q}z70FXYiuUzuDX83X_ip;Uo$a!I zvNm2+6ncF8_K0W@DWO3j-3U)-QTAsHBT$^R;X_Ido*a@qE^k zu{`$c7$kA5dQF#uot>46WC@w$xh&X70Fw`I)V(G_gwXc8B-nWJB2fIIyV5gPE?oZ* z6_^k|4GZfrm~nS^e^Ut{fH=ZbW0`?3A?|eYHvN~d++2c1XSmPwAOsq=tbUcEejsj) ze~naEaCbdMPXFz+Bk5EJu_Kuje%TRoA(!YLkAGo^{89v4 zRiVtQCNQ{YaL|%TGp5Parnb6T-E5sL%ir(*!sewPgg-q42YcPzUV)AeBd5b8wf$u> zggi2WR?`RW)k~7b$i^mqV&TV=A7aQ8uYTMmfwZ)&mekTG}v*?9b!B_Z(xGg_}z)KQ})bXyGq9PH`e5Uo)UVf;q<4 zi?*1g3L>Gup5w^oP`Rz`Ae|zhz$39UGd#d#t3Xu)pd-<1!hBvK-JCYofjDUp@=!3m zAg%YJ>d#8JqW^Pg3=kBEI99^|Tt`{;477D~v!wT-EAhQP(nI};4l(kP<7p)9N5U#f zdt)Wybed*00bdFrRgG2K=6W+FALWNk;d0NDpYZWE7NDXeSX9}DDeKv)pEuX&O@3o- zP*L;j6C3?V0V3F>t%7`f3J!RVic)=b)zuz%2c*Csf**Z%_95bx2K`tSOH3GCJC5XPS%U^pUPqWG^B2arLB~a|G>i95k@!4;xJWw z{~l-T{ez+n(-A1T(Bl7@aL?})@~RVp@y9Ho_(eJS561f!`=FN0!G1F&)IJJSir7y_ zjmgQ#yvSk;UZ0o#k7FOJYC;f=BcW68G`=cL={mSJd7MOTZ$mAH7tvAw_I$L!B*6rf zz8qBhxVhni(SQG6-i&z&`~m_t*&bjvGRFuNbadsYh{qmJ4-dh@p9MKM+$ZTBU|zD@ z|HpO9>Ye8x?DlyndeOFUuhe;YE5Q}XiIXwJH&n{#Mr^EQzK_ixC+W%lYTEHJv#hkg zgJ5)GClo7#H!d>n6eu@*0!|X~>~4e?{t*$4d}!nh3?u#hgUe)@F-s9z%vvunL2v^T zIt?b2(ht(q)^_)umxIp_;%#DbSYg~!pr*PXz!$_e4q(P}dT?*abqN0H#;Qq+_f?a{ zu+Qo02YJV1bbdFzjkAypeFjkPCe47)i`Dx2P>&h+wL}>NqXP_yp#%&Gld8GQ@aYsd z*VFA@^rtnqrM9PL)nf1KiiW~M)Q?=Q+_=ck6NEA$S4LY2{HhDx=xDs#Yj@I+|Ki1d zM1<$zAsYBULrv(9whre%8)L8vY0#-)unI{{O`T&oWFXBuKKu*n*6LiwU(T*bzWd#7 zlKPfg6a)tdZL*%cGnmJakej8}hl?;Wc>k-vhHJe?gM*WsFK2CR8Wl4WJ7OJO{`5z_ zqIzCoC+L)!Cb;+Yi+wk@Z*g(L{*N~&zxfUXJ`2+1eio%bfWMrUu@ZUlUmn-R-nbt5 zG!H9LCbK&?aRTrs0y?XlJWE#_4Q|96-)lD$ld`t9rd%2^CQKMOEoLqcM&PF8#wmGO zNiYHbx*}fN*@d2vtv5I4spj`jm!ADlkp}cMJT-L=lsOlu$@_mvPf1D1$}0C1C@mG` zZn|9&Q^*q1P*%3LP7X4j9nSa=gs=b$hsm8Tt!r2OB=|H}-E+1zkdxypMV+vH0NKWr zGX-aVak5}*DeBIKP&U1W?3+1b_8MN1Ut@YhgKr-Al4WY?5?&dU7&6(}I0_nOS#5lQ zWDD1P{W!m{fGL{NLuEt`@_j3FDS$luKsA0r0sT-EC!vn5F07y-QH`qvWR#579YjlqB$=2iZ^E&2!)08||rglr9 z3S6#N(6Fvp)&Q{z<-`S&{qnbL8IX)FkB^TpFWsD-Wu>LxBdV*Z0a=nnz+-f1hy^r0 z2nj8Xja7nvkiWlO7b;B=T9cLNK{04iR#sMYG-~ny3nL>CuYhKpUR+$<(((WrU0Uq_ z@&T#e#%3>9HhHyavB|w05EVne8*?Ddff{YlXhL%_MQO14OFF^H$!TzKu)oeS zAi+dMMuJLMzlRG=ARKsm-(_cK_w@AOu^Ie(0Zu(b-QBrGMMxBY7Cmqy6@a5hue$2FPXwXo{1*np$rDtLyLKOzSiah6<7x7wcz*^U4<7o`Ga6}2O=W* z#xQL4d}qReIlrP}bb9(*=gP51Gw1{1U}wkZWWRr^1FafuUKiHy-@izJg3cSDg8{xo z6DRfI!w3A(zs;UpZ{E~YQ~-KBIT_rR!tZV`FF&->8HOneq~tihuYfQ$hUMXlZi6=|%6L`VKXyFX$MOTT8B9&Nc7~!34S|{N2Al;L zfJ*mjG-yr;HlAH@X!G5jWB^ucU@&Y_36{N^Xe}RwZlMmmo73`Sg?!?#q)cEK<#(BF z06Ao5lcRJ3O>uB&C=7)l(0CSrFgsgYCue6Go5bH3)adfM`7bAy2wsTzZ__t|%JI>i zbGwB)V1eP{lmb~R$-bbU<^N+O{y>WXDiuoSH-P>uMo0@|Qvez^#n;f(48s5w$Vjco z(Gs%q^4*UQ;qAiq{~Kh`2%8*pa)kUh^pf!og3@_IhDlaeJ0&Q8W?g#U=D=RB1-I3{P^w@yPMvDIg3kFn5AZY%3GLMrl zbE4Xz7m%M9mkwPx%M$eNF=7W4J0~YcvrG?a#7;;=1nz+YG(+{A$q;f+%XvN$d}>Xj zFD~b`jzAg(kj)3cT4311!fl|TDe7sm&ENl?@NgnO_Ik)_BJa85gTiH{Bc!iSs&E_t zQ4G;*&gB;Gr|L=2FoT5@a%}@X2x0!yAxHDIdjOQvxF_qOQbfR`y)C^&&s3>&J3u&U)U$tjeDL*o{=^XTQZ_mY7?j|r z%C$PK1U5C@0lRWLnE&uYi4O_*5J^Zr-Ffxae}fkNi3~5{QKY1$8$Yc{h>HiSMI*7o ziV2WFw!g&0?*Rcz;tT#K@CY!0pr?z~pjm6z{%cUs%SU1JMbO;T-`@|$r>C#~ckx$N zyD06zE24xHM_* zPZGr7%V71ktU7u9;rYD+0b*#F^TCJK*jb#0A> znNM%R(4N|9S*@IbFUarGCs;{bybF+7FfwkBMp78y#0b2OKM_J+LV-#{R*bBw1>#?yfHK;M21+ zHiKq-Qc~8(1hZ7&bZU$j0JI_gsJ0jZ0&Z*NI{4G`Y_n9a@f7gUSioOeym=lUD?x5N zF|k3~2X<;RbouC@UFx(f!Z|EaQPJJKy%Ps_Ss58hN=k(czA0r0aA(l^1ZoC6ZmxN< zR2KdXG4WtEI#`!`zRArJB%{FopEK~LBq*}t&!8u`8lN65VrM7-q;iJTRlN);6q zW@hG|STbO^?z9QK7Q@5=BIISVdbIYS@rfD>3cA7;8$JO~1AR)XM3rC`3~H^D-hBq; zEt3liL{EEhRFWxj9~BhPLX9&sGnakNvZ){(x%9g-3$P{x5t#dhd4@SxJQoAN z3gCy7eITBV*2n@AuZIPlO9182n0{q$2JMJN5+;j7#f z0D{)r&t>mN5Jdd(jh!ye&P=Q4{@bsfn{~rMuPXTZzgu`gWjpw7wzUC@R>T+};&`(9;pFs6goz%z zAJq1oY-L%l4rlNKs;~13YH3+)_hZW@s_yv`G35U|9TNX9^S_?=Kc{w&WZzP5l&qK* RMZlmS(jOGW%S4R={~w@ZxP$-z literal 0 HcmV?d00001 diff --git a/doc/1.1.0/serial_8h__incl.map b/doc/1.1.0/serial_8h__incl.map new file mode 100644 index 0000000..8c11f01 --- /dev/null +++ b/doc/1.1.0/serial_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/1.1.0/serial_8h__incl.md5 b/doc/1.1.0/serial_8h__incl.md5 new file mode 100644 index 0000000..f84a942 --- /dev/null +++ b/doc/1.1.0/serial_8h__incl.md5 @@ -0,0 +1 @@ +b5d1de374ff6278767e5c67477d92fc7 \ No newline at end of file diff --git a/doc/1.1.0/serial_8h__incl.png b/doc/1.1.0/serial_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..9bdc47e47398f050de7f368b94446e0da2395d70 GIT binary patch literal 19266 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 literal 0 HcmV?d00001 diff --git a/doc/1.1.0/serial_8h_source.html b/doc/1.1.0/serial_8h_source.html new file mode 100644 index 0000000..a99b0cc --- /dev/null +++ b/doc/1.1.0/serial_8h_source.html @@ -0,0 +1,422 @@ + + + + + +serial: include/serial/serial.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in 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>
+00042 #include <cstring>
+00043 #include <sstream>
+00044 #include <exception>
+00045 #include <stdexcept>
+00046 #include <serial/v8stdint.h>
+00047 
+00048 #define THROW(exceptionClass, message) throw exceptionClass(__FILE__, \
+00049 __LINE__, (message) )
+00050 
+00051 namespace serial {
+00052 
+00056 typedef enum {
+00057   fivebits = 5,
+00058   sixbits = 6,
+00059   sevenbits = 7,
+00060   eightbits = 8
+00061 } bytesize_t;
+00062 
+00066 typedef enum {
+00067   parity_none = 0,
+00068   parity_odd = 1,
+00069   parity_even = 2
+00070 } parity_t;
+00071 
+00075 typedef enum {
+00076   stopbits_one = 1,
+00077   stopbits_one_point_five,
+00078   stopbits_two = 2
+00079 } stopbits_t;
+00080 
+00084 typedef enum {
+00085   flowcontrol_none = 0,
+00086   flowcontrol_software,
+00087   flowcontrol_hardware
+00088 } flowcontrol_t;
+00089 
+00096 struct Timeout {
+00097 #ifdef max
+00098 # undef max
+00099 #endif
+00100   static uint32_t max() {return std::numeric_limits<uint32_t>::max();}
+00110   static Timeout simpleTimeout(uint32_t timeout) {
+00111     return Timeout(max(), timeout, 0, timeout, 0);
+00112   }
+00113 
+00115   uint32_t inter_byte_timeout;
+00117   uint32_t read_timeout_constant;
+00121   uint32_t read_timeout_multiplier;
+00123   uint32_t write_timeout_constant;
+00127   uint32_t write_timeout_multiplier;
+00128 
+00129   explicit Timeout (uint32_t inter_byte_timeout_=0,
+00130                     uint32_t read_timeout_constant_=0,
+00131                     uint32_t read_timeout_multiplier_=0,
+00132                     uint32_t write_timeout_constant_=0,
+00133                     uint32_t write_timeout_multiplier_=0)
+00134   : inter_byte_timeout(inter_byte_timeout_),
+00135     read_timeout_constant(read_timeout_constant_),
+00136     read_timeout_multiplier(read_timeout_multiplier_),
+00137     write_timeout_constant(write_timeout_constant_),
+00138     write_timeout_multiplier(write_timeout_multiplier_)
+00139   {}
+00140 };
+00141 
+00145 class Serial {
+00146 public:
+00176   Serial (const std::string &port = "",
+00177           uint32_t baudrate = 9600,
+00178           Timeout timeout = Timeout(),
+00179           bytesize_t bytesize = eightbits,
+00180           parity_t parity = parity_none,
+00181           stopbits_t stopbits = stopbits_one,
+00182           flowcontrol_t flowcontrol = flowcontrol_none);
+00183 
+00185   virtual ~Serial ();
+00186 
+00200   void
+00201   open ();
+00202 
+00207   bool
+00208   isOpen () const;
+00209 
+00211   void
+00212   close ();
+00213 
+00215   size_t
+00216   available ();
+00217 
+00243   size_t
+00244   read (uint8_t *buffer, size_t size);
+00245 
+00254   size_t
+00255   read (std::vector<uint8_t> &buffer, size_t size = 1);
+00256 
+00265   size_t
+00266   read (std::string &buffer, size_t size = 1);
+00267 
+00275   std::string
+00276   read (size_t size = 1);
+00277 
+00288   size_t
+00289   readline (std::string &buffer, size_t size = 65536, std::string eol = "\n");
+00290 
+00300   std::string
+00301   readline (size_t size = 65536, std::string eol = "\n");
+00302 
+00314   std::vector<std::string>
+00315   readlines (size_t size = 65536, std::string eol = "\n");
+00316 
+00328   size_t
+00329   write (const uint8_t *data, size_t size);
+00330 
+00339   size_t
+00340   write (const std::vector<uint8_t> &data);
+00341 
+00350   size_t
+00351   write (const std::string &data);
+00352 
+00361   void
+00362   setPort (const std::string &port);
+00363 
+00370   std::string
+00371   getPort () const;
+00372 
+00407   void
+00408   setTimeout (Timeout &timeout);
+00409 
+00411   void
+00412   setTimeout (uint32_t inter_byte_timeout, uint32_t read_timeout_constant,
+00413               uint32_t read_timeout_multiplier, uint32_t write_timeout_constant,
+00414               uint32_t write_timeout_multiplier)
+00415   {
+00416     Timeout timeout(inter_byte_timeout, read_timeout_constant,
+00417                     read_timeout_multiplier, write_timeout_constant,
+00418                     write_timeout_multiplier);
+00419     return setTimeout(timeout);
+00420   }
+00421 
+00429   Timeout
+00430   getTimeout () const;
+00431 
+00444   void
+00445   setBaudrate (uint32_t baudrate);
+00446 
+00455   uint32_t
+00456   getBaudrate () const;
+00457 
+00466   void
+00467   setBytesize (bytesize_t bytesize);
+00468 
+00475   bytesize_t
+00476   getBytesize () const;
+00477 
+00485   void
+00486   setParity (parity_t parity);
+00487 
+00494   parity_t
+00495   getParity () const;
+00496 
+00504   void
+00505   setStopbits (stopbits_t stopbits);
+00506 
+00513   stopbits_t
+00514   getStopbits () const;
+00515 
+00524   void
+00525   setFlowcontrol (flowcontrol_t flowcontrol);
+00526 
+00533   flowcontrol_t
+00534   getFlowcontrol () const;
+00535 
+00537   void
+00538   flush ();
+00539 
+00541   void
+00542   flushInput ();
+00543 
+00545   void
+00546   flushOutput ();
+00547 
+00549   void
+00550   sendBreak (int duration);
+00551 
+00553   void
+00554   setBreak (bool level = true);
+00555 
+00557   void
+00558   setRTS (bool level = true);
+00559 
+00561   void
+00562   setDTR (bool level = true);
+00563 
+00578   bool
+00579   waitForChange ();
+00580 
+00582   bool
+00583   getCTS ();
+00584 
+00586   bool
+00587   getDSR ();
+00588 
+00590   bool
+00591   getRI ();
+00592 
+00594   bool
+00595   getCD ();
+00596 
+00597 private:
+00598   // Disable copy constructors
+00599   Serial(const Serial&);
+00600   void operator=(const Serial&);
+00601   const Serial& operator=(Serial);
+00602 
+00603   std::string read_cache_; 
+00604 
+00605   // Pimpl idiom, d_pointer
+00606   class SerialImpl;
+00607   SerialImpl *pimpl_;
+00608 
+00609   // Scoped Lock Classes
+00610   class ScopedReadLock;
+00611   class ScopedWriteLock;
+00612 
+00613   // Read common function
+00614   size_t
+00615   read_ (uint8_t *buffer, size_t size);
+00616   // Write common function
+00617   size_t
+00618   write_ (const uint8_t *data, size_t length);
+00619 
+00620 };
+00621 
+00622 class SerialExecption : public std::exception
+00623 {
+00624   // Disable copy constructors
+00625   void operator=(const SerialExecption&);
+00626   const SerialExecption& operator=(SerialExecption);
+00627   const char* e_what_;
+00628 public:
+00629   SerialExecption (const char *description) : e_what_ (description) {}
+00630   SerialExecption (const SerialExecption& other) {
+00631     e_what_ = other.e_what_;
+00632   }
+00633 
+00634   virtual const char* what () const throw ()
+00635   {
+00636     std::stringstream ss;
+00637     ss << "SerialException " << e_what_ << " failed.";
+00638     return ss.str ().c_str ();
+00639   }
+00640 };
+00641 
+00642 class IOException : public std::exception
+00643 {
+00644   // Disable copy constructors
+00645   void operator=(const IOException&);
+00646   const IOException& operator=(IOException);
+00647   std::string file_;
+00648   int line_;
+00649   const char* e_what_;
+00650   int errno_;
+00651 public:
+00652   explicit IOException (std::string file, int line, int errnum)
+00653   : file_(file), line_(line), e_what_ (strerror (errnum)), errno_(errnum) {}
+00654   explicit IOException (std::string file, int line, const char * description)
+00655   : file_(file), line_(line), e_what_ (description), errno_(0) {}
+00656   virtual ~IOException() throw() {}
+00657   IOException (const IOException& other) {
+00658     e_what_ = other.e_what_;
+00659   }
+00660 
+00661   int getErrorNumber () { return errno_; }
+00662 
+00663   virtual const char* what () const throw ()
+00664   {
+00665     std::stringstream ss;
+00666     if (errno_ == 0)
+00667       ss << "IO Exception: " << e_what_;
+00668     else
+00669       ss << "IO Exception (" << errno_ << "): " << e_what_;
+00670     ss << ", file " << file_ << ", line " << line_ << ".";
+00671     return ss.str ().c_str ();
+00672   }
+00673 };
+00674 
+00675 class PortNotOpenedException : public std::exception
+00676 {
+00677   // Disable copy constructors
+00678   void operator=(const PortNotOpenedException&);
+00679   const PortNotOpenedException& operator=(PortNotOpenedException);
+00680   const char * e_what_;
+00681 public:
+00682   PortNotOpenedException (const char * description) : e_what_ (description) {}
+00683   PortNotOpenedException (const PortNotOpenedException& other) {
+00684     e_what_ = other.e_what_;
+00685   }
+00686 
+00687   virtual const char* what () const throw ()
+00688   {
+00689     std::stringstream ss;
+00690     ss << e_what_ << " called before port was opened.";
+00691     return ss.str ().c_str ();
+00692   }
+00693 };
+00694 
+00695 } // namespace serial
+00696 
+00697 #endif
+
+ + + + + + diff --git a/doc/1.1.0/serial__example_8cc.html b/doc/1.1.0/serial__example_8cc.html new file mode 100644 index 0000000..d549ed0 --- /dev/null +++ b/doc/1.1.0/serial__example_8cc.html @@ -0,0 +1,307 @@ + + + + + +serial: examples/serial_example.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
examples/serial_example.cc File Reference
+
+
+
#include <string>
+#include <iostream>
+#include <cstdio>
+#include <unistd.h>
+#include "serial/serial.h"
+
+Include dependency graph for serial_example.cc:
+
+
+ + +
+
+ + + + +

+Functions

void my_sleep (unsigned long milliseconds)
int run (int argc, char **argv)
int main (int argc, char **argv)
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int main (int argc,
char ** argv 
)
+
+
+
                                {
+  try {
+    return run(argc, argv);
+  } catch (exception &e) {
+    cerr << "Unhandled Exception: " << e.what() << endl;
+  }
+}
+
+
+
+ +
+
+ + + + + + + + +
void my_sleep (unsigned long milliseconds)
+
+
+
                                          {
+#ifdef _WIN32
+      Sleep(milliseconds); // 100 ms
+#else
+      usleep(milliseconds*1000); // 100 ms
+#endif
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int run (int argc,
char ** argv 
)
+
+
+
{
+  if(argc < 3) {
+    cerr << "Usage: test_serial <serial port address> ";
+    cerr << "<baudrate> [test string]" << endl;
+    return 0;
+  }
+  // Argument 1 is the serial port
+  string port(argv[1]);
+
+  // Argument 2 is the baudrate
+  unsigned long baud = 0;
+  sscanf(argv[2], "%lu", &baud);
+
+  // port, baudrate, timeout in milliseconds
+  serial::Serial my_serial(port, baud, serial::Timeout::simpleTimeout(1000));
+
+  cout << "Is the serial port open?";
+  if(my_serial.isOpen())
+    cout << " Yes." << endl;
+  else
+    cout << " No." << endl;
+
+  // Get the Test string
+  int count = 0;
+  string test_string;
+  if (argc == 4) {
+    test_string = argv[3];
+  } else {
+    test_string = "Testing.";
+  }
+
+  // Test the timeout, there should be 1 second between prints
+  cout << "Timeout == 1000ms, asking for 1 more byte than written." << endl;
+  while (count < 10) {
+    size_t bytes_wrote = my_serial.write(test_string);
+
+    string result = my_serial.read(test_string.length()+1);
+
+    cout << "Iteration: " << count << ", Bytes written: ";
+    cout << bytes_wrote << ", Bytes read: ";
+    cout << result.length() << ", String read: " << result << endl;
+
+    count += 1;
+  }
+
+  // Test the timeout at 250ms
+  my_serial.setTimeout(serial::Timeout::max(), 250, 0, 250, 0);
+  count = 0;
+  cout << "Timeout == 250ms, asking for 1 more byte than written." << endl;
+  while (count < 10) {
+    size_t bytes_wrote = my_serial.write(test_string);
+
+    string result = my_serial.read(test_string.length()+1);
+
+    cout << "Iteration: " << count << ", Bytes written: ";
+    cout << bytes_wrote << ", Bytes read: ";
+    cout << result.length() << ", String read: " << result << endl;
+
+    count += 1;
+  }
+
+  // Test the timeout at 250ms, but asking exactly for what was written
+  count = 0;
+  cout << "Timeout == 250ms, asking for exactly what was written." << endl;
+  while (count < 10) {
+    size_t bytes_wrote = my_serial.write(test_string);
+
+    string result = my_serial.read(test_string.length());
+
+    cout << "Iteration: " << count << ", Bytes written: ";
+    cout << bytes_wrote << ", Bytes read: ";
+    cout << result.length() << ", String read: " << result << endl;
+
+    count += 1;
+  }
+
+  // Test the timeout at 250ms, but asking for 1 less than what was written
+  count = 0;
+  cout << "Timeout == 250ms, asking for 1 less than was written." << endl;
+  while (count < 10) {
+    size_t bytes_wrote = my_serial.write(test_string);
+
+    string result = my_serial.read(test_string.length()-1);
+
+    cout << "Iteration: " << count << ", Bytes written: ";
+    cout << bytes_wrote << ", Bytes read: ";
+    cout << result.length() << ", String read: " << result << endl;
+
+    count += 1;
+  }
+
+  return 0;
+}
+
+
+
+
+ + + + + + diff --git a/doc/1.1.0/serial__example_8cc__incl.map b/doc/1.1.0/serial__example_8cc__incl.map new file mode 100644 index 0000000..e416595 --- /dev/null +++ b/doc/1.1.0/serial__example_8cc__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/1.1.0/serial__example_8cc__incl.md5 b/doc/1.1.0/serial__example_8cc__incl.md5 new file mode 100644 index 0000000..41f231c --- /dev/null +++ b/doc/1.1.0/serial__example_8cc__incl.md5 @@ -0,0 +1 @@ +ef764addfbad6889cc99705661c2273d \ No newline at end of file diff --git a/doc/1.1.0/serial__example_8cc__incl.png b/doc/1.1.0/serial__example_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..90473f84df4b053ddbdf5b9d003886f10823ee9e GIT binary patch literal 29764 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 + + + + +serial: serial::Timeout Struct Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::Timeout Struct Reference
+
+
+ +

#include <serial.h>

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

+Public Member Functions

 Timeout (uint32_t inter_byte_timeout_=0, uint32_t read_timeout_constant_=0, uint32_t read_timeout_multiplier_=0, uint32_t write_timeout_constant_=0, uint32_t write_timeout_multiplier_=0)

+Static Public Member Functions

static uint32_t max ()
static Timeout simpleTimeout (uint32_t timeout)

+Data Fields

uint32_t inter_byte_timeout
uint32_t read_timeout_constant
uint32_t read_timeout_multiplier
uint32_t write_timeout_constant
uint32_t write_timeout_multiplier
+

Detailed Description

+

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

+

In order to disable the interbyte timeout, set it to Timeout::max().

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
serial::Timeout::Timeout (uint32_t inter_byte_timeout_ = 0,
uint32_t read_timeout_constant_ = 0,
uint32_t read_timeout_multiplier_ = 0,
uint32_t write_timeout_constant_ = 0,
uint32_t write_timeout_multiplier_ = 0 
) [inline, explicit]
+
+
+
  : 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_)
+  {}
+
+
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
static uint32_t serial::Timeout::max () [inline, static]
+
+ +
+ +
+
+ + + + + + + + +
static Timeout serial::Timeout::simpleTimeout (uint32_t timeout) [inline, static]
+
+
+

Convenience function to generate Timeout structs using a single absolute timeout.

+
Parameters:
+ + +
timeoutA long that defines the time in milliseconds until a timeout occurs after a call to read or write is made.
+
+
+
Returns:
Timeout struct that represents this simple timeout provided.
+
                                                 {
+    return Timeout(max(), timeout, 0, timeout, 0);
+  }
+
+
+
+

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/doc/1.1.0/tab_a.png b/doc/1.1.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/doc/1.1.0/tab_b.png b/doc/1.1.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/doc/1.1.0/tab_s.png b/doc/1.1.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/doc/1.1.0/tabs.css b/doc/1.1.0/tabs.css new file mode 100644 index 0000000..2192056 --- /dev/null +++ b/doc/1.1.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/doc/1.1.0/unix_8cc.html b/doc/1.1.0/unix_8cc.html new file mode 100644 index 0000000..420f6a0 --- /dev/null +++ b/doc/1.1.0/unix_8cc.html @@ -0,0 +1,187 @@ + + + + + +serial: src/impl/unix.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in 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/doc/1.1.0/unix_8cc__incl.map b/doc/1.1.0/unix_8cc__incl.map new file mode 100644 index 0000000..84ddac5 --- /dev/null +++ b/doc/1.1.0/unix_8cc__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doc/1.1.0/unix_8cc__incl.md5 b/doc/1.1.0/unix_8cc__incl.md5 new file mode 100644 index 0000000..1097a78 --- /dev/null +++ b/doc/1.1.0/unix_8cc__incl.md5 @@ -0,0 +1 @@ +6fe186826ba1650b64f7ddad091f4012 \ No newline at end of file diff --git a/doc/1.1.0/unix_8cc__incl.png b/doc/1.1.0/unix_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..2abfad2e239e5f46b5f79f1bba21563c43d13e91 GIT binary patch literal 78517 zcmbrmbyQVt7d~qfE&wAEcbImz7A}rbmwul+h5u z5y?FaUGNRXK<=%?qx*+{nau?;j~-Dyl93RDxuoueXrXA?+UAM3;kk5tS^I97? z>*fcvS&!w1;=2_nXR)sJJ2MC)z85{hs7ln{pc=+0C&fcHzi|5zZcYJZO$WPIb5Pd|c zaR2x1&8zyF>o(o3pb;2w(llxH~DRT?my6 zL#1$8dO>;lL-PRn-;eKDM+`b?eDQE0SvFOgWzeFpSy}pJ&TGH)4GcPL>M8l*MrF?a z|6bWL+~*?wpGz*ZTsUtz-&<&QFFRlPrGK!{Oc7yPcJBM%c^tlLLjSK@RKv*r|9QwR z3Cc|5eX~lbLU4L};GL1bm1j*G)8}!2y~sv@v1|R|ClM+W@S~X&B|u|qEUN)s`ZXrEnF{!_-jDuZ-oC=Sv>8{f6F^56emkZ6gu=lmzgNE zo5o9?kIZDz{o-)>x$XCN6;s{^?u+;#5-y%aunuARq>HJ|k1^S=-w)PD{}))O~Npng{mKDvD2j>UB8#xmO zEIsy-so{Z!da9T8@WbA2h6nA9xQU0#CUEH5< zI{1D(?0r?>-GN8=sh(d*sM)X=+bYm)E$VH$`#yihh;uKw^UVftYvc8P)4{i$@`nqi z(px5X*+??oZ$4je5e&z5JL)FBzP`3Zs+}1zXo>r8SNmW2m?{19bE%<+@S@LS)O3%( zeVZBHcP-cZ*ULEG!MMdR2$w?ZVF#x7xwCiu$DK)K#*>lzn-TA0Uhm@$Og4|BP+gCe z5QZDC`@R?kElo`V49PrbpAknTcXB>CcCU((&}jgh$8tjJOm`r` zv8$NUVkSC2SiIk@8A%s%KT~hLB6K%BGVzFxdkcwQQRSsmJH$t|RU*A_OT8PN#G; zYWVg+ItI(;eLI`Ad@A1LvLIOdIQDr}l?I z;-+@GdA+aa7F$jywFJ@>E2c&ks1llfHj442bkB)+UVWXg=ynbZ51+KcuP+Dr7yA3I zNTmRqQuz1$e6#bxf^1&(VGUYPr$f26-u3@NHWAc1`TCz!6mO0hAPkj6p^hElyc7(> zHAsZgtB9h-$;LUluN0HZm0FGM6;}ABiYjHc1L%_YY;^Heq2SV z`Kagll&<&fa%WHm*m_zvjqBgL?H!;+Fl-9J>BYr^BbNn_;~^08<)&%!eP$xeh+g;0 z^@PRyyYp5MuqSIadQNPW->6U;l3hY^Qmovl9G)H%7~EJQbg@ipqZ$$mDkwqex7W@1K`y#DVISGbJ5~?-Jrei zha=30iza-#r6h7TZ3uo778Z7YM0sCj*c*=HebLE1;@i7AE%aYVr&1ZXZ6wXq|ceMaIgloJ-{H+y&= z-u&BA{0E*WhGnJwQ}HDclNE)P{GJyoXNvu1A}}cxT3X@HfXA99!o%P&M)pRsFb%h# zEAJrPWZ1;ixyr#Vf~?}wti+wZ;?%yrYyskf-$EZ-YB<~DigP3-js*3l&S95E^+`-L z9Xd(OSW#yb@RKR>Xvr5~HjcDv%cLt=8{~mo-trmA2h-!f(a+Q+<>9HRT|7Jzi??2LR|zYB6{C3cA-%Vwy71-qESZ$vqhn; z!(X9^dI+o29M8sF)E`pk@#GA(fuwr&CmuT4l znkZ44Wl$G=J`JqH8@0RG*B>GhXAlK4-yO$8U8`DR2 z!>^FQkz`N=lP$31EHKT1$?}nfLzy<<{7bh84w2fdpt{h+{pza)_cIgO5-23Tz#`5WOdsQJIP1+3+n#;WXAvJB7qn3(@L!fh8H5i7==cFQ6*0wFO38~BriI4AXr~E589}# z_xI9(M~(q6NrEOt+GzF2iYDr#zze$?sYVqDoo1PQS$y%tuMHDFsTTppwVGFrBexV; z`x9=r!+tQx-uAZUPO}CIiPYLr*P%k3Z1L0pEnbv7J*!Sw!HgS%)R6s_YDqSaCemxrgfL@7wJ4YU(Z-PryfL_URa7!joEqgLdMtr| zq$Z1)s`|V6=mEm9Epd7kX?h3Mbu?C2W|q9MOR)2038VXxxN$eTq^Oqq)(!Ih{&vw~ zCFbVd%KV8w_=1WSTznCXHVz{f8U!k|?e%8z8$)ZyTf z1T-W@fBBM&;*6ll$w}|a1n>6`aU0xFQ4+b;W{wY$8jF$^z>`@vu76DtnrB#rr9}y2 z>_YJqFNxc6bW2k#hsowbeZYdCT_7UhWXU#ush*+nP-B85$ZtT41SLW8fufypTZLp9 zC*2jaR^gF8ybd~W2Ya5l4->&3`TR-hJg7{Vl(Bk(WD&tj0%)8pmKH9?CC%vImUh*T zHX9?30INC@?1Jb%!QY_7E2C@qfp#mdE?%Psk1r*CsBV1lObsb3e!LZlDWpwDbN zq$E4K zXftwFBwI{Ktn8~V{`%}z?2MY4Cmb__(euH%=n?kD@Wj<3~jX)`lsGigSXLAFRU$oErX2e(F6%r`-?&$0nz7~xjCF;_qhAk z3xb>ZeZhq`+E>HTKe9cOJt>wb^jpaQ{CFsB@$SrL-JKGR#KthEyv#bQzg^r%hL$5l zB0RggU5|rA-glP-gRZyNFOwg|Pv*uYE3#r#TI>T?it64T{ZAqV`aDI3O?aaq1s>W3 z=$KJIRt^w7X2rhB(zhq5r?Lo!NO%-}Rw%$E!v^S&ODB5^%BpVUtwM{JCG~{1_sdXQsjTda9 zUXn*8$3%da2Q7ukihlLAtkp!k>tA8DHSviM3;Lv%4gUo`zf z*`}{Ce)fb~5LM|sxL)a_BQ!ZV4aH;@TAy2tz*4(+5V}l!rZ|H**(;lfXcB@v%)jpm zFt8ZkYRDBY3`*oMMaElvVZjT*?b&2ko-#ACdm;{1Rg7ke!<=A@8;G;xdxk|{P>_?U z)}TEq`UxW-+UHR~*gJUR4~vOJ`Tl(Rw7y)fB$$GNK%8u{;%4^fmjS}G^l(L`w>ss8 zQ_oEkqulq+b@?n)?ZkG$1ZJnK!}voLVy+TXUL-R$UD$~k7B<^mLVM(b@^!$B3m?1S zaFc~hv7?ubXh2W(DRnMX<_QW|d|uKxw`TE*gy&coIq$N@`ktT!v}Z<24-=O79zI!7 z58DfGrjPp3W$-@GRh^I_VZf(CzEPVguHWhi&FIC2zZNs3=Dl(KPN`bl2ezplLa7|M zQ#*6lrYVQ3+NA|`9HKh0+7P_YNH}e{^K^Gs^u}17vFq@(cVObNFH)CrWVv)O;Xmay z0WV?qXRs($DX|{xF?oA*p9hatTb!C6!XrYas2?3Vmx5{1Ya5s@QfOjD1m#J-Up`c6 z{2Zr6l>=oOvGb|)a{!L$@x?cp9$Kz6Rn_`mgwKv`!LiatGaug#}W?<{DCp(Ene zmb{Ru5~l{>2H@_VBr4kWNW5IS0C7Z_Ww{qggV(p{f``~37^2Za*r*N|?&nx2$aUEy zVf{~@e`z=zGJ=X5{|*R@HRV9A;N3r^NA&R@d3$*qq8Its4c|*7;J!(;jWb1+D0J3j z%xZ4ZsMcc8B(6KVdWK6NO^`rVfb3}j=Zd4$2d~R7olougIu4^iogNyxiYK}ych(-A zwYU(u-$eGGO}P2|bVH)##=Y<7A_xUOd(r zG#Q(=BCUBpFICW4*2++;NfYHLarr$Je zqaCL5ie)uuP=`F}jLjJ(AmBnqB%t7Fz20b)r^601Y z&L>QPgpc2l)YF5gu~BIMyG>jHJ7L12c{ANT_`v+xOp|j(?EVewcD;gOHyiNdwKVmcW>)J6LRWuWUY`YRIUt+0R?RTz zY&};uQCeUQE23IPj;ABUkp60u(-~iRjO8brH{0q4ID-Ij{jf7GN`g4!l6RF$@b0CW zSEdsmRATl!&frhijvd(({RiDO^j_8o>!w<#7-4Z=whj zp%kY`sgOrRmuc6C7m_PSGsB4c$FH3-VW3v`n1A_*05V}saJrZW-TscVVRxZj4!S=z z%rYkF;D~f+*zwA&>W}W=>eH2EdCCe{qP7il!gKw^E`vKMnwdhi)(Y)mg3uO&QFUfF zbAd0)>+PtN9@|9)MCaa{kG@g*l5z`>l03(RbvE`ttjywg?!his4Kh=cP7NG_0_w;+ z#&x-lb5@evV$41bX7Z5Ss*8?Ihh;fa4yIGL07VAQlnJ-y-&ShRurO-g=P7Gf7Gsi@ zFDi+>D(b~|Xj=7oL>Q8rJu08Yo)hTMNERjiNOA~ErDx};nVAU#+Xi~}4m(uMqV`1m z`JSo{Oe3rx3S*@hQHyAP#&^@Rnnb$yp(ys#_7G9-l5{|XrbVq|BU$D@d8=LgFh**4 zFTFPl-e@OO<>oz-b*e%UN9(95IV$HYDlg^UB#M^9B~I^yo_c8M#%sWEQFRvPj}Qw+CEL*j|11xIc3_&+z$N8$0B6g{6?41?mwfC) z`$N8+D!{PYRj_=%96=I&oNl^#CeFs{vm{E1TucmgWU4_Gmbf(45;xEG>|B_&bx%AI zNXx3SA+!mnf$kGWM?JmmKchuHK1CrRk)mxoTjmW{+mj^~HhX*4N%IO78{9xg`8#8Z zicKycGnS`iJAdJWb29HVm*4$mZqd#1Z^iwU2n@2NqU8C#cEWC<7YAEl|J#mxZ^V6b zclL+Dfsb=0(N?b&aJPL6gMlH%5Ph)>lVG- zM>@o1=v7=c)3$sNdaDe>S9{a89K|XUY!?@PO-;?t&HWx5v&+KkK@^SJ&{W-Hk6OI z=MO6$%NCk<(>Sd7?@YhywX6tB<68#Ihi2LC)ei5;S>4HLt<|j2>hXwe2EXU*`G78k zkmDZ-#@KJmflqF4=N8XfSVAkzXPeGjTTjb~?|Sd2|6Z)#J4CJg2(VCUySwdexmka# zRnN0Ke@$I;c|#bCmIW=k*+{{^KBv6CJqS8>z52E@dwpHMXx~d1Y95Lrz5pT*;(y^1 zIk5h<_SyB7rklG~d2`*o%@niO2=Pd&s{7d3y9Q^ci4SjsT>DrXLlKaOFRtFar*uzZ zxm`+b*{;Q7(_${h#F#fstX|Cc#Kz%YlQmD+eEBO;entJFC?=C=*Z0#O}$;#8>8_a{}?K+&OZGCR3?gDxSvqSK0)I987yoVMF<~ zbKGhrvo=$r8}*6|A_r#!>!0VyODyC$-SA@->;WYwWeujxoX+1f<|sOPubvLe(I*X3 z3JLJDFOiTWl0G}yfOq#u%`5PJ{C5Me3X3oj4G5n9K6;Fb5)}CR$&**Bh) zfNzx(kpqOShXJNQ3po1m!kM`z-2Z*@nLjS+b4G51!i(l`{ELan2M5kJlx%noa9Nf^TLYhBR{ix5; zFsh_Nz9P70KpD}hWMDx;q@evRW(_|LlCoi6N&zTc>PF?E*lWCfsPzqc05gP{=*i*_ zliPbqFgqz~g523{g)(+6xfUhs4qxgPGZk=t!yAo`Cr)PVHZcFqg)t?&l)@cg*l_mb zB^$T+;5Ko~kc?ouPjH^H8ND{TtoaficENPa9<=DEo^so+z}k1STF$aDeXE?Yz9|cm z82OFVIXde1|MLP2ODklNIX$QLC%~|m3(YE$LB$TeylQ8`Qbet+e4aX8)f$q>!~V^y!Ss`5J=otlD+ z-C+hY0SV^~DmGTj)iz_sNb~Jk`h1gnMXOh5Kudv*^KMp9x?_`}$VGdQP4mZ9Re^Fa8|1pbHmtC4%(BsC=#n7>vj;Dyqi(?9XMa zQL^=f*)YhP-mi9i=<{RZ4{-FeglKGE5T&zeoDNKi984btW|Bp6Wb;bw32lJu{JP$i8S=*3r8+e1Qrt{Itm2>yXfE~i-57HesRm6cshsu{XBRn<=D)msv) zbk{L|2}cPhcMzSKI&p+iEm_acPESp_jVX|WlFgd+bA!fmXZriy)ddi6^QK+`kuXS8 zbC~iF*4b^Q)aLWpFG3KW**xE1yXXf7U^**(D`vaHrI6ceRGo6Ow?UV~uPdf&3M#V1 z+_UEN6E?!akS{#;^A&g^kt>?(JP93Tc(`=_x~(djB1sV8TBHr5#cPs27t8 zOOcGaZ7bgr^%E2(zRY&9!Gnhm&z{(&!i~#q%mtw~+V;)P-zc@#mU{UMb2rlrw!fF! zrOHcYC?5G5dxNUPG~Ibm6cXCHRfc*M0y~-hq@z3;&mQF}_Zu@a(p!6#6sx!WiiF@I zY;0={6P2@q^d~-sd&Ts`%NkD&J*PH%NThT}9ad@M<4}bn*qO_U%WhCNeQO4U=$Sum z!hpHi&+4%jeOxo1l6WHL0Q_W71Xq$$hwV6$-l8!Ptdz525)6HGOnfac_)?RXmth@l zY}EBQFc|GrxG#*|HXjI8eht?lt`MU3 z&(H6;-|-e&hfB8J?g=$H=`?-~iyeq-7wZL~9uc`$q*s})D|0>HUuZgLu`nNbNg$gh zxaAA~fzP1LrDKq=VLfA@TVn6dF0DU>LzGK}n9;kcS+;FaBl$*dKz^$G8}|fgEqd(F zut$D?Sro%<&4-ULWRPqPjAf&RUp2<*V}4nwy=R8R$e33ZhDqg36sI4T#3~ZE5hAmV z0>J7f;QJb{f1T!MCb-wVy`Cq}<-xu)=9ft2Edy-MN)8Q*hy1Qab23~6%0K{ROKlZ&mlqi>yczqIHw zvR5?oxGl9Ug|cBgG^VE5Z0{Z{-rb$szW+-MNnr{9;?jo0&AyabSSn7v@U8Z#?D5r= zrh21Jo0UcJ8I_U+!hw=$fwAixM>&!mAM#TM+)Us0+>wM&h+p;CLsm1^;8ES#C?9*Q zOa`D3Ke4{MUp{eINKEX~ii&~X7x;?RmYf_D=VreE%n5?_ayHa%Si5*;YYWIfY}CA;RduDXUMn( zQ$xJoFG4wXl+Hm9D;*j307O8?BKk-GV12!u3}})=CgXE|p!$O1j6pVNlBZbkX=D9R z{t1etPLWAX-=;Z9|F`*9jE44&K%*vDc>PD*xZd(P=~tccChy4Ynu1k*@O!%nFPe&&{^f#%bF%E@bqxXGPyI6rN-Av>0=exVT=4KXR!}q=; z3{Ae#I?2xSANNAhzw453e2F3@KlQ5?F?}`L?QNirPv#rm9KYMftEru`P_o8hZ00CHbMN=q^DRdN zdb#X(f=LM&C^343H~|aXel$^NKs6XG{JCY~)dd>WhY0TrSgr%*1B)DdCQ*pFlndxi zDVnWqy>#FH29W$=`F1Wqb^4?)xJKM|`Gl7E)1X8&rdozHEjc!Wr!a&}@ya8_j&J?E zlcU?~Ko3f~!2B~2=yd+9K71Osr&L8S3U%+LT)d0SK=D3_747$AgSVtuvNiADhta>& zUgk|4n#Xkl*3dWHMD=0^EzqdB$=RxL8oV zKvGip8*@NsVaN6^EX0Rnt2E!TzmlKX37bNLuC9s|3T3E7T3C%w&eia-{Zz86qXNZv zrg6UX`*D({-i0cJ;Pa@N37kWahbS=-O+ns&>2%c02y8AMD|WHw59$f7jlyTd=yTHD zaNH@U^Ui3pN>LMjqB3S8)iC2)WxXZAC)xQ+1lXw?HJiwEcv&;09j`uUAaIeI!YU`+ z!yX!6r4)d+l|UJE<-7OmlX1#?+;j&>1RsSyGZ<*6p^{}&1E*IG^iMfH)?KyX8V~PF z?i$gsCK$3aPQR0IaeYSk*_bwl$wkoK!&i9mSR4&#GBxjon%?t`laDW}XeGiMSDbn+ zdQx{=;IetSjqi0iceNLCa}A<=&<;mOA8Ef%drE?uJXCzdM`-LaPr19>c zTLqtpmEdnhL-w*kN5`fSoyCrY%hgtW%ilO%U3crb7Ec^jIqcbLOC>bwKql|=CN`nF z3%T=!roEKKUEQ8v1zFVRcef9X%!xL7f6M&O!J^lQkUC3(3c5dxap<+1BS+HU>Km z6;|6@RZ}wN3y8`vqB$%}(!CIgn|ykq#3xg=Q~~e5=wtA1_^GAfp=anrlH{q022lLQ z*No6U-vKhDCoDefISa^G@HH(h-c4A?NB+b`F!Xp-KWo<5c!R#&^(~q`9~oH`pzvk} zcJ1WL)B-~fGV!JPQjt{HwXZ!wq-ocW-|dD!0~Chh&9q3h9sV%N)Drgt)OA+u_}I<) zwRAX=VoAeF7rw}$Ww{8d+{)+Q+<{5{@8wF3l7}Qs%V;6cw@~~5bGCB|FHtQU>uYZU z;>M(T#I_N~fn%U$sk}=au$GDn;FXKM|L_u@KBIsdW(-=CFomEy&yv$y>RfclM&>8% zu6(!Wl`LdLEykgqu9hz9g>~To9kpCd=-#go+j{#nd&I@KSLrD7CcKD zxhW8*c3lZUZECU}XaLglepWa;YB)`O_qS^|M@zx(ukZB>$tNx=hzPc; zQZFx7ft$)tss`KZG&6wA3~I-ol#G!#hWy}!sn>wfxs~w%Sz-P0t1b#eE29-mCCe;0|$KY8*A5ob>71xPVn;92J zu<$2#1+xjn{@C`+Pfem;0h2xs=`No}NpPSRU(9#cCl08@9*nYi!1COItXu>W&x-BE z#|en`y8lv$RDg#24jso2hWz82D=C&I1x52$TORg$$UuKC~!U z;s!7gAg4;oEn4=!odLdzE+>&){@IR7B#!D{bwVIqu%WW15QzLu#!Sx~Cm)AkRA+DasRpo5$vSa2f|i5Lhh)`nh>5 zfLr0o6Dl5a^>jQbeF4x_}7a0X%Qr(2=T)ufWJCi-9F5?E6 z(1t0B@d~jD=+BnrN;@WWD2Z9k&M}=hb^m6LuUP-4oV-GSUpp<&rx*TwWM+*epmEv! zHk)Z_Zp;$1*qBkWg>)uqWB5y1eSRVFR*k%8 zB?c#?C>Yijmp$lG0mh*L(+QL5Fo>?_L1w4t@70iYBxXU;qF9YGixdTGo)R(hY7H0= zf-O`lw0r;LA?zLMEs$(;+27KC^$rXY%O#krMJmWrEBS`4S`*5UG|2ytHf-mgHvD58 z*0qK8md3ncN>BMy50W8&WD+ycM1PvRI)pIcC5qS*ci83{e6%NQN5&jcjhfj*SS_or zJW%)6Vo6SSc5!Ozs*_T<0Z(&H)>5f0>P1Y()%b|3;C_oIrPK=eFMd1~KC7Ra>z;KZat>o`ynoo2k#@)Ogq zDN@LHHixoj$PUASjI2LHJv(NMz$4o*|H>?U->Da1{Tr|2OYJ|etm^%Ga;s*>f6_JQ z7oh7a1b1^-eeByye;@ctt_EYcb$cL-14XMa4R1v4GzKjGQ6lXwt0f=4!It&)N2C>IJ? zgT-IjLH4tMd$5K~>VB;`N=5gPiAw_+;kQ{?XOBau{zs5Wh7%x@MBB!^?>3{9Jh$uE zJh#pWukgyk0de`cn*$j7m4I`3X2f&9IphB3T5X(Lg;gB|l^jrE!uL0?ljQa1>NWrs z_P~P1*?iy^A}0sbDd}Ib*Bc}hXLgOLbv!R5;?B?N9G#NYPg*Om0}xjorGP$dCDy_@lNHCo*wOKVTzi@!ikDeJ3VZ>%i906NC z)5k=g3&PfS-1zaWfR0^L4y$^p8wSP4CPN!%tY{$R`OFLFu(p4E<5veVoeQ$FO%|+! zAM_d(NUu&9f%5de1eM7v4Odn{_1`Pq2gTBo2MABEnF>u*8M|0mP?R0)><)k_3#_6e zm)*vfgWZ|7KZW@1ip9C(~{&13T%tG{_^~rd)3bw;BGu1_A*64kMvnaC9a(-S+^L>3c2Hq9TrfBbe(mGQ=v76}@;cl>p~ z{EJULW%DG;;(EWwo>~jtC;*9Tu@J2jrLvyB(JUYJSPDK14jJrkR9`R0nnDUPtak}11a|><6%F38- zHWDnT#wX#5W2t~m3i#TQ^wSLf)z|KmIN^`Yyrw3MQ7XjV1{G!L-<~S#@-csJnya%w z?VJG96DQZ2*Pko~ezM^hCE>3C6iVJtSpa#cFJ@oKW5qN{e%XD|eQ6`*wfbfT6n3`M z9s|^&=VXq>u;{ec6#%9$%*|B`EIv(UP2*pEOnn;0+XLK;5*J{S($yWHb9KzyiXKTQ zjM^1ScPWCUvq<|W$ubj_o_=7%>89Zn+~s!~NLwgAX?put@(+2m zEO;Y_Fa;SYJR%HPUqpWmC5dB)wZL3)k`^?k$z0HwfR598(XDGeH+j=Z>7`K+Q*qL& zQN0R*fNX80Juz|v0b)hkaOK#u?hqG1@vdM?(s%)lB2O}+ zLQCt3$+4SIbrnGBl&?2F4RlF>>;=Bp@|JI>KoG2G%n$R7eXM|?6>+3JIu2t@V{J2p zL6~^RYy9$9C;s-(0Y|K1RZ^WNa8o@PGLwK406XL5d8ZenKWG?{tPD0fR?qH=>hbV_zm2lRXiH?hS10XJqd(+L&WV@2a>3R(o6532(~9Rx~K zeamUb1L6y!_;z$~?=`jkz1uQd2;o6m{hNSeH9uSFd=R9jYd}H@KUfsGxH-0cOS6@p z9te0N@bJb7MiX0hZKRv3SEeio^2bcgyMA{0TEBxv6uIYt*F<2uA`{SYYduAz=?#vI7;^l_gS zdMmL){Iywo^^|#dEbPgX=F5Ff`f7#x-V^`hy23(X`V3sjjIqh-;V#V~Fo@E-_a4H5 z2*h#Ptbtx0D1Oy>lCAbRwIu^qJSCGlEP@XN;GX#@fPJPTSHQWPlXG`;w3Ni@WoAH^ z5IQ@jpl4=b$=T*e)+K|tjgZW$p!61;g^&LrT!A>kIY2GqCkr3SFCR_R)Wo70oh`&s zKI5L#6A>csj!D`z`!c}kXN~~iUu-Qvy=`899Hpo@I`xz*7gvDJDHrPXM7IjeUay{Z zAUnQ!V^hdAYGFJ-&!a5_T2&*Lrt0Jy5S;NhfJ6r@=v$Gi7^}L&gZsNt&=@9erYuW9 zZ2r1lS?XR7v3VU${-zd zB!SS?c8{i;VOe2aKgVrZZD={Lt9)El^@vP5E1nGIZe;)}ByW{-qxR8-{U#U)0QfsP zn;YZOv9RX;4Y&@LdPf~+oohU3(1YVA7LlnR_#j(#GjG1aWhz=d~qPkP~a2#9D91B zaCco>(~)`5VL z(@Lqz=^URlv9jeY?+Z@Im$L&F`);B1hDC21FT5bWAL}$fo_>Pxvkz*Of%&;c?U#m5 z)BqtML-n*$QnA`OQr}o|aVYx$DPU-5$$hHA^%LorPz#JdR0L#L3Oho@<~*nPM8XUo zp<3#lm~2>{`wmLZPRZa2>WFf$t(jynKRuXA0OMC*|NMN<-7an{!2%7b5Rec1i{4f) z(}q=rwyn*Zch}e7nyf7w;PHXg*$s_xp2HHD(srD#{&T!Ggtry1j& z?CWC%%|SR3%_qN#fa!<~yP#>#X*G%Itj>9>Sa?rE| zP&s16srR?5mjpt?u^qrrMS+1eu-<>-Xk^soe)aX>#C$P{Q}{w7S-yW*aRAUW<*ah* z33)l4jv;aUus^RPntTQ;0X!D$!~x;J5HSk zjKH5rKlV9>Hj#)%8r%ni8LDQ6=Hb2#ULl*{YiVMAe4UGfRH&{??s+;fI;Be)D)Eax zX1i{Vr{%nP9z?ckSAUj2R}!4qvj_ym*>ugzCSCryFZLnY6$zz8px zPI6Xdm<0T#ZI6Kwgj++*vZm;0D;YREYtyueMa|I_5lnk2jxK)#{ol0USp=?H>)3C^ zHF!6t=?&O&N@;)71=azS&*&qNpz#8sY?_;#x8D0x3Cv$bL3UTh1q)zk&RGCMGi}VJ zlK0hSMT@|WkVY3Vi<9<>*Gv|FM+XnD^JC?b&mk!lJ|Gza`VBS*N8h$Sw}*GY6~xC4$8pK z1qrI9_srXYfzP-xR_Z~;G^yE!JFT%itBbRB6WDf?0^k%3c=X+?_TV`|4Q62AUWfC? zFo_R8qDlyrrw5Nv@REupMW+lw(iE|cJq6NI`KAD73=scXAn7v~^Cp%J8=0MyP+fa; zdd%z@szimAfacmGrQ=**Rx*HPcnwHR*^IG& z^eHNAy<*L=A`Rv@V|4zw86&kbTvl%d)?Pi;z4BN)K3Q9n7aRlq&;s&B>+OIM%^&^o z1si|%+Hd{JDaS4y%XV!q(77EG&W?wPB-o^*C><_ZJn#uxB3{?%v(Z499Q z&Lci}e%vA5m(ej-Y6BXu_ucVG;!wZmHO20Bb?NE;pz{A+AwG8b4JgE>R_|-ji6$np zgh_HyP)xG>-%1It!vkVBSis}-ZJwW(&&@0#hz`<-2*BepU;(wVvg9oFQr%6J$k`IP z-8#v*bG({RA2H$R9!jwWZL)P!XkJL@Of_8qxuX8Tyq06*Jh=Y3om-v?9Z4|7S}GEh zxKC8zfd-H{YdJ1i?DG7i3ROyP_1nQ&h03hNDe|(lni%~s@K+TchUg%17;SVJ=?XZcpzU;98Pi1rwla^AWtUV;#Qh z#1g&&8a!|{ZkztW6dfr7s4>^iPYPvz2Bb0o_~{hx>Iol*cIwo^-LQf5cvV_f0{-v> z$>px8_rtR&eM%J7no}2sx

M_^}h_y@D@7`RvH!cIRC1uq`>MV}my8hd9;vQl?5- z{DS>kCGY#QmX=xq+)dgvR`7>2xcn=gU<)`jX8)`4pR53L9o`E*$`A=B3&`NN|BJ4- z0O~qy+D4V`66ul>C8fKhQ$o5#y1TnOrMtVk8>FSXyBlfF?eo0vnKN^~kNFP{$nfWP z$L_V)Uc2i@5CI4EVS^(EkXP|}vsR^AG>oDVQtj81zlmR+hPHy2PLjFKmYZ$&X3Ny^ zXK#fPR`SvQ9_k}f91n@AFyO_7hv(j`LMu=)c)#gW%E>RtaZ*BME159K1I3?NXczyg zc4en1oD_Vz$c6R4W?>Skg$TKUf+gn9GbW#AbBiA^lhi5D=tP5VujzccwwEkrfutA) zHtp-zQ$g=4mFcB=79cTMYh74fF)s=9f`Lc@K?w6UE>U`ul&mOqT!;k4N_F4rzsp!< zxu9!lF-!lL1o}RpKv8ikFoT+%CLo*zLXmDqglZ&`-<<}&_4Ifxnt-dO<6XI$q>LK^ zjE1ibOeOTa8@yHEMy#aRk)_%6f>|=B8_$PPY_1gUe+)yv^nT~3g+-Ib+VN(CK>s7V z%cFABz^D9Mho9~NE|sQ7z={Khr_2Y!G(gJ#jC|gx8qhifdW#dwv!cK*Pj{35Q;M>J z7?HexE12)~X$eH<>N19UJup+6j^=G=?I))Azj%qGG|e<9Bqp!o8s z=*iYA2CfML&}t=k_Zv|=<&8^EPr5IxECHw8o zpHrjQmfApZXJ9Fr`t+Mim_)-x<8)DhSGI@y=}*+&wzx9YFQ0`waE!IJk3cSAc8P}V zt&CeFafZj^$w9+fI$)0AKD23p#2}$I9)1E-Y+`mb;1)kKbwyf?Yz2Gckz!n=BwvGC zxd0eKJ4_gL_UKR8kX%{tGF?@oQskSC4r=q!xb{aVIR}#ff$a0cj!}jTX(_STB`*Bf zAS5(kV4INz+L&oi06)y?@BHbXE*(4YA09i_ZZ0C%YG+%RzODe~X`|<7#{G!rXUv$7 z=}uOoDWjtUKy~{1(gg}JPmGvXrl$S?>CCEYgK^yr{xxe0a|KXVuKoRQ%3ibR{SA_^ z{zaq?OZ6Yrs^!mdm;;!C>S5ofP7Oo90ol~T)Kn$HtBbMX=l52^0&VGl{B-))%>dBo zcnP3D6{!eFa1~;SOy%vV#OF8;?7B|UIVjT8Ba{+y&a>XbIXSe{H>u7on;9AZlftR1 zfd%0tibO;~ntS^tp zRg^@dSR-Olfm4&+MsE|u8ta)?z3|Gc>dZKp;4%SaeXF~xEg(G)j=xy~ue)T~5<%=p z#CJ-7ce!mN94rJJ+Zu4(fb0f0K3=~N)H?wVXtWo_VfnXSc0KFQQK;mF(qh<_E*DUT z1xhDDj0e1x84Uw3QEDnu4`!a?XTM3`TZgFtWRakrLiHXu?sQz-i--uA&V_9&KjUUQ z)tNt4sth!(buaHO=7d44oInk_X7CpdB4Kb>W6x0vF z5hKOUkrNOW1~pfz&D^-fgJNIV)I=iOi*()-F84*YFX(!SjMrI9tqbkOvG!L6OTY_q z9w^r#(4b*??8HeQZQ3VlsyCR_P88$p#zO%V|fv4h-dWiD+Xj{hfACP?ocm3fcE>~xTswK<*!OUWoIxePe<-}fe^a#lsK}9UNh7*wLTzlRYZ}kzz zvB>=V1lvWJDj4+{qJmr?ewa7@sw)7bD);gIRmOPh!{I*2nlec>l?;PkL-^%D4b3uF zJA042w-dZX$OURM|n8>^j<~QKud4GgO48<|uyl1mS{SFBkVQxHtgQ;Tlj@ z8ebXUGZO%UQj7Nol&!zNB)?_xQsp^^s`mfrJJ%j&5zjndi>8|xFo}Su-{ZXR>*LIk>hyN+YsFeSZ=R6D_v4xAD zQnZLqj0!@xT3w+0(zpN=6=+B`4|a(fGX@AlFX>+|lL4d}zA!uV@qZVwJ1ueSAnhK2 zGfSH!<$V$k2qbm_^o|Ul=prrp0r!wDY{2L7oh^`2DS$h2dj6O_<@!Z zO4KPeUo!@CNwajIx`(XcO=Lmhct%-N+v9!&T>WsNNr#qQ`WM|TWHvJr^hA3xP`^WT z%U=gN2}yyJZJzwU`uZr5)*rsc7m(d5G?2)U8(g-DkxyPyo4GnvbB?c#;&m9wQ3k~Get?@?rKA3240UuVA(`?^ z!rrOzb$?=l|F?{6zJ2|Kky|>ad0J0k22v z`u1RUGTug`brrRel=IWY#HpH(d{K5))jOJ5NFT+oUjyl!2Il6boMyBX72zoJ`OCk0 zcHkAt>6nUrv+vSN=kF91_V+4AWMzp6MJ$+rC?i0dF)=qRK2^!F4USIDI#=fJJ)-}*$pm98+3aPJ`@ak05 zUW3=m4+ua(BRM%cd;jj;kWSQ3T|wNi%Kd%tLc^nlYwyBAkuUNYem^@6XKE_U!qUCC zSifuVMT`R-AHQE$PC(wAk|}jCS4UTI)vNgWE+Mh=GNdYOz}gNva!SUmie+f(<`tiYI5^9a?-Jf075 zKH2-;kjjq7>^wgNpOm#}`=WeuX0jbm&uwi^Q@K^A=L(XUgOk#DJZ_JfvBLstq_i_G zPgi!Ut9N}MUg}IWsv75(mdIG*(vzI&^BJk&0t%OqiWKFP=lb^?&z;Pz zNlB@AdAWJhNAy0J1!X zhf1KR`O@6k1tUocAr^PcKmq)lB3(!MvLO8J^9%(=xW4`<$+wc?;=FFFMUUf`Xxd=PkH&p#Ojs zXdebPGl@0)#LN~()U)HE+y62(l`DZ>`5oL{5|cu8&A@nKwBN)W?SteMJHZE{NKo)a z^4(bk#&eB~jC{jp>F{t79LKskbMDnPN6FPyB9e0Q4<85$JopAP& zCTaVH(0Zq0#qwZ8L<8~k60^TSY!pkuL3I`0`ehr*$!!%W2pf+5@~XU2t&t~k)|*cJ zGLh(7Zsj^{ax$7yhfSxb(W)}>=g+~}*-a;8Fe+c_)4H#CGes0th)p0oe5RMXyn;yk4Es;$@{w*fPNXJ&gaES{J51&g?G6gKT zge3m(P%_AV5JiTDl11XZ=P*%JR8!M4F(Frq*H|E66T`AV0sF?JbGFLoaPn{hu3*Q5 zNs%emkmsu_1$_m?)AC$FX~mfyV~>5>Rn53eBA;j2RcQ@Yl2n!TR#lCmYcuJh|OZmnV{vtjFq2|D~m?t0^m)D{^z?@+QAgy)`zL zBOx*wNyK4?t$f$aPoxpJ}Nk5P7{F7g;=MyG(A1IRR<{@GGMx8<;Q2HWJV8RI0+eSn6a!z`TpI7k3vC6N^&R)lpyo&Z( zbQFIQ8$Ayf7vxc7g-ug+Yb$Q=*By{^$7qU-6qOii%X3ajLb{tbufsdTa zpD?ngPVd})+naTit$%fObbI=Iwb>`Zn(}Zt%#`kCLxAP4>H5>AqAfXDiQ&uaTDw&z z&pJtep<;4#vqL2dd0{8Fmb#@SpKfj*(51N^e}II@zlQ#_LMiruf935}bbjvj_zLTl zv0;nWJK7m=3(PvVZT@v2u>}_9dC_zyG-5xf4N!4h{MM6(hCuOA26Jb7xv1DAYs!~W zRwgKvj5^MQs3L9r?9YjYBq{p-wT|ZRFF~9U5h&iFyJm1=c|S^-ot>jW`jd{#NllGh zgt*qk#IHG3dS<4Kq&j#o_YDsPEiJ-3*TV%=Hc4Q^N-N5~%GsSRujJ)P4@9&vTI+J( zeIt)4SG&>t{(Tr*o14keqS=&?H5I^mw|UFze%*o`wT(%}PDR?(ZqZ zLs8wf%}%zk>(*vBxKP3GM)5KA^`!?Q*EpQ3#b{0m+2|Zjm#;r&5U}~3=xQQ|i>RwF z!F01;UEPO=r;&Uo-oLG>-ptOaqOJV_otfxW1Ra&vNfoy2nG0(hw!i-^Ny>UxYEavA zCO7vFh@*Co7mQU7GSY$svo^1~V60A>)7I70TLcUxDIbq^qM94@=t(-47LkfN>EW{o&$5Cs2{m z7ai-}J3L%mh!)8dG7RzJVl`@Nb@18LL=C7&7F{ zU{?xYs07KWEt1FGZdf(?L50u>+=)e)L5Pvtpy92v4t9@Pdzxz+tEXUsixolCR%gBS z1ydLTqLof-S*!pS8;iA6?ItY&`(nvbnUX@7eW~+pl-PDr(UN@;-8DSIWs|ET>~6oQ zzhIsFV=%F2Yn{!`wBuSDY&s|C3Oca7%%w)#?D{w6`1oS1-WrW6?y%#fn8P-I`*?vd zT!hP=lZ(ssDJL?*247B#JjRQtBGXG-YqfMH8&l%VZ`8P?K{4rYKgK{{CALXwg|O#W zr>FB~vdJ+%(2U6DP1-r!f+eR`mg!o42`lFZs1kq+tsMyK;=DZk>&_oP{&^?hA}%iU zD&4a*?ccF|1s%9@R_DSLdo%IR}A6A&=g z-3>!jfowzoS`CXJ0t^j--o0LijTF%E4#6KGceK3Nq^#JasL%*K)D;~H9{EO6CPGXC zLgF3m2k*_Z$SPPHLeN^bRpXn+GI*(|Eh;L{MPwUURa&~ZOaol5LqQl9GMGt=zZnm< z&U>ZKzCTDPW-!*#$1w%03M1oP-5k+sJuMq8El?4pe~hiV(5bgOVDo(b{*#0+TFfs` z^5gRsu`K6s@ei9Pr>=O~4s!BuFK4gunjK>+jTeTP!dC354QvOOJEPIjU1O|Pf5h_K z_r??UwwIe6!jI0*SWK0MvW0OK^2r;gh6pPQ39kJbEU$9q{VOUAZET=ak`vGZ4VSPpI2i;5`9GG*MdqQrFXVo{hB-iHJLV@5`H zx(EVnNBS9bUjd?HlmIfU=ij`Ug*Hvu?YtB|B;MY<&3TaPo&&PAk9asPSfycV= z_EVsx)va`H(J1yWt4GMtGJh~OiN1|_ z3wU##D=Sh^QHuQy*#K3?oe?Dv5&q&km10}lvz^QN)BR5@`Y}BQhMEi9T>$h*2-)XL zr5n6ZM#}6{>b~IU9eEhyoxh{t*fQAvw;Nf_gJto(}eFCHrILDg4*8tfS1~4|$R}YxDE)4lxsX z`w)XoUgy~09anfqf8gY9R1~2rDb?>6L`=ei7H%`a98GrBnDYU$2~e5|w@_77lF@^2 zD;fEZ15J%(vFVjO9uCfSc6>yMrQNSalK|cst2fg7kU(u}Y9BpG`aHS|%nxX8B}Oiu z1qC83&-=W}k`lw)?n;@K9dd7lLl+;!|VjrMsocL+Ppul_<{e5!ozcSANuvn9Km1W^(!9j{#cr0 z)yryOn^X=dnYW63?O@}_0~^@$VN!uG&JZ`W{`C4mJW}&yqeK*aYuBbx|Tjx z8l}ph_HS96)ZPA$PRa1}D6f!hvODNyF*WGik*No*l>dd!t?TQsnGgQ{_u;tjAmx2q zq%X~)V#NyB0BFSse$$=Izf1X7%$LV)nOC(@h}3h#-}nBW8%=rhKpf}@$k1wcWK563 zQ%0Zf4QB$0(|50y z5@=Ie9Zp96eB%pT^ONk{s_X0ZL-y?4KRE$^_9uGFqCzyl5`oj`?k)k^N)r;s{KAY* zC5TQGlN1jI#@*I;UKvyP=x`CxJm4iMfd}HB&v5}#x3aR4z~K@xQF8L|a8mtVx%2@i z2ed4|H(w$$tSX%KG~Fgg1g37B_pwfle1c~Q=*ngJ+&|Nd(0|+;yT978sHq=I9OvU} zaCJ(mn<0;q(`9ayyOvx8n@Pcyq`p@Vo1k5-+N#T?2# zG2nhVI5y|B=X5onW<;~T?d*Kt22RthDVe`>JT)l>a5DX2xg56bRP@;Umy6j{4`W=m zTJAR=43|vtr%lZD^WFq~W3!lcaJWSazT4L03<^wUkH*C^a45FjL-AZ~<;gTv10j39 zbj=U$u|Gx@SeDCoS2st?JHrJay-Pq$Tyq#em(WCqDD?H~M;{Wv(jmd97Q|GlD6%=R zZP7eD{Ia({StpL1gTWB1NTLAvf^;1m1Q!y91S78~B!remM1YG+ zKt#0uJHBux+s&f|ECAZxrrycHI9~}sgQBG9udA+C8BV&T?`W;D!2Y75W}BzzYiD3U zdD^g(M&ZEe8C_nJgYfpbYGH^Zd2B5GWJwmVTFjQKiH@sDTQag8zJerZ9e-B`*F2~n z=Q`4XD=F>r&?JvhR9sd_1}EX>hER?6aBC|XoSGPn=omp+nFyU4 zfGR#Kx5@n-dK?WwRD$xw<#1q}L|yv}=)Mj-f1bRsJcjwj<_L&e_Ts<1x_LZ8qCP3) zF@E3%j9t&hH%#}7z5_5h!_OBPpYd}XC5t`&ycS{L*UioD3N8161rg*>fImMe@WL4D zOM~B8Z=TX%FbavnJS4!(7HVsY2wofnKZJz7NlG?!y>;TY7)zZ1QB~NZFh4W1oe#Oo z{kI*u?%i7EgqLR?;Y&{5L ztedj)^JVJPLVGs$uQTuNtbmeDJ2o51bG_X;w!!XT?jOL4Qzo*jQ@uEk9*)x}F9h^h zz6e}>9?a1SSgZvz6J1>)UDCMG{JdNtDA-4o6AVBq)|(Hn)E-prrKgz9?SIab2R7-g zEO~hy8jgNzV*WE}eGX+Y( zM#s`RfV@>35j)~>KgZu9s`Y0jh&$XL={)au{LPnk%QZOcfA2*PVt)Tl`(Wt}1p%hW zKz}L}2%uzm0AbtLeXp?$`nAf9kEp1d<(i?Dbx6GdRG7t{uaA+SS>D%@nM|r`y}@41 z7A)ku_m%lld`bk717DIbOZ7}AO(uL{E5KNfgBK5EACjFNE}BRmHCj;h6B2TGwrouG zxfmEAst|^xjh_SkVZ_9sAcZDW7#IHR!+1I^c>YGA$$|+ZK!b>g91q4?;t=l|40glz zt+si(Jzc0m352~r8A4iM+}zx`J(G>G*2@;GDhgpie!Q_$F$Ra*LqFC!yEdv2}b_U~T_*+`f+ zI|GAdF#p8$-lnenUC)-a8ZF~b7}vS-K8s_lmdWX95K~sEH#mVg53!Q*QUr_QNDi}* zmOtJj#L*4hKDP~04Gvy!Ak{6^?+|g?x$g`W9nFr~baa}VzS-bz9u2Z{U5^rj0vu#@ zBIJf;<%XQ=t;W-K?AnD>@4$fVRQ^CbUD`Ix0VU0!721kYvmyXSffUNzpa0hVGYi9~ z;P_N2*cN5=3>VMmhl~iqmT;2B`T5E;E^JQytlAeDH$*?8fsWWH6-SE<48w#;4Bqc%1PPKs)33>T`O0Yygqs>05= zhW>mZI9piW^zwTBIY`bv8G%)~Oxs z2;;GQW&{L{lwC{=X=OFM=8qpe&Gw?eD|W(p_k37$|Jz-v8W6&-pfFda-ufT%pI3zh z3m2FBhamUwWxo}u`LAE8ewi&h9Y^wg_6~Z(dwot~)zl(J?$bhvNR0V8&fsb{HN&G> z-(veiG#o&`=U&me^E-PPS8Qf?;@Wm(Xy<#ePCSJnCBV+1wOq(l`L5jFRc&<98U*7%?aUlm_dq z9Mjnm9QZS}Cn37-8*1+%iz__o-slHN5KdPv|DyO z&ohndg{QL4EYpA(9#Cy%rI?CJ_2>75BnLz(($W$kZxAWLW{l7xr1L&!fYP0R^m$ zx;Q5R*z}rKo#^aLIU%0ahXQ`RoQEeE#BzYv20<5gK#^H_?#?E8 z4h15Ica&~`zsjN#Bt=*JEUl=xzuC8iO@kA7(>nw1CC~H9*cc#&ej{SDvM&+fgF{27 zS+!+mbKK$Go%F*}4H#%rrt~<%q?*DuZoOmI29qVv=|1%Et*9X5rGr|T{b3IZK~Yff zPTf)fdWgcR_I7%4@wxY%_WhmH)6*68Y=^oPsvcusxn>73rya5Y+B4BxfvD# zoa&mJ-~Yx1j=M!Yf&?xc>sJ*2+t*II8mt)YMW`|?_no*idJQT*r*r7iGb1ME#U*`W zH>*RyZE_P?epB&^LR%{@*Mbu0?tYS&-!CePE-C^_)}Tgq#(eGJR1O7*YA#$vDmxb| zGczM`aRp0DPpitaM(Zy+UseFar2@ZO{SHK;M{~rqG-mvALfSb{0LIYMPln-&CnbfI zmfq!((Fj@r0d0$1I11*)5|si{IbaXsM2B=B)pAet9MBWIugJNR*cR)xXgSmp16 z)>aRy?8%a&^FRbNed~I?gr8bjn|sSCNV5SX`5vwr+;p__y|FS`@hq+-=A|0IW&%&1 zMDP|_rOsrry^8g{0uug?`* zR&YM+z|w=scjAdg{ScqyV79|IFBU>zXy8=>CfEK9S+$4;QegmeEqqA?gi7IBY;o-OEv|ODw zx-Ts59o|v1E4s!=Jf=HsQWKy!9?uWQ>nnTne^XaKy5_kH2o4MsRZ_z8=KoW+6eG5s zKPj?4Z&nO)S|xk?*X!Hca3rsgRf89(x4_IfthGx9qE@8yuEd;!)Z1sQl!*QTDrP)d zx`_Kxwgdo9frwy&wwmcpM&s$BR3R#bw5Z%sPTRjjcgLpI)&Pd7 zm`HqSUaB;n%FCxLVi5&xf>3!A<9}hIJdFR)n#&W3rSBN|drl&iPQYSVIxpEstGC=5S)3Bas(;7h&wKDZ@51!-{Hra`17&xm7wdU) zrrZJO2LN(c8Y~z75#*KTa6Wd9!(AylL=|PtYJjon#Fz$AG%%Fa)iZbI@4UUHjQ)Tm z+{=E>N1#^_{e8!)f;2=ZEa#n>0`~LKIw1iuBm{579jFjZnfF0vM7@DmhV-Uo?Cw-7 z?9nz)9+@!#93_orMNRc31G-LtYK4XU!T3T%VmAhO+baj(WH4b(nAF(THi7>Q^QVhw zvWAh-{%BWfwCFo08yiN8*B5g&TC>CmFTt#HCvNRE*H6BL1w4a0L&BlA4vv4*c%S>d zENGVqkzfM8n>T5I3ZjoPsVd5IO~z9fT#k4nJd>_YXc+H|WqIO~5^7~AX5-Ki{Pp!|AOB+8HkrpSK?e(|)SF#K5F(Bc zdVLrN9bWU~?T_N`YR1QkX4Hl&8ao^EPp=ex(_J=N?3_8HoxY<1p2MBnK>~~_Rq|S z59FkLRNvo|!~DlFt+_jz&y@o<O8s4LO=XmoElmztsmFH@RIdgCWzVUP7eNgE(WJAEL$d7oZsz zd{eoJ%iCc;mA__c!U@A2Bi4)ko<&8A)Gw~39zGCtt*jht<6=D;Qm&|W7mp*cta?Ea z(GU?CnXr9qa|o$e7jQNBT6j}A!T{}tVk-S1QCCFAT0$r0RV;bQ7B>Id)0_Z5>MfF?q#7Hes)$>&4E7q00+28 zc7oH%ykZ}S)%&Xoojgap%3WqQ$D}8Mz^~jq;u3jkCBlPxuki0SlanP{nzuu-kSp~$ z^zN1$t$#k=o;+l*i@7dVQ|vw1TgZ%+I7r~`C%auw*jM)VZr_e@e#4~wWNhI0J^XE!YQ9%d_mN*op5GR*gSEo*Wg;&Us?Dy|!A2QJ3oB&OwRt5u9B$d2Zf9c?Jq9(VoPUR3x*1uoN%L~D{daHKYu0&W(l5_;K2EKX}{IfPKq?dpl?>8rDp0N;R^Q~-r9YNn#839xz48{Bxvz~mg8xoX1k@kQq5ip8G2 zE-mSsn@`5apVqS$eWNR0|1EC=mlh z`B5qeQg^CQE_%HQf0J~+jp6e0GeAuv@wAcSNlY&5IV+(PIXyR9X5e9fVnAonr_|$l7ycmVz2G*E*rC5 zsjBVWbP*c{29->$5KTMwiWE5pPFUqHOc&kFHrn&-Y{Bb>>Nqj-v^2 z!liB_BT#0PlSx>ATBma?dusvI@ZIFb&Zct3D0f|(&!8j)zsCw?hHY04KO(z zJ572hSH(m`MAVti0j3D`*T)y4ygQUZ&n~&DSO5T&7l6 zoSEs>r;B{3&iV2B`uZ58m@^AHd&5x!TU%R)hK90O4ELLdh9tJe0~grvbdJ><9FH@t zm@M}fr~jM|kG6i%vors*jAIxU+A{WlUj@VNiI4W5M^DTEF8B7#^96Ve%l7->)wym2 z-?BH9h60ef%jKeiTY{%8%8rk$sVqOby~%F-1N*(S7>(SWot}m-C*b*@J^mMMgoDNicc>)Ls_QsC$`EaIWb=C9Z{sgG3 zSy_QG#6PF-QY$+>WNh;#6IrPFSW#Z?ezv-oT0Q0M@d@Www7?)~K7uk`f;w*pb%L_3 z?N!KoYLUqH1X$^k8CJHG-`nQjA&#&lr=?}d=^ENMXiz)cUALSSZ+&wWv=af- zT<>gsH(4zd`v2-n=h^F9A{BH9j!aWQf|cydn72=}?qk@4eV)x#DzQf{=;-KZ_^UOm zV#?`u{2(!KE-JE8p;WK!<$<1fG(P%1T%2Hi4+J7}6`tE$k>l~dm=|vZBYKIpS|Z+Z zk#0eTeayq6l%rd1L{o1B%iUj-{}%tZ*NdY*Y{Wc1EK;$+C(MvPf4)J|tEPY4+uh{_ zQ?h;SOPgf09A%!-yU4MKI?H~rLmOhB94uK@5OKwKIG)+wt|~l%PThJ8IA*LVG6mW# z4zxTxn&cRx8GNtnUB0xmv|3tPfEXl9lj(4~XUrH!1?U6x;Jt8q`}Xa>S-pdLHbzGK z(?tpb8)>}m$s#$>(9k@0>%P>=<$!IK4Wn5D2tGoxUb1QuWyx`olU!EerNrIbmXpPtscoGjPS znkta3C@a%!bGZRso9LkgWYW3CDPv<}VzRTdL7y$#-mp-lR2`K6Y_w*r(F8b2UD`7y zEa4)LI|1~s2BhaPT@Xz|a6BA_wfzXwf}M1+L=0s<`7+Cj+VD!1hXyirhO7`KyMp?sZNLUyWJiId)18iSIy!AiFr5YTfp;a6iPkoIXG^qRQ zDcK^$Vli?-v~95NcAT12m_DqD@$va*vd7J1nYxMBz5=F~mzNLV2aTE4z?$!lrZiZr z;1LiI;NaXn9959PG3o?HYHA-;4*qs}yfr^sst|ZJsOHcOwE#j*PFsRu%ewCWt~Ma0PMVkIJhKTZ zy^;1kd+P`bwNJ?o``;?DQaztu7i4%$BC9}-#R{BANJ`dBR$*~E``T779Dm^UN=ePe zN#R-c`D#82w7C-#_&^nF&i--3rb$>>I6e|UXJjzn`1Dlia~zlP#F@Iwhi(Eo z;Okbsa0FUyMYNj6Qn((^S4Bmkf#%fN`}bFSkPs03zAU_#pw+C~-A15&!>8E67Xu}oBo6`Dutrw>~#RqCad8inbu$o*U^@ACX%bjMyF>XEy= z3u7N_3)UKuO~)4NOv7OjAz_v>uSJ=Yqyp5w$imbOy9^{BZHJG;kKi0bHV%FY@s@>A zx0v+19 z{P{CS96M{)Sk|}MT6DE;Fy`dw2oVnM4O^Yd&Eb1$r9`evFob=r#gV>vE|u@`xMqG{ zW#zsBfbdR8)Jy{n6WcisdDrSm``yKeG5dbl{ZwP%?Nr~h;7Qxt*C~~}4;BKq1OX8d zvL}+`#JDniqRV!QOf&+RxsW~p+5dges@HR0{w9O*4SK1d{O1r4w>D`ph2@?_hrlFR zOhtIxK63^NmPUGTn*QIj0xhGips=;I1#U@(%i*W<;Hq0a)H#kF)xK2XFm(k@O+r9i z2fTv3GwdFS{J}OfEN?9JC{sC@;1$oc`3_)EFI50vX}S)H75<{huAlz2;y9O`JquC^ zDECOW{Y_gfJ1|sOq0&S;HZcClbLkpxZfp*rH{pmgwiO)k{eqBH3}|lxcKN4SYCjIF zHTu>SbO95FE=?J$%Jly^4#ujkjDO!mBqwL@Gx_;2&8C|*?V<=z*dIlJ4)6cu;hp8? zQj}MJvc3*P5avuB7#kaRJm02Ve8~|BXS`oIKesyfZD?qaFETSS3W|)Jd$#ZPgQx5e z&Y9>$1@3f~Ji=Pv#q|;F&EJ`lf`Z&Xgbs3X5_zvB0-yGIi7WN4E-xu%(@P&&sHumy zcPizzZfMobZ+p9N=J4G|85+&z>E-AG znY3g+&-NGiqobo6Nj_HA`ntOJRr~V8IxGL(bS%7t9g9DipEob=6bfYez;FnCeRnWP z532jk!luS-6;LTQgI$)(5uu>`_d&$#h7;Jr=7)JG9B#NN?J2v}L()=Mm6l^+1it64Iv&utZ0G{%)G%D(-Y%xV7rsLFGE^ zwx{~LI0<1iKQVGrxR|J@H@v+YRu72E(yU+D&f}0p`@8D3zd^<0H?j!l^mKWEq?gAo}<84^(f;iOmAbW*hKd@41>p+D4aHae7Q zi$gqQd0t8;4*P5-rX7+>^~=l4!_IdN4YSK;l}{Cwl?){0khiBRCBtV%W5V&)3;1lx z)shKxJfO4)xHMqriJjKp#)@inc%+HsOdPzD#Rd5Le^*vM@}T|nDL5iRgr<3#QN=NB zu;+BSDaSVL;%zfcO?-=hZ?OvC@ZBG8nGDCy@1J5n$^va(Wr5!?Cl(qJ5fKK)T%zKKv_6UH^@S}2`HM7RS26z8+Hdt+mzK5V3n?(S~qt6h70`{=># zg&IR&zbkT#LBUN&+mU3JlG4&+;MRoYnAzC=_J_OvoR20GML<9>GiyKuLk0jzez{l| zd3W!;_^2jCdNE)16V8W#&tq9b-U?DGo+ewl5tM|Nm6nbS4hqO!U+xS8xU&8xEPn3k z{tDD>$)s`mll%^T_wgU#%ydra)k7W_3QwV4IG8GMb#^wNulz9>Ly;-U#Cr+wYkv#t zND|ZD=}L>?SgHV8Zb`|}@j?x-lgzsPd1PJol&Di{=iSTBXjdzl;&^y?KEA#SW~@FW zfZ=|F-VHOL)7Jp!10G6}2FurKzrVj9JnbuhfxbKdW(MgDy;m#4(t89g+Y4kfJhr1n z(XRT;ojX~S7b-WyH?EaYd9I@d@hB386M)tJ(Gvg|xxCz5sO^{OtgDZ+nguQBDYZ0& zlqoo~?*8+3dIXA(Ge4v~El>&`IapaiH@SR|%fU0+Nw8i)nm90=5syKOER}XD)Shzqe;xn@J%lMNeBx zi_dDN(qu!CB=vH;WQnX6!~u5JhorfCbYukJvONV^9^ry1ZKn-?!*pjDH}ssHxb*ZF z5F^m3)dorASu9lVgwnUaiH@iIqS{ksv$ZRM6*=(FpT@<-Q7e@)IBq8~8HPRXUu+GW zE!G_ke$3EgOhSU$nh+({tT)5`-@WCs-t_zDX1&@`zN{f9>w()F92_hsCkKA??qZ7` zWW@W!@u4BSU%seZ(E5;oZ-bI_z<7Y4`oWk4T*_kQj~*Ra;ABY?ZGc|>%pVb3S63G( zL%{)Qv{>Qnb+c9{vKsxaR_X*m*>`#Qm_a-so)G~}dqLX#bKC=XruM5bt_N>!PEXwx z`)2$q@!`oI)xkejl!K&2ML?kNawJ&8+3J-rTiPV-1*7!fwcXe-yN@C5}e}5D*aQ z25IS3TDn2HyQI784xDp-_kY)QeQTYB@7?d-GkfNl=b7p5-u(NQ?nsq3V)xkT6Di8r zYsKHeWld69YAlIU9RzfqreC|4R(t*KAbB8)v^n6%`uB%@G{18f9sP||aX~>rR#yA8 z1iAm1MNDBewhCJ533Yx@N1_8-9Jk2^o6usK_04>_K7^rMwI{}>1pSE2&EDr{K=XR^ zsX&S{6#Y`Rv=O`M5Hj`<6x{Aa$tPmp@wuyGtlA%>#qn31KSf8n$-r=GiL!(zWI|s! zR;p1l-uk3(V!|ZV!mF~zptxL)c&@wQ_SEXr$wt8E&-shA#F4*sbd^FH zP0GZSru@`G-XADbS69z92NCsSTVFJkuM&T%DP+`Nhy4E;dkpQ!aCt*3?YQ$<^og zu2{@1Q>wIHeF?-IxCYTBzENTUnc@^2bxeVFGa;wL9=P+8ujVLypBt-y|Ds-Ei03}t zi#AD2>H{8;Wzuf0WJo=R-8Q$#q!zc-dZJ|+`6&+F^Ep1N-xs%MalIw`&d$$;j8C5h zqvll|{JGCPZfLk-QA$&aXv1`H^9093YCJiFNPav--al96Q2WiBKVxRxy40Uy8|%Q{ zXjT6jQ?GUPB>xm9tD9|%>S9K^Q6{9Uj3>WyuN;rrb^`V4>ss2|Elbg8@2=$$2fjyT z0`SCy?B^8lv}`uJPHQetF_V)dkbmbkx$sQ!(fK)A?bP3PIo_zq0!1>XW4N8&u;w~p z1LE149DaTk!8ODRGdyMyI5<8-oU#QEz|Q6nYXXvRcOKDKR_nr)p=Y}ZHC0=6 z{Zh#!Ci)K=TtdT{fo&<^Pe+u40thYq_zm~JF!ZFu4Pg_=39rYl|4pRs-_gEOlQLPu z>BUY(YoLV z?Hqha=gr@Qg`xV+8^;Jz@k<2)$2LdBRjHDd^wq1bMdW25cf%_znL1t%P|mR_MZ4s; zw$75IwBPHID&;g05fRbTOE>9W28!|t2d7Cm+8yfn$5FN>n6gwV)k<)AH_Xj!gdFCZ zT>38eAeBlwC$e~dxqF%wJk6rmhwsL@*oyUTdc17e=e~yR^L4bq&6D5T&PQK5F2+xy zZ-%BpZvy86VThdmQI0V)f9Xu~_9XskD%TPF+A@*)n}dTB2Zt;d*UtMGZoc5RWXK8V z0*<3q>;U(gjqLoQ5oHilR8(|ztvT=7MELyXJD`6)K0ZZv%bKB~0I*$v*zhDiL_ED+ zhv7;5pR%LVQy*{d(Ro?iosO1DqnHOcI5_zD9A~>n$H!8XSUK|SXEJ4Xnb)`rxT1gK z{J0O5#{xN5CcZOdqv)IYeH`{9g~AdX+j0V4#Lv7;$6nn>WUYR3v-xo56?hvis#~lZZ5a357}@eVi-A&zhNSyl3^#x#aQ5IbBpZk}WJOxK@*)9t{b%SRdeYP8yAisZ!?Uk)l1^@ z8}w;ID+%jTn(G4&2k^7naM9B2#kngsc9jIl!)vp7%*Lz`jlfp5+=eX<6mAI#*SDWH zL7O0xUYI8Sp|N3@{4ciFx7wVt3a2u*mwB@h8tR|wFiZ6fSAf7G805`9el@M-%09-! zLCIHPbAHfF6vixJaoZh~N^i-k^5~=FqZhlxh&+0cB(EyZcW>QtikrlG_>j>6V|T)K ziNC5f7@f~iI;&)}%66xqSx_t%*NpoU@j+r~DR8RDLuSEw|F;CkhYufyhGE;zzIoUm zPy8UFF}8PpX(=j{Q8g8MSs0j3%q}bqf$rGf4-YcR<-O_0uP};=n)P&>c&l2U!`HO6 zKF`S8WHr}JJYWfIe&Vk5q$Et^ z*F%5)7*N3X$o?>!%Dw3z^ZtF6YVH@m+fiI`clXI3)he$GXUe)>93O+(Lv_=J303R< z(U}eMr!`~h|E=H@ru!xXg51#PAGW&`^bxkFtCs(*&kK_C>z7FGgso(@rOF_I~baQYi-YxcXHN;W0PS`_8w4$ngo^i&Z4 zb8*9u7)H3Msezkik-^DJe9#1MYI745Fd`!U9bJTG{HbWfAH zogF&a%1n1x#B#sLjfU_gffTz^FCh+L|IQbZkmn>M9_rkjnQwo%_79mD$^_q7$v#l^gl{ok)`IJZBV z2?a^Rcv*b{9inM4k~{h>C|f+Kh)rcgB*QokqmDgua^Xd+`OcR(aFN3z7WqJeoWBZ9 z8$FxTfN`|S@lv&t^(Jzc<|81(&fP4b_@{LD;PWXav?ymFE9Z1o=<=yLWh?Et+z5t=7IWH*W5$v-poO z3*J^zf+=1WOZP5&goIv?0TV6B%4!eTcevDIE-vxH!Vis^t-%zFi{A=Si6OZ2IL!&> zR8KO#=X0_-IO^#5RiLfy3n(KnL?(ls~dauMZSr|Q=snqKjy&d@tcQ; zImYJHh5#JLh8U1=1iXG1_BQCsD7}Ds%wN0R=;(52YC{fIm*_SH4KrqVJKFqiI`lzH z9xg7zKo+#w7cUGXFnrG%eCuqdym%!dDY)XDmZigra@_uN9{3HOXdi!?ZeLl6mI$~Y zYAU31t7-f|kol9Kf*w99cFhU)>CYc~ZVkJ*w`BW!WV*Udz`CO+{X}mloAQ&TKSq!; zyf}S)oDcur;e5y(zV6)yad0Oj!Nos+5_vO#bm#iO3f_SC2dDy=2b}^vQgX{e+s=;e zop*g5QP0J}r!z6}mP=PF_jhe zA|W{RL9_toEi4REcwZ3zrlzKb8O+O)W*+FDmDZOVd`YO7%x4?ygp_X9)Us{r-TD zs+hqI{StlqW6r9~jEtnBA_}@cdZUbkt9jh9psE*6!bF8{R`h~z9?}q5?06i|Jcn;^ zx4}g;K6Yy%;!&|OR`~OO{gw_HovA7S9jTOlv*zYE&_CjXM!kI0vv+<$0OljS!1-|P zCn4?-6hy8_v`LmW@biCi`}UDSt~vaTgTu)u4=1>jO-32nNk7%}T3l~E+pO%&j?H%;SZhTZ>#4|B5dGaR` z#J|@r<>$LpdiiMRaS@>wmX^nYjm-r8Mo>^r#iPD$ZB*>OV!#D2gIkO6m^`f{y|U78 zT63zSgZ26w;m9;K21Dy4o`1MSa6TC@-ioF`tArmvYxwWV<5~!OaK%RiMTdDU-ukjEfG;8i3nOb?k$8T?_x}w zJZ@>MsSXR|%ADlIbk?^@+q6PK0-C2$rPy(V(Oub)4Dgw;QUPDdc$Tro^i90x@g3F#+H z3`&sg#(w1y7EJ*f4k*F9m0OY4--;pMVG8twNi{71fu3 z;HX5I-2|_Fdyr=hx+QTzgDU7w^M4J5>{*X^0_{gQypIH^+T?E$$6T^W4X4Vz%xF`gliE5`TdJf6|b*NP17$u^^X$mKAU}KEm2^pKQ>QdiClt zpcI()=5>*9sXF@8Eb9NhdJ!!WvE&|$GLoZ3 z>y#dl0xLa7c+$NbN{+;y{VWZ#xOq@3UwBx1^hxJ!5U?Chz>FWUOZU> zuq}uCX~0MNJ%Y?fd`Q0aawm95VO@e&vSmd{KzrUW~h(*C#}44w^~BD z=+M|4z$UlR5J%DoY6#7F+04J3j~Kdn zK#QqTbe8)i^%UC99V4-Vdnr526!D`+@>?o2CG#9|RK=Bdtm!p(h-yi=@NSEjaZ*aeFN`J6lm8r1vJA-KYXY)x%;1U+Yq+0 zf@1feele0qMPrL*FfbJ3;7xyCSshE2zID$Bgz4`KGG6JW2VRN{UibBVn-;T-Ze;#c-_eycC5_3+1W_9TrzNol&fzPxv{^uEy7SsnkiCce zbG^RFdOZDH2sGhvIs5p3U9T}ew455!&tZ}xgj zkR>HOy{1rFQhv}lk@5K0p8T0WN~(bSm+6h-^YP0f+o|_rab`rn6Uf#cGNXBN-Y5*t zc|mdSYpLPDpnT4#a#o39N&V;#=aQUKd6k^3!EG6%3BRmaBw2J1bi@%yBn&>}r%&f9 zUGZbmKKp$k`+Z*Kuz%aUrR+6&h*|upi#mFJer2UHaxw{NG6`o@c3D(jRu(qi3I>7L zeYB4U`z3utK9y+b*q2I&4O-ju=tZUESy_0ATFlI8j)z@9ajsHVFWszs#W%5laQ){G z%Ej5M^WlQicP|Ss{oj(Yv8!ZOe&>Blxn_6v3x^0L@MjNw6o=eAqQ5?% zqx_lRNMDBUc=n5#sU)&C!)`CbuMy+#vVo5$Yt5yLs4Uh*yFc^MV)D&D1aXBFhD@ydhup z@+x!L;(akMhA@2*!inZZfcjMNh^7C93N!7iqMiEtml2`G9fO0i|9b({goL2bSn|0~ z{ei(g{r-DgJf_=)=@E0=qj&B+iRUn&q|A8v!kCiEaC%n&^(oarL;WW_0x^wz;?cgo zrinNPMigxkvO=Mt9}Ems($aoJoIfy78*~a?M87ouki+EXk9%r%BQfN%!||Q)^XS)> zw(n<}p7y%l!BST7^7XBG;On`!QuKcIH+pB<^PSa>&ic8n6Qb~3+W7#4k!s{F23 z$L?mFmaL4F6lu^<;DhgyEiNtxR&3UvjkyoCFnnKdR(+|Z)T5&+Ec`J#+CWZ@e6*GJ zM^ews3~wzJ_4n?X-b9Gv3jx&SmAY^}{=m%4T3<{e@u;2lY^4f`_%l>yrGLKq=IGJ( zBr`Ml-Mcw$oBe}>c-)ghYR?SrMTx2_kA}vm$f$O_pf&C2%&8S(f?&$Qe&pnML?VHZ zA;sIHhDXR}ulAD#hgn-kHr8$Sjt+EE(uta5a(c3ckZ2h0@2PU1!JnRGQhW+Uf5fj|@r& zTP}eY;S9J7&!0D<3m(rkTd%JZEG~MJ3YF)n9D=;7sDj<=E!m#!2m(68Wo!J_FJ6*h z-VHiNdxuecRyx;%wJLuc0*@oK>t{pPH>)A2{?LxSuqG@dME#;eF5p?FprfOZ`eYx$ z->pV5)m%w>ERLtO3F7I!%l%1zcoby&e_1UDL(4l))Sld4H!H@%oW?b|WKkE4Kx=T0Q&Lu`MILX z*By!&KquVUUA=Q>yKFiDLRwBv6Sg=uSy7wYxCjlDD~xf_$t zAw0kJ@U?%MV&`gHM(@yb#Q&}R#DJX47t8`<&L2L^Ez%R>nMC55I_cI>ck0FD+DAiI zs;%upxlaon=BkKX?4Yt}ySJx#@#y+#alhiwe&KRCLv)D&IyT{Y>ZC*H!hC80U+jzsW3ps5c|-E_St@v^mX?f`?!1uJ`GbQ+dU`@QSYF=c zSC7nnEODTtlj8FLF3QY)-r>J@%3qSy?RRrOsyf}+EYe-)veHLfb3(a(Ze$V(iI}es z(mOg}o;YnttClvC*078T%@U{!Co7fSl02kG4}RMa8ymg!K?2u%2D27G)otg$hDNU$ zqJaJSXDmiAT?S^Lv##-^{~07#|G6<Q@5{2CTkFq*LVxv`gkJ@@it^)3fat)A3FRL|z1Rjg)IFM=SV zp;>zHE80?0H-jihFwjg*vADS_Mv6$0w^g^)--*#&%!hEtMBCwdzgJA3Ml&!7p0_ym zzMJRcQ;~5_f#{aB2u7Wm=^hw}Q(Z%j0Dqy7pp9oTI*c*90A?Hs3yYDp0@C$k{my#K zJ=t7W_qh?{3m%hbRT$Z`4|y7{)tSCNW-oJz!=Ru=JyEn|^ZvavFRwHBy6V%An3$4? zM<#Vh8fIqDiZR;DE4Z9$$SEhM4yN0{09_n+w|J$Ez0fx#eZ3^GZK&8o$Ot@e>D+MF zG%!FK!IVtw>F7$hwA&az-`*ax*>KY9z-7ApboZZ4W%PYhr&SQI7SfxSCUJkbgqnuf zO9}7QJS8JE96mf-ovvkMi^F@g1pNC3@%Cs21_tqj z>g2*gl-M6sGnq2`PSr@9OFLAdp^Q7nB-+}X*mB4SM?y<#gt2in5Y`V!-~J=2tLv@T z_2T&Aw0*O>!fboCN5hFe>aC}Z{`F)1!34P$P`RnN40znOkG8w8{3@Yx+nBz%{l@3M z9s!$G1dpB63y=51n>F3L2Wi&FJy05l()^)<@680?R>hk)i5g?xknoE5lSODBU3jLA5OaQZgR0@;pMqq;Kh z4n7C8^p(NP%k+(iWVP(iXuY^d3J6do4*`6;O=stqYSQ=af)r1*5ln<1L$4hzER$oo z;xfaf-Mm$P(ZP+n18^O=#D#r#{A;>|`~Mv1M|2Fm+lN1MGH2xF3bxnyRa5|GCdLqE zwFMj!nlsayyu|%?iA*bG> z|6zGBKf}AQJ^JKHnJm>>3<8^fz<#AAbQ2W`Y-l_$))lMsxYhHYF(KUjV47QFZ}~kg zE>4s@FK0nkmN6oN1)NM+D4oc==&kkP2YjQW%F>x@J*09!N$x!l4;Ks%r^_ZlC|Qo> zyi2r^kt3!>N0lauCMm+pQ?I0qcfRR*r{;8HmSrloy*p2(=7NbqN#oy_j*wXPmJC$( zUdhP<#@Xq!aRdatez)cA?Je!?W$a%Y4bwegk_R)tS_Oon>+53eEpBUQ91&2WSJf5Zr2mj@BwXJYpGMQOl{L;c7Mo z9hNyBwr`mau}qEcZ#N5#jW+!E0?^Sw<>8M*^X*;gxz#1qAC};>$=VBAzb{Y(hMceB z_&%vUZNw=sG5|rGGxK}%oyll0V^Q^2t-}Z+u19%GJX}aSJBB01?kib{H}6DcU#{kv znN6N8hEdyxP?)v1W=h!#TtBAfpPhq)YU@=TKIs3jK2jtEkx`#-FZ}823!Cbj(vy8u zpcoq!^*o}z;tcYZ;cDj!5}J47; z9^LN1x8fK59Ua6^-;Y59FnzO4Nn5FZzLXBcP1D}=%4}>GyOJ_gVWq{zRwpl@ z&WPcQWmZ~R$`xaqKe8sy-Z|sRH{&m|vhxLxk2ZpZnVIYKf;JC<5B^6bMa7h~w3XFM z_L_Zr1>~nzKx>9FdKJo2T@5LaOpjGxvi1})9v9w3C{OlZYyHim*MJIFGqK~1iG_I` z`-8RKIQFUI)t615A3k}h(IxlaOG$Ltns%?KI0fprp`MXk0L#~jP26ZqdCbgGKn^sL1)%WtCx6<9Nt}YIFy%n8`WI#*VgpTf-Bz``SphUMa%@TxiS@oFYwT_ zva%kdH-TUwGA>RmNwO<}n;SUIXZgT1_ka@|8w-acC4~&V9ugj)Fa!~><2-pn{Qz}# zZVrf7eVbm<$B3UO?~HS|KubW5P&|khcmIT zxB?p-$e(IBgUerjloP&GfS!paW2NKcsyO~&7(}iIBYLPwOKOMKfg zBA(dObh6UG(D3AVDFIx2<>^L+3&dRE{R@wo5WU|6W((>A?E=Ltg}iF}U2?vRcIw0< ztTVplm6cgDuFW>eSWZVAvtNz_md~q6Cph3ZA6y;hyw$bVx;p*6zwgtYGBEI+DlIC4@9HMh*4F+s^{1~-ro$bY z+clbnf(jn#1{`6Dt3TcKKKC(Ekw}8=F3#*JDAM!u^I=E8G|!-0!8|YxsWx7}c#+-y zqnsm|+}zTV9oQ2<7Sv~qPDq$qXpiWz%ypZU!FqK2u#!62{Nn7mp`n2=c2!Pd??ph> z8iLzKpTi_dn)qGy$|G|b%&E~)#jsoMwY(}Z#hSc(8B*~^gR%CjIh=jzDB%2bs0Q9l zSpRcBBD!@i0r7awG81+|O;t6X)BEk(iM3TMi08}7?5(Yt2t7c04gUn7OO9FvGb!m! zjgk446+a?lV`Ej2ogIyXZ~=VPid=Vw;N81-L4*#xQe#uo$s)aOAeE4dM*dmAwwvVS z*le2yTCl#hHh*%DgKI7v-$$_-B6yA?hzJvh;~I0@b5&xZ=%5g)_>ql_&XAis*c|k7 zw8nL^-Y1My$aJ)D;hjp%(Lw_9^%i(Dm#J3kbrX6@e*Cx%gqzvf*{e%zv~6s%Y8Ys8 zFbKRSS%@AzD>pZu(V!PNcR<4gJ|G7N#{)i~H_^O&+1zYKK}H6`kXSbB+x7V%FQ+Dd zK=9gvj8q$8&qGI7S3HU#H8r)dt*o5P*(@goGsgrAFX`Xl9d9po)O4kH$Hg+t^IjxL(35g#T$`eB8;|8JHGPU%yT- zFB_PdZLY03?aa3V_uX~iha8Yvlai8Rm`$STwUGk^W4K)}vXzRq*p)!EI4P4h19~WZ zO-)U0ZA=V|9ndYAjus1RXw9HF*e>3F97q0*~%|p=53%qT?srr+#DMlqfRK-gCiuLtLlql-u>yl zqLdWa)6U_cLi}n!9Ju%;wJ0ub1r~|^n-gX72nYj?JsKu=?j#=_xlL4at^K|!WtHYN*gXdx7*`vWzM|E!0u;OEcHJwlG0zg+zM^+0A3 z-?Xx@kRAt?yxe#xxbeb5hY}1XWOtsey*;Oc^Q&`WKN+^XYiYgv2EmPY?wN0|ANCwI zwNkn`r>q#0CS`sJ(?sQQ=iXi(3F)#(1flQeVdxm*{I~8O=gF$AJqJ=BYXz{<#O_Km zM+=)$hq-{n^|6pt>CebK8ifV)=Lcg$eZAFR0@I-1TxL%)O9Dp}A{y596L0PAiinHL z+hW5%opiLbFNf1SQBWDP*dgP;HQ<)yE%<5-zP-YB$kVGVTk)e)MG>({^}PPj}&-%nnchp@Z9(( zN`oInzcCR_d@-Vj`GMhhFvs=K7S_AFokRdwNpI=`WAq3L5x(D-ajUKAiGzcC)MT?)L!s>ugizwl)MBp6bEjrNjDY(f)qUO75NO zCt)yJ+KubqMaK#QucM>GzhUSqDajZZ$Oxkq6^FJilwzVHuFyi( z<>2M^ej@INjN&le`#K4uA#tUA;&Kh68$3~ONGcqd%!YDRMn(pnKJ5|-|MHl9(4WT* z;d)avr=PAZgrK{w!V zIXQfu4}4|SRUDJp(@8P*_xHy4_Lp;VT-$X#9^q%^m}KUNVc#aI+2cY(!tib_x3m$! zMt$m8Ug6FZoMEOpO^vnKvM{Ug`c7|80Sm)z9RDnKwja+haQGw=hOcPOAat9dp1?*( ztf}IIDXXK!%d@qg41StA3noYHYltCmh|o6YsyS8~4ds0K;+IIAZof-1H+ODrRbFBK zPimuo!}m?^D4S=~^T?Q(b{$1)YY{o@it=bVxyIaV9R-CVSksZFjHM;NkdO#JKS6=w z;CM$?&cfSN1{s-8Umq+1cKP*z-piND!os}JANEccj0)=PG-++q3JW!dR&76jDmhgq zhsh1aIppNbwnrG@ej#^sOkQYr))?=X)_6HyLVcMWR0(|G4W}wx?^3hw-EDdz_VB^D zxrclL0y!x6ut+@x1f{jLO#;3YR~-8e40wcwde3UnMvT4JNm<`8ot=3)T?@k%FQhb zW&aDrGXSP3DZ%GZ`0+!F+7wEU*T8eklg6H&y4u>huCDB4{ylTTm9|dU2MVlCsv(@$Tl$I5bQrOpF^^S{(6*H)vvLAhc_DJ#Pd^ zp!!J5!m0AoKL(8qW5g3prLzMa`rC}3mr+;POq^Vt!e9{Rl^Ndk#dN?(ngdfeN3H!E zXDP^$X*IZjB>y8O!T$j~V|p6S)h9K~oYmwX;6_SnuP51OWHj35(gl*VrGY{iiYJU_ zS?8IvS@ozySImif0O_~L_VM@KB_ilVxDrBf7qDDF(L`f#veSnq9trDQ)0GJeucv_P8iC5#U=%rpNxqA(THA%ZU^eX zAbHi^8~QBcey4sPj+YacD8DJv~~ zMo(|P+*`1*5xU{Z=CaZpWF#ZwFC*>u_=`n>;>utBhu8u^e&3rL?7p_1^xN+^Z zjbQTqZ3#Y2aCO-kF1Y_ane!wWu;HLu%BdRe{gnX@XXm)*GBhUDS;T1R|9l&C2BAMV$vpQM6gR6>HKq~sdOAE0h*NIYUWJ|3wkQ>u|> ztY7laRqtfCUYV(KOohu9?xkmBNN)ssG|o-{D_L1_UF|R8-D4`%EZKb-ANl$FB|FR z*Tww(z6%NU)z_(N+Mpm%4Th|t)#o2ho1|G0N?!0+_kQ2l*zx7dZRBJQmY=2B*}}BV z;}g&AhOsba&wlvFV0qRBibPn@s&@#B(S*0o+s!k&RNAsA&;Xj8tzt_H*a)QEB}VC$ zE4@ka)??2@-s;RXU+RDOa0Wxj56H*i$0jR}-+_r$&+PyDILTQ}jUUpgP1gozJ0#>z zq-btxs?-}#6yNQ?l$J&4HF z{J>aVL_|eDWB1GBBshh(HD3QN{f268ewz2LL`T20T4yd?NSOu?Q5%jBv2Kq{PVzl` z_4>6Eq&+_;`bXoGK#W!vBCh=OTFI8Rnzn<&%m&0c3r=;UprQIS{p z`6}bFiirQ)WKLTu8J3db;t#s=TuzF|Tki#IY{VQLeZs=Fw`KxsYsGna#V;-nPEOdW zj;X*`126O2x57NN_N83`_^*BGKBCd{fQSsAv%_l}`$<8>`qfY;1=^`#>UE*7)(*~B zZI;R$bh0dg(zkYfEI}rdysDDg^H04GcFl#u+{yk80QLp^wWjPyGxUtw;!`>BsW_`d zX`3}!u@IcI6t2A0kVc-_q|*YlEL=Tb5kffe)uPo_RtCY43)~?P;BD=f$k?h~ALYaf zI!KyKGjnxWm@NP{?+(;)*q+}c%*fW68SDL^BMWkY;I~NE#e}7qdV)_Lu@1~l8JL-} z@QU9{OWRoF_?|t_I&U4pCk`-&i`@M&Ul+vsH=FA1VB} zyD0D&caQGQs`Jmd!h?fAdhJp>$G(I0n6XpGdZ?Sgy#?a87mkj*js8N1FSH!pOPN2) z%MaBjIXSI4Bs3$^G43YHoI`g&`VM3+-{s7X`RY@M->KF(#*Nl)yG0fdrn?b8epVwxSk&bY{K;TD<}INO@g^zUOk^5n!=qNi5tY#x`=?wc0%mBDX z&|5s0!S5D+nsL9jXP6r;X|{NcgE>e4;hm;x?0t04>&RB}*#gdMfu{c97Ht1i)TboD znr3FXEs@zdt+GFaBP!bW1w};0CMuqx3knDd3h?sAiF%h+$nf#U@$<#<^Q)cM4B?^I zLxuR;Hw#*|HUs1Nlao=g1VW5QOMP=#q%ZRzmJI3b^@C`I>)gttf<2XGVc!JybfNvS z(mHGFV7>eFOkfHk>ng`h{MQyiqJyrN=aGk#{wp7L=k8E?^G{Ttdv-s1?#(YC&@U_poAjSJ(LD!|U=ptexkwDy*aj2~J?Mj=Z=%^h%a7u8 zG!sVK-CKT^e}abof+U!XsRVjI`6%QqLKzIs#gW~maLCz-p%T;8@_#2%1h?SfDX*?5 z8yTs<8?YOeRcO9)%22hX2V|cyIw~jUd4R62nOWfF)Z}DkO$5xG`nUd%`^7Idb|sCR zD=M1^XVD|iY-hV*b=xZC5nLW2-z+XJ*z-!m=hlq(o1WA=K7Rew6Q+bfnH7MYp{6FQ z&S)59aLF~Yox=^@S*<*@$b6<&yP4~A!2Vj$>D3tFVglB$y5SR6exI2&4O1}`JvV=nzqU1}$yz|W(B8|#O z%hLl)3}0M`&Vml%vsqJ8alQFBKVO$PIM}yTdMJG!kc8~V#lE;){ziJ}vS{1AWw(Bx zFm$fI4w}Mw*4<-gFM@&r7&qh}FiW|5lw@7$*|QEz3I=e|Sy>}ck(5bC-siI5L$$Vg zd$?XvWVs|(h7WDc(JU9gtYuBsU#ynOl)@t6r9qp^)uAEVTQ|1Bpl#NEO%4vyTj~x& zROa{!VKt1AX`6_HQbdfV`eSl_QqsWqxcU5B+sfy8W-%;?xSvlLz=?fiHF>4CVQPXM z&su=%Qv3V2oI-P%`P0)nFQM13nQ(9fKYrxGq&N`}D62=#x>_#oZD32lU^7v23Hl(k z`!OrmVYW2hQ9$>xJmG0hdU{T7p^?$+!_A1<)fnKQ(V_2d7u-Snc<-(?d^R@Gzh`GJ zkC$bqq{Kq+>)VZFT$8RRdz#$br;}5!p!hD%IS#m+45sT$U1Sg!-o#Jp#*@4;aU~f{ zZsvnigFX*v8d-JO<$-ydJ&-`;a{VVvL??!jy3vmnTf$ok-KX4g2`z}i!m9W;#pi%0 zOR0q~&=CT9o8eLdhE62=;o@oM_{<$?W}Em3*jd>+aBeJtL6R&qAShU#EObAH zwZ{x7HGcxH3fXS%8zTe@Snn|*hzz1<=(YY>kS5uJb^EbI1O!@?ScPR}QbhO8HvXaa z;3QymX@`&o=naX+;T1dVr^K&&9o{&fFiBs_tHGsKAcRy<7=DXu0#F;Svj~8pjjXL>8ybFp zXm2Vj|KY$Ynm!{5IXr!eQ-8*LLBXxq8|c{12~avfy0Oi^xdy}!E*s7A zj#7z=ch$I5O*aMHaH6y4ZU1>j->CgD`w($N8B zNCJ&1M&rmFL%xC^R0o+dkL~7l3=BdeS%LJyP1%xpU*(vJDtah~Js~z07?|ZY>!H7S ze5%X!ZVgzCJ$D2g8PXW2dPt9mnsT_G><_IjEOcr&**TvqBWY-`55$&ZCgqd9D#9ST z7Z#xaV*x8G^^d;pY?&*Fp;{vT%2?iUamVG>zH?3Xhcj{1GGcI@jVgC# zNO4zQx^w_HO3qR+RyAl?d`ex@I(3ochu+m z&o@K3#1I(8Tt7&lK8+Hs*6mzQ7V4`xH62|Wd3bJxgU~NPx%SJxXsa!3{0YnLBd3BI z=m%e*4)6B(q%Iui>K*)bgrqGuFj+s?$asFHuX@`Gji~+&@dE(2wh={-GR%yO7{Uy{ z9|((bO3LIpnF$f%_hWcj)x@v;keJqcfgs@&|xIx!kHl zFF|Z2WStxF4u@=BXK1d%BFfzt<+I%E`f zB}LrKUxdsmSE&rdsq*q5-#=*Zy;^)v58?U8U3~3|;`0tKXpVJIy5u%$83>a5>oi29P0Rl=yQ~^2auaD}^tY#Qj zE4>-VLk#DfQl4g}2P2;T`3-U>($@=eB9K$x_A=JhWz|2JY^2Nn6&V$;?kyw^%mjd< zrZt!H=^#jra6>>T$sU;96@d644w9J3Dro|OoYs(Y42&C)Ih`wXz@9<-aACMMAVj4B zIH;+qI6*um@x+uJsyt%a&89GOxz~p%Q2KlX8zMfq%RZhv)aJiuCUSbfZf%&q$f4yk zBdPgSN&xm0$Z}4bRopLV0`3tg4=<^_LP&H6`h=ihV~NqR>t&pRN_#;*9Ugt13FKnG zSc$HP0s~jMRN_?0Pg_PtbKvGVbNaN-Gcj9izZZo_EsY$;t2Ey)%BTA-EoN*YW@0Rw zA&aS^@=8So^LC@B;Hy`3xUqSoRQK<6UlaA#);gd(zs*G|ch77EY(b;!o8z_?^lTHr z^=@o(Xlg!fZah9%eRptnRt_wYlr)?mg4O*21vD$RlFP2t#9UZ6G|^gzBx$O$Y_zpi zT8(KMvR>QGYU=~z@Cx>Y`ujpv7Y<+3I)@bCMzb%0@zh%l|;&py`$5c>2Pw_Xw-MRVT87{TXBbYbrlNycN-; z49koF$>ER7(p`=Iub)2`usH5(F*vg`!wk8It5H{JKRy_{0}v6==bU!MzPBOY&ny@d zkCLTIU^K`oD45KYAu`}|kOn58!F~J6^q{6Z3>WK($o6^@qM-PbD_ZTqGHC2=}*JJ zD`N!Z#I5=y&9xVQc&Iu7EyDF)hb*;XlU6K#?GV6-fG;N>T?i4Pv-@0d-d)Pt@yJ|3 zC5i9+mPO*49A8DL-V++W!o?o?B2j129t72!9Uk6@LQKgGwA@rTfb7fAuwZA=s;6fU zj9Cmf{6%n!>6FX$&8WI1RR)^e=o+(v{d%=v747!oS!ZH{r* z@^$qDmY33DOV06^r!^^;=bMv&9b{@Y$Q=$0e6-oDc3x8~2j@RtMhcndz!qhCpE)I< z(d&2XliYNrtPecl-c+hQ$}cFm2qY-Fd6Pg^0|6l#5S*0sh}0CUi87h9dErk`&rpmM zfun4keRY({vw5xxNXQ_v9UpFKd@>s;+Bp8qMUB9xadxgRqPRpjJiMv2G|kQuCZ(r= zbsLL90t$SM=&v#QX^Xl*e>lqD0?jD&BAK4!zjMd3R){r|ywCo*z zgm(=a*FtgQ^k4$Ig#noT+SR4__F%(4q5rdAt~HF1Rt@G*SX<-c-n+%<>F`eq0%W0d zT2(tnGxh!<4GH%bI0&AS5d1z%g{h3+`}@DAkym?p0hVTT{fY5G!M@16I=S&E^>jEQ zzqQaH6@$|q(rRKj%fhrBDN1;82~Pj)?VUTMMn>8YrBG8B=B)R*`MzUHk`#rzZ(3u_ z)X;D?Jw0NwLc!tEMM)S<2AI0Uzn^l9KYP)^MAo2W8T}+h`Z!1B{|7-(ob>8bOvo~56zZTuh+r!WY!nTrbCgkV<0kXHXN@8-g6NXA7$3p?$+G`@2O6%rvaDT|)a&BEWV8vs9~$#Kd3Q z+aL1fBpv>@-K+d3I-EeC#Lp&tgVtTN*VZBh1U=rB47KLS$`L{kYKS*e<{j z!|D0Lj3gwDwpMSkF}c4dFaKdem*we%1STUb?L+G~QhWOn4VTCFZ?+)*#klx(>yuP` zxP0$$i`|X1y( zV%bcuCc$+JAD~_{t~?Wh#a-1tv+~T=v8XsJ^zivw8X6L1z9TJvqq1&`+1o1y1Zmrz z9xsw*2H;u9G;1!qp#BGh(5j0Qb87){)TafCC#RdX5NKqk3Y@JK2?Klh$9WiE=USWY!N+}Ib&dbBZ zN3T!fsrmDH4J{&EzR-Ato+Nk+dMuKXF0as{Acz4-Ldf}}E@r2&kjks>9)r?LvWC}S zT`xMG5&!0053+z|p)>KlM*+(jeh#t`8v-C)#`+zi~iNfUz?u@rteNI8}Gh7})X%M;lc(VoJFW;*XgGDUXo38vw|BU$?K7;on6a>w{PLBpuV~U&lm;8APfxtxgCSglhqvNcmRAgc zqpt5V>G^<)+KA1TmiqZ~nCceHM<2yZV>eo?$s{QLtHM?UiaB+2%_U}4*cYu7b0#KC zT7+M{ZO5J)85sBnoO1yf(U)ehlA8*cbOofyO9^=&^b{bV2iY{_{%R8f`-6A>0Sxn4 z{yy$(i#NC340kygLBsLC1OR=h)8CVj1VP4 z{rmI-0>+DrznvboL-{NxTPOJK8x4($hos{qB;$2;s*HNB<+M;uNq8ON`~QU*-h7WH z4Xdj=v0m+h(rXazOsUN}3}tcLA50eA1tW&>CFUcA+CW^uBHZ|~p{#!QlhnmrkV0SY zJ3hYHh!>Avna2Jsr(SvT689bmr@m+1frD;qparow2s7AiCyy2)Rxd8@#jr>m?iFA0 zQqg7Q_c!SKz5n-folBqeoU`w} zXV0uzvzBBDl^;d~B;VkX#l&E&TVH2ECN=^iE`Jg@!o&AG+|6J{LS^gy2|paW&B?QO zoDp`W1;N1yROkFRWinDmaSOhGhrNvp*qHsIi04kT5u_==)&Kdk#Q+V?H495F(1Y#m zEC3_}CaF-mW;!_9M}xM$HxA!bRw#AADG1)^X za(R9)2lx7h&qCx{TH#$?m=BbqAY%a-6)(X5Q=!)lCKbJD*F6(*2>X9KxT;f0f5zk3 z$#h)|m|dVl0O==;8@=G*aKAW6{&?#unT#5fR+sFa&2*yse}XyCKaFJrEg6*Di^?O& zg@I%&a7>0jog+;j)zW++f`~QqtVm#{3MazdYXnxy@ouN{IUj&IUgx1zo)>RSOppyf zi+FlYGSzF>JHKe{53e%o&ElB4(-%TI#y$|K=pV0FP~=xP-kFEzkex26)xb?x4o@ztg5PFVq)y#!V)U}_FX0feW0pp>*S;K zG{SBEa9@N1jlZfIA)1UwjRyTNPoFM)8myt--s11ii;J1diK3?e^Z(9cWgUPrSwj5IXaAj^`21;v z;t7DM*GAsu?7hXtbBkSpeIdhbnbM<|+xm#Wz(JTOnp-jz_zoBPV_xT@wZd-gnq&WJ z9^<{mXOQQGb{1`nPeZmWGKr}D0AqMM)z*o8aiD;D*!#+mRlmCNa{I%KJUj*Dr;NAg zl2>3)(}w8U~x~>s5mhxN%(cLFpT;L zzOM}m68qhG3z%LK6roVPT~;6$=(ub`L{TQrLx`4sf4(|!&(t6_ICzJhZIFY7Wgy;k zCAr?VQpg<-J(0uwZ@*zXbOzdir>BIW{tl>d44iK45Hoq6{^f~Z_CVX6VXQr zzGxvL2kxbrxjCScM#iGBi5lYOwuz2&5I68>-e3M)3WQ?lgN*{n1W-pC*44=+{Rblo zW@elrr%zpYdwtP^WfOn50cB)xFqXBQiJY8_E}$SPGg~p6m#3Nz0M1UtG+b5Fo^Ip} z`IO}3uLpDdt*wW03b$`>PSD1(y{VX$!SOdUO0V|1a(g27BfBUkQNQH2R1|TgedcEo ziVh<=9$$0Tk}qEh2es6L2ZuluzS3iV*#l4*n9v2slDx%kjkTxEZ?kybf#11iY3XNO zT{*vqS0XQaK`X~ksX4jd9ht3+d9~dG$2Fm&M)Shgn($0y@{rlF)o1z+^9J3&~ z3CO^^O+5XF|2p2=fIM3KR(XMO2IEt5iNBAbV$gN7`myVmlM7n3Ah`Jg)HlnWtb~lx zO)&9Vt;QT|yA#I&`Q9O+2>q*k&$l@{O4bmdmteZ7F5P0CFmqXs`zFq@Fsp1r-VH7 zZZ>a3MX@)h(ZbY~wY8bPzLB-{=ip6t z4i3Fztqh+GkH1F!%xt#h6~Ex{tdkLb}cHk z$-M>NI+Ox?U~jLaF^%RM^BtrfL0(-qVdUt}2Xw*ev$q4>=Kq%q;CqeO7Y>Zk;RRl8 z_^_}Kl@z^Td(q3m#+H2D!WnI95_IVZ^Y_1jQG(Ylz({-O;lx(i(Rzf-5nH z)O?v(J|2U)mh7Cu908D5oNFZo=9v!Jz3$itm%XpjcIFqBd(V;bL5&GekxV(J zM|oPppGCre=hOU_rjl3*gEkoYpq_HGP=Z63v0@sF)IAOjiy4{ItpVVaQtQdezP=1# z@YETI#)pR^s-E3^Ee`xpXe`WL0f0DbMFowXx;iI_0yZ`v^2+{whYpCF{>_S5nHxz| zKgy%TP8MWN<)s zgQ;&ICy$M#L+4^AQy&tgSau>&icpV>gUXtk*z|N`CUsQkcl}=!YRu4Ekk>AqXG%TO zoJkT;=IeyD!|NX43}&o*Ids=oQ<5jQw-9-5QO)KLr;VK&7g!yGYy9r}^D)rQ`YDL& zIB?MM9Ams*!13aA@8PF;JD1F07~Y?%trlbOJ%Aq4+(^+r+}8ja{OhiD#aHImB?exx zT9}7wYv=ume^j~?F7%JJaO|1|Mb+-xEa>MFwAR_w?7VSxb$OlK_$OgYkTAI&#U0XP z;7u(3F}9j?%`Y!EKHU#l=xpsbGg)Q4i}e1U5VRHoXuuGsuHdWBb=&w8X34>Bs*B4g z&`}`0eT@JF@65TziC3s$j*|V%{49<_$Dri4m6bvB4kgZg?8x6;m|a~#+wGFh@%wUe z@u9xA=OqO(;acy|8UP$*mPH;KVX;vhw5+V9e`5CBK$umVvHtDM96FWfMQOUtwqVxSiD)2*F8k! z%h)-Q;OvBdFyMq~B{aW&6SFKH_v8KQK$`{{f|ZqQm6c`SvJ3OM(AK^~ ze%E(>$y6>=X~iKRDXA7RG%|KbBwc~47aQl&?ND2rg@#2sW@WHzgGxMgoN=C!ot=_l z)q{l+1H+LXXPcHI+pZkrtuUnK>Ke1#_7+;yH%dh(2XkHEW?oqikwn;mtJwPJ6LxEN z3MuR0;5y8Ks^xw5@i#^?gS0Occ1K#m*-&BP?2S@IL0 zuEz#XSy+%4%A~$q;ADkLQ%x7m!AzQNWc$2U1qdgztlvfjpy$7Cu=%`}V1T;_K07c% zft*Pf{AkF?j;kCTOyN9Ie8lS}191d9J9Z;umFpH0z-UoX<-p{IBo#V5T}hTYO8v~{ zec-%yC>xmgR#USHSU1-gY~6RYW)t-D^Ey>`B^2$X$-OqCU90f|IFdnvg3iQg5NCNf z>@H4+2Xr*+e>l)CT^wOMovgdJwaDFduUo#n=mVh)sJelx01LTfO7K9mFx$M+fwm%T zZh9E8jZ!<9OAU;6Gv^mtX&8W20?Y$!|LsnuVJ$6RnDVGS(%lz4c?GVWvLKEb%`wBJ zY;6r;+o4rNz{IbuIz%7dERmCsB){=AN|$>{WlWw6Q1O77U7ToBlCzI5gx{;jL72VtGd7EeNG_%aI2Q8{6|2y{%eP zGGpC)8=vrjI;0crp3z6eSCZCX5SDM zH2#6Kvk+a8DTA)+;ah0b726NGfKTp)NPo&#e{p$@iWc8+LLg*7%?b7sL=%t&`tU(! za{884viM)slcT_3Xc{zrQjkl~6r#c|XR0@agxlMDnwP1kr;h?^xS>L?jg5*%)E>Re zmzK{><$!GLzQ23{>Fx8Fi65Lv&4I1Z5X`BjK@!AZHEpn*# zdsdX?L+ z$^EpDd~|i&HZ;`bXPc)e%AmZ2Qw-`1pl0B)Z^kXO3`LU{uys}ovVvi}oLc%gyH@8z zy#yr=++cQGt9ZfSDGn`fTx$GAWSx&afaF5_b~!98Vx|avZkG;oWj4QPNXm%LM{#BU z@wm%3#()dN&tK|`ZaC%qM11dx{034DUi341ItzM6lUZ}+moNF^7zFQxwx0rHE5KL5 zfm@{(6AJ_gh_PM;-QMTA>nnu7`hu2sjZ(_UBt+BFF4_y&#Nfa@LKruLk}JF62V+UW z+pH%{l#tNc+p|1>E_eqf0lh9x?P1Pfl##*8Dhvh^vlJS)YgR@Xv16nU=i7nu8i0ZY zlxhYo>mIBaU+`=+kyW6)j%eLt}eGa3~f2NVA;$gPZ#leUGMaCYVa}m zCLl0>FkE{&cc~Y-JMA|mfByB3Z`k4@JAQ6H0+G;;_kC0dU#h2v45~u4CdE4`p-&!z zqo*>HTn?khLAcY==H$`zRc+Z|DUZM#%CO&~mD*}*=expwyjE5lNnV$ujdPV=eQuUn zMsj!m7ls4w`eJu*A|KC95*6g(@bEc*>$cZ|LD5Ib}unp0_)pY;2 zqpL_Gl+XTs^X09i>AZXTQsf)LFl)?m)E{#6xpAf-r#Pf7LYrhVQ?B~_qVRTiDHv0D z9wkJkrar{zqhh&vlSrDX*}!GQlAEHTbHTN*Z=YB;zkTwjDcBEy1VSv&JL|x$%Kk2H zUNiaVm*Akl>oT|3?d7_ZV3n&z3XXaMrRF}*1Mvm@$Z^KJovW<>D7%t2$ z(8>MbTISyR72SyYOOuGia6$3@{_)?}kJ3_3gyO`=v_42L(l89x?)PzYMs2_(D$LGm zlx@5Ose!9iO6mE9g&64!`RG&~=9u+MpUHjKT(4out4%4_3oFCvhZvtka72Z~U%YV7 zRt`xd*+PFVL0RAWZ9DF6=_~zlp+rvG+2!8zqv>hWB2M$zyM)fEAS9f>POEpp6^7?t{>+U=t2UeYHro$}J}WgAB859p6E>^n=p%7%H5Vtva`l(_2>ca<2gjr<$O$sNMVC-<e)ahth%$!Lm2P39V`7M$H#_YzI}t61V1n)3O_mue@Sc3$t^G-$Kz4j zpLp8i%QGdhw1m{GHgVZ#M%($|rt~TYf84;eRT4#Ybx{R886{EC!ES+iMlKERcbmsB zD*0JMhX*^Z%l!F>19z_1NE?CdU3J{&%CE@&3-h+Yk%$n-LnuqS9!TB`OuN}f7piaD z7J=4t=(N$HQ+;?-RN(;Y!M1ajo>vzs2V;EQBaX%_g_UU!j#{~-sT*rDRIj?4QT334{wUxtmWve=rb!Nz*l|n07O~YxVR$yuol3e?^Txxs;I*K`|AS(Bb$>8 zz^!4nU}9nMPIqQ~m}f*3kSdeo5YKp4swvpH#e&)3J+FR22d@&A}B>1Ro zcoWT0gRpgOM^!D(!bJXVIn{IjFea7?reH-)P3^Av330@&9$iYRyRW{kTNF8$Y6j}s zu*IyWFXdqeHdE4y=rA7b%(*GxzbZpU^1dv~8C!Pn`R!@h#1 z3D{GHE+y$D#S`x>rwN;M5h}hjMMYW`|Jcx$mzSQGM>$PcF|MVV)74$r(W&$RPZ^kh zj*HUzqP~f#G*scC-yZfOq_i#b$X*Lj-gKN3J6IoGb32lC-Y9e9?mG%W;da?=Ssi?J zxOvevx3lYfUmwTKu96qUr_1cTmLN>m=3pyUq(Oo^Ves|$QA^pYRxy$9HqF7QO$NG> z0jy^Al%X_|6#fC9f0{lMZ0#*fa_@-Xxo9OD*ul%it zJ8pP8nbHhCp7O;}J+)dM=W(#tI*hbW$8#Anvph&)e2nxFDXvReCP+pm=pd*z(XTW_Na^0tu&8Ade-ux1f9(-^rU4P zE>f3frfIZ(=fXQR^i3@y!#u4wV|e^aOWb7W7qPfsuQ>>E0;t7{s<(+;<=*6)T8_0S0_03MX+wYU`%! zJM=R(&dx`nMEN${z%)fggLau|FB}sbf9E#Yn>}?k=ewPO1We`X^dLZT`HIv-*`{T4 zb#)cR8f^nzS7Si1-yz5K3??EfwKtKmdGD=$D3v-$q(kwU0Z%gxKu%*~d#o#fljEgV zYNpT=q{BE2<@@RW3NF!j#6aIXg7}4j2=1RLFubV%oVq#Sfu)oBM~{Zod-~$^Ur+av zUUet(t!5?_SdYA&9W|{F@ShRb?@3@W!H|^;#&%pmBGbmhR~?qFTy32BUZXoUw^KYS z9p1k3)>(7a#qD6V%%C{{)DbEMu;N-4b}h%9tOs)%)e57EM)Tg&kMTz{Mv94whWvR& z={Zj-zKhLrTbU}l^Dyv{D4H*CjPx?8I8I=iJBP0ji6=SI@=yMg`EXER;3obGk`G~Z z2*^;A}vM$fCo)a%4$s>0y~H|L-Ead&j(E$4(aN0Oe`+@gak z6rmmcayDwYm_|v~@A5;-%=_!e(CP8}hfhB5OG(N`ogTr;Qu;S5XfyJsBmKuNi2#^4 z?edMqo2K&$3^Nv=^3s_?lkv?1*Urw)3wwpz#I!Q~;JUW6vy<-Wev_ZAL8O+{2~Tu% z!wG!h-(orQl7zQY;s+u-nU##*#Ny2xa6jSJ!jv!5E*elSDOh#>(Z5nUz9EznGO<6X zFSw>KUY%Cnfq{z2C7h@FMp^l_=^lI5QnD`^?#uD>u~o`tt-SJFGlR}3hHH(9t^=oP z4`3%;@7dNMA~hA2L6ENib1mt3&KG8(tDdxPJP!wX71px6D#oo?2@MSlK1_|9Y~$Mc z-0`h>Mf%w8zn^d14r`drzhF2}26W8giYoK$&l z+-VZewI^%6>G$-hRH3%Z)$tC;)lt0~Bm>>Ks(eL8?N4lK*%lDdo1U}&)tASuHw;_$ zf6RRyu$~0luY2CqNLks*$%6Fwab1h9L@%bJ>e%f!#>$kz1L)gB0neJk+lS7)pyM17o;ly=+IW!`o)L})jW2@hrcm=dIjG0Hl{yjj}#RZg-9Nh9^BC!?8;t>^+h9P zTVpUwIIeH5J6(M?osF|kHj;PoMgx(qt>sfoef+t`C0p zRCM1}3DdH_=Bo=Y5OQFSp=W1znr{oG3eR@Tsnj1=$#<)c$ML|TvU4HZtrN_tU;<#E=%uc1q6kIr+JS859#~rwb32$> zJu{Du>RbTJI9dh<1kGwe_2yWKX>gYbON{hgUjsM@_<;y8)`W)z>MN`=*bkq-o@)ux zEv(4P1DEPkP_Z}a#uMc`95GZ;Q2`~SG#ZPJ2wJ*Gi|INK%oDR8uwRGrQGuIt+#{Ss zOx^1TnxkP?(?87O7?@kCb~xci(SaRw_kC>W=s_Vd}p z3u+atOhyTX3Wu-2J=UqZ_N&!Up2m~tPCgQBnSN9(;(LM3Wn~)>Gk8h1#%<~m=B{vU zV4yq^5SYFKmlG+tu7M?O9?SUb8T=je`Q#w1tTJvNtPOW3@C=_LXU3hPJ$%bq7p7Nf z*L+3n3|@i1P4?hv!>$8eFqwYV?08Hfc6ItFm0VQ?JkdJcp%n5$S!A~KDT_LH0q{D^ z%<)b(EgRn;;dS2j!RA+2RR#B+Ym=^I$H=54(*2ovo^y1jn*ZK%wsBoexo!1U)L%%{ z-u8Gmpc>=&Ci^huWb1zJV8`4JK9g?V@R~&U@z|TfK__GNlAJib?n~cnVe~|EruuWc zS}W%+*W7&B^J#-zW((AE*%hjLwR1sJD{5bJDmxJkU~NPr&Jw5NeyD)n~A{Q=gUU}csOWRqo%Je z&-aLU-d#HWd>`R;ZrJ_!9eq68n?Vq?FVbu*N+L%p4TCh6f441x&y^-N$^3JMd0=xf zxb4CZtlI^g*s^?#@6J23Xt-1&Vq)M1KDpum&mua*JX@LDu;mLlFFMywK|)#|%)2WN zd&t_FF}kzXX(M*4Xshnb+R}18f>wzpAeO~c*4_Oa%&0kuWrgp?hf!QYb^w!=@#p8k zpyIK!lIeG}o}Ek+&~9{mv}eHl2*oEqCK4Ixp0ZVty0x`+&jwLn)~6m}Y(B7bZ&Rxd zBI1xu;;$_)_vp`%f$#(F>6tVZU`HFrVS{B>1>uAyydBJDr4^Kggc`m)Vkx(tl-%6) zuqZv*8O-r6M5lET%$d9vJL_J;Cgyy*+>xpouL*%Mxe!(i% z6&>7c;Fv>r$5pjNJr6eC)t1*45kw?V^fFL68f8I~XJ{)|yKc&dH*{8?OF{2S;? z73frd;CFkx^)>c7)OZ9F^E%7Z<97q)i4uqJ@_0@|LqnP206t?^j&+bL7Ao6X{#Tz= z3)WyqJyBe6FNLb+%%^)3Yi#~_;y7BoqE=9Im2}0+5P4VE>*6etZ`ys<-wRfJ<$Zh24W!i}xECGQ zhO9tgDO(wAaxaeOg5hEJWXh2iL%RX9WOM>-H$jOCe&GAEJj9?1uLL*Nfq{WvKB!E3 zb@9yxCjwDlSg6tNR6DMTsSdHn*0Ni&+xH|h+SGBK{PZ6FN*q)F`qw~;aJ3yLeL!m4 z53X?9w?f=V@9`D1o-FR%>J}Uh5o7xZLI2`ty542aB)YQrmWn zd1Lc#3xfCKRRLHxqhgb+R|ACrEWKYwc_b0eq(BostA8*OIxGKB8rWVESRUQAiF}+4YKoFgfurW?1AW&~C zHSW%)R|iJ3{|<~2o+C6HK(!R>G53C?nl3pU6y?H=8LIGhHJkd&(>LJC{r@{9BClSZ z)h{n~CuLd`n&yb9REY8U`NSUJKYpyEl`x=uq{1qy0FJYu!3YB;cZXczSkysEjt0Ia zqAwnP0Yy3zF1vJdCgb;F30Vh=-)vZB6u*9bN%I8^=y`zB2MD}NH!sWV@0bS2b|1c& zZS=ad*HZ|k8bBbw|L%l!T=?k!asdw4M?ttxE_bk{xp~rUtJVmAF!>oR_`YzmDZTzm zDxjO$f3o{z0{#sVhc!JNU6?p!di}*vzLw3zk6!j@C0^a8AGWpl46fVDy(ej}Ov`_< z+(a5^88#Uj%K8)x!h+*#2X#9wL~{Hmlp46DR*=|RI5{02Zj93gj8!?V^&zAr2%b-e z%Eq#;K#4V8X-_Sx0H%R(BN(yDI9m+(>D0D>?8QnSw7i^pS%GpD1^GgSgG*fQVyBv- zVqdle*|LUJnI@^%`3~4P9QcuX{&+jn01B6q5VR__N%m*(L|tli!=~vtINpKpH!hWQ z@`pkFGuLNqDLXWdkgt3T(MmCkN7O2M$&$5VgvE?&eJ8 znq58Gv?!lKM!^6j?mn>bqzULVV}*!J!fYhouiNoydjouWF(Iy4OY@aQ4vACT{y4nG zXP@!k)uoMnp{@-TP-T}oaQVXmLu|7X=A^O z*+d#y*6R+(-q7RcrlvMjWSET0_V2?YcFeprV%9J*S%l2DEvoJbBro8QY{|~U$EQPs z_a~8We8KKysWo3sYmu<|M4RGPdbOgubs1q;fBC)x$><-*D>pbX=aM8gPF%pb+C|R-!$3kVwud!vsP#?M8HX0gO6T;JF+aAz-$4 zzceRKqx*($whYk{A-1N?%eDV0r>0wCVqzec)n(?6y4HimF5Iwiyy)@YtdA7A*4Dw< z5}rD!;{#n>ChZ?R@5t(cNL}VbKgAE`N56@G>8Ih|x zOz9O47dt(KBF<{+4M8F<+gTCFxB)hPJl?~a5FTz=F%AKBjmVwE;i;&CYc23kL+Gh5 z>G7qUoXWKskGu*R8ib0}VXf0_Z4|>@xwq7f{fL>8Ou+&9w$->5dz>T!$b1LWeOLW23y1Y!q#4}G6|+l=x<@{2 zxQ7ee$Q~0|UwzFUci>v9nC-wx41pVtl-CS6M$0B>whG6dtRBB{uDxC3p70&zL*n4e z+kAt_B$u5`_0qAd5{1K%tb?DC|NPOG#>=(uTw7R4Q5K|{t9*)(9%*Pm?I3scTf|DW zTNzn)7@xO)@lS%=>Ol6jd-Z15has)TwT~8ukgNAYSPc03^$=6ma#u>DkcyRn4NU8y z4#|ZxX!S?-gN15QvNtF3(6<+SEnilO9B4fjrGNcNAh@n2raj)diG2d(txhQuYk7=~ zf57KZy?ex!O%8$O036&uGh~`4?!d;Gz+CB z;^1!M>5<=vQXHgzJ}8clShG5-w=P3(rPN)X9`_;KB<`&Sdl82uekB7&2C$-W+l`6` zbJajsFq)}$UonZ_!)aqoG)&)-B%uTaRG7!r=(7`q_=LmB5Ag`=$Ob;#J_1Q^tKot` zXd!5nTf(!Kz@0q(?C03j1FO(nz<^5_delhO^FFrvjkpIhkqgTjwl z^gXw`1aR@ghzRI}@X-czv}g0a{ja0WL#^(7_pK47>Bx8Mxt4?2=PB>BwH>ko|JfiQ zA@$t(%;%d1nDk_Ir=GLErM~{bRBbe9Jn(v5E>=uWFk8Zn3qQSc&kl9q-8c3Ytv36qZGV3wF>F0t9%g#74uzYfWNPd{NmD451J&M?ws(b4BI(hmSg2q-q7_R-O6 zd?ZYwfJHSMnAZcksrt;4deD{NWMi%o+x>_3;c{;b+_H*zDk{d@4$I&qtp=zJYFck% z*tKZA?p*89X(MSL7qM!V)Lo>CnH^_1lkk(mC?2?ify<68IDTgjKdg0*&5Ih2y)+e! zR}ytitHhaSJMsV4)BDgkQ!1_=0tkR52o+B(Zsi1}pu}c~j`=z5keJi5b+ZESu8_j? ztUofsOiIcTfv8GNU4_*QxQi^)Z^^Ed9YIMgrKDsCJplMffM?6dMiuDQFE$etc0un_ z85IYEg+ge>A&S-A4U2kcL9xQXpD_5>YX_*!RSu>59p0=HjD>YA@;a@b{_+_`#WsnK zFheN*g6|Dafta873Dqak)xN(PP)LHACKc6^*PmjnnEA2)i@%?#j4m?N!5ENOYN{4W zDoI7fbjp#4FbWmAryB^pX49m{>gASO?cwONb40A7Bc}(gP~1I+5?Rb3HNC78AM2jm zs#$@a+Qq)oA$$O8xkWeLDc#zLMn6*w(!>{L@`S+z_y6|;w9fB1!!k5C$EH#QNgB&% ze}T<4YanBc_%-uZ39orhl=5kFn^8jq9!v%d6~A={`geF5l#YnNxJrMf!}w+!SGKFFHF zRMcs2TBRTMQbdHAOU-9*WTjVM+8*-rroG#0607C=pOeM%JZAm&Z52^b!pM#+#YYl; z8L%Y3UOy$e;~SctZA)1-AIR!B@KDJL!ohZ`D9_QlOW7-IQA5(RKRn}r(*6#8vd80I zPTZ8pO%R(=Qu6F8aXX(KB`{z2Hk_h`$VpyM7%uk|yqg?kAb&}`dh?%5s9@YKDe0?J zDaw)gz!&XCLNU_w(>}EPx-`+~JStykvtVl$8Akt(VL2UCqh_C(VUM%lUk>)e+NiP| z-N$FrQh&Lgy=TV>rQkHDJLgffUcuF&R(9(g?A)g>v!Jr;Flvw|xcBcnYJO^+%goM5mS)bAg`K{o5LJxb?c_Jfq}H5qO?J(NOnZX{ItLS3(Vh1lcPPX z7i~|Tu@QDo)fTdI=?%ih3g#<6h2YO?sh%tSoPg?{+s%Mfn&{5(1Rc+Pv(3;am6@`W zfMYYqyoGubHs60~b zesd%cw{LF{Q7k3-`*)epMTTjae-n8~GdxT83^Ps4gVW>mKVS5#k>5JmgBkaq;0v6s zf6l<1ctdc{?L(D1{a2;TyRz|ZJh0Pen+<~fHiu-Kpda9af|ztM)wHm%%tHU?M$&V` zrPe{hKg!5}j&Vp?mC(jF217I7SDL!j-~}%3)14imN^KG57biHLPks)JB|6VeL$4f$ zR@g|GQcv8pDmJ5UqnB?^UsZg;aM?S;{{(OUsaP|?v>QK>+i`9n`-A;b06jkHqv%&c z3Vd#Kqn0LFo&WRBi4QSUulA?vrlcP{K*{WvQNZ*01%)b=N3?kBQ@wArRAN2ztinCS z)lNE~Yd)DFW4~FI`zCO`XAJ>a1PfJok#T1rh8SwRKS>d_S!yapSGE!WJdB))DjHS=F1XpHf`@E$he51%>P{l$c5`l_`1BYPtovS%QM!8I7H=s${~^&&i#k=x zt}BY|zUa-2(XXg*O^lx!8$X3#F-aywY3Bbo<=_atC0!RYCthx|yA&tNNY>8LzAa-C z5#A}P&B#;ghm_xB>Gb8%p2F27E%Y6FCFN|-ou?YH3$?2c3-z9HKOx`dniz+ci z?@nUkx6jyy-5%clXQ3FHBJ0xvm3sB_o)=;LeFi*6ntvt4knWI@1Xq+QFOe$m8Xp(r zv4SIFag5;4r#eyAT_9IRZM4wzbn{YA59G;2rSf7tDMwL2^p@iQLOiDpZ5~_z&X(T*IehllYfSJ z*_gxGF{g*9?@I(T>^X+0xVgC>+T}vzQSBckpFVm-tx6*@Z=xN4&)&tS8+I~@^Xuk5 zM1Q6X(Ljz|dcTI)m*cl%r7xlJf>24yVjw@frT=T=aB(S@Nr#R+ZI4lh&X#lH=8cM1 z!MCQ7Y9aYcVf<&<@DV-CBRi)Xg^C@98p@l)Q`7p-D~8t@j4eM zVx-fR1B{vPn=F6&1X1$cbS))t$?C5XCQ;-n%==gBFRZS?p1$geV$8$>OtQmUGi?U8 z+I8AaI|l8|fz8lao%*35+V5ajT&hCxGj*X_u(j>2`yzEY8f|o)Kp=&;zFa%msOXajzdZTFqja^OdEe?V z9d2L47WeZZEv2zt2`y{`xt`01L5FXKJ0w`?IMgB&bT;i=IEhs?HHjZ3L`O!BWXe%^ zPW(M)ceq5NlXW09KAJj{<4>xFSS4)|CmU4eeo`0t44Z_TwGcU7NNgQ#j4!R%>BMey zq0?BcAOg(4CHtc6E7yNZi*8N%L&$VJR6bk|CBqZ@RF(esPktOSETyIvckx8>@&(mZ zsI7v+{Y%5yc{^KJM{Pz}RaKg%n=e~q2GO~{z&kN&?A9Zr>PpE4+stJ;Rq}$G>XR1= zy9dMFWjjh0oUoEf}@lJy#RmPCuq2G2AYqUOvV^c_S;kfRI8|Rz?E1CYmW42qM!DuXpgH zN4u97N(P3ZHN@B7ocl>|s}{UX4zrpnAuFLha8vdT6?0`&RABD!bs2Yi6f}U?Rqqi! z`y5Qr(uzJen+nOH<$710)Mv(*uY~&dg|R)X*?F9{5<5-&=x2_IY~1T@rWYFhme71_ zAE{vryn#ee{k!iWE!y~Oik2kI|S zb+vapQ2g}$Ayv2sbn><;so(Ubq6(>hF%eovdk?|*`f=21CdO&GY-oyF7j&4|7mxmq zh)~A~TAk8?4*^f}73*KWg@%w{uWR}IDtcdkKfNi9;xkxb?BI|tM2_$8T+#9i%_b-q zH=vm}eIJFaqw^r`mDm1=q42cp8_BFrp=(0HpZJ6E@(bhtewNBdBm5y{x-);!2f6q9 zI*26(ycwp0_9#6~)~*a>vjb#$yCq6`jFm5rtMeuI9b zN~AZ`3rTF$4w{Uu36b)4qb_+)qvS=6_tz}IweOo zf7VBAge78zJ5TpaN@5hV$=KO78S7)r{EhT>7jyyw0`6?gAeFuwFHdlr@x_eesDExG z?wZwUr=$@B=DESw8yc89n2s8;aO1zv_^z37a%hupEnvIscex zCnpxW=#kP?z!1qy7YE`8AOJ9K)!zOBj>drKwSdig6Wi)q!l3N(9!0@|r}%-7h@O#2 zREtt1+Wd;PmY|sNYeyn|FT2)Ez;S;1<`VdN_a8rgv|2pTGPffeTguBFTW#JS?{uVt z17BVhCYxYe!O4XeCH-~#xp_93Mv`V8P=t)@4`4(|KUiD+p|crr{oaDky%r3xSAtqn zRf*bfN))9J#=@3yEE~0ccfyYEpE^5xtEi|KLNmPJ$?#t;-qdKE(-$NbJRYk)+EtRv zKRI1nYWccxf3^4)NItcvOLPjH7%d`WPryH6#WIjXvVukgR8{u&&)UUnYj^>!eQ?6| zr8Q7oE?7#go=cbM=~H$#6}nI|w`)X5@J*3AF$9pHmb~6?WtxGK#+2xklVPfFU{hNk zb%{v*4Jm?l49%@qB(l5M&r^nR1ka3F$Hcy#n?cszE#O5zV4OYJ;5*K4!*4&|c77OX z_7Ik)C%1q-yhfq!mZGsSw_W5D98pAuBvkPiS8(5C1zzjE-P??ptq?OTfd6p0FaL9x zL~hx!>ghX;*}cl5q7Ne@%U~6SMlFG$?4$e~h%1S>nH>@QXcme4`^g^1)|3ZmFuTl5 zApbN0SCxyMo)n#EhBy*fgqyGk`T<74baZ_o0}7RuISmbTX}z)vcz%tN;`gWlOHfRw zrBy8MDa*yMkG)<4YJJu*Iy#IB)AjP~!Iln52xKe|^MI_klE>y`q5v=Xcbn^8q*hjInQXog2AYED-gy>$R0-+7#u^n(f5XyT~!d}S7@m1 z4~m=bxkok%pxQJtY6BEg4&KA(|EsJH4#SwQm)c1#pZ&oD6#_ivv#a5?d_2)2_1_N10Zy@7iJ?cB~!6x|<7??q0(VMEH=j8!MlEa8uAxmnQ%%aS^>2vdSU&zKQ zPFz7*!v8Rcqptf8qrf|BeP>y3zY$!)R-@!6#L~Jd_@GMipJ{E{ zev0EMjggeTL-oeMz*DZGY393-vpiDI&Nc1%@=U<6=pl5HQbn;%j6hUC1KRBZ+fBId ze5=fYzFSW+q2pVEonvH@SKT2bTlUqpx`jtQDICnq^C^s)_dfI8aG+4lEy>EN$`V)7 z%y~xJ8x>{o7oFlx_#?y)pCJ6bvOy{(tv`JeKteq-kKvQEz^;jmY>7>XJhz@2((rFK zXlc1ClA84%OY(9hsz(nENoXPIYNEpZgg?4dSOEjY2gr62lI@9nh0kMVMhvsqNrK-2 zmH;6|HnVl(P#&+@goOYaVMVPV25R;aa!#a(&V^o!F1pBGf$#`PV|v=&F-zIM+$zW( z=R?BUKQhOBp68U43^3QjWQFCt^Pa?{BauX?QTo^l_*LJpw3BO_HyIJhznqDjLy?-3`^(v;lfX0PYXOz7( zRpZ=FSR_6E9>6;8(39lkkHU4P^OFNdt#1WRn`l~*S(yoh#(oV4ZYe=KgqHBsF+@Yp-lukZ zCJx!P?i|QSSd`(Ue&8>Y5++@DIU0=VmhDr=!M0FR=7+z0xG+%WW}A-;3~yWMeXmL}yotn0 z7{kv*{_>ix|Gs*_0;=+Y;y!uZ0w$*6T;-Pd_zr;R02Y#6>iQlb-=;((B8d>8!hK5l z85c*yu9B1dCBQL_m65QNW-3tCRgK{}U~&5V${5xfv@kSAkpEZV8YTi`YoX@+$dbLpB$%8keC9w=PJoa8cYT<{2H_Rt`vB$xD!uQD z9Q+}5nZ@)jmFzn1hp<7k3s}q`PU207l7GQT$dx)I(*PW#>&sF`DH{_Rqv#t>1k|NToc%{HF^k!oxLF;}qn?SkIWlO6(Tq0KvVZ@{14z zmx$!}%36%@5|(*_*MBJr+rt|PO$IpS`LI{@@YBuer#YHA%gQ1e;R{Q0&)KBp|@8J8m=o6QYn3K>v-*%d+y*$ z{XbOZyxS{LR{Wk{&TAQY4Rhz!Y%je^#ryX>J31sMN|pxYBXjTI-r*rZ;G-!dr2ChDJpwA*2vR9J(a;RiRc|9LZ^MNzYx-3GiO(;wswbgw^TGR? zaMZ-oCa=7Cb#JXC&rd(`chIJI)@;DPQrBdlZ^?-ysIFDA*arDUJN5`nBs3c^>Tq9p zqi)`Dtc*2o{Dix=WRpSDanyJYhE$JuIiIuGn3dK4Btd#FXGBR27jGB^rfZ?F9S>gE+Sbt8bZ-qnGTYTrWUdAdBS7v8%XyOzlc>c zc{;dpw!^uyW>CjOdGqrQI%BkqfmphpqI=DEw|89a$sz{Q^Y!Y)zKN1ZNRL}~=1z>f z8}*+)ZO+p4bkDkodf)Bld)W>HTiBR6 zxiSC-;-o@VXHiyEbzM@h5e9C(Lq_o-kKC0Iq~lK%$$&JWVMP5`K8*@%Qt(G5BqRp1 z*99C`x z&ybNPeKa5bra-UIp^_Jll6L*&sC@MD_3lHuWm-{v6URLy#l7x!P|LaiSMC-4uu&p^ z@hAGW1)Q%@gh|jC_$v;sQ~;0g(Ve&di;y<_UkbT zUDp-su=VUGMdLb!^>yZZi!4IqOgwH1>W|4_FCoboRaCPQmT1bHO2p*mNdHZe6?Lp& zAvE*3$T&q6KOSF(yA-#7urYphx^cUq32Y}FxplIndV%Sh>UOl5!gzb2V-1m;^I>Ve zfFl*}{;w$URPpoA=~Kd-XmB^vJbMOgYjhR7)V$xN?k6kM|EI1qkB4$^|G1|lIh7NW zNO8zPC2C?wp{$j$pJZQ$j5B2$OUkYWL$;q7I`*w51~c|8$rckD*&-x_hKgxQmgkx} z=XpK9*YEYa|6$C`%YA?E?|pr*<@3J2SsxhWt2X+~(~^=-pgsqc0_i)pC4Hox-JYY> zw%n|d)aJf8Y<9RZY*>)%{PCARJol18O-%q{b;y+oTLtXAIO4Y;$0W{YZ0jBv(|tWcsm}Co~3j%;VkCQ3tOFHqzZ_ ziJkkRB@=O%H%YZ%Qbs;}43Q(Wf@iS4bx|%llJxAYY+@8<_8x~&$lJ-)w`*o*27Eah zjb?lx-^HS25W2odXx;U!r8lZ9b19kmU;k|g9-HHmLFo%`+FgAX@a6&qu)Qm?Cwh0T(cwp1pc{IL5 z-}~`EXQQ`|gn|*X{ZiJDXNJMY~xjfF4OX^dIT=9uk|G{-&!9m=$( zgvW~qr@#$o^edK_i!%L`NfX)S(aFNQb#LER>>_Hr-V}@ufRH>vo#S;s-N~8Shxq_j zI+Js-qWm?pplu_QF&Zn+F~#1W|!lqQjNi#5q?oUOJCIoEM`{keqPCM>%87(zfFGrmbmR-soIrkJtxzTpbp{2 z0=(ZeEbGNBobs8S1aQY&h5naqfvv2fAfaC z)y0rs^ZMbZoKSt+Tktp1(0)|XV=wOf$C3dJykVi;b3SnEjRQ^_w@rIpvKl@|{_2 zBk%t#YTrKq(DE~RsCNTi@CAhS!ylyWeESrGJ`A&7ks(2wM#msI_4R(SUi#!c`fNTn zy~WK9|MG_axY)6Z!QIde9+liRMI`gQ(+8mO0imfWxW7LUy!G9e_l&YAK3|OC%H6KN zt9Tc-Q_O8LFt@DClb)^wGFN_$^)e5a6^g~v7z)oLGFdc$KFc_GrGMW7MD9-oBQ7BS z(o^~p2CJu2dGh&`5uCCxPKem*B;j=&?(gXgrf!}=3F=@RiqLwUdL~Y{zI6&pQy2U@ zG05D!o9Dz}D~uzE&$mflFg%u8+bnJeOQm*8I?7e3ONKw5146CU9h2NW<5-@C`2rie zLNCK|xMawyhzGh&uFglKT)woDl?y6D*q&KfEfD`??WeX1w60ldw+0vY?0!Cg`47&c zIQ3bFQXRZPkES%Mo7g;dq*}u4X7TJ@Uk!Nw;R9dwYcr~XK<&+2%D-FFbMjz}FlgCb z!n?Q=VHa2_+`DFV)irjMsWU&Pq>!Gs)SZ-ms&I5ru=m``?hJbH`y9ghRn%O}?~w~7 zB7{~Gwvshnji!5rR;0RvE7VX^HWufd-GQk%d+3G$x#G1g2CC^9Xg_euJZs>2pwHq} z#`2Azm$afV&amjUt4})GuZVFtA$;5(BL$+kDD88|fP~)os3?czzANBbNQTp=bv#w% z)HTApFuHnrNMS^@8GMQ-qGir!1SdUD*e}u*9g9gOC{CTUmFL&#ub#+{Ay#JHt_T^a z2-3Qnukq=bEof=50R#og5ZRnO<6Y|!XHNE2^&rkzmJAjbXC!I^DYg3EWWrX_0JO{< z9UUtHmF+HLH>&&HVxyz67jL4aI~HCQv61lD!PFtJ%EHde^NLN=cC3pUbiL0VP{Wxe@Wenem zYh=nKe!TW#T`OK}-=#||#3bk-t*NenY8>F@=3G*lW9u4gvB>lxh|tz3AsdT8m5sr5 zuJme9`rVd**r}8}wKpWj&%B`*9*-%cl}|g|oDA{R*`sSXk3fT9u(7 zz$(Oo(fJfmVh&SR!cne%+@(6%GljwYVkPHCNtHe`x`*eujtTI}oV3t;zgs2dMcp&t zn(Za%%f_xQvk{?%*qB_rYWG~$7DBM~`=<^u-~TzGp%L=!^URJNJ4{SWU|?=d$0-Mc zk_`0wvWOTE#~Y@dgxHs!cFGwrnh?Mhsy!w)p9va4BQ=zbHyhO>Ltf)$Y+ZIj|+b<_XFe0@pPM3X8?k@>9-rt{B+(=S`+sGjse_o4c>4 z%H#Cb8QxkOAR8>m9x{|YkzKkfp3COFf3mhmm0VyVd zU;IT+&-(kkc$f?aS4TvB+g{#JH$UCOL8jHe2Y(3%3`HJ8iH^0pSfy#f~*v^FQ$Ux5WI z1n>ha*w6ipLqx<*{+PD6K%JQ&SilPaeKN5122hOWm?>VEJDC<2?9Bfv&3i=u-kTEAhT-ZzcPz*pzN3>+GuY_cvS^n~z z)zdF$>3H&}ync8okVy56`3GnH2pxQ%)llzCwroFOUOT z2#}}et*VaoDR44b8(y{N?3S-@WTv5ch;4w6K#m2dxp&Dj6Y9b1bU=lFml-;(;0RwE zf-}c5qzg<*DJd+dkn-Tl{(%5|z^&e73keCWQ7#!6loay{Ak1VD7zre@qUyo6N?2Gd zEiXZLkx!E?L;T{IY)Cus?74i63Ih-!h2v9ImV~jV>G|4|2K+1q@Eb5{J+3~WS%jUY z;TWRW+b=(>q1QTLuN#m_T!2qv!aAm31%;ll-p>hPxM&&>XT{b!BSmm1VvED-e6mW& zW+tb0y3g_gM=DHnfFrn>_zCX{e>Q2gDoSvQr za1yGMFw5WoiDA9>%=5ae#)47{D=mh*bm%hI{F;D!74Ax;MnibkK2KoYA zt7sq&qCR+>Hu+({hnL{QRQb$7!jNXg1WpH3<%UbpZLSr#uZ&y8l~CSik1?)wCF#Lq zO>YWX>@M63w}7eLcRV>z0Vb9>(2F481l4$FWCP6AWzhO<&n&&7aMjA3;a+Ihq-I=V zDcZ>fgVeX#@bPIHWI*CYhxCtKAB+t~=#2aHs==($^$RD|`FZqNZHlLv4ctgM Sn_A8J%OxE{?NUvL@P7labL1HS literal 0 HcmV?d00001 diff --git a/doc/1.1.0/unix_8h.html b/doc/1.1.0/unix_8h.html new file mode 100644 index 0000000..3e8f712 --- /dev/null +++ b/doc/1.1.0/unix_8h.html @@ -0,0 +1,151 @@ + + + + + +serial: include/serial/impl/unix.h File Reference + + + + + + + + + + + +

+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in 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) 2012 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/doc/1.1.0/unix_8h__dep__incl.map b/doc/1.1.0/unix_8h__dep__incl.map new file mode 100644 index 0000000..9716d93 --- /dev/null +++ b/doc/1.1.0/unix_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/1.1.0/unix_8h__dep__incl.md5 b/doc/1.1.0/unix_8h__dep__incl.md5 new file mode 100644 index 0000000..604000a --- /dev/null +++ b/doc/1.1.0/unix_8h__dep__incl.md5 @@ -0,0 +1 @@ +5404c7ca3dbfca28900fc5af87992483 \ No newline at end of file diff --git a/doc/1.1.0/unix_8h__dep__incl.png b/doc/1.1.0/unix_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..bd648c823d8ac56a5f9d80f137521987453e3213 GIT binary patch literal 6453 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

>@6iT-0QemQQjmEmUHaT8;Qs(nU5EDo literal 0 HcmV?d00001 diff --git a/doc/1.1.0/unix_8h__incl.map b/doc/1.1.0/unix_8h__incl.map new file mode 100644 index 0000000..c6ec8dc --- /dev/null +++ b/doc/1.1.0/unix_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/1.1.0/unix_8h__incl.md5 b/doc/1.1.0/unix_8h__incl.md5 new file mode 100644 index 0000000..706bd41 --- /dev/null +++ b/doc/1.1.0/unix_8h__incl.md5 @@ -0,0 +1 @@ +c644a77c41f65cf3d129ecef9919893c \ No newline at end of file diff --git a/doc/1.1.0/unix_8h__incl.png b/doc/1.1.0/unix_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..c3972bb4ede26ba743c7ff53f4a411babe8d1e30 GIT binary patch literal 24535 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 literal 0 HcmV?d00001 diff --git a/doc/1.1.0/unix_8h_source.html b/doc/1.1.0/unix_8h_source.html new file mode 100644 index 0000000..b03c3ab --- /dev/null +++ b/doc/1.1.0/unix_8h_source.html @@ -0,0 +1,270 @@ + + + + + +serial: include/serial/impl/unix.h Source File + + + + + + + + + + + +

+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in 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 (uint8_t *buf, size_t size = 1);
+00078 
+00079   size_t
+00080   write (const uint8_t *data, size_t length);
+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 &timeout);
+00126 
+00127   Timeout
+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 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/doc/1.1.0/v8stdint_8h.html b/doc/1.1.0/v8stdint_8h.html new file mode 100644 index 0000000..b36d15a --- /dev/null +++ b/doc/1.1.0/v8stdint_8h.html @@ -0,0 +1,124 @@ + + + + + +serial: include/serial/v8stdint.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
include/serial/v8stdint.h File Reference
+
+
+
#include <stddef.h>
+#include <stdio.h>
+#include <stdint.h>
+
+Include dependency graph for v8stdint.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + +
+
+

Go to the source code of this file.

+
+ + + + + + diff --git a/doc/1.1.0/v8stdint_8h__dep__incl.map b/doc/1.1.0/v8stdint_8h__dep__incl.map new file mode 100644 index 0000000..bb2cdf6 --- /dev/null +++ b/doc/1.1.0/v8stdint_8h__dep__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/doc/1.1.0/v8stdint_8h__dep__incl.md5 b/doc/1.1.0/v8stdint_8h__dep__incl.md5 new file mode 100644 index 0000000..bdb0b26 --- /dev/null +++ b/doc/1.1.0/v8stdint_8h__dep__incl.md5 @@ -0,0 +1 @@ +af57361690e99b803f0462c8bdb7cff4 \ No newline at end of file diff --git a/doc/1.1.0/v8stdint_8h__dep__incl.png b/doc/1.1.0/v8stdint_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..bb175507e82497a865879384ea7639dc7fe18f1d GIT binary patch literal 18453 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 literal 0 HcmV?d00001 diff --git a/doc/1.1.0/v8stdint_8h__incl.map b/doc/1.1.0/v8stdint_8h__incl.map new file mode 100644 index 0000000..8be6a30 --- /dev/null +++ b/doc/1.1.0/v8stdint_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/doc/1.1.0/v8stdint_8h__incl.md5 b/doc/1.1.0/v8stdint_8h__incl.md5 new file mode 100644 index 0000000..1ca1357 --- /dev/null +++ b/doc/1.1.0/v8stdint_8h__incl.md5 @@ -0,0 +1 @@ +f6bf6cb6422db640ba7e37d5916453b2 \ No newline at end of file diff --git a/doc/1.1.0/v8stdint_8h__incl.png b/doc/1.1.0/v8stdint_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..00352a8e8dbef9a06009e9d1a732f88f3e232114 GIT binary patch literal 6227 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 literal 0 HcmV?d00001 diff --git a/doc/1.1.0/v8stdint_8h_source.html b/doc/1.1.0/v8stdint_8h_source.html new file mode 100644 index 0000000..853ed48 --- /dev/null +++ b/doc/1.1.0/v8stdint_8h_source.html @@ -0,0 +1,164 @@ + + + + + +serial: include/serial/v8stdint.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
include/serial/v8stdint.h
+
+
+Go to the documentation of this file.
00001 // This header is from the v8 google project: 
+00002 // http://code.google.com/p/v8/source/browse/trunk/include/v8stdint.h
+00003 
+00004 // Copyright 2012 the V8 project authors. All rights reserved.
+00005 // Redistribution and use in source and binary forms, with or without
+00006 // modification, are permitted provided that the following conditions are
+00007 // met:
+00008 //
+00009 //     * Redistributions of source code must retain the above copyright
+00010 //       notice, this list of conditions and the following disclaimer.
+00011 //     * Redistributions in binary form must reproduce the above
+00012 //       copyright notice, this list of conditions and the following
+00013 //       disclaimer in the documentation and/or other materials provided
+00014 //       with the distribution.
+00015 //     * Neither the name of Google Inc. nor the names of its
+00016 //       contributors may be used to endorse or promote products derived
+00017 //       from this software without specific prior written permission.
+00018 //
+00019 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+00020 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+00021 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+00022 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+00023 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+00024 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+00025 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+00026 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+00027 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+00028 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+00029 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+00030 
+00031 // Load definitions of standard types.
+00032 
+00033 #ifndef V8STDINT_H_
+00034 #define V8STDINT_H_
+00035 
+00036 #include <stddef.h>
+00037 #include <stdio.h>
+00038 
+00039 #if defined(_WIN32) && !defined(__MINGW32__)
+00040 
+00041 typedef signed char int8_t;
+00042 typedef unsigned char uint8_t;
+00043 typedef short int16_t;  // NOLINT
+00044 typedef unsigned short uint16_t;  // NOLINT
+00045 typedef int int32_t;
+00046 typedef unsigned int uint32_t;
+00047 typedef __int64 int64_t;
+00048 typedef unsigned __int64 uint64_t;
+00049 // intptr_t and friends are defined in crtdefs.h through stdio.h.
+00050 
+00051 #else
+00052 
+00053 #include <stdint.h>
+00054 
+00055 #endif
+00056 
+00057 #endif  // V8STDINT_H_
+
+ + + + + + diff --git a/doc/1.1.0/win_8cc.html b/doc/1.1.0/win_8cc.html new file mode 100644 index 0000000..bb57745 --- /dev/null +++ b/doc/1.1.0/win_8cc.html @@ -0,0 +1,115 @@ + + + + + +serial: src/impl/win.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
src/impl/win.cc File Reference
+
+
+
#include "serial/impl/win.h"
+
+Include dependency graph for win.cc:
+
+
+ + +
+
+ + + + + + diff --git a/doc/1.1.0/win_8cc__incl.map b/doc/1.1.0/win_8cc__incl.map new file mode 100644 index 0000000..9bcf43b --- /dev/null +++ b/doc/1.1.0/win_8cc__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doc/1.1.0/win_8cc__incl.md5 b/doc/1.1.0/win_8cc__incl.md5 new file mode 100644 index 0000000..f28adf1 --- /dev/null +++ b/doc/1.1.0/win_8cc__incl.md5 @@ -0,0 +1 @@ +ac617508eef9f03d290dd09ec479c335 \ No newline at end of file diff --git a/doc/1.1.0/win_8cc__incl.png b/doc/1.1.0/win_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..13da98581b1f7ac33d39490fa7d8bb4265c0f8e5 GIT binary patch literal 26059 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 VOj0~vYZ~56peV0)zYJj%_&;(n3U>ei literal 0 HcmV?d00001 diff --git a/doc/1.1.0/win_8h.html b/doc/1.1.0/win_8h.html new file mode 100644 index 0000000..6c78b3a --- /dev/null +++ b/doc/1.1.0/win_8h.html @@ -0,0 +1,136 @@ + + + + + +serial: include/serial/impl/win.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
include/serial/impl/win.h File Reference
+
+
+
#include "serial/serial.h"
+#include "windows.h"
+
+Include dependency graph for win.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
+
+ + + + + + diff --git a/doc/1.1.0/win_8h__dep__incl.map b/doc/1.1.0/win_8h__dep__incl.map new file mode 100644 index 0000000..2ae6fa6 --- /dev/null +++ b/doc/1.1.0/win_8h__dep__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/1.1.0/win_8h__dep__incl.md5 b/doc/1.1.0/win_8h__dep__incl.md5 new file mode 100644 index 0000000..977746a --- /dev/null +++ b/doc/1.1.0/win_8h__dep__incl.md5 @@ -0,0 +1 @@ +dbf5e18357478e7fe097f14bb0558aea \ No newline at end of file diff --git a/doc/1.1.0/win_8h__dep__incl.png b/doc/1.1.0/win_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..682dbc160596db70d106080e3639dc5bcfc3773e GIT binary patch literal 4269 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 NcUN1bMA`b;e*n`2Ihz0g literal 0 HcmV?d00001 diff --git a/doc/1.1.0/win_8h__incl.map b/doc/1.1.0/win_8h__incl.map new file mode 100644 index 0000000..c6ec8dc --- /dev/null +++ b/doc/1.1.0/win_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/1.1.0/win_8h__incl.md5 b/doc/1.1.0/win_8h__incl.md5 new file mode 100644 index 0000000..f2d5af9 --- /dev/null +++ b/doc/1.1.0/win_8h__incl.md5 @@ -0,0 +1 @@ +bffdfff16bef6b02682a3561852c9429 \ No newline at end of file diff --git a/doc/1.1.0/win_8h__incl.png b/doc/1.1.0/win_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..4ded21cb9d2ea2b8ebcbcd53420338ed3c6f3e11 GIT binary patch literal 24658 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 literal 0 HcmV?d00001 diff --git a/doc/1.1.0/win_8h_source.html b/doc/1.1.0/win_8h_source.html new file mode 100644 index 0000000..4eca6eb --- /dev/null +++ b/doc/1.1.0/win_8h_source.html @@ -0,0 +1,268 @@ + + + + + +serial: include/serial/impl/win.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.1.0 +
+
Cross-platform, serial port library written in C++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
include/serial/impl/win.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 #include "windows.h"
+00043 
+00044 namespace serial {
+00045 
+00046 using std::string;
+00047 using std::invalid_argument;
+00048 
+00049 using serial::SerialExecption;
+00050 using serial::IOException;
+00051 
+00052 class serial::Serial::SerialImpl {
+00053 public:
+00054   SerialImpl (const string &port,
+00055               unsigned long baudrate,
+00056               bytesize_t bytesize,
+00057               parity_t parity,
+00058               stopbits_t stopbits,
+00059               flowcontrol_t flowcontrol);
+00060 
+00061   virtual ~SerialImpl ();
+00062 
+00063   void
+00064   open ();
+00065 
+00066   void
+00067   close ();
+00068 
+00069   bool
+00070   isOpen () const;
+00071 
+00072   size_t
+00073   available ();
+00074 
+00075   size_t
+00076   read (uint8_t *buf, size_t size = 1);
+00077 
+00078   size_t
+00079   write (const uint8_t *data, size_t length);
+00080 
+00081   void
+00082   flush ();
+00083 
+00084   void
+00085   flushInput ();
+00086 
+00087   void
+00088   flushOutput ();
+00089 
+00090   void
+00091   sendBreak (int duration);
+00092 
+00093   void
+00094   setBreak (bool level);
+00095 
+00096   void
+00097   setRTS (bool level);
+00098 
+00099   void
+00100   setDTR (bool level);
+00101 
+00102   bool
+00103   waitForChange ();
+00104 
+00105   bool
+00106   getCTS ();
+00107 
+00108   bool
+00109   getDSR ();
+00110 
+00111   bool
+00112   getRI ();
+00113 
+00114   bool
+00115   getCD ();
+00116 
+00117   void
+00118   setPort (const string &port);
+00119 
+00120   string
+00121   getPort () const;
+00122 
+00123   void
+00124   setTimeout (Timeout &timeout);
+00125 
+00126   Timeout
+00127   getTimeout () const;
+00128 
+00129   void
+00130   setBaudrate (unsigned long baudrate);
+00131 
+00132   unsigned long
+00133   getBaudrate () const;
+00134 
+00135   void
+00136   setBytesize (bytesize_t bytesize);
+00137 
+00138   bytesize_t
+00139   getBytesize () const;
+00140 
+00141   void
+00142   setParity (parity_t parity);
+00143 
+00144   parity_t
+00145   getParity () const;
+00146 
+00147   void
+00148   setStopbits (stopbits_t stopbits);
+00149 
+00150   stopbits_t
+00151   getStopbits () const;
+00152 
+00153   void
+00154   setFlowcontrol (flowcontrol_t flowcontrol);
+00155 
+00156   flowcontrol_t
+00157   getFlowcontrol () const;
+00158 
+00159   void
+00160   readLock ();
+00161 
+00162   void
+00163   readUnlock ();
+00164 
+00165   void
+00166   writeLock ();
+00167 
+00168   void
+00169   writeUnlock ();
+00170 
+00171 protected:
+00172   void reconfigurePort ();
+00173 
+00174 private:
+00175   string port_;               // Path to the file descriptor
+00176   HANDLE fd_;
+00177 
+00178   bool is_open_;
+00179 
+00180   Timeout timeout_;           // Timeout for read operations
+00181   unsigned long baudrate_;    // Baudrate
+00182 
+00183   parity_t parity_;           // Parity
+00184   bytesize_t bytesize_;       // Size of the bytes
+00185   stopbits_t stopbits_;       // Stop Bits
+00186   flowcontrol_t flowcontrol_; // Flow Control
+00187 
+00188   // Mutex used to lock the read functions
+00189   HANDLE read_mutex;
+00190   // Mutex used to lock the write functions
+00191   HANDLE write_mutex;
+00192 };
+00193 
+00194 }
+00195 
+00196 #endif // SERIAL_IMPL_WINDOWS_H
+
+ + + + + + diff --git a/index.html b/index.html index 6141fd9..c35d783 100644 --- a/index.html +++ b/index.html @@ -29,26 +29,29 @@

This is a cross-platform library for interfacing with rs-232 serial like ports written in C++. It provides a modern C++ interface with a workflow designed to look and feel like PySerial, but with the speed and control provided by C++.

-

This library is in use in several robotics related projects and can be built and installed to the OS like most unix libraries with make and then sudo make install, but if you wish to use it with ROS then it will build as a unary stack.

+

This library is in use in several robotics related projects and can be built and installed to the OS like most unix libraries with make and then sudo make install, but because it is a caktin project it can be built along side other catkin projects in a catkin workspace.

Serial is a class that provides the basic interface common to serial libraries (open, close, read, write, etc..) and requires no extra dependencies. It also provides tight control over timeouts and control over handshaking lines.

-

If you are looking for more utilities related to interfacing with sensors and serial devices, checkout my serial_utils github project: serial_utils. It provides tools for asynchronous reading and related tasks.

-

Documentation

-

The documentation for all versions of the serial library can be found here.

+

The latest documentation for the serial library can be found here.

Dependencies

    -
  • catkin - cmake and Python based buildsystem +
  • +catkin - cmake and Python based buildsystem
      -
    • cmake - buildsystem
    • -
    • Python - scripting language
    • -
    • empy - Python templating library
    • -
    • catkin_pkg - Runtime Python library for catkin
    • +
    • +cmake - buildsystem
    • +
    • +Python - scripting language
    • +
    • +empy - Python templating library
    • +
    • +catkin_pkg - Runtime Python library for catkin

Install