From e442001ec913d8a3b8541b7d69ba779d35d43757 Mon Sep 17 00:00:00 2001 From: "anklimov@gmail.com" Date: Sun, 27 Sep 2026 22:12:27 +0300 Subject: [PATCH] sprinkler - dry mode presistence, states initial publishing. Mercury - longer timer, dox --- README.md | 6 +- build-flags/build_flags_stm32 | 8 +- compiled/due/due4test.bin | Bin 0 -> 214016 bytes compiled/due/firmware.bin.bin.good | Bin 0 -> 213672 bytes compiled/due/upload.sh | 4 +- compiled/due/uploadOTA.sh | 2 +- compiled/stm32/firmware.map | 5114 +++++++++-------- config/c4-3e-11-03-1b-1e.config.json | 29 - config/de-ad-be-ef-fe-ed.config.json | 46 - config/de-ad-be-ef-fe-ef.config.json | 43 - data/config.json | 62 - documentation/DOCUMENTATION_INDEX.md | 13 +- .../LightHubAppDiagram.png | Bin documentation/README.md | 78 +- documentation/START_HERE.md | 17 +- documentation/channel_types_reference.md | 36 +- documentation/configuration_examples.md | 297 +- ...нженерное_описание_json_конфигурации_v2.md | 11 +- documentation/modules_description.md | 178 + documentation/mqtt_api_reference.md | 113 +- .../technical_channel_types_table.md | 24 +- {docs => doxygen-docs}/Doxyfile | 0 .../html/abstractch_8cpp.html | 0 .../html/abstractch_8cpp.js | 0 .../html/abstractch_8cpp__incl.map | 0 .../html/abstractch_8cpp__incl.md5 | 0 .../html/abstractch_8cpp__incl.png | Bin .../html/abstractch_8h.html | 0 {docs => doxygen-docs}/html/abstractch_8h.js | 0 .../html/abstractch_8h__dep__incl.map | 0 .../html/abstractch_8h__dep__incl.md5 | 0 .../html/abstractch_8h__dep__incl.png | Bin .../html/abstractch_8h__incl.map | 0 .../html/abstractch_8h__incl.md5 | 0 .../html/abstractch_8h__incl.png | Bin .../html/abstractch_8h_source.html | 0 .../html/abstractin_8cpp.html | 0 .../html/abstractin_8cpp.js | 0 .../html/abstractin_8cpp__incl.map | 0 .../html/abstractin_8cpp__incl.md5 | 0 .../html/abstractin_8cpp__incl.png | Bin .../html/abstractin_8h.html | 0 .../html/abstractin_8h__dep__incl.map | 0 .../html/abstractin_8h__dep__incl.md5 | 0 .../html/abstractin_8h__dep__incl.png | Bin .../html/abstractin_8h__incl.map | 0 .../html/abstractin_8h__incl.md5 | 0 .../html/abstractin_8h__incl.png | Bin .../html/abstractin_8h_source.html | 0 .../html/abstractout_8cpp.html | 0 .../html/abstractout_8h.html | 0 .../html/abstractout_8h__dep__incl.map | 0 .../html/abstractout_8h__dep__incl.md5 | 0 .../html/abstractout_8h__dep__incl.png | Bin .../html/abstractout_8h__incl.map | 0 .../html/abstractout_8h__incl.md5 | 0 .../html/abstractout_8h__incl.png | Bin .../html/abstractout_8h_source.html | 0 {docs => doxygen-docs}/html/annotated.html | 0 {docs => doxygen-docs}/html/annotated_dup.js | 0 {docs => doxygen-docs}/html/bc_s.png | Bin {docs => doxygen-docs}/html/bdwn.png | Bin {docs => doxygen-docs}/html/bright_8cpp.html | 0 {docs => doxygen-docs}/html/bright_8cpp.js | 0 .../html/bright_8cpp__incl.map | 0 .../html/bright_8cpp__incl.md5 | 0 .../html/bright_8cpp__incl.png | Bin {docs => doxygen-docs}/html/bright_8h.html | 0 {docs => doxygen-docs}/html/bright_8h.js | 0 .../html/bright_8h__dep__incl.map | 0 .../html/bright_8h__dep__incl.md5 | 0 .../html/bright_8h__dep__incl.png | Bin .../html/bright_8h__incl.map | 0 .../html/bright_8h__incl.md5 | 0 .../html/bright_8h__incl.png | Bin .../html/bright_8h_source.html | 0 .../html/class_input-members.html | 0 {docs => doxygen-docs}/html/class_input.html | 0 {docs => doxygen-docs}/html/class_input.js | 0 .../html/class_input__coll__graph.map | 0 .../html/class_input__coll__graph.md5 | 0 .../html/class_input__coll__graph.png | Bin .../html/class_item-members.html | 0 {docs => doxygen-docs}/html/class_item.html | 0 {docs => doxygen-docs}/html/class_item.js | 0 .../html/class_item__coll__graph.map | 0 .../html/class_item__coll__graph.md5 | 0 .../html/class_item__coll__graph.png | Bin .../html/class_status_l_e_d-members.html | 0 .../html/class_status_l_e_d.html | 0 .../html/class_status_l_e_d.js | 0 .../html/class_streamlog-members.html | 0 .../html/class_streamlog.html | 0 .../html/class_streamlog.js | 0 .../html/class_streamlog.png | Bin .../html/class_streamlog__coll__graph.map | 0 .../html/class_streamlog__coll__graph.md5 | 0 .../html/class_streamlog__coll__graph.png | Bin .../html/class_streamlog__inherit__graph.map | 0 .../html/class_streamlog__inherit__graph.md5 | 0 .../html/class_streamlog__inherit__graph.png | Bin .../html/classabstract_ch-members.html | 0 .../html/classabstract_ch.html | 0 .../html/classabstract_ch.js | 0 .../html/classabstract_ch.png | Bin .../html/classabstract_ch__inherit__graph.map | 0 .../html/classabstract_ch__inherit__graph.md5 | 0 .../html/classabstract_ch__inherit__graph.png | Bin .../html/classabstract_in-members.html | 0 .../html/classabstract_in.html | 0 .../html/classabstract_in.js | 0 .../html/classabstract_in.png | Bin .../html/classabstract_in__coll__graph.map | 0 .../html/classabstract_in__coll__graph.md5 | 0 .../html/classabstract_in__coll__graph.png | Bin .../html/classabstract_in__inherit__graph.map | 0 .../html/classabstract_in__inherit__graph.md5 | 0 .../html/classabstract_in__inherit__graph.png | Bin .../html/classabstract_out-members.html | 0 .../html/classabstract_out.html | 0 .../html/classabstract_out.js | 0 .../html/classabstract_out.png | Bin .../html/classabstract_out__coll__graph.map | 0 .../html/classabstract_out__coll__graph.md5 | 0 .../html/classabstract_out__coll__graph.png | Bin .../classabstract_out__inherit__graph.map | 0 .../classabstract_out__inherit__graph.md5 | 0 .../classabstract_out__inherit__graph.png | Bin .../html/classch_persistent.html | 0 .../html/classch_persistent.png | Bin .../classch_persistent__inherit__graph.map | 0 .../classch_persistent__inherit__graph.md5 | 0 .../classch_persistent__inherit__graph.png | Bin .../html/classcolor_channel-members.html | 0 .../html/classcolor_channel.html | 0 .../html/classcolor_channel.js | 0 .../html/classcolor_channel.png | Bin .../html/classcolor_channel__coll__graph.map | 0 .../html/classcolor_channel__coll__graph.md5 | 0 .../html/classcolor_channel__coll__graph.png | Bin .../classcolor_channel__inherit__graph.map | 0 .../classcolor_channel__inherit__graph.md5 | 0 .../classcolor_channel__inherit__graph.png | Bin {docs => doxygen-docs}/html/classes.html | 0 .../html/classflash_stream-members.html | 0 .../html/classflash_stream.html | 0 .../html/classflash_stream.js | 0 .../html/classflash_stream.png | Bin .../html/classin__ccs811-members.html | 0 .../html/classin__ccs811.html | 0 .../html/classin__ccs811.js | 0 .../html/classin__ccs811.png | Bin .../html/classin__ccs811__coll__graph.map | 0 .../html/classin__ccs811__coll__graph.md5 | 0 .../html/classin__ccs811__coll__graph.png | Bin .../html/classin__ccs811__inherit__graph.map | 0 .../html/classin__ccs811__inherit__graph.md5 | 0 .../html/classin__ccs811__inherit__graph.png | Bin .../html/classin__hdc1080-members.html | 0 .../html/classin__hdc1080.html | 0 .../html/classin__hdc1080.js | 0 .../html/classin__hdc1080.png | Bin .../html/classin__hdc1080__coll__graph.map | 0 .../html/classin__hdc1080__coll__graph.md5 | 0 .../html/classin__hdc1080__coll__graph.png | Bin .../html/classin__hdc1080__inherit__graph.map | 0 .../html/classin__hdc1080__inherit__graph.md5 | 0 .../html/classin__hdc1080__inherit__graph.png | Bin .../html/classitem_cmd-members.html | 0 .../html/classitem_cmd.html | 0 {docs => doxygen-docs}/html/classitem_cmd.js | 0 .../html/classitem_cmd__coll__graph.map | 0 .../html/classitem_cmd__coll__graph.md5 | 0 .../html/classitem_cmd__coll__graph.png | Bin .../html/classmb_persistent-members.html | 0 .../html/classmb_persistent.html | 0 .../html/classmb_persistent.js | 0 .../html/classmb_persistent.png | Bin .../html/classmb_persistent__coll__graph.map | 0 .../html/classmb_persistent__coll__graph.md5 | 0 .../html/classmb_persistent__coll__graph.png | Bin .../classmb_persistent__inherit__graph.map | 0 .../classmb_persistent__inherit__graph.md5 | 0 .../classmb_persistent__inherit__graph.png | Bin .../html/classout___a_c-members.html | 0 .../html/classout___a_c.html | 0 {docs => doxygen-docs}/html/classout___a_c.js | 0 .../html/classout___a_c.png | Bin .../html/classout___a_c__coll__graph.map | 0 .../html/classout___a_c__coll__graph.md5 | 0 .../html/classout___a_c__coll__graph.png | Bin .../html/classout___a_c__inherit__graph.map | 0 .../html/classout___a_c__inherit__graph.md5 | 0 .../html/classout___a_c__inherit__graph.png | Bin .../html/classout___modbus-members.html | 0 .../html/classout___modbus.html | 0 .../html/classout___modbus.js | 0 .../html/classout___modbus.png | Bin .../html/classout___modbus__coll__graph.map | 0 .../html/classout___modbus__coll__graph.md5 | 0 .../html/classout___modbus__coll__graph.png | Bin .../classout___modbus__inherit__graph.map | 0 .../classout___modbus__inherit__graph.md5 | 0 .../classout___modbus__inherit__graph.png | Bin .../html/classout___motor-members.html | 0 .../html/classout___motor.html | 0 .../html/classout___motor.js | 0 .../html/classout___motor.png | Bin .../html/classout___motor__coll__graph.map | 0 .../html/classout___motor__coll__graph.md5 | 0 .../html/classout___motor__coll__graph.png | Bin .../html/classout___motor__inherit__graph.map | 0 .../html/classout___motor__inherit__graph.md5 | 0 .../html/classout___motor__inherit__graph.png | Bin .../html/classout___multivent-members.html | 0 .../html/classout___multivent.html | 0 .../html/classout___multivent.js | 0 .../html/classout___multivent.png | Bin .../html/classout___s_p_i_led-members.html | 0 .../html/classout___s_p_i_led.html | 0 .../html/classout___s_p_i_led.js | 0 .../html/classout___s_p_i_led.png | Bin .../classout___s_p_i_led__coll__graph.map | 0 .../classout___s_p_i_led__coll__graph.md5 | 0 .../classout___s_p_i_led__coll__graph.png | Bin .../classout___s_p_i_led__inherit__graph.map | 0 .../classout___s_p_i_led__inherit__graph.md5 | 0 .../classout___s_p_i_led__inherit__graph.png | Bin .../html/classout__dmx-members.html | 0 .../html/classout__dmx.html | 0 {docs => doxygen-docs}/html/classout__dmx.js | 0 {docs => doxygen-docs}/html/classout__dmx.png | Bin .../html/classout__dmx__coll__graph.map | 0 .../html/classout__dmx__coll__graph.md5 | 0 .../html/classout__dmx__coll__graph.png | Bin .../html/classout__dmx__inherit__graph.map | 0 .../html/classout__dmx__inherit__graph.md5 | 0 .../html/classout__dmx__inherit__graph.png | Bin .../html/classout__pid-members.html | 0 .../html/classout__pid.html | 0 {docs => doxygen-docs}/html/classout__pid.js | 0 {docs => doxygen-docs}/html/classout__pid.png | Bin .../html/classout__pwm-members.html | 0 .../html/classout__pwm.html | 0 {docs => doxygen-docs}/html/classout__pwm.js | 0 {docs => doxygen-docs}/html/classout__pwm.png | Bin .../html/classout__pwm__coll__graph.map | 0 .../html/classout__pwm__coll__graph.md5 | 0 .../html/classout__pwm__coll__graph.png | Bin .../html/classout__pwm__inherit__graph.map | 0 .../html/classout__pwm__inherit__graph.md5 | 0 .../html/classout__pwm__inherit__graph.png | Bin .../html/classout__relay-members.html | 0 .../html/classout__relay.html | 0 .../html/classout__relay.js | 0 .../html/classout__relay.png | Bin .../html/classpid_persistent-members.html | 0 .../html/classpid_persistent.html | 0 .../html/classpid_persistent.js | 0 .../html/classpid_persistent.png | Bin .../html/classread_cache-members.html | 0 .../html/classread_cache.html | 0 .../html/classread_cache.js | 0 .../html/classseekable_stream-members.html | 0 .../html/classseekable_stream.html | 0 .../html/classseekable_stream.js | 0 .../html/classseekable_stream.png | Bin .../html/classstatus_l_e_d-members.html | 0 .../html/classstatus_l_e_d.html | 0 .../html/classsystem_config-members.html | 0 .../html/classsystem_config.html | 0 .../html/classsystem_config.js | 0 {docs => doxygen-docs}/html/closed.png | Bin .../html/colorchannel_8cpp.html | 0 .../html/colorchannel_8cpp__incl.map | 0 .../html/colorchannel_8cpp__incl.md5 | 0 .../html/colorchannel_8cpp__incl.png | Bin .../html/colorchannel_8h.html | 0 .../html/colorchannel_8h__dep__incl.map | 0 .../html/colorchannel_8h__dep__incl.md5 | 0 .../html/colorchannel_8h__dep__incl.png | Bin .../html/colorchannel_8h__incl.map | 0 .../html/colorchannel_8h__incl.md5 | 0 .../html/colorchannel_8h__incl.png | Bin .../html/colorchannel_8h_source.html | 0 {docs => doxygen-docs}/html/config_8cpp.html | 0 {docs => doxygen-docs}/html/config_8h.html | 0 .../html/config_8h_source.html | 0 .../html/dir_000000_000001.html | 0 .../dir_82d7c1f210290ade9e0671f857ad27e3.html | 0 ...r_82d7c1f210290ade9e0671f857ad27e3_dep.map | 0 ...r_82d7c1f210290ade9e0671f857ad27e3_dep.md5 | 0 ...r_82d7c1f210290ade9e0671f857ad27e3_dep.png | Bin .../dir_a26efa385a8243117251e7dce4d75390.html | 0 ...r_a26efa385a8243117251e7dce4d75390_dep.map | 0 ...r_a26efa385a8243117251e7dce4d75390_dep.md5 | 0 ...r_a26efa385a8243117251e7dce4d75390_dep.png | Bin .../dir_e05d7e2b1ecd646af5bb94391405f3b5.html | 0 .../dir_e05d7e2b1ecd646af5bb94391405f3b5.js | 0 {docs => doxygen-docs}/html/dmx_8cpp.html | 0 {docs => doxygen-docs}/html/dmx_8cpp.js | 0 .../html/dmx_8cpp__incl.map | 0 .../html/dmx_8cpp__incl.md5 | 0 .../html/dmx_8cpp__incl.png | Bin {docs => doxygen-docs}/html/dmx_8h.html | 0 {docs => doxygen-docs}/html/dmx_8h.js | 0 .../html/dmx_8h__dep__incl.map | 0 .../html/dmx_8h__dep__incl.md5 | 0 .../html/dmx_8h__dep__incl.png | Bin {docs => doxygen-docs}/html/dmx_8h__incl.map | 0 {docs => doxygen-docs}/html/dmx_8h__incl.md5 | 0 {docs => doxygen-docs}/html/dmx_8h__incl.png | Bin .../html/dmx_8h_source.html | 0 {docs => doxygen-docs}/html/doc.png | Bin {docs => doxygen-docs}/html/doxygen.css | 0 {docs => doxygen-docs}/html/doxygen.svg | 0 {docs => doxygen-docs}/html/dynsections.js | 0 {docs => doxygen-docs}/html/files.html | 0 {docs => doxygen-docs}/html/files_dup.js | 0 .../html/flashstream_8cpp.html | 0 .../html/flashstream_8h.html | 0 {docs => doxygen-docs}/html/flashstream_8h.js | 0 .../html/flashstream_8h_source.html | 0 {docs => doxygen-docs}/html/folderclosed.png | Bin {docs => doxygen-docs}/html/folderopen.png | Bin {docs => doxygen-docs}/html/functions.html | 0 {docs => doxygen-docs}/html/functions_b.html | 0 {docs => doxygen-docs}/html/functions_c.html | 0 {docs => doxygen-docs}/html/functions_d.html | 0 {docs => doxygen-docs}/html/functions_dup.js | 0 {docs => doxygen-docs}/html/functions_e.html | 0 {docs => doxygen-docs}/html/functions_f.html | 0 .../html/functions_func.html | 0 {docs => doxygen-docs}/html/functions_func.js | 0 .../html/functions_func_b.html | 0 .../html/functions_func_c.html | 0 .../html/functions_func_d.html | 0 .../html/functions_func_e.html | 0 .../html/functions_func_f.html | 0 .../html/functions_func_g.html | 0 .../html/functions_func_h.html | 0 .../html/functions_func_i.html | 0 .../html/functions_func_l.html | 0 .../html/functions_func_m.html | 0 .../html/functions_func_n.html | 0 .../html/functions_func_o.html | 0 .../html/functions_func_p.html | 0 .../html/functions_func_r.html | 0 .../html/functions_func_s.html | 0 .../html/functions_func_t.html | 0 .../html/functions_func_u.html | 0 .../html/functions_func_v.html | 0 .../html/functions_func_w.html | 0 .../html/functions_func_~.html | 0 {docs => doxygen-docs}/html/functions_g.html | 0 {docs => doxygen-docs}/html/functions_h.html | 0 {docs => doxygen-docs}/html/functions_i.html | 0 {docs => doxygen-docs}/html/functions_l.html | 0 {docs => doxygen-docs}/html/functions_m.html | 0 {docs => doxygen-docs}/html/functions_n.html | 0 {docs => doxygen-docs}/html/functions_o.html | 0 {docs => doxygen-docs}/html/functions_p.html | 0 {docs => doxygen-docs}/html/functions_r.html | 0 {docs => doxygen-docs}/html/functions_s.html | 0 {docs => doxygen-docs}/html/functions_t.html | 0 {docs => doxygen-docs}/html/functions_u.html | 0 {docs => doxygen-docs}/html/functions_v.html | 0 .../html/functions_vars.html | 0 {docs => doxygen-docs}/html/functions_w.html | 0 {docs => doxygen-docs}/html/functions_~.html | 0 {docs => doxygen-docs}/html/globals.html | 0 {docs => doxygen-docs}/html/globals_a.html | 0 {docs => doxygen-docs}/html/globals_b.html | 0 {docs => doxygen-docs}/html/globals_c.html | 0 {docs => doxygen-docs}/html/globals_d.html | 0 {docs => doxygen-docs}/html/globals_defs.html | 0 {docs => doxygen-docs}/html/globals_defs.js | 0 .../html/globals_defs_a.html | 0 .../html/globals_defs_b.html | 0 .../html/globals_defs_c.html | 0 .../html/globals_defs_d.html | 0 .../html/globals_defs_e.html | 0 .../html/globals_defs_f.html | 0 .../html/globals_defs_h.html | 0 .../html/globals_defs_i.html | 0 .../html/globals_defs_l.html | 0 .../html/globals_defs_m.html | 0 .../html/globals_defs_n.html | 0 .../html/globals_defs_o.html | 0 .../html/globals_defs_p.html | 0 .../html/globals_defs_q.html | 0 .../html/globals_defs_r.html | 0 .../html/globals_defs_s.html | 0 .../html/globals_defs_t.html | 0 .../html/globals_defs_u.html | 0 .../html/globals_defs_v.html | 0 .../html/globals_defs_w.html | 0 {docs => doxygen-docs}/html/globals_dup.js | 0 {docs => doxygen-docs}/html/globals_e.html | 0 {docs => doxygen-docs}/html/globals_enum.html | 0 {docs => doxygen-docs}/html/globals_eval.html | 0 {docs => doxygen-docs}/html/globals_f.html | 0 {docs => doxygen-docs}/html/globals_func.html | 0 {docs => doxygen-docs}/html/globals_g.html | 0 {docs => doxygen-docs}/html/globals_h.html | 0 {docs => doxygen-docs}/html/globals_i.html | 0 {docs => doxygen-docs}/html/globals_l.html | 0 {docs => doxygen-docs}/html/globals_m.html | 0 {docs => doxygen-docs}/html/globals_n.html | 0 {docs => doxygen-docs}/html/globals_o.html | 0 {docs => doxygen-docs}/html/globals_p.html | 0 {docs => doxygen-docs}/html/globals_q.html | 0 {docs => doxygen-docs}/html/globals_r.html | 0 {docs => doxygen-docs}/html/globals_s.html | 0 {docs => doxygen-docs}/html/globals_t.html | 0 {docs => doxygen-docs}/html/globals_type.html | 0 {docs => doxygen-docs}/html/globals_u.html | 0 {docs => doxygen-docs}/html/globals_v.html | 0 {docs => doxygen-docs}/html/globals_vars.html | 0 {docs => doxygen-docs}/html/globals_w.html | 0 {docs => doxygen-docs}/html/globals_z.html | 0 {docs => doxygen-docs}/html/graph_legend.html | 0 {docs => doxygen-docs}/html/graph_legend.md5 | 0 {docs => doxygen-docs}/html/graph_legend.png | Bin {docs => doxygen-docs}/html/hierarchy.html | 0 {docs => doxygen-docs}/html/hierarchy.js | 0 .../html/in__ccs811__hdc1080_8cpp.html | 0 .../html/in__ccs811__hdc1080_8cpp.js | 0 .../html/in__ccs811__hdc1080_8cpp__incl.map | 0 .../html/in__ccs811__hdc1080_8cpp__incl.md5 | 0 .../html/in__ccs811__hdc1080_8cpp__incl.png | Bin .../html/in__ccs811__hdc1080_8h.html | 0 .../html/in__ccs811__hdc1080_8h.js | 0 .../in__ccs811__hdc1080_8h__dep__incl.map | 0 .../in__ccs811__hdc1080_8h__dep__incl.md5 | 0 .../in__ccs811__hdc1080_8h__dep__incl.png | Bin .../html/in__ccs811__hdc1080_8h__incl.map | 0 .../html/in__ccs811__hdc1080_8h__incl.md5 | 0 .../html/in__ccs811__hdc1080_8h__incl.png | Bin .../html/in__ccs811__hdc1080_8h_source.html | 0 {docs => doxygen-docs}/html/index.html | 0 .../html/inherit_graph_0.map | 0 .../html/inherit_graph_0.md5 | 0 .../html/inherit_graph_0.png | Bin .../html/inherit_graph_1.map | 0 .../html/inherit_graph_1.md5 | 0 .../html/inherit_graph_1.png | Bin .../html/inherit_graph_10.map | 0 .../html/inherit_graph_10.md5 | 0 .../html/inherit_graph_10.png | Bin .../html/inherit_graph_11.map | 0 .../html/inherit_graph_11.md5 | 0 .../html/inherit_graph_11.png | Bin .../html/inherit_graph_12.map | 0 .../html/inherit_graph_12.md5 | 0 .../html/inherit_graph_12.png | Bin .../html/inherit_graph_13.map | 0 .../html/inherit_graph_13.md5 | 0 .../html/inherit_graph_13.png | Bin .../html/inherit_graph_2.map | 0 .../html/inherit_graph_2.md5 | 0 .../html/inherit_graph_2.png | Bin .../html/inherit_graph_3.map | 0 .../html/inherit_graph_3.md5 | 0 .../html/inherit_graph_3.png | Bin .../html/inherit_graph_4.map | 0 .../html/inherit_graph_4.md5 | 0 .../html/inherit_graph_4.png | Bin .../html/inherit_graph_5.map | 0 .../html/inherit_graph_5.md5 | 0 .../html/inherit_graph_5.png | Bin .../html/inherit_graph_6.map | 0 .../html/inherit_graph_6.md5 | 0 .../html/inherit_graph_6.png | Bin .../html/inherit_graph_7.map | 0 .../html/inherit_graph_7.md5 | 0 .../html/inherit_graph_7.png | Bin .../html/inherit_graph_8.map | 0 .../html/inherit_graph_8.md5 | 0 .../html/inherit_graph_8.png | Bin .../html/inherit_graph_9.map | 0 .../html/inherit_graph_9.md5 | 0 .../html/inherit_graph_9.png | Bin {docs => doxygen-docs}/html/inherits.html | 0 {docs => doxygen-docs}/html/inputs_8cpp.html | 0 {docs => doxygen-docs}/html/inputs_8cpp.js | 0 .../html/inputs_8cpp__incl.map | 0 .../html/inputs_8cpp__incl.md5 | 0 .../html/inputs_8cpp__incl.png | Bin {docs => doxygen-docs}/html/inputs_8h.html | 0 {docs => doxygen-docs}/html/inputs_8h.js | 0 .../html/inputs_8h__dep__incl.map | 0 .../html/inputs_8h__dep__incl.md5 | 0 .../html/inputs_8h__dep__incl.png | Bin .../html/inputs_8h__incl.map | 0 .../html/inputs_8h__incl.md5 | 0 .../html/inputs_8h__incl.png | Bin .../html/inputs_8h_source.html | 0 {docs => doxygen-docs}/html/item_8cpp.html | 0 {docs => doxygen-docs}/html/item_8cpp.js | 0 .../html/item_8cpp__incl.map | 0 .../html/item_8cpp__incl.md5 | 0 .../html/item_8cpp__incl.png | Bin {docs => doxygen-docs}/html/item_8h.html | 0 {docs => doxygen-docs}/html/item_8h.js | 0 .../html/item_8h__dep__incl.map | 0 .../html/item_8h__dep__incl.md5 | 0 .../html/item_8h__dep__incl.png | Bin {docs => doxygen-docs}/html/item_8h__incl.map | 0 {docs => doxygen-docs}/html/item_8h__incl.md5 | 0 {docs => doxygen-docs}/html/item_8h__incl.png | Bin .../html/item_8h_source.html | 0 .../html/item_cmd_8cpp.html | 0 {docs => doxygen-docs}/html/item_cmd_8cpp.js | 0 .../html/item_cmd_8cpp__incl.map | 0 .../html/item_cmd_8cpp__incl.md5 | 0 .../html/item_cmd_8cpp__incl.png | Bin {docs => doxygen-docs}/html/item_cmd_8h.html | 0 {docs => doxygen-docs}/html/item_cmd_8h.js | 0 .../html/item_cmd_8h__dep__incl.map | 0 .../html/item_cmd_8h__dep__incl.md5 | 0 .../html/item_cmd_8h__dep__incl.png | Bin .../html/item_cmd_8h__incl.map | 0 .../html/item_cmd_8h__incl.md5 | 0 .../html/item_cmd_8h__incl.png | Bin .../html/item_cmd_8h_source.html | 0 {docs => doxygen-docs}/html/jquery.js | 0 {docs => doxygen-docs}/html/lh.png | Bin {docs => doxygen-docs}/html/main_8cpp.html | 0 {docs => doxygen-docs}/html/main_8cpp.js | 0 .../html/main_8cpp__incl.map | 0 .../html/main_8cpp__incl.md5 | 0 .../html/main_8cpp__incl.png | Bin {docs => doxygen-docs}/html/main_8h.html | 0 {docs => doxygen-docs}/html/main_8h.js | 0 .../html/main_8h__dep__incl.map | 0 .../html/main_8h__dep__incl.md5 | 0 .../html/main_8h__dep__incl.png | Bin {docs => doxygen-docs}/html/main_8h__incl.map | 0 {docs => doxygen-docs}/html/main_8h__incl.md5 | 0 {docs => doxygen-docs}/html/main_8h__incl.png | Bin .../html/main_8h_source.html | 0 {docs => doxygen-docs}/html/menu.js | 0 {docs => doxygen-docs}/html/menudata.js | 0 .../html/mkspiffs_espressif32_arduino.exe | Bin .../html/mkspiffs_espressif8266_arduino.exe | Bin {docs => doxygen-docs}/html/nav_f.png | Bin {docs => doxygen-docs}/html/nav_g.png | Bin {docs => doxygen-docs}/html/nav_h.png | Bin {docs => doxygen-docs}/html/navtree.css | 0 {docs => doxygen-docs}/html/navtree.js | 0 {docs => doxygen-docs}/html/navtreedata.js | 0 {docs => doxygen-docs}/html/navtreeindex0.js | 0 {docs => doxygen-docs}/html/navtreeindex1.js | 0 {docs => doxygen-docs}/html/navtreeindex2.js | 0 {docs => doxygen-docs}/html/navtreeindex3.js | 0 {docs => doxygen-docs}/html/navtreeindex4.js | 0 {docs => doxygen-docs}/html/navtreeindex5.js | 0 {docs => doxygen-docs}/html/open.png | Bin {docs => doxygen-docs}/html/options_8h.html | 0 {docs => doxygen-docs}/html/options_8h.js | 0 .../html/options_8h__dep__incl.map | 0 .../html/options_8h__dep__incl.md5 | 0 .../html/options_8h__dep__incl.png | Bin .../html/options_8h_source.html | 0 {docs => doxygen-docs}/html/out__ac_8cpp.html | 0 {docs => doxygen-docs}/html/out__ac_8cpp.js | 0 .../html/out__ac_8cpp__incl.map | 0 .../html/out__ac_8cpp__incl.md5 | 0 .../html/out__ac_8cpp__incl.png | Bin {docs => doxygen-docs}/html/out__ac_8h.html | 0 {docs => doxygen-docs}/html/out__ac_8h.js | 0 .../html/out__ac_8h__dep__incl.map | 0 .../html/out__ac_8h__dep__incl.md5 | 0 .../html/out__ac_8h__dep__incl.png | Bin .../html/out__ac_8h__incl.map | 0 .../html/out__ac_8h__incl.md5 | 0 .../html/out__ac_8h__incl.png | Bin .../html/out__ac_8h_source.html | 0 .../html/out__dmx_8cpp.html | 0 .../html/out__dmx_8cpp__incl.map | 0 .../html/out__dmx_8cpp__incl.md5 | 0 .../html/out__dmx_8cpp__incl.png | Bin {docs => doxygen-docs}/html/out__dmx_8h.html | 0 .../html/out__dmx_8h__dep__incl.map | 0 .../html/out__dmx_8h__dep__incl.md5 | 0 .../html/out__dmx_8h__dep__incl.png | Bin .../html/out__dmx_8h__incl.map | 0 .../html/out__dmx_8h__incl.md5 | 0 .../html/out__dmx_8h__incl.png | Bin .../html/out__dmx_8h_source.html | 0 .../html/out__elevator_8cpp.html | 0 .../html/out__elevator_8h.html | 0 .../html/out__elevator_8h_source.html | 0 .../html/out__modbus_8cpp.html | 0 .../html/out__modbus_8cpp.js | 0 .../html/out__modbus_8cpp__incl.map | 0 .../html/out__modbus_8cpp__incl.md5 | 0 .../html/out__modbus_8cpp__incl.png | Bin .../html/out__modbus_8h.html | 0 .../html/out__modbus_8h__dep__incl.map | 0 .../html/out__modbus_8h__dep__incl.md5 | 0 .../html/out__modbus_8h__dep__incl.png | Bin .../html/out__modbus_8h__incl.map | 0 .../html/out__modbus_8h__incl.md5 | 0 .../html/out__modbus_8h__incl.png | Bin .../html/out__modbus_8h_source.html | 0 .../html/out__motor_8cpp.html | 0 .../html/out__motor_8cpp.js | 0 .../html/out__motor_8cpp__incl.map | 0 .../html/out__motor_8cpp__incl.md5 | 0 .../html/out__motor_8cpp__incl.png | Bin .../html/out__motor_8h.html | 0 {docs => doxygen-docs}/html/out__motor_8h.js | 0 .../html/out__motor_8h__dep__incl.map | 0 .../html/out__motor_8h__dep__incl.md5 | 0 .../html/out__motor_8h__dep__incl.png | Bin .../html/out__motor_8h__incl.map | 0 .../html/out__motor_8h__incl.md5 | 0 .../html/out__motor_8h__incl.png | Bin .../html/out__motor_8h_source.html | 0 .../html/out__multivent_8cpp.html | 0 .../html/out__multivent_8h.html | 0 .../html/out__multivent_8h_source.html | 0 .../html/out__pid_8cpp.html | 0 {docs => doxygen-docs}/html/out__pid_8h.html | 0 {docs => doxygen-docs}/html/out__pid_8h.js | 0 .../html/out__pid_8h_source.html | 0 .../html/out__pwm_8cpp.html | 0 .../html/out__pwm_8cpp__incl.map | 0 .../html/out__pwm_8cpp__incl.md5 | 0 .../html/out__pwm_8cpp__incl.png | Bin {docs => doxygen-docs}/html/out__pwm_8h.html | 0 .../html/out__pwm_8h__dep__incl.map | 0 .../html/out__pwm_8h__dep__incl.md5 | 0 .../html/out__pwm_8h__dep__incl.png | Bin .../html/out__pwm_8h__incl.map | 0 .../html/out__pwm_8h__incl.md5 | 0 .../html/out__pwm_8h__incl.png | Bin .../html/out__pwm_8h_source.html | 0 .../html/out__relay_8cpp.html | 0 .../html/out__relay_8cpp.js | 0 .../html/out__relay_8h.html | 0 .../html/out__relay_8h_source.html | 0 .../html/out__spiled_8cpp.html | 0 .../html/out__spiled_8cpp.js | 0 .../html/out__spiled_8cpp__incl.map | 0 .../html/out__spiled_8cpp__incl.md5 | 0 .../html/out__spiled_8cpp__incl.png | Bin .../html/out__spiled_8h.html | 0 .../html/out__spiled_8h__dep__incl.map | 0 .../html/out__spiled_8h__dep__incl.md5 | 0 .../html/out__spiled_8h__dep__incl.png | Bin .../html/out__spiled_8h__incl.map | 0 .../html/out__spiled_8h__incl.md5 | 0 .../html/out__spiled_8h__incl.png | Bin .../html/out__spiled_8h_source.html | 0 .../html/out__uartbridge_8cpp.html | 0 .../html/out__uartbridge_8h.html | 0 .../html/out__uartbridge_8h_source.html | 0 {docs => doxygen-docs}/html/ow_term_8cpp.html | 0 {docs => doxygen-docs}/html/ow_term_8cpp.js | 0 .../html/ow_term_8cpp__incl.map | 0 .../html/ow_term_8cpp__incl.md5 | 0 .../html/ow_term_8cpp__incl.png | Bin {docs => doxygen-docs}/html/ow_term_8h.html | 0 {docs => doxygen-docs}/html/ow_term_8h.js | 0 .../html/ow_term_8h__dep__incl.map | 0 .../html/ow_term_8h__dep__incl.md5 | 0 .../html/ow_term_8h__dep__incl.png | Bin .../html/ow_term_8h__incl.map | 0 .../html/ow_term_8h__incl.md5 | 0 .../html/ow_term_8h__incl.png | Bin .../html/ow_term_8h_source.html | 0 {docs => doxygen-docs}/html/resize.js | 0 {docs => doxygen-docs}/html/search/all_0.html | 0 {docs => doxygen-docs}/html/search/all_0.js | 0 {docs => doxygen-docs}/html/search/all_1.html | 0 {docs => doxygen-docs}/html/search/all_1.js | 0 .../html/search/all_10.html | 0 {docs => doxygen-docs}/html/search/all_10.js | 0 .../html/search/all_11.html | 0 {docs => doxygen-docs}/html/search/all_11.js | 0 .../html/search/all_12.html | 0 {docs => doxygen-docs}/html/search/all_12.js | 0 .../html/search/all_13.html | 0 {docs => doxygen-docs}/html/search/all_13.js | 0 .../html/search/all_14.html | 0 {docs => doxygen-docs}/html/search/all_14.js | 0 .../html/search/all_15.html | 0 {docs => doxygen-docs}/html/search/all_15.js | 0 .../html/search/all_16.html | 0 {docs => doxygen-docs}/html/search/all_16.js | 0 .../html/search/all_17.html | 0 {docs => doxygen-docs}/html/search/all_17.js | 0 {docs => doxygen-docs}/html/search/all_2.html | 0 {docs => doxygen-docs}/html/search/all_2.js | 0 {docs => doxygen-docs}/html/search/all_3.html | 0 {docs => doxygen-docs}/html/search/all_3.js | 0 {docs => doxygen-docs}/html/search/all_4.html | 0 {docs => doxygen-docs}/html/search/all_4.js | 0 {docs => doxygen-docs}/html/search/all_5.html | 0 {docs => doxygen-docs}/html/search/all_5.js | 0 {docs => doxygen-docs}/html/search/all_6.html | 0 {docs => doxygen-docs}/html/search/all_6.js | 0 {docs => doxygen-docs}/html/search/all_7.html | 0 {docs => doxygen-docs}/html/search/all_7.js | 0 {docs => doxygen-docs}/html/search/all_8.html | 0 {docs => doxygen-docs}/html/search/all_8.js | 0 {docs => doxygen-docs}/html/search/all_9.html | 0 {docs => doxygen-docs}/html/search/all_9.js | 0 {docs => doxygen-docs}/html/search/all_a.html | 0 {docs => doxygen-docs}/html/search/all_a.js | 0 {docs => doxygen-docs}/html/search/all_b.html | 0 {docs => doxygen-docs}/html/search/all_b.js | 0 {docs => doxygen-docs}/html/search/all_c.html | 0 {docs => doxygen-docs}/html/search/all_c.js | 0 {docs => doxygen-docs}/html/search/all_d.html | 0 {docs => doxygen-docs}/html/search/all_d.js | 0 {docs => doxygen-docs}/html/search/all_e.html | 0 {docs => doxygen-docs}/html/search/all_e.js | 0 {docs => doxygen-docs}/html/search/all_f.html | 0 {docs => doxygen-docs}/html/search/all_f.js | 0 .../html/search/classes_0.html | 0 .../html/search/classes_0.js | 0 .../html/search/classes_1.html | 0 .../html/search/classes_1.js | 0 .../html/search/classes_2.html | 0 .../html/search/classes_2.js | 0 .../html/search/classes_3.html | 0 .../html/search/classes_3.js | 0 .../html/search/classes_4.html | 0 .../html/search/classes_4.js | 0 .../html/search/classes_5.html | 0 .../html/search/classes_5.js | 0 .../html/search/classes_6.html | 0 .../html/search/classes_6.js | 0 .../html/search/classes_7.html | 0 .../html/search/classes_7.js | 0 .../html/search/classes_8.html | 0 .../html/search/classes_8.js | 0 .../html/search/classes_9.html | 0 .../html/search/classes_9.js | 0 .../html/search/classes_a.html | 0 .../html/search/classes_a.js | 0 {docs => doxygen-docs}/html/search/close.svg | 0 .../html/search/defines_0.html | 0 .../html/search/defines_0.js | 0 .../html/search/defines_1.html | 0 .../html/search/defines_1.js | 0 .../html/search/defines_10.html | 0 .../html/search/defines_10.js | 0 .../html/search/defines_11.html | 0 .../html/search/defines_11.js | 0 .../html/search/defines_12.html | 0 .../html/search/defines_12.js | 0 .../html/search/defines_13.html | 0 .../html/search/defines_13.js | 0 .../html/search/defines_14.html | 0 .../html/search/defines_14.js | 0 .../html/search/defines_2.html | 0 .../html/search/defines_2.js | 0 .../html/search/defines_3.html | 0 .../html/search/defines_3.js | 0 .../html/search/defines_4.html | 0 .../html/search/defines_4.js | 0 .../html/search/defines_5.html | 0 .../html/search/defines_5.js | 0 .../html/search/defines_6.html | 0 .../html/search/defines_6.js | 0 .../html/search/defines_7.html | 0 .../html/search/defines_7.js | 0 .../html/search/defines_8.html | 0 .../html/search/defines_8.js | 0 .../html/search/defines_9.html | 0 .../html/search/defines_9.js | 0 .../html/search/defines_a.html | 0 .../html/search/defines_a.js | 0 .../html/search/defines_b.html | 0 .../html/search/defines_b.js | 0 .../html/search/defines_c.html | 0 .../html/search/defines_c.js | 0 .../html/search/defines_d.html | 0 .../html/search/defines_d.js | 0 .../html/search/defines_e.html | 0 .../html/search/defines_e.js | 0 .../html/search/defines_f.html | 0 .../html/search/defines_f.js | 0 .../html/search/enums_0.html | 0 {docs => doxygen-docs}/html/search/enums_0.js | 0 .../html/search/enums_1.html | 0 {docs => doxygen-docs}/html/search/enums_1.js | 0 .../html/search/enums_2.html | 0 {docs => doxygen-docs}/html/search/enums_2.js | 0 .../html/search/enumvalues_0.html | 0 .../html/search/enumvalues_0.js | 0 .../html/search/enumvalues_1.html | 0 .../html/search/enumvalues_1.js | 0 .../html/search/enumvalues_2.html | 0 .../html/search/enumvalues_2.js | 0 .../html/search/enumvalues_3.html | 0 .../html/search/enumvalues_3.js | 0 .../html/search/enumvalues_4.html | 0 .../html/search/enumvalues_4.js | 0 .../html/search/enumvalues_5.html | 0 .../html/search/enumvalues_5.js | 0 .../html/search/enumvalues_6.html | 0 .../html/search/enumvalues_6.js | 0 .../html/search/enumvalues_7.html | 0 .../html/search/enumvalues_7.js | 0 .../html/search/files_0.html | 0 {docs => doxygen-docs}/html/search/files_0.js | 0 .../html/search/files_1.html | 0 {docs => doxygen-docs}/html/search/files_1.js | 0 .../html/search/files_2.html | 0 {docs => doxygen-docs}/html/search/files_2.js | 0 .../html/search/files_3.html | 0 {docs => doxygen-docs}/html/search/files_3.js | 0 .../html/search/files_4.html | 0 {docs => doxygen-docs}/html/search/files_4.js | 0 .../html/search/files_5.html | 0 {docs => doxygen-docs}/html/search/files_5.js | 0 .../html/search/files_6.html | 0 {docs => doxygen-docs}/html/search/files_6.js | 0 .../html/search/files_7.html | 0 {docs => doxygen-docs}/html/search/files_7.js | 0 .../html/search/files_8.html | 0 {docs => doxygen-docs}/html/search/files_8.js | 0 .../html/search/files_9.html | 0 {docs => doxygen-docs}/html/search/files_9.js | 0 .../html/search/files_a.html | 0 {docs => doxygen-docs}/html/search/files_a.js | 0 .../html/search/firmware.bin | Bin .../html/search/functions_0.html | 0 .../html/search/functions_0.js | 0 .../html/search/functions_1.html | 0 .../html/search/functions_1.js | 0 .../html/search/functions_10.html | 0 .../html/search/functions_10.js | 0 .../html/search/functions_11.html | 0 .../html/search/functions_11.js | 0 .../html/search/functions_12.html | 0 .../html/search/functions_12.js | 0 .../html/search/functions_13.html | 0 .../html/search/functions_13.js | 0 .../html/search/functions_14.html | 0 .../html/search/functions_14.js | 0 .../html/search/functions_15.html | 0 .../html/search/functions_15.js | 0 .../html/search/functions_16.html | 0 .../html/search/functions_16.js | 0 .../html/search/functions_2.html | 0 .../html/search/functions_2.js | 0 .../html/search/functions_3.html | 0 .../html/search/functions_3.js | 0 .../html/search/functions_4.html | 0 .../html/search/functions_4.js | 0 .../html/search/functions_5.html | 0 .../html/search/functions_5.js | 0 .../html/search/functions_6.html | 0 .../html/search/functions_6.js | 0 .../html/search/functions_7.html | 0 .../html/search/functions_7.js | 0 .../html/search/functions_8.html | 0 .../html/search/functions_8.js | 0 .../html/search/functions_9.html | 0 .../html/search/functions_9.js | 0 .../html/search/functions_a.html | 0 .../html/search/functions_a.js | 0 .../html/search/functions_b.html | 0 .../html/search/functions_b.js | 0 .../html/search/functions_c.html | 0 .../html/search/functions_c.js | 0 .../html/search/functions_d.html | 0 .../html/search/functions_d.js | 0 .../html/search/functions_e.html | 0 .../html/search/functions_e.js | 0 .../html/search/functions_f.html | 0 .../html/search/functions_f.js | 0 .../html/search/mag_sel.svg | 0 .../html/search/nomatches.html | 0 {docs => doxygen-docs}/html/search/search.css | 0 {docs => doxygen-docs}/html/search/search.js | 0 .../html/search/search_l.png | Bin .../html/search/search_m.png | Bin .../html/search/search_r.png | Bin .../html/search/searchdata.js | 0 .../html/search/typedefs_0.html | 0 .../html/search/typedefs_0.js | 0 .../html/search/typedefs_1.html | 0 .../html/search/typedefs_1.js | 0 .../html/search/typedefs_2.html | 0 .../html/search/typedefs_2.js | 0 .../html/search/typedefs_3.html | 0 .../html/search/typedefs_3.js | 0 {docs => doxygen-docs}/html/search/upload.bat | 0 {docs => doxygen-docs}/html/search/upload.sh | 0 .../html/search/variables_0.html | 0 .../html/search/variables_0.js | 0 .../html/search/variables_1.html | 0 .../html/search/variables_1.js | 0 .../html/search/variables_10.html | 0 .../html/search/variables_10.js | 0 .../html/search/variables_11.html | 0 .../html/search/variables_11.js | 0 .../html/search/variables_12.html | 0 .../html/search/variables_12.js | 0 .../html/search/variables_13.html | 0 .../html/search/variables_13.js | 0 .../html/search/variables_14.html | 0 .../html/search/variables_14.js | 0 .../html/search/variables_2.html | 0 .../html/search/variables_2.js | 0 .../html/search/variables_3.html | 0 .../html/search/variables_3.js | 0 .../html/search/variables_4.html | 0 .../html/search/variables_4.js | 0 .../html/search/variables_5.html | 0 .../html/search/variables_5.js | 0 .../html/search/variables_6.html | 0 .../html/search/variables_6.js | 0 .../html/search/variables_7.html | 0 .../html/search/variables_7.js | 0 .../html/search/variables_8.html | 0 .../html/search/variables_8.js | 0 .../html/search/variables_9.html | 0 .../html/search/variables_9.js | 0 .../html/search/variables_a.html | 0 .../html/search/variables_a.js | 0 .../html/search/variables_b.html | 0 .../html/search/variables_b.js | 0 .../html/search/variables_c.html | 0 .../html/search/variables_c.js | 0 .../html/search/variables_d.html | 0 .../html/search/variables_d.js | 0 .../html/search/variables_e.html | 0 .../html/search/variables_e.js | 0 .../html/search/variables_f.html | 0 .../html/search/variables_f.js | 0 .../html/seekablestream_8h.html | 0 .../html/seekablestream_8h.js | 0 .../html/seekablestream_8h_source.html | 0 {docs => doxygen-docs}/html/splitbar.png | Bin .../html/statusled_8cpp.html | 0 .../html/statusled_8cpp__incl.map | 0 .../html/statusled_8cpp__incl.md5 | 0 .../html/statusled_8cpp__incl.png | Bin {docs => doxygen-docs}/html/statusled_8h.html | 0 {docs => doxygen-docs}/html/statusled_8h.js | 0 .../html/statusled_8h__dep__incl.map | 0 .../html/statusled_8h__dep__incl.md5 | 0 .../html/statusled_8h__dep__incl.png | Bin .../html/statusled_8h__incl.map | 0 .../html/statusled_8h__incl.md5 | 0 .../html/statusled_8h__incl.png | Bin .../html/statusled_8h_source.html | 0 .../html/streamlog_8cpp.html | 0 {docs => doxygen-docs}/html/streamlog_8cpp.js | 0 .../html/streamlog_8cpp__incl.map | 0 .../html/streamlog_8cpp__incl.md5 | 0 .../html/streamlog_8cpp__incl.png | Bin {docs => doxygen-docs}/html/streamlog_8h.html | 0 {docs => doxygen-docs}/html/streamlog_8h.js | 0 .../html/streamlog_8h__dep__incl.map | 0 .../html/streamlog_8h__dep__incl.md5 | 0 .../html/streamlog_8h__dep__incl.png | Bin .../html/streamlog_8h__incl.map | 0 .../html/streamlog_8h__incl.md5 | 0 .../html/streamlog_8h__incl.png | Bin .../html/streamlog_8h_source.html | 0 .../html/structreg__t-members.html | 0 {docs => doxygen-docs}/html/structreg__t.html | 0 {docs => doxygen-docs}/html/structreg__t.js | 0 .../html/structserial__st-members.html | 0 .../html/structserial__st.html | 0 .../html/structserial__st.js | 0 .../html/structserial__t-members.html | 0 .../html/structserial__t.html | 0 .../structsystem_config_data-members.html | 0 .../html/structsystem_config_data.html | 0 .../html/structsystem_config_data.js | 0 {docs => doxygen-docs}/html/sync_off.png | Bin {docs => doxygen-docs}/html/sync_on.png | Bin .../html/systemconfigdata_8h.html | 0 .../html/systemconfigdata_8h.js | 0 .../html/systemconfigdata_8h_source.html | 0 {docs => doxygen-docs}/html/tab_a.png | Bin {docs => doxygen-docs}/html/tab_b.png | Bin {docs => doxygen-docs}/html/tab_h.png | Bin {docs => doxygen-docs}/html/tab_s.png | Bin {docs => doxygen-docs}/html/tabs.css | 0 {docs => doxygen-docs}/html/textconst_8h.html | 0 {docs => doxygen-docs}/html/textconst_8h.js | 0 .../html/textconst_8h__dep__incl.map | 0 .../html/textconst_8h__dep__incl.md5 | 0 .../html/textconst_8h__dep__incl.png | Bin .../html/textconst_8h_source.html | 0 .../html/union_u_i_d-members.html | 0 {docs => doxygen-docs}/html/union_u_i_d.html | 0 {docs => doxygen-docs}/html/union_u_i_d.js | 0 .../html/unionin_store-members.html | 0 .../html/unionin_store.html | 0 {docs => doxygen-docs}/html/unionin_store.js | 0 .../html/unionitem_arg_store-members.html | 0 .../html/unionitem_arg_store.html | 0 .../html/unionitem_arg_store.js | 0 .../html/unionitem_cmd_store-members.html | 0 .../html/unionitem_cmd_store.html | 0 .../html/unionitem_cmd_store.js | 0 .../unionsystem_config_flags-members.html | 0 .../html/unionsystem_config_flags.html | 0 .../html/unionsystem_config_flags.js | 0 .../html/unionthermostat_store-members.html | 0 .../html/unionthermostat_store.html | 0 .../html/unionthermostat_store.js | 0 {docs => doxygen-docs}/html/utils_8cpp.html | 0 {docs => doxygen-docs}/html/utils_8cpp.js | 0 .../html/utils_8cpp__incl.map | 0 .../html/utils_8cpp__incl.md5 | 0 .../html/utils_8cpp__incl.png | Bin {docs => doxygen-docs}/html/utils_8h.html | 0 {docs => doxygen-docs}/html/utils_8h.js | 0 .../html/utils_8h__dep__incl.map | 0 .../html/utils_8h__dep__incl.md5 | 0 .../html/utils_8h__dep__incl.png | Bin .../html/utils_8h__incl.map | 0 .../html/utils_8h__incl.md5 | 0 .../html/utils_8h__incl.png | Bin .../html/utils_8h_source.html | 0 {docs => doxygen-docs}/latex/Makefile | 0 .../latex/abstractch_8cpp.tex | 0 .../latex/abstractch_8cpp__incl.md5 | 0 .../latex/abstractch_8cpp__incl.pdf | Bin .../latex/abstractch_8h.tex | 0 .../latex/abstractch_8h__dep__incl.md5 | 0 .../latex/abstractch_8h__dep__incl.pdf | Bin .../latex/abstractch_8h__incl.md5 | 0 .../latex/abstractch_8h__incl.pdf | Bin .../latex/abstractin_8cpp.tex | 0 .../latex/abstractin_8cpp__incl.md5 | 0 .../latex/abstractin_8cpp__incl.pdf | Bin .../latex/abstractin_8h.tex | 0 .../latex/abstractin_8h__dep__incl.md5 | 0 .../latex/abstractin_8h__dep__incl.pdf | Bin .../latex/abstractin_8h__incl.md5 | 0 .../latex/abstractin_8h__incl.pdf | Bin .../latex/abstractout_8cpp.tex | 0 .../latex/abstractout_8h.tex | 0 .../latex/abstractout_8h__dep__incl.md5 | 0 .../latex/abstractout_8h__dep__incl.pdf | Bin .../latex/abstractout_8h__incl.md5 | 0 .../latex/abstractout_8h__incl.pdf | Bin {docs => doxygen-docs}/latex/annotated.tex | 0 {docs => doxygen-docs}/latex/bright_8cpp.tex | 0 .../latex/bright_8cpp__incl.md5 | 0 .../latex/bright_8cpp__incl.pdf | Bin {docs => doxygen-docs}/latex/bright_8h.tex | 0 .../latex/bright_8h__dep__incl.md5 | 0 .../latex/bright_8h__dep__incl.pdf | Bin .../latex/bright_8h__incl.md5 | 0 .../latex/bright_8h__incl.pdf | Bin {docs => doxygen-docs}/latex/class_input.tex | 0 .../latex/class_input__coll__graph.md5 | 0 .../latex/class_input__coll__graph.pdf | Bin {docs => doxygen-docs}/latex/class_item.tex | 0 .../latex/class_item__coll__graph.md5 | 0 .../latex/class_item__coll__graph.pdf | Bin .../latex/class_status_l_e_d.tex | 0 .../latex/class_streamlog.eps | 0 .../latex/class_streamlog.tex | 0 .../latex/class_streamlog__coll__graph.md5 | 0 .../latex/class_streamlog__coll__graph.pdf | Bin .../latex/class_streamlog__inherit__graph.md5 | 0 .../latex/class_streamlog__inherit__graph.pdf | Bin .../latex/classabstract_ch.eps | 0 .../latex/classabstract_ch.tex | 0 .../classabstract_ch__inherit__graph.md5 | 0 .../classabstract_ch__inherit__graph.pdf | Bin .../latex/classabstract_in.eps | 0 .../latex/classabstract_in.tex | 0 .../latex/classabstract_in__coll__graph.md5 | 0 .../latex/classabstract_in__coll__graph.pdf | Bin .../classabstract_in__inherit__graph.md5 | 0 .../classabstract_in__inherit__graph.pdf | Bin .../latex/classabstract_out.eps | 0 .../latex/classabstract_out.tex | 0 .../latex/classabstract_out__coll__graph.md5 | 0 .../latex/classabstract_out__coll__graph.pdf | Bin .../classabstract_out__inherit__graph.md5 | 0 .../classabstract_out__inherit__graph.pdf | Bin .../latex/classch_persistent.eps | 0 .../latex/classch_persistent.tex | 0 .../classch_persistent__inherit__graph.md5 | 0 .../classch_persistent__inherit__graph.pdf | Bin .../latex/classcolor_channel.eps | 0 .../latex/classcolor_channel.tex | 0 .../latex/classcolor_channel__coll__graph.md5 | 0 .../latex/classcolor_channel__coll__graph.pdf | Bin .../classcolor_channel__inherit__graph.md5 | 0 .../classcolor_channel__inherit__graph.pdf | Bin .../latex/classflash_stream.eps | 0 .../latex/classflash_stream.tex | 0 .../latex/classin__ccs811.eps | 0 .../latex/classin__ccs811.tex | 0 .../latex/classin__ccs811__coll__graph.md5 | 0 .../latex/classin__ccs811__coll__graph.pdf | Bin .../latex/classin__ccs811__inherit__graph.md5 | 0 .../latex/classin__ccs811__inherit__graph.pdf | Bin .../latex/classin__hdc1080.eps | 0 .../latex/classin__hdc1080.tex | 0 .../latex/classin__hdc1080__coll__graph.md5 | 0 .../latex/classin__hdc1080__coll__graph.pdf | Bin .../classin__hdc1080__inherit__graph.md5 | 0 .../classin__hdc1080__inherit__graph.pdf | Bin .../latex/classitem_cmd.tex | 0 .../latex/classitem_cmd__coll__graph.md5 | 0 .../latex/classitem_cmd__coll__graph.pdf | Bin .../latex/classmb_persistent.eps | 0 .../latex/classmb_persistent.tex | 0 .../latex/classmb_persistent__coll__graph.md5 | 0 .../latex/classmb_persistent__coll__graph.pdf | Bin .../classmb_persistent__inherit__graph.md5 | 0 .../classmb_persistent__inherit__graph.pdf | Bin .../latex/classout___a_c.eps | 0 .../latex/classout___a_c.tex | 0 .../latex/classout___a_c__coll__graph.md5 | 0 .../latex/classout___a_c__coll__graph.pdf | Bin .../latex/classout___a_c__inherit__graph.md5 | 0 .../latex/classout___a_c__inherit__graph.pdf | Bin .../latex/classout___modbus.eps | 0 .../latex/classout___modbus.tex | 0 .../latex/classout___modbus__coll__graph.md5 | 0 .../latex/classout___modbus__coll__graph.pdf | Bin .../classout___modbus__inherit__graph.md5 | 0 .../classout___modbus__inherit__graph.pdf | Bin .../latex/classout___motor.eps | 0 .../latex/classout___motor.tex | 0 .../latex/classout___motor__coll__graph.md5 | 0 .../latex/classout___motor__coll__graph.pdf | Bin .../classout___motor__inherit__graph.md5 | 0 .../classout___motor__inherit__graph.pdf | Bin .../latex/classout___multivent.eps | 0 .../latex/classout___multivent.tex | 0 .../latex/classout___s_p_i_led.eps | 0 .../latex/classout___s_p_i_led.tex | 0 .../classout___s_p_i_led__coll__graph.md5 | 0 .../classout___s_p_i_led__coll__graph.pdf | Bin .../classout___s_p_i_led__inherit__graph.md5 | 0 .../classout___s_p_i_led__inherit__graph.pdf | Bin .../latex/classout__dmx.eps | 0 .../latex/classout__dmx.tex | 0 .../latex/classout__dmx__coll__graph.md5 | 0 .../latex/classout__dmx__coll__graph.pdf | Bin .../latex/classout__dmx__inherit__graph.md5 | 0 .../latex/classout__dmx__inherit__graph.pdf | Bin .../latex/classout__pid.eps | 0 .../latex/classout__pid.tex | 0 .../latex/classout__pwm.eps | 0 .../latex/classout__pwm.tex | 0 .../latex/classout__pwm__coll__graph.md5 | 0 .../latex/classout__pwm__coll__graph.pdf | Bin .../latex/classout__pwm__inherit__graph.md5 | 0 .../latex/classout__pwm__inherit__graph.pdf | Bin .../latex/classout__relay.eps | 0 .../latex/classout__relay.tex | 0 .../latex/classpid_persistent.eps | 0 .../latex/classpid_persistent.tex | 0 .../latex/classread_cache.tex | 0 .../latex/classseekable_stream.eps | 0 .../latex/classseekable_stream.tex | 0 .../latex/classstatus_l_e_d.tex | 0 .../latex/classsystem_config.tex | 0 .../latex/colorchannel_8cpp.tex | 0 .../latex/colorchannel_8cpp__incl.md5 | 0 .../latex/colorchannel_8cpp__incl.pdf | Bin .../latex/colorchannel_8h.tex | 0 .../latex/colorchannel_8h__dep__incl.md5 | 0 .../latex/colorchannel_8h__dep__incl.pdf | Bin .../latex/colorchannel_8h__incl.md5 | 0 .../latex/colorchannel_8h__incl.pdf | Bin {docs => doxygen-docs}/latex/config_8cpp.tex | 0 {docs => doxygen-docs}/latex/config_8h.tex | 0 .../dir_82d7c1f210290ade9e0671f857ad27e3.tex | 0 ...r_82d7c1f210290ade9e0671f857ad27e3_dep.md5 | 0 ...r_82d7c1f210290ade9e0671f857ad27e3_dep.pdf | Bin .../dir_a26efa385a8243117251e7dce4d75390.tex | 0 ...r_a26efa385a8243117251e7dce4d75390_dep.md5 | 0 ...r_a26efa385a8243117251e7dce4d75390_dep.pdf | Bin .../dir_e05d7e2b1ecd646af5bb94391405f3b5.tex | 0 {docs => doxygen-docs}/latex/dmx_8cpp.tex | 0 .../latex/dmx_8cpp__incl.md5 | 0 .../latex/dmx_8cpp__incl.pdf | Bin {docs => doxygen-docs}/latex/dmx_8h.tex | 0 .../latex/dmx_8h__dep__incl.md5 | 0 .../latex/dmx_8h__dep__incl.pdf | Bin {docs => doxygen-docs}/latex/dmx_8h__incl.md5 | 0 {docs => doxygen-docs}/latex/dmx_8h__incl.pdf | Bin {docs => doxygen-docs}/latex/doxygen.sty | 0 {docs => doxygen-docs}/latex/files.tex | 0 .../latex/flashstream_8cpp.tex | 0 .../latex/flashstream_8h.tex | 0 {docs => doxygen-docs}/latex/hierarchy.tex | 0 .../latex/in__ccs811__hdc1080_8cpp.tex | 0 .../latex/in__ccs811__hdc1080_8cpp__incl.md5 | 0 .../latex/in__ccs811__hdc1080_8cpp__incl.pdf | Bin .../latex/in__ccs811__hdc1080_8h.tex | 0 .../in__ccs811__hdc1080_8h__dep__incl.md5 | 0 .../in__ccs811__hdc1080_8h__dep__incl.pdf | Bin .../latex/in__ccs811__hdc1080_8h__incl.md5 | 0 .../latex/in__ccs811__hdc1080_8h__incl.pdf | Bin {docs => doxygen-docs}/latex/inputs_8cpp.tex | 0 .../latex/inputs_8cpp__incl.md5 | 0 .../latex/inputs_8cpp__incl.pdf | Bin {docs => doxygen-docs}/latex/inputs_8h.tex | 0 .../latex/inputs_8h__dep__incl.md5 | 0 .../latex/inputs_8h__dep__incl.pdf | Bin .../latex/inputs_8h__incl.md5 | 0 .../latex/inputs_8h__incl.pdf | Bin {docs => doxygen-docs}/latex/item_8cpp.tex | 0 .../latex/item_8cpp__incl.md5 | 0 .../latex/item_8cpp__incl.pdf | Bin {docs => doxygen-docs}/latex/item_8h.tex | 0 .../latex/item_8h__dep__incl.md5 | 0 .../latex/item_8h__dep__incl.pdf | Bin .../latex/item_8h__incl.md5 | 0 .../latex/item_8h__incl.pdf | Bin .../latex/item_cmd_8cpp.tex | 0 .../latex/item_cmd_8cpp__incl.md5 | 0 .../latex/item_cmd_8cpp__incl.pdf | Bin {docs => doxygen-docs}/latex/item_cmd_8h.tex | 0 .../latex/item_cmd_8h__dep__incl.md5 | 0 .../latex/item_cmd_8h__dep__incl.pdf | Bin .../latex/item_cmd_8h__incl.md5 | 0 .../latex/item_cmd_8h__incl.pdf | Bin {docs => doxygen-docs}/latex/lh.png | Bin .../latex/longtable_doxygen.sty | 0 {docs => doxygen-docs}/latex/main_8cpp.tex | 0 .../latex/main_8cpp__incl.md5 | 0 .../latex/main_8cpp__incl.pdf | Bin {docs => doxygen-docs}/latex/main_8h.tex | 0 .../latex/main_8h__dep__incl.md5 | 0 .../latex/main_8h__dep__incl.pdf | Bin .../latex/main_8h__incl.md5 | 0 .../latex/main_8h__incl.pdf | Bin {docs => doxygen-docs}/latex/options_8h.tex | 0 .../latex/options_8h__dep__incl.md5 | 0 .../latex/options_8h__dep__incl.pdf | Bin {docs => doxygen-docs}/latex/out__ac_8cpp.tex | 0 .../latex/out__ac_8cpp__incl.md5 | 0 .../latex/out__ac_8cpp__incl.pdf | Bin {docs => doxygen-docs}/latex/out__ac_8h.tex | 0 .../latex/out__ac_8h__dep__incl.md5 | 0 .../latex/out__ac_8h__dep__incl.pdf | Bin .../latex/out__ac_8h__incl.md5 | 0 .../latex/out__ac_8h__incl.pdf | Bin .../latex/out__dmx_8cpp.tex | 0 .../latex/out__dmx_8cpp__incl.md5 | 0 .../latex/out__dmx_8cpp__incl.pdf | Bin {docs => doxygen-docs}/latex/out__dmx_8h.tex | 0 .../latex/out__dmx_8h__dep__incl.md5 | 0 .../latex/out__dmx_8h__dep__incl.pdf | Bin .../latex/out__dmx_8h__incl.md5 | 0 .../latex/out__dmx_8h__incl.pdf | Bin .../latex/out__elevator_8cpp.tex | 0 .../latex/out__elevator_8h.tex | 0 .../latex/out__modbus_8cpp.tex | 0 .../latex/out__modbus_8cpp__incl.md5 | 0 .../latex/out__modbus_8cpp__incl.pdf | Bin .../latex/out__modbus_8h.tex | 0 .../latex/out__modbus_8h__dep__incl.md5 | 0 .../latex/out__modbus_8h__dep__incl.pdf | Bin .../latex/out__modbus_8h__incl.md5 | 0 .../latex/out__modbus_8h__incl.pdf | Bin .../latex/out__motor_8cpp.tex | 0 .../latex/out__motor_8cpp__incl.md5 | 0 .../latex/out__motor_8cpp__incl.pdf | Bin .../latex/out__motor_8h.tex | 0 .../latex/out__motor_8h__dep__incl.md5 | 0 .../latex/out__motor_8h__dep__incl.pdf | Bin .../latex/out__motor_8h__incl.md5 | 0 .../latex/out__motor_8h__incl.pdf | Bin .../latex/out__multivent_8cpp.tex | 0 .../latex/out__multivent_8h.tex | 0 .../latex/out__pid_8cpp.tex | 0 {docs => doxygen-docs}/latex/out__pid_8h.tex | 0 .../latex/out__pwm_8cpp.tex | 0 .../latex/out__pwm_8cpp__incl.md5 | 0 .../latex/out__pwm_8cpp__incl.pdf | Bin {docs => doxygen-docs}/latex/out__pwm_8h.tex | 0 .../latex/out__pwm_8h__dep__incl.md5 | 0 .../latex/out__pwm_8h__dep__incl.pdf | Bin .../latex/out__pwm_8h__incl.md5 | 0 .../latex/out__pwm_8h__incl.pdf | Bin .../latex/out__relay_8cpp.tex | 0 .../latex/out__relay_8h.tex | 0 .../latex/out__spiled_8cpp.tex | 0 .../latex/out__spiled_8cpp__incl.md5 | 0 .../latex/out__spiled_8cpp__incl.pdf | Bin .../latex/out__spiled_8h.tex | 0 .../latex/out__spiled_8h__dep__incl.md5 | 0 .../latex/out__spiled_8h__dep__incl.pdf | Bin .../latex/out__spiled_8h__incl.md5 | 0 .../latex/out__spiled_8h__incl.pdf | Bin .../latex/out__uartbridge_8cpp.tex | 0 .../latex/out__uartbridge_8h.tex | 0 {docs => doxygen-docs}/latex/ow_term_8cpp.tex | 0 .../latex/ow_term_8cpp__incl.md5 | 0 .../latex/ow_term_8cpp__incl.pdf | Bin {docs => doxygen-docs}/latex/ow_term_8h.tex | 0 .../latex/ow_term_8h__dep__incl.md5 | 0 .../latex/ow_term_8h__dep__incl.pdf | Bin .../latex/ow_term_8h__incl.md5 | 0 .../latex/ow_term_8h__incl.pdf | Bin {docs => doxygen-docs}/latex/refman.tex | 0 .../latex/seekablestream_8h.tex | 0 .../latex/statusled_8cpp.tex | 0 .../latex/statusled_8cpp__incl.md5 | 0 .../latex/statusled_8cpp__incl.pdf | Bin {docs => doxygen-docs}/latex/statusled_8h.tex | 0 .../latex/statusled_8h__dep__incl.md5 | 0 .../latex/statusled_8h__dep__incl.pdf | Bin .../latex/statusled_8h__incl.md5 | 0 .../latex/statusled_8h__incl.pdf | Bin .../latex/streamlog_8cpp.tex | 0 .../latex/streamlog_8cpp__incl.md5 | 0 .../latex/streamlog_8cpp__incl.pdf | Bin {docs => doxygen-docs}/latex/streamlog_8h.tex | 0 .../latex/streamlog_8h__dep__incl.md5 | 0 .../latex/streamlog_8h__dep__incl.pdf | Bin .../latex/streamlog_8h__incl.md5 | 0 .../latex/streamlog_8h__incl.pdf | Bin {docs => doxygen-docs}/latex/structreg__t.tex | 0 .../latex/structserial__st.tex | 0 .../latex/structserial__t.tex | 0 .../latex/structsystem_config_data.tex | 0 .../latex/systemconfigdata_8h.tex | 0 {docs => doxygen-docs}/latex/tabu_doxygen.sty | 0 {docs => doxygen-docs}/latex/textconst_8h.tex | 0 .../latex/textconst_8h__dep__incl.md5 | 0 .../latex/textconst_8h__dep__incl.pdf | Bin {docs => doxygen-docs}/latex/union_u_i_d.tex | 0 .../latex/unionin_store.tex | 0 .../latex/unionitem_arg_store.tex | 0 .../latex/unionitem_cmd_store.tex | 0 .../latex/unionsystem_config_flags.tex | 0 .../latex/unionthermostat_store.tex | 0 {docs => doxygen-docs}/latex/utils_8cpp.tex | 0 .../latex/utils_8cpp__incl.md5 | 0 .../latex/utils_8cpp__incl.pdf | Bin {docs => doxygen-docs}/latex/utils_8h.tex | 0 .../latex/utils_8h__dep__incl.md5 | 0 .../latex/utils_8h__dep__incl.pdf | Bin .../latex/utils_8h__incl.md5 | 0 .../latex/utils_8h__incl.pdf | Bin {docs => doxygen-docs}/lh.png | Bin .../rtf/abstractch_8cpp__incl.md5 | 0 .../rtf/abstractch_8cpp__incl.png | Bin .../rtf/abstractch_8h__dep__incl.md5 | 0 .../rtf/abstractch_8h__dep__incl.png | Bin .../rtf/abstractch_8h__incl.md5 | 0 .../rtf/abstractch_8h__incl.png | Bin .../rtf/abstractin_8cpp__incl.md5 | 0 .../rtf/abstractin_8cpp__incl.png | Bin .../rtf/abstractin_8h__dep__incl.md5 | 0 .../rtf/abstractin_8h__dep__incl.png | Bin .../rtf/abstractin_8h__incl.md5 | 0 .../rtf/abstractin_8h__incl.png | Bin .../rtf/abstractout_8h__dep__incl.md5 | 0 .../rtf/abstractout_8h__dep__incl.png | Bin .../rtf/abstractout_8h__incl.md5 | 0 .../rtf/abstractout_8h__incl.png | Bin .../rtf/bright_8cpp__incl.md5 | 0 .../rtf/bright_8cpp__incl.png | Bin .../rtf/bright_8h__dep__incl.md5 | 0 .../rtf/bright_8h__dep__incl.png | Bin .../rtf/bright_8h__incl.md5 | 0 .../rtf/bright_8h__incl.png | Bin .../rtf/class_input__coll__graph.md5 | 0 .../rtf/class_input__coll__graph.png | Bin .../rtf/class_item__coll__graph.md5 | 0 .../rtf/class_item__coll__graph.png | Bin .../rtf/class_streamlog__coll__graph.md5 | 0 .../rtf/class_streamlog__coll__graph.png | Bin .../rtf/class_streamlog__inherit__graph.md5 | 0 .../rtf/class_streamlog__inherit__graph.png | Bin .../rtf/classabstract_ch__inherit__graph.md5 | 0 .../rtf/classabstract_ch__inherit__graph.png | Bin .../rtf/classabstract_in__coll__graph.md5 | 0 .../rtf/classabstract_in__coll__graph.png | Bin .../rtf/classabstract_in__inherit__graph.md5 | 0 .../rtf/classabstract_in__inherit__graph.png | Bin .../rtf/classabstract_out__coll__graph.md5 | 0 .../rtf/classabstract_out__coll__graph.png | Bin .../rtf/classabstract_out__inherit__graph.md5 | 0 .../rtf/classabstract_out__inherit__graph.png | Bin .../classch_persistent__inherit__graph.md5 | 0 .../classch_persistent__inherit__graph.png | Bin .../rtf/classcolor_channel__coll__graph.md5 | 0 .../rtf/classcolor_channel__coll__graph.png | Bin .../classcolor_channel__inherit__graph.md5 | 0 .../classcolor_channel__inherit__graph.png | Bin .../rtf/classin__ccs811__coll__graph.md5 | 0 .../rtf/classin__ccs811__coll__graph.png | Bin .../rtf/classin__ccs811__inherit__graph.md5 | 0 .../rtf/classin__ccs811__inherit__graph.png | Bin .../rtf/classin__hdc1080__coll__graph.md5 | 0 .../rtf/classin__hdc1080__coll__graph.png | Bin .../rtf/classin__hdc1080__inherit__graph.md5 | 0 .../rtf/classin__hdc1080__inherit__graph.png | Bin .../rtf/classitem_cmd__coll__graph.md5 | 0 .../rtf/classitem_cmd__coll__graph.png | Bin .../rtf/classmb_persistent__coll__graph.md5 | 0 .../rtf/classmb_persistent__coll__graph.png | Bin .../classmb_persistent__inherit__graph.md5 | 0 .../classmb_persistent__inherit__graph.png | Bin .../rtf/classout___a_c__coll__graph.md5 | 0 .../rtf/classout___a_c__coll__graph.png | Bin .../rtf/classout___a_c__inherit__graph.md5 | 0 .../rtf/classout___a_c__inherit__graph.png | Bin .../rtf/classout___modbus__coll__graph.md5 | 0 .../rtf/classout___modbus__coll__graph.png | Bin .../rtf/classout___modbus__inherit__graph.md5 | 0 .../rtf/classout___modbus__inherit__graph.png | Bin .../rtf/classout___motor__coll__graph.md5 | 0 .../rtf/classout___motor__coll__graph.png | Bin .../rtf/classout___motor__inherit__graph.md5 | 0 .../rtf/classout___motor__inherit__graph.png | Bin .../rtf/classout___s_p_i_led__coll__graph.md5 | 0 .../rtf/classout___s_p_i_led__coll__graph.png | Bin .../classout___s_p_i_led__inherit__graph.md5 | 0 .../classout___s_p_i_led__inherit__graph.png | Bin .../rtf/classout__dmx__coll__graph.md5 | 0 .../rtf/classout__dmx__coll__graph.png | Bin .../rtf/classout__dmx__inherit__graph.md5 | 0 .../rtf/classout__dmx__inherit__graph.png | Bin .../rtf/classout__pwm__coll__graph.md5 | 0 .../rtf/classout__pwm__coll__graph.png | Bin .../rtf/classout__pwm__inherit__graph.md5 | 0 .../rtf/classout__pwm__inherit__graph.png | Bin .../rtf/colorchannel_8cpp__incl.md5 | 0 .../rtf/colorchannel_8cpp__incl.png | Bin .../rtf/colorchannel_8h__dep__incl.md5 | 0 .../rtf/colorchannel_8h__dep__incl.png | Bin .../rtf/colorchannel_8h__incl.md5 | 0 .../rtf/colorchannel_8h__incl.png | Bin .../dir_82d7c1f210290ade9e0671f857ad27e3.rtf | 0 ...r_82d7c1f210290ade9e0671f857ad27e3_dep.md5 | 0 ...r_82d7c1f210290ade9e0671f857ad27e3_dep.png | Bin .../dir_a26efa385a8243117251e7dce4d75390.rtf | 0 ...r_a26efa385a8243117251e7dce4d75390_dep.md5 | 0 ...r_a26efa385a8243117251e7dce4d75390_dep.png | Bin {docs => doxygen-docs}/rtf/dmx_8cpp__incl.md5 | 0 {docs => doxygen-docs}/rtf/dmx_8cpp__incl.png | Bin .../rtf/dmx_8h__dep__incl.md5 | 0 .../rtf/dmx_8h__dep__incl.png | Bin {docs => doxygen-docs}/rtf/dmx_8h__incl.md5 | 0 {docs => doxygen-docs}/rtf/dmx_8h__incl.png | Bin .../rtf/in__ccs811__hdc1080_8cpp__incl.md5 | 0 .../rtf/in__ccs811__hdc1080_8cpp__incl.png | Bin .../rtf/in__ccs811__hdc1080_8h__dep__incl.md5 | 0 .../rtf/in__ccs811__hdc1080_8h__dep__incl.png | Bin .../rtf/in__ccs811__hdc1080_8h__incl.md5 | 0 .../rtf/in__ccs811__hdc1080_8h__incl.png | Bin .../rtf/inputs_8cpp__incl.md5 | 0 .../rtf/inputs_8cpp__incl.png | Bin .../rtf/inputs_8h__dep__incl.md5 | 0 .../rtf/inputs_8h__dep__incl.png | Bin .../rtf/inputs_8h__incl.md5 | 0 .../rtf/inputs_8h__incl.png | Bin .../rtf/item_8cpp__incl.md5 | 0 .../rtf/item_8cpp__incl.png | Bin .../rtf/item_8h__dep__incl.md5 | 0 .../rtf/item_8h__dep__incl.png | Bin {docs => doxygen-docs}/rtf/item_8h__incl.md5 | 0 {docs => doxygen-docs}/rtf/item_8h__incl.png | Bin .../rtf/item_cmd_8cpp__incl.md5 | 0 .../rtf/item_cmd_8cpp__incl.png | Bin .../rtf/item_cmd_8h__dep__incl.md5 | 0 .../rtf/item_cmd_8h__dep__incl.png | Bin .../rtf/item_cmd_8h__incl.md5 | 0 .../rtf/item_cmd_8h__incl.png | Bin {docs => doxygen-docs}/rtf/lh.png | Bin .../rtf/main_8cpp__incl.md5 | 0 .../rtf/main_8cpp__incl.png | Bin .../rtf/main_8h__dep__incl.md5 | 0 .../rtf/main_8h__dep__incl.png | Bin {docs => doxygen-docs}/rtf/main_8h__incl.md5 | 0 {docs => doxygen-docs}/rtf/main_8h__incl.png | Bin .../rtf/options_8h__dep__incl.md5 | 0 .../rtf/options_8h__dep__incl.png | Bin .../rtf/out__ac_8cpp__incl.md5 | 0 .../rtf/out__ac_8cpp__incl.png | Bin .../rtf/out__ac_8h__dep__incl.md5 | 0 .../rtf/out__ac_8h__dep__incl.png | Bin .../rtf/out__ac_8h__incl.md5 | 0 .../rtf/out__ac_8h__incl.png | Bin .../rtf/out__dmx_8cpp__incl.md5 | 0 .../rtf/out__dmx_8cpp__incl.png | Bin .../rtf/out__dmx_8h__dep__incl.md5 | 0 .../rtf/out__dmx_8h__dep__incl.png | Bin .../rtf/out__dmx_8h__incl.md5 | 0 .../rtf/out__dmx_8h__incl.png | Bin .../rtf/out__modbus_8cpp__incl.md5 | 0 .../rtf/out__modbus_8cpp__incl.png | Bin .../rtf/out__modbus_8h__dep__incl.md5 | 0 .../rtf/out__modbus_8h__dep__incl.png | Bin .../rtf/out__modbus_8h__incl.md5 | 0 .../rtf/out__modbus_8h__incl.png | Bin .../rtf/out__motor_8cpp__incl.md5 | 0 .../rtf/out__motor_8cpp__incl.png | Bin .../rtf/out__motor_8h__dep__incl.md5 | 0 .../rtf/out__motor_8h__dep__incl.png | Bin .../rtf/out__motor_8h__incl.md5 | 0 .../rtf/out__motor_8h__incl.png | Bin .../rtf/out__pwm_8cpp__incl.md5 | 0 .../rtf/out__pwm_8cpp__incl.png | Bin .../rtf/out__pwm_8h__dep__incl.md5 | 0 .../rtf/out__pwm_8h__dep__incl.png | Bin .../rtf/out__pwm_8h__incl.md5 | 0 .../rtf/out__pwm_8h__incl.png | Bin .../rtf/out__spiled_8cpp__incl.md5 | 0 .../rtf/out__spiled_8cpp__incl.png | Bin .../rtf/out__spiled_8h__dep__incl.md5 | 0 .../rtf/out__spiled_8h__dep__incl.png | Bin .../rtf/out__spiled_8h__incl.md5 | 0 .../rtf/out__spiled_8h__incl.png | Bin .../rtf/ow_term_8cpp__incl.md5 | 0 .../rtf/ow_term_8cpp__incl.png | Bin .../rtf/ow_term_8h__dep__incl.md5 | 0 .../rtf/ow_term_8h__dep__incl.png | Bin .../rtf/ow_term_8h__incl.md5 | 0 .../rtf/ow_term_8h__incl.png | Bin {docs => doxygen-docs}/rtf/refman.rtf | 0 .../rtf/statusled_8cpp__incl.md5 | 0 .../rtf/statusled_8cpp__incl.png | Bin .../rtf/statusled_8h__dep__incl.md5 | 0 .../rtf/statusled_8h__dep__incl.png | Bin .../rtf/statusled_8h__incl.md5 | 0 .../rtf/statusled_8h__incl.png | Bin .../rtf/streamlog_8cpp__incl.md5 | 0 .../rtf/streamlog_8cpp__incl.png | Bin .../rtf/streamlog_8h__dep__incl.md5 | 0 .../rtf/streamlog_8h__dep__incl.png | Bin .../rtf/streamlog_8h__incl.md5 | 0 .../rtf/streamlog_8h__incl.png | Bin .../rtf/textconst_8h__dep__incl.md5 | 0 .../rtf/textconst_8h__dep__incl.png | Bin .../rtf/utils_8cpp__incl.md5 | 0 .../rtf/utils_8cpp__incl.png | Bin .../rtf/utils_8h__dep__incl.md5 | 0 .../rtf/utils_8h__dep__incl.png | Bin {docs => doxygen-docs}/rtf/utils_8h__incl.md5 | 0 {docs => doxygen-docs}/rtf/utils_8h__incl.png | Bin lighthub/abstractch.cpp | 3 +- lighthub/modules/out_mercury.h | 2 +- lighthub/modules/out_sprinkler.cpp | 58 +- lighthub/modules/out_sprinkler.h | 7 +- 1557 files changed, 3281 insertions(+), 2870 deletions(-) create mode 100755 compiled/due/due4test.bin create mode 100755 compiled/due/firmware.bin.bin.good delete mode 100644 config/c4-3e-11-03-1b-1e.config.json delete mode 100644 config/de-ad-be-ef-fe-ed.config.json delete mode 100644 config/de-ad-be-ef-fe-ef.config.json delete mode 100644 data/config.json rename {docs => documentation}/LightHubAppDiagram.png (100%) rename {docs => doxygen-docs}/Doxyfile (100%) rename {docs => doxygen-docs}/html/abstractch_8cpp.html (100%) rename {docs => doxygen-docs}/html/abstractch_8cpp.js (100%) rename {docs => doxygen-docs}/html/abstractch_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/abstractch_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/abstractch_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/abstractch_8h.html (100%) rename {docs => doxygen-docs}/html/abstractch_8h.js (100%) rename {docs => doxygen-docs}/html/abstractch_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/abstractch_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/abstractch_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/abstractch_8h__incl.map (100%) rename {docs => doxygen-docs}/html/abstractch_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/abstractch_8h__incl.png (100%) rename {docs => doxygen-docs}/html/abstractch_8h_source.html (100%) rename {docs => doxygen-docs}/html/abstractin_8cpp.html (100%) rename {docs => doxygen-docs}/html/abstractin_8cpp.js (100%) rename {docs => doxygen-docs}/html/abstractin_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/abstractin_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/abstractin_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/abstractin_8h.html (100%) rename {docs => doxygen-docs}/html/abstractin_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/abstractin_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/abstractin_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/abstractin_8h__incl.map (100%) rename {docs => doxygen-docs}/html/abstractin_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/abstractin_8h__incl.png (100%) rename {docs => doxygen-docs}/html/abstractin_8h_source.html (100%) rename {docs => doxygen-docs}/html/abstractout_8cpp.html (100%) rename {docs => doxygen-docs}/html/abstractout_8h.html (100%) rename {docs => doxygen-docs}/html/abstractout_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/abstractout_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/abstractout_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/abstractout_8h__incl.map (100%) rename {docs => doxygen-docs}/html/abstractout_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/abstractout_8h__incl.png (100%) rename {docs => doxygen-docs}/html/abstractout_8h_source.html (100%) rename {docs => doxygen-docs}/html/annotated.html (100%) rename {docs => doxygen-docs}/html/annotated_dup.js (100%) rename {docs => doxygen-docs}/html/bc_s.png (100%) rename {docs => doxygen-docs}/html/bdwn.png (100%) rename {docs => doxygen-docs}/html/bright_8cpp.html (100%) rename {docs => doxygen-docs}/html/bright_8cpp.js (100%) rename {docs => doxygen-docs}/html/bright_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/bright_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/bright_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/bright_8h.html (100%) rename {docs => doxygen-docs}/html/bright_8h.js (100%) rename {docs => doxygen-docs}/html/bright_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/bright_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/bright_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/bright_8h__incl.map (100%) rename {docs => doxygen-docs}/html/bright_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/bright_8h__incl.png (100%) rename {docs => doxygen-docs}/html/bright_8h_source.html (100%) rename {docs => doxygen-docs}/html/class_input-members.html (100%) rename {docs => doxygen-docs}/html/class_input.html (100%) rename {docs => doxygen-docs}/html/class_input.js (100%) rename {docs => doxygen-docs}/html/class_input__coll__graph.map (100%) rename {docs => doxygen-docs}/html/class_input__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/class_input__coll__graph.png (100%) rename {docs => doxygen-docs}/html/class_item-members.html (100%) rename {docs => doxygen-docs}/html/class_item.html (100%) rename {docs => doxygen-docs}/html/class_item.js (100%) rename {docs => doxygen-docs}/html/class_item__coll__graph.map (100%) rename {docs => doxygen-docs}/html/class_item__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/class_item__coll__graph.png (100%) rename {docs => doxygen-docs}/html/class_status_l_e_d-members.html (100%) rename {docs => doxygen-docs}/html/class_status_l_e_d.html (100%) rename {docs => doxygen-docs}/html/class_status_l_e_d.js (100%) rename {docs => doxygen-docs}/html/class_streamlog-members.html (100%) rename {docs => doxygen-docs}/html/class_streamlog.html (100%) rename {docs => doxygen-docs}/html/class_streamlog.js (100%) rename {docs => doxygen-docs}/html/class_streamlog.png (100%) rename {docs => doxygen-docs}/html/class_streamlog__coll__graph.map (100%) rename {docs => doxygen-docs}/html/class_streamlog__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/class_streamlog__coll__graph.png (100%) rename {docs => doxygen-docs}/html/class_streamlog__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/class_streamlog__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/class_streamlog__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classabstract_ch-members.html (100%) rename {docs => doxygen-docs}/html/classabstract_ch.html (100%) rename {docs => doxygen-docs}/html/classabstract_ch.js (100%) rename {docs => doxygen-docs}/html/classabstract_ch.png (100%) rename {docs => doxygen-docs}/html/classabstract_ch__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/classabstract_ch__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/classabstract_ch__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classabstract_in-members.html (100%) rename {docs => doxygen-docs}/html/classabstract_in.html (100%) rename {docs => doxygen-docs}/html/classabstract_in.js (100%) rename {docs => doxygen-docs}/html/classabstract_in.png (100%) rename {docs => doxygen-docs}/html/classabstract_in__coll__graph.map (100%) rename {docs => doxygen-docs}/html/classabstract_in__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/classabstract_in__coll__graph.png (100%) rename {docs => doxygen-docs}/html/classabstract_in__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/classabstract_in__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/classabstract_in__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classabstract_out-members.html (100%) rename {docs => doxygen-docs}/html/classabstract_out.html (100%) rename {docs => doxygen-docs}/html/classabstract_out.js (100%) rename {docs => doxygen-docs}/html/classabstract_out.png (100%) rename {docs => doxygen-docs}/html/classabstract_out__coll__graph.map (100%) rename {docs => doxygen-docs}/html/classabstract_out__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/classabstract_out__coll__graph.png (100%) rename {docs => doxygen-docs}/html/classabstract_out__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/classabstract_out__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/classabstract_out__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classch_persistent.html (100%) rename {docs => doxygen-docs}/html/classch_persistent.png (100%) rename {docs => doxygen-docs}/html/classch_persistent__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/classch_persistent__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/classch_persistent__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classcolor_channel-members.html (100%) rename {docs => doxygen-docs}/html/classcolor_channel.html (100%) rename {docs => doxygen-docs}/html/classcolor_channel.js (100%) rename {docs => doxygen-docs}/html/classcolor_channel.png (100%) rename {docs => doxygen-docs}/html/classcolor_channel__coll__graph.map (100%) rename {docs => doxygen-docs}/html/classcolor_channel__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/classcolor_channel__coll__graph.png (100%) rename {docs => doxygen-docs}/html/classcolor_channel__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/classcolor_channel__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/classcolor_channel__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classes.html (100%) rename {docs => doxygen-docs}/html/classflash_stream-members.html (100%) rename {docs => doxygen-docs}/html/classflash_stream.html (100%) rename {docs => doxygen-docs}/html/classflash_stream.js (100%) rename {docs => doxygen-docs}/html/classflash_stream.png (100%) rename {docs => doxygen-docs}/html/classin__ccs811-members.html (100%) rename {docs => doxygen-docs}/html/classin__ccs811.html (100%) rename {docs => doxygen-docs}/html/classin__ccs811.js (100%) rename {docs => doxygen-docs}/html/classin__ccs811.png (100%) rename {docs => doxygen-docs}/html/classin__ccs811__coll__graph.map (100%) rename {docs => doxygen-docs}/html/classin__ccs811__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/classin__ccs811__coll__graph.png (100%) rename {docs => doxygen-docs}/html/classin__ccs811__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/classin__ccs811__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/classin__ccs811__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classin__hdc1080-members.html (100%) rename {docs => doxygen-docs}/html/classin__hdc1080.html (100%) rename {docs => doxygen-docs}/html/classin__hdc1080.js (100%) rename {docs => doxygen-docs}/html/classin__hdc1080.png (100%) rename {docs => doxygen-docs}/html/classin__hdc1080__coll__graph.map (100%) rename {docs => doxygen-docs}/html/classin__hdc1080__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/classin__hdc1080__coll__graph.png (100%) rename {docs => doxygen-docs}/html/classin__hdc1080__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/classin__hdc1080__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/classin__hdc1080__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classitem_cmd-members.html (100%) rename {docs => doxygen-docs}/html/classitem_cmd.html (100%) rename {docs => doxygen-docs}/html/classitem_cmd.js (100%) rename {docs => doxygen-docs}/html/classitem_cmd__coll__graph.map (100%) rename {docs => doxygen-docs}/html/classitem_cmd__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/classitem_cmd__coll__graph.png (100%) rename {docs => doxygen-docs}/html/classmb_persistent-members.html (100%) rename {docs => doxygen-docs}/html/classmb_persistent.html (100%) rename {docs => doxygen-docs}/html/classmb_persistent.js (100%) rename {docs => doxygen-docs}/html/classmb_persistent.png (100%) rename {docs => doxygen-docs}/html/classmb_persistent__coll__graph.map (100%) rename {docs => doxygen-docs}/html/classmb_persistent__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/classmb_persistent__coll__graph.png (100%) rename {docs => doxygen-docs}/html/classmb_persistent__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/classmb_persistent__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/classmb_persistent__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classout___a_c-members.html (100%) rename {docs => doxygen-docs}/html/classout___a_c.html (100%) rename {docs => doxygen-docs}/html/classout___a_c.js (100%) rename {docs => doxygen-docs}/html/classout___a_c.png (100%) rename {docs => doxygen-docs}/html/classout___a_c__coll__graph.map (100%) rename {docs => doxygen-docs}/html/classout___a_c__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/classout___a_c__coll__graph.png (100%) rename {docs => doxygen-docs}/html/classout___a_c__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/classout___a_c__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/classout___a_c__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classout___modbus-members.html (100%) rename {docs => doxygen-docs}/html/classout___modbus.html (100%) rename {docs => doxygen-docs}/html/classout___modbus.js (100%) rename {docs => doxygen-docs}/html/classout___modbus.png (100%) rename {docs => doxygen-docs}/html/classout___modbus__coll__graph.map (100%) rename {docs => doxygen-docs}/html/classout___modbus__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/classout___modbus__coll__graph.png (100%) rename {docs => doxygen-docs}/html/classout___modbus__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/classout___modbus__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/classout___modbus__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classout___motor-members.html (100%) rename {docs => doxygen-docs}/html/classout___motor.html (100%) rename {docs => doxygen-docs}/html/classout___motor.js (100%) rename {docs => doxygen-docs}/html/classout___motor.png (100%) rename {docs => doxygen-docs}/html/classout___motor__coll__graph.map (100%) rename {docs => doxygen-docs}/html/classout___motor__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/classout___motor__coll__graph.png (100%) rename {docs => doxygen-docs}/html/classout___motor__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/classout___motor__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/classout___motor__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classout___multivent-members.html (100%) rename {docs => doxygen-docs}/html/classout___multivent.html (100%) rename {docs => doxygen-docs}/html/classout___multivent.js (100%) rename {docs => doxygen-docs}/html/classout___multivent.png (100%) rename {docs => doxygen-docs}/html/classout___s_p_i_led-members.html (100%) rename {docs => doxygen-docs}/html/classout___s_p_i_led.html (100%) rename {docs => doxygen-docs}/html/classout___s_p_i_led.js (100%) rename {docs => doxygen-docs}/html/classout___s_p_i_led.png (100%) rename {docs => doxygen-docs}/html/classout___s_p_i_led__coll__graph.map (100%) rename {docs => doxygen-docs}/html/classout___s_p_i_led__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/classout___s_p_i_led__coll__graph.png (100%) rename {docs => doxygen-docs}/html/classout___s_p_i_led__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/classout___s_p_i_led__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/classout___s_p_i_led__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classout__dmx-members.html (100%) rename {docs => doxygen-docs}/html/classout__dmx.html (100%) rename {docs => doxygen-docs}/html/classout__dmx.js (100%) rename {docs => doxygen-docs}/html/classout__dmx.png (100%) rename {docs => doxygen-docs}/html/classout__dmx__coll__graph.map (100%) rename {docs => doxygen-docs}/html/classout__dmx__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/classout__dmx__coll__graph.png (100%) rename {docs => doxygen-docs}/html/classout__dmx__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/classout__dmx__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/classout__dmx__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classout__pid-members.html (100%) rename {docs => doxygen-docs}/html/classout__pid.html (100%) rename {docs => doxygen-docs}/html/classout__pid.js (100%) rename {docs => doxygen-docs}/html/classout__pid.png (100%) rename {docs => doxygen-docs}/html/classout__pwm-members.html (100%) rename {docs => doxygen-docs}/html/classout__pwm.html (100%) rename {docs => doxygen-docs}/html/classout__pwm.js (100%) rename {docs => doxygen-docs}/html/classout__pwm.png (100%) rename {docs => doxygen-docs}/html/classout__pwm__coll__graph.map (100%) rename {docs => doxygen-docs}/html/classout__pwm__coll__graph.md5 (100%) rename {docs => doxygen-docs}/html/classout__pwm__coll__graph.png (100%) rename {docs => doxygen-docs}/html/classout__pwm__inherit__graph.map (100%) rename {docs => doxygen-docs}/html/classout__pwm__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/html/classout__pwm__inherit__graph.png (100%) rename {docs => doxygen-docs}/html/classout__relay-members.html (100%) rename {docs => doxygen-docs}/html/classout__relay.html (100%) rename {docs => doxygen-docs}/html/classout__relay.js (100%) rename {docs => doxygen-docs}/html/classout__relay.png (100%) rename {docs => doxygen-docs}/html/classpid_persistent-members.html (100%) rename {docs => doxygen-docs}/html/classpid_persistent.html (100%) rename {docs => doxygen-docs}/html/classpid_persistent.js (100%) rename {docs => doxygen-docs}/html/classpid_persistent.png (100%) rename {docs => doxygen-docs}/html/classread_cache-members.html (100%) rename {docs => doxygen-docs}/html/classread_cache.html (100%) rename {docs => doxygen-docs}/html/classread_cache.js (100%) rename {docs => doxygen-docs}/html/classseekable_stream-members.html (100%) rename {docs => doxygen-docs}/html/classseekable_stream.html (100%) rename {docs => doxygen-docs}/html/classseekable_stream.js (100%) rename {docs => doxygen-docs}/html/classseekable_stream.png (100%) rename {docs => doxygen-docs}/html/classstatus_l_e_d-members.html (100%) rename {docs => doxygen-docs}/html/classstatus_l_e_d.html (100%) rename {docs => doxygen-docs}/html/classsystem_config-members.html (100%) rename {docs => doxygen-docs}/html/classsystem_config.html (100%) rename {docs => doxygen-docs}/html/classsystem_config.js (100%) rename {docs => doxygen-docs}/html/closed.png (100%) rename {docs => doxygen-docs}/html/colorchannel_8cpp.html (100%) rename {docs => doxygen-docs}/html/colorchannel_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/colorchannel_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/colorchannel_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/colorchannel_8h.html (100%) rename {docs => doxygen-docs}/html/colorchannel_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/colorchannel_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/colorchannel_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/colorchannel_8h__incl.map (100%) rename {docs => doxygen-docs}/html/colorchannel_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/colorchannel_8h__incl.png (100%) rename {docs => doxygen-docs}/html/colorchannel_8h_source.html (100%) rename {docs => doxygen-docs}/html/config_8cpp.html (100%) rename {docs => doxygen-docs}/html/config_8h.html (100%) rename {docs => doxygen-docs}/html/config_8h_source.html (100%) rename {docs => doxygen-docs}/html/dir_000000_000001.html (100%) rename {docs => doxygen-docs}/html/dir_82d7c1f210290ade9e0671f857ad27e3.html (100%) rename {docs => doxygen-docs}/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.map (100%) rename {docs => doxygen-docs}/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 (100%) rename {docs => doxygen-docs}/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.png (100%) rename {docs => doxygen-docs}/html/dir_a26efa385a8243117251e7dce4d75390.html (100%) rename {docs => doxygen-docs}/html/dir_a26efa385a8243117251e7dce4d75390_dep.map (100%) rename {docs => doxygen-docs}/html/dir_a26efa385a8243117251e7dce4d75390_dep.md5 (100%) rename {docs => doxygen-docs}/html/dir_a26efa385a8243117251e7dce4d75390_dep.png (100%) rename {docs => doxygen-docs}/html/dir_e05d7e2b1ecd646af5bb94391405f3b5.html (100%) rename {docs => doxygen-docs}/html/dir_e05d7e2b1ecd646af5bb94391405f3b5.js (100%) rename {docs => doxygen-docs}/html/dmx_8cpp.html (100%) rename {docs => doxygen-docs}/html/dmx_8cpp.js (100%) rename {docs => doxygen-docs}/html/dmx_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/dmx_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/dmx_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/dmx_8h.html (100%) rename {docs => doxygen-docs}/html/dmx_8h.js (100%) rename {docs => doxygen-docs}/html/dmx_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/dmx_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/dmx_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/dmx_8h__incl.map (100%) rename {docs => doxygen-docs}/html/dmx_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/dmx_8h__incl.png (100%) rename {docs => doxygen-docs}/html/dmx_8h_source.html (100%) rename {docs => doxygen-docs}/html/doc.png (100%) rename {docs => doxygen-docs}/html/doxygen.css (100%) rename {docs => doxygen-docs}/html/doxygen.svg (100%) rename {docs => doxygen-docs}/html/dynsections.js (100%) rename {docs => doxygen-docs}/html/files.html (100%) rename {docs => doxygen-docs}/html/files_dup.js (100%) rename {docs => doxygen-docs}/html/flashstream_8cpp.html (100%) rename {docs => doxygen-docs}/html/flashstream_8h.html (100%) rename {docs => doxygen-docs}/html/flashstream_8h.js (100%) rename {docs => doxygen-docs}/html/flashstream_8h_source.html (100%) rename {docs => doxygen-docs}/html/folderclosed.png (100%) rename {docs => doxygen-docs}/html/folderopen.png (100%) rename {docs => doxygen-docs}/html/functions.html (100%) rename {docs => doxygen-docs}/html/functions_b.html (100%) rename {docs => doxygen-docs}/html/functions_c.html (100%) rename {docs => doxygen-docs}/html/functions_d.html (100%) rename {docs => doxygen-docs}/html/functions_dup.js (100%) rename {docs => doxygen-docs}/html/functions_e.html (100%) rename {docs => doxygen-docs}/html/functions_f.html (100%) rename {docs => doxygen-docs}/html/functions_func.html (100%) rename {docs => doxygen-docs}/html/functions_func.js (100%) rename {docs => doxygen-docs}/html/functions_func_b.html (100%) rename {docs => doxygen-docs}/html/functions_func_c.html (100%) rename {docs => doxygen-docs}/html/functions_func_d.html (100%) rename {docs => doxygen-docs}/html/functions_func_e.html (100%) rename {docs => doxygen-docs}/html/functions_func_f.html (100%) rename {docs => doxygen-docs}/html/functions_func_g.html (100%) rename {docs => doxygen-docs}/html/functions_func_h.html (100%) rename {docs => doxygen-docs}/html/functions_func_i.html (100%) rename {docs => doxygen-docs}/html/functions_func_l.html (100%) rename {docs => doxygen-docs}/html/functions_func_m.html (100%) rename {docs => doxygen-docs}/html/functions_func_n.html (100%) rename {docs => doxygen-docs}/html/functions_func_o.html (100%) rename {docs => doxygen-docs}/html/functions_func_p.html (100%) rename {docs => doxygen-docs}/html/functions_func_r.html (100%) rename {docs => doxygen-docs}/html/functions_func_s.html (100%) rename {docs => doxygen-docs}/html/functions_func_t.html (100%) rename {docs => doxygen-docs}/html/functions_func_u.html (100%) rename {docs => doxygen-docs}/html/functions_func_v.html (100%) rename {docs => doxygen-docs}/html/functions_func_w.html (100%) rename {docs => doxygen-docs}/html/functions_func_~.html (100%) rename {docs => doxygen-docs}/html/functions_g.html (100%) rename {docs => doxygen-docs}/html/functions_h.html (100%) rename {docs => doxygen-docs}/html/functions_i.html (100%) rename {docs => doxygen-docs}/html/functions_l.html (100%) rename {docs => doxygen-docs}/html/functions_m.html (100%) rename {docs => doxygen-docs}/html/functions_n.html (100%) rename {docs => doxygen-docs}/html/functions_o.html (100%) rename {docs => doxygen-docs}/html/functions_p.html (100%) rename {docs => doxygen-docs}/html/functions_r.html (100%) rename {docs => doxygen-docs}/html/functions_s.html (100%) rename {docs => doxygen-docs}/html/functions_t.html (100%) rename {docs => doxygen-docs}/html/functions_u.html (100%) rename {docs => doxygen-docs}/html/functions_v.html (100%) rename {docs => doxygen-docs}/html/functions_vars.html (100%) rename {docs => doxygen-docs}/html/functions_w.html (100%) rename {docs => doxygen-docs}/html/functions_~.html (100%) rename {docs => doxygen-docs}/html/globals.html (100%) rename {docs => doxygen-docs}/html/globals_a.html (100%) rename {docs => doxygen-docs}/html/globals_b.html (100%) rename {docs => doxygen-docs}/html/globals_c.html (100%) rename {docs => doxygen-docs}/html/globals_d.html (100%) rename {docs => doxygen-docs}/html/globals_defs.html (100%) rename {docs => doxygen-docs}/html/globals_defs.js (100%) rename {docs => doxygen-docs}/html/globals_defs_a.html (100%) rename {docs => doxygen-docs}/html/globals_defs_b.html (100%) rename {docs => doxygen-docs}/html/globals_defs_c.html (100%) rename {docs => doxygen-docs}/html/globals_defs_d.html (100%) rename {docs => doxygen-docs}/html/globals_defs_e.html (100%) rename {docs => doxygen-docs}/html/globals_defs_f.html (100%) rename {docs => doxygen-docs}/html/globals_defs_h.html (100%) rename {docs => doxygen-docs}/html/globals_defs_i.html (100%) rename {docs => doxygen-docs}/html/globals_defs_l.html (100%) rename {docs => doxygen-docs}/html/globals_defs_m.html (100%) rename {docs => doxygen-docs}/html/globals_defs_n.html (100%) rename {docs => doxygen-docs}/html/globals_defs_o.html (100%) rename {docs => doxygen-docs}/html/globals_defs_p.html (100%) rename {docs => doxygen-docs}/html/globals_defs_q.html (100%) rename {docs => doxygen-docs}/html/globals_defs_r.html (100%) rename {docs => doxygen-docs}/html/globals_defs_s.html (100%) rename {docs => doxygen-docs}/html/globals_defs_t.html (100%) rename {docs => doxygen-docs}/html/globals_defs_u.html (100%) rename {docs => doxygen-docs}/html/globals_defs_v.html (100%) rename {docs => doxygen-docs}/html/globals_defs_w.html (100%) rename {docs => doxygen-docs}/html/globals_dup.js (100%) rename {docs => doxygen-docs}/html/globals_e.html (100%) rename {docs => doxygen-docs}/html/globals_enum.html (100%) rename {docs => doxygen-docs}/html/globals_eval.html (100%) rename {docs => doxygen-docs}/html/globals_f.html (100%) rename {docs => doxygen-docs}/html/globals_func.html (100%) rename {docs => doxygen-docs}/html/globals_g.html (100%) rename {docs => doxygen-docs}/html/globals_h.html (100%) rename {docs => doxygen-docs}/html/globals_i.html (100%) rename {docs => doxygen-docs}/html/globals_l.html (100%) rename {docs => doxygen-docs}/html/globals_m.html (100%) rename {docs => doxygen-docs}/html/globals_n.html (100%) rename {docs => doxygen-docs}/html/globals_o.html (100%) rename {docs => doxygen-docs}/html/globals_p.html (100%) rename {docs => doxygen-docs}/html/globals_q.html (100%) rename {docs => doxygen-docs}/html/globals_r.html (100%) rename {docs => doxygen-docs}/html/globals_s.html (100%) rename {docs => doxygen-docs}/html/globals_t.html (100%) rename {docs => doxygen-docs}/html/globals_type.html (100%) rename {docs => doxygen-docs}/html/globals_u.html (100%) rename {docs => doxygen-docs}/html/globals_v.html (100%) rename {docs => doxygen-docs}/html/globals_vars.html (100%) rename {docs => doxygen-docs}/html/globals_w.html (100%) rename {docs => doxygen-docs}/html/globals_z.html (100%) rename {docs => doxygen-docs}/html/graph_legend.html (100%) rename {docs => doxygen-docs}/html/graph_legend.md5 (100%) rename {docs => doxygen-docs}/html/graph_legend.png (100%) rename {docs => doxygen-docs}/html/hierarchy.html (100%) rename {docs => doxygen-docs}/html/hierarchy.js (100%) rename {docs => doxygen-docs}/html/in__ccs811__hdc1080_8cpp.html (100%) rename {docs => doxygen-docs}/html/in__ccs811__hdc1080_8cpp.js (100%) rename {docs => doxygen-docs}/html/in__ccs811__hdc1080_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/in__ccs811__hdc1080_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/in__ccs811__hdc1080_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/in__ccs811__hdc1080_8h.html (100%) rename {docs => doxygen-docs}/html/in__ccs811__hdc1080_8h.js (100%) rename {docs => doxygen-docs}/html/in__ccs811__hdc1080_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/in__ccs811__hdc1080_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/in__ccs811__hdc1080_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/in__ccs811__hdc1080_8h__incl.map (100%) rename {docs => doxygen-docs}/html/in__ccs811__hdc1080_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/in__ccs811__hdc1080_8h__incl.png (100%) rename {docs => doxygen-docs}/html/in__ccs811__hdc1080_8h_source.html (100%) rename {docs => doxygen-docs}/html/index.html (100%) rename {docs => doxygen-docs}/html/inherit_graph_0.map (100%) rename {docs => doxygen-docs}/html/inherit_graph_0.md5 (100%) rename {docs => doxygen-docs}/html/inherit_graph_0.png (100%) rename {docs => doxygen-docs}/html/inherit_graph_1.map (100%) rename {docs => doxygen-docs}/html/inherit_graph_1.md5 (100%) rename {docs => doxygen-docs}/html/inherit_graph_1.png (100%) rename {docs => doxygen-docs}/html/inherit_graph_10.map (100%) rename {docs => doxygen-docs}/html/inherit_graph_10.md5 (100%) rename {docs => doxygen-docs}/html/inherit_graph_10.png (100%) rename {docs => doxygen-docs}/html/inherit_graph_11.map (100%) rename {docs => doxygen-docs}/html/inherit_graph_11.md5 (100%) rename {docs => doxygen-docs}/html/inherit_graph_11.png (100%) rename {docs => doxygen-docs}/html/inherit_graph_12.map (100%) rename {docs => doxygen-docs}/html/inherit_graph_12.md5 (100%) rename {docs => doxygen-docs}/html/inherit_graph_12.png (100%) rename {docs => doxygen-docs}/html/inherit_graph_13.map (100%) rename {docs => doxygen-docs}/html/inherit_graph_13.md5 (100%) rename {docs => doxygen-docs}/html/inherit_graph_13.png (100%) rename {docs => doxygen-docs}/html/inherit_graph_2.map (100%) rename {docs => doxygen-docs}/html/inherit_graph_2.md5 (100%) rename {docs => doxygen-docs}/html/inherit_graph_2.png (100%) rename {docs => doxygen-docs}/html/inherit_graph_3.map (100%) rename {docs => doxygen-docs}/html/inherit_graph_3.md5 (100%) rename {docs => doxygen-docs}/html/inherit_graph_3.png (100%) rename {docs => doxygen-docs}/html/inherit_graph_4.map (100%) rename {docs => doxygen-docs}/html/inherit_graph_4.md5 (100%) rename {docs => doxygen-docs}/html/inherit_graph_4.png (100%) rename {docs => doxygen-docs}/html/inherit_graph_5.map (100%) rename {docs => doxygen-docs}/html/inherit_graph_5.md5 (100%) rename {docs => doxygen-docs}/html/inherit_graph_5.png (100%) rename {docs => doxygen-docs}/html/inherit_graph_6.map (100%) rename {docs => doxygen-docs}/html/inherit_graph_6.md5 (100%) rename {docs => doxygen-docs}/html/inherit_graph_6.png (100%) rename {docs => doxygen-docs}/html/inherit_graph_7.map (100%) rename {docs => doxygen-docs}/html/inherit_graph_7.md5 (100%) rename {docs => doxygen-docs}/html/inherit_graph_7.png (100%) rename {docs => doxygen-docs}/html/inherit_graph_8.map (100%) rename {docs => doxygen-docs}/html/inherit_graph_8.md5 (100%) rename {docs => doxygen-docs}/html/inherit_graph_8.png (100%) rename {docs => doxygen-docs}/html/inherit_graph_9.map (100%) rename {docs => doxygen-docs}/html/inherit_graph_9.md5 (100%) rename {docs => doxygen-docs}/html/inherit_graph_9.png (100%) rename {docs => doxygen-docs}/html/inherits.html (100%) rename {docs => doxygen-docs}/html/inputs_8cpp.html (100%) rename {docs => doxygen-docs}/html/inputs_8cpp.js (100%) rename {docs => doxygen-docs}/html/inputs_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/inputs_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/inputs_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/inputs_8h.html (100%) rename {docs => doxygen-docs}/html/inputs_8h.js (100%) rename {docs => doxygen-docs}/html/inputs_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/inputs_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/inputs_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/inputs_8h__incl.map (100%) rename {docs => doxygen-docs}/html/inputs_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/inputs_8h__incl.png (100%) rename {docs => doxygen-docs}/html/inputs_8h_source.html (100%) rename {docs => doxygen-docs}/html/item_8cpp.html (100%) rename {docs => doxygen-docs}/html/item_8cpp.js (100%) rename {docs => doxygen-docs}/html/item_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/item_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/item_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/item_8h.html (100%) rename {docs => doxygen-docs}/html/item_8h.js (100%) rename {docs => doxygen-docs}/html/item_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/item_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/item_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/item_8h__incl.map (100%) rename {docs => doxygen-docs}/html/item_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/item_8h__incl.png (100%) rename {docs => doxygen-docs}/html/item_8h_source.html (100%) rename {docs => doxygen-docs}/html/item_cmd_8cpp.html (100%) rename {docs => doxygen-docs}/html/item_cmd_8cpp.js (100%) rename {docs => doxygen-docs}/html/item_cmd_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/item_cmd_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/item_cmd_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/item_cmd_8h.html (100%) rename {docs => doxygen-docs}/html/item_cmd_8h.js (100%) rename {docs => doxygen-docs}/html/item_cmd_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/item_cmd_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/item_cmd_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/item_cmd_8h__incl.map (100%) rename {docs => doxygen-docs}/html/item_cmd_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/item_cmd_8h__incl.png (100%) rename {docs => doxygen-docs}/html/item_cmd_8h_source.html (100%) rename {docs => doxygen-docs}/html/jquery.js (100%) rename {docs => doxygen-docs}/html/lh.png (100%) rename {docs => doxygen-docs}/html/main_8cpp.html (100%) rename {docs => doxygen-docs}/html/main_8cpp.js (100%) rename {docs => doxygen-docs}/html/main_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/main_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/main_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/main_8h.html (100%) rename {docs => doxygen-docs}/html/main_8h.js (100%) rename {docs => doxygen-docs}/html/main_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/main_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/main_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/main_8h__incl.map (100%) rename {docs => doxygen-docs}/html/main_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/main_8h__incl.png (100%) rename {docs => doxygen-docs}/html/main_8h_source.html (100%) rename {docs => doxygen-docs}/html/menu.js (100%) rename {docs => doxygen-docs}/html/menudata.js (100%) rename {docs => doxygen-docs}/html/mkspiffs_espressif32_arduino.exe (100%) rename {docs => doxygen-docs}/html/mkspiffs_espressif8266_arduino.exe (100%) rename {docs => doxygen-docs}/html/nav_f.png (100%) rename {docs => doxygen-docs}/html/nav_g.png (100%) rename {docs => doxygen-docs}/html/nav_h.png (100%) rename {docs => doxygen-docs}/html/navtree.css (100%) rename {docs => doxygen-docs}/html/navtree.js (100%) rename {docs => doxygen-docs}/html/navtreedata.js (100%) rename {docs => doxygen-docs}/html/navtreeindex0.js (100%) rename {docs => doxygen-docs}/html/navtreeindex1.js (100%) rename {docs => doxygen-docs}/html/navtreeindex2.js (100%) rename {docs => doxygen-docs}/html/navtreeindex3.js (100%) rename {docs => doxygen-docs}/html/navtreeindex4.js (100%) rename {docs => doxygen-docs}/html/navtreeindex5.js (100%) rename {docs => doxygen-docs}/html/open.png (100%) rename {docs => doxygen-docs}/html/options_8h.html (100%) rename {docs => doxygen-docs}/html/options_8h.js (100%) rename {docs => doxygen-docs}/html/options_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/options_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/options_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/options_8h_source.html (100%) rename {docs => doxygen-docs}/html/out__ac_8cpp.html (100%) rename {docs => doxygen-docs}/html/out__ac_8cpp.js (100%) rename {docs => doxygen-docs}/html/out__ac_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/out__ac_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__ac_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/out__ac_8h.html (100%) rename {docs => doxygen-docs}/html/out__ac_8h.js (100%) rename {docs => doxygen-docs}/html/out__ac_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/out__ac_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__ac_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/out__ac_8h__incl.map (100%) rename {docs => doxygen-docs}/html/out__ac_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__ac_8h__incl.png (100%) rename {docs => doxygen-docs}/html/out__ac_8h_source.html (100%) rename {docs => doxygen-docs}/html/out__dmx_8cpp.html (100%) rename {docs => doxygen-docs}/html/out__dmx_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/out__dmx_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__dmx_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/out__dmx_8h.html (100%) rename {docs => doxygen-docs}/html/out__dmx_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/out__dmx_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__dmx_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/out__dmx_8h__incl.map (100%) rename {docs => doxygen-docs}/html/out__dmx_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__dmx_8h__incl.png (100%) rename {docs => doxygen-docs}/html/out__dmx_8h_source.html (100%) rename {docs => doxygen-docs}/html/out__elevator_8cpp.html (100%) rename {docs => doxygen-docs}/html/out__elevator_8h.html (100%) rename {docs => doxygen-docs}/html/out__elevator_8h_source.html (100%) rename {docs => doxygen-docs}/html/out__modbus_8cpp.html (100%) rename {docs => doxygen-docs}/html/out__modbus_8cpp.js (100%) rename {docs => doxygen-docs}/html/out__modbus_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/out__modbus_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__modbus_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/out__modbus_8h.html (100%) rename {docs => doxygen-docs}/html/out__modbus_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/out__modbus_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__modbus_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/out__modbus_8h__incl.map (100%) rename {docs => doxygen-docs}/html/out__modbus_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__modbus_8h__incl.png (100%) rename {docs => doxygen-docs}/html/out__modbus_8h_source.html (100%) rename {docs => doxygen-docs}/html/out__motor_8cpp.html (100%) rename {docs => doxygen-docs}/html/out__motor_8cpp.js (100%) rename {docs => doxygen-docs}/html/out__motor_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/out__motor_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__motor_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/out__motor_8h.html (100%) rename {docs => doxygen-docs}/html/out__motor_8h.js (100%) rename {docs => doxygen-docs}/html/out__motor_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/out__motor_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__motor_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/out__motor_8h__incl.map (100%) rename {docs => doxygen-docs}/html/out__motor_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__motor_8h__incl.png (100%) rename {docs => doxygen-docs}/html/out__motor_8h_source.html (100%) rename {docs => doxygen-docs}/html/out__multivent_8cpp.html (100%) rename {docs => doxygen-docs}/html/out__multivent_8h.html (100%) rename {docs => doxygen-docs}/html/out__multivent_8h_source.html (100%) rename {docs => doxygen-docs}/html/out__pid_8cpp.html (100%) rename {docs => doxygen-docs}/html/out__pid_8h.html (100%) rename {docs => doxygen-docs}/html/out__pid_8h.js (100%) rename {docs => doxygen-docs}/html/out__pid_8h_source.html (100%) rename {docs => doxygen-docs}/html/out__pwm_8cpp.html (100%) rename {docs => doxygen-docs}/html/out__pwm_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/out__pwm_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__pwm_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/out__pwm_8h.html (100%) rename {docs => doxygen-docs}/html/out__pwm_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/out__pwm_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__pwm_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/out__pwm_8h__incl.map (100%) rename {docs => doxygen-docs}/html/out__pwm_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__pwm_8h__incl.png (100%) rename {docs => doxygen-docs}/html/out__pwm_8h_source.html (100%) rename {docs => doxygen-docs}/html/out__relay_8cpp.html (100%) rename {docs => doxygen-docs}/html/out__relay_8cpp.js (100%) rename {docs => doxygen-docs}/html/out__relay_8h.html (100%) rename {docs => doxygen-docs}/html/out__relay_8h_source.html (100%) rename {docs => doxygen-docs}/html/out__spiled_8cpp.html (100%) rename {docs => doxygen-docs}/html/out__spiled_8cpp.js (100%) rename {docs => doxygen-docs}/html/out__spiled_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/out__spiled_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__spiled_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/out__spiled_8h.html (100%) rename {docs => doxygen-docs}/html/out__spiled_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/out__spiled_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__spiled_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/out__spiled_8h__incl.map (100%) rename {docs => doxygen-docs}/html/out__spiled_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/out__spiled_8h__incl.png (100%) rename {docs => doxygen-docs}/html/out__spiled_8h_source.html (100%) rename {docs => doxygen-docs}/html/out__uartbridge_8cpp.html (100%) rename {docs => doxygen-docs}/html/out__uartbridge_8h.html (100%) rename {docs => doxygen-docs}/html/out__uartbridge_8h_source.html (100%) rename {docs => doxygen-docs}/html/ow_term_8cpp.html (100%) rename {docs => doxygen-docs}/html/ow_term_8cpp.js (100%) rename {docs => doxygen-docs}/html/ow_term_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/ow_term_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/ow_term_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/ow_term_8h.html (100%) rename {docs => doxygen-docs}/html/ow_term_8h.js (100%) rename {docs => doxygen-docs}/html/ow_term_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/ow_term_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/ow_term_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/ow_term_8h__incl.map (100%) rename {docs => doxygen-docs}/html/ow_term_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/ow_term_8h__incl.png (100%) rename {docs => doxygen-docs}/html/ow_term_8h_source.html (100%) rename {docs => doxygen-docs}/html/resize.js (100%) rename {docs => doxygen-docs}/html/search/all_0.html (100%) rename {docs => doxygen-docs}/html/search/all_0.js (100%) rename {docs => doxygen-docs}/html/search/all_1.html (100%) rename {docs => doxygen-docs}/html/search/all_1.js (100%) rename {docs => doxygen-docs}/html/search/all_10.html (100%) rename {docs => doxygen-docs}/html/search/all_10.js (100%) rename {docs => doxygen-docs}/html/search/all_11.html (100%) rename {docs => doxygen-docs}/html/search/all_11.js (100%) rename {docs => doxygen-docs}/html/search/all_12.html (100%) rename {docs => doxygen-docs}/html/search/all_12.js (100%) rename {docs => doxygen-docs}/html/search/all_13.html (100%) rename {docs => doxygen-docs}/html/search/all_13.js (100%) rename {docs => doxygen-docs}/html/search/all_14.html (100%) rename {docs => doxygen-docs}/html/search/all_14.js (100%) rename {docs => doxygen-docs}/html/search/all_15.html (100%) rename {docs => doxygen-docs}/html/search/all_15.js (100%) rename {docs => doxygen-docs}/html/search/all_16.html (100%) rename {docs => doxygen-docs}/html/search/all_16.js (100%) rename {docs => doxygen-docs}/html/search/all_17.html (100%) rename {docs => doxygen-docs}/html/search/all_17.js (100%) rename {docs => doxygen-docs}/html/search/all_2.html (100%) rename {docs => doxygen-docs}/html/search/all_2.js (100%) rename {docs => doxygen-docs}/html/search/all_3.html (100%) rename {docs => doxygen-docs}/html/search/all_3.js (100%) rename {docs => doxygen-docs}/html/search/all_4.html (100%) rename {docs => doxygen-docs}/html/search/all_4.js (100%) rename {docs => doxygen-docs}/html/search/all_5.html (100%) rename {docs => doxygen-docs}/html/search/all_5.js (100%) rename {docs => doxygen-docs}/html/search/all_6.html (100%) rename {docs => doxygen-docs}/html/search/all_6.js (100%) rename {docs => doxygen-docs}/html/search/all_7.html (100%) rename {docs => doxygen-docs}/html/search/all_7.js (100%) rename {docs => doxygen-docs}/html/search/all_8.html (100%) rename {docs => doxygen-docs}/html/search/all_8.js (100%) rename {docs => doxygen-docs}/html/search/all_9.html (100%) rename {docs => doxygen-docs}/html/search/all_9.js (100%) rename {docs => doxygen-docs}/html/search/all_a.html (100%) rename {docs => doxygen-docs}/html/search/all_a.js (100%) rename {docs => doxygen-docs}/html/search/all_b.html (100%) rename {docs => doxygen-docs}/html/search/all_b.js (100%) rename {docs => doxygen-docs}/html/search/all_c.html (100%) rename {docs => doxygen-docs}/html/search/all_c.js (100%) rename {docs => doxygen-docs}/html/search/all_d.html (100%) rename {docs => doxygen-docs}/html/search/all_d.js (100%) rename {docs => doxygen-docs}/html/search/all_e.html (100%) rename {docs => doxygen-docs}/html/search/all_e.js (100%) rename {docs => doxygen-docs}/html/search/all_f.html (100%) rename {docs => doxygen-docs}/html/search/all_f.js (100%) rename {docs => doxygen-docs}/html/search/classes_0.html (100%) rename {docs => doxygen-docs}/html/search/classes_0.js (100%) rename {docs => doxygen-docs}/html/search/classes_1.html (100%) rename {docs => doxygen-docs}/html/search/classes_1.js (100%) rename {docs => doxygen-docs}/html/search/classes_2.html (100%) rename {docs => doxygen-docs}/html/search/classes_2.js (100%) rename {docs => doxygen-docs}/html/search/classes_3.html (100%) rename {docs => doxygen-docs}/html/search/classes_3.js (100%) rename {docs => doxygen-docs}/html/search/classes_4.html (100%) rename {docs => doxygen-docs}/html/search/classes_4.js (100%) rename {docs => doxygen-docs}/html/search/classes_5.html (100%) rename {docs => doxygen-docs}/html/search/classes_5.js (100%) rename {docs => doxygen-docs}/html/search/classes_6.html (100%) rename {docs => doxygen-docs}/html/search/classes_6.js (100%) rename {docs => doxygen-docs}/html/search/classes_7.html (100%) rename {docs => doxygen-docs}/html/search/classes_7.js (100%) rename {docs => doxygen-docs}/html/search/classes_8.html (100%) rename {docs => doxygen-docs}/html/search/classes_8.js (100%) rename {docs => doxygen-docs}/html/search/classes_9.html (100%) rename {docs => doxygen-docs}/html/search/classes_9.js (100%) rename {docs => doxygen-docs}/html/search/classes_a.html (100%) rename {docs => doxygen-docs}/html/search/classes_a.js (100%) rename {docs => doxygen-docs}/html/search/close.svg (100%) rename {docs => doxygen-docs}/html/search/defines_0.html (100%) rename {docs => doxygen-docs}/html/search/defines_0.js (100%) rename {docs => doxygen-docs}/html/search/defines_1.html (100%) rename {docs => doxygen-docs}/html/search/defines_1.js (100%) rename {docs => doxygen-docs}/html/search/defines_10.html (100%) rename {docs => doxygen-docs}/html/search/defines_10.js (100%) rename {docs => doxygen-docs}/html/search/defines_11.html (100%) rename {docs => doxygen-docs}/html/search/defines_11.js (100%) rename {docs => doxygen-docs}/html/search/defines_12.html (100%) rename {docs => doxygen-docs}/html/search/defines_12.js (100%) rename {docs => doxygen-docs}/html/search/defines_13.html (100%) rename {docs => doxygen-docs}/html/search/defines_13.js (100%) rename {docs => doxygen-docs}/html/search/defines_14.html (100%) rename {docs => doxygen-docs}/html/search/defines_14.js (100%) rename {docs => doxygen-docs}/html/search/defines_2.html (100%) rename {docs => doxygen-docs}/html/search/defines_2.js (100%) rename {docs => doxygen-docs}/html/search/defines_3.html (100%) rename {docs => doxygen-docs}/html/search/defines_3.js (100%) rename {docs => doxygen-docs}/html/search/defines_4.html (100%) rename {docs => doxygen-docs}/html/search/defines_4.js (100%) rename {docs => doxygen-docs}/html/search/defines_5.html (100%) rename {docs => doxygen-docs}/html/search/defines_5.js (100%) rename {docs => doxygen-docs}/html/search/defines_6.html (100%) rename {docs => doxygen-docs}/html/search/defines_6.js (100%) rename {docs => doxygen-docs}/html/search/defines_7.html (100%) rename {docs => doxygen-docs}/html/search/defines_7.js (100%) rename {docs => doxygen-docs}/html/search/defines_8.html (100%) rename {docs => doxygen-docs}/html/search/defines_8.js (100%) rename {docs => doxygen-docs}/html/search/defines_9.html (100%) rename {docs => doxygen-docs}/html/search/defines_9.js (100%) rename {docs => doxygen-docs}/html/search/defines_a.html (100%) rename {docs => doxygen-docs}/html/search/defines_a.js (100%) rename {docs => doxygen-docs}/html/search/defines_b.html (100%) rename {docs => doxygen-docs}/html/search/defines_b.js (100%) rename {docs => doxygen-docs}/html/search/defines_c.html (100%) rename {docs => doxygen-docs}/html/search/defines_c.js (100%) rename {docs => doxygen-docs}/html/search/defines_d.html (100%) rename {docs => doxygen-docs}/html/search/defines_d.js (100%) rename {docs => doxygen-docs}/html/search/defines_e.html (100%) rename {docs => doxygen-docs}/html/search/defines_e.js (100%) rename {docs => doxygen-docs}/html/search/defines_f.html (100%) rename {docs => doxygen-docs}/html/search/defines_f.js (100%) rename {docs => doxygen-docs}/html/search/enums_0.html (100%) rename {docs => doxygen-docs}/html/search/enums_0.js (100%) rename {docs => doxygen-docs}/html/search/enums_1.html (100%) rename {docs => doxygen-docs}/html/search/enums_1.js (100%) rename {docs => doxygen-docs}/html/search/enums_2.html (100%) rename {docs => doxygen-docs}/html/search/enums_2.js (100%) rename {docs => doxygen-docs}/html/search/enumvalues_0.html (100%) rename {docs => doxygen-docs}/html/search/enumvalues_0.js (100%) rename {docs => doxygen-docs}/html/search/enumvalues_1.html (100%) rename {docs => doxygen-docs}/html/search/enumvalues_1.js (100%) rename {docs => doxygen-docs}/html/search/enumvalues_2.html (100%) rename {docs => doxygen-docs}/html/search/enumvalues_2.js (100%) rename {docs => doxygen-docs}/html/search/enumvalues_3.html (100%) rename {docs => doxygen-docs}/html/search/enumvalues_3.js (100%) rename {docs => doxygen-docs}/html/search/enumvalues_4.html (100%) rename {docs => doxygen-docs}/html/search/enumvalues_4.js (100%) rename {docs => doxygen-docs}/html/search/enumvalues_5.html (100%) rename {docs => doxygen-docs}/html/search/enumvalues_5.js (100%) rename {docs => doxygen-docs}/html/search/enumvalues_6.html (100%) rename {docs => doxygen-docs}/html/search/enumvalues_6.js (100%) rename {docs => doxygen-docs}/html/search/enumvalues_7.html (100%) rename {docs => doxygen-docs}/html/search/enumvalues_7.js (100%) rename {docs => doxygen-docs}/html/search/files_0.html (100%) rename {docs => doxygen-docs}/html/search/files_0.js (100%) rename {docs => doxygen-docs}/html/search/files_1.html (100%) rename {docs => doxygen-docs}/html/search/files_1.js (100%) rename {docs => doxygen-docs}/html/search/files_2.html (100%) rename {docs => doxygen-docs}/html/search/files_2.js (100%) rename {docs => doxygen-docs}/html/search/files_3.html (100%) rename {docs => doxygen-docs}/html/search/files_3.js (100%) rename {docs => doxygen-docs}/html/search/files_4.html (100%) rename {docs => doxygen-docs}/html/search/files_4.js (100%) rename {docs => doxygen-docs}/html/search/files_5.html (100%) rename {docs => doxygen-docs}/html/search/files_5.js (100%) rename {docs => doxygen-docs}/html/search/files_6.html (100%) rename {docs => doxygen-docs}/html/search/files_6.js (100%) rename {docs => doxygen-docs}/html/search/files_7.html (100%) rename {docs => doxygen-docs}/html/search/files_7.js (100%) rename {docs => doxygen-docs}/html/search/files_8.html (100%) rename {docs => doxygen-docs}/html/search/files_8.js (100%) rename {docs => doxygen-docs}/html/search/files_9.html (100%) rename {docs => doxygen-docs}/html/search/files_9.js (100%) rename {docs => doxygen-docs}/html/search/files_a.html (100%) rename {docs => doxygen-docs}/html/search/files_a.js (100%) rename {docs => doxygen-docs}/html/search/firmware.bin (100%) rename {docs => doxygen-docs}/html/search/functions_0.html (100%) rename {docs => doxygen-docs}/html/search/functions_0.js (100%) rename {docs => doxygen-docs}/html/search/functions_1.html (100%) rename {docs => doxygen-docs}/html/search/functions_1.js (100%) rename {docs => doxygen-docs}/html/search/functions_10.html (100%) rename {docs => doxygen-docs}/html/search/functions_10.js (100%) rename {docs => doxygen-docs}/html/search/functions_11.html (100%) rename {docs => doxygen-docs}/html/search/functions_11.js (100%) rename {docs => doxygen-docs}/html/search/functions_12.html (100%) rename {docs => doxygen-docs}/html/search/functions_12.js (100%) rename {docs => doxygen-docs}/html/search/functions_13.html (100%) rename {docs => doxygen-docs}/html/search/functions_13.js (100%) rename {docs => doxygen-docs}/html/search/functions_14.html (100%) rename {docs => doxygen-docs}/html/search/functions_14.js (100%) rename {docs => doxygen-docs}/html/search/functions_15.html (100%) rename {docs => doxygen-docs}/html/search/functions_15.js (100%) rename {docs => doxygen-docs}/html/search/functions_16.html (100%) rename {docs => doxygen-docs}/html/search/functions_16.js (100%) rename {docs => doxygen-docs}/html/search/functions_2.html (100%) rename {docs => doxygen-docs}/html/search/functions_2.js (100%) rename {docs => doxygen-docs}/html/search/functions_3.html (100%) rename {docs => doxygen-docs}/html/search/functions_3.js (100%) rename {docs => doxygen-docs}/html/search/functions_4.html (100%) rename {docs => doxygen-docs}/html/search/functions_4.js (100%) rename {docs => doxygen-docs}/html/search/functions_5.html (100%) rename {docs => doxygen-docs}/html/search/functions_5.js (100%) rename {docs => doxygen-docs}/html/search/functions_6.html (100%) rename {docs => doxygen-docs}/html/search/functions_6.js (100%) rename {docs => doxygen-docs}/html/search/functions_7.html (100%) rename {docs => doxygen-docs}/html/search/functions_7.js (100%) rename {docs => doxygen-docs}/html/search/functions_8.html (100%) rename {docs => doxygen-docs}/html/search/functions_8.js (100%) rename {docs => doxygen-docs}/html/search/functions_9.html (100%) rename {docs => doxygen-docs}/html/search/functions_9.js (100%) rename {docs => doxygen-docs}/html/search/functions_a.html (100%) rename {docs => doxygen-docs}/html/search/functions_a.js (100%) rename {docs => doxygen-docs}/html/search/functions_b.html (100%) rename {docs => doxygen-docs}/html/search/functions_b.js (100%) rename {docs => doxygen-docs}/html/search/functions_c.html (100%) rename {docs => doxygen-docs}/html/search/functions_c.js (100%) rename {docs => doxygen-docs}/html/search/functions_d.html (100%) rename {docs => doxygen-docs}/html/search/functions_d.js (100%) rename {docs => doxygen-docs}/html/search/functions_e.html (100%) rename {docs => doxygen-docs}/html/search/functions_e.js (100%) rename {docs => doxygen-docs}/html/search/functions_f.html (100%) rename {docs => doxygen-docs}/html/search/functions_f.js (100%) rename {docs => doxygen-docs}/html/search/mag_sel.svg (100%) rename {docs => doxygen-docs}/html/search/nomatches.html (100%) rename {docs => doxygen-docs}/html/search/search.css (100%) rename {docs => doxygen-docs}/html/search/search.js (100%) rename {docs => doxygen-docs}/html/search/search_l.png (100%) rename {docs => doxygen-docs}/html/search/search_m.png (100%) rename {docs => doxygen-docs}/html/search/search_r.png (100%) rename {docs => doxygen-docs}/html/search/searchdata.js (100%) rename {docs => doxygen-docs}/html/search/typedefs_0.html (100%) rename {docs => doxygen-docs}/html/search/typedefs_0.js (100%) rename {docs => doxygen-docs}/html/search/typedefs_1.html (100%) rename {docs => doxygen-docs}/html/search/typedefs_1.js (100%) rename {docs => doxygen-docs}/html/search/typedefs_2.html (100%) rename {docs => doxygen-docs}/html/search/typedefs_2.js (100%) rename {docs => doxygen-docs}/html/search/typedefs_3.html (100%) rename {docs => doxygen-docs}/html/search/typedefs_3.js (100%) rename {docs => doxygen-docs}/html/search/upload.bat (100%) rename {docs => doxygen-docs}/html/search/upload.sh (100%) rename {docs => doxygen-docs}/html/search/variables_0.html (100%) rename {docs => doxygen-docs}/html/search/variables_0.js (100%) rename {docs => doxygen-docs}/html/search/variables_1.html (100%) rename {docs => doxygen-docs}/html/search/variables_1.js (100%) rename {docs => doxygen-docs}/html/search/variables_10.html (100%) rename {docs => doxygen-docs}/html/search/variables_10.js (100%) rename {docs => doxygen-docs}/html/search/variables_11.html (100%) rename {docs => doxygen-docs}/html/search/variables_11.js (100%) rename {docs => doxygen-docs}/html/search/variables_12.html (100%) rename {docs => doxygen-docs}/html/search/variables_12.js (100%) rename {docs => doxygen-docs}/html/search/variables_13.html (100%) rename {docs => doxygen-docs}/html/search/variables_13.js (100%) rename {docs => doxygen-docs}/html/search/variables_14.html (100%) rename {docs => doxygen-docs}/html/search/variables_14.js (100%) rename {docs => doxygen-docs}/html/search/variables_2.html (100%) rename {docs => doxygen-docs}/html/search/variables_2.js (100%) rename {docs => doxygen-docs}/html/search/variables_3.html (100%) rename {docs => doxygen-docs}/html/search/variables_3.js (100%) rename {docs => doxygen-docs}/html/search/variables_4.html (100%) rename {docs => doxygen-docs}/html/search/variables_4.js (100%) rename {docs => doxygen-docs}/html/search/variables_5.html (100%) rename {docs => doxygen-docs}/html/search/variables_5.js (100%) rename {docs => doxygen-docs}/html/search/variables_6.html (100%) rename {docs => doxygen-docs}/html/search/variables_6.js (100%) rename {docs => doxygen-docs}/html/search/variables_7.html (100%) rename {docs => doxygen-docs}/html/search/variables_7.js (100%) rename {docs => doxygen-docs}/html/search/variables_8.html (100%) rename {docs => doxygen-docs}/html/search/variables_8.js (100%) rename {docs => doxygen-docs}/html/search/variables_9.html (100%) rename {docs => doxygen-docs}/html/search/variables_9.js (100%) rename {docs => doxygen-docs}/html/search/variables_a.html (100%) rename {docs => doxygen-docs}/html/search/variables_a.js (100%) rename {docs => doxygen-docs}/html/search/variables_b.html (100%) rename {docs => doxygen-docs}/html/search/variables_b.js (100%) rename {docs => doxygen-docs}/html/search/variables_c.html (100%) rename {docs => doxygen-docs}/html/search/variables_c.js (100%) rename {docs => doxygen-docs}/html/search/variables_d.html (100%) rename {docs => doxygen-docs}/html/search/variables_d.js (100%) rename {docs => doxygen-docs}/html/search/variables_e.html (100%) rename {docs => doxygen-docs}/html/search/variables_e.js (100%) rename {docs => doxygen-docs}/html/search/variables_f.html (100%) rename {docs => doxygen-docs}/html/search/variables_f.js (100%) rename {docs => doxygen-docs}/html/seekablestream_8h.html (100%) rename {docs => doxygen-docs}/html/seekablestream_8h.js (100%) rename {docs => doxygen-docs}/html/seekablestream_8h_source.html (100%) rename {docs => doxygen-docs}/html/splitbar.png (100%) rename {docs => doxygen-docs}/html/statusled_8cpp.html (100%) rename {docs => doxygen-docs}/html/statusled_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/statusled_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/statusled_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/statusled_8h.html (100%) rename {docs => doxygen-docs}/html/statusled_8h.js (100%) rename {docs => doxygen-docs}/html/statusled_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/statusled_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/statusled_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/statusled_8h__incl.map (100%) rename {docs => doxygen-docs}/html/statusled_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/statusled_8h__incl.png (100%) rename {docs => doxygen-docs}/html/statusled_8h_source.html (100%) rename {docs => doxygen-docs}/html/streamlog_8cpp.html (100%) rename {docs => doxygen-docs}/html/streamlog_8cpp.js (100%) rename {docs => doxygen-docs}/html/streamlog_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/streamlog_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/streamlog_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/streamlog_8h.html (100%) rename {docs => doxygen-docs}/html/streamlog_8h.js (100%) rename {docs => doxygen-docs}/html/streamlog_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/streamlog_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/streamlog_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/streamlog_8h__incl.map (100%) rename {docs => doxygen-docs}/html/streamlog_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/streamlog_8h__incl.png (100%) rename {docs => doxygen-docs}/html/streamlog_8h_source.html (100%) rename {docs => doxygen-docs}/html/structreg__t-members.html (100%) rename {docs => doxygen-docs}/html/structreg__t.html (100%) rename {docs => doxygen-docs}/html/structreg__t.js (100%) rename {docs => doxygen-docs}/html/structserial__st-members.html (100%) rename {docs => doxygen-docs}/html/structserial__st.html (100%) rename {docs => doxygen-docs}/html/structserial__st.js (100%) rename {docs => doxygen-docs}/html/structserial__t-members.html (100%) rename {docs => doxygen-docs}/html/structserial__t.html (100%) rename {docs => doxygen-docs}/html/structsystem_config_data-members.html (100%) rename {docs => doxygen-docs}/html/structsystem_config_data.html (100%) rename {docs => doxygen-docs}/html/structsystem_config_data.js (100%) rename {docs => doxygen-docs}/html/sync_off.png (100%) rename {docs => doxygen-docs}/html/sync_on.png (100%) rename {docs => doxygen-docs}/html/systemconfigdata_8h.html (100%) rename {docs => doxygen-docs}/html/systemconfigdata_8h.js (100%) rename {docs => doxygen-docs}/html/systemconfigdata_8h_source.html (100%) rename {docs => doxygen-docs}/html/tab_a.png (100%) rename {docs => doxygen-docs}/html/tab_b.png (100%) rename {docs => doxygen-docs}/html/tab_h.png (100%) rename {docs => doxygen-docs}/html/tab_s.png (100%) rename {docs => doxygen-docs}/html/tabs.css (100%) rename {docs => doxygen-docs}/html/textconst_8h.html (100%) rename {docs => doxygen-docs}/html/textconst_8h.js (100%) rename {docs => doxygen-docs}/html/textconst_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/textconst_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/textconst_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/textconst_8h_source.html (100%) rename {docs => doxygen-docs}/html/union_u_i_d-members.html (100%) rename {docs => doxygen-docs}/html/union_u_i_d.html (100%) rename {docs => doxygen-docs}/html/union_u_i_d.js (100%) rename {docs => doxygen-docs}/html/unionin_store-members.html (100%) rename {docs => doxygen-docs}/html/unionin_store.html (100%) rename {docs => doxygen-docs}/html/unionin_store.js (100%) rename {docs => doxygen-docs}/html/unionitem_arg_store-members.html (100%) rename {docs => doxygen-docs}/html/unionitem_arg_store.html (100%) rename {docs => doxygen-docs}/html/unionitem_arg_store.js (100%) rename {docs => doxygen-docs}/html/unionitem_cmd_store-members.html (100%) rename {docs => doxygen-docs}/html/unionitem_cmd_store.html (100%) rename {docs => doxygen-docs}/html/unionitem_cmd_store.js (100%) rename {docs => doxygen-docs}/html/unionsystem_config_flags-members.html (100%) rename {docs => doxygen-docs}/html/unionsystem_config_flags.html (100%) rename {docs => doxygen-docs}/html/unionsystem_config_flags.js (100%) rename {docs => doxygen-docs}/html/unionthermostat_store-members.html (100%) rename {docs => doxygen-docs}/html/unionthermostat_store.html (100%) rename {docs => doxygen-docs}/html/unionthermostat_store.js (100%) rename {docs => doxygen-docs}/html/utils_8cpp.html (100%) rename {docs => doxygen-docs}/html/utils_8cpp.js (100%) rename {docs => doxygen-docs}/html/utils_8cpp__incl.map (100%) rename {docs => doxygen-docs}/html/utils_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/html/utils_8cpp__incl.png (100%) rename {docs => doxygen-docs}/html/utils_8h.html (100%) rename {docs => doxygen-docs}/html/utils_8h.js (100%) rename {docs => doxygen-docs}/html/utils_8h__dep__incl.map (100%) rename {docs => doxygen-docs}/html/utils_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/html/utils_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/html/utils_8h__incl.map (100%) rename {docs => doxygen-docs}/html/utils_8h__incl.md5 (100%) rename {docs => doxygen-docs}/html/utils_8h__incl.png (100%) rename {docs => doxygen-docs}/html/utils_8h_source.html (100%) rename {docs => doxygen-docs}/latex/Makefile (100%) rename {docs => doxygen-docs}/latex/abstractch_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/abstractch_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/abstractch_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/abstractch_8h.tex (100%) rename {docs => doxygen-docs}/latex/abstractch_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/abstractch_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/abstractch_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/abstractch_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/abstractin_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/abstractin_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/abstractin_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/abstractin_8h.tex (100%) rename {docs => doxygen-docs}/latex/abstractin_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/abstractin_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/abstractin_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/abstractin_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/abstractout_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/abstractout_8h.tex (100%) rename {docs => doxygen-docs}/latex/abstractout_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/abstractout_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/abstractout_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/abstractout_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/annotated.tex (100%) rename {docs => doxygen-docs}/latex/bright_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/bright_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/bright_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/bright_8h.tex (100%) rename {docs => doxygen-docs}/latex/bright_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/bright_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/bright_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/bright_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/class_input.tex (100%) rename {docs => doxygen-docs}/latex/class_input__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/class_input__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/class_item.tex (100%) rename {docs => doxygen-docs}/latex/class_item__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/class_item__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/class_status_l_e_d.tex (100%) rename {docs => doxygen-docs}/latex/class_streamlog.eps (100%) rename {docs => doxygen-docs}/latex/class_streamlog.tex (100%) rename {docs => doxygen-docs}/latex/class_streamlog__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/class_streamlog__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/class_streamlog__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/class_streamlog__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classabstract_ch.eps (100%) rename {docs => doxygen-docs}/latex/classabstract_ch.tex (100%) rename {docs => doxygen-docs}/latex/classabstract_ch__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classabstract_ch__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classabstract_in.eps (100%) rename {docs => doxygen-docs}/latex/classabstract_in.tex (100%) rename {docs => doxygen-docs}/latex/classabstract_in__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classabstract_in__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classabstract_in__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classabstract_in__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classabstract_out.eps (100%) rename {docs => doxygen-docs}/latex/classabstract_out.tex (100%) rename {docs => doxygen-docs}/latex/classabstract_out__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classabstract_out__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classabstract_out__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classabstract_out__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classch_persistent.eps (100%) rename {docs => doxygen-docs}/latex/classch_persistent.tex (100%) rename {docs => doxygen-docs}/latex/classch_persistent__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classch_persistent__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classcolor_channel.eps (100%) rename {docs => doxygen-docs}/latex/classcolor_channel.tex (100%) rename {docs => doxygen-docs}/latex/classcolor_channel__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classcolor_channel__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classcolor_channel__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classcolor_channel__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classflash_stream.eps (100%) rename {docs => doxygen-docs}/latex/classflash_stream.tex (100%) rename {docs => doxygen-docs}/latex/classin__ccs811.eps (100%) rename {docs => doxygen-docs}/latex/classin__ccs811.tex (100%) rename {docs => doxygen-docs}/latex/classin__ccs811__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classin__ccs811__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classin__ccs811__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classin__ccs811__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classin__hdc1080.eps (100%) rename {docs => doxygen-docs}/latex/classin__hdc1080.tex (100%) rename {docs => doxygen-docs}/latex/classin__hdc1080__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classin__hdc1080__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classin__hdc1080__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classin__hdc1080__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classitem_cmd.tex (100%) rename {docs => doxygen-docs}/latex/classitem_cmd__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classitem_cmd__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classmb_persistent.eps (100%) rename {docs => doxygen-docs}/latex/classmb_persistent.tex (100%) rename {docs => doxygen-docs}/latex/classmb_persistent__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classmb_persistent__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classmb_persistent__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classmb_persistent__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classout___a_c.eps (100%) rename {docs => doxygen-docs}/latex/classout___a_c.tex (100%) rename {docs => doxygen-docs}/latex/classout___a_c__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classout___a_c__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classout___a_c__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classout___a_c__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classout___modbus.eps (100%) rename {docs => doxygen-docs}/latex/classout___modbus.tex (100%) rename {docs => doxygen-docs}/latex/classout___modbus__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classout___modbus__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classout___modbus__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classout___modbus__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classout___motor.eps (100%) rename {docs => doxygen-docs}/latex/classout___motor.tex (100%) rename {docs => doxygen-docs}/latex/classout___motor__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classout___motor__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classout___motor__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classout___motor__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classout___multivent.eps (100%) rename {docs => doxygen-docs}/latex/classout___multivent.tex (100%) rename {docs => doxygen-docs}/latex/classout___s_p_i_led.eps (100%) rename {docs => doxygen-docs}/latex/classout___s_p_i_led.tex (100%) rename {docs => doxygen-docs}/latex/classout___s_p_i_led__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classout___s_p_i_led__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classout___s_p_i_led__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classout___s_p_i_led__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classout__dmx.eps (100%) rename {docs => doxygen-docs}/latex/classout__dmx.tex (100%) rename {docs => doxygen-docs}/latex/classout__dmx__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classout__dmx__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classout__dmx__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classout__dmx__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classout__pid.eps (100%) rename {docs => doxygen-docs}/latex/classout__pid.tex (100%) rename {docs => doxygen-docs}/latex/classout__pwm.eps (100%) rename {docs => doxygen-docs}/latex/classout__pwm.tex (100%) rename {docs => doxygen-docs}/latex/classout__pwm__coll__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classout__pwm__coll__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classout__pwm__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/latex/classout__pwm__inherit__graph.pdf (100%) rename {docs => doxygen-docs}/latex/classout__relay.eps (100%) rename {docs => doxygen-docs}/latex/classout__relay.tex (100%) rename {docs => doxygen-docs}/latex/classpid_persistent.eps (100%) rename {docs => doxygen-docs}/latex/classpid_persistent.tex (100%) rename {docs => doxygen-docs}/latex/classread_cache.tex (100%) rename {docs => doxygen-docs}/latex/classseekable_stream.eps (100%) rename {docs => doxygen-docs}/latex/classseekable_stream.tex (100%) rename {docs => doxygen-docs}/latex/classstatus_l_e_d.tex (100%) rename {docs => doxygen-docs}/latex/classsystem_config.tex (100%) rename {docs => doxygen-docs}/latex/colorchannel_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/colorchannel_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/colorchannel_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/colorchannel_8h.tex (100%) rename {docs => doxygen-docs}/latex/colorchannel_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/colorchannel_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/colorchannel_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/colorchannel_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/config_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/config_8h.tex (100%) rename {docs => doxygen-docs}/latex/dir_82d7c1f210290ade9e0671f857ad27e3.tex (100%) rename {docs => doxygen-docs}/latex/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 (100%) rename {docs => doxygen-docs}/latex/dir_82d7c1f210290ade9e0671f857ad27e3_dep.pdf (100%) rename {docs => doxygen-docs}/latex/dir_a26efa385a8243117251e7dce4d75390.tex (100%) rename {docs => doxygen-docs}/latex/dir_a26efa385a8243117251e7dce4d75390_dep.md5 (100%) rename {docs => doxygen-docs}/latex/dir_a26efa385a8243117251e7dce4d75390_dep.pdf (100%) rename {docs => doxygen-docs}/latex/dir_e05d7e2b1ecd646af5bb94391405f3b5.tex (100%) rename {docs => doxygen-docs}/latex/dmx_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/dmx_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/dmx_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/dmx_8h.tex (100%) rename {docs => doxygen-docs}/latex/dmx_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/dmx_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/dmx_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/dmx_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/doxygen.sty (100%) rename {docs => doxygen-docs}/latex/files.tex (100%) rename {docs => doxygen-docs}/latex/flashstream_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/flashstream_8h.tex (100%) rename {docs => doxygen-docs}/latex/hierarchy.tex (100%) rename {docs => doxygen-docs}/latex/in__ccs811__hdc1080_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/in__ccs811__hdc1080_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/in__ccs811__hdc1080_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/in__ccs811__hdc1080_8h.tex (100%) rename {docs => doxygen-docs}/latex/in__ccs811__hdc1080_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/in__ccs811__hdc1080_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/in__ccs811__hdc1080_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/in__ccs811__hdc1080_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/inputs_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/inputs_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/inputs_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/inputs_8h.tex (100%) rename {docs => doxygen-docs}/latex/inputs_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/inputs_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/inputs_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/inputs_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/item_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/item_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/item_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/item_8h.tex (100%) rename {docs => doxygen-docs}/latex/item_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/item_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/item_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/item_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/item_cmd_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/item_cmd_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/item_cmd_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/item_cmd_8h.tex (100%) rename {docs => doxygen-docs}/latex/item_cmd_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/item_cmd_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/item_cmd_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/item_cmd_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/lh.png (100%) rename {docs => doxygen-docs}/latex/longtable_doxygen.sty (100%) rename {docs => doxygen-docs}/latex/main_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/main_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/main_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/main_8h.tex (100%) rename {docs => doxygen-docs}/latex/main_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/main_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/main_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/main_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/options_8h.tex (100%) rename {docs => doxygen-docs}/latex/options_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/options_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__ac_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/out__ac_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__ac_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__ac_8h.tex (100%) rename {docs => doxygen-docs}/latex/out__ac_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__ac_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__ac_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__ac_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__dmx_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/out__dmx_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__dmx_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__dmx_8h.tex (100%) rename {docs => doxygen-docs}/latex/out__dmx_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__dmx_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__dmx_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__dmx_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__elevator_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/out__elevator_8h.tex (100%) rename {docs => doxygen-docs}/latex/out__modbus_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/out__modbus_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__modbus_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__modbus_8h.tex (100%) rename {docs => doxygen-docs}/latex/out__modbus_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__modbus_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__modbus_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__modbus_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__motor_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/out__motor_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__motor_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__motor_8h.tex (100%) rename {docs => doxygen-docs}/latex/out__motor_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__motor_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__motor_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__motor_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__multivent_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/out__multivent_8h.tex (100%) rename {docs => doxygen-docs}/latex/out__pid_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/out__pid_8h.tex (100%) rename {docs => doxygen-docs}/latex/out__pwm_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/out__pwm_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__pwm_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__pwm_8h.tex (100%) rename {docs => doxygen-docs}/latex/out__pwm_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__pwm_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__pwm_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__pwm_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__relay_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/out__relay_8h.tex (100%) rename {docs => doxygen-docs}/latex/out__spiled_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/out__spiled_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__spiled_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__spiled_8h.tex (100%) rename {docs => doxygen-docs}/latex/out__spiled_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__spiled_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__spiled_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/out__spiled_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/out__uartbridge_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/out__uartbridge_8h.tex (100%) rename {docs => doxygen-docs}/latex/ow_term_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/ow_term_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/ow_term_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/ow_term_8h.tex (100%) rename {docs => doxygen-docs}/latex/ow_term_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/ow_term_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/ow_term_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/ow_term_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/refman.tex (100%) rename {docs => doxygen-docs}/latex/seekablestream_8h.tex (100%) rename {docs => doxygen-docs}/latex/statusled_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/statusled_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/statusled_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/statusled_8h.tex (100%) rename {docs => doxygen-docs}/latex/statusled_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/statusled_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/statusled_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/statusled_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/streamlog_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/streamlog_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/streamlog_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/streamlog_8h.tex (100%) rename {docs => doxygen-docs}/latex/streamlog_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/streamlog_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/streamlog_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/streamlog_8h__incl.pdf (100%) rename {docs => doxygen-docs}/latex/structreg__t.tex (100%) rename {docs => doxygen-docs}/latex/structserial__st.tex (100%) rename {docs => doxygen-docs}/latex/structserial__t.tex (100%) rename {docs => doxygen-docs}/latex/structsystem_config_data.tex (100%) rename {docs => doxygen-docs}/latex/systemconfigdata_8h.tex (100%) rename {docs => doxygen-docs}/latex/tabu_doxygen.sty (100%) rename {docs => doxygen-docs}/latex/textconst_8h.tex (100%) rename {docs => doxygen-docs}/latex/textconst_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/textconst_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/union_u_i_d.tex (100%) rename {docs => doxygen-docs}/latex/unionin_store.tex (100%) rename {docs => doxygen-docs}/latex/unionitem_arg_store.tex (100%) rename {docs => doxygen-docs}/latex/unionitem_cmd_store.tex (100%) rename {docs => doxygen-docs}/latex/unionsystem_config_flags.tex (100%) rename {docs => doxygen-docs}/latex/unionthermostat_store.tex (100%) rename {docs => doxygen-docs}/latex/utils_8cpp.tex (100%) rename {docs => doxygen-docs}/latex/utils_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/latex/utils_8cpp__incl.pdf (100%) rename {docs => doxygen-docs}/latex/utils_8h.tex (100%) rename {docs => doxygen-docs}/latex/utils_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/latex/utils_8h__dep__incl.pdf (100%) rename {docs => doxygen-docs}/latex/utils_8h__incl.md5 (100%) rename {docs => doxygen-docs}/latex/utils_8h__incl.pdf (100%) rename {docs => doxygen-docs}/lh.png (100%) rename {docs => doxygen-docs}/rtf/abstractch_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/abstractch_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/abstractch_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/abstractch_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/abstractch_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/abstractch_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/abstractin_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/abstractin_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/abstractin_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/abstractin_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/abstractin_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/abstractin_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/abstractout_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/abstractout_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/abstractout_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/abstractout_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/bright_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/bright_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/bright_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/bright_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/bright_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/bright_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/class_input__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/class_input__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/class_item__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/class_item__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/class_streamlog__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/class_streamlog__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/class_streamlog__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/class_streamlog__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/classabstract_ch__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classabstract_ch__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/classabstract_in__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classabstract_in__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/classabstract_in__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classabstract_in__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/classabstract_out__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classabstract_out__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/classabstract_out__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classabstract_out__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/classch_persistent__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classch_persistent__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/classcolor_channel__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classcolor_channel__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/classcolor_channel__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classcolor_channel__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/classin__ccs811__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classin__ccs811__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/classin__ccs811__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classin__ccs811__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/classin__hdc1080__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classin__hdc1080__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/classin__hdc1080__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classin__hdc1080__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/classitem_cmd__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classitem_cmd__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/classmb_persistent__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classmb_persistent__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/classmb_persistent__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classmb_persistent__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/classout___a_c__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classout___a_c__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/classout___a_c__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classout___a_c__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/classout___modbus__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classout___modbus__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/classout___modbus__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classout___modbus__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/classout___motor__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classout___motor__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/classout___motor__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classout___motor__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/classout___s_p_i_led__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classout___s_p_i_led__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/classout___s_p_i_led__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classout___s_p_i_led__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/classout__dmx__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classout__dmx__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/classout__dmx__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classout__dmx__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/classout__pwm__coll__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classout__pwm__coll__graph.png (100%) rename {docs => doxygen-docs}/rtf/classout__pwm__inherit__graph.md5 (100%) rename {docs => doxygen-docs}/rtf/classout__pwm__inherit__graph.png (100%) rename {docs => doxygen-docs}/rtf/colorchannel_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/colorchannel_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/colorchannel_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/colorchannel_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/colorchannel_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/colorchannel_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/dir_82d7c1f210290ade9e0671f857ad27e3.rtf (100%) rename {docs => doxygen-docs}/rtf/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 (100%) rename {docs => doxygen-docs}/rtf/dir_82d7c1f210290ade9e0671f857ad27e3_dep.png (100%) rename {docs => doxygen-docs}/rtf/dir_a26efa385a8243117251e7dce4d75390.rtf (100%) rename {docs => doxygen-docs}/rtf/dir_a26efa385a8243117251e7dce4d75390_dep.md5 (100%) rename {docs => doxygen-docs}/rtf/dir_a26efa385a8243117251e7dce4d75390_dep.png (100%) rename {docs => doxygen-docs}/rtf/dmx_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/dmx_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/dmx_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/dmx_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/dmx_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/dmx_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/in__ccs811__hdc1080_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/in__ccs811__hdc1080_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/in__ccs811__hdc1080_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/in__ccs811__hdc1080_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/in__ccs811__hdc1080_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/in__ccs811__hdc1080_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/inputs_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/inputs_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/inputs_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/inputs_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/inputs_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/inputs_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/item_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/item_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/item_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/item_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/item_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/item_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/item_cmd_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/item_cmd_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/item_cmd_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/item_cmd_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/item_cmd_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/item_cmd_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/lh.png (100%) rename {docs => doxygen-docs}/rtf/main_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/main_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/main_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/main_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/main_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/main_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/options_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/options_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__ac_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__ac_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__ac_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__ac_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__ac_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__ac_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__dmx_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__dmx_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__dmx_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__dmx_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__dmx_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__dmx_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__modbus_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__modbus_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__modbus_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__modbus_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__modbus_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__modbus_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__motor_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__motor_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__motor_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__motor_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__motor_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__motor_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__pwm_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__pwm_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__pwm_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__pwm_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__pwm_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__pwm_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__spiled_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__spiled_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__spiled_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__spiled_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/out__spiled_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/out__spiled_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/ow_term_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/ow_term_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/ow_term_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/ow_term_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/ow_term_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/ow_term_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/refman.rtf (100%) rename {docs => doxygen-docs}/rtf/statusled_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/statusled_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/statusled_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/statusled_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/statusled_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/statusled_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/streamlog_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/streamlog_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/streamlog_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/streamlog_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/streamlog_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/streamlog_8h__incl.png (100%) rename {docs => doxygen-docs}/rtf/textconst_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/textconst_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/utils_8cpp__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/utils_8cpp__incl.png (100%) rename {docs => doxygen-docs}/rtf/utils_8h__dep__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/utils_8h__dep__incl.png (100%) rename {docs => doxygen-docs}/rtf/utils_8h__incl.md5 (100%) rename {docs => doxygen-docs}/rtf/utils_8h__incl.png (100%) diff --git a/README.md b/README.md index 600b5f7..779e0e0 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Useful links: * [WIKI/RU](https://www.lazyhome.ru/dokuwiki/doku.php?id=start) - * [Doxygen autodocumentation for developers](https://anklimov.github.io/lighthub/docs/html/index.html) (litle bit outdated) + * [Doxygen autodocumentation for developers](https://anklimov.github.io/lighthub/doxygen-docs/html/index.html) (litle bit outdated) It may operate both: * On [especially designed hardware board](http://www.lazyhome.ru/index.php/featurerequest) with 16 optocoupled digital inputs, 16 ESD protected digital/analog Inputs/outputs, 8 open-collector outputs (up to 0.5A/50V), DMX IN/OUT, MODBUS RTU and hardware 1-wire support circuit. @@ -30,7 +30,7 @@ Lighthub allows connecting together: ![alt text](LightHub.png "LightHub application diagram") -![alt text](docs/LightHubAppDiagram.png "LightHub application diagram") +![alt text](documentation/LightHubAppDiagram.png "LightHub application diagram") Where is possible both, to configure local control/mapping between inputs and outputs (light, floor heating thermostats) and remote control from MQTT enabled software and between controllers. At the moment, LightHub tested and perfectly working with following set of complementary free software: * [HomeAssistant](https://www.home-assistant.io) - the best choice of HomeAutomation system @@ -49,7 +49,7 @@ Scalability of Lighthub is virtually unlimited: Setup so many controllers you ne * [Browser Plugin for searching and configure controllers](https://github.com/anklimov/zeroconf-lighthub) * [Channel commands](https://github.com/anklimov/lighthub/wiki/Channel-commands) * [OpenHab integration](https://github.com/anklimov/lighthub/wiki/OpenHab--integration) -* [Doxygen developers documentation](https://anklimov.github.io/lighthub/docs/html/index.html) +* [Doxygen developers documentation](https://anklimov.github.io/lighthub/doxygen-docs/html/index.html) * [Latest Release notes](https://github.com/anklimov/lighthub/releases/tag/v3.0.0) # Platforms specific details: diff --git a/build-flags/build_flags_stm32 b/build-flags/build_flags_stm32 index 8fb089a..70722bc 100644 --- a/build-flags/build_flags_stm32 +++ b/build-flags/build_flags_stm32 @@ -19,8 +19,8 @@ #-DFLASH_DATA_SECTOR #-DFLASH_PAGE_NUMBER --D PIO_FRAMEWORK_ARDUINO_ENABLE_MASS_STORAGE --D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC_AND_MSC +#-D PIO_FRAMEWORK_ARDUINO_ENABLE_MASS_STORAGE +#-D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC_AND_MSC #-DdebugSerialPort=SerialUSB #-DSerialPortType=USBSerial @@ -36,8 +36,8 @@ #-D USBD_USE_CDC -D HAL_CAN_MODULE_ENABLED -#HAL_ETH_MODULE_DISABLED +-D HAL_ETH_MODULE_DISABLED #HAL_SD_MODULE_DISABLED #HAL_DAC_MODULE_DISABLED -#-DMERCURY_ENABLE +-DMERCURY_ENABLE -D ROTARYENCODER \ No newline at end of file diff --git a/compiled/due/due4test.bin b/compiled/due/due4test.bin new file mode 100755 index 0000000000000000000000000000000000000000..da3b4ddf276f6dca2209c92f87bebc39ead82fce GIT binary patch literal 214016 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

&-Q}txXbz=v7ZO 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

faX@CY8zU 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 literal 0 HcmV?d00001 diff --git a/compiled/due/firmware.bin.bin.good b/compiled/due/firmware.bin.bin.good new file mode 100755 index 0000000000000000000000000000000000000000..ec5573decc7d13af7097c7ad3b9c20a7c4ea53ac GIT binary patch literal 213672 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

-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%0DTaIj$UMmJNnp+_k9{J8*hCTx7Rk; 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 P3q!{hde9aUFPnb{5SV(aJsonObject*, char const*, float) + 0x08010df0 0x50 .pio/build/stm32/src/modules/out_multivent.cpp.o + 0x08010df0 aJsonObject* getCreateObject(aJsonObject*, char const*, float) .text._ZN13out_Multivent5SetupEv - 0x0800fa70 0x214 .pio/build/stm32/src/modules/out_multivent.cpp.o - 0x0800fa70 out_Multivent::Setup() + 0x08010e40 0x284 .pio/build/stm32/src/modules/out_multivent.cpp.o + 0x08010e40 out_Multivent::Setup() .text.startup._GLOBAL__sub_I__Z13convert2floatP11aJsonObject - 0x0800fc84 0x1c .pio/build/stm32/src/modules/out_multivent.cpp.o + 0x080110c4 0x1c .pio/build/stm32/src/modules/out_multivent.cpp.o .text._ZN7out_pwm11getChanTypeEv - 0x0800fca0 0x20 .pio/build/stm32/src/modules/out_pwm.cpp.o - 0x0800fca0 out_pwm::getChanType() + 0x080110e0 0x20 .pio/build/stm32/src/modules/out_pwm.cpp.o + 0x080110e0 out_pwm::getChanType() .text._ZN7out_pwmD2Ev - 0x0800fcc0 0x2 .pio/build/stm32/src/modules/out_pwm.cpp.o - 0x0800fcc0 out_pwm::~out_pwm() - 0x0800fcc0 out_pwm::~out_pwm() - *fill* 0x0800fcc2 0x2 + 0x08011100 0x2 .pio/build/stm32/src/modules/out_pwm.cpp.o + 0x08011100 out_pwm::~out_pwm() + 0x08011100 out_pwm::~out_pwm() + *fill* 0x08011102 0x2 .text._ZN7out_pwm5SetupEv - 0x0800fcc4 0xbc .pio/build/stm32/src/modules/out_pwm.cpp.o - 0x0800fcc4 out_pwm::Setup() + 0x08011104 0xbc .pio/build/stm32/src/modules/out_pwm.cpp.o + 0x08011104 out_pwm::Setup() .text._ZN7out_pwm4StopEv - 0x0800fd80 0xa8 .pio/build/stm32/src/modules/out_pwm.cpp.o - 0x0800fd80 out_pwm::Stop() + 0x080111c0 0xa8 .pio/build/stm32/src/modules/out_pwm.cpp.o + 0x080111c0 out_pwm::Stop() .text._ZN7out_pwm9PixelCtrlE7itemCmdPcbb - 0x0800fe28 0x1a4 .pio/build/stm32/src/modules/out_pwm.cpp.o - 0x0800fe28 out_pwm::PixelCtrl(itemCmd, char*, bool, bool) + 0x08011268 0x1a4 .pio/build/stm32/src/modules/out_pwm.cpp.o + 0x08011268 out_pwm::PixelCtrl(itemCmd, char*, bool, bool) .text._ZN7out_pwmD0Ev - 0x0800ffcc 0xe .pio/build/stm32/src/modules/out_pwm.cpp.o - 0x0800ffcc out_pwm::~out_pwm() - *fill* 0x0800ffda 0x2 + 0x0801140c 0xe .pio/build/stm32/src/modules/out_pwm.cpp.o + 0x0801140c out_pwm::~out_pwm() + *fill* 0x0801141a 0x2 .text.startup._GLOBAL__sub_I__ZN7out_pwm5SetupEv - 0x0800ffdc 0x1c .pio/build/stm32/src/modules/out_pwm.cpp.o + 0x0801141c 0x1c .pio/build/stm32/src/modules/out_pwm.cpp.o .text._ZN9out_relay11getChanTypeEv - 0x0800fff8 0x4 .pio/build/stm32/src/modules/out_relay.cpp.o - 0x0800fff8 out_relay::getChanType() + 0x08011438 0x4 .pio/build/stm32/src/modules/out_relay.cpp.o + 0x08011438 out_relay::getChanType() .text._ZN9out_relayD2Ev - 0x0800fffc 0x2 .pio/build/stm32/src/modules/out_relay.cpp.o - 0x0800fffc out_relay::~out_relay() - 0x0800fffc out_relay::~out_relay() - *fill* 0x0800fffe 0x2 + 0x0801143c 0x2 .pio/build/stm32/src/modules/out_relay.cpp.o + 0x0801143c out_relay::~out_relay() + 0x0801143c out_relay::~out_relay() + *fill* 0x0801143e 0x2 .text._ZN9out_relay5SetupEv - 0x08010000 0xc0 .pio/build/stm32/src/modules/out_relay.cpp.o - 0x08010000 out_relay::Setup() + 0x08011440 0xc0 .pio/build/stm32/src/modules/out_relay.cpp.o + 0x08011440 out_relay::Setup() .text._ZN9out_relay4StopEv - 0x080100c0 0x58 .pio/build/stm32/src/modules/out_relay.cpp.o - 0x080100c0 out_relay::Stop() + 0x08011500 0x58 .pio/build/stm32/src/modules/out_relay.cpp.o + 0x08011500 out_relay::Stop() .text._ZN9out_relayD0Ev - 0x08010118 0xe .pio/build/stm32/src/modules/out_relay.cpp.o - 0x08010118 out_relay::~out_relay() - *fill* 0x08010126 0x2 + 0x08011558 0xe .pio/build/stm32/src/modules/out_relay.cpp.o + 0x08011558 out_relay::~out_relay() + *fill* 0x08011566 0x2 .text._ZN9out_relay9getConfigEv - 0x08010128 0x5c .pio/build/stm32/src/modules/out_relay.cpp.o - 0x08010128 out_relay::getConfig() + 0x08011568 0x5c .pio/build/stm32/src/modules/out_relay.cpp.o + 0x08011568 out_relay::getConfig() .text._ZN9out_relay4linkEP4Item - 0x08010184 0xa .pio/build/stm32/src/modules/out_relay.cpp.o - 0x08010184 out_relay::link(Item*) - *fill* 0x0801018e 0x2 + 0x080115c4 0xa .pio/build/stm32/src/modules/out_relay.cpp.o + 0x080115c4 out_relay::link(Item*) + *fill* 0x080115ce 0x2 .text._ZN9out_relay5relayEb - 0x08010190 0x74 .pio/build/stm32/src/modules/out_relay.cpp.o - 0x08010190 out_relay::relay(bool) + 0x080115d0 0x74 .pio/build/stm32/src/modules/out_relay.cpp.o + 0x080115d0 out_relay::relay(bool) .text._ZN9out_relay4PollEs - 0x08010204 0xde .pio/build/stm32/src/modules/out_relay.cpp.o - 0x08010204 out_relay::Poll(short) - *fill* 0x080102e2 0x2 + 0x08011644 0xde .pio/build/stm32/src/modules/out_relay.cpp.o + 0x08011644 out_relay::Poll(short) + *fill* 0x08011722 0x2 .text._ZN9out_relay4CtrlE7itemCmdPcbb - 0x080102e4 0x144 .pio/build/stm32/src/modules/out_relay.cpp.o - 0x080102e4 out_relay::Ctrl(itemCmd, char*, bool, bool) + 0x08011724 0x144 .pio/build/stm32/src/modules/out_relay.cpp.o + 0x08011724 out_relay::Ctrl(itemCmd, char*, bool, bool) .text.startup._GLOBAL__sub_I__ZN9out_relay9getConfigEv - 0x08010428 0x1c .pio/build/stm32/src/modules/out_relay.cpp.o + 0x08011868 0x1c .pio/build/stm32/src/modules/out_relay.cpp.o .text._ZN9StatusLEDC2Eh - 0x08010444 0x2 .pio/build/stm32/src/statusled.cpp.o - 0x08010444 StatusLED::StatusLED(unsigned char) - 0x08010444 StatusLED::StatusLED(unsigned char) + 0x08011884 0x2 .pio/build/stm32/src/statusled.cpp.o + 0x08011884 StatusLED::StatusLED(unsigned char) + 0x08011884 StatusLED::StatusLED(unsigned char) .text._ZN9StatusLED3setEh - 0x08010446 0x2 .pio/build/stm32/src/statusled.cpp.o - 0x08010446 StatusLED::set(unsigned char) + 0x08011886 0x2 .pio/build/stm32/src/statusled.cpp.o + 0x08011886 StatusLED::set(unsigned char) .text._ZN9StatusLED5flashEh - 0x08010448 0x2 .pio/build/stm32/src/statusled.cpp.o - 0x08010448 StatusLED::flash(unsigned char) + 0x08011888 0x2 .pio/build/stm32/src/statusled.cpp.o + 0x08011888 StatusLED::flash(unsigned char) .text._ZN9StatusLED4pollEv - 0x0801044a 0x2 .pio/build/stm32/src/statusled.cpp.o - 0x0801044a StatusLED::poll() + 0x0801188a 0x2 .pio/build/stm32/src/statusled.cpp.o + 0x0801188a StatusLED::poll() .text.startup._GLOBAL__sub_I__ZN9StatusLEDC2Eh - 0x0801044c 0x1c .pio/build/stm32/src/statusled.cpp.o + 0x0801188c 0x1c .pio/build/stm32/src/statusled.cpp.o .text._ZN9Streamlog5flushEv - 0x08010468 0xc .pio/build/stm32/src/streamlog.cpp.o - 0x08010468 Streamlog::flush() + 0x080118a8 0xc .pio/build/stm32/src/streamlog.cpp.o + 0x080118a8 Streamlog::flush() .text._ZN9Streamlog5writeEh - 0x08010474 0x20 .pio/build/stm32/src/streamlog.cpp.o - 0x08010474 Streamlog::write(unsigned char) + 0x080118b4 0x20 .pio/build/stm32/src/streamlog.cpp.o + 0x080118b4 Streamlog::write(unsigned char) .text._ZN9StreamlogC2EP6Streamhh - 0x08010494 0x18 .pio/build/stm32/src/streamlog.cpp.o - 0x08010494 Streamlog::Streamlog(Stream*, unsigned char, unsigned char) - 0x08010494 Streamlog::Streamlog(Stream*, unsigned char, unsigned char) + 0x080118d4 0x18 .pio/build/stm32/src/streamlog.cpp.o + 0x080118d4 Streamlog::Streamlog(Stream*, unsigned char, unsigned char) + 0x080118d4 Streamlog::Streamlog(Stream*, unsigned char, unsigned char) .text.startup._GLOBAL__sub_I_serialDebugLevel - 0x080104ac 0x1c .pio/build/stm32/src/streamlog.cpp.o + 0x080118ec 0x1c .pio/build/stm32/src/streamlog.cpp.o .text._ZN14templateStream9availableEv - 0x080104c8 0x8 .pio/build/stm32/src/utils.cpp.o - 0x080104c8 templateStream::available() + 0x08011908 0x8 .pio/build/stm32/src/utils.cpp.o + 0x08011908 templateStream::available() .text._ZN14templateStream4peekEv - 0x080104d0 0x6 .pio/build/stm32/src/utils.cpp.o - 0x080104d0 templateStream::peek() + 0x08011910 0x6 .pio/build/stm32/src/utils.cpp.o + 0x08011910 templateStream::peek() .text._ZN14templateStream5flushEv - 0x080104d6 0x2 .pio/build/stm32/src/utils.cpp.o - 0x080104d6 templateStream::flush() + 0x08011916 0x2 .pio/build/stm32/src/utils.cpp.o + 0x08011916 templateStream::flush() .text._ZN14templateStream5writeEh - 0x080104d8 0x4 .pio/build/stm32/src/utils.cpp.o - 0x080104d8 templateStream::write(unsigned char) + 0x08011918 0x4 .pio/build/stm32/src/utils.cpp.o + 0x08011918 templateStream::write(unsigned char) .text._ZN14templateStream10resolveKeyEPc - 0x080104dc 0x74 .pio/build/stm32/src/utils.cpp.o - 0x080104dc templateStream::resolveKey(char*) + 0x0801191c 0x74 .pio/build/stm32/src/utils.cpp.o + 0x0801191c templateStream::resolveKey(char*) .text._ZN14templateStream4readEv - 0x08010550 0x9a .pio/build/stm32/src/utils.cpp.o - 0x08010550 templateStream::read() + 0x08011990 0x9a .pio/build/stm32/src/utils.cpp.o + 0x08011990 templateStream::read() .text._Z13getIntFromStrPPc - 0x080105ea 0x44 .pio/build/stm32/src/utils.cpp.o - 0x080105ea getIntFromStr(char**) + 0x08011a2a 0x44 .pio/build/stm32/src/utils.cpp.o + 0x08011a2a getIntFromStr(char**) .text._Z9getNumberPPc - 0x0801062e 0xf8 .pio/build/stm32/src/utils.cpp.o - 0x0801062e getNumber(char**) + 0x08011a6e 0xf8 .pio/build/stm32/src/utils.cpp.o + 0x08011a6e getNumber(char**) .text._Z7freeRamv - 0x08010726 0x1e .pio/build/stm32/src/utils.cpp.o - 0x08010726 freeRam() + 0x08011b66 0x1e .pio/build/stm32/src/utils.cpp.o + 0x08011b66 freeRam() .text._Z10_inet_atonPKcR9IPAddress - 0x08010744 0x4a .pio/build/stm32/src/utils.cpp.o - 0x08010744 _inet_aton(char const*, IPAddress&) - *fill* 0x0801078e 0x2 + 0x08011b84 0x4a .pio/build/stm32/src/utils.cpp.o + 0x08011b84 _inet_aton(char const*, IPAddress&) + *fill* 0x08011bce 0x2 .text._Z14printIPAddress9IPAddress - 0x08010790 0x50 .pio/build/stm32/src/utils.cpp.o - 0x08010790 printIPAddress(IPAddress) + 0x08011bd0 0x50 .pio/build/stm32/src/utils.cpp.o + 0x08011bd0 printIPAddress(IPAddress) .text._Z8setTopicPca9topicTypePKc - 0x080107e0 0x104 .pio/build/stm32/src/utils.cpp.o - 0x080107e0 setTopic(char*, signed char, topicType, char const*) + 0x08011c20 0x104 .pio/build/stm32/src/utils.cpp.o + 0x08011c20 setTopic(char*, signed char, topicType, char const*) .text._Z20printUlongValueToStrPcm - 0x080108e4 0xc .pio/build/stm32/src/utils.cpp.o - 0x080108e4 printUlongValueToStr(char*, unsigned long) + 0x08011d24 0xc .pio/build/stm32/src/utils.cpp.o + 0x08011d24 printUlongValueToStr(char*, unsigned long) .text._Z14softRebootFuncv - 0x080108f0 0x20 .pio/build/stm32/src/utils.cpp.o - 0x080108f0 softRebootFunc() + 0x08011d30 0x20 .pio/build/stm32/src/utils.cpp.o + 0x08011d30 softRebootFunc() .text._Z10isTimeOvermmmm - 0x08010910 0x1e .pio/build/stm32/src/utils.cpp.o - 0x08010910 isTimeOver(unsigned long, unsigned long, unsigned long, unsigned long) - *fill* 0x0801092e 0x2 + 0x08011d50 0x1e .pio/build/stm32/src/utils.cpp.o + 0x08011d50 isTimeOver(unsigned long, unsigned long, unsigned long, unsigned long) + *fill* 0x08011d6e 0x2 .text._Z14executeCommandP11aJsonObjecta7itemCmdS0_S0_S0_ - 0x08010930 0x408 .pio/build/stm32/src/utils.cpp.o - 0x08010930 executeCommand(aJsonObject*, signed char, itemCmd, aJsonObject*, aJsonObject*, aJsonObject*) - .text._Z14executeCommandP11aJsonObjecta - 0x08010d38 0x2c .pio/build/stm32/src/utils.cpp.o - 0x08010d38 executeCommand(aJsonObject*, signed char) + 0x08011d70 0x408 .pio/build/stm32/src/utils.cpp.o + 0x08011d70 executeCommand(aJsonObject*, signed char, itemCmd, aJsonObject*, aJsonObject*, aJsonObject*) .text._Z8millisNZhm - 0x08010d64 0x18 .pio/build/stm32/src/utils.cpp.o - 0x08010d64 millisNZ(unsigned char, unsigned long) + 0x08012178 0x18 .pio/build/stm32/src/utils.cpp.o + 0x08012178 millisNZ(unsigned char, unsigned long) .text._Z9getPinValh - 0x08010d7c 0x5c .pio/build/stm32/src/utils.cpp.o - 0x08010d7c getPinVal(unsigned char) + 0x08012190 0x5c .pio/build/stm32/src/utils.cpp.o + 0x08012190 getPinVal(unsigned char) .text._Z10checkTokenPcS_ - 0x08010dd8 0x4 .pio/build/stm32/src/utils.cpp.o - 0x08010dd8 checkToken(char*, char*) + 0x080121ec 0x4 .pio/build/stm32/src/utils.cpp.o + 0x080121ec checkToken(char*, char*) .text._Z14isProtectedPins - 0x08010ddc 0x4 .pio/build/stm32/src/utils.cpp.o - 0x08010ddc isProtectedPin(short) + 0x080121f0 0x4 .pio/build/stm32/src/utils.cpp.o + 0x080121f0 isProtectedPin(short) .text._Z17getStringFromJsonP11aJsonObjecti - 0x08010de0 0x34 .pio/build/stm32/src/utils.cpp.o - 0x08010de0 getStringFromJson(aJsonObject*, int) - .text._Z14getIntFromJsonP11aJsonObjectil - 0x08010e14 0x4c .pio/build/stm32/src/utils.cpp.o - 0x08010e14 getIntFromJson(aJsonObject*, int, long) + 0x080121f4 0x34 .pio/build/stm32/src/utils.cpp.o + 0x080121f4 getStringFromJson(aJsonObject*, int) .text._Z14getIntFromJsonP11aJsonObjectPKcl - 0x08010e60 0x4c .pio/build/stm32/src/utils.cpp.o - 0x08010e60 getIntFromJson(aJsonObject*, char const*, long) + 0x08012228 0x4c .pio/build/stm32/src/utils.cpp.o + 0x08012228 getIntFromJson(aJsonObject*, char const*, long) .text._Z16getFloatFromJsonP11aJsonObjectif - 0x08010eac 0x44 .pio/build/stm32/src/utils.cpp.o - 0x08010eac getFloatFromJson(aJsonObject*, int, float) + 0x08012274 0x44 .pio/build/stm32/src/utils.cpp.o + 0x08012274 getFloatFromJson(aJsonObject*, int, float) .text._Z16getFloatFromJsonP11aJsonObjectPKcf - 0x08010ef0 0x44 .pio/build/stm32/src/utils.cpp.o - 0x08010ef0 getFloatFromJson(aJsonObject*, char const*, float) + 0x080122b8 0x44 .pio/build/stm32/src/utils.cpp.o + 0x080122b8 getFloatFromJson(aJsonObject*, char const*, float) + .text._Z16getFloatFromJsonP11aJsonObjectPKcif + 0x080122fc 0x2a .pio/build/stm32/src/utils.cpp.o + 0x080122fc getFloatFromJson(aJsonObject*, char const*, int, float) + *fill* 0x08012326 0x2 .text._Z15getCreateObjectP11aJsonObjectPKc - 0x08010f34 0x40 .pio/build/stm32/src/utils.cpp.o - 0x08010f34 getCreateObject(aJsonObject*, char const*) + 0x08012328 0x40 .pio/build/stm32/src/utils.cpp.o + 0x08012328 getCreateObject(aJsonObject*, char const*) .text.startup._GLOBAL__sub_I__Z10PrintBytesPhhb - 0x08010f74 0x1c .pio/build/stm32/src/utils.cpp.o + 0x08012368 0x1c .pio/build/stm32/src/utils.cpp.o .text.eeprom_buffered_write_byte - 0x08010f90 0xc .pio/build/stm32/libfbc/libEEPROM.a(stm32_eeprom.c.o) - 0x08010f90 eeprom_buffered_write_byte + 0x08012384 0xc .pio/build/stm32/libfbc/libEEPROM.a(stm32_eeprom.c.o) + 0x08012384 eeprom_buffered_write_byte .text.eeprom_buffer_fill - 0x08010f9c 0x18 .pio/build/stm32/libfbc/libEEPROM.a(stm32_eeprom.c.o) - 0x08010f9c eeprom_buffer_fill + 0x08012390 0x18 .pio/build/stm32/libfbc/libEEPROM.a(stm32_eeprom.c.o) + 0x08012390 eeprom_buffer_fill .text.eeprom_read_byte - 0x08010fb4 0x14 .pio/build/stm32/libfbc/libEEPROM.a(stm32_eeprom.c.o) - 0x08010fb4 eeprom_read_byte + 0x080123a8 0x14 .pio/build/stm32/libfbc/libEEPROM.a(stm32_eeprom.c.o) + 0x080123a8 eeprom_read_byte .text.eeprom_buffer_flush - 0x08010fc8 0x5c .pio/build/stm32/libfbc/libEEPROM.a(stm32_eeprom.c.o) - 0x08010fc8 eeprom_buffer_flush + 0x080123bc 0x5c .pio/build/stm32/libfbc/libEEPROM.a(stm32_eeprom.c.o) + 0x080123bc eeprom_buffer_flush .text._ZN11aJsonStream6streamEv - 0x08011024 0x4 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011024 aJsonStream::stream() + 0x08012418 0x4 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012418 aJsonStream::stream() .text._ZN11aJsonStream9availableEv - 0x08011028 0x34 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011028 aJsonStream::available() + 0x0801241c 0x34 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x0801241c aJsonStream::available() .text._ZN11aJsonStream7ungetchEc - 0x0801105c 0x4 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x0801105c aJsonStream::ungetch(char) + 0x08012450 0x4 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012450 aJsonStream::ungetch(char) .text._ZN11aJsonStream5writeEh - 0x08011060 0x16 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011060 aJsonStream::write(unsigned char) + 0x08012454 0x16 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012454 aJsonStream::write(unsigned char) .text._ZN11aJsonStream9readBytesEPhj - 0x08011076 0x24 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011076 aJsonStream::readBytes(unsigned char*, unsigned int) + 0x0801246a 0x24 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x0801246a aJsonStream::readBytes(unsigned char*, unsigned int) .text._ZN17aJsonStringStream9availableEv - 0x0801109a 0x14 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x0801109a aJsonStringStream::available() + 0x0801248e 0x14 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x0801248e aJsonStringStream::available() .text._ZN17aJsonStringStream5writeEh - 0x080110ae 0x24 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x080110ae aJsonStringStream::write(unsigned char) + 0x080124a2 0x24 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x080124a2 aJsonStringStream::write(unsigned char) .text._ZN11aJsonStream5flushEv - 0x080110d2 0x18 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x080110d2 aJsonStream::flush() + 0x080124c6 0x18 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x080124c6 aJsonStream::flush() .text._ZN17aJsonStringStream5getchEv - 0x080110ea 0x24 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x080110ea aJsonStringStream::getch() + 0x080124de 0x24 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x080124de aJsonStringStream::getch() .text._ZN11aJsonStream5getchEv - 0x0801110e 0x44 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x0801110e aJsonStream::getch() + 0x08012502 0x44 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012502 aJsonStream::getch() .text._ZN10aJsonClass7newItemEv - 0x08011152 0x18 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011152 aJsonClass::newItem() + 0x08012546 0x18 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012546 aJsonClass::newItem() .text._ZN10aJsonClass10deleteItemEP11aJsonObject - 0x0801116a 0x44 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x0801116a aJsonClass::deleteItem(aJsonObject*) - *fill* 0x080111ae 0x2 + 0x0801255e 0x44 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x0801255e aJsonClass::deleteItem(aJsonObject*) + *fill* 0x080125a2 0x2 .text._ZN11aJsonStream11parseNumberEP11aJsonObject - 0x080111b0 0x1c4 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x080111b0 aJsonStream::parseNumber(aJsonObject*) + 0x080125a4 0x1c4 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x080125a4 aJsonStream::parseNumber(aJsonObject*) .text._ZN11aJsonStream8printIntEP11aJsonObject - 0x08011374 0xe .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011374 aJsonStream::printInt(aJsonObject*) - *fill* 0x08011382 0x6 + 0x08012768 0xe .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012768 aJsonStream::printInt(aJsonObject*) + *fill* 0x08012776 0x2 .text._ZN11aJsonStream10printFloatEP11aJsonObject - 0x08011388 0xd4 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011388 aJsonStream::printFloat(aJsonObject*) + 0x08012778 0xd4 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012778 aJsonStream::printFloat(aJsonObject*) .text._ZN11aJsonStream11parseStringEP11aJsonObject - 0x0801145c 0xae .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x0801145c aJsonStream::parseString(aJsonObject*) - *fill* 0x0801150a 0x2 + 0x0801284c 0xae .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x0801284c aJsonStream::parseString(aJsonObject*) + *fill* 0x080128fa 0x2 .text._ZN11aJsonStream14printStringPtrEPKc - 0x0801150c 0x94 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x0801150c aJsonStream::printStringPtr(char const*) + 0x080128fc 0x94 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x080128fc aJsonStream::printStringPtr(char const*) .text._ZN11aJsonStream11printStringEP11aJsonObject - 0x080115a0 0x6 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x080115a0 aJsonStream::printString(aJsonObject*) + 0x08012990 0x6 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012990 aJsonStream::printString(aJsonObject*) .text._ZN11aJsonStream4skipEv - 0x080115a6 0x3c .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x080115a6 aJsonStream::skip() + 0x08012996 0x3c .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012996 aJsonStream::skip() .text._ZN11aJsonStream11parseObjectEP11aJsonObjectPPc - 0x080115e2 0xb4 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x080115e2 aJsonStream::parseObject(aJsonObject*, char**) - *fill* 0x08011696 0x2 + 0x080129d2 0xb4 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x080129d2 aJsonStream::parseObject(aJsonObject*, char**) + *fill* 0x08012a86 0x2 .text._ZN11aJsonStream10parseValueEP11aJsonObjectPPc - 0x08011698 0x128 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011698 aJsonStream::parseValue(aJsonObject*, char**) + 0x08012a88 0x128 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012a88 aJsonStream::parseValue(aJsonObject*, char**) .text._ZN10aJsonClass5parseEP11aJsonStreamPPc - 0x080117c0 0x34 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x080117c0 aJsonClass::parse(aJsonStream*, char**) + 0x08012bb0 0x34 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012bb0 aJsonClass::parse(aJsonStream*, char**) .text._ZN10aJsonClass5parseEP11aJsonStream - 0x080117f4 0x6 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x080117f4 aJsonClass::parse(aJsonStream*) + 0x08012be4 0x6 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012be4 aJsonClass::parse(aJsonStream*) .text._ZN11aJsonStream10parseArrayEP11aJsonObjectPPc - 0x080117fa 0x88 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x080117fa aJsonStream::parseArray(aJsonObject*, char**) + 0x08012bea 0x88 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012bea aJsonStream::parseArray(aJsonObject*, char**) .text._ZN11aJsonStream11printObjectEP11aJsonObjectb - 0x08011882 0x8a .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011882 aJsonStream::printObject(aJsonObject*, bool) + 0x08012c72 0x8a .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012c72 aJsonStream::printObject(aJsonObject*, bool) .text._ZN11aJsonStream10printValueEP11aJsonObjectb - 0x0801190c 0x60 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x0801190c aJsonStream::printValue(aJsonObject*, bool) + 0x08012cfc 0x60 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012cfc aJsonStream::printValue(aJsonObject*, bool) .text._ZN10aJsonClass5printEP11aJsonObjectP11aJsonStreamb - 0x0801196c 0x8 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x0801196c aJsonClass::print(aJsonObject*, aJsonStream*, bool) + 0x08012d5c 0x8 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012d5c aJsonClass::print(aJsonObject*, aJsonStream*, bool) .text._ZN10aJsonClass5printEP11aJsonObject - 0x08011974 0x44 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011974 aJsonClass::print(aJsonObject*) + 0x08012d64 0x44 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012d64 aJsonClass::print(aJsonObject*) .text._ZN11aJsonStream10printArrayEP11aJsonObjectb - 0x080119b8 0x58 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x080119b8 aJsonStream::printArray(aJsonObject*, bool) + 0x08012da8 0x58 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012da8 aJsonStream::printArray(aJsonObject*, bool) .text._ZN10aJsonClass12getArraySizeEP11aJsonObject - 0x08011a10 0x18 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011a10 aJsonClass::getArraySize(aJsonObject*) + 0x08012e00 0x18 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012e00 aJsonClass::getArraySize(aJsonObject*) .text._ZN10aJsonClass12getArrayItemEP11aJsonObjecth - 0x08011a28 0x14 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011a28 aJsonClass::getArrayItem(aJsonObject*, unsigned char) + 0x08012e18 0x14 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012e18 aJsonClass::getArrayItem(aJsonObject*, unsigned char) .text._ZN10aJsonClass13getObjectItemEP11aJsonObjectPKc - 0x08011a3c 0x1e .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011a3c aJsonClass::getObjectItem(aJsonObject*, char const*) + 0x08012e2c 0x1e .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012e2c aJsonClass::getObjectItem(aJsonObject*, char const*) .text._ZN10aJsonClass14addItemToArrayEP11aJsonObjectS1_ - 0x08011a5a 0x1a .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011a5a aJsonClass::addItemToArray(aJsonObject*, aJsonObject*) + 0x08012e4a 0x1a .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012e4a aJsonClass::addItemToArray(aJsonObject*, aJsonObject*) .text._ZN10aJsonClass15addItemToObjectEP11aJsonObjectPKcS1_ - 0x08011a74 0x2c .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011a74 aJsonClass::addItemToObject(aJsonObject*, char const*, aJsonObject*) + 0x08012e64 0x2c .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012e64 aJsonClass::addItemToObject(aJsonObject*, char const*, aJsonObject*) .text._ZN10aJsonClass10createNullEv - 0x08011aa0 0x1a .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011aa0 aJsonClass::createNull() + 0x08012e90 0x1a .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012e90 aJsonClass::createNull() .text._ZN10aJsonClass10createItemEl - 0x08011aba 0x12 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011aba aJsonClass::createItem(long) + 0x08012eaa 0x12 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012eaa aJsonClass::createItem(long) .text._ZN10aJsonClass10createItemEd - 0x08011acc 0x20 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011acc aJsonClass::createItem(double) + 0x08012ebc 0x20 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012ebc aJsonClass::createItem(double) .text._ZN10aJsonClass15addNullToObjectEP11aJsonObjectPKc - 0x08011aec 0x1c .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011aec aJsonClass::addNullToObject(aJsonObject*, char const*) + 0x08012edc 0x1c .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012edc aJsonClass::addNullToObject(aJsonObject*, char const*) .text._ZN10aJsonClass17addNumberToObjectEP11aJsonObjectPKcl - 0x08011b08 0x1e .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011b08 aJsonClass::addNumberToObject(aJsonObject*, char const*, long) + 0x08012ef8 0x1e .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012ef8 aJsonClass::addNumberToObject(aJsonObject*, char const*, long) .text._ZN10aJsonClass17addNumberToObjectEP11aJsonObjectPKcd - 0x08011b26 0x20 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x08011b26 aJsonClass::addNumberToObject(aJsonObject*, char const*, double) - *fill* 0x08011b46 0x2 + 0x08012f16 0x20 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012f16 aJsonClass::addNumberToObject(aJsonObject*, char const*, double) + *fill* 0x08012f36 0x2 .text.startup._GLOBAL__sub_I__ZN11aJsonStream9availableEv - 0x08011b48 0x1c .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x08012f38 0x1c .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) .text.stringBufferCreate - 0x08011b64 0x2c .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) - 0x08011b64 stringBufferCreate + 0x08012f54 0x2c .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) + 0x08012f54 stringBufferCreate .text.stringBufferAdd - 0x08011b90 0x18 .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) - 0x08011b90 stringBufferAdd + 0x08012f80 0x18 .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) + 0x08012f80 stringBufferAdd .text.stringBufferFree - 0x08011ba8 0x8 .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) - 0x08011ba8 stringBufferFree + 0x08012f98 0x8 .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) + 0x08012f98 stringBufferFree .text.findString - 0x08011bb0 0x28 .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) - 0x08011bb0 findString + 0x08012fa0 0x28 .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) + 0x08012fa0 findString .text.newString - 0x08011bd8 0x5c .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) - 0x08011bd8 newString + 0x08012fc8 0x5c .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) + 0x08012fc8 newString .text.stringBufferToString - 0x08011c34 0x34 .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) - 0x08011c34 stringBufferToString + 0x08013024 0x34 .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) + 0x08013024 stringBufferToString .text.compressList - 0x08011c68 0x24 .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) - 0x08011c68 compressList + 0x08013058 0x24 .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) + 0x08013058 compressList .text.freeString - 0x08011c8c 0x26 .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) - 0x08011c8c freeString - *fill* 0x08011cb2 0x2 + 0x0801307c 0x26 .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) + 0x0801307c freeString + *fill* 0x080130a2 0x2 .text._Z11cmd_displayv - 0x08011cb4 0x28 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) - 0x08011cb4 cmd_display() + 0x080130a4 0x28 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) + 0x080130a4 cmd_display() .text._Z9cmd_parsePc - 0x08011cdc 0x98 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) - 0x08011cdc cmd_parse(char*) + 0x080130cc 0x98 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) + 0x080130cc cmd_parse(char*) .text._Z7cmdInitm - 0x08011d74 0x24 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) - 0x08011d74 cmdInit(unsigned long) + 0x08013164 0x24 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) + 0x08013164 cmdInit(unsigned long) .text._Z6cmdAddPcPFiiPS_E - 0x08011d98 0x48 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) - 0x08011d98 cmdAdd(char*, int (*)(int, char**)) + 0x08013188 0x48 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) + 0x08013188 cmdAdd(char*, int (*)(int, char**)) .text._Z11cmd_handlerv - 0x08011de0 0x78 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) - 0x08011de0 cmd_handler() + 0x080131d0 0x78 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) + 0x080131d0 cmd_handler() .text._Z7cmdPollv - 0x08011e58 0x24 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) - 0x08011e58 cmdPoll() + 0x08013248 0x24 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) + 0x08013248 cmdPoll() .text._ZN10HttpClient4peekEv - 0x08011e7c 0x8 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08011e7c HttpClient::peek() + 0x0801326c 0x8 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x0801326c HttpClient::peek() .text._ZN10HttpClient5flushEv - 0x08011e84 0x8 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08011e84 HttpClient::flush() + 0x08013274 0x8 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x08013274 HttpClient::flush() .text._ZN10HttpClient7connectE9IPAddresst - 0x08011e8c 0x1c .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08011e8c HttpClient::connect(IPAddress, unsigned short) + 0x0801327c 0x1c .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x0801327c HttpClient::connect(IPAddress, unsigned short) .text._ZN10HttpClient7connectEPKct - 0x08011ea8 0x8 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08011ea8 HttpClient::connect(char const*, unsigned short) + 0x08013298 0x8 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x08013298 HttpClient::connect(char const*, unsigned short) .text._ZN10HttpClient9connectedEv - 0x08011eb0 0x8 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08011eb0 HttpClient::connected() + 0x080132a0 0x8 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080132a0 HttpClient::connected() .text._ZN10HttpClientcvbEv - 0x08011eb8 0xa .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08011eb8 HttpClient::operator bool() + 0x080132a8 0xa .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080132a8 HttpClient::operator bool() .text._ZN10HttpClient19httpResponseTimeoutEv - 0x08011ec2 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08011ec2 HttpClient::httpResponseTimeout() + 0x080132b2 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080132b2 HttpClient::httpResponseTimeout() .text._ZN10HttpClient22setHttpResponseTimeoutEm - 0x08011ec6 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08011ec6 HttpClient::setHttpResponseTimeout(unsigned long) + 0x080132b6 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080132b6 HttpClient::setHttpResponseTimeout(unsigned long) .text._ZN10HttpClient20httpWaitForDataDelayEv - 0x08011eca 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08011eca HttpClient::httpWaitForDataDelay() + 0x080132ba 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080132ba HttpClient::httpWaitForDataDelay() .text._ZN10HttpClient23setHttpWaitForDataDelayEm - 0x08011ece 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08011ece HttpClient::setHttpWaitForDataDelay(unsigned long) + 0x080132be 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080132be HttpClient::setHttpWaitForDataDelay(unsigned long) .text._ZN10HttpClient4readEv - 0x08011ed2 0x56 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08011ed2 HttpClient::read() + 0x080132c2 0x56 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080132c2 HttpClient::read() .text._ZN10HttpClient4readEPhj - 0x08011f28 0x28 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08011f28 HttpClient::read(unsigned char*, unsigned int) + 0x08013318 0x28 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x08013318 HttpClient::read(unsigned char*, unsigned int) .text._ZN10HttpClient9availableEv - 0x08011f50 0x90 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08011f50 HttpClient::available() + 0x08013340 0x90 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x08013340 HttpClient::available() .text._ZN10HttpClient10resetStateEv - 0x08011fe0 0x38 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08011fe0 HttpClient::resetState() + 0x080133d0 0x38 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080133d0 HttpClient::resetState() .text._ZN10HttpClientC2ER6ClientPKct - 0x08012018 0x44 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08012018 HttpClient::HttpClient(Client&, char const*, unsigned short) - 0x08012018 HttpClient::HttpClient(Client&, char const*, unsigned short) + 0x08013408 0x44 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x08013408 HttpClient::HttpClient(Client&, char const*, unsigned short) + 0x08013408 HttpClient::HttpClient(Client&, char const*, unsigned short) .text._ZN10HttpClient4stopEv - 0x0801205c 0x16 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x0801205c HttpClient::stop() + 0x0801344c 0x16 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x0801344c HttpClient::stop() .text._ZN10HttpClient12beginRequestEv - 0x08012072 0x8 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08012072 HttpClient::beginRequest() - *fill* 0x0801207a 0x2 + 0x08013462 0x8 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x08013462 HttpClient::beginRequest() + *fill* 0x0801346a 0x2 .text._ZN10HttpClient10sendHeaderEPKcS1_ - 0x0801207c 0x24 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x0801207c HttpClient::sendHeader(char const*, char const*) + 0x0801346c 0x24 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x0801346c HttpClient::sendHeader(char const*, char const*) .text._ZN10HttpClient18sendInitialHeadersEPKcS1_ - 0x080120a0 0xac .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x080120a0 HttpClient::sendInitialHeaders(char const*, char const*) + 0x08013490 0xac .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x08013490 HttpClient::sendInitialHeaders(char const*, char const*) .text._ZN10HttpClient10sendHeaderEPKci - 0x0801214c 0x28 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x0801214c HttpClient::sendHeader(char const*, int) + 0x0801353c 0x28 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x0801353c HttpClient::sendHeader(char const*, int) .text._ZN10HttpClient13finishHeadersEv - 0x08012174 0x12 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08012174 HttpClient::finishHeaders() + 0x08013564 0x12 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x08013564 HttpClient::finishHeaders() .text._ZN10HttpClient5writeEPKhj - 0x08012186 0x24 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08012186 HttpClient::write(unsigned char const*, unsigned int) + 0x08013576 0x24 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x08013576 HttpClient::write(unsigned char const*, unsigned int) .text._ZN10HttpClient5writeEh - 0x080121aa 0x20 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x080121aa HttpClient::write(unsigned char) + 0x0801359a 0x20 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x0801359a HttpClient::write(unsigned char) .text._ZN10HttpClient13flushClientRxEv - 0x080121ca 0x1a .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x080121ca HttpClient::flushClientRx() + 0x080135ba 0x1a .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080135ba HttpClient::flushClientRx() .text._ZN10HttpClient12startRequestEPKcS1_S1_iPKh - 0x080121e4 0xd0 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x080121e4 HttpClient::startRequest(char const*, char const*, char const*, int, unsigned char const*) + 0x080135d4 0xd0 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080135d4 HttpClient::startRequest(char const*, char const*, char const*, int, unsigned char const*) .text._ZN10HttpClient9beginBodyEv - 0x080122b4 0xe .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x080122b4 HttpClient::beginBody() + 0x080136a4 0xe .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080136a4 HttpClient::beginBody() .text._ZN10HttpClient10endRequestEv - 0x080122c2 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x080122c2 HttpClient::endRequest() - *fill* 0x080122c6 0x2 + 0x080136b2 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080136b2 HttpClient::endRequest() + *fill* 0x080136b6 0x2 .text._ZN10HttpClient3getEPKc - 0x080122c8 0x1c .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x080122c8 HttpClient::get(char const*) + 0x080136b8 0x1c .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080136b8 HttpClient::get(char const*) .text._ZN10HttpClient18responseStatusCodeEv - 0x080122e4 0xf4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x080122e4 HttpClient::responseStatusCode() + 0x080136d4 0xf4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080136d4 HttpClient::responseStatusCode() .text._ZN10HttpClient14readHeaderNameEv - 0x080123d8 0x34 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x080123d8 HttpClient::readHeaderName() + 0x080137c8 0x34 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080137c8 HttpClient::readHeaderName() .text._ZN10HttpClient15readHeaderValueEv - 0x0801240c 0x50 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x0801240c HttpClient::readHeaderValue() + 0x080137fc 0x50 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080137fc HttpClient::readHeaderValue() .text._ZN10HttpClient10readHeaderEv - 0x0801245c 0xcc .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x0801245c HttpClient::readHeader() + 0x0801384c 0xcc .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x0801384c HttpClient::readHeader() .text._ZN10HttpClient19skipResponseHeadersEv - 0x08012528 0x4e .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08012528 HttpClient::skipResponseHeaders() + 0x08013918 0x4e .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x08013918 HttpClient::skipResponseHeaders() .text._ZN10HttpClient13contentLengthEv - 0x08012576 0x16 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x08012576 HttpClient::contentLength() + 0x08013966 0x16 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x08013966 HttpClient::contentLength() .text._ZN10HttpClient16endOfBodyReachedEv - 0x0801258c 0x2c .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x0801258c HttpClient::endOfBodyReached() + 0x0801397c 0x2c .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x0801397c HttpClient::endOfBodyReached() .text._ZN10HttpClient9completedEv - 0x080125b8 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x080125b8 HttpClient::completed() + 0x080139a8 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080139a8 HttpClient::completed() .text._ZN10HttpClient11endOfStreamEv - 0x080125bc 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x080125bc HttpClient::endOfStream() + 0x080139ac 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080139ac HttpClient::endOfStream() .text._ZN10HttpClient15headerAvailableEv - 0x080125c0 0x48 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x080125c0 HttpClient::headerAvailable() + 0x080139b0 0x48 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080139b0 HttpClient::headerAvailable() .text.startup._GLOBAL__sub_I__ZN10HttpClient10kUserAgentE - 0x08012608 0x1c .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x080139f8 0x1c .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) .text._ZN5Print5flushEv - 0x08012624 0x2 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012624 Print::flush() + 0x08013a14 0x2 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013a14 Print::flush() .text._ZN12PubSubClient5writeEh - 0x08012626 0x1a .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012626 PubSubClient::write(unsigned char) + 0x08013a16 0x1a .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013a16 PubSubClient::write(unsigned char) .text._ZN12PubSubClient5writeEPKhj - 0x08012640 0x1e .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012640 PubSubClient::write(unsigned char const*, unsigned int) + 0x08013a30 0x1e .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013a30 PubSubClient::write(unsigned char const*, unsigned int) .text._ZN12PubSubClientD2Ev - 0x0801265e 0xe .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x0801265e PubSubClient::~PubSubClient() - 0x0801265e PubSubClient::~PubSubClient() + 0x08013a4e 0xe .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013a4e PubSubClient::~PubSubClient() + 0x08013a4e PubSubClient::~PubSubClient() .text._ZN12PubSubClient8readByteEPh - 0x0801266c 0x46 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x0801266c PubSubClient::readByte(unsigned char*) + 0x08013a5c 0x46 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013a5c PubSubClient::readByte(unsigned char*) .text._ZN12PubSubClient8readByteEPhPt - 0x080126b2 0x14 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x080126b2 PubSubClient::readByte(unsigned char*, unsigned short*) + 0x08013aa2 0x14 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013aa2 PubSubClient::readByte(unsigned char*, unsigned short*) .text._ZN12PubSubClient10readPacketEPh - 0x080126c6 0x136 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x080126c6 PubSubClient::readPacket(unsigned char*) + 0x08013ab6 0x136 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013ab6 PubSubClient::readPacket(unsigned char*) .text._ZN12PubSubClient11buildHeaderEhPht - 0x080127fc 0x44 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x080127fc PubSubClient::buildHeader(unsigned char, unsigned char*, unsigned short) + 0x08013bec 0x44 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013bec PubSubClient::buildHeader(unsigned char, unsigned char*, unsigned short) .text._ZN12PubSubClient5writeEhPht - 0x08012840 0x34 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012840 PubSubClient::write(unsigned char, unsigned char*, unsigned short) + 0x08013c30 0x34 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013c30 PubSubClient::write(unsigned char, unsigned char*, unsigned short) .text._ZN12PubSubClient10disconnectEv - 0x08012874 0x3c .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012874 PubSubClient::disconnect() + 0x08013c64 0x3c .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013c64 PubSubClient::disconnect() .text._ZN12PubSubClient11writeStringEPKcPht - 0x080128b0 0x2c .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x080128b0 PubSubClient::writeString(char const*, unsigned char*, unsigned short) + 0x08013ca0 0x2c .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013ca0 PubSubClient::writeString(char const*, unsigned char*, unsigned short) .text._ZN12PubSubClient9connectedEv - 0x080128dc 0x3a .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x080128dc PubSubClient::connected() - *fill* 0x08012916 0x2 + 0x08013ccc 0x3a .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013ccc PubSubClient::connected() + *fill* 0x08013d06 0x2 .text._ZN12PubSubClient7connectEPKcS1_S1_S1_hbS1_b - 0x08012918 0x1fc .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012918 PubSubClient::connect(char const*, char const*, char const*, char const*, unsigned char, bool, char const*, bool) + 0x08013d08 0x1fc .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013d08 PubSubClient::connect(char const*, char const*, char const*, char const*, unsigned char, bool, char const*, bool) .text._ZN12PubSubClient7connectEPKcS1_S1_S1_hbS1_ - 0x08012b14 0x24 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012b14 PubSubClient::connect(char const*, char const*, char const*, char const*, unsigned char, bool, char const*) + 0x08013f04 0x24 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013f04 PubSubClient::connect(char const*, char const*, char const*, char const*, unsigned char, bool, char const*) .text._ZN12PubSubClient4loopEv - 0x08012b38 0x168 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012b38 PubSubClient::loop() + 0x08013f28 0x168 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08013f28 PubSubClient::loop() .text._ZN12PubSubClient11deleteTopicEPKc - 0x08012ca0 0x4c .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012ca0 PubSubClient::deleteTopic(char const*) + 0x08014090 0x4c .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08014090 PubSubClient::deleteTopic(char const*) .text._ZN12PubSubClient7publishEPKcPKhjb - 0x08012cec 0x66 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012cec PubSubClient::publish(char const*, unsigned char const*, unsigned int, bool) + 0x080140dc 0x66 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x080140dc PubSubClient::publish(char const*, unsigned char const*, unsigned int, bool) .text._ZN12PubSubClient7publishEPKcS1_ - 0x08012d52 0x2a .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012d52 PubSubClient::publish(char const*, char const*) + 0x08014142 0x2a .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08014142 PubSubClient::publish(char const*, char const*) .text._ZN12PubSubClient7publishEPKcS1_b - 0x08012d7c 0x2a .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012d7c PubSubClient::publish(char const*, char const*, bool) + 0x0801416c 0x2a .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x0801416c PubSubClient::publish(char const*, char const*, bool) .text._ZN12PubSubClient9subscribeEPKch - 0x08012da6 0x68 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012da6 PubSubClient::subscribe(char const*, unsigned char) + 0x08014196 0x68 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08014196 PubSubClient::subscribe(char const*, unsigned char) .text._ZN12PubSubClient9subscribeEPKc - 0x08012e0e 0x6 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012e0e PubSubClient::subscribe(char const*) + 0x080141fe 0x6 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x080141fe PubSubClient::subscribe(char const*) .text._ZN12PubSubClient11unsubscribeEPKc - 0x08012e14 0x5a .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012e14 PubSubClient::unsubscribe(char const*) + 0x08014204 0x5a .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08014204 PubSubClient::unsubscribe(char const*) .text._ZN12PubSubClient9setServerEPKct - 0x08012e6e 0x6 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012e6e PubSubClient::setServer(char const*, unsigned short) + 0x0801425e 0x6 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x0801425e PubSubClient::setServer(char const*, unsigned short) .text._ZN12PubSubClient11setCallbackEPFvPcPhjE - 0x08012e74 0x4 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012e74 PubSubClient::setCallback(void (*)(char*, unsigned char*, unsigned int)) + 0x08014264 0x4 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08014264 PubSubClient::setCallback(void (*)(char*, unsigned char*, unsigned int)) .text._ZN12PubSubClient5stateEv - 0x08012e78 0x4 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012e78 PubSubClient::state() + 0x08014268 0x4 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x08014268 PubSubClient::state() .text._ZN12PubSubClient13setBufferSizeEt - 0x08012e7c 0x2e .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012e7c PubSubClient::setBufferSize(unsigned short) - *fill* 0x08012eaa 0x2 + 0x0801426c 0x2e .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x0801426c PubSubClient::setBufferSize(unsigned short) + *fill* 0x0801429a 0x2 .text._ZN12PubSubClientC2ER6Client - 0x08012eac 0x38 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x08012eac PubSubClient::PubSubClient(Client&) - 0x08012eac PubSubClient::PubSubClient(Client&) + 0x0801429c 0x38 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x0801429c PubSubClient::PubSubClient(Client&) + 0x0801429c PubSubClient::PubSubClient(Client&) .text.startup._GLOBAL__sub_I__ZN12PubSubClientC2Ev - 0x08012ee4 0x1c .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x080142d4 0x1c .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) .text._ZN10W5100Class9writeSIPREPKh.isra.0 - 0x08012f00 0xa .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x080142f0 0xa .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) .text._ZN10W5100Class9writeSHAREPKh.isra.0 - 0x08012f0a 0xa .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x080142fa 0xa .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) .text._ZN10W5100Class9writeSUBREPKh.isra.0 - 0x08012f14 0xa .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x08014304 0xa .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) .text._ZN10W5100Class8writeGAREPKh.isra.0 - 0x08012f1e 0xa .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x0801430e 0xa .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) .text._ZN13EthernetClass5beginEPhmm - 0x08012f28 0x10c .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) - 0x08012f28 EthernetClass::begin(unsigned char*, unsigned long, unsigned long) + 0x08014318 0x10c .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x08014318 EthernetClass::begin(unsigned char*, unsigned long, unsigned long) .text._ZN13EthernetClass5beginEPh9IPAddressS1_S1_S1_ - 0x08013034 0x5c .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) - 0x08013034 EthernetClass::begin(unsigned char*, IPAddress, IPAddress, IPAddress, IPAddress) + 0x08014424 0x5c .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x08014424 EthernetClass::begin(unsigned char*, IPAddress, IPAddress, IPAddress, IPAddress) .text._ZN13EthernetClass5beginEPh9IPAddressS1_S1_ - 0x08013090 0x54 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) - 0x08013090 EthernetClass::begin(unsigned char*, IPAddress, IPAddress, IPAddress) + 0x08014480 0x54 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x08014480 EthernetClass::begin(unsigned char*, IPAddress, IPAddress, IPAddress) .text._ZN13EthernetClass5beginEPh9IPAddressS1_ - 0x080130e4 0x34 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) - 0x080130e4 EthernetClass::begin(unsigned char*, IPAddress, IPAddress) + 0x080144d4 0x34 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x080144d4 EthernetClass::begin(unsigned char*, IPAddress, IPAddress) .text._ZN13EthernetClass5beginEPh9IPAddress - 0x08013118 0x2c .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) - 0x08013118 EthernetClass::begin(unsigned char*, IPAddress) + 0x08014508 0x2c .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x08014508 EthernetClass::begin(unsigned char*, IPAddress) .text._ZN13EthernetClass10linkStatusEv - 0x08013144 0x14 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) - 0x08013144 EthernetClass::linkStatus() + 0x08014534 0x14 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x08014534 EthernetClass::linkStatus() .text._ZN13EthernetClass7localIPEv - 0x08013158 0x40 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) - 0x08013158 EthernetClass::localIP() + 0x08014548 0x40 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x08014548 EthernetClass::localIP() .text._ZN13EthernetClass10subnetMaskEv - 0x08013198 0x40 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) - 0x08013198 EthernetClass::subnetMask() + 0x08014588 0x40 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x08014588 EthernetClass::subnetMask() .text._ZN13EthernetClass9gatewayIPEv - 0x080131d8 0x40 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) - 0x080131d8 EthernetClass::gatewayIP() + 0x080145c8 0x40 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x080145c8 EthernetClass::gatewayIP() .text.startup._GLOBAL__sub_I__ZN13EthernetClass17_dnsServerAddressE - 0x08013218 0x24 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x08014608 0x24 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) .text._ZN14EthernetClientD2Ev - 0x0801323c 0x2 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x0801323c EthernetClient::~EthernetClient() - 0x0801323c EthernetClient::~EthernetClient() + 0x0801462c 0x2 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x0801462c EthernetClient::~EthernetClient() + 0x0801462c EthernetClient::~EthernetClient() .text._ZN14EthernetClientcvbEv - 0x0801323e 0xc .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x0801323e EthernetClient::operator bool() + 0x0801462e 0xc .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x0801462e EthernetClient::operator bool() .text._ZN14EthernetClienteqEb - 0x0801324a 0x6 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x0801324a EthernetClient::operator==(bool) + 0x0801463a 0x6 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x0801463a EthernetClient::operator==(bool) .text._ZN14EthernetClientneEb - 0x08013250 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x08013250 EthernetClient::operator!=(bool) + 0x08014640 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x08014640 EthernetClient::operator!=(bool) .text._ZN14EthernetClientneERKS_ - 0x08013254 0x10 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x08013254 EthernetClient::operator!=(EthernetClient const&) + 0x08014644 0x10 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x08014644 EthernetClient::operator!=(EthernetClient const&) .text._ZN14EthernetClient20setConnectionTimeoutEt - 0x08013264 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x08013264 EthernetClient::setConnectionTimeout(unsigned short) + 0x08014654 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x08014654 EthernetClient::setConnectionTimeout(unsigned short) .text._ZN14EthernetClient5writeEh - 0x08013268 0x18 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x08013268 EthernetClient::write(unsigned char) + 0x08014658 0x18 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x08014658 EthernetClient::write(unsigned char) .text._ZN14EthernetClienteqERKS_ - 0x08013280 0x16 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x08013280 EthernetClient::operator==(EthernetClient const&) - *fill* 0x08013296 0x2 + 0x08014670 0x16 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x08014670 EthernetClient::operator==(EthernetClient const&) + *fill* 0x08014686 0x2 .text._ZN14EthernetClient9connectedEv - 0x08013298 0x40 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x08013298 EthernetClient::connected() + 0x08014688 0x40 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x08014688 EthernetClient::connected() .text._ZN14EthernetClient7connectEPKct - 0x080132d8 0x8c .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x080132d8 EthernetClient::connect(char const*, unsigned short) + 0x080146c8 0x8c .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x080146c8 EthernetClient::connect(char const*, unsigned short) .text._ZN14EthernetClient4stopEv - 0x08013364 0x3c .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x08013364 EthernetClient::stop() + 0x08014754 0x3c .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x08014754 EthernetClient::stop() .text._ZN14EthernetClient7connectE9IPAddresst - 0x080133a0 0x98 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x080133a0 EthernetClient::connect(IPAddress, unsigned short) + 0x08014790 0x98 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x08014790 EthernetClient::connect(IPAddress, unsigned short) .text._ZN14EthernetClient17availableForWriteEv - 0x08013438 0x12 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x08013438 EthernetClient::availableForWrite() + 0x08014828 0x12 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x08014828 EthernetClient::availableForWrite() .text._ZN14EthernetClient5flushEv - 0x0801344a 0x24 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x0801344a EthernetClient::flush() + 0x0801483a 0x24 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x0801483a EthernetClient::flush() .text._ZN14EthernetClient5writeEPKhj - 0x0801346e 0x1e .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x0801346e EthernetClient::write(unsigned char const*, unsigned int) + 0x0801485e 0x1e .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x0801485e EthernetClient::write(unsigned char const*, unsigned int) .text._ZN14EthernetClient9availableEv - 0x0801348c 0x12 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x0801348c EthernetClient::available() + 0x0801487c 0x12 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x0801487c EthernetClient::available() .text._ZN14EthernetClient4readEPhj - 0x0801349e 0x10 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x0801349e EthernetClient::read(unsigned char*, unsigned int) + 0x0801488e 0x10 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x0801488e EthernetClient::read(unsigned char*, unsigned int) .text._ZN14EthernetClient4readEv - 0x080134ae 0x20 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x080134ae EthernetClient::read() + 0x0801489e 0x20 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x0801489e EthernetClient::read() .text._ZN14EthernetClient4peekEv - 0x080134ce 0x22 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x080134ce EthernetClient::peek() + 0x080148be 0x22 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x080148be EthernetClient::peek() .text._ZN14EthernetClientD0Ev - 0x080134f0 0xe .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x080134f0 EthernetClient::~EthernetClient() - *fill* 0x080134fe 0x2 + 0x080148e0 0xe .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x080148e0 EthernetClient::~EthernetClient() + *fill* 0x080148ee 0x2 .text._ZN10W5100Class6readSnEhtPht.isra.0 - 0x08013500 0x20 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x080148f0 0x20 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) .text._ZN14EthernetClient8remoteIPEv - 0x08013520 0x54 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x08013520 EthernetClient::remoteIP() + 0x08014910 0x54 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x08014910 EthernetClient::remoteIP() .text._ZN14EthernetClient10remotePortEv - 0x08013574 0x4c .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x08013574 EthernetClient::remotePort() + 0x08014964 0x4c .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x08014964 EthernetClient::remotePort() .text._ZN14EthernetClient9localPortEv - 0x080135c0 0x4c .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x080135c0 EthernetClient::localPort() + 0x080149b0 0x4c .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x080149b0 EthernetClient::localPort() .text.startup._GLOBAL__sub_I__ZN14EthernetClient7connectEPKct - 0x0801360c 0x1c .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x080149fc 0x1c .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) .text._ZN11EthernetUDP4readEPcj - 0x08013628 0x6 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x08013628 EthernetUDP::read(char*, unsigned int) - *fill* 0x0801362e 0x2 + 0x08014a18 0x6 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014a18 EthernetUDP::read(char*, unsigned int) + *fill* 0x08014a1e 0x2 .text._ZN11EthernetUDP8remoteIPEv - 0x08013630 0x10 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x08013630 EthernetUDP::remoteIP() + 0x08014a20 0x10 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014a20 EthernetUDP::remoteIP() .text._ZN11EthernetUDP10remotePortEv - 0x08013640 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x08013640 EthernetUDP::remotePort() + 0x08014a30 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014a30 EthernetUDP::remotePort() .text._ZN11EthernetUDP9localPortEv - 0x08013644 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x08013644 EthernetUDP::localPort() + 0x08014a34 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014a34 EthernetUDP::localPort() .text._ZN11EthernetUDP9availableEv - 0x08013648 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x08013648 EthernetUDP::available() + 0x08014a38 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014a38 EthernetUDP::available() .text._ZN11EthernetUDP5writeEh - 0x0801364c 0x18 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x0801364c EthernetUDP::write(unsigned char) + 0x08014a3c 0x18 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014a3c EthernetUDP::write(unsigned char) .text._ZN11EthernetUDP5flushEv - 0x08013664 0x2 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x08013664 EthernetUDP::flush() + 0x08014a54 0x2 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014a54 EthernetUDP::flush() .text._ZN11EthernetUDP4stopEv - 0x08013666 0x18 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x08013666 EthernetUDP::stop() + 0x08014a56 0x18 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014a56 EthernetUDP::stop() .text._ZN11EthernetUDP5beginEt - 0x0801367e 0x2e .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x0801367e EthernetUDP::begin(unsigned short) + 0x08014a6e 0x2e .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014a6e EthernetUDP::begin(unsigned short) .text._ZN11EthernetUDP11beginPacketEPKct - 0x080136ac 0x78 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x080136ac EthernetUDP::beginPacket(char const*, unsigned short) + 0x08014a9c 0x78 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014a9c EthernetUDP::beginPacket(char const*, unsigned short) .text._ZN11EthernetUDP11beginPacketE9IPAddresst - 0x08013724 0x12 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x08013724 EthernetUDP::beginPacket(IPAddress, unsigned short) + 0x08014b14 0x12 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014b14 EthernetUDP::beginPacket(IPAddress, unsigned short) .text._ZN11EthernetUDP9endPacketEv - 0x08013736 0xc .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x08013736 EthernetUDP::endPacket() + 0x08014b26 0xc .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014b26 EthernetUDP::endPacket() .text._ZN11EthernetUDP5writeEPKhj - 0x08013742 0x1a .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x08013742 EthernetUDP::write(unsigned char const*, unsigned int) + 0x08014b32 0x1a .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014b32 EthernetUDP::write(unsigned char const*, unsigned int) .text._ZN11EthernetUDP4readEv - 0x0801375c 0x2e .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x0801375c EthernetUDP::read() + 0x08014b4c 0x2e .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014b4c EthernetUDP::read() .text._ZN11EthernetUDP4readEPhj - 0x0801378a 0x2a .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x0801378a EthernetUDP::read(unsigned char*, unsigned int) + 0x08014b7a 0x2a .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014b7a EthernetUDP::read(unsigned char*, unsigned int) .text._ZN11EthernetUDP4peekEv - 0x080137b4 0x1c .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x080137b4 EthernetUDP::peek() + 0x08014ba4 0x1c .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014ba4 EthernetUDP::peek() .text._ZN11EthernetUDP14beginMulticastE9IPAddresst - 0x080137d0 0x40 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x080137d0 EthernetUDP::beginMulticast(IPAddress, unsigned short) + 0x08014bc0 0x40 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014bc0 EthernetUDP::beginMulticast(IPAddress, unsigned short) .text._ZN11EthernetUDP11parsePacketEv - 0x08013810 0x4e .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x08013810 EthernetUDP::parsePacket() - *fill* 0x0801385e 0x2 + 0x08014c00 0x4e .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014c00 EthernetUDP::parsePacket() + *fill* 0x08014c4e 0x2 .text.startup._GLOBAL__sub_I__ZN11EthernetUDP5beginEt - 0x08013860 0x1c .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x08014c50 0x1c .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) .text._ZN10W5100Class7writeSnEhtPht.isra.0 - 0x0801387c 0x20 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014c6c 0x20 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) .text._ZN10W5100Class6readSnEhtPht.isra.0 - 0x0801389c 0x20 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014c8c 0x20 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) .text._ZN10W5100Class7writeSnEhth.isra.0 - 0x080138bc 0x28 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014cac 0x28 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) .text._ZL10write_datahtPKht - 0x080138e4 0xa8 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014cd4 0xa8 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) .text._ZN10W5100Class6readSnEht - 0x0801398c 0x28 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x0801398c W5100Class::readSn(unsigned char, unsigned short) + 0x08014d7c 0x28 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014d7c W5100Class::readSn(unsigned char, unsigned short) .text._ZN10W5100Class8readSnSREh - 0x080139b4 0xa .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x080139b4 W5100Class::readSnSR(unsigned char) + 0x08014da4 0xa .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014da4 W5100Class::readSnSR(unsigned char) .text._ZN10W5100Class11writeSnPORTEht - 0x080139be 0x18 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x080139be W5100Class::writeSnPORT(unsigned char, unsigned short) + 0x08014dae 0x18 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014dae W5100Class::writeSnPORT(unsigned char, unsigned short) .text._ZN10W5100Class12writeSnDPORTEht - 0x080139d6 0x18 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x080139d6 W5100Class::writeSnDPORT(unsigned char, unsigned short) + 0x08014dc6 0x18 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014dc6 W5100Class::writeSnDPORT(unsigned char, unsigned short) .text._ZN10W5100Class12readSnTX_FSREh - 0x080139ee 0x1a .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x080139ee W5100Class::readSnTX_FSR(unsigned char) + 0x08014dde 0x1a .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014dde W5100Class::readSnTX_FSR(unsigned char) .text._ZL11getSnTX_FSRh - 0x08013a08 0x28 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014df8 0x28 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) .text._ZN10W5100Class12readSnRX_RSREh - 0x08013a30 0x1a .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08013a30 W5100Class::readSnRX_RSR(unsigned char) + 0x08014e20 0x1a .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014e20 W5100Class::readSnRX_RSR(unsigned char) .text._ZN10W5100Class11readSnRX_RDEh - 0x08013a4a 0x1a .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08013a4a W5100Class::readSnRX_RD(unsigned char) + 0x08014e3a 0x1a .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014e3a W5100Class::readSnRX_RD(unsigned char) .text._ZN10W5100Class5RBASEEh - 0x08013a64 0x18 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08013a64 W5100Class::RBASE(unsigned char) + 0x08014e54 0x18 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014e54 W5100Class::RBASE(unsigned char) .text._ZN13EthernetClass14socketPortRandEt - 0x08013a7c 0x14 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08013a7c EthernetClass::socketPortRand(unsigned short) + 0x08014e6c 0x14 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014e6c EthernetClass::socketPortRand(unsigned short) .text._ZN13EthernetClass11socketBeginEht - 0x08013a90 0x134 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08013a90 EthernetClass::socketBegin(unsigned char, unsigned short) + 0x08014e80 0x134 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014e80 EthernetClass::socketBegin(unsigned char, unsigned short) .text._ZN13EthernetClass20socketBeginMulticastEh9IPAddresst - 0x08013bc4 0x178 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08013bc4 EthernetClass::socketBeginMulticast(unsigned char, IPAddress, unsigned short) + 0x08014fb4 0x178 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08014fb4 EthernetClass::socketBeginMulticast(unsigned char, IPAddress, unsigned short) .text._ZN13EthernetClass12socketStatusEh - 0x08013d3c 0x38 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08013d3c EthernetClass::socketStatus(unsigned char) + 0x0801512c 0x38 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x0801512c EthernetClass::socketStatus(unsigned char) .text._ZN13EthernetClass11socketCloseEh - 0x08013d74 0x38 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08013d74 EthernetClass::socketClose(unsigned char) + 0x08015164 0x38 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08015164 EthernetClass::socketClose(unsigned char) .text._ZN13EthernetClass13socketConnectEhPht - 0x08013dac 0x50 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08013dac EthernetClass::socketConnect(unsigned char, unsigned char*, unsigned short) + 0x0801519c 0x50 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x0801519c EthernetClass::socketConnect(unsigned char, unsigned char*, unsigned short) .text._ZN13EthernetClass16socketDisconnectEh - 0x08013dfc 0x38 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08013dfc EthernetClass::socketDisconnect(unsigned char) + 0x080151ec 0x38 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x080151ec EthernetClass::socketDisconnect(unsigned char) .text._ZN13EthernetClass10socketRecvEhPhs - 0x08013e34 0x134 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08013e34 EthernetClass::socketRecv(unsigned char, unsigned char*, short) + 0x08015224 0x134 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08015224 EthernetClass::socketRecv(unsigned char, unsigned char*, short) .text._ZN13EthernetClass19socketRecvAvailableEh - 0x08013f68 0x5c .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08013f68 EthernetClass::socketRecvAvailable(unsigned char) + 0x08015358 0x5c .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08015358 EthernetClass::socketRecvAvailable(unsigned char) .text._ZN13EthernetClass10socketPeekEh - 0x08013fc4 0x54 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08013fc4 EthernetClass::socketPeek(unsigned char) + 0x080153b4 0x54 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x080153b4 EthernetClass::socketPeek(unsigned char) .text._ZN13EthernetClass10socketSendEhPKht - 0x08014018 0xf0 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08014018 EthernetClass::socketSend(unsigned char, unsigned char const*, unsigned short) + 0x08015408 0xf0 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08015408 EthernetClass::socketSend(unsigned char, unsigned char const*, unsigned short) .text._ZN13EthernetClass19socketSendAvailableEh - 0x08014108 0x48 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08014108 EthernetClass::socketSendAvailable(unsigned char) + 0x080154f8 0x48 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x080154f8 EthernetClass::socketSendAvailable(unsigned char) .text._ZN13EthernetClass16socketBufferDataEhtPKht - 0x08014150 0x58 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08014150 EthernetClass::socketBufferData(unsigned char, unsigned short, unsigned char const*, unsigned short) + 0x08015540 0x58 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08015540 EthernetClass::socketBufferData(unsigned char, unsigned short, unsigned char const*, unsigned short) .text._ZN13EthernetClass14socketStartUDPEhPht - 0x080141a8 0x5c .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x080141a8 EthernetClass::socketStartUDP(unsigned char, unsigned char*, unsigned short) + 0x08015598 0x5c .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08015598 EthernetClass::socketStartUDP(unsigned char, unsigned char*, unsigned short) .text._ZN13EthernetClass13socketSendUDPEh - 0x08014204 0x94 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - 0x08014204 EthernetClass::socketSendUDP(unsigned char) + 0x080155f4 0x94 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x080155f4 EthernetClass::socketSendUDP(unsigned char) .text.startup._GLOBAL__sub_I__ZN13EthernetClass14socketPortRandEt - 0x08014298 0x1c .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x08015688 0x1c .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) .text._ZN10W5100Class5setSSEv - 0x080142b4 0x10 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x080142b4 W5100Class::setSS() + 0x080156a4 0x10 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x080156a4 W5100Class::setSS() .text._ZN10W5100Class7resetSSEv - 0x080142c4 0x10 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x080142c4 W5100Class::resetSS() + 0x080156b4 0x10 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x080156b4 W5100Class::resetSS() .text._ZN10W5100Class5writeEtPKht - 0x080142d4 0x134 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x080142d4 W5100Class::write(unsigned short, unsigned char const*, unsigned short) + 0x080156c4 0x134 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x080156c4 W5100Class::write(unsigned short, unsigned char const*, unsigned short) .text._ZN10W5100Class7writeSnEhth.isra.0 - 0x08014408 0x28 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x080157f8 0x28 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) .text._ZN10W5100Class7writeMREh - 0x08014430 0x18 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x08014430 W5100Class::writeMR(unsigned char) + 0x08015820 0x18 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x08015820 W5100Class::writeMR(unsigned char) .text._ZN10W5100Class4readEtPht - 0x08014448 0x100 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x08014448 W5100Class::read(unsigned short, unsigned char*, unsigned short) + 0x08015838 0x100 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x08015838 W5100Class::read(unsigned short, unsigned char*, unsigned short) .text._ZN10W5100Class4readEt - 0x08014548 0x16 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x08014548 W5100Class::read(unsigned short) + 0x08015938 0x16 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x08015938 W5100Class::read(unsigned short) .text._ZN10W5100Class6readMREv - 0x0801455e 0xa .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x0801455e W5100Class::readMR() + 0x0801594e 0xa .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x0801594e W5100Class::readMR() .text._ZN10W5100Class9softResetEv - 0x08014568 0x26 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x08014568 W5100Class::softReset() - *fill* 0x0801458e 0x2 + 0x08015958 0x26 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x08015958 W5100Class::softReset() + *fill* 0x0801597e 0x2 .text._ZN10W5100Class7isW5100Ev - 0x08014590 0x44 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x08014590 W5100Class::isW5100() + 0x08015980 0x44 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x08015980 W5100Class::isW5100() .text._ZN10W5100Class7isW5200Ev - 0x080145d4 0x50 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x080145d4 W5100Class::isW5200() + 0x080159c4 0x50 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x080159c4 W5100Class::isW5200() .text._ZN10W5100Class7isW5500Ev - 0x08014624 0x50 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x08014624 W5100Class::isW5500() + 0x08015a14 0x50 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x08015a14 W5100Class::isW5500() .text._ZN10W5100Class4initEv - 0x08014674 0xd4 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x08014674 W5100Class::init() + 0x08015a64 0xd4 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x08015a64 W5100Class::init() .text._ZN10W5100Class13getLinkStatusEv - 0x08014748 0x88 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x08014748 W5100Class::getLinkStatus() + 0x08015b38 0x88 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x08015b38 W5100Class::getLinkStatus() .text._ZN10W5100Class9execCmdSnEh7SockCMD - 0x080147d0 0x28 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x080147d0 W5100Class::execCmdSn(unsigned char, SockCMD) + 0x08015bc0 0x28 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x08015bc0 W5100Class::execCmdSn(unsigned char, SockCMD) .text.startup._GLOBAL__sub_I__ZN10W5100Class4chipE - 0x080147f8 0x1c .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x08015be8 0x1c .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) .text._ZN9DhcpClass16reset_DHCP_leaseEv - 0x08014814 0xa .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) - 0x08014814 DhcpClass::reset_DHCP_lease() + 0x08015c04 0xa .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) + 0x08015c04 DhcpClass::reset_DHCP_lease() .text._ZN9DhcpClass10getLocalIpEv - 0x0801481e 0xe .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) - 0x0801481e DhcpClass::getLocalIp() + 0x08015c0e 0xe .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) + 0x08015c0e DhcpClass::getLocalIp() .text._ZN9DhcpClass13getSubnetMaskEv - 0x0801482c 0xe .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) - 0x0801482c DhcpClass::getSubnetMask() + 0x08015c1c 0xe .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) + 0x08015c1c DhcpClass::getSubnetMask() .text._ZN9DhcpClass12getGatewayIpEv - 0x0801483a 0xe .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) - 0x0801483a DhcpClass::getGatewayIp() + 0x08015c2a 0xe .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) + 0x08015c2a DhcpClass::getGatewayIp() .text._ZN9DhcpClass14getDnsServerIpEv - 0x08014848 0xe .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) - 0x08014848 DhcpClass::getDnsServerIp() + 0x08015c38 0xe .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) + 0x08015c38 DhcpClass::getDnsServerIp() .text._ZN9DhcpClass9printByteEPch - 0x08014856 0x22 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) - 0x08014856 DhcpClass::printByte(char*, unsigned char) + 0x08015c46 0x22 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) + 0x08015c46 DhcpClass::printByte(char*, unsigned char) .text.startup._GLOBAL__sub_I__ZN9DhcpClass13beginWithDHCPEPhmm - 0x08014878 0x1c .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) + 0x08015c68 0x1c .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) .text._ZN9DhcpClass17send_DHCP_MESSAGEEht - 0x08014894 0x170 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) - 0x08014894 DhcpClass::send_DHCP_MESSAGE(unsigned char, unsigned short) + 0x08015c84 0x170 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) + 0x08015c84 DhcpClass::send_DHCP_MESSAGE(unsigned char, unsigned short) .text._ZN9DhcpClass17parseDHCPResponseEmRm - 0x08014a04 0x208 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) - 0x08014a04 DhcpClass::parseDHCPResponse(unsigned long, unsigned long&) + 0x08015df4 0x208 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) + 0x08015df4 DhcpClass::parseDHCPResponse(unsigned long, unsigned long&) .text._ZN9DhcpClass18request_DHCP_leaseEv - 0x08014c0c 0x140 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) - 0x08014c0c DhcpClass::request_DHCP_lease() + 0x08015ffc 0x140 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) + 0x08015ffc DhcpClass::request_DHCP_lease() .text._ZN9DhcpClass13beginWithDHCPEPhmm - 0x08014d4c 0x30 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) - 0x08014d4c DhcpClass::beginWithDHCP(unsigned char*, unsigned long, unsigned long) + 0x0801613c 0x30 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) + 0x0801613c DhcpClass::beginWithDHCP(unsigned char*, unsigned long, unsigned long) .text._ZN9DNSClient5beginERK9IPAddress - 0x08014d7c 0xa .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) - 0x08014d7c DNSClient::begin(IPAddress const&) + 0x0801616c 0xa .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) + 0x0801616c DNSClient::begin(IPAddress const&) .text._ZN9DNSClient9inet_atonEPKcR9IPAddress - 0x08014d86 0x46 .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) - 0x08014d86 DNSClient::inet_aton(char const*, IPAddress&) + 0x08016176 0x46 .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) + 0x08016176 DNSClient::inet_aton(char const*, IPAddress&) .text.startup._GLOBAL__sub_I__ZN9DNSClient5beginERK9IPAddress - 0x08014dcc 0x1c .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) + 0x080161bc 0x1c .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) .text._ZN9DNSClient12BuildRequestEPKc - 0x08014de8 0xe6 .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) - 0x08014de8 DNSClient::BuildRequest(char const*) + 0x080161d8 0xe6 .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) + 0x080161d8 DNSClient::BuildRequest(char const*) .text._ZN9DNSClient15ProcessResponseEtR9IPAddress - 0x08014ece 0x1c2 .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) - 0x08014ece DNSClient::ProcessResponse(unsigned short, IPAddress&) + 0x080162be 0x1c2 .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) + 0x080162be DNSClient::ProcessResponse(unsigned short, IPAddress&) .text._ZN9DNSClient13getHostByNameEPKcR9IPAddresst - 0x08015090 0x8c .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) - 0x08015090 DNSClient::getHostByName(char const*, IPAddress&, unsigned short) + 0x08016480 0x8c .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) + 0x08016480 DNSClient::getHostByName(char const*, IPAddress&, unsigned short) .text.startup._GLOBAL__sub_I__ZN14EthernetServer11server_portE - 0x0801511c 0x1c .pio/build/stm32/liba17/libEthernet.a(EthernetServer.cpp.o) + 0x0801650c 0x1c .pio/build/stm32/liba17/libEthernet.a(EthernetServer.cpp.o) .text._ZN17Adafruit_NeoPixelD2Ev - 0x08015138 0x1c .pio/build/stm32/libed9/libAdafruit NeoPixel.a(Adafruit_NeoPixel.cpp.o) - 0x08015138 Adafruit_NeoPixel::~Adafruit_NeoPixel() - 0x08015138 Adafruit_NeoPixel::~Adafruit_NeoPixel() + 0x08016528 0x1c .pio/build/stm32/libed9/libAdafruit NeoPixel.a(Adafruit_NeoPixel.cpp.o) + 0x08016528 Adafruit_NeoPixel::~Adafruit_NeoPixel() + 0x08016528 Adafruit_NeoPixel::~Adafruit_NeoPixel() .text._ZN17Adafruit_NeoPixel12updateLengthEt - 0x08015154 0x3a .pio/build/stm32/libed9/libAdafruit NeoPixel.a(Adafruit_NeoPixel.cpp.o) - 0x08015154 Adafruit_NeoPixel::updateLength(unsigned short) + 0x08016544 0x3a .pio/build/stm32/libed9/libAdafruit NeoPixel.a(Adafruit_NeoPixel.cpp.o) + 0x08016544 Adafruit_NeoPixel::updateLength(unsigned short) .text._ZN17Adafruit_NeoPixel10updateTypeEt - 0x0801518e 0x4a .pio/build/stm32/libed9/libAdafruit NeoPixel.a(Adafruit_NeoPixel.cpp.o) - 0x0801518e Adafruit_NeoPixel::updateType(unsigned short) + 0x0801657e 0x4a .pio/build/stm32/libed9/libAdafruit NeoPixel.a(Adafruit_NeoPixel.cpp.o) + 0x0801657e Adafruit_NeoPixel::updateType(unsigned short) .text._ZN17Adafruit_NeoPixel6setPinEs - 0x080151d8 0x9c .pio/build/stm32/libed9/libAdafruit NeoPixel.a(Adafruit_NeoPixel.cpp.o) - 0x080151d8 Adafruit_NeoPixel::setPin(short) + 0x080165c8 0x9c .pio/build/stm32/libed9/libAdafruit NeoPixel.a(Adafruit_NeoPixel.cpp.o) + 0x080165c8 Adafruit_NeoPixel::setPin(short) .text._ZN17Adafruit_NeoPixelC2Etst - 0x08015274 0x2c .pio/build/stm32/libed9/libAdafruit NeoPixel.a(Adafruit_NeoPixel.cpp.o) - 0x08015274 Adafruit_NeoPixel::Adafruit_NeoPixel(unsigned short, short, unsigned short) - 0x08015274 Adafruit_NeoPixel::Adafruit_NeoPixel(unsigned short, short, unsigned short) + 0x08016664 0x2c .pio/build/stm32/libed9/libAdafruit NeoPixel.a(Adafruit_NeoPixel.cpp.o) + 0x08016664 Adafruit_NeoPixel::Adafruit_NeoPixel(unsigned short, short, unsigned short) + 0x08016664 Adafruit_NeoPixel::Adafruit_NeoPixel(unsigned short, short, unsigned short) .text._ZN17Adafruit_NeoPixel8ColorHSVEthh - 0x080152a0 0xb4 .pio/build/stm32/libed9/libAdafruit NeoPixel.a(Adafruit_NeoPixel.cpp.o) - 0x080152a0 Adafruit_NeoPixel::ColorHSV(unsigned short, unsigned char, unsigned char) + 0x08016690 0xb4 .pio/build/stm32/libed9/libAdafruit NeoPixel.a(Adafruit_NeoPixel.cpp.o) + 0x08016690 Adafruit_NeoPixel::ColorHSV(unsigned short, unsigned char, unsigned char) .text._ZN7TwoWire9availableEv - 0x08015354 0x8 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x08015354 TwoWire::available() + 0x08016744 0x8 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x08016744 TwoWire::available() .text._ZN7TwoWire4readEv - 0x0801535c 0x1a .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x0801535c TwoWire::read() + 0x0801674c 0x1a .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x0801674c TwoWire::read() .text._ZN7TwoWire4peekEv - 0x08015376 0x12 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x08015376 TwoWire::peek() + 0x08016766 0x12 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x08016766 TwoWire::peek() .text._ZN7TwoWireC2Emm - 0x08015388 0xcc .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x08015388 TwoWire::TwoWire(unsigned long, unsigned long) - 0x08015388 TwoWire::TwoWire(unsigned long, unsigned long) + 0x08016778 0xcc .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x08016778 TwoWire::TwoWire(unsigned long, unsigned long) + 0x08016778 TwoWire::TwoWire(unsigned long, unsigned long) .text._ZN7TwoWire3endEv - 0x08015454 0x28 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x08015454 TwoWire::end() + 0x08016844 0x28 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x08016844 TwoWire::end() .text._ZN7TwoWireD2Ev - 0x0801547c 0x28 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x0801547c TwoWire::~TwoWire() - 0x0801547c TwoWire::~TwoWire() + 0x0801686c 0x28 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x0801686c TwoWire::~TwoWire() + 0x0801686c TwoWire::~TwoWire() .text._ZN7TwoWire16allocateTxBufferEj - 0x080154a4 0x32 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x080154a4 TwoWire::allocateTxBuffer(unsigned int) + 0x08016894 0x32 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x08016894 TwoWire::allocateTxBuffer(unsigned int) .text._ZN7TwoWire5writeEh - 0x080154d6 0x42 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x080154d6 TwoWire::write(unsigned char) + 0x080168c6 0x42 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x080168c6 TwoWire::write(unsigned char) .text._ZN7TwoWire5writeEPKhj - 0x08015518 0x42 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x08015518 TwoWire::write(unsigned char const*, unsigned int) + 0x08016908 0x42 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x08016908 TwoWire::write(unsigned char const*, unsigned int) .text._ZN7TwoWire13resetRxBufferEv - 0x0801555a 0x10 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x0801555a TwoWire::resetRxBuffer() + 0x0801694a 0x10 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x0801694a TwoWire::resetRxBuffer() .text._ZN7TwoWire13resetTxBufferEv - 0x0801556a 0x10 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x0801556a TwoWire::resetTxBuffer() + 0x0801695a 0x10 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x0801695a TwoWire::resetTxBuffer() .text._ZN7TwoWire5flushEv - 0x0801557a 0x18 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x0801557a TwoWire::flush() - *fill* 0x08015592 0x2 + 0x0801696a 0x18 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x0801696a TwoWire::flush() + *fill* 0x08016982 0x2 .text.startup._GLOBAL__sub_I__ZN7TwoWireC2Emm - 0x08015594 0x10 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x08016984 0x10 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) .text.exit._GLOBAL__sub_D__ZN7TwoWireC2Emm - 0x080155a4 0xc .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x08016994 0xc .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) .text.i2c_deinit - 0x080155b0 0x7c .pio/build/stm32/libdfc/libWire.a(twi.c.o) - 0x080155b0 i2c_deinit + 0x080169a0 0x7c .pio/build/stm32/libdfc/libWire.a(twi.c.o) + 0x080169a0 i2c_deinit .text.i2c_slave_write_IT - 0x0801562c 0x34 .pio/build/stm32/libdfc/libWire.a(twi.c.o) - 0x0801562c i2c_slave_write_IT + 0x08016a1c 0x34 .pio/build/stm32/libdfc/libWire.a(twi.c.o) + 0x08016a1c i2c_slave_write_IT .text.HAL_I2C_AddrCallback - 0x08015660 0x68 .pio/build/stm32/libdfc/libWire.a(twi.c.o) - 0x08015660 HAL_I2C_AddrCallback + 0x08016a50 0x68 .pio/build/stm32/libdfc/libWire.a(twi.c.o) + 0x08016a50 HAL_I2C_AddrCallback .text.HAL_I2C_ListenCpltCallback - 0x080156c8 0x2a .pio/build/stm32/libdfc/libWire.a(twi.c.o) - 0x080156c8 HAL_I2C_ListenCpltCallback + 0x08016ab8 0x2a .pio/build/stm32/libdfc/libWire.a(twi.c.o) + 0x08016ab8 HAL_I2C_ListenCpltCallback .text.HAL_I2C_SlaveRxCpltCallback - 0x080156f2 0x24 .pio/build/stm32/libdfc/libWire.a(twi.c.o) - 0x080156f2 HAL_I2C_SlaveRxCpltCallback + 0x08016ae2 0x24 .pio/build/stm32/libdfc/libWire.a(twi.c.o) + 0x08016ae2 HAL_I2C_SlaveRxCpltCallback .text.HAL_I2C_SlaveTxCpltCallback - 0x08015716 0x8 .pio/build/stm32/libdfc/libWire.a(twi.c.o) - 0x08015716 HAL_I2C_SlaveTxCpltCallback + 0x08016b06 0x8 .pio/build/stm32/libdfc/libWire.a(twi.c.o) + 0x08016b06 HAL_I2C_SlaveTxCpltCallback .text.HAL_I2C_ErrorCallback - 0x0801571e 0xc .pio/build/stm32/libdfc/libWire.a(twi.c.o) - 0x0801571e HAL_I2C_ErrorCallback - *fill* 0x0801572a 0x2 + 0x08016b0e 0xc .pio/build/stm32/libdfc/libWire.a(twi.c.o) + 0x08016b0e HAL_I2C_ErrorCallback + *fill* 0x08016b1a 0x2 .text.I2C1_EV_IRQHandler - 0x0801572c 0xc .pio/build/stm32/libdfc/libWire.a(twi.c.o) - 0x0801572c I2C1_EV_IRQHandler + 0x08016b1c 0xc .pio/build/stm32/libdfc/libWire.a(twi.c.o) + 0x08016b1c I2C1_EV_IRQHandler .text.I2C1_ER_IRQHandler - 0x08015738 0xc .pio/build/stm32/libdfc/libWire.a(twi.c.o) - 0x08015738 I2C1_ER_IRQHandler + 0x08016b28 0xc .pio/build/stm32/libdfc/libWire.a(twi.c.o) + 0x08016b28 I2C1_ER_IRQHandler .text.I2C2_EV_IRQHandler - 0x08015744 0xc .pio/build/stm32/libdfc/libWire.a(twi.c.o) - 0x08015744 I2C2_EV_IRQHandler + 0x08016b34 0xc .pio/build/stm32/libdfc/libWire.a(twi.c.o) + 0x08016b34 I2C2_EV_IRQHandler .text.I2C2_ER_IRQHandler - 0x08015750 0xc .pio/build/stm32/libdfc/libWire.a(twi.c.o) - 0x08015750 I2C2_ER_IRQHandler - .text._ZN3PID7ComputeEv - 0x0801575c 0x156 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) - 0x0801575c PID::Compute() - *fill* 0x080158b2 0x2 + 0x08016b40 0xc .pio/build/stm32/libdfc/libWire.a(twi.c.o) + 0x08016b40 I2C2_ER_IRQHandler + .text._ZN3PID6SetValEf + 0x08016b4c 0x16 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) + 0x08016b4c PID::SetVal(float) + *fill* 0x08016b62 0x2 .text._ZN3PID10SetTuningsEdddi - 0x080158b4 0xe8 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) - 0x080158b4 PID::SetTunings(double, double, double, int) + 0x08016b64 0xe8 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) + 0x08016b64 PID::SetTunings(double, double, double, int) .text._ZN3PID13SetSampleTimeEi - 0x0801599c 0x4c .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) - 0x0801599c PID::SetSampleTime(int) + 0x08016c4c 0x4c .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) + 0x08016c4c PID::SetSampleTime(int) .text._ZN3PID10InitializeEv - 0x080159e8 0x52 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) - 0x080159e8 PID::Initialize() + 0x08016c98 0x60 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) + 0x08016c98 PID::Initialize() + .text._ZN3PID7ComputeEv + 0x08016cf8 0x1cc .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) + 0x08016cf8 PID::Compute() .text._ZN3PID7SetModeEi - 0x08015a3a 0x1e .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) - 0x08015a3a PID::SetMode(int) + 0x08016ec4 0x1e .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) + 0x08016ec4 PID::SetMode(int) .text._ZN3PID22SetControllerDirectionEi - 0x08015a58 0x46 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) - 0x08015a58 PID::SetControllerDirection(int) - *fill* 0x08015a9e 0x2 - .text._ZN3PIDC2EPfS0_S0_dddii - 0x08015aa0 0x68 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) - 0x08015aa0 PID::PID(float*, float*, float*, double, double, double, int, int) - 0x08015aa0 PID::PID(float*, float*, float*, double, double, double, int, int) - .text._ZN3PIDC2EPfS0_S0_dddi - 0x08015b08 0x30 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) - 0x08015b08 PID::PID(float*, float*, float*, double, double, double, int) - 0x08015b08 PID::PID(float*, float*, float*, double, double, double, int) + 0x08016ee2 0x46 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) + 0x08016ee2 PID::SetControllerDirection(int) + .text._ZN3PIDC2EPfS0_S0_dddiimf + 0x08016f28 0x8c .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) + 0x08016f28 PID::PID(float*, float*, float*, double, double, double, int, int, unsigned long, float) + 0x08016f28 PID::PID(float*, float*, float*, double, double, double, int, int, unsigned long, float) .text._ZN3PID5GetKpEv - 0x08015b38 0x4 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) - 0x08015b38 PID::GetKp() + 0x08016fb4 0x4 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) + 0x08016fb4 PID::GetKp() .text._ZN3PID5GetKiEv - 0x08015b3c 0xa .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) - 0x08015b3c PID::GetKi() + 0x08016fb8 0xa .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) + 0x08016fb8 PID::GetKi() .text._ZN3PID5GetKdEv - 0x08015b46 0xa .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) - 0x08015b46 PID::GetKd() + 0x08016fc2 0xa .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) + 0x08016fc2 PID::GetKd() .text._ZN3PID7GetModeEv - 0x08015b50 0x6 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) - 0x08015b50 PID::GetMode() + 0x08016fcc 0x6 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) + 0x08016fcc PID::GetMode() .text._ZN3PID12GetDirectionEv - 0x08015b56 0x4 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) - 0x08015b56 PID::GetDirection() - .text._ZN13RotaryEncoderC2EiiNS_9LatchModeE - 0x08015b5a 0x4a .pio/build/stm32/lib363/libRotaryEncoder.a(RotaryEncoder.cpp.o) - 0x08015b5a RotaryEncoder::RotaryEncoder(int, int, RotaryEncoder::LatchMode) - 0x08015b5a RotaryEncoder::RotaryEncoder(int, int, RotaryEncoder::LatchMode) - .text._ZN13RotaryEncoder12getDirectionEv - 0x08015ba4 0x24 .pio/build/stm32/lib363/libRotaryEncoder.a(RotaryEncoder.cpp.o) - 0x08015ba4 RotaryEncoder::getDirection() - .text._ZN13RotaryEncoder4tickEii - 0x08015bc8 0x64 .pio/build/stm32/lib363/libRotaryEncoder.a(RotaryEncoder.cpp.o) - 0x08015bc8 RotaryEncoder::tick(int, int) - .text._ZN13RotaryEncoder4tickEv - 0x08015c2c 0x20 .pio/build/stm32/lib363/libRotaryEncoder.a(RotaryEncoder.cpp.o) - 0x08015c2c RotaryEncoder::tick() + 0x08016fd2 0x4 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) + 0x08016fd2 PID::GetDirection() .text._ZN14HardwareSerial9availableEv - 0x08015c4c 0x10 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015c4c HardwareSerial::available() + 0x08016fd6 0x10 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x08016fd6 HardwareSerial::available() .text._ZN14HardwareSerial4peekEv - 0x08015c5c 0x1a .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015c5c HardwareSerial::peek() + 0x08016fe6 0x1a .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x08016fe6 HardwareSerial::peek() .text._ZN14HardwareSerial17availableForWriteEv - 0x08015c76 0x1c .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015c76 HardwareSerial::availableForWrite() + 0x08017000 0x1c .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x08017000 HardwareSerial::availableForWrite() .text._ZN14HardwareSerial5writeEh - 0x08015c92 0x18 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015c92 HardwareSerial::write(unsigned char) + 0x0801701c 0x18 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x0801701c HardwareSerial::write(unsigned char) .text._ZN14HardwareSerial16_rx_complete_irqEP8serial_s - 0x08015caa 0x36 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015caa HardwareSerial::_rx_complete_irq(serial_s*) + 0x08017034 0x36 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x08017034 HardwareSerial::_rx_complete_irq(serial_s*) + *fill* 0x0801706a 0x2 .text._ZN14HardwareSerial16_tx_complete_irqEP8serial_s - 0x08015ce0 0x60 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015ce0 HardwareSerial::_tx_complete_irq(serial_s*) + 0x0801706c 0x60 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x0801706c HardwareSerial::_tx_complete_irq(serial_s*) .text._ZN14HardwareSerial5writeEPKhj - 0x08015d40 0xe4 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015d40 HardwareSerial::write(unsigned char const*, unsigned int) + 0x080170cc 0xe4 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x080170cc HardwareSerial::write(unsigned char const*, unsigned int) .text._ZN14HardwareSerial4initE7PinNameS0_S0_S0_ - 0x08015e24 0x32 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015e24 HardwareSerial::init(PinName, PinName, PinName, PinName) + 0x080171b0 0x32 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x080171b0 HardwareSerial::init(PinName, PinName, PinName, PinName) .text._ZN14HardwareSerial5flushEm - 0x08015e56 0x36 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015e56 HardwareSerial::flush(unsigned long) + 0x080171e2 0x36 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x080171e2 HardwareSerial::flush(unsigned long) .text._ZN14HardwareSerial5flushEv - 0x08015e8c 0x6 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015e8c HardwareSerial::flush() - *fill* 0x08015e92 0x2 + 0x08017218 0x6 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x08017218 HardwareSerial::flush() + *fill* 0x0801721e 0x2 .text._ZN14HardwareSerial5setRxEm - 0x08015e94 0x48 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015e94 HardwareSerial::setRx(unsigned long) + 0x08017220 0x48 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x08017220 HardwareSerial::setRx(unsigned long) .text._ZN14HardwareSerial5setTxEm - 0x08015edc 0x48 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015edc HardwareSerial::setTx(unsigned long) + 0x08017268 0x48 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x08017268 HardwareSerial::setTx(unsigned long) .text._ZN14HardwareSerialC2EPv16HalfDuplexMode_t - 0x08015f24 0x9c .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015f24 HardwareSerial::HardwareSerial(void*, HalfDuplexMode_t) - 0x08015f24 HardwareSerial::HardwareSerial(void*, HalfDuplexMode_t) + 0x080172b0 0x9c .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x080172b0 HardwareSerial::HardwareSerial(void*, HalfDuplexMode_t) + 0x080172b0 HardwareSerial::HardwareSerial(void*, HalfDuplexMode_t) .text._ZN14HardwareSerial18enableHalfDuplexRxEv - 0x08015fc0 0x2c .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015fc0 HardwareSerial::enableHalfDuplexRx() + 0x0801734c 0x2c .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x0801734c HardwareSerial::enableHalfDuplexRx() .text._ZN14HardwareSerial5beginEmh - 0x08015fec 0x9c .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08015fec HardwareSerial::begin(unsigned long, unsigned char) + 0x08017378 0x9c .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x08017378 HardwareSerial::begin(unsigned long, unsigned char) .text._ZN14HardwareSerial4readEv - 0x08016088 0x2e .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x08016088 HardwareSerial::read() - *fill* 0x080160b6 0x2 + 0x08017414 0x2e .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x08017414 HardwareSerial::read() + *fill* 0x08017442 0x2 .text.startup._GLOBAL__sub_I_Serial1 - 0x080160b8 0x2c .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x08017444 0x2c .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) .text._ZNK9IPAddress7printToER5Print - 0x080160e4 0x40 .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) - 0x080160e4 IPAddress::printTo(Print&) const + 0x08017470 0x40 .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) + 0x08017470 IPAddress::printTo(Print&) const .text._ZN9IPAddressC2Ev - 0x08016124 0x10 .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) - 0x08016124 IPAddress::IPAddress() - 0x08016124 IPAddress::IPAddress() + 0x080174b0 0x10 .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) + 0x080174b0 IPAddress::IPAddress() + 0x080174b0 IPAddress::IPAddress() .text._ZN9IPAddressC2Ehhhh - 0x08016134 0x18 .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) - 0x08016134 IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char) - 0x08016134 IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char) + 0x080174c0 0x18 .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) + 0x080174c0 IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char) + 0x080174c0 IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char) .text._ZN9IPAddressC2Em - 0x0801614c 0xc .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) - 0x0801614c IPAddress::IPAddress(unsigned long) - 0x0801614c IPAddress::IPAddress(unsigned long) + 0x080174d8 0xc .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) + 0x080174d8 IPAddress::IPAddress(unsigned long) + 0x080174d8 IPAddress::IPAddress(unsigned long) .text._ZN9IPAddressC2EPKh - 0x08016158 0x10 .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) - 0x08016158 IPAddress::IPAddress(unsigned char const*) - 0x08016158 IPAddress::IPAddress(unsigned char const*) + 0x080174e4 0x10 .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) + 0x080174e4 IPAddress::IPAddress(unsigned char const*) + 0x080174e4 IPAddress::IPAddress(unsigned char const*) .text._ZN9IPAddressaSEPKh - 0x08016168 0x6 .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) - 0x08016168 IPAddress::operator=(unsigned char const*) + 0x080174f4 0x6 .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) + 0x080174f4 IPAddress::operator=(unsigned char const*) .text._ZN9IPAddressaSEm - 0x0801616e 0x4 .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) - 0x0801616e IPAddress::operator=(unsigned long) + 0x080174fa 0x4 .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) + 0x080174fa IPAddress::operator=(unsigned long) .text._ZN5Print5writeEPKhj - 0x08016172 0x2c .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x08016172 Print::write(unsigned char const*, unsigned int) + 0x080174fe 0x2c .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x080174fe Print::write(unsigned char const*, unsigned int) .text._ZN5Print5writeEPKc - 0x0801619e 0x20 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x0801619e Print::write(char const*) + 0x0801752a 0x20 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x0801752a Print::write(char const*) .text._ZN5Print5printEPK19__FlashStringHelper - 0x080161be 0x8 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x080161be Print::print(__FlashStringHelper const*) + 0x0801754a 0x8 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x0801754a Print::print(__FlashStringHelper const*) .text._ZN5Print5printERK6String - 0x080161c6 0xa .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x080161c6 Print::print(String const&) + 0x08017552 0xa .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x08017552 Print::print(String const&) .text._ZN5Print5printEPKc - 0x080161d0 0x8 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x080161d0 Print::print(char const*) + 0x0801755c 0x8 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x0801755c Print::print(char const*) .text._ZN5Print5printEc - 0x080161d8 0x6 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x080161d8 Print::print(char) - *fill* 0x080161de 0x2 + 0x08017564 0x6 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x08017564 Print::print(char) + *fill* 0x0801756a 0x2 .text._ZN5Print7printlnEv - 0x080161e0 0x10 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x080161e0 Print::println() + 0x0801756c 0x10 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x0801756c Print::println() .text._ZN5Print7printlnEPK19__FlashStringHelper - 0x080161f0 0x14 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x080161f0 Print::println(__FlashStringHelper const*) + 0x0801757c 0x14 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x0801757c Print::println(__FlashStringHelper const*) .text._ZN5Print7printlnEPKc - 0x08016204 0x4 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x08016204 Print::println(char const*) - .text._write 0x08016208 0x22 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x08016208 _write + 0x08017590 0x4 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x08017590 Print::println(char const*) + .text._write 0x08017594 0x22 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x08017594 _write .text._ZN5Print11printNumberEmh - 0x0801622a 0x3a .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x0801622a Print::printNumber(unsigned long, unsigned char) + 0x080175b6 0x3a .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x080175b6 Print::printNumber(unsigned long, unsigned char) .text._ZN5Print5printEli - 0x08016264 0x44 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x08016264 Print::print(long, int) + 0x080175f0 0x44 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x080175f0 Print::print(long, int) .text._ZN5Print5printEii - 0x080162a8 0x4 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x080162a8 Print::print(int, int) + 0x08017634 0x4 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x08017634 Print::print(int, int) .text._ZN5Print7printlnEii - 0x080162ac 0x14 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x080162ac Print::println(int, int) + 0x08017638 0x14 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x08017638 Print::println(int, int) .text._ZN5Print5printEmi - 0x080162c0 0x16 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x080162c0 Print::print(unsigned long, int) + 0x0801764c 0x16 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x0801764c Print::print(unsigned long, int) .text._ZN5Print5printEhi - 0x080162d6 0x4 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x080162d6 Print::print(unsigned char, int) + 0x08017662 0x4 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x08017662 Print::print(unsigned char, int) .text._ZN5Print5printEji - 0x080162da 0x4 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x080162da Print::print(unsigned int, int) - *fill* 0x080162de 0x2 + 0x08017666 0x4 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x08017666 Print::print(unsigned int, int) + *fill* 0x0801766a 0x2 .text._ZN5Print10printFloatIfEEjT_h - 0x080162e0 0x120 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x080162e0 unsigned int Print::printFloat(float, unsigned char) + 0x0801766c 0x120 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x0801766c unsigned int Print::printFloat(float, unsigned char) .text._ZN5Print5printEfi - 0x08016400 0xa .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x08016400 Print::print(float, int) - *fill* 0x0801640a 0x2 + 0x0801778c 0xa .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x0801778c Print::print(float, int) + *fill* 0x08017796 0x2 .text._ZN5Print10printFloatIdEEjT_h - 0x0801640c 0x174 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x0801640c unsigned int Print::printFloat(double, unsigned char) + 0x08017798 0x174 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x08017798 unsigned int Print::printFloat(double, unsigned char) .text._ZN5Print5printEdi - 0x08016580 0x12 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) - 0x08016580 Print::print(double, int) + 0x0801790c 0x12 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x0801790c Print::print(double, int) .text._ZN6Stream9timedReadEv - 0x08016592 0x2a .pio/build/stm32/libFrameworkArduino.a(Stream.cpp.o) - 0x08016592 Stream::timedRead() + 0x0801791e 0x2a .pio/build/stm32/libFrameworkArduino.a(Stream.cpp.o) + 0x0801791e Stream::timedRead() .text._ZN6Stream9readBytesEPcj - 0x080165bc 0x22 .pio/build/stm32/libFrameworkArduino.a(Stream.cpp.o) - 0x080165bc Stream::readBytes(char*, unsigned int) + 0x08017948 0x22 .pio/build/stm32/libFrameworkArduino.a(Stream.cpp.o) + 0x08017948 Stream::readBytes(char*, unsigned int) .text._ZN6Stream14readBytesUntilEcPcj - 0x080165de 0x30 .pio/build/stm32/libFrameworkArduino.a(Stream.cpp.o) - 0x080165de Stream::readBytesUntil(char, char*, unsigned int) - *fill* 0x0801660e 0x2 + 0x0801796a 0x30 .pio/build/stm32/libFrameworkArduino.a(Stream.cpp.o) + 0x0801796a Stream::readBytesUntil(char, char*, unsigned int) + *fill* 0x0801799a 0x2 .text._ZN6Stream15readStringUntilEc - 0x08016610 0x30 .pio/build/stm32/libFrameworkArduino.a(Stream.cpp.o) - 0x08016610 Stream::readStringUntil(char) + 0x0801799c 0x30 .pio/build/stm32/libFrameworkArduino.a(Stream.cpp.o) + 0x0801799c Stream::readStringUntil(char) .text._Z6randoml - 0x08016640 0x16 .pio/build/stm32/libFrameworkArduino.a(WMath.cpp.o) - 0x08016640 random(long) + 0x080179cc 0x16 .pio/build/stm32/libFrameworkArduino.a(WMath.cpp.o) + 0x080179cc random(long) .text._Z6randomll - 0x08016656 0x14 .pio/build/stm32/libFrameworkArduino.a(WMath.cpp.o) - 0x08016656 random(long, long) + 0x080179e2 0x14 .pio/build/stm32/libFrameworkArduino.a(WMath.cpp.o) + 0x080179e2 random(long, long) .text._Z3maplllll - 0x0801666a 0x14 .pio/build/stm32/libFrameworkArduino.a(WMath.cpp.o) - 0x0801666a map(long, long, long, long, long) + 0x080179f6 0x14 .pio/build/stm32/libFrameworkArduino.a(WMath.cpp.o) + 0x080179f6 map(long, long, long, long, long) .text._ZN6StringD2Ev - 0x0801667e 0xe .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x0801667e String::~String() - 0x0801667e String::~String() + 0x08017a0a 0xe .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017a0a String::~String() + 0x08017a0a String::~String() .text._ZN6String10invalidateEv - 0x0801668c 0x16 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x0801668c String::invalidate() + 0x08017a18 0x16 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017a18 String::invalidate() .text._ZN6String12changeBufferEj - 0x080166a2 0x18 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x080166a2 String::changeBuffer(unsigned int) + 0x08017a2e 0x18 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017a2e String::changeBuffer(unsigned int) .text._ZN6String7reserveEj - 0x080166ba 0x22 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x080166ba String::reserve(unsigned int) + 0x08017a46 0x22 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017a46 String::reserve(unsigned int) .text._ZN6String4copyEPKcj - 0x080166dc 0x26 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x080166dc String::copy(char const*, unsigned int) + 0x08017a68 0x26 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017a68 String::copy(char const*, unsigned int) .text._ZN6StringC2EPKc - 0x08016702 0x24 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x08016702 String::String(char const*) - 0x08016702 String::String(char const*) + 0x08017a8e 0x24 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017a8e String::String(char const*) + 0x08017a8e String::String(char const*) .text._ZN6String4moveERS_ - 0x08016726 0x3c .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x08016726 String::move(String&) + 0x08017ab2 0x3c .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017ab2 String::move(String&) .text._ZN6StringaSERKS_ - 0x08016762 0x1e .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x08016762 String::operator=(String const&) + 0x08017aee 0x1e .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017aee String::operator=(String const&) .text._ZN6StringC2ERKS_ - 0x08016780 0x14 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x08016780 String::String(String const&) - 0x08016780 String::String(String const&) + 0x08017b0c 0x14 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017b0c String::String(String const&) + 0x08017b0c String::String(String const&) .text._ZN6StringaSEOS_ - 0x08016794 0x10 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x08016794 String::operator=(String&&) + 0x08017b20 0x10 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017b20 String::operator=(String&&) .text._ZN6StringaSEPKc - 0x080167a4 0x22 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x080167a4 String::operator=(char const*) + 0x08017b30 0x22 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017b30 String::operator=(char const*) .text._ZN6String6concatEPKcj - 0x080167c6 0x2e .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x080167c6 String::concat(char const*, unsigned int) + 0x08017b52 0x2e .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017b52 String::concat(char const*, unsigned int) .text._ZN6String6concatEc - 0x080167f4 0x1a .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x080167f4 String::concat(char) + 0x08017b80 0x1a .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017b80 String::concat(char) .text._ZplRK15StringSumHelperRK6String - 0x0801680e 0x18 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x0801680e operator+(StringSumHelper const&, String const&) + 0x08017b9a 0x18 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017b9a operator+(StringSumHelper const&, String const&) .text._ZNK6String6equalsEPKc - 0x08016826 0x24 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x08016826 String::equals(char const*) const + 0x08017bb2 0x24 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017bb2 String::equals(char const*) const .text._ZNK6String16equalsIgnoreCaseERKS_ - 0x0801684a 0x36 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x0801684a String::equalsIgnoreCase(String const&) const + 0x08017bd6 0x36 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017bd6 String::equalsIgnoreCase(String const&) const .text._ZN6StringixEj - 0x08016880 0x1c .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x08016880 String::operator[](unsigned int) + 0x08017c0c 0x1c .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017c0c String::operator[](unsigned int) .text._ZNK6String7indexOfEcj - 0x0801689c 0x1c .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x0801689c String::indexOf(char, unsigned int) const + 0x08017c28 0x1c .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017c28 String::indexOf(char, unsigned int) const .text._ZNK6String7indexOfEc - 0x080168b8 0x6 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x080168b8 String::indexOf(char) const + 0x08017c44 0x6 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017c44 String::indexOf(char) const .text._ZNK6String11lastIndexOfEcj - 0x080168be 0x2e .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x080168be String::lastIndexOf(char, unsigned int) const + 0x08017c4a 0x2e .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017c4a String::lastIndexOf(char, unsigned int) const .text._ZNK6String11lastIndexOfEc - 0x080168ec 0x8 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x080168ec String::lastIndexOf(char) const + 0x08017c78 0x8 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017c78 String::lastIndexOf(char) const .text._ZNK6String9substringEjj - 0x080168f4 0x50 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - 0x080168f4 String::substring(unsigned int, unsigned int) const - .text.__empty 0x08016944 0x2 .pio/build/stm32/libFrameworkArduino.a(hooks.c.o) - 0x08016944 yield - .text.ultoa 0x08016946 0x64 .pio/build/stm32/libFrameworkArduino.a(itoa.c.o) - 0x08016946 ultoa + 0x08017c80 0x50 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x08017c80 String::substring(unsigned int, unsigned int) const + .text.__empty 0x08017cd0 0x2 .pio/build/stm32/libFrameworkArduino.a(hooks.c.o) + 0x08017cd0 yield + .text.ultoa 0x08017cd2 0x64 .pio/build/stm32/libFrameworkArduino.a(itoa.c.o) + 0x08017cd2 ultoa .text.startup._Z7premainv - 0x080169aa 0x10 .pio/build/stm32/libFrameworkArduino.a(main.cpp.o) - 0x080169aa premain() + 0x08017d36 0x10 .pio/build/stm32/libFrameworkArduino.a(main.cpp.o) + 0x08017d36 premain() .text.startup.main - 0x080169ba 0x14 .pio/build/stm32/libFrameworkArduino.a(main.cpp.o) - 0x080169ba main - *fill* 0x080169ce 0x2 + 0x08017d46 0x14 .pio/build/stm32/libFrameworkArduino.a(main.cpp.o) + 0x08017d46 main + *fill* 0x08017d5a 0x2 .text.pinNametoDigitalPin - 0x080169d0 0x34 .pio/build/stm32/libFrameworkArduino.a(pins_arduino.c.o) - 0x080169d0 pinNametoDigitalPin + 0x08017d5c 0x34 .pio/build/stm32/libFrameworkArduino.a(pins_arduino.c.o) + 0x08017d5c pinNametoDigitalPin .text.analogInputToPinName - 0x08016a04 0x84 .pio/build/stm32/libFrameworkArduino.a(pins_arduino.c.o) - 0x08016a04 analogInputToPinName + 0x08017d90 0x84 .pio/build/stm32/libFrameworkArduino.a(pins_arduino.c.o) + 0x08017d90 analogInputToPinName .text.Reset_Handler - 0x08016a88 0x48 .pio/build/stm32/libFrameworkArduino.a(startup_stm32yyxx.S.o) - 0x08016a88 Reset_Handler + 0x08017e14 0x48 .pio/build/stm32/libFrameworkArduino.a(startup_stm32yyxx.S.o) + 0x08017e14 Reset_Handler .text.Default_Handler - 0x08016ad0 0x2 .pio/build/stm32/libFrameworkArduino.a(startup_stm32yyxx.S.o) - 0x08016ad0 USBWakeUp_IRQHandler - 0x08016ad0 DebugMon_Handler - 0x08016ad0 HardFault_Handler - 0x08016ad0 PVD_IRQHandler - 0x08016ad0 PendSV_Handler - 0x08016ad0 NMI_Handler - 0x08016ad0 UsageFault_Handler - 0x08016ad0 ADC1_2_IRQHandler - 0x08016ad0 SPI1_IRQHandler - 0x08016ad0 TAMPER_IRQHandler - 0x08016ad0 DMA1_Channel4_IRQHandler - 0x08016ad0 RTC_IRQHandler - 0x08016ad0 DMA1_Channel7_IRQHandler - 0x08016ad0 CAN1_RX1_IRQHandler - 0x08016ad0 DMA1_Channel6_IRQHandler - 0x08016ad0 RCC_IRQHandler - 0x08016ad0 TIM1_TRG_COM_IRQHandler - 0x08016ad0 DMA1_Channel1_IRQHandler - 0x08016ad0 Default_Handler - 0x08016ad0 SPI2_IRQHandler - 0x08016ad0 MemManage_Handler - 0x08016ad0 SVC_Handler - 0x08016ad0 DMA1_Channel5_IRQHandler - 0x08016ad0 USB_LP_CAN1_RX0_IRQHandler - 0x08016ad0 USB_HP_CAN1_TX_IRQHandler - 0x08016ad0 DMA1_Channel3_IRQHandler - 0x08016ad0 WWDG_IRQHandler - 0x08016ad0 TIM1_BRK_IRQHandler - 0x08016ad0 DMA1_Channel2_IRQHandler - 0x08016ad0 CAN1_SCE_IRQHandler - 0x08016ad0 FLASH_IRQHandler - 0x08016ad0 BusFault_Handler - 0x08016ad0 RTC_Alarm_IRQHandler + 0x08017e5c 0x2 .pio/build/stm32/libFrameworkArduino.a(startup_stm32yyxx.S.o) + 0x08017e5c USBWakeUp_IRQHandler + 0x08017e5c DebugMon_Handler + 0x08017e5c HardFault_Handler + 0x08017e5c PVD_IRQHandler + 0x08017e5c PendSV_Handler + 0x08017e5c NMI_Handler + 0x08017e5c UsageFault_Handler + 0x08017e5c ADC1_2_IRQHandler + 0x08017e5c SPI1_IRQHandler + 0x08017e5c TAMPER_IRQHandler + 0x08017e5c DMA1_Channel4_IRQHandler + 0x08017e5c RTC_IRQHandler + 0x08017e5c DMA1_Channel7_IRQHandler + 0x08017e5c CAN1_RX1_IRQHandler + 0x08017e5c DMA1_Channel6_IRQHandler + 0x08017e5c RCC_IRQHandler + 0x08017e5c TIM1_TRG_COM_IRQHandler + 0x08017e5c DMA1_Channel1_IRQHandler + 0x08017e5c Default_Handler + 0x08017e5c SPI2_IRQHandler + 0x08017e5c MemManage_Handler + 0x08017e5c SVC_Handler + 0x08017e5c DMA1_Channel5_IRQHandler + 0x08017e5c USB_LP_CAN1_RX0_IRQHandler + 0x08017e5c USB_HP_CAN1_TX_IRQHandler + 0x08017e5c DMA1_Channel3_IRQHandler + 0x08017e5c WWDG_IRQHandler + 0x08017e5c TIM1_BRK_IRQHandler + 0x08017e5c DMA1_Channel2_IRQHandler + 0x08017e5c CAN1_SCE_IRQHandler + 0x08017e5c FLASH_IRQHandler + 0x08017e5c BusFault_Handler + 0x08017e5c RTC_Alarm_IRQHandler .text.mapResolution - 0x08016ad2 0x26 .pio/build/stm32/libFrameworkArduino.a(wiring_analog.c.o) + 0x08017e5e 0x26 .pio/build/stm32/libFrameworkArduino.a(wiring_analog.c.o) .text.analogRead - 0x08016af8 0x2c .pio/build/stm32/libFrameworkArduino.a(wiring_analog.c.o) - 0x08016af8 analogRead + 0x08017e84 0x2c .pio/build/stm32/libFrameworkArduino.a(wiring_analog.c.o) + 0x08017e84 analogRead .text.analogWrite - 0x08016b24 0xdc .pio/build/stm32/libFrameworkArduino.a(wiring_analog.c.o) - 0x08016b24 analogWrite - .text.pinMode 0x08016c00 0xbc .pio/build/stm32/libFrameworkArduino.a(wiring_digital.c.o) - 0x08016c00 pinMode + 0x08017eb0 0xdc .pio/build/stm32/libFrameworkArduino.a(wiring_analog.c.o) + 0x08017eb0 analogWrite + .text.pinMode 0x08017f8c 0xbc .pio/build/stm32/libFrameworkArduino.a(wiring_digital.c.o) + 0x08017f8c pinMode .text.digitalWrite - 0x08016cbc 0x74 .pio/build/stm32/libFrameworkArduino.a(wiring_digital.c.o) - 0x08016cbc digitalWrite + 0x08018048 0x74 .pio/build/stm32/libFrameworkArduino.a(wiring_digital.c.o) + 0x08018048 digitalWrite .text.digitalRead - 0x08016d30 0x7c .pio/build/stm32/libFrameworkArduino.a(wiring_digital.c.o) - 0x08016d30 digitalRead - .text.millis 0x08016dac 0x4 .pio/build/stm32/libFrameworkArduino.a(wiring_time.c.o) - 0x08016dac millis - .text.micros 0x08016db0 0x4 .pio/build/stm32/libFrameworkArduino.a(wiring_time.c.o) - 0x08016db0 micros - .text.delay 0x08016db4 0x1c .pio/build/stm32/libFrameworkArduino.a(wiring_time.c.o) - 0x08016db4 delay + 0x080180bc 0x7c .pio/build/stm32/libFrameworkArduino.a(wiring_digital.c.o) + 0x080180bc digitalRead + .text.millis 0x08018138 0x4 .pio/build/stm32/libFrameworkArduino.a(wiring_time.c.o) + 0x08018138 millis + .text.micros 0x0801813c 0x4 .pio/build/stm32/libFrameworkArduino.a(wiring_time.c.o) + 0x0801813c micros + .text.delay 0x08018140 0x1c .pio/build/stm32/libFrameworkArduino.a(wiring_time.c.o) + 0x08018140 delay .text._Z14serialEventRunv - 0x08016dd0 0x34 .pio/build/stm32/libFrameworkArduino.a(WSerial.cpp.o) - 0x08016dd0 serialEventRun() - .text.init 0x08016e04 0x4 .pio/build/stm32/libFrameworkArduino.a(board.c.o) - 0x08016e04 init + 0x0801815c 0x34 .pio/build/stm32/libFrameworkArduino.a(WSerial.cpp.o) + 0x0801815c serialEventRun() + .text.init 0x08018190 0x4 .pio/build/stm32/libFrameworkArduino.a(board.c.o) + 0x08018190 init .text.unlikely._ZSt25__throw_bad_function_callv - 0x08016e08 0x6 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libstdc++_nano.a(functional.o) - 0x08016e08 std::__throw_bad_function_call() - *fill* 0x08016e0e 0x2 + 0x08018194 0x6 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libstdc++_nano.a(functional.o) + 0x08018194 std::__throw_bad_function_call() + *fill* 0x0801819a 0x2 .text._ZN8SPIClassC2Emmmm - 0x08016e10 0x128 .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) - 0x08016e10 SPIClass::SPIClass(unsigned long, unsigned long, unsigned long, unsigned long) - 0x08016e10 SPIClass::SPIClass(unsigned long, unsigned long, unsigned long, unsigned long) + 0x0801819c 0x128 .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) + 0x0801819c SPIClass::SPIClass(unsigned long, unsigned long, unsigned long, unsigned long) + 0x0801819c SPIClass::SPIClass(unsigned long, unsigned long, unsigned long, unsigned long) .text._ZN8SPIClass5beginEv - 0x08016f38 0x20 .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) - 0x08016f38 SPIClass::begin() + 0x080182c4 0x20 .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) + 0x080182c4 SPIClass::begin() .text._ZN8SPIClass16beginTransactionE11SPISettings - 0x08016f58 0x42 .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) - 0x08016f58 SPIClass::beginTransaction(SPISettings) + 0x080182e4 0x42 .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) + 0x080182e4 SPIClass::beginTransaction(SPISettings) .text._ZN8SPIClass14endTransactionEv - 0x08016f9a 0x2 .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) - 0x08016f9a SPIClass::endTransaction() + 0x08018326 0x2 .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) + 0x08018326 SPIClass::endTransaction() .text._ZN8SPIClass8transferEhb - 0x08016f9c 0x24 .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) - 0x08016f9c SPIClass::transfer(unsigned char, bool) + 0x08018328 0x24 .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) + 0x08018328 SPIClass::transfer(unsigned char, bool) .text._ZN8SPIClass8transferEPvjb - 0x08016fc0 0xe .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) - 0x08016fc0 SPIClass::transfer(void*, unsigned int, bool) - *fill* 0x08016fce 0x2 + 0x0801834c 0xe .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) + 0x0801834c SPIClass::transfer(void*, unsigned int, bool) + *fill* 0x0801835a 0x2 .text.startup._GLOBAL__sub_I_SPI - 0x08016fd0 0x1c .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) + 0x0801835c 0x1c .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) .text.LL_GPIO_SetPinMode - 0x08016fec 0x2c .pio/build/stm32/libeef/libSPI.a(spi_com.c.o) + 0x08018378 0x2c .pio/build/stm32/libeef/libSPI.a(spi_com.c.o) .text.spi_getClkFreqInst - 0x08017018 0x2c .pio/build/stm32/libeef/libSPI.a(spi_com.c.o) - 0x08017018 spi_getClkFreqInst + 0x080183a4 0x2c .pio/build/stm32/libeef/libSPI.a(spi_com.c.o) + 0x080183a4 spi_getClkFreqInst .text.spi_init - 0x08017044 0x268 .pio/build/stm32/libeef/libSPI.a(spi_com.c.o) - 0x08017044 spi_init + 0x080183d0 0x268 .pio/build/stm32/libeef/libSPI.a(spi_com.c.o) + 0x080183d0 spi_init .text.spi_transfer - 0x080172ac 0x5e .pio/build/stm32/libeef/libSPI.a(spi_com.c.o) - 0x080172ac spi_transfer - *fill* 0x0801730a 0x2 - .text.truncf 0x0801730c 0x34 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-sf_trunc.o) - 0x0801730c truncf - .text.pow 0x08017340 0xdc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-w_pow.o) - 0x08017340 pow - .text.finite 0x0801741c 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-s_finite.o) - 0x0801741c finite + 0x08018638 0x5e .pio/build/stm32/libeef/libSPI.a(spi_com.c.o) + 0x08018638 spi_transfer + *fill* 0x08018696 0x2 + .text.truncf 0x08018698 0x34 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-sf_trunc.o) + 0x08018698 truncf + .text.pow 0x080186cc 0xdc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-w_pow.o) + 0x080186cc pow + .text.finite 0x080187a8 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-s_finite.o) + 0x080187a8 finite + *fill* 0x080187b4 0x4 .text.__ieee754_pow - 0x08017428 0xb40 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-e_pow.o) - 0x08017428 __ieee754_pow + 0x080187b8 0xb40 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-e_pow.o) + 0x080187b8 __ieee754_pow .text.with_errno - 0x08017f68 0x18 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-math_err.o) - .text.xflow 0x08017f80 0x28 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-math_err.o) + 0x080192f8 0x18 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-math_err.o) + .text.xflow 0x08019310 0x28 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-math_err.o) .text.__math_uflow - 0x08017fa8 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-math_err.o) - 0x08017fa8 __math_uflow + 0x08019338 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-math_err.o) + 0x08019338 __math_uflow .text.__math_oflow - 0x08017fb4 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-math_err.o) - 0x08017fb4 __math_oflow - .text.fabs 0x08017fc0 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-s_fabs.o) - 0x08017fc0 fabs - .text.scalbn 0x08017fc8 0x104 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-s_scalbn.o) - 0x08017fc8 scalbn + 0x08019344 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-math_err.o) + 0x08019344 __math_oflow + .text.fabs 0x08019350 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-s_fabs.o) + 0x08019350 fabs + .text.scalbn 0x08019358 0x104 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-s_scalbn.o) + 0x08019358 scalbn .text.__ieee754_sqrt - 0x080180cc 0x1dc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-e_sqrt.o) - 0x080180cc __ieee754_sqrt - .text.abort 0x080182a8 0xe /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-abort.o) - 0x080182a8 abort - *fill* 0x080182b6 0x2 - .text.isspace 0x080182b8 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-isspace.o) - 0x080182b8 isspace + 0x0801945c 0x1dc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-e_sqrt.o) + 0x0801945c __ieee754_sqrt + .text.abort 0x08019638 0xe /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-abort.o) + 0x08019638 abort + *fill* 0x08019646 0x2 + .text.isspace 0x08019648 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-isspace.o) + 0x08019648 isspace .text.isxdigit - 0x080182c8 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-isxdigit.o) - 0x080182c8 isxdigit - .text.atof 0x080182d8 0x6 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-atof.o) - 0x080182d8 atof - .text.atoi 0x080182de 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-atoi.o) - 0x080182de atoi - .text.atol 0x080182e6 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-atol.o) - 0x080182e6 atol - *fill* 0x080182ee 0x2 - .text.tolower 0x080182f0 0x14 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-tolower.o) - 0x080182f0 tolower - .text.toupper 0x08018304 0x14 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-toupper.o) - 0x08018304 toupper - .text.malloc 0x08018318 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-malloc.o) - 0x08018318 malloc - .text.free 0x08018328 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-malloc.o) - 0x08018328 free + 0x08019658 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-isxdigit.o) + 0x08019658 isxdigit + .text.atof 0x08019668 0x6 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-atof.o) + 0x08019668 atof + .text.atoi 0x0801966e 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-atoi.o) + 0x0801966e atoi + .text.atol 0x08019676 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-atol.o) + 0x08019676 atol + *fill* 0x0801967e 0x2 + .text.tolower 0x08019680 0x14 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-tolower.o) + 0x08019680 tolower + .text.toupper 0x08019694 0x14 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-toupper.o) + 0x08019694 toupper + .text.malloc 0x080196a8 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-malloc.o) + 0x080196a8 malloc + .text.free 0x080196b8 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-malloc.o) + 0x080196b8 free .text.sbrk_aligned - 0x08018338 0x44 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallocr.o) + 0x080196c8 0x44 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallocr.o) .text._malloc_r - 0x0801837c 0x100 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallocr.o) - 0x0801837c _malloc_r + 0x0801970c 0x100 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallocr.o) + 0x0801970c _malloc_r .text.__sflush_r - 0x0801847c 0x100 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fflush.o) - 0x0801847c __sflush_r + 0x0801980c 0x100 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fflush.o) + 0x0801980c __sflush_r .text._fflush_r - 0x0801857c 0x50 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fflush.o) - 0x0801857c _fflush_r - .text.fflush 0x080185cc 0x28 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fflush.o) - 0x080185cc fflush + 0x0801990c 0x50 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fflush.o) + 0x0801990c _fflush_r + .text.fflush 0x0801995c 0x28 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fflush.o) + 0x0801995c fflush .text.snprintf - 0x080185f4 0x68 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-snprintf.o) - 0x080185f4 snprintf - 0x080185f4 sniprintf + 0x08019984 0x68 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-snprintf.o) + 0x08019984 snprintf + 0x08019984 sniprintf .text.__malloc_lock - 0x0801865c 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mlock.o) - 0x0801865c __malloc_lock + 0x080199ec 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mlock.o) + 0x080199ec __malloc_lock .text.__malloc_unlock - 0x08018668 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mlock.o) - 0x08018668 __malloc_unlock - .text.sscanf 0x08018674 0x54 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-sscanf.o) - 0x08018674 sscanf - 0x08018674 siscanf - .text.__sread 0x080186c8 0x22 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-stdio.o) - 0x080186c8 __sread + 0x080199f8 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mlock.o) + 0x080199f8 __malloc_unlock + .text.sscanf 0x08019a04 0x54 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-sscanf.o) + 0x08019a04 sscanf + 0x08019a04 siscanf + .text.__sread 0x08019a58 0x22 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-stdio.o) + 0x08019a58 __sread .text.__seofread - 0x080186ea 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-stdio.o) - 0x080186ea __seofread + 0x08019a7a 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-stdio.o) + 0x08019a7a __seofread .text.__swrite - 0x080186ee 0x38 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-stdio.o) - 0x080186ee __swrite - .text.__sseek 0x08018726 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-stdio.o) - 0x08018726 __sseek + 0x08019a7e 0x38 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-stdio.o) + 0x08019a7e __swrite + .text.__sseek 0x08019ab6 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-stdio.o) + 0x08019ab6 __sseek .text.__sclose - 0x0801874a 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-stdio.o) - 0x0801874a __sclose - *fill* 0x08018752 0x2 + 0x08019ada 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-stdio.o) + 0x08019ada __sclose + *fill* 0x08019ae2 0x2 .text.mallinfo - 0x08018754 0x14 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mstats.o) - 0x08018754 mallinfo - .text.rand 0x08018768 0x7c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-rand.o) - 0x08018768 rand - .text.realloc 0x080187e4 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-realloc.o) - 0x080187e4 realloc - .text.std 0x080187f4 0x6c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) + 0x08019ae4 0x14 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mstats.o) + 0x08019ae4 mallinfo + .text.rand 0x08019af8 0x7c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-rand.o) + 0x08019af8 rand + .text.realloc 0x08019b74 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-realloc.o) + 0x08019b74 realloc + .text.std 0x08019b84 0x6c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) .text.stdio_exit_handler - 0x08018860 0x18 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) + 0x08019bf0 0x18 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) .text.cleanup_stdio - 0x08018878 0x40 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) + 0x08019c08 0x40 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) .text.global_stdio_init.part.0 - 0x080188b8 0x3c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) + 0x08019c48 0x3c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) .text.__sfp_lock_acquire - 0x080188f4 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) - 0x080188f4 __sfp_lock_acquire + 0x08019c84 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) + 0x08019c84 __sfp_lock_acquire .text.__sfp_lock_release - 0x08018900 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) - 0x08018900 __sfp_lock_release - .text.__sinit 0x0801890c 0x30 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) - 0x0801890c __sinit - .text.fprintf 0x0801893c 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fprintf.o) - 0x0801893c fprintf - 0x0801893c fiprintf + 0x08019c90 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) + 0x08019c90 __sfp_lock_release + .text.__sinit 0x08019c9c 0x30 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) + 0x08019c9c __sinit + .text.fprintf 0x08019ccc 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fprintf.o) + 0x08019ccc fprintf + 0x08019ccc fiprintf .text._realloc_r - 0x08018960 0x5c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-reallocr.o) - 0x08018960 _realloc_r - .text.sulp 0x080189bc 0x42 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) - *fill* 0x080189fe 0x2 + 0x08019cf0 0x5c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-reallocr.o) + 0x08019cf0 _realloc_r + .text.sulp 0x08019d4c 0x42 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) + *fill* 0x08019d8e 0x2 .text._strtod_l - 0x08018a00 0xc00 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) - 0x08018a00 _strtod_l - .text.strtod 0x08019600 0x18 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) - 0x08019600 strtod + 0x08019d90 0xc00 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) + 0x08019d90 _strtod_l + .text.strtod 0x0801a990 0x18 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) + 0x0801a990 strtod .text._strtol_l.constprop.0 - 0x08019618 0xfc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtol.o) + 0x0801a9a8 0xfc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtol.o) .text._strtol_r - 0x08019714 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtol.o) - 0x08019714 _strtol_r - .text.strtol 0x08019718 0x14 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtol.o) - 0x08019718 strtol + 0x0801aaa4 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtol.o) + 0x0801aaa4 _strtol_r + .text.strtol 0x0801aaa8 0x14 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtol.o) + 0x0801aaa8 strtol .text._strtoul_l.constprop.0 - 0x0801972c 0xe4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtoul.o) + 0x0801aabc 0xe4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtoul.o) .text._strtoul_r - 0x08019810 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtoul.o) - 0x08019810 _strtoul_r + 0x0801aba0 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtoul.o) + 0x0801aba0 _strtoul_r .text._fwalk_sglue - 0x08019814 0x3c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fwalk.o) - 0x08019814 _fwalk_sglue - .text.strcat 0x08019850 0x1e /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcat.o) - 0x08019850 strcat - .text.strchr 0x0801986e 0x1a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strchr.o) - 0x0801986e strchr - .text.strdup 0x08019888 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strdup.o) - 0x08019888 strdup + 0x0801aba4 0x3c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fwalk.o) + 0x0801aba4 _fwalk_sglue + .text.strcat 0x0801abe0 0x1e /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcat.o) + 0x0801abe0 strcat + .text.strchr 0x0801abfe 0x1a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strchr.o) + 0x0801abfe strchr + .text.strdup 0x0801ac18 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strdup.o) + 0x0801ac18 strdup .text._strdup_r - 0x08019898 0x26 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strdup_r.o) - 0x08019898 _strdup_r - .text.strncat 0x080198be 0x2a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strncat.o) - 0x080198be strncat - .text.strncmp 0x080198e8 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strncmp.o) - 0x080198e8 strncmp - .text.strncpy 0x0801990c 0x26 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strncpy.o) - 0x0801990c strncpy - .text.strnlen 0x08019932 0x18 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strnlen.o) - 0x08019932 strnlen - .text.strrchr 0x0801994a 0x2c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strrchr.o) - 0x0801994a strrchr - *fill* 0x08019976 0x2 - .text.strtok 0x08019978 0x68 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtok.o) - 0x08019978 strtok + 0x0801ac28 0x26 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strdup_r.o) + 0x0801ac28 _strdup_r + .text.strncat 0x0801ac4e 0x2a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strncat.o) + 0x0801ac4e strncat + .text.strncmp 0x0801ac78 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strncmp.o) + 0x0801ac78 strncmp + .text.strncpy 0x0801ac9c 0x26 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strncpy.o) + 0x0801ac9c strncpy + .text.strnlen 0x0801acc2 0x18 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strnlen.o) + 0x0801acc2 strnlen + .text.strrchr 0x0801acda 0x2c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strrchr.o) + 0x0801acda strrchr + *fill* 0x0801ad06 0x2 + .text.strtok 0x0801ad08 0x68 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtok.o) + 0x0801ad08 strtok .text.__strtok_r - 0x080199e0 0x50 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtok_r.o) - 0x080199e0 __strtok_r - .text.memcmp 0x08019a30 0x20 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memcmp.o) - 0x08019a30 memcmp - .text.memmove 0x08019a50 0x34 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memmove.o) - 0x08019a50 memmove - .text.memset 0x08019a84 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memset.o) - 0x08019a84 memset + 0x0801ad70 0x50 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtok_r.o) + 0x0801ad70 __strtok_r + .text.memcmp 0x0801adc0 0x20 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memcmp.o) + 0x0801adc0 memcmp + .text.memmove 0x0801ade0 0x34 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memmove.o) + 0x0801ade0 memmove + .text.memset 0x0801ae14 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memset.o) + 0x0801ae14 memset .text.strcasecmp - 0x08019a94 0x3c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcasecmp.o) - 0x08019a94 strcasecmp + 0x0801ae24 0x3c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcasecmp.o) + 0x0801ae24 strcasecmp .text._close_r - 0x08019ad0 0x20 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-closer.o) - 0x08019ad0 _close_r + 0x0801ae60 0x20 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-closer.o) + 0x0801ae60 _close_r .text._lseek_r - 0x08019af0 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lseekr.o) - 0x08019af0 _lseek_r - .text._read_r 0x08019b14 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-readr.o) - 0x08019b14 _read_r + 0x0801ae80 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lseekr.o) + 0x0801ae80 _lseek_r + .text._read_r 0x0801aea4 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-readr.o) + 0x0801aea4 _read_r .text._raise_r - 0x08019b38 0x50 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-signal.o) - 0x08019b38 _raise_r - .text.raise 0x08019b88 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-signal.o) - 0x08019b88 raise - .text._kill_r 0x08019b98 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-signalr.o) - 0x08019b98 _kill_r + 0x0801aec8 0x50 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-signal.o) + 0x0801aec8 _raise_r + .text.raise 0x0801af18 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-signal.o) + 0x0801af18 raise + .text._kill_r 0x0801af28 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-signalr.o) + 0x0801af28 _kill_r .text._getpid_r - 0x08019bbc 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-signalr.o) - 0x08019bbc _getpid_r - .text._sbrk_r 0x08019bc0 0x20 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-sbrkr.o) - 0x08019bc0 _sbrk_r + 0x0801af4c 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-signalr.o) + 0x0801af4c _getpid_r + .text._sbrk_r 0x0801af50 0x20 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-sbrkr.o) + 0x0801af50 _sbrk_r .text._write_r - 0x08019be0 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-writer.o) - 0x08019be0 _write_r - .text.__errno 0x08019c04 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-errno.o) - 0x08019c04 __errno + 0x0801af70 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-writer.o) + 0x0801af70 _write_r + .text.__errno 0x0801af94 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-errno.o) + 0x0801af94 __errno .text.__libc_init_array - 0x08019c10 0x48 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-init.o) - 0x08019c10 __libc_init_array + 0x0801afa0 0x48 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-init.o) + 0x0801afa0 __libc_init_array .text.__retarget_lock_init_recursive - 0x08019c58 0x2 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lock.o) - 0x08019c58 __retarget_lock_init_recursive + 0x0801afe8 0x2 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lock.o) + 0x0801afe8 __retarget_lock_init_recursive .text.__retarget_lock_acquire_recursive - 0x08019c5a 0x2 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lock.o) - 0x08019c5a __retarget_lock_acquire_recursive + 0x0801afea 0x2 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lock.o) + 0x0801afea __retarget_lock_acquire_recursive .text.__retarget_lock_release_recursive - 0x08019c5c 0x2 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lock.o) - 0x08019c5c __retarget_lock_release_recursive - .text.memcpy 0x08019c5e 0x1c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memcpy-stub.o) - 0x08019c5e memcpy - *fill* 0x08019c7a 0x2 - .text.sbrk 0x08019c7c 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-syssbrk.o) - 0x08019c7c sbrk - .text.strcpy 0x08019c8c 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcpy.o) - 0x08019c8c strcpy - .text.nan 0x08019c9c 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libm_a-s_nan.o) - 0x08019c9c nan + 0x0801afec 0x2 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lock.o) + 0x0801afec __retarget_lock_release_recursive + .text.memcpy 0x0801afee 0x1c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memcpy-stub.o) + 0x0801afee memcpy + *fill* 0x0801b00a 0x2 + .text.sbrk 0x0801b00c 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-syssbrk.o) + 0x0801b00c sbrk + .text.strcpy 0x0801b01c 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcpy.o) + 0x0801b01c strcpy + .text.nan 0x0801b02c 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libm_a-s_nan.o) + 0x0801b02c nan .text.__assert_func - 0x08019ca8 0x3c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-assert.o) - 0x08019ca8 __assert_func - .text._free_r 0x08019ce4 0x90 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-freer.o) - 0x08019ce4 _free_r - .text.rshift 0x08019d74 0xa2 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-gethex.o) + 0x0801b038 0x3c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-assert.o) + 0x0801b038 __assert_func + .text._free_r 0x0801b074 0x90 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-freer.o) + 0x0801b074 _free_r + .text.rshift 0x0801b104 0xa2 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-gethex.o) .text.__hexdig_fun - 0x08019e16 0x2a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-gethex.o) - 0x08019e16 __hexdig_fun + 0x0801b1a6 0x2a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-gethex.o) + 0x0801b1a6 __hexdig_fun .text.__gethex - 0x08019e40 0x420 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-gethex.o) - 0x08019e40 __gethex - .text.L_shift 0x0801a260 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-hexnan.o) - .text.__match 0x0801a284 0x28 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-hexnan.o) - 0x0801a284 __match + 0x0801b1d0 0x420 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-gethex.o) + 0x0801b1d0 __gethex + .text.L_shift 0x0801b5f0 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-hexnan.o) + .text.__match 0x0801b614 0x28 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-hexnan.o) + 0x0801b614 __match .text.__hexnan - 0x0801a2ac 0x136 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-hexnan.o) - 0x0801a2ac __hexnan + 0x0801b63c 0x136 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-hexnan.o) + 0x0801b63c __hexnan .text.__ssputs_r - 0x0801a3e2 0xb6 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfprintf.o) - 0x0801a3e2 __ssputs_r + 0x0801b772 0xb6 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfprintf.o) + 0x0801b772 __ssputs_r .text._svfprintf_r - 0x0801a498 0x1f8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfprintf.o) - 0x0801a498 _svfprintf_r - 0x0801a498 _svfiprintf_r + 0x0801b828 0x1f8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfprintf.o) + 0x0801b828 _svfprintf_r + 0x0801b828 _svfiprintf_r .text._sungetc_r - 0x0801a690 0x76 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfscanf.o) - 0x0801a690 _sungetc_r + 0x0801ba20 0x76 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfscanf.o) + 0x0801ba20 _sungetc_r .text.__ssrefill_r - 0x0801a706 0x3a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfscanf.o) - 0x0801a706 __ssrefill_r + 0x0801ba96 0x3a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfscanf.o) + 0x0801ba96 __ssrefill_r .text.__ssvfscanf_r - 0x0801a740 0x2ec /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfscanf.o) - 0x0801a740 __ssvfscanf_r - 0x0801a740 __ssvfiscanf_r + 0x0801bad0 0x2ec /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfscanf.o) + 0x0801bad0 __ssvfscanf_r + 0x0801bad0 __ssvfiscanf_r .text.__sfputc_r - 0x0801aa2c 0x2a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf.o) + 0x0801bdbc 0x2a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf.o) .text.__sfputs_r - 0x0801aa56 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf.o) - 0x0801aa56 __sfputs_r - *fill* 0x0801aa7a 0x2 + 0x0801bde6 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf.o) + 0x0801bde6 __sfputs_r + *fill* 0x0801be0a 0x2 .text._vfprintf_r - 0x0801aa7c 0x230 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf.o) - 0x0801aa7c _vfiprintf_r - 0x0801aa7c _vfprintf_r + 0x0801be0c 0x230 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf.o) + 0x0801be0c _vfiprintf_r + 0x0801be0c _vfprintf_r .text._mallinfo_r - 0x0801acac 0x68 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallinfor.o) - 0x0801acac _mallinfo_r + 0x0801c03c 0x68 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallinfor.o) + 0x0801c03c _mallinfo_r .text.__ascii_mbtowc - 0x0801ad14 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mbtowc_r.o) - 0x0801ad14 __ascii_mbtowc + 0x0801c0a4 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mbtowc_r.o) + 0x0801c0a4 __ascii_mbtowc .text._printf_common - 0x0801ad38 0xe4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf_i.o) - 0x0801ad38 _printf_common + 0x0801c0c8 0xe4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf_i.o) + 0x0801c0c8 _printf_common .text._printf_i - 0x0801ae1c 0x258 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf_i.o) - 0x0801ae1c _printf_i + 0x0801c1ac 0x258 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf_i.o) + 0x0801c1ac _printf_i .text._scanf_chars - 0x0801b074 0xb4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfscanf_i.o) - 0x0801b074 _scanf_chars + 0x0801c404 0xb4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfscanf_i.o) + 0x0801c404 _scanf_chars .text._scanf_i - 0x0801b128 0x1fc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfscanf_i.o) - 0x0801b128 _scanf_i - .text.__sccl 0x0801b324 0x72 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-sccl.o) - 0x0801b324 __sccl - *fill* 0x0801b396 0x2 - .text._Balloc 0x0801b398 0x80 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801b398 _Balloc - .text._Bfree 0x0801b418 0x44 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801b418 _Bfree + 0x0801c4b8 0x1fc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfscanf_i.o) + 0x0801c4b8 _scanf_i + .text.__sccl 0x0801c6b4 0x72 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-sccl.o) + 0x0801c6b4 __sccl + *fill* 0x0801c726 0x2 + .text._Balloc 0x0801c728 0x80 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801c728 _Balloc + .text._Bfree 0x0801c7a8 0x44 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801c7a8 _Bfree .text.__multadd - 0x0801b45c 0x8c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801b45c __multadd - .text.__s2b 0x0801b4e8 0x94 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801b4e8 __s2b + 0x0801c7ec 0x8c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801c7ec __multadd + .text.__s2b 0x0801c878 0x94 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801c878 __s2b .text.__hi0bits - 0x0801b57c 0x44 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801b57c __hi0bits + 0x0801c90c 0x44 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801c90c __hi0bits .text.__lo0bits - 0x0801b5c0 0x5a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801b5c0 __lo0bits - *fill* 0x0801b61a 0x2 - .text.__i2b 0x0801b61c 0x2c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801b61c __i2b + 0x0801c950 0x5a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801c950 __lo0bits + *fill* 0x0801c9aa 0x2 + .text.__i2b 0x0801c9ac 0x2c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801c9ac __i2b .text.__multiply - 0x0801b648 0x150 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801b648 __multiply + 0x0801c9d8 0x150 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801c9d8 __multiply .text.__pow5mult - 0x0801b798 0xb4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801b798 __pow5mult + 0x0801cb28 0xb4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801cb28 __pow5mult .text.__lshift - 0x0801b84c 0xd8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801b84c __lshift - .text.__mcmp 0x0801b924 0x36 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801b924 __mcmp - *fill* 0x0801b95a 0x2 - .text.__mdiff 0x0801b95c 0x128 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801b95c __mdiff - .text.__ulp 0x0801ba84 0x40 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801ba84 __ulp - .text.__b2d 0x0801bac4 0x90 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801bac4 __b2d - .text.__d2b 0x0801bb54 0xb0 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801bb54 __d2b - .text.__ratio 0x0801bc04 0x60 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801bc04 __ratio + 0x0801cbdc 0xd8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801cbdc __lshift + .text.__mcmp 0x0801ccb4 0x36 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801ccb4 __mcmp + *fill* 0x0801ccea 0x2 + .text.__mdiff 0x0801ccec 0x128 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801ccec __mdiff + .text.__ulp 0x0801ce14 0x40 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801ce14 __ulp + .text.__b2d 0x0801ce54 0x90 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801ce54 __b2d + .text.__d2b 0x0801cee4 0xb0 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801cee4 __d2b + .text.__ratio 0x0801cf94 0x60 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801cf94 __ratio .text.__copybits - 0x0801bc64 0x46 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801bc64 __copybits + 0x0801cff4 0x46 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801cff4 __copybits .text.__any_on - 0x0801bcaa 0x42 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801bcaa __any_on + 0x0801d03a 0x42 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x0801d03a __any_on .text._malloc_usable_size_r - 0x0801bcec 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-msizer.o) - 0x0801bcec _malloc_usable_size_r + 0x0801d07c 0x10 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-msizer.o) + 0x0801d07c _malloc_usable_size_r .text.__submore - 0x0801bcfc 0x70 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-ungetc.o) - 0x0801bcfc __submore + 0x0801d08c 0x70 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-ungetc.o) + 0x0801d08c __submore .text.__swbuf_r - 0x0801bd6c 0x7c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-wbuf.o) - 0x0801bd6c __swbuf_r + 0x0801d0fc 0x7c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-wbuf.o) + 0x0801d0fc __swbuf_r .text.__swsetup_r - 0x0801bde8 0xac /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-wsetup.o) - 0x0801bde8 __swsetup_r + 0x0801d178 0xac /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-wsetup.o) + 0x0801d178 __swsetup_r .text.__ascii_wctomb - 0x0801be94 0x1a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-wctomb_r.o) - 0x0801be94 __ascii_wctomb + 0x0801d224 0x1a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-wctomb_r.o) + 0x0801d224 __ascii_wctomb .text.__swhatbuf_r - 0x0801beae 0x4a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-makebuf.o) - 0x0801beae __swhatbuf_r + 0x0801d23e 0x4a /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-makebuf.o) + 0x0801d23e __swhatbuf_r .text.__smakebuf_r - 0x0801bef8 0x78 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-makebuf.o) - 0x0801bef8 __smakebuf_r + 0x0801d288 0x78 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-makebuf.o) + 0x0801d288 __smakebuf_r .text._fstat_r - 0x0801bf70 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fstatr.o) - 0x0801bf70 _fstat_r + 0x0801d300 0x24 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fstatr.o) + 0x0801d300 _fstat_r .text._isatty_r - 0x0801bf94 0x20 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-isattyr.o) - 0x0801bf94 _isatty_r - .text.memchr 0x0801bfb4 0x1c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memchr-stub.o) - 0x0801bfb4 memchr + 0x0801d324 0x20 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-isattyr.o) + 0x0801d324 _isatty_r + .text.memchr 0x0801d344 0x1c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memchr-stub.o) + 0x0801d344 memchr .text._calloc_r - 0x0801bfd0 0x28 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-callocr.o) - 0x0801bfd0 _calloc_r + 0x0801d360 0x28 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-callocr.o) + 0x0801d360 _calloc_r .text.__fixdfdi - 0x0801bff8 0x30 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_fixdfdi.o) - 0x0801bff8 __aeabi_d2lz - 0x0801bff8 __fixdfdi + 0x0801d388 0x30 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_fixdfdi.o) + 0x0801d388 __aeabi_d2lz + 0x0801d388 __fixdfdi .text.__fixunsdfdi - 0x0801c028 0x3c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_fixunsdfdi.o) - 0x0801c028 __aeabi_d2ulz - 0x0801c028 __fixunsdfdi + 0x0801d3b8 0x3c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_fixunsdfdi.o) + 0x0801d3b8 __aeabi_d2ulz + 0x0801d3b8 __fixunsdfdi *(.glue_7) - .glue_7 0x0801c064 0x0 linker stubs + .glue_7 0x0801d3f4 0x0 linker stubs *(.glue_7t) - .glue_7t 0x0801c064 0x0 linker stubs + .glue_7t 0x0801d3f4 0x0 linker stubs *(.eh_frame) - .eh_frame 0x0801c064 0x0 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtbegin.o + .eh_frame 0x0801d3f4 0x0 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtbegin.o *(.init) - .init 0x0801c064 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crti.o - 0x0801c064 _init - .init 0x0801c068 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtn.o + .init 0x0801d3f4 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crti.o + 0x0801d3f4 _init + .init 0x0801d3f8 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtn.o *(.fini) - .fini 0x0801c070 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crti.o - 0x0801c070 _fini - .fini 0x0801c074 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtn.o - 0x0801c07c . = ALIGN (0x4) - 0x0801c07c _etext = . + .fini 0x0801d400 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crti.o + 0x0801d400 _fini + .fini 0x0801d404 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtn.o + 0x0801d40c . = ALIGN (0x4) + 0x0801d40c _etext = . -.vfp11_veneer 0x0801c07c 0x0 - .vfp11_veneer 0x0801c07c 0x0 linker stubs +.vfp11_veneer 0x0801d40c 0x0 + .vfp11_veneer 0x0801d40c 0x0 linker stubs -.v4_bx 0x0801c07c 0x0 - .v4_bx 0x0801c07c 0x0 linker stubs +.v4_bx 0x0801d40c 0x0 + .v4_bx 0x0801d40c 0x0 linker stubs -.iplt 0x0801c07c 0x0 - .iplt 0x0801c07c 0x0 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtbegin.o +.iplt 0x0801d40c 0x0 + .iplt 0x0801d40c 0x0 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtbegin.o -.ramfunc 0x0801c07c 0x28 - .ramfunc 0x0801c07c 0x28 .pio/build/stm32/src/utils.cpp.o - 0x0801c07c ReadUniqueID(unsigned long*) +.ramfunc 0x0801d40c 0x28 + .ramfunc 0x0801d40c 0x28 .pio/build/stm32/src/utils.cpp.o + 0x0801d40c ReadUniqueID(unsigned long*) -.rodata 0x0801c0a8 0x2ac8 - 0x0801c0a8 . = ALIGN (0x4) +.rodata 0x0801d438 0x2e90 + 0x0801d438 . = ALIGN (0x4) *(.rodata) - .rodata 0x0801c0a8 0x5 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - .rodata 0x0801c0ad 0x7 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - .rodata 0x0801c0b4 0x6 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - *fill* 0x0801c0ba 0x2 - .rodata 0x0801c0bc 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfscanf_i.o) + .rodata 0x0801d438 0x5 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + .rodata 0x0801d43d 0x7 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + .rodata 0x0801d444 0x6 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + *fill* 0x0801d44a 0x2 + .rodata 0x0801d44c 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfscanf_i.o) *(.rodata*) .rodata.PinMap_SPI_SSEL - 0x0801c0c8 0x30 .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o - 0x0801c0c8 PinMap_SPI_SSEL + 0x0801d458 0x30 .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o + 0x0801d458 PinMap_SPI_SSEL .rodata.PinMap_SPI_SCLK - 0x0801c0f8 0x30 .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o - 0x0801c0f8 PinMap_SPI_SCLK + 0x0801d488 0x30 .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o + 0x0801d488 PinMap_SPI_SCLK .rodata.PinMap_SPI_MISO - 0x0801c128 0x30 .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o - 0x0801c128 PinMap_SPI_MISO + 0x0801d4b8 0x30 .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o + 0x0801d4b8 PinMap_SPI_MISO .rodata.PinMap_SPI_MOSI - 0x0801c158 0x30 .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o - 0x0801c158 PinMap_SPI_MOSI + 0x0801d4e8 0x30 .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o + 0x0801d4e8 PinMap_SPI_MOSI .rodata.PinMap_UART_CTS - 0x0801c188 0x3c .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o - 0x0801c188 PinMap_UART_CTS + 0x0801d518 0x3c .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o + 0x0801d518 PinMap_UART_CTS .rodata.PinMap_UART_RTS - 0x0801c1c4 0x3c .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o - 0x0801c1c4 PinMap_UART_RTS + 0x0801d554 0x3c .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o + 0x0801d554 PinMap_UART_RTS .rodata.PinMap_UART_RX - 0x0801c200 0x48 .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o - 0x0801c200 PinMap_UART_RX + 0x0801d590 0x48 .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o + 0x0801d590 PinMap_UART_RX .rodata.PinMap_UART_TX - 0x0801c248 0x48 .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o - 0x0801c248 PinMap_UART_TX + 0x0801d5d8 0x48 .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o + 0x0801d5d8 PinMap_UART_TX .rodata.PinMap_TIM - 0x0801c290 0x234 .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o - 0x0801c290 PinMap_TIM + 0x0801d620 0x234 .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o + 0x0801d620 PinMap_TIM .rodata.PinMap_ADC - 0x0801c4c4 0x18c .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o - 0x0801c4c4 PinMap_ADC + 0x0801d854 0x18c .pio/build/stm32/FrameworkArduinoVariant/PeripheralPins.c.o + 0x0801d854 PinMap_ADC .rodata.analogInputPin - 0x0801c650 0x40 .pio/build/stm32/FrameworkArduinoVariant/variant_generic.cpp.o - 0x0801c650 analogInputPin + 0x0801d9e0 0x40 .pio/build/stm32/FrameworkArduinoVariant/variant_generic.cpp.o + 0x0801d9e0 analogInputPin .rodata.digitalPin - 0x0801c690 0xcc .pio/build/stm32/FrameworkArduinoVariant/variant_generic.cpp.o - 0x0801c690 digitalPin + 0x0801da20 0xcc .pio/build/stm32/FrameworkArduinoVariant/variant_generic.cpp.o + 0x0801da20 digitalPin .rodata.aPredivFactorTable.0 - 0x0801c75c 0x2 .pio/build/stm32/SrcWrapper/src/HAL/stm32yyxx_hal_rcc.c.o + 0x0801daec 0x2 .pio/build/stm32/SrcWrapper/src/HAL/stm32yyxx_hal_rcc.c.o .rodata.aPLLMULFactorTable.1 - 0x0801c75e 0x10 .pio/build/stm32/SrcWrapper/src/HAL/stm32yyxx_hal_rcc.c.o + 0x0801daee 0x10 .pio/build/stm32/SrcWrapper/src/HAL/stm32yyxx_hal_rcc.c.o .rodata.aPredivFactorTable.0 - 0x0801c76e 0x2 .pio/build/stm32/SrcWrapper/src/HAL/stm32yyxx_hal_rcc_ex.c.o + 0x0801dafe 0x2 .pio/build/stm32/SrcWrapper/src/HAL/stm32yyxx_hal_rcc_ex.c.o .rodata.aPLLMULFactorTable.1 - 0x0801c770 0x10 .pio/build/stm32/SrcWrapper/src/HAL/stm32yyxx_hal_rcc_ex.c.o + 0x0801db00 0x10 .pio/build/stm32/SrcWrapper/src/HAL/stm32yyxx_hal_rcc_ex.c.o .rodata.CSWTCH.75 - 0x0801c780 0x4 .pio/build/stm32/SrcWrapper/src/HardwareTimer.cpp.o + 0x0801db10 0x4 .pio/build/stm32/SrcWrapper/src/HardwareTimer.cpp.o .rodata.CSWTCH.73 - 0x0801c784 0x4 .pio/build/stm32/SrcWrapper/src/HardwareTimer.cpp.o + 0x0801db14 0x4 .pio/build/stm32/SrcWrapper/src/HardwareTimer.cpp.o .rodata.CSWTCH.71 - 0x0801c788 0x6 .pio/build/stm32/SrcWrapper/src/HardwareTimer.cpp.o - *fill* 0x0801c78e 0x2 + 0x0801db18 0x6 .pio/build/stm32/SrcWrapper/src/HardwareTimer.cpp.o + *fill* 0x0801db1e 0x2 .rodata.pin_map_ll - 0x0801c790 0x40 .pio/build/stm32/SrcWrapper/src/stm32/pinmap.c.o - 0x0801c790 pin_map_ll + 0x0801db20 0x40 .pio/build/stm32/SrcWrapper/src/stm32/pinmap.c.o + 0x0801db20 pin_map_ll .rodata.APBPrescTable - 0x0801c7d0 0x8 .pio/build/stm32/SrcWrapper/src/stm32/system_stm32yyxx.c.o - 0x0801c7d0 APBPrescTable + 0x0801db60 0x8 .pio/build/stm32/SrcWrapper/src/stm32/system_stm32yyxx.c.o + 0x0801db60 APBPrescTable .rodata.AHBPrescTable - 0x0801c7d8 0x10 .pio/build/stm32/SrcWrapper/src/stm32/system_stm32yyxx.c.o - 0x0801c7d8 AHBPrescTable + 0x0801db68 0x10 .pio/build/stm32/SrcWrapper/src/stm32/system_stm32yyxx.c.o + 0x0801db68 AHBPrescTable + .rodata._ZN11abstractOut8isActiveEv.str1.1 + 0x0801db78 0x15 .pio/build/stm32/src/abstractout.cpp.o .rodata._ZL5off_P - 0x0801c7e8 0x4 .pio/build/stm32/src/abstractout.cpp.o + 0x0801db8d 0x4 .pio/build/stm32/src/abstractout.cpp.o .rodata._ZL5fan_P - 0x0801c7ec 0x4 .pio/build/stm32/src/abstractout.cpp.o + 0x0801db91 0x4 .pio/build/stm32/src/abstractout.cpp.o .rodata._ZL6idle_P - 0x0801c7f0 0x5 .pio/build/stm32/src/abstractout.cpp.o + 0x0801db95 0x5 .pio/build/stm32/src/abstractout.cpp.o .rodata._ZL8drying_P - 0x0801c7f5 0x7 .pio/build/stm32/src/abstractout.cpp.o + 0x0801db9a 0x7 .pio/build/stm32/src/abstractout.cpp.o .rodata._ZL9heating_P - 0x0801c7fc 0x8 .pio/build/stm32/src/abstractout.cpp.o + 0x0801dba1 0x8 .pio/build/stm32/src/abstractout.cpp.o .rodata._ZL9cooling_P - 0x0801c804 0x8 .pio/build/stm32/src/abstractout.cpp.o + 0x0801dba9 0x8 .pio/build/stm32/src/abstractout.cpp.o .rodata._ZL8action_P - 0x0801c80c 0x7 .pio/build/stm32/src/abstractout.cpp.o + 0x0801dbb1 0x7 .pio/build/stm32/src/abstractout.cpp.o .rodata._ZN12colorChannel4CtrlE7itemCmdPcbb.str1.1 - 0x0801c813 0x26 .pio/build/stm32/src/colorchannel.cpp.o + 0x0801dbb8 0x26 .pio/build/stm32/src/colorchannel.cpp.o .rodata._ZN12systemConfig12getMACStringEv.str1.1 - 0x0801c839 0x26 .pio/build/stm32/src/config.cpp.o + 0x0801dbde 0x26 .pio/build/stm32/src/config.cpp.o 0x1 (size before relaxing) .rodata._ZN12systemConfig7getETAGEv.str1.1 - 0x0801c839 0xd .pio/build/stm32/src/config.cpp.o + 0x0801dbde 0xd .pio/build/stm32/src/config.cpp.o .rodata._ZN12systemConfig7setETAGE6String.str1.1 - 0x0801c846 0xb .pio/build/stm32/src/config.cpp.o + 0x0801dbeb 0xb .pio/build/stm32/src/config.cpp.o .rodata._ZN12systemConfig8saveETAGEv.str1.1 - 0x0801c851 0xc .pio/build/stm32/src/config.cpp.o + 0x0801dbf6 0xc .pio/build/stm32/src/config.cpp.o .rodata._ZN12systemConfig8loadETAGEv.str1.1 - 0x0801c85d 0xd .pio/build/stm32/src/config.cpp.o + 0x0801dc02 0xd .pio/build/stm32/src/config.cpp.o .rodata._ZL16EEPROM_signature - 0x0801c86a 0x5 .pio/build/stm32/src/config.cpp.o + 0x0801dc0f 0x5 .pio/build/stm32/src/config.cpp.o .rodata._ZN11flashStream4openE6Stringc.str1.1 - 0x0801c86f 0x19 .pio/build/stm32/src/flashstream.cpp.o + 0x0801dc14 0x19 .pio/build/stm32/src/flashstream.cpp.o .rodata._ZN11flashStream5closeEv.str1.1 - 0x0801c888 0x4 .pio/build/stm32/src/flashstream.cpp.o + 0x0801dc2d 0x4 .pio/build/stm32/src/flashstream.cpp.o .rodata._ZN11flashStream5writeEh.str1.1 - 0x0801c88c 0x16 .pio/build/stm32/src/flashstream.cpp.o - *fill* 0x0801c8a2 0x2 + 0x0801dc31 0x16 .pio/build/stm32/src/flashstream.cpp.o + *fill* 0x0801dc47 0x1 .rodata._ZTV11flashStream - 0x0801c8a4 0x44 .pio/build/stm32/src/flashstream.cpp.o - 0x0801c8a4 vtable for flashStream + 0x0801dc48 0x44 .pio/build/stm32/src/flashstream.cpp.o + 0x0801dc48 vtable for flashStream .rodata._ZN5Input5ParseEP11aJsonObject.str1.1 - 0x0801c8e8 0x16 .pio/build/stm32/src/inputs.cpp.o + 0x0801dc8c 0x16 .pio/build/stm32/src/inputs.cpp.o 0x4 (size before relaxing) - .rodata._ZN5Input4stopEv.str1.1 - 0x0801c8e8 0xc .pio/build/stm32/src/inputs.cpp.o .rodata._Z10cleanStoreP11aJsonObject.str1.1 - 0x0801c8f4 0x4 .pio/build/stm32/src/inputs.cpp.o - .rodata._ZN5Input18setupRotaryEncoderEv.str1.1 - 0x0801c8f8 0x21 .pio/build/stm32/src/inputs.cpp.o + 0x0801dc8c 0x4 .pio/build/stm32/src/inputs.cpp.o .rodata._ZN5Input5setupEv.str1.1 - 0x0801c919 0x5 .pio/build/stm32/src/inputs.cpp.o + 0x0801dc90 0x5 .pio/build/stm32/src/inputs.cpp.o 0x7 (size before relaxing) .rodata._ZN5Input15setCurrentInputEP11aJsonObject.str1.1 - 0x0801c91e 0xd .pio/build/stm32/src/inputs.cpp.o + 0x0801dc95 0xd .pio/build/stm32/src/inputs.cpp.o 0x12 (size before relaxing) .rodata._ZN5Input17checkInstructionsEP11aJsonObject.str1.1 - 0x0801c92b 0xe .pio/build/stm32/src/inputs.cpp.o + 0x0801dca2 0xe .pio/build/stm32/src/inputs.cpp.o 0x13 (size before relaxing) .rodata._ZN5Input16onContactChangedEi.str1.1 - 0x0801c939 0x2c .pio/build/stm32/src/inputs.cpp.o + 0x0801dcb0 0x2c .pio/build/stm32/src/inputs.cpp.o 0x35 (size before relaxing) .rodata._ZN5Input11changeStateEhsP11aJsonObjectbb.str1.1 - 0x0801c965 0x49 .pio/build/stm32/src/inputs.cpp.o + 0x0801dcdc 0x49 .pio/build/stm32/src/inputs.cpp.o 0x51 (size before relaxing) .rodata._ZN5Input15onAnalogChangedE7itemCmd.str1.1 - 0x0801c9ae 0x49 .pio/build/stm32/src/inputs.cpp.o + 0x0801dd25 0x49 .pio/build/stm32/src/inputs.cpp.o 0x4 (size before relaxing) - .rodata._ZN5Input10analogPollEs.str1.1 - 0x0801c9ae 0x4 .pio/build/stm32/src/inputs.cpp.o - .rodata._ZN5Input11contactPollEsP13RotaryEncoder.str1.1 - 0x0801c9b2 0xc .pio/build/stm32/src/inputs.cpp.o - 0xe (size before relaxing) + .rodata._ZN5Input11contactPollEs.str1.1 + 0x0801dd25 0xb .pio/build/stm32/src/inputs.cpp.o .rodata._ZN4Item15scheduleCommandE7itemCmdb.str1.1 - 0x0801c9be 0x22 .pio/build/stm32/src/item.cpp.o + 0x0801dd30 0x22 .pio/build/stm32/src/item.cpp.o 0x28 (size before relaxing) .rodata._ZN4Item23scheduleOppositeCommandE7itemCmdsb.str1.1 - 0x0801c9e0 0x1f .pio/build/stm32/src/item.cpp.o + 0x0801dd52 0x1f .pio/build/stm32/src/item.cpp.o .rodata._Z17printActiveStatusb.str1.1 - 0x0801c9ff 0xa .pio/build/stm32/src/item.cpp.o + 0x0801dd71 0xa .pio/build/stm32/src/item.cpp.o .rodata._ZN4Item19SendStatusImmediateE7itemCmdlPcb.str1.1 - 0x0801ca09 0x2d .pio/build/stm32/src/item.cpp.o + 0x0801dd7b 0x2d .pio/build/stm32/src/item.cpp.o 0x34 (size before relaxing) .rodata._ZN4Item10SendStatusElPc.str1.1 - 0x0801ca36 0x11 .pio/build/stm32/src/item.cpp.o + 0x0801dda8 0x11 .pio/build/stm32/src/item.cpp.o .rodata._ZN4Item10checkRetryEv.str1.1 - 0x0801ca47 0xe .pio/build/stm32/src/item.cpp.o + 0x0801ddb9 0xe .pio/build/stm32/src/item.cpp.o 0x1c (size before relaxing) .rodata._ZN4Item8isActiveEv.str1.1 - 0x0801ca55 0x29 .pio/build/stm32/src/item.cpp.o + 0x0801ddc7 0x29 .pio/build/stm32/src/item.cpp.o 0x2b (size before relaxing) .rodata._ZN4Item4CtrlE7itemCmdPchb.str1.1 - 0x0801ca7e 0x240 .pio/build/stm32/src/item.cpp.o + 0x0801ddf0 0x240 .pio/build/stm32/src/item.cpp.o 0x242 (size before relaxing) .rodata._ZN4Item4CtrlEPcS0_i.str1.1 - 0x0801ccbe 0x2b .pio/build/stm32/src/item.cpp.o + 0x0801e030 0x2b .pio/build/stm32/src/item.cpp.o .rodata._ZN4Item4PollEi.str1.1 - 0x0801cce9 0x28 .pio/build/stm32/src/item.cpp.o + 0x0801e05b 0x28 .pio/build/stm32/src/item.cpp.o .rodata._ZL8suffix_P - 0x0801cd11 0x46 .pio/build/stm32/src/item.cpp.o + 0x0801e083 0x46 .pio/build/stm32/src/item.cpp.o .rodata._ZL10commands_P - 0x0801cd57 0xfa .pio/build/stm32/src/item.cpp.o + 0x0801e0c9 0x104 .pio/build/stm32/src/item.cpp.o .rodata._ZN7itemCmd11setChanTypeEs.str1.1 - 0x0801ce51 0x13 .pio/build/stm32/src/itemCmd.cpp.o + 0x0801e1cd 0x13 .pio/build/stm32/src/itemCmd.cpp.o .rodata._Z16replaceTypeToIntP11aJsonObject.str1.1 - 0x0801ce64 0x5 .pio/build/stm32/src/itemCmd.cpp.o + 0x0801e1e0 0x5 .pio/build/stm32/src/itemCmd.cpp.o + .rodata._ZN7itemCmd9doMappingEP11aJsonObject.str1.1 + 0x0801e1e5 0x7b .pio/build/stm32/src/itemCmd.cpp.o + 0x83 (size before relaxing) .rodata._ZN7itemCmd8toStringEPciib.str1.1 - 0x0801ce69 0x2a .pio/build/stm32/src/itemCmd.cpp.o + 0x0801e260 0x2a .pio/build/stm32/src/itemCmd.cpp.o 0x4c (size before relaxing) .rodata._ZN7itemCmd8debugOutEv.str1.1 - 0x0801ce93 0x7 .pio/build/stm32/src/itemCmd.cpp.o + 0x0801e28a 0x7 .pio/build/stm32/src/itemCmd.cpp.o 0xc (size before relaxing) .rodata._ZN7itemCmd9convertToEh.str1.1 - 0x0801ce9a 0xc .pio/build/stm32/src/itemCmd.cpp.o + 0x0801e291 0xc .pio/build/stm32/src/itemCmd.cpp.o 0xf (size before relaxing) .rodata._ZN7itemCmd10assignFromES_s.str1.1 - 0x0801cea6 0x59 .pio/build/stm32/src/itemCmd.cpp.o + 0x0801e29d 0x59 .pio/build/stm32/src/itemCmd.cpp.o .rodata._ZN7itemCmd11loadItemDefEP4Itemt.str1.1 - 0x0801ceff 0x1d .pio/build/stm32/src/itemCmd.cpp.o + 0x0801e2f6 0x1d .pio/build/stm32/src/itemCmd.cpp.o .rodata._ZL9ch_type_P - 0x0801cf1c 0xcf .pio/build/stm32/src/itemCmd.cpp.o + 0x0801e313 0xd8 .pio/build/stm32/src/itemCmd.cpp.o .rodata._ZL10commands_P - 0x0801cfeb 0xfa .pio/build/stm32/src/itemCmd.cpp.o + 0x0801e3eb 0x104 .pio/build/stm32/src/itemCmd.cpp.o .rodata._Z17cmdFunctionRebootiPPc.str1.1 - 0x0801d0e5 0x12 .pio/build/stm32/src/main.cpp.o + 0x0801e4ef 0x12 .pio/build/stm32/src/main.cpp.o .rodata._Z15cmdFunctionSaveiPPc.str1.1 - 0x0801d0f7 0x3b .pio/build/stm32/src/main.cpp.o + 0x0801e501 0x3b .pio/build/stm32/src/main.cpp.o .rodata._Z19cmdFunctionLogleveliPPc.str1.1 - 0x0801d132 0x29 .pio/build/stm32/src/main.cpp.o + 0x0801e53c 0x29 .pio/build/stm32/src/main.cpp.o .rodata._Z13cmdFunctionIpiPPc.str1.1 - 0x0801d15b 0x17 .pio/build/stm32/src/main.cpp.o + 0x0801e565 0x17 .pio/build/stm32/src/main.cpp.o .rodata._Z17cmdFunctionOTAPwdiPPc.str1.1 - 0x0801d172 0x16 .pio/build/stm32/src/main.cpp.o + 0x0801e57c 0x16 .pio/build/stm32/src/main.cpp.o .rodata._Z14cmdFunctionGetiPPc.str1.1 - 0x0801d188 0x34 .pio/build/stm32/src/main.cpp.o + 0x0801e592 0x34 .pio/build/stm32/src/main.cpp.o .rodata._Z14cmdFunctionPwdiPPc.str1.1 - 0x0801d1bc 0x17 .pio/build/stm32/src/main.cpp.o + 0x0801e5c6 0x17 .pio/build/stm32/src/main.cpp.o .rodata._Z22cmdFunctionClearEEPROMiPPc.str1.1 - 0x0801d1d3 0x10 .pio/build/stm32/src/main.cpp.o + 0x0801e5dd 0x10 .pio/build/stm32/src/main.cpp.o .rodata._Z12mqttCallbackPcPhj.str1.1 - 0x0801d1e3 0x5e .pio/build/stm32/src/main.cpp.o + 0x0801e5ed 0x5e .pio/build/stm32/src/main.cpp.o 0x64 (size before relaxing) .rodata._Z15printMACAddressv.str1.1 - 0x0801d241 0x5 .pio/build/stm32/src/main.cpp.o + 0x0801e64b 0x5 .pio/build/stm32/src/main.cpp.o 0x9 (size before relaxing) .rodata._Z17cmdFunctionSetMaciPPc.str1.1 - 0x0801d246 0x2f .pio/build/stm32/src/main.cpp.o + 0x0801e650 0x2f .pio/build/stm32/src/main.cpp.o .rodata._Z14setFirstBrokerv.str1.1 - 0x0801d275 0x17 .pio/build/stm32/src/main.cpp.o + 0x0801e67f 0x17 .pio/build/stm32/src/main.cpp.o .rodata._Z13setNextBrokerv.str1.1 - 0x0801d28c 0x1b .pio/build/stm32/src/main.cpp.o + 0x0801e696 0x1b .pio/build/stm32/src/main.cpp.o .rodata._Z43ip_ready_config_loaded_connecting_to_brokerv.str1.1 - 0x0801d2a7 0xf2 .pio/build/stm32/src/main.cpp.o + 0x0801e6b1 0xf2 .pio/build/stm32/src/main.cpp.o 0xf9 (size before relaxing) .rodata._Z21onInitialStateInitLANv.str1.1 - 0x0801d399 0xc2 .pio/build/stm32/src/main.cpp.o + 0x0801e7a3 0xc2 .pio/build/stm32/src/main.cpp.o .rodata._Z20printCurentLanConfigv.str1.1 - 0x0801d45b 0x26 .pio/build/stm32/src/main.cpp.o + 0x0801e865 0x26 .pio/build/stm32/src/main.cpp.o .rodata._Z9printBoolb.str1.1 - 0x0801d481 0x4 .pio/build/stm32/src/main.cpp.o + 0x0801e88b 0x2 .pio/build/stm32/src/main.cpp.o + 0x4 (size before relaxing) .rodata._Z18printConfigSummaryv.str1.1 - 0x0801d481 0x25 .pio/build/stm32/src/main.cpp.o + 0x0801e88d 0x25 .pio/build/stm32/src/main.cpp.o 0x2a (size before relaxing) .rodata._Z11attachTimerdPFvvEPKc.str1.1 - 0x0801d4a6 0x14 .pio/build/stm32/src/main.cpp.o + 0x0801e8b2 0x14 .pio/build/stm32/src/main.cpp.o .rodata._Z35printFirmwareVersionAndBuildOptionsv.str1.1 - 0x0801d4ba 0x1fd .pio/build/stm32/src/main.cpp.o - 0x202 (size before relaxing) + 0x0801e8c6 0x20b .pio/build/stm32/src/main.cpp.o + 0x210 (size before relaxing) .rodata._Z15cmdFunctionHelpiPPc.str1.1 - 0x0801d6b7 0x251 .pio/build/stm32/src/main.cpp.o + 0x0801ead1 0x251 .pio/build/stm32/src/main.cpp.o .rodata._Z11publishStatv.str1.1 - 0x0801d908 0x2 .pio/build/stm32/src/main.cpp.o + 0x0801ed22 0x2 .pio/build/stm32/src/main.cpp.o .rodata._Z15setupMacAddressv.str1.1 - 0x0801d908 0x27 .pio/build/stm32/src/main.cpp.o + 0x0801ed22 0x27 .pio/build/stm32/src/main.cpp.o .rodata._Z15setupCmdArduinov.str1.1 - 0x0801d92f 0x37 .pio/build/stm32/src/main.cpp.o + 0x0801ed49 0x37 .pio/build/stm32/src/main.cpp.o 0x3f (size before relaxing) .rodata._Z9inputLoops.str1.1 - 0x0801d966 0x4 .pio/build/stm32/src/main.cpp.o + 0x0801ed80 0x4 .pio/build/stm32/src/main.cpp.o .rodata._Z10inputSetupv.str1.1 - 0x0801d966 0x1b .pio/build/stm32/src/main.cpp.o + 0x0801ed80 0x1b .pio/build/stm32/src/main.cpp.o .rodata._Z11applyConfigv.str1.1 - 0x0801d981 0x4e .pio/build/stm32/src/main.cpp.o + 0x0801ed9b 0x4e .pio/build/stm32/src/main.cpp.o 0x5f (size before relaxing) .rodata._Z9inputStopv.str1.1 - 0x0801d9cf 0x10 .pio/build/stm32/src/main.cpp.o + 0x0801ede9 0x10 .pio/build/stm32/src/main.cpp.o .rodata._Z9cleanConfs.str1.1 - 0x0801d9df 0x5d .pio/build/stm32/src/main.cpp.o + 0x0801edf9 0x5d .pio/build/stm32/src/main.cpp.o 0x62 (size before relaxing) .rodata._Z20loadConfigFromEEPROMv.str1.1 - 0x0801da3c 0x59 .pio/build/stm32/src/main.cpp.o + 0x0801ee56 0x59 .pio/build/stm32/src/main.cpp.o 0x5a (size before relaxing) .rodata._Z10setup_mainv.str1.1 - 0x0801da95 0x29 .pio/build/stm32/src/main.cpp.o + 0x0801eeaf 0x29 .pio/build/stm32/src/main.cpp.o .rodata._Z18loadConfigFromHttpv.str1.1 - 0x0801dabe 0x129 .pio/build/stm32/src/main.cpp.o + 0x0801eed8 0x129 .pio/build/stm32/src/main.cpp.o 0x12f (size before relaxing) .rodata._Z7lanLoopv.str1.1 - 0x0801dbe7 0xce .pio/build/stm32/src/main.cpp.o + 0x0801f001 0xce .pio/build/stm32/src/main.cpp.o .rodata._Z11thermoRelayi10heaterMode.str1.1 - 0x0801dcb5 0x16 .pio/build/stm32/src/main.cpp.o - 0x1f (size before relaxing) + 0x0801f0cf 0x1f .pio/build/stm32/src/main.cpp.o .rodata._Z10thermoLoopv.str1.1 - 0x0801dccb 0x54 .pio/build/stm32/src/main.cpp.o + 0x0801f0ee 0x54 .pio/build/stm32/src/main.cpp.o 0x64 (size before relaxing) .rodata._ZL8verval_P - 0x0801dd1f 0x13 .pio/build/stm32/src/main.cpp.o + 0x0801f142 0x13 .pio/build/stm32/src/main.cpp.o .rodata._ZL12configserver - 0x0801dd32 0xc .pio/build/stm32/src/main.cpp.o + 0x0801f155 0xc .pio/build/stm32/src/main.cpp.o .rodata._ZL10CMDTOPIC_P - 0x0801dd3e 0x9 .pio/build/stm32/src/main.cpp.o + 0x0801f161 0x9 .pio/build/stm32/src/main.cpp.o .rodata._ZL10freeheap_P - 0x0801dd47 0x9 .pio/build/stm32/src/main.cpp.o + 0x0801f16a 0x9 .pio/build/stm32/src/main.cpp.o .rodata._ZL8uptime_P - 0x0801dd50 0x7 .pio/build/stm32/src/main.cpp.o + 0x0801f173 0x7 .pio/build/stm32/src/main.cpp.o .rodata._ZL10statsval_P - 0x0801dd57 0x10 .pio/build/stm32/src/main.cpp.o + 0x0801f17a 0x10 .pio/build/stm32/src/main.cpp.o .rodata._ZL7stats_P - 0x0801dd67 0x7 .pio/build/stm32/src/main.cpp.o + 0x0801f18a 0x7 .pio/build/stm32/src/main.cpp.o .rodata._ZL8lighthub - 0x0801dd6e 0x9 .pio/build/stm32/src/main.cpp.o + 0x0801f191 0x9 .pio/build/stm32/src/main.cpp.o .rodata._ZL9nameval_P - 0x0801dd77 0xa .pio/build/stm32/src/main.cpp.o + 0x0801f19a 0xa .pio/build/stm32/src/main.cpp.o .rodata._ZL6name_P - 0x0801dd81 0x6 .pio/build/stm32/src/main.cpp.o + 0x0801f1a4 0x6 .pio/build/stm32/src/main.cpp.o .rodata._ZL7ready_P - 0x0801dd87 0x6 .pio/build/stm32/src/main.cpp.o + 0x0801f1aa 0x6 .pio/build/stm32/src/main.cpp.o .rodata._ZL14disconnected_P - 0x0801dd8d 0xd .pio/build/stm32/src/main.cpp.o + 0x0801f1b0 0xd .pio/build/stm32/src/main.cpp.o .rodata._ZL7state_P - 0x0801dd9a 0x7 .pio/build/stm32/src/main.cpp.o + 0x0801f1bd 0x7 .pio/build/stm32/src/main.cpp.o .rodata._ZL10commands_P - 0x0801dda1 0xfa .pio/build/stm32/src/main.cpp.o + 0x0801f1c4 0x104 .pio/build/stm32/src/main.cpp.o .rodata._ZN9out_Motor4StopEv.str1.1 - 0x0801de9b 0x1c .pio/build/stm32/src/modules/out_motor.cpp.o + 0x0801f2c8 0x1c .pio/build/stm32/src/modules/out_motor.cpp.o .rodata._ZN9out_Motor4CtrlE7itemCmdPcbb.str1.1 - 0x0801deb7 0x24 .pio/build/stm32/src/modules/out_motor.cpp.o + 0x0801f2e4 0x24 .pio/build/stm32/src/modules/out_motor.cpp.o .rodata._ZN9out_Motor4PollEs.str1.1 - 0x0801dedb 0x1d .pio/build/stm32/src/modules/out_motor.cpp.o + 0x0801f308 0x1d .pio/build/stm32/src/modules/out_motor.cpp.o .rodata._ZN9out_Motor5SetupEv.str1.1 - 0x0801def8 0xc .pio/build/stm32/src/modules/out_motor.cpp.o + 0x0801f325 0xc .pio/build/stm32/src/modules/out_motor.cpp.o + *fill* 0x0801f331 0x3 .rodata._ZTV9out_Motor - 0x0801df04 0x3c .pio/build/stm32/src/modules/out_motor.cpp.o - 0x0801df04 vtable for out_Motor + 0x0801f334 0x3c .pio/build/stm32/src/modules/out_motor.cpp.o + 0x0801f334 vtable for out_Motor .rodata._ZN13out_Multivent4StopEv.str1.1 - 0x0801df40 0x12 .pio/build/stm32/src/modules/out_multivent.cpp.o + 0x0801f370 0x12 .pio/build/stm32/src/modules/out_multivent.cpp.o + .rodata._ZN13out_Multivent8isActiveEv.str1.1 + 0x0801f382 0x4 .pio/build/stm32/src/modules/out_multivent.cpp.o + .rodata._ZN13out_Multivent9getConfigEv.str1.1 + 0x0801f382 0x1 .pio/build/stm32/src/modules/out_multivent.cpp.o + .rodata._Z16SubmitParametersP11aJsonObjectPKc7itemCmdb.str1.1 + 0x0801f382 0x4 .pio/build/stm32/src/modules/out_multivent.cpp.o + .rodata._ZN13out_Multivent14setPassiveModeEP11aJsonObjectb.str1.1 + 0x0801f382 0x1f .pio/build/stm32/src/modules/out_multivent.cpp.o + 0x23 (size before relaxing) + .rodata._ZN13out_Multivent10checkACfanEi.str1.1 + 0x0801f3a1 0x2e .pio/build/stm32/src/modules/out_multivent.cpp.o + .rodata._ZN13out_Multivent10checkACsetEi.str1.1 + 0x0801f3cf 0x57 .pio/build/stm32/src/modules/out_multivent.cpp.o + 0x5c (size before relaxing) + .rodata._ZN13out_Multivent7fanCtrlE7itemCmdPcb.str1.1 + 0x0801f426 0x1cd .pio/build/stm32/src/modules/out_multivent.cpp.o + 0x1e2 (size before relaxing) + .rodata._ZN13out_Multivent12stopAllzonesEv.str1.1 + 0x0801f5f3 0x23 .pio/build/stm32/src/modules/out_multivent.cpp.o + .rodata._ZN13out_Multivent15restoreAllzonesEv.str1.1 + 0x0801f616 0x1a .pio/build/stm32/src/modules/out_multivent.cpp.o + .rodata._ZN13out_Multivent10checkACcmdEi.str1.1 + 0x0801f630 0x50 .pio/build/stm32/src/modules/out_multivent.cpp.o + .rodata._ZN13out_Multivent9sendACcmdE7itemCmd.str1.1 + 0x0801f680 0x5e .pio/build/stm32/src/modules/out_multivent.cpp.o .rodata._ZN13out_Multivent4CtrlE7itemCmdPcbb.str1.1 - 0x0801df52 0xc4 .pio/build/stm32/src/modules/out_multivent.cpp.o - 0xd2 (size before relaxing) - .rodata._ZN13out_Multivent9sendACcmdEi.str1.1 - 0x0801e016 0x9 .pio/build/stm32/src/modules/out_multivent.cpp.o - .rodata._ZN13out_Multivent4PollEs.str1.1 - 0x0801e01f 0x80 .pio/build/stm32/src/modules/out_multivent.cpp.o - 0x86 (size before relaxing) + 0x0801f6de 0x32 .pio/build/stm32/src/modules/out_multivent.cpp.o + 0x35 (size before relaxing) + .rodata._ZN13out_Multivent8setBoostE7itemCmd.str1.1 + 0x0801f710 0x17 .pio/build/stm32/src/modules/out_multivent.cpp.o + .rodata._ZN13out_Multivent10resetBoostEv.str1.1 + 0x0801f727 0x10 .pio/build/stm32/src/modules/out_multivent.cpp.o + .rodata._ZN13out_Multivent4PollEs.part.0.str1.1 + 0x0801f737 0xb4 .pio/build/stm32/src/modules/out_multivent.cpp.o + 0xba (size before relaxing) .rodata._ZN13out_Multivent5SetupEv.str1.1 - 0x0801e09f 0x34 .pio/build/stm32/src/modules/out_multivent.cpp.o - *fill* 0x0801e0d3 0x1 + 0x0801f7eb 0x55 .pio/build/stm32/src/modules/out_multivent.cpp.o .rodata._ZTV13out_Multivent - 0x0801e0d4 0x3c .pio/build/stm32/src/modules/out_multivent.cpp.o - 0x0801e0d4 vtable for out_Multivent + 0x0801f840 0x3c .pio/build/stm32/src/modules/out_multivent.cpp.o + 0x0801f840 vtable for out_Multivent .rodata._ZN7out_pwm5SetupEv.str1.1 - 0x0801e110 0xa .pio/build/stm32/src/modules/out_pwm.cpp.o + 0x0801f87c 0xa .pio/build/stm32/src/modules/out_pwm.cpp.o 0x12 (size before relaxing) .rodata._ZN7out_pwm4StopEv.str1.1 - 0x0801e11a 0xa .pio/build/stm32/src/modules/out_pwm.cpp.o + 0x0801f886 0xa .pio/build/stm32/src/modules/out_pwm.cpp.o 0x6 (size before relaxing) .rodata._ZN7out_pwm9PixelCtrlE7itemCmdPcbb.str1.1 - 0x0801e11a 0xb .pio/build/stm32/src/modules/out_pwm.cpp.o + 0x0801f886 0xb .pio/build/stm32/src/modules/out_pwm.cpp.o 0x12 (size before relaxing) .rodata.CSWTCH.18 - 0x0801e125 0x3 .pio/build/stm32/src/modules/out_pwm.cpp.o + 0x0801f891 0x3 .pio/build/stm32/src/modules/out_pwm.cpp.o .rodata._ZTV7out_pwm - 0x0801e128 0x40 .pio/build/stm32/src/modules/out_pwm.cpp.o - 0x0801e128 vtable for out_pwm + 0x0801f894 0x40 .pio/build/stm32/src/modules/out_pwm.cpp.o + 0x0801f894 vtable for out_pwm .rodata._ZN9out_relay5SetupEv.str1.1 - 0x0801e168 0x10 .pio/build/stm32/src/modules/out_relay.cpp.o + 0x0801f8d4 0x10 .pio/build/stm32/src/modules/out_relay.cpp.o 0x23 (size before relaxing) .rodata._ZN9out_relay4StopEv.str1.1 - 0x0801e178 0xc .pio/build/stm32/src/modules/out_relay.cpp.o + 0x0801f8e4 0xc .pio/build/stm32/src/modules/out_relay.cpp.o 0x12 (size before relaxing) .rodata._ZN9out_relay5relayEb.str1.1 - 0x0801e184 0x5 .pio/build/stm32/src/modules/out_relay.cpp.o + 0x0801f8f0 0x5 .pio/build/stm32/src/modules/out_relay.cpp.o 0xa (size before relaxing) .rodata._ZN9out_relay4CtrlE7itemCmdPcbb.str1.1 - 0x0801e189 0x1d .pio/build/stm32/src/modules/out_relay.cpp.o - *fill* 0x0801e189 0x3 + 0x0801f8f5 0x1d .pio/build/stm32/src/modules/out_relay.cpp.o + *fill* 0x0801f8f5 0x3 .rodata._ZTV9out_relay - 0x0801e18c 0x3c .pio/build/stm32/src/modules/out_relay.cpp.o - 0x0801e18c vtable for out_relay + 0x0801f8f8 0x3c .pio/build/stm32/src/modules/out_relay.cpp.o + 0x0801f8f8 vtable for out_relay .rodata._ZL8action_P - 0x0801e1c8 0x7 .pio/build/stm32/src/modules/out_relay.cpp.o - *fill* 0x0801e1cf 0x1 + 0x0801f934 0x7 .pio/build/stm32/src/modules/out_relay.cpp.o + *fill* 0x0801f93b 0x1 .rodata._ZTV9Streamlog - 0x0801e1d0 0x18 .pio/build/stm32/src/streamlog.cpp.o - 0x0801e1d0 vtable for Streamlog + 0x0801f93c 0x18 .pio/build/stm32/src/streamlog.cpp.o + 0x0801f93c vtable for Streamlog .rodata._ZN14templateStream10resolveKeyEPc.str1.1 - 0x0801e1e8 0x4 .pio/build/stm32/src/utils.cpp.o + 0x0801f954 0x4 .pio/build/stm32/src/utils.cpp.o .rodata._Z12_inet_ntoa_r9IPAddressPci.str1.1 - 0x0801e1ec 0x4 .pio/build/stm32/src/utils.cpp.o + 0x0801f958 0x4 .pio/build/stm32/src/utils.cpp.o 0x2 (size before relaxing) .rodata._Z14printIPAddress9IPAddress.str1.1 - 0x0801e1ec 0x2 .pio/build/stm32/src/utils.cpp.o + 0x0801f958 0x2 .pio/build/stm32/src/utils.cpp.o .rodata._Z8setTopicPca9topicTypePKc.str1.1 - 0x0801e1ec 0xa .pio/build/stm32/src/utils.cpp.o + 0x0801f958 0xa .pio/build/stm32/src/utils.cpp.o 0x10 (size before relaxing) .rodata._Z14softRebootFuncv.str1.1 - 0x0801e1f6 0x10 .pio/build/stm32/src/utils.cpp.o + 0x0801f962 0x10 .pio/build/stm32/src/utils.cpp.o .rodata._Z14executeCommandP11aJsonObjecta7itemCmdS0_S0_S0_.str1.1 - 0x0801e206 0x52 .pio/build/stm32/src/utils.cpp.o + 0x0801f972 0x4d .pio/build/stm32/src/utils.cpp.o 0x6d (size before relaxing) + *fill* 0x0801f9bf 0x1 .rodata._ZTV14templateStream - 0x0801e258 0x30 .pio/build/stm32/src/utils.cpp.o - 0x0801e258 vtable for templateStream + 0x0801f9c0 0x30 .pio/build/stm32/src/utils.cpp.o + 0x0801f9c0 vtable for templateStream .rodata._ZL9homeTopic - 0x0801e288 0x7 .pio/build/stm32/src/utils.cpp.o + 0x0801f9f0 0x7 .pio/build/stm32/src/utils.cpp.o .rodata._ZL7inTopic - 0x0801e28f 0x3 .pio/build/stm32/src/utils.cpp.o + 0x0801f9f7 0x3 .pio/build/stm32/src/utils.cpp.o .rodata._ZL8outTopic - 0x0801e292 0x6 .pio/build/stm32/src/utils.cpp.o + 0x0801f9fa 0x6 .pio/build/stm32/src/utils.cpp.o .rodata._ZL8suffix_P - 0x0801e298 0x46 .pio/build/stm32/src/utils.cpp.o + 0x0801fa00 0x46 .pio/build/stm32/src/utils.cpp.o .rodata._ZN11aJsonStream10printFloatEP11aJsonObject.str1.1 - 0x0801e2de 0x4 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x0801fa46 0x4 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) .rodata._ZN11aJsonStream14printStringPtrEPKc.str1.1 - 0x0801e2de 0x2 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x0801fa46 0x2 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) .rodata._ZN11aJsonStream10parseValueEP11aJsonObjectPPc.str1.1 - 0x0801e2de 0x10 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - *fill* 0x0801e2ee 0x2 + 0x0801fa46 0x10 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + *fill* 0x0801fa56 0x2 .rodata._ZTV11aJsonStream - 0x0801e2f0 0x2c .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x0801e2f0 vtable for aJsonStream + 0x0801fa58 0x2c .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x0801fa58 vtable for aJsonStream .rodata._ZTV17aJsonStringStream - 0x0801e31c 0x2c .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x0801e31c vtable for aJsonStringStream + 0x0801fa84 0x2c .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x0801fa84 vtable for aJsonStringStream .rodata._Z11cmd_displayv.str1.1 - 0x0801e348 0x4 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) + 0x0801fab0 0x4 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) .rodata._Z9cmd_parsePc.str1.1 - 0x0801e34c 0x10 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) + 0x0801fab4 0x10 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) 0x12 (size before relaxing) .rodata._Z11cmd_handlerv.str1.1 - 0x0801e35c 0x3 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) + 0x0801fac4 0x3 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) .rodata._ZN10HttpClientC2ER6ClientPKct.str1.1 - 0x0801e35f 0x1 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x0801fac7 0x1 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) .rodata._ZN10HttpClient10sendHeaderEPKcS1_.str1.1 - 0x0801e35f 0x3 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x0801fac7 0x3 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) .rodata._ZN10HttpClient18sendInitialHeadersEPKcS1_.str1.1 - 0x0801e35f 0x2d .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x0801fac7 0x2d .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) 0x31 (size before relaxing) .rodata._ZN10HttpClient12startRequestEPKcS1_S1_iPKh.str1.1 - 0x0801e38c 0x1c .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x0801faf4 0x1c .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) .rodata._ZN10HttpClient3getEPKc.str1.1 - 0x0801e3a8 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x0801fb10 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) .rodata._ZN10HttpClient18responseStatusCodeEv.str1.1 - 0x0801e3ac 0xa .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - *fill* 0x0801e3b6 0x2 + 0x0801fb14 0xa .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + *fill* 0x0801fb1e 0x2 .rodata._ZTV10HttpClient - 0x0801e3b8 0x5c .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - 0x0801e3b8 vtable for HttpClient + 0x0801fb20 0x5c .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x0801fb20 vtable for HttpClient .rodata.str1.1 - 0x0801e414 0x3a .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - *fill* 0x0801e44e 0x2 + 0x0801fb7c 0x3a .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + *fill* 0x0801fbb6 0x2 .rodata._ZTV12PubSubClient - 0x0801e450 0x18 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - 0x0801e450 vtable for PubSubClient + 0x0801fbb8 0x18 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x0801fbb8 vtable for PubSubClient .rodata._ZTV14EthernetClient - 0x0801e468 0x6c .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - 0x0801e468 vtable for EthernetClient + 0x0801fbd0 0x6c .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x0801fbd0 vtable for EthernetClient .rodata._ZTV11EthernetUDP - 0x0801e4d4 0x5c .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - 0x0801e4d4 vtable for EthernetUDP + 0x0801fc3c 0x5c .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x0801fc3c vtable for EthernetUDP .rodata._ZN9DhcpClass17send_DHCP_MESSAGEEht.str1.1 - 0x0801e530 0x7 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) - *fill* 0x0801e537 0x1 + 0x0801fc98 0x7 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) + *fill* 0x0801fc9f 0x1 .rodata._ZTV7TwoWire - 0x0801e538 0x2c .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x0801e538 vtable for TwoWire - .rodata._ZL7KNOBDIR - 0x0801e564 0x10 .pio/build/stm32/lib363/libRotaryEncoder.a(RotaryEncoder.cpp.o) + 0x0801fca0 0x2c .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x0801fca0 vtable for TwoWire .rodata.CSWTCH.73 - 0x0801e574 0x5 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - *fill* 0x0801e579 0x3 + 0x0801fccc 0x5 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + *fill* 0x0801fcd1 0x3 .rodata._ZTV14HardwareSerial - 0x0801e57c 0x2c .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x0801e57c vtable for HardwareSerial + 0x0801fcd4 0x2c .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x0801fcd4 vtable for HardwareSerial .rodata._ZTV9IPAddress - 0x0801e5a8 0xc .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) - 0x0801e5a8 vtable for IPAddress + 0x0801fd00 0xc .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) + 0x0801fd00 vtable for IPAddress .rodata._ZN5Print7printlnEv.str1.1 - 0x0801e5b4 0x3 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x0801fd0c 0x3 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) .rodata._ZN5Print10printFloatIfEEjT_h.str1.1 - 0x0801e5b4 0xc .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x0801fd0c 0xc .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) .rodata._ZN6Stream10readStringEv.str1.1 - 0x0801e5c0 0x1 .pio/build/stm32/libFrameworkArduino.a(Stream.cpp.o) + 0x0801fd18 0x1 .pio/build/stm32/libFrameworkArduino.a(Stream.cpp.o) .rodata._ZNK6String9substringEjj.str1.1 - 0x0801e5c0 0x1 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x0801fd18 0x1 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) .rodata.srand.str1.1 - 0x0801e5c0 0xbb /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-rand.o) + 0x0801fd18 0xbb /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-rand.o) .rodata._strtod_l.str1.1 - 0x0801e67b 0x6 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) + 0x0801fdd3 0x6 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) 0xf (size before relaxing) - *fill* 0x0801e681 0x3 + *fill* 0x0801fdd9 0x3 .rodata.fpinan.0 - 0x0801e684 0x14 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) - .rodata.fpi.1 0x0801e698 0x14 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) - *fill* 0x0801e6ac 0x4 + 0x0801fddc 0x14 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) + .rodata.fpi.1 0x0801fdf0 0x14 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) + *fill* 0x0801fe04 0x4 .rodata.tinytens - 0x0801e6b0 0x28 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) + 0x0801fe08 0x28 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) .rodata.strtok.str1.1 - 0x0801e6d8 0xa6 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtok.o) + 0x0801fe30 0xa6 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtok.o) 0xbd (size before relaxing) .rodata._setlocale_r.str1.1 - 0x0801e77e 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-locale.o) + 0x0801fed6 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-locale.o) 0x9 (size before relaxing) .rodata.str1.1 - 0x0801e786 0x2 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-locale.o) + 0x0801fede 0x2 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-locale.o) .rodata._ctype_ - 0x0801e786 0x101 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-ctype_.o) - 0x0801e786 _ctype_ + 0x0801fede 0x101 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-ctype_.o) + 0x0801fede _ctype_ .rodata.__assert_func.str1.1 - 0x0801e887 0x3c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-assert.o) + 0x0801ffdf 0x3c /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-assert.o) 0x3d (size before relaxing) .rodata.__gethex.str1.1 - 0x0801e8c3 0xbd /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-gethex.o) + 0x0802001b 0xbd /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-gethex.o) 0xbf (size before relaxing) .rodata._svfprintf_r.str1.1 - 0x0801e980 0x11 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfprintf.o) + 0x080200d8 0x11 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfprintf.o) .rodata.__ssvfscanf_r.str1.1 - 0x0801e991 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfscanf.o) + 0x080200e9 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfscanf.o) .rodata._vfprintf_r.str1.1 - 0x0801e991 0x11 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf.o) + 0x080200e9 0x11 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf.o) .rodata._printf_i.str1.1 - 0x0801e991 0x22 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf_i.o) + 0x080200e9 0x22 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf_i.o) .rodata._scanf_i.str1.1 - 0x0801e9b3 0x12 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfscanf_i.o) + 0x0802010b 0x12 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfscanf_i.o) .rodata.str1.1 - 0x0801e9c5 0x3 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfscanf_i.o) + 0x0802011d 0x6 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfscanf_i.o) 0x9 (size before relaxing) .rodata._Balloc.str1.1 - 0x0801e9c8 0xa5 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x08020123 0xa5 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) 0xbc (size before relaxing) .rodata.__multadd.str1.1 - 0x0801ea6d 0x11 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - *fill* 0x0801ea6d 0x3 - .rodata.p05.0 0x0801ea70 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - *fill* 0x0801ea7c 0x4 + 0x080201c8 0x11 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + .rodata.p05.0 0x080201c8 0xc /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + *fill* 0x080201d4 0x4 .rodata.__mprec_bigtens - 0x0801ea80 0x28 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801ea80 __mprec_bigtens + 0x080201d8 0x28 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x080201d8 __mprec_bigtens .rodata.__mprec_tens - 0x0801eaa8 0xc8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) - 0x0801eaa8 __mprec_tens - 0x0801eb70 . = ALIGN (0x4) + 0x08020200 0xc8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x08020200 __mprec_tens + 0x080202c8 . = ALIGN (0x4) -.ARM.extab 0x0801eb70 0x0 - 0x0801eb70 . = ALIGN (0x4) +.ARM.extab 0x080202c8 0x0 + 0x080202c8 . = ALIGN (0x4) *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x0801eb70 . = ALIGN (0x4) + 0x080202c8 . = ALIGN (0x4) -.ARM 0x0801eb70 0x8 - 0x0801eb70 . = ALIGN (0x4) - 0x0801eb70 __exidx_start = . +.ARM 0x080202c8 0x8 + 0x080202c8 . = ALIGN (0x4) + 0x080202c8 __exidx_start = . *(.ARM.exidx*) - .ARM.exidx 0x0801eb70 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strlen.o) - .ARM.exidx 0x0801eb78 0x0 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcmp.o) + .ARM.exidx 0x080202c8 0x8 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strlen.o) + .ARM.exidx 0x080202d0 0x0 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcmp.o) 0x8 (size before relaxing) - 0x0801eb78 __exidx_end = . - 0x0801eb78 . = ALIGN (0x4) + 0x080202d0 __exidx_end = . + 0x080202d0 . = ALIGN (0x4) -.preinit_array 0x0801eb78 0x0 - 0x0801eb78 . = ALIGN (0x4) - 0x0801eb78 PROVIDE (__preinit_array_start = .) +.preinit_array 0x080202d0 0x0 + 0x080202d0 . = ALIGN (0x4) + 0x080202d0 PROVIDE (__preinit_array_start = .) *(.preinit_array*) - 0x0801eb78 PROVIDE (__preinit_array_end = .) - 0x0801eb78 . = ALIGN (0x4) + 0x080202d0 PROVIDE (__preinit_array_end = .) + 0x080202d0 . = ALIGN (0x4) -.init_array 0x0801eb78 0x94 - 0x0801eb78 . = ALIGN (0x4) - 0x0801eb78 PROVIDE (__init_array_start = .) +.init_array 0x080202d0 0x94 + 0x080202d0 . = ALIGN (0x4) + 0x080202d0 PROVIDE (__init_array_start = .) *(SORT_BY_NAME(.init_array.*)) .init_array.00101 - 0x0801eb78 0x4 .pio/build/stm32/libFrameworkArduino.a(main.cpp.o) + 0x080202d0 0x4 .pio/build/stm32/libFrameworkArduino.a(main.cpp.o) *(.init_array*) - .init_array 0x0801eb7c 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtbegin.o - .init_array 0x0801eb80 0x4 .pio/build/stm32/SrcWrapper/src/stm32/interrupt.cpp.o - .init_array 0x0801eb84 0x4 .pio/build/stm32/src/abstractch.cpp.o - .init_array 0x0801eb88 0x4 .pio/build/stm32/src/abstractin.cpp.o - .init_array 0x0801eb8c 0x4 .pio/build/stm32/src/abstractout.cpp.o - .init_array 0x0801eb90 0x4 .pio/build/stm32/src/colorchannel.cpp.o - .init_array 0x0801eb94 0x4 .pio/build/stm32/src/config.cpp.o - .init_array 0x0801eb98 0x4 .pio/build/stm32/src/dmx.cpp.o - .init_array 0x0801eb9c 0x4 .pio/build/stm32/src/flashstream.cpp.o - .init_array 0x0801eba0 0x4 .pio/build/stm32/src/inputs.cpp.o - .init_array 0x0801eba4 0x4 .pio/build/stm32/src/item.cpp.o - .init_array 0x0801eba8 0x4 .pio/build/stm32/src/itemCmd.cpp.o - .init_array 0x0801ebac 0x4 .pio/build/stm32/src/lighthub.ino.cpp.o - .init_array 0x0801ebb0 0x4 .pio/build/stm32/src/main.cpp.o - .init_array 0x0801ebb4 0x4 .pio/build/stm32/src/modules/in_ccs811_hdc1080.cpp.o - .init_array 0x0801ebb8 0x4 .pio/build/stm32/src/modules/out_motor.cpp.o - .init_array 0x0801ebbc 0x4 .pio/build/stm32/src/modules/out_multivent.cpp.o - .init_array 0x0801ebc0 0x4 .pio/build/stm32/src/modules/out_pwm.cpp.o - .init_array 0x0801ebc4 0x4 .pio/build/stm32/src/modules/out_relay.cpp.o - .init_array 0x0801ebc8 0x4 .pio/build/stm32/src/statusled.cpp.o - .init_array 0x0801ebcc 0x4 .pio/build/stm32/src/streamlog.cpp.o - .init_array 0x0801ebd0 0x4 .pio/build/stm32/src/utils.cpp.o - .init_array 0x0801ebd4 0x4 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - .init_array 0x0801ebd8 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) - .init_array 0x0801ebdc 0x4 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) - .init_array 0x0801ebe0 0x4 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) - .init_array 0x0801ebe4 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) - .init_array 0x0801ebe8 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) - .init_array 0x0801ebec 0x4 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) - .init_array 0x0801ebf0 0x4 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - .init_array 0x0801ebf4 0x4 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) - .init_array 0x0801ebf8 0x4 .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) - .init_array 0x0801ebfc 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetServer.cpp.o) - .init_array 0x0801ec00 0x4 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - .init_array 0x0801ec04 0x4 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - .init_array 0x0801ec08 0x4 .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) - 0x0801ec0c PROVIDE (__init_array_end = .) - 0x0801ec0c . = ALIGN (0x4) + .init_array 0x080202d4 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtbegin.o + .init_array 0x080202d8 0x4 .pio/build/stm32/SrcWrapper/src/stm32/interrupt.cpp.o + .init_array 0x080202dc 0x4 .pio/build/stm32/src/abstractch.cpp.o + .init_array 0x080202e0 0x4 .pio/build/stm32/src/abstractin.cpp.o + .init_array 0x080202e4 0x4 .pio/build/stm32/src/abstractout.cpp.o + .init_array 0x080202e8 0x4 .pio/build/stm32/src/colorchannel.cpp.o + .init_array 0x080202ec 0x4 .pio/build/stm32/src/config.cpp.o + .init_array 0x080202f0 0x4 .pio/build/stm32/src/dmx.cpp.o + .init_array 0x080202f4 0x4 .pio/build/stm32/src/flashstream.cpp.o + .init_array 0x080202f8 0x4 .pio/build/stm32/src/inputs.cpp.o + .init_array 0x080202fc 0x4 .pio/build/stm32/src/item.cpp.o + .init_array 0x08020300 0x4 .pio/build/stm32/src/itemCmd.cpp.o + .init_array 0x08020304 0x4 .pio/build/stm32/src/lighthub.ino.cpp.o + .init_array 0x08020308 0x4 .pio/build/stm32/src/main.cpp.o + .init_array 0x0802030c 0x4 .pio/build/stm32/src/modules/in_ccs811_hdc1080.cpp.o + .init_array 0x08020310 0x4 .pio/build/stm32/src/modules/out_motor.cpp.o + .init_array 0x08020314 0x4 .pio/build/stm32/src/modules/out_multivent.cpp.o + .init_array 0x08020318 0x4 .pio/build/stm32/src/modules/out_pwm.cpp.o + .init_array 0x0802031c 0x4 .pio/build/stm32/src/modules/out_relay.cpp.o + .init_array 0x08020320 0x4 .pio/build/stm32/src/statusled.cpp.o + .init_array 0x08020324 0x4 .pio/build/stm32/src/streamlog.cpp.o + .init_array 0x08020328 0x4 .pio/build/stm32/src/utils.cpp.o + .init_array 0x0802032c 0x4 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + .init_array 0x08020330 0x4 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + .init_array 0x08020334 0x4 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + .init_array 0x08020338 0x4 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + .init_array 0x0802033c 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + .init_array 0x08020340 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + .init_array 0x08020344 0x4 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + .init_array 0x08020348 0x4 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + .init_array 0x0802034c 0x4 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) + .init_array 0x08020350 0x4 .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) + .init_array 0x08020354 0x4 .pio/build/stm32/liba17/libEthernet.a(EthernetServer.cpp.o) + .init_array 0x08020358 0x4 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + .init_array 0x0802035c 0x4 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + .init_array 0x08020360 0x4 .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) + 0x08020364 PROVIDE (__init_array_end = .) + 0x08020364 . = ALIGN (0x4) -.fini_array 0x0801ec0c 0x10 - 0x0801ec0c . = ALIGN (0x4) - 0x0801ec0c PROVIDE (__fini_array_start = .) +.fini_array 0x08020364 0x10 + 0x08020364 . = ALIGN (0x4) + 0x08020364 PROVIDE (__fini_array_start = .) *(SORT_BY_NAME(.fini_array.*)) *(.fini_array*) - .fini_array 0x0801ec0c 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtbegin.o - .fini_array 0x0801ec10 0x4 .pio/build/stm32/SrcWrapper/src/stm32/interrupt.cpp.o - .fini_array 0x0801ec14 0x4 .pio/build/stm32/src/main.cpp.o - .fini_array 0x0801ec18 0x4 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x0801ec1c PROVIDE (__fini_array_end = .) - 0x0801ec1c . = ALIGN (0x4) - 0x0801ec1c _sidata = LOADADDR (.data) + .fini_array 0x08020364 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtbegin.o + .fini_array 0x08020368 0x4 .pio/build/stm32/SrcWrapper/src/stm32/interrupt.cpp.o + .fini_array 0x0802036c 0x4 .pio/build/stm32/src/main.cpp.o + .fini_array 0x08020370 0x4 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x08020374 PROVIDE (__fini_array_end = .) + 0x08020374 . = ALIGN (0x4) + 0x08020374 _sidata = LOADADDR (.data) -.rel.dyn 0x0801ec1c 0x0 - .rel.iplt 0x0801ec1c 0x0 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtbegin.o +.rel.dyn 0x08020374 0x0 + .rel.iplt 0x08020374 0x0 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtbegin.o -.data 0x20000000 0x2b0 load address 0x0801ec1c +.data 0x20000000 0x2b0 load address 0x08020374 0x20000000 . = ALIGN (0x4) 0x20000000 _sdata = . *(.data) @@ -8751,11 +8836,11 @@ Linker script and memory map 0x200002b0 . = ALIGN (0x4) 0x200002b0 _edata = . -.igot.plt 0x200002b0 0x0 load address 0x0801eecc +.igot.plt 0x200002b0 0x0 load address 0x08020624 .igot.plt 0x200002b0 0x0 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtbegin.o 0x200002b0 . = ALIGN (0x4) -.bss 0x200002b0 0xf8c load address 0x0801eecc +.bss 0x200002b0 0xf94 load address 0x08020624 0x200002b0 _sbss = . 0x200002b0 __bss_start__ = _sbss *(.bss) @@ -8797,246 +8882,247 @@ Linker script and memory map *fill* 0x2000048a 0x2 .bss._ZL11INADDR_NONE 0x2000048c 0x8 .pio/build/stm32/src/inputs.cpp.o - .bss.df 0x20000494 0x5c .pio/build/stm32/src/item.cpp.o + .bss.df 0x20000494 0x60 .pio/build/stm32/src/item.cpp.o 0x20000494 df .bss._ZL11INADDR_NONE - 0x200004f0 0x8 .pio/build/stm32/src/item.cpp.o + 0x200004f4 0x8 .pio/build/stm32/src/item.cpp.o .bss._ZL11INADDR_NONE - 0x200004f8 0x8 .pio/build/stm32/src/itemCmd.cpp.o + 0x200004fc 0x8 .pio/build/stm32/src/itemCmd.cpp.o .bss._ZL11INADDR_NONE - 0x20000500 0x8 .pio/build/stm32/src/lighthub.ino.cpp.o + 0x20000504 0x8 .pio/build/stm32/src/lighthub.ino.cpp.o .bss.inputLoopBusy - 0x20000508 0x1 .pio/build/stm32/src/main.cpp.o - 0x20000508 inputLoopBusy - .bss.ITimer0 0x20000509 0x14 .pio/build/stm32/src/main.cpp.o - 0x20000509 ITimer0 + 0x2000050c 0x1 .pio/build/stm32/src/main.cpp.o + 0x2000050c inputLoopBusy + .bss.ITimer0 0x2000050d 0x14 .pio/build/stm32/src/main.cpp.o + 0x2000050d ITimer0 .bss.mqttErrorRate - 0x2000051d 0x1 .pio/build/stm32/src/main.cpp.o - 0x2000051d mqttErrorRate - *fill* 0x2000051e 0x2 + 0x20000521 0x1 .pio/build/stm32/src/main.cpp.o + 0x20000521 mqttErrorRate + *fill* 0x20000522 0x2 .bss.mqttClient - 0x20000520 0x40 .pio/build/stm32/src/main.cpp.o - 0x20000520 mqttClient + 0x20000524 0x40 .pio/build/stm32/src/main.cpp.o + 0x20000524 mqttClient .bss.configLocked - 0x20000560 0x1 .pio/build/stm32/src/main.cpp.o - 0x20000560 configLocked - .bss.ethernetIdleCount - 0x20000561 0x1 .pio/build/stm32/src/main.cpp.o - 0x20000561 ethernetIdleCount - .bss.DHCP_failures - 0x20000562 0x1 .pio/build/stm32/src/main.cpp.o - 0x20000562 DHCP_failures - .bss.initializedListeners - 0x20000563 0x1 .pio/build/stm32/src/main.cpp.o - 0x20000563 initializedListeners - .bss.configLoaded 0x20000564 0x1 .pio/build/stm32/src/main.cpp.o - 0x20000564 configLoaded - .bss.configOk 0x20000565 0x1 .pio/build/stm32/src/main.cpp.o - 0x20000565 configOk - *fill* 0x20000566 0x2 + 0x20000564 configLocked + .bss.ethernetIdleCount + 0x20000565 0x1 .pio/build/stm32/src/main.cpp.o + 0x20000565 ethernetIdleCount + .bss.DHCP_failures + 0x20000566 0x1 .pio/build/stm32/src/main.cpp.o + 0x20000566 DHCP_failures + .bss.initializedListeners + 0x20000567 0x1 .pio/build/stm32/src/main.cpp.o + 0x20000567 initializedListeners + .bss.configLoaded + 0x20000568 0x1 .pio/build/stm32/src/main.cpp.o + 0x20000568 configLoaded + .bss.configOk 0x20000569 0x1 .pio/build/stm32/src/main.cpp.o + 0x20000569 configOk + *fill* 0x2000056a 0x2 .bss.pollingItem - 0x20000568 0x4 .pio/build/stm32/src/main.cpp.o - 0x20000568 pollingItem - .bss.ultrasonicInputCheck 0x2000056c 0x4 .pio/build/stm32/src/main.cpp.o - 0x2000056c ultrasonicInputCheck + 0x2000056c pollingItem + .bss.ultrasonicInputCheck + 0x20000570 0x4 .pio/build/stm32/src/main.cpp.o + 0x20000570 ultrasonicInputCheck .bss.timerHandlerBusy - 0x20000570 0x1 .pio/build/stm32/src/main.cpp.o - 0x20000570 timerHandlerBusy - *fill* 0x20000571 0x3 + 0x20000574 0x1 .pio/build/stm32/src/main.cpp.o + 0x20000574 timerHandlerBusy + *fill* 0x20000575 0x3 .bss.timerCount - 0x20000574 0x4 .pio/build/stm32/src/main.cpp.o - 0x20000574 timerCount - .bss.timerSensorCheck 0x20000578 0x4 .pio/build/stm32/src/main.cpp.o - 0x20000578 timerSensorCheck - .bss.timerThermostatCheck + 0x20000578 timerCount + .bss.timerSensorCheck 0x2000057c 0x4 .pio/build/stm32/src/main.cpp.o - 0x2000057c timerThermostatCheck - .bss.timerLanCheckTime + 0x2000057c timerSensorCheck + .bss.timerThermostatCheck 0x20000580 0x4 .pio/build/stm32/src/main.cpp.o - 0x20000580 timerLanCheckTime - .bss.timerInputCheck + 0x20000580 timerThermostatCheck + .bss.timerLanCheckTime 0x20000584 0x4 .pio/build/stm32/src/main.cpp.o - 0x20000584 timerInputCheck - .bss.timerPollingCheck + 0x20000584 timerLanCheckTime + .bss.timerInputCheck 0x20000588 0x4 .pio/build/stm32/src/main.cpp.o - 0x20000588 timerPollingCheck - .bss.mqttArr 0x2000058c 0x4 .pio/build/stm32/src/main.cpp.o - 0x2000058c mqttArr + 0x20000588 timerInputCheck + .bss.timerPollingCheck + 0x2000058c 0x4 .pio/build/stm32/src/main.cpp.o + 0x2000058c timerPollingCheck + .bss.mqttArr 0x20000590 0x4 .pio/build/stm32/src/main.cpp.o + 0x20000590 mqttArr .bss.brokersArr - 0x20000590 0x4 .pio/build/stm32/src/main.cpp.o - 0x20000590 brokersArr - .bss.inputs 0x20000594 0x4 .pio/build/stm32/src/main.cpp.o - 0x20000594 inputs - .bss.items 0x20000598 0x4 .pio/build/stm32/src/main.cpp.o - 0x20000598 items - .bss.root 0x2000059c 0x4 .pio/build/stm32/src/main.cpp.o - 0x2000059c root - .bss.topics 0x200005a0 0x4 .pio/build/stm32/src/main.cpp.o - 0x200005a0 topics + 0x20000594 0x4 .pio/build/stm32/src/main.cpp.o + 0x20000594 brokersArr + .bss.inputs 0x20000598 0x4 .pio/build/stm32/src/main.cpp.o + 0x20000598 inputs + .bss.items 0x2000059c 0x4 .pio/build/stm32/src/main.cpp.o + 0x2000059c items + .bss.root 0x200005a0 0x4 .pio/build/stm32/src/main.cpp.o + 0x200005a0 root + .bss.topics 0x200005a4 0x4 .pio/build/stm32/src/main.cpp.o + 0x200005a4 topics .bss.deviceName - 0x200005a4 0x4 .pio/build/stm32/src/main.cpp.o - 0x200005a4 deviceName - .bss.brokers 0x200005a8 0x1 .pio/build/stm32/src/main.cpp.o - 0x200005a8 brokers - *fill* 0x200005a9 0x3 - .bss.UniqueID 0x200005ac 0x14 .pio/build/stm32/src/main.cpp.o - 0x200005ac UniqueID + 0x200005a8 0x4 .pio/build/stm32/src/main.cpp.o + 0x200005a8 deviceName + .bss.brokers 0x200005ac 0x1 .pio/build/stm32/src/main.cpp.o + 0x200005ac brokers + *fill* 0x200005ad 0x3 + .bss.UniqueID 0x200005b0 0x14 .pio/build/stm32/src/main.cpp.o + 0x200005b0 UniqueID .bss.lanStatus - 0x200005c0 0x1 .pio/build/stm32/src/main.cpp.o - 0x200005c0 lanStatus - *fill* 0x200005c1 0x3 + 0x200005c4 0x1 .pio/build/stm32/src/main.cpp.o + 0x200005c4 lanStatus + *fill* 0x200005c5 0x3 .bss.statusLED - 0x200005c4 0x8 .pio/build/stm32/src/main.cpp.o - 0x200005c4 statusLED + 0x200005c8 0x8 .pio/build/stm32/src/main.cpp.o + 0x200005c8 statusLED .bss.ethClient - 0x200005cc 0x14 .pio/build/stm32/src/main.cpp.o - 0x200005cc ethClient - .bss.sysConf 0x200005e0 0x16 .pio/build/stm32/src/main.cpp.o - 0x200005e0 sysConf - *fill* 0x200005f6 0x2 + 0x200005d0 0x14 .pio/build/stm32/src/main.cpp.o + 0x200005d0 ethClient + .bss.sysConf 0x200005e4 0x16 .pio/build/stm32/src/main.cpp.o + 0x200005e4 sysConf + *fill* 0x200005fa 0x2 .bss.sysConfStream - 0x200005f8 0x24 .pio/build/stm32/src/main.cpp.o - 0x200005f8 sysConfStream + 0x200005fc 0x24 .pio/build/stm32/src/main.cpp.o + 0x200005fc sysConfStream .bss.infoSerial - 0x2000061c 0x14 .pio/build/stm32/src/main.cpp.o - 0x2000061c infoSerial + 0x20000620 0x14 .pio/build/stm32/src/main.cpp.o + 0x20000620 infoSerial .bss.errorSerial - 0x20000630 0x14 .pio/build/stm32/src/main.cpp.o - 0x20000630 errorSerial + 0x20000634 0x14 .pio/build/stm32/src/main.cpp.o + 0x20000634 errorSerial .bss.debugSerial - 0x20000644 0x14 .pio/build/stm32/src/main.cpp.o - 0x20000644 debugSerial + 0x20000648 0x14 .pio/build/stm32/src/main.cpp.o + 0x20000648 debugSerial .bss._ZL11INADDR_NONE - 0x20000658 0x8 .pio/build/stm32/src/main.cpp.o + 0x2000065c 0x8 .pio/build/stm32/src/main.cpp.o .bss._ZL11INADDR_NONE - 0x20000660 0x8 .pio/build/stm32/src/modules/in_ccs811_hdc1080.cpp.o + 0x20000664 0x8 .pio/build/stm32/src/modules/in_ccs811_hdc1080.cpp.o .bss._ZL11INADDR_NONE - 0x20000668 0x8 .pio/build/stm32/src/modules/out_motor.cpp.o + 0x2000066c 0x8 .pio/build/stm32/src/modules/out_motor.cpp.o .bss._ZL11INADDR_NONE - 0x20000670 0x8 .pio/build/stm32/src/modules/out_multivent.cpp.o + 0x20000674 0x8 .pio/build/stm32/src/modules/out_multivent.cpp.o .bss._ZL11INADDR_NONE - 0x20000678 0x8 .pio/build/stm32/src/modules/out_pwm.cpp.o + 0x2000067c 0x8 .pio/build/stm32/src/modules/out_pwm.cpp.o .bss._ZL11INADDR_NONE - 0x20000680 0x8 .pio/build/stm32/src/modules/out_relay.cpp.o + 0x20000684 0x8 .pio/build/stm32/src/modules/out_relay.cpp.o .bss._ZL11INADDR_NONE - 0x20000688 0x8 .pio/build/stm32/src/statusled.cpp.o + 0x2000068c 0x8 .pio/build/stm32/src/statusled.cpp.o .bss._ZL11INADDR_NONE - 0x20000690 0x8 .pio/build/stm32/src/streamlog.cpp.o + 0x20000694 0x8 .pio/build/stm32/src/streamlog.cpp.o .bss._ZL11INADDR_NONE - 0x20000698 0x8 .pio/build/stm32/src/utils.cpp.o + 0x2000069c 0x8 .pio/build/stm32/src/utils.cpp.o + *fill* 0x200006a4 0x4 .bss.eeprom_buffer - 0x200006a0 0x400 .pio/build/stm32/libfbc/libEEPROM.a(stm32_eeprom.c.o) - .bss.aJson 0x20000aa0 0x1 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) - 0x20000aa0 aJson - *fill* 0x20000aa1 0x3 + 0x200006a8 0x400 .pio/build/stm32/libfbc/libEEPROM.a(stm32_eeprom.c.o) + .bss.aJson 0x20000aa8 0x1 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x20000aa8 aJson + *fill* 0x20000aa9 0x3 .bss._ZL11INADDR_NONE - 0x20000aa4 0x8 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) + 0x20000aac 0x8 .pio/build/stm32/libedd/libaJson.a(aJSON.cpp.o) .bss.stringLib - 0x20000aac 0xc .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) + 0x20000ab4 0xc .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) .bss.global_buffer - 0x20000ab8 0x100 .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) - 0x20000ab8 global_buffer + 0x20000ac0 0x100 .pio/build/stm32/libedd/libaJson.a(stringbuffer.c.o) + 0x20000ac0 global_buffer .bss._ZL7cmd_tbl - 0x20000bb8 0x4 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) + 0x20000bc0 0x4 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) .bss._ZL12cmd_tbl_list - 0x20000bbc 0x4 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) + 0x20000bc4 0x4 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) .bss._ZL7msg_ptr - 0x20000bc0 0x1 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) - .bss._ZL3msg 0x20000bc1 0x3c .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) + 0x20000bc8 0x1 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) + .bss._ZL3msg 0x20000bc9 0x3c .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) .bss.disableCMD - 0x20000bfd 0x1 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) - 0x20000bfd disableCMD - *fill* 0x20000bfe 0x2 + 0x20000c05 0x1 .pio/build/stm32/lib26f/libCmdArduino.a(Cmd.cpp.o) + 0x20000c05 disableCMD + *fill* 0x20000c06 0x2 .bss._ZL11INADDR_NONE - 0x20000c00 0x8 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) + 0x20000c08 0x8 .pio/build/stm32/libe13/libArduinoHttpClient.a(HttpClient.cpp.o) .bss._ZL11INADDR_NONE - 0x20000c08 0x8 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) + 0x20000c10 0x8 .pio/build/stm32/libd63/libPubSubClient.a(PubSubClient.cpp.o) .bss._ZGVZN13EthernetClass5beginEPhmmE6s_dhcp - 0x20000c10 0x4 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x20000c18 0x4 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) .bss._ZZN13EthernetClass5beginEPhmmE6s_dhcp - 0x20000c14 0x6c .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x20000c1c 0x6c .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) .bss._ZN13EthernetClass5_dhcpE - 0x20000c80 0x4 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) - 0x20000c80 EthernetClass::_dhcp + 0x20000c88 0x4 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x20000c88 EthernetClass::_dhcp .bss._ZN13EthernetClass17_dnsServerAddressE - 0x20000c84 0x8 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) - 0x20000c84 EthernetClass::_dnsServerAddress - .bss._ZL11INADDR_NONE 0x20000c8c 0x8 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) + 0x20000c8c EthernetClass::_dnsServerAddress .bss._ZL11INADDR_NONE - 0x20000c94 0x8 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + 0x20000c94 0x8 .pio/build/stm32/liba17/libEthernet.a(Ethernet.cpp.o) .bss._ZL11INADDR_NONE - 0x20000c9c 0x8 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) + 0x20000c9c 0x8 .pio/build/stm32/liba17/libEthernet.a(EthernetClient.cpp.o) + .bss._ZL11INADDR_NONE + 0x20000ca4 0x8 .pio/build/stm32/liba17/libEthernet.a(EthernetUdp.cpp.o) .bss._ZL5state - 0x20000ca4 0x40 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x20000cac 0x40 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) .bss._ZL11INADDR_NONE - 0x20000ce4 0x8 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) + 0x20000cec 0x8 .pio/build/stm32/liba17/libEthernet.a(socket.cpp.o) .bss._ZZN10W5100Class4initEvE11initialized - 0x20000cec 0x1 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x20000cf4 0x1 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) .bss._ZN10W5100Class11CH_BASE_MSBE - 0x20000ced 0x1 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x20000ced W5100Class::CH_BASE_MSB + 0x20000cf5 0x1 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x20000cf5 W5100Class::CH_BASE_MSB .bss._ZN10W5100Class4chipE - 0x20000cee 0x1 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) - 0x20000cee W5100Class::chip - *fill* 0x20000cef 0x1 + 0x20000cf6 0x1 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x20000cf6 W5100Class::chip + *fill* 0x20000cf7 0x1 .bss._ZL11INADDR_NONE - 0x20000cf0 0x8 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) + 0x20000cf8 0x8 .pio/build/stm32/liba17/libEthernet.a(w5100.cpp.o) .bss._ZL11INADDR_NONE - 0x20000cf8 0x8 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) + 0x20000d00 0x8 .pio/build/stm32/liba17/libEthernet.a(Dhcp.cpp.o) .bss._ZL11INADDR_NONE - 0x20000d00 0x8 .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) + 0x20000d08 0x8 .pio/build/stm32/liba17/libEthernet.a(Dns.cpp.o) .bss._ZN14EthernetServer11server_portE - 0x20000d08 0x10 .pio/build/stm32/liba17/libEthernet.a(EthernetServer.cpp.o) - 0x20000d08 EthernetServer::server_port + 0x20000d10 0x10 .pio/build/stm32/liba17/libEthernet.a(EthernetServer.cpp.o) + 0x20000d10 EthernetServer::server_port .bss._ZL11INADDR_NONE - 0x20000d18 0x8 .pio/build/stm32/liba17/libEthernet.a(EthernetServer.cpp.o) - .bss.Wire 0x20000d20 0xe4 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) - 0x20000d20 Wire + 0x20000d20 0x8 .pio/build/stm32/liba17/libEthernet.a(EthernetServer.cpp.o) + .bss.Wire 0x20000d28 0xe4 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) + 0x20000d28 Wire .bss.i2c_handles - 0x20000e04 0x8 .pio/build/stm32/libdfc/libWire.a(twi.c.o) - .bss.Serial2 0x20000e0c 0x118 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x20000e0c Serial2 - .bss.Serial1 0x20000f24 0x118 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) - 0x20000f24 Serial1 + 0x20000e0c 0x8 .pio/build/stm32/libdfc/libWire.a(twi.c.o) + .bss.Serial2 0x20000e14 0x118 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x20000e14 Serial2 + .bss.Serial1 0x20000f2c 0x118 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x20000f2c Serial1 .bss._ZZN6StringixEjE19dummy_writable_char - 0x2000103c 0x1 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) - *fill* 0x2000103d 0x3 + 0x20001044 0x1 .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + *fill* 0x20001045 0x3 .bss.g_anOutputPinConfigured - 0x20001040 0x14 .pio/build/stm32/libFrameworkArduino.a(wiring_analog.c.o) - 0x20001040 g_anOutputPinConfigured - .bss.SPI 0x20001054 0x74 .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) - 0x20001054 SPI + 0x20001048 0x14 .pio/build/stm32/libFrameworkArduino.a(wiring_analog.c.o) + 0x20001048 g_anOutputPinConfigured + .bss.SPI 0x2000105c 0x74 .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) + 0x2000105c SPI .bss.__malloc_sbrk_start - 0x200010c8 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallocr.o) - 0x200010c8 __malloc_sbrk_start + 0x200010d0 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallocr.o) + 0x200010d0 __malloc_sbrk_start .bss.__malloc_free_list - 0x200010cc 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallocr.o) - 0x200010cc __malloc_free_list - .bss.__sf 0x200010d0 0x138 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) - 0x200010d0 __sf + 0x200010d4 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallocr.o) + 0x200010d4 __malloc_free_list + .bss.__sf 0x200010d8 0x138 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) + 0x200010d8 __sf .bss.__stdio_exit_handler - 0x20001208 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) - 0x20001208 __stdio_exit_handler - .bss.errno 0x2000120c 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-reent.o) - 0x2000120c errno + 0x20001210 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) + 0x20001210 __stdio_exit_handler + .bss.errno 0x20001214 0x4 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-reent.o) + 0x20001214 errno .bss.__lock___malloc_recursive_mutex - 0x20001210 0x1 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lock.o) - 0x20001210 __lock___malloc_recursive_mutex + 0x20001218 0x1 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lock.o) + 0x20001218 __lock___malloc_recursive_mutex .bss.__lock___sfp_recursive_mutex - 0x20001211 0x1 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lock.o) - 0x20001211 __lock___sfp_recursive_mutex - *fill* 0x20001212 0x2 + 0x20001219 0x1 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lock.o) + 0x20001219 __lock___sfp_recursive_mutex + *fill* 0x2000121a 0x2 .bss.__malloc_current_mallinfo - 0x20001214 0x28 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallinfor.o) - 0x20001214 __malloc_current_mallinfo + 0x2000121c 0x28 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallinfor.o) + 0x2000121c __malloc_current_mallinfo *(COMMON) - 0x2000123c . = ALIGN (0x4) - 0x2000123c _ebss = . - 0x2000123c __bss_end__ = _ebss + 0x20001244 . = ALIGN (0x4) + 0x20001244 _ebss = . + 0x20001244 __bss_end__ = _ebss LOAD /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crti.o LOAD /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtbegin.o LOAD /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/crt0.o @@ -9254,6 +9340,7 @@ LOAD .pio/build/stm32/src/modules/out_pid.cpp.o LOAD .pio/build/stm32/src/modules/out_pwm.cpp.o LOAD .pio/build/stm32/src/modules/out_relay.cpp.o LOAD .pio/build/stm32/src/modules/out_spiled.cpp.o +LOAD .pio/build/stm32/src/modules/out_sprinkler.cpp.o LOAD .pio/build/stm32/src/modules/out_uartbridge.cpp.o LOAD .pio/build/stm32/src/owTerm.cpp.o LOAD .pio/build/stm32/src/statusled.cpp.o @@ -9294,25 +9381,25 @@ END GROUP LOAD /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtend.o LOAD /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtn.o -.noinit 0x2000123c 0x0 - 0x2000123c . = ALIGN (0x4) - 0x2000123c _snoinit = . +.noinit 0x20001244 0x0 + 0x20001244 . = ALIGN (0x4) + 0x20001244 _snoinit = . *(.noinit) *(.noinit*) - 0x2000123c . = ALIGN (0x4) - 0x2000123c _enoinit = . + 0x20001244 . = ALIGN (0x4) + 0x20001244 _enoinit = . ._user_heap_stack - 0x2000123c 0x604 - 0x20001240 . = ALIGN (0x8) - *fill* 0x2000123c 0x4 + 0x20001244 0x604 + 0x20001248 . = ALIGN (0x8) + *fill* 0x20001244 0x4 [!provide] PROVIDE (end = .) - 0x20001240 PROVIDE (_end = .) - 0x20001440 . = (. + _Min_Heap_Size) - *fill* 0x20001240 0x200 - 0x20001840 . = (. + _Min_Stack_Size) - *fill* 0x20001440 0x400 - 0x20001840 . = ALIGN (0x8) + 0x20001248 PROVIDE (_end = .) + 0x20001448 . = (. + _Min_Heap_Size) + *fill* 0x20001248 0x200 + 0x20001848 . = (. + _Min_Stack_Size) + *fill* 0x20001448 0x400 + 0x20001848 . = ALIGN (0x8) /DISCARD/ libc.a(*) @@ -9469,259 +9556,257 @@ LOAD /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc .ARM.attributes 0x00000c98 0x2d .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) .ARM.attributes - 0x00000cc5 0x2d .pio/build/stm32/lib363/libRotaryEncoder.a(RotaryEncoder.cpp.o) + 0x00000cc5 0x2d .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) .ARM.attributes - 0x00000cf2 0x2d .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) + 0x00000cf2 0x2d .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) .ARM.attributes - 0x00000d1f 0x2d .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) + 0x00000d1f 0x2d .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) .ARM.attributes - 0x00000d4c 0x2d .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) + 0x00000d4c 0x2d .pio/build/stm32/libFrameworkArduino.a(Stream.cpp.o) .ARM.attributes - 0x00000d79 0x2d .pio/build/stm32/libFrameworkArduino.a(Stream.cpp.o) + 0x00000d79 0x2d .pio/build/stm32/libFrameworkArduino.a(WMath.cpp.o) .ARM.attributes - 0x00000da6 0x2d .pio/build/stm32/libFrameworkArduino.a(WMath.cpp.o) + 0x00000da6 0x2d .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) .ARM.attributes - 0x00000dd3 0x2d .pio/build/stm32/libFrameworkArduino.a(WString.cpp.o) + 0x00000dd3 0x2d .pio/build/stm32/libFrameworkArduino.a(hooks.c.o) .ARM.attributes - 0x00000e00 0x2d .pio/build/stm32/libFrameworkArduino.a(hooks.c.o) + 0x00000e00 0x2d .pio/build/stm32/libFrameworkArduino.a(itoa.c.o) .ARM.attributes - 0x00000e2d 0x2d .pio/build/stm32/libFrameworkArduino.a(itoa.c.o) + 0x00000e2d 0x2d .pio/build/stm32/libFrameworkArduino.a(main.cpp.o) .ARM.attributes - 0x00000e5a 0x2d .pio/build/stm32/libFrameworkArduino.a(main.cpp.o) + 0x00000e5a 0x2d .pio/build/stm32/libFrameworkArduino.a(pins_arduino.c.o) .ARM.attributes - 0x00000e87 0x2d .pio/build/stm32/libFrameworkArduino.a(pins_arduino.c.o) + 0x00000e87 0x21 .pio/build/stm32/libFrameworkArduino.a(startup_stm32yyxx.S.o) .ARM.attributes - 0x00000eb4 0x21 .pio/build/stm32/libFrameworkArduino.a(startup_stm32yyxx.S.o) + 0x00000ea8 0x2d .pio/build/stm32/libFrameworkArduino.a(wiring_analog.c.o) .ARM.attributes - 0x00000ed5 0x2d .pio/build/stm32/libFrameworkArduino.a(wiring_analog.c.o) + 0x00000ed5 0x2d .pio/build/stm32/libFrameworkArduino.a(wiring_digital.c.o) .ARM.attributes - 0x00000f02 0x2d .pio/build/stm32/libFrameworkArduino.a(wiring_digital.c.o) + 0x00000f02 0x2d .pio/build/stm32/libFrameworkArduino.a(wiring_time.c.o) .ARM.attributes - 0x00000f2f 0x2d .pio/build/stm32/libFrameworkArduino.a(wiring_time.c.o) + 0x00000f2f 0x2d .pio/build/stm32/libFrameworkArduino.a(WSerial.cpp.o) .ARM.attributes - 0x00000f5c 0x2d .pio/build/stm32/libFrameworkArduino.a(WSerial.cpp.o) + 0x00000f5c 0x2d .pio/build/stm32/libFrameworkArduino.a(board.c.o) .ARM.attributes - 0x00000f89 0x2d .pio/build/stm32/libFrameworkArduino.a(board.c.o) + 0x00000f89 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_addsubdf3.o) .ARM.attributes - 0x00000fb6 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_addsubdf3.o) + 0x00000fa6 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_muldivdf3.o) .ARM.attributes - 0x00000fd3 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_muldivdf3.o) + 0x00000fc3 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_cmpdf2.o) .ARM.attributes - 0x00000ff0 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_cmpdf2.o) + 0x00000fe0 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_unorddf2.o) .ARM.attributes - 0x0000100d 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_unorddf2.o) + 0x00000ffd 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_fixdfsi.o) .ARM.attributes - 0x0000102a 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_fixdfsi.o) + 0x0000101a 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_fixunsdfsi.o) .ARM.attributes - 0x00001047 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_fixunsdfsi.o) + 0x00001037 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_truncdfsf2.o) .ARM.attributes - 0x00001064 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_truncdfsf2.o) + 0x00001054 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_addsubsf3.o) .ARM.attributes - 0x00001081 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_addsubsf3.o) + 0x00001071 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_muldivsf3.o) .ARM.attributes - 0x0000109e 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_muldivsf3.o) + 0x0000108e 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_cmpsf2.o) .ARM.attributes - 0x000010bb 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_cmpsf2.o) + 0x000010ab 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_unordsf2.o) .ARM.attributes - 0x000010d8 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_unordsf2.o) + 0x000010c8 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_fixsfsi.o) .ARM.attributes - 0x000010f5 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_fixsfsi.o) + 0x000010e5 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_fixunssfsi.o) .ARM.attributes - 0x00001112 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_arm_fixunssfsi.o) + 0x00001102 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libstdc++_nano.a(functional.o) .ARM.attributes - 0x0000112f 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libstdc++_nano.a(functional.o) + 0x0000112f 0x2d .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) .ARM.attributes - 0x0000115c 0x2d .pio/build/stm32/libeef/libSPI.a(SPI.cpp.o) + 0x0000115c 0x2d .pio/build/stm32/libeef/libSPI.a(spi_com.c.o) .ARM.attributes - 0x00001189 0x2d .pio/build/stm32/libeef/libSPI.a(spi_com.c.o) + 0x00001189 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-sf_trunc.o) .ARM.attributes - 0x000011b6 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-sf_trunc.o) + 0x000011b6 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-w_pow.o) .ARM.attributes - 0x000011e3 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-w_pow.o) + 0x000011e3 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-s_finite.o) .ARM.attributes - 0x00001210 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-s_finite.o) + 0x00001210 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-e_pow.o) .ARM.attributes - 0x0000123d 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-e_pow.o) + 0x0000123d 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-math_err.o) .ARM.attributes - 0x0000126a 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-math_err.o) + 0x0000126a 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-s_fabs.o) .ARM.attributes - 0x00001297 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-s_fabs.o) + 0x00001297 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-s_scalbn.o) .ARM.attributes - 0x000012c4 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-s_scalbn.o) + 0x000012c4 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-e_sqrt.o) .ARM.attributes - 0x000012f1 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libm.a(libm_a-e_sqrt.o) + 0x000012f1 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-abort.o) .ARM.attributes - 0x0000131e 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-abort.o) + 0x0000131e 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-isspace.o) .ARM.attributes - 0x0000134b 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-isspace.o) + 0x0000134b 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-isxdigit.o) .ARM.attributes - 0x00001378 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-isxdigit.o) + 0x00001378 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-atof.o) .ARM.attributes - 0x000013a5 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-atof.o) + 0x000013a5 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-atoi.o) .ARM.attributes - 0x000013d2 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-atoi.o) + 0x000013d2 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-atol.o) .ARM.attributes - 0x000013ff 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-atol.o) + 0x000013ff 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-tolower.o) .ARM.attributes - 0x0000142c 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-tolower.o) + 0x0000142c 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-toupper.o) .ARM.attributes - 0x00001459 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-toupper.o) + 0x00001459 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-malloc.o) .ARM.attributes - 0x00001486 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-malloc.o) + 0x00001486 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallocr.o) .ARM.attributes - 0x000014b3 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallocr.o) + 0x000014b3 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fflush.o) .ARM.attributes - 0x000014e0 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fflush.o) + 0x000014e0 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-snprintf.o) .ARM.attributes - 0x0000150d 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-snprintf.o) + 0x0000150d 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mlock.o) .ARM.attributes - 0x0000153a 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mlock.o) + 0x0000153a 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-sscanf.o) .ARM.attributes - 0x00001567 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-sscanf.o) + 0x00001567 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-stdio.o) .ARM.attributes - 0x00001594 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-stdio.o) + 0x00001594 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mstats.o) .ARM.attributes - 0x000015c1 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mstats.o) + 0x000015c1 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-rand.o) .ARM.attributes - 0x000015ee 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-rand.o) + 0x000015ee 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-realloc.o) .ARM.attributes - 0x0000161b 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-realloc.o) + 0x0000161b 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) .ARM.attributes - 0x00001648 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-findfp.o) + 0x00001648 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fprintf.o) .ARM.attributes - 0x00001675 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fprintf.o) + 0x00001675 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-reallocr.o) .ARM.attributes - 0x000016a2 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-reallocr.o) + 0x000016a2 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) .ARM.attributes - 0x000016cf 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtod.o) + 0x000016cf 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtol.o) .ARM.attributes - 0x000016fc 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtol.o) + 0x000016fc 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtoul.o) .ARM.attributes - 0x00001729 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtoul.o) + 0x00001729 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fwalk.o) .ARM.attributes - 0x00001756 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fwalk.o) + 0x00001756 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcat.o) .ARM.attributes - 0x00001783 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcat.o) + 0x00001783 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strchr.o) .ARM.attributes - 0x000017b0 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strchr.o) + 0x000017b0 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strdup.o) .ARM.attributes - 0x000017dd 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strdup.o) + 0x000017dd 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strdup_r.o) .ARM.attributes - 0x0000180a 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strdup_r.o) + 0x0000180a 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strncat.o) .ARM.attributes - 0x00001837 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strncat.o) + 0x00001837 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strncmp.o) .ARM.attributes - 0x00001864 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strncmp.o) + 0x00001864 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strncpy.o) .ARM.attributes - 0x00001891 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strncpy.o) + 0x00001891 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strnlen.o) .ARM.attributes - 0x000018be 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strnlen.o) + 0x000018be 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strrchr.o) .ARM.attributes - 0x000018eb 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strrchr.o) + 0x000018eb 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtok.o) .ARM.attributes - 0x00001918 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtok.o) + 0x00001918 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtok_r.o) .ARM.attributes - 0x00001945 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strtok_r.o) + 0x00001945 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memcmp.o) .ARM.attributes - 0x00001972 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memcmp.o) + 0x00001972 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memmove.o) .ARM.attributes - 0x0000199f 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memmove.o) + 0x0000199f 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memset.o) .ARM.attributes - 0x000019cc 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memset.o) + 0x000019cc 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcasecmp.o) .ARM.attributes - 0x000019f9 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcasecmp.o) + 0x000019f9 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-locale.o) .ARM.attributes - 0x00001a26 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-locale.o) + 0x00001a26 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-closer.o) .ARM.attributes - 0x00001a53 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-closer.o) + 0x00001a53 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-reent.o) .ARM.attributes - 0x00001a80 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-reent.o) + 0x00001a80 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-impure.o) .ARM.attributes - 0x00001aad 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-impure.o) + 0x00001aad 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lseekr.o) .ARM.attributes - 0x00001ada 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lseekr.o) + 0x00001ada 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-readr.o) .ARM.attributes - 0x00001b07 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-readr.o) + 0x00001b07 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-signal.o) .ARM.attributes - 0x00001b34 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-signal.o) + 0x00001b34 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-signalr.o) .ARM.attributes - 0x00001b61 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-signalr.o) + 0x00001b61 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-sbrkr.o) .ARM.attributes - 0x00001b8e 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-sbrkr.o) + 0x00001b8e 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-writer.o) .ARM.attributes - 0x00001bbb 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-writer.o) + 0x00001bbb 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-errno.o) .ARM.attributes - 0x00001be8 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-errno.o) + 0x00001be8 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-init.o) .ARM.attributes - 0x00001c15 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-init.o) + 0x00001c15 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lock.o) .ARM.attributes - 0x00001c42 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-lock.o) + 0x00001c42 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memcpy-stub.o) .ARM.attributes - 0x00001c6f 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memcpy-stub.o) + 0x00001c6f 0x17 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strlen.o) .ARM.attributes - 0x00001c9c 0x17 /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strlen.o) + 0x00001c86 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-syssbrk.o) .ARM.attributes - 0x00001cb3 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-syssbrk.o) + 0x00001cb3 0x1b /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcmp.o) .ARM.attributes - 0x00001ce0 0x1b /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcmp.o) + 0x00001cce 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcpy.o) .ARM.attributes - 0x00001cfb 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-strcpy.o) + 0x00001cfb 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-ctype_.o) .ARM.attributes - 0x00001d28 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-ctype_.o) + 0x00001d28 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libm_a-s_nan.o) .ARM.attributes - 0x00001d55 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libm_a-s_nan.o) + 0x00001d55 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-assert.o) .ARM.attributes - 0x00001d82 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-assert.o) + 0x00001d82 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-freer.o) .ARM.attributes - 0x00001daf 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-freer.o) + 0x00001daf 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-gethex.o) .ARM.attributes - 0x00001ddc 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-gethex.o) + 0x00001ddc 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-hexnan.o) .ARM.attributes - 0x00001e09 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-gdtoa-hexnan.o) + 0x00001e09 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfprintf.o) .ARM.attributes - 0x00001e36 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfprintf.o) + 0x00001e36 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfscanf.o) .ARM.attributes - 0x00001e63 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-svfscanf.o) + 0x00001e63 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf.o) .ARM.attributes - 0x00001e90 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf.o) + 0x00001e90 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallinfor.o) .ARM.attributes - 0x00001ebd 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mallinfor.o) + 0x00001ebd 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mbtowc_r.o) .ARM.attributes - 0x00001eea 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mbtowc_r.o) + 0x00001eea 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf_i.o) .ARM.attributes - 0x00001f17 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfprintf_i.o) + 0x00001f17 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfscanf_i.o) .ARM.attributes - 0x00001f44 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-nano-vfscanf_i.o) + 0x00001f44 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-sccl.o) .ARM.attributes - 0x00001f71 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-sccl.o) + 0x00001f71 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) .ARM.attributes - 0x00001f9e 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-mprec.o) + 0x00001f9e 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-msizer.o) .ARM.attributes - 0x00001fcb 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-msizer.o) + 0x00001fcb 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-ungetc.o) .ARM.attributes - 0x00001ff8 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-ungetc.o) + 0x00001ff8 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-wbuf.o) .ARM.attributes - 0x00002025 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-wbuf.o) + 0x00002025 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-wsetup.o) .ARM.attributes - 0x00002052 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-wsetup.o) + 0x00002052 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-wctomb_r.o) .ARM.attributes - 0x0000207f 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-wctomb_r.o) + 0x0000207f 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-makebuf.o) .ARM.attributes - 0x000020ac 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-makebuf.o) + 0x000020ac 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fstatr.o) .ARM.attributes - 0x000020d9 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-fstatr.o) + 0x000020d9 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-isattyr.o) .ARM.attributes - 0x00002106 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-isattyr.o) + 0x00002106 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memchr-stub.o) .ARM.attributes - 0x00002133 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-memchr-stub.o) + 0x00002133 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-callocr.o) .ARM.attributes - 0x00002160 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(libc_a-callocr.o) + 0x00002160 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_fixdfdi.o) .ARM.attributes - 0x0000218d 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_fixdfdi.o) + 0x0000218d 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_fixunsdfdi.o) .ARM.attributes - 0x000021ba 0x2d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/libgcc.a(_fixunsdfdi.o) - .ARM.attributes - 0x000021e7 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtn.o + 0x000021ba 0x1d /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7-m/nofp/crtn.o OUTPUT(.pio/build/stm32/firmware.elf elf32-littlearm) LOAD linker stubs LOAD /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a @@ -9802,7 +9887,6 @@ LOAD /Users/aklimov/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc .comment 0x00000038 0x39 .pio/build/stm32/libdfc/libWire.a(Wire.cpp.o) .comment 0x00000038 0x39 .pio/build/stm32/libdfc/libWire.a(twi.c.o) .comment 0x00000038 0x39 .pio/build/stm32/lib7b0/libPID.a(PID_v1.cpp.o) - .comment 0x00000038 0x39 .pio/build/stm32/lib363/libRotaryEncoder.a(RotaryEncoder.cpp.o) .comment 0x00000038 0x39 .pio/build/stm32/libFrameworkArduino.a(HardwareSerial.cpp.o) .comment 0x00000038 0x39 .pio/build/stm32/libFrameworkArduino.a(IPAddress.cpp.o) .comment 0x00000038 0x39 .pio/build/stm32/libFrameworkArduino.a(Print.cpp.o) diff --git a/config/c4-3e-11-03-1b-1e.config.json b/config/c4-3e-11-03-1b-1e.config.json deleted file mode 100644 index 037f27d..0000000 --- a/config/c4-3e-11-03-1b-1e.config.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "mqtt":["garden","192.168.10.115",1883,"test","test"], - "ow":{ - "28FFADCE601705A3":{"emit":"t_soil1","item":"h_relay6"}, - "286164123FF96F55":{"emit":"t_soil2"}, - "28FFEF6D60170335":{"emit":"t_soil3"} - }, - "items":{ - "h_relay1":[6,39,1,1], - "h_relay2":[6,38,1,1], - "h_relay3":[6,37,1,1], - "h_relay4":[6,36,1,1], - "h_relay5":[6,35,1,1], - "h_relay6":[5,34,23], - "h_relay7":[6,33,1,1], - "h_relay8":[6,32,1,1], - "h_auto":[6,29,1,1] - }, - "in":{ - "40":{"emit":"/garden/s_in/1"}, - "41":{"emit":"/garden/s_in/2"}, - "42":{"emit":"/garden/s_in/3"}, - "43":{"emit":"/garden/s_in/4"}, - "44":{"emit":"/garden/s_in/5"}, - "45":{"emit":"/garden/s_in/6"}, - "46":{"emit":"/garden/s_in/7"}, - "47":{"emit":"/garden/s_in/8"} - } -} diff --git a/config/de-ad-be-ef-fe-ed.config.json b/config/de-ad-be-ef-fe-ed.config.json deleted file mode 100644 index ad74e84..0000000 --- a/config/de-ad-be-ef-fe-ed.config.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "dmxin":["kuhm","kuhwin","gost","bthr"], - "dmx":[3,60], - "modbus": [96,97], - "items": { - "light":[7,["kuh","ktc","gst","gost"]], - "kuhwin":[1,5], - "kuhline":[1,13], - "kuhfre":[1,25], - "kuhwork":[1,1], - "gost":[1,47], - "sasha1":[1,17], - "sasha2":[1,21], - "vika1":[1,31], - "vika2":[1,35], - "bedr1":[1,39], - "bedr2":[1,43], - "kuhm":[7,["kuhline","kuhfre","kuhwork"]], - "kuh":[7,["kuhline","kuhfre","kuhwork","kuhwin"]], - "sasha":[7,["sasha1","sasha2"]], - "vika":[7,["vika1","vika2"]], - "bedr":[7,["bedr1","bedr2"]], - "balk1":[7,["balk11","balk12"]], - "balk2":[0,53], - "balk11":[0,51], - "balk12":[0,52], - "all":[7,["kuh","gost","vika","sasha","bedr","bth","gst","ktc","balk1","balk2","fm"]], - "bth1":[4,[96,0,0]], - "bth2":[4,[96,0,1]], - "bthr":[1,57], - "bth":[7,["bth1","bth2"]], - "ktc":[4,[97,0,0]], - "gst":[4,[97,0,1]], - "a_vika":[3,8], - "a_sasha":[3,7], - "a_bedr":[3,6], - "a_ext":[3,5], - "fm":[9,10], - "fm_t":[8,"fm"], - "fm_h":[8,"fm"] - - }, - "mqtt":["public_test2","m2m.eclipse.org"] - } - - diff --git a/config/de-ad-be-ef-fe-ef.config.json b/config/de-ad-be-ef-fe-ef.config.json deleted file mode 100644 index b783acb..0000000 --- a/config/de-ad-be-ef-fe-ef.config.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "mqtt":["public_test1","m2m.eclipse.org"], - "ow":{ - "2807FFD503000036":{"emit":"t_balk1","item":"h_balk1"}, - "284811170400005B":{"emit":"t_entr"}, - "28FFF95533160459":{"emit":"t_bath1","item":"h_bath1"}, - "28D2FD1604000051":{"emit":"t_exbath2"}, - "28EE634F13160255":{"emit":"t_bath2","item":"h_bath2"}, - "28FFB3B02316030C":{"emit":"t_balk2","item":"h_balk2"}, - "28EE4A571316027A":{"emit":"t_sasha"}, - "28FF0C6A331604FF":{"emit":"t_ext"}, - "28FFDD8C3316042C":{"emit":"t_abath2"}, - "28FFAEAC3316047F":{"emit":"t_abath1"}, - "28EE736E131602D6":{"emit":"t_vika"}, - "28EED85C131602DA":{"emit":"t_kitchen"}, - "28EE5A62131602CF":{"emit":"t_ac"}, - "28EEA76713160204":{"emit":"t_aentr"}, - "28EE8A5B1616019D":{"emit":"t_entr2","item":"h_entr"}, - "28EED16A13160268":{"emit":"t_bedr"} - }, - "items":{ - "all":[7,["h_entr","h_bath1","h_bath2","h_balk1","h_balk2","h_boil1","h_boil2","h_polotenc","spots_en","light_en"]], - "h_bath1":[5,24,33], - "h_bath2":[5,34,32], - "h_entr":[5,35,32], - "h_balk1":[5,25,28], - "h_balk2":[5,27,28], - "h_boil1":[6,23], - "h_boil2":[6,28,1,1], - "h_polotenc":[6,26,1,1], - "spots_en":[6,22,1,1], - "light_en":[6,29,1,1], - "water":[6,36,1,1] - }, - "in":{ - "41":{"T":0,"emit":"/myhome/in/all","scmd":"HALT","rcmd":"REST"}, - "37":{"item":"spots_en","scmd":"TOGGLE","rcmd":"TOGGLE"}, - "38":{"emit":"/myhome/in/light","scmd":"TOGGLE","rcmd":"TOGGLE"}, - "40":{"T":1,"emit":"/myhome/out/all","scmd":"HALT","rcmd":"REST"}, - "39":{"emit":"/myhome/s_out/water_leak"} - } -} - diff --git a/data/config.json b/data/config.json deleted file mode 100644 index d35c098..0000000 --- a/data/config.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "syslog":["192.168.88.2"], - "mqtt1":["esp32","m2m.eclipse.org"], - "mqtt":["elevator","192.168.88.2"], - "mqtt4":["esp32","test.mosquitto.org"], - "dmx":[30], - "items": { - "relay1":[6,32], - "relay2":[6,33], - "relays":[7,["relay1","relay2"]], - "sensair1":[44,[254, - "sensair", - {"co2":{"emit":"co2"}}, - {"mode":"auto"} - ] - ], - "elevator":[15,{"baud":9600,"serial":"8N1","ip":"192.168.88.255","port":502}], - - "aaa1":[44,[254, - "aaa", - {"aaa1":{"emit":"aaa2"}}, - {"mode":"auto"} - ] - ] - }, - "modbus": - { - "aaa": - {"baud":19200, - "poll":{"irs":[1]}, - "par":{ - "aaa1":{"ir":1} - } - - }, - "sensair":{"baud":9600, - "poll":{"irs":[[0,3],21,[25,30]],"regs":[0,1,31],"delay":1000}, - "par":{ - "co2":{"ir":3}, - "meterStat":{"ir":0}, - "alarmStat":{"ir":1}, - "outStat":{"ir":0}, - "pwm":{"ir":21}, - "typeid":{"ir":25,"type":"u32"}, - "mapver":{"ir":27}, - "fwver":{"ir":28}, - "sensorid":{"ir":29,"type":"u32"}, - "ack":{"reg":0}, - "command":{"reg":1}, - "abc":{"reg":31} - - - } - - } - }, - -"in":{ "34":{"item":"relays","emit":"myhome/in/bedr","scmd":"TOGGLE","rcmd":""}, - - "17":{"T":64,"emit":"analog","map":[0,1024,0,100,15]} - } -} \ No newline at end of file diff --git a/documentation/DOCUMENTATION_INDEX.md b/documentation/DOCUMENTATION_INDEX.md index 7353f85..169f7c4 100644 --- a/documentation/DOCUMENTATION_INDEX.md +++ b/documentation/DOCUMENTATION_INDEX.md @@ -1,8 +1,9 @@ -# 📚 Полный индекс документации LightHub (v2.0) +# 📚 Полный индекс документации LightHub (v2.1) -> **Версия**: 2.0 (Актуально согласно wiki.lazyhome.ru) -> **Дата обновления**: 2025-01-24 -> **Всего документов**: 17 +> **Версия**: 2.1 (Актуально согласно wiki.lazyhome.ru) +> **Дата обновления**: 2026-06-17 +> **Всего документов**: 18 +> **Типов каналов**: 24 (CH_DIMMER 0 - CH_SPRINKLER 23) --- @@ -54,7 +55,7 @@ | Файл | Размер | Описание | |------|--------|---------| -| **[channel_types_reference.md](channel_types_reference.md)** | 400 стр | Справочник типов каналов (0-22) | +| **[channel_types_reference.md](channel_types_reference.md)** | 400 стр | Справочник типов каналов (0-23) | | **[technical_channel_types_table.md](technical_channel_types_table.md)** | 350 стр | Технические таблицы параметров | **Использование**: При создании новых каналов, для понимания параметров @@ -218,7 +219,7 @@ | Управлять AC через MQTT | mqtt_quick_reference.md | Управление кондиционером | | Создать конфигурацию JSON | light_hub_полное_инженерное_описание_json_конфигурации_v2.md | Все секции | | Найти суффикс для типа | suffixes_reference_v2.md | Таблица применимости | -| Увидеть все примеры | configuration_examples.md | Все типы (0-22) | +| Увидеть все примеры | configuration_examples.md | Все типы (0-23) | | Интегрировать с Home Assistant | mqtt_api_reference.md | MQTT структура | | Перейти со старой версии | MIGRATION_GUIDE.md | Все типы | diff --git a/docs/LightHubAppDiagram.png b/documentation/LightHubAppDiagram.png similarity index 100% rename from docs/LightHubAppDiagram.png rename to documentation/LightHubAppDiagram.png diff --git a/documentation/README.md b/documentation/README.md index 78aa1b1..b6616f5 100644 --- a/documentation/README.md +++ b/documentation/README.md @@ -1,8 +1,8 @@ # LightHub: Инженерная документация (Индекс) > **Полная инженерная документация системы LightHub** -> Версия ядра: CH_DIMMER (0) - CH_MERCURY (22) -> Дата актуализации: 2025-01-24 +> Версия ядра: CH_DIMMER (0) - CH_SPRINKLER (23) +> Дата актуализации: 2025-06-17 --- @@ -10,7 +10,7 @@ ### Основные документы -1. **[light_hub_полное_инженерное_описание_json_конфигурации_v2.md](light_hub_полное_инженерное_описание_json_конфигурации_v2.md)** ⭐ **НАЧНИТЕ ОТСЮДА** +1. **[light\_hub\_полное\_инженерное\_описание\_json\_конфигурации_v2.md](light_hub_полное_инженерное_описание_json_конфигурации_v2.md)** ⭐ **НАЧНИТЕ ОТСЮДА** - Полное описание структуры JSON конфигурации - Все секции: mqtt, topics, modbus, items, in - Инженерные принципы конфигурирования @@ -20,50 +20,50 @@ **🆕 MQTT API и топики:** -2. **[mqtt_api_reference.md](mqtt_api_reference.md)** — ⭐ ПОЛНЫЙ справочник MQTT API +2. **[mqtt\_api\_reference.md](mqtt_api_reference.md)** — ⭐ ПОЛНЫЙ справочник MQTT API - Структура MQTT топиков: `root/[id или bcst или out]/item/[subitem]/suffix` - Три типа топиков: широковещательные команды, индивидуальные команды, статусные - Таблица суффиксов с применимостью - - HTTP API endpoints (`/item/`, `/config.json`, `/command`) + - HTTP API endpoints (`/item/`, `/config.json`, `/$command`) - Примеры MQTT команд и HTTP curl запросов - Восстановление состояния при старте контроллера - Диагностика MQTT подключения -3. **[suffixes_reference_v2.md](suffixes_reference_v2.md)** — ⭐ ИСПРАВЛЕННЫЙ справочник суффиксов +3. **[suffixes\_reference\_v2.md](suffixes_reference_v2.md)** — ⭐ ИСПРАВЛЕННЫЙ справочник суффиксов - Правильная структура суффиксов согласно wiki.lazyhome.ru - 7 категорий: основные, цветовые, AC, Multivent, PID, ШИМ, управление состоянием - - Таблица применимости по типам каналов (CH_DIMMER, CH_RGB, CH_AC и др.) + - Таблица применимости по типам каналов (CH\_DIMMER, CH\_RGB, CH\_AC и др.) - Диапазоны значений: 0-100 vs 0-255, /hue 0-365°, /sat 0-100% - Примеры сценариев для каждого типа канала **Основные справочники:** -4. **[channel_types_reference.md](channel_types_reference.md)** — Справочник типов каналов (0-22) +4. **[channel\_types\_reference.md](channel_types_reference.md)** — Справочник типов каналов (0-23) - Таблица всех типов каналов с кодами - Текстовые обозначения и английские названия - Синтаксис конфигурации для каждого типа - Визуализация иерархии типов -5. **[suffixes_reference.md](suffixes_reference.md)** — Справочник суффиксов параметров (архив) - - Старая версия справочника (см. suffixes_reference_v2.md) +5. **[suffixes\_reference.md](suffixes_reference_v2.md)** — Справочник суффиксов параметров + -6. **[technical_channel_types_table.md](technical_channel_types_table.md)** — Подробные технические таблицы +6. **[technical\_channel\_types\_table.md](technical_channel_types_table.md)** — Подробные технические таблицы - Таблицы параметров для каждого типа - Значения по умолчанию и ограничения - Специфика работы каждого типа ### Модули и компоненты -7. **[modules_description.md](modules_description.md)** — Описание модулей +7. **[modules\_description.md](modules_description.md)** — Описание модулей - out_Multivent — многозональная вентиляция - out_AC — управление кондиционером - out_PID — PID регулятор - out_Motor — управление двигателем - И другие модули... -8. **[multivent_module_description.md](multivent_module_description.md)** — Многозональная вентиляция (подробно) +8. **[multivent\_module\_description.md](multivent_module_description.md)** — Многозональная вентиляция (подробно) -9. **[modules_real_config.md](modules_real_config.md)** — Реальные конфигурации модулей +9. **[modules\_real\_config.md](modules_real_config.md)** — Реальные конфигурации модулей --- @@ -71,10 +71,10 @@ ### Задача: Управлять LED светом через MQTT -1. Откройте [mqtt_api_reference.md](mqtt_api_reference.md) — чтобы понять структуру топиков +1. Откройте [mqtt\_api\_reference.md](mqtt_api_reference.md) — чтобы понять структуру топиков 2. Выберите тип канала: CH_RGB (10), CH_RGBW (11) или CH_RGBWW (12) -3. Найдите примеры в [configuration_examples.md](configuration_examples.md) -4. Используйте MQTT команды из [suffixes_reference_v2.md](suffixes_reference_v2.md): +3. Найдите примеры в [configuration\_examples.md](configuration_examples.md) +4. Используйте MQTT команды из [suffixes\_reference_v2.md](suffixes_reference_v2.md): ``` myhome/in/rgb_lamp/hue → 240 (установить синий) myhome/in/rgb_lamp/sat → 100 (полная насыщенность) @@ -89,9 +89,9 @@ ### Задача: Управлять кондиционером через MQTT -1. Откройте [mqtt_api_reference.md](mqtt_api_reference.md) — раздел "Суффиксы кондиционера (AC)" -2. Найдите CH_AC (13) в [configuration_examples.md](configuration_examples.md) -3. Используйте MQTT команды из [suffixes_reference_v2.md](suffixes_reference_v2.md): +1. Откройте [mqtt\_api\_reference.md](mqtt_api_reference.md) — раздел "Суффиксы кондиционера (AC)" +2. Найдите CH_AC (13) в [configuration\_examples.md](configuration_examples.md) +3. Используйте MQTT команды из [suffixes\_reference_v2.md](suffixes\_reference_v2.md): ``` myhome/in/ac_main/cmd → ON (включить) myhome/in/ac_main/mode → HEAT (режим нагрева) @@ -107,15 +107,15 @@ ### Задача: Настроить многозональную вентиляцию -1. Прочитайте [multivent_module_description.md](multivent_module_description.md) -2. Найдите CH_MULTIVENT (18) в [configuration_examples.md](configuration_examples.md) +1. Прочитайте [multivent\_module\_description.md](multivent_module_description.md) +2. Найдите CH_MULTIVENT (18) в [configuration\_examples.md](configuration_examples.md) 3. Добавьте зоны в массив `"зоны": {...}` 4. Настройте PID параметры `[Kp, Ki, Kd, dT]` 5. Привяжите MQTT топики через `"emit"` ### Задача: Создать систему с входами (кнопки, датчики) -1. Прочитайте раздел "Секция `in`" в [light_hub_полное_инженерное_описание_json_конфигурации_v2.md](light_hub_полное_инженерное_описание_json_конфигурации_v2.md) +1. Прочитайте раздел "Секция `in`" в [light\_hub\_полное\_инженерное\_описание\_json\_конфигурации\_v2.md](light_hub_полное_инженерное_описание_json_конфигурации_v2.md) 2. Определите GPIO пины входов (37, 38, 39, и т.д.) 3. Привяжите их к объектам через `"item": "имя_канала"` 4. Используйте команды `scmd`, `rcmd` для действий @@ -145,12 +145,12 @@ | 15 | UARTBRDG | UART Мост | [⬇️](configuration_examples.md#ch_uartbridge-15---uart-мост) | | 16 | RELAYX | Медленный PWM реле | [⬇️](configuration_examples.md#ch_relayx-16---медленный-pwm-через-реле) | | 17 | DMXRGBWW | RGBWW через DMX | [⬇️](configuration_examples.md#ch_rgbww-17---dmx-rgbww) | -| 18 | VENTS | Многозональная вентиляция | [⬇️](configuration_examples.md#ch_multivent-18---многозональная-вентиляция) | +| 18 | VENTS | Многозональная вентиляция/кондиционер | [⬇️](configuration_examples.md#ch_multivent-18---многозональная-вентиляция) | | 19 | ELEVATOR | Лифт | - (TBD) | -| 20 | COUNTER | Счётчик импульсов | [⬇️](configuration_examples.md#ch_counter-20---счётчик-импульсов) | +| 20 | COUNTER | Счётчик импульсов или времени | [⬇️](configuration_examples.md#ch_counter-20---счётчик-импульсов) | | 21 | HUM | Увлажнитель | [⬇️](configuration_examples.md#ch_humidifier-21---управление-увлажнителем) | | 22 | MERCURY | Счётчик энергии | [⬇️](configuration_examples.md#ch_mercury-22---счётчик-энергии-mercury) | - +| 23 | SPRINKLER| многозональная система полива --- ## 📊 Таблица суффиксов MQTT @@ -158,14 +158,14 @@ | Суффикс | Назначение | Применимо к | |---------|-----------|-----------| | `/cmd` | Команда управления | Все типы | -| `/val` | Текущее значение (статус) | Все типы | +| `/val` | Входное значение | THERMO, PID, MBUS, SPRINKLER| | `/set` | Установка значения | Диммеры, регуляторы | | `/hue` | Оттенок (0-359°) | RGB/RGBW/RGBWW | | `/sat` | Насыщенность (0-100%) | RGB/RGBW/RGBWW | -| `/temp` | Температура цвета (K) | RGB/RGBW/RGBWW | -| `/fan` | Скорость вентилятора | AC, Multivent, Vacom | +| `/temp` | Температура цвета (Mirids) | RGB/RGBW/RGBWW | +| `/fan` | Скорость вентилятора 0-255| AC, Multivent, Vacom | | `/mode` | Режим работы | AC, Multivent | -| `/raw` | JSON формат (отладка) | Все типы | +| `/raw` | JSON формат (отладка) | TBD | --- @@ -195,10 +195,12 @@ python3 -m json.tool config.json ### Логирование Modbus Если Modbus устройство не отвечает: + 1. Проверьте baudrate (по умолчанию 9600) 2. Проверьте адрес устройства 3. Проверьте регистры (должны быть доступны для чтения) -4. Включите syslog для отладки +4. Включите уровень логгирование 9 для отладки +5. Можно откомпилировать прошивку с ключем, выдающим обмен Modbus в порт консоли в 16-ти ричном виде ### MQTT Отладка @@ -241,11 +243,14 @@ MQTT привязка (через "emit") // myhome/dev/lights_all/cmd → ON ``` -### Правило 4: Подробное имя = легче найти +### Правило 4: Слишком длинное имя = меньше влезет ```json -"lamp_bedroom_ceiling": [0, 1], // ✓ Хорошо -"lamp1": [0, 1] // ✗ Плохо + +"lamp1": [0, 1] // ✗ Плохо, слишком коротко и непонятно +"lamp_bedroom_ceiling": [0, 1], // ✗ Плохо, занимает много оперативной памяти, дольше в поиске +"lampbedr1": [0, 1], // ✓ Нормально +"ledbedr1": [0, 1], // ✓ Нормально ``` --- @@ -263,6 +268,7 @@ MQTT привязка (через "emit") | Версия | Дата | Изменения | |--------|------|----------| | 2.0 | 2025-01-24 | Полная актуализация документации для ядра CH_DIMMER (0) - CH_MERCURY (22) | +| 2.1 | 2026-06-17 | Добавлен новый тип канала CH_SPRINKLER (23) — система полива | | 1.0 | 2024-12-16 | Исходная версия | --- @@ -273,7 +279,7 @@ MQTT привязка (через "emit") - [ ] Все GPIO пины уникальны (нет конфликтов) - [ ] Все Modbus адреса доступны - [ ] MQTT брокер доступен и запущен -- [ ] Все типы каналов в диапазоне 0-22 +- [x] Все типы каналов в диапазоне 0-23 - [ ] Содержатся ли необходимые секции (mqtt, items) - [ ] Проверены все MQTT топики - [ ] Запасная копия конфигурации сохранена @@ -291,7 +297,7 @@ MQTT привязка (через "emit") - Не устанавливайте poll менее 50 мс для RS485 ⚠️ **СОВМЕСТИМОСТЬ**: -- Эта документация актуальна для ядра с типами 0-22 +- Эта документация актуальна для ядра с типами 0-23 - Убедитесь, что ваша версия LightHub поддерживает нужные типы --- diff --git a/documentation/START_HERE.md b/documentation/START_HERE.md index 25f304d..066d032 100644 --- a/documentation/START_HERE.md +++ b/documentation/START_HERE.md @@ -1,8 +1,9 @@ -# ⭐ ДОКУМЕНТАЦИЯ ОБНОВЛЕНА — Версия 2.0 +# ⭐ ДОКУМЕНТАЦИЯ ОБНОВЛЕНА — Версия 2.1 -> **Важно**: Документация LightHub полностью актуализирована для ядра с типами каналов CH_DIMMER (0) - CH_MERCURY (22) +> **Важно**: Документация LightHub полностью актуализирована для ядра с типами каналов CH_DIMMER (0) - CH_SPRINKLER (23) > > **🆕 Новое**: Добавлена полная документация MQTT API согласно wiki.lazyhome.ru +> **🆕 Новое**: Добавлен новый тип канала — система полива (CH_SPRINKLER) --- @@ -36,7 +37,7 @@ ### 3️⃣ [light_hub_полное_инженерное_описание_json_конфигурации_v2.md](light_hub_полное_инженерное_описание_json_конфигурации_v2.md) ⭐ **АКТУАЛЬНО** - **Полное описание JSON конфигурации** - - Все 23 типа каналов (0-22) + - Все 24 типа каналов (0-23) - Все секции: mqtt, topics, modbus, items, in - Инженерные правила - Полный пример системы @@ -46,7 +47,7 @@ ## 🔍 Справочники (используйте как шпаргалку) ### 4️⃣ [channel_types_reference.md](channel_types_reference.md) - - **Справочник типов каналов 0-22** + - **Справочник типов каналов 0-23** - Таблица с кодами и текстовыми обозначениями - Синтаксис конфигурации для каждого типа - Визуализация иерархии @@ -62,7 +63,7 @@ ## 💡 Примеры (готовые к использованию) ### 6️⃣ [configuration_examples.md](configuration_examples.md) - - **JSON примеры для всех 23 типов каналов** + - **JSON примеры для всех 24 типов каналов** - Для каждого типа: синтаксис + MQTT команды - Полная реальная система - **Скопируй-вставь готовые примеры** @@ -123,7 +124,7 @@ --- -## 📋 Таблица типов каналов (0-22) +## 📋 Таблица типов каналов (0-23) | № | Тип | Описание | Справочник | |---|-----|---------|-----------| @@ -176,7 +177,7 @@ - [ ] Все GPIO пины уникальны - [ ] Все Modbus адреса доступны - [ ] MQTT брокер запущен -- [ ] Все типы каналов в диапазоне 0-22 +- [x] Все типы каналов в диапазоне 0-23 - [ ] Необходимые секции присутствуют - [ ] MQTT топики проверены - [ ] Резервная копия конфигурации сохранена @@ -184,5 +185,5 @@ --- **Документация обновлена**: 24 января 2026 г. -**Версия ядра**: LightHub с CH_DIMMER (0) - CH_MERCURY (22) +**Версия ядра**: LightHub с CH_DIMMER (0) - CH_SPRINKLER (23) **Статус**: ✅ Актуально и готово к использованию diff --git a/documentation/channel_types_reference.md b/documentation/channel_types_reference.md index 712ca5d..c3526c3 100644 --- a/documentation/channel_types_reference.md +++ b/documentation/channel_types_reference.md @@ -1,7 +1,7 @@ # LightHub: Справочник типов каналов (Items) > **Инженерный справочник** соответствия цифровых кодов типов каналов к текстовым обозначениям и функциональности. -> Актуально для версии ядра с типами DIMMER (0) до MERCURY (22). +> Актуально для версии ядра с типами DIMMER (0) до SPRINKLER (23). > Источник: [lighthub/item.h](../lighthub/item.h) --- @@ -33,6 +33,7 @@ | **20** | `COUNTER` | Generic Counter | Счётчик импульсов (электроэнергия, газ, вода) | `[инкремент_на_один_отсчет, период_для_автоинкремента_режим_ON]` | | **21** | `HUM` | Humidifier | Управление увлажнителем воздуха | Конфигурация по типу увлажнителя | | **22** | `MERCURY` | Mercury Energy Meter | Счётчик энергии Mercury по RS485/Modbus | `[адрес, baudrate, формат, сдвиг, [флаги], timeout]` | +| **23** | `SPRINKLER` | Irrigation System | Система автоматического полива с многозональным управлением | `[имя_устройства, конфигурация_зон]` | --- @@ -230,6 +231,38 @@ // Timeout: 10000 мс ``` +### CH_SPRINKLER (23) - Система полива + +```json +"irrigation_system": [23, [ + "main_sprinkler", + { + "": { + "cmd": {"emit": "sprinkler/cmd"}, + "val": {"emit": "sprinkler/state"} + }, + "north_zone": { + "enabled": {"emit": "sprinkler/north/enabled"}, + "time": {"emit": "sprinkler/north/time"}, + "progress": {"emit": "sprinkler/north/progress"}, + "cycle": {"emit": "sprinkler/north/cycle"} + }, + "south_zone": { + "enabled": {"emit": "sprinkler/south/enabled"}, + "time": {"emit": "sprinkler/south/time"}, + "progress": {"emit": "sprinkler/south/progress"}, + "cycle": {"emit": "sprinkler/south/cycle"} + }, + "drip_zone": { + "enabled": {"emit": "sprinkler/drip/enabled"}, + "time": {"emit": "sprinkler/drip/time"}, + "progress": {"emit": "sprinkler/drip/progress"}, + "cycle": {"emit": "sprinkler/drip/cycle"} + } + } +]] +``` + --- ## Заметки по конфигурации @@ -284,6 +317,7 @@ ITEMS (каналы) ├── Каналы с множеством подканалов │ ├── CH_SPILED "SPILED"(11) │ ├── CH_MULTIVENT "VENTS"(18) +│ ├── CH_SPRINKLER "SPRINKLER"(23) │ └── CH_HUMIDIFIER "HUM"(21) │ ├── Modbus/RS485 Slaves/UART diff --git a/documentation/configuration_examples.md b/documentation/configuration_examples.md index 08c9409..ff5c917 100644 --- a/documentation/configuration_examples.md +++ b/documentation/configuration_examples.md @@ -1,4 +1,4 @@ -# LightHub: Примеры конфигурации для всех типов каналов (0-22) +# LightHub: Примеры конфигурации для всех типов каналов (0-23) > **Практический справочник** с готовыми примерами JSON конфигурации для каждого типа канала. > Каждый пример показывает полный синтаксис, включая MQTT топики и все параметры. @@ -30,6 +30,7 @@ - [CH_COUNTER (20)](#ch_counter-20---счётчик-импульсов) - [CH_HUMIDIFIER (21)](#ch_humidifier-21---управление-увлажнителем) - [CH_MERCURY (22)](#ch_mercury-22---счётчик-энергии-mercury) +- [CH_SPRINKLER (23)](#ch_sprinkler-23---система-полива) --- @@ -61,7 +62,6 @@ ``` myhome/dev/lamp_bedroom/cmd ← ON, OFF, TOGGLE, SET myhome/dev/lamp_bedroom/set ← 150 (яркость 0-255) -myhome/dev/lamp_bedroom/val ← текущая яркость myhome/s_out/lamp_bedroom/val → опубликованная яркость ``` @@ -96,7 +96,7 @@ myhome/s_out/lamp_bedroom/val → опубликованная яркость myhome/dev/rgb_light/hue ← 240 (0-359°) myhome/dev/rgb_light/sat ← 100 (0-100%) myhome/dev/rgb_light/val ← 200 (0-255) -myhome/dev/rgb_light/temp ← 6500 (температура цвета, K) +myhome/dev/rgb_light/temp ← 6500 (температура цвета, Mirids) myhome/dev/rgb_light/RGB ← 255,0,0 (красный) myhome/dev/rgb_light/RGB ← 255,0,0,100 (RGB+White) ``` @@ -152,7 +152,7 @@ myhome/dev/mood_light/HSV ← 120,100,100 (зелёный в HSV) ``` myhome/dev/pwm_dim/set ← 128 -myhome/dev/pwm_dim/val ← текущее значение +myhome/dev/pwm_dim/cmd ← ON ``` --- @@ -211,7 +211,7 @@ myhome/dev/pwm_dim/val ← текущее значение ``` myhome/dev/thermo_bath/set ← 35 (установить целевую T) -myhome/dev/thermo_bath/val ← 1 (нагревается) или 0 +myhome/dev/thermo_bath/val ← передать измерянную температуру с удаленного сенсора myhome/dev/thermo_bath/cmd ← ON, OFF ``` @@ -219,7 +219,7 @@ myhome/dev/thermo_bath/cmd ← ON, OFF ## CH_RELAY (6) - GPIO Реле -**Назначение**: Простое электромагнитное реле ON/OFF +**Назначение**: Простое электромагнитное реле ON/OFF или иное дискретное устройство ### Синтаксис @@ -244,7 +244,6 @@ myhome/dev/thermo_bath/cmd ← ON, OFF ``` myhome/dev/relay_water/cmd ← ON, OFF, TOGGLE -myhome/dev/relay_water/val ← 1 (включено) или 0 (выключено) ``` --- @@ -304,13 +303,7 @@ myhome/dev/lights_all/cmd ← SET 100 (установит яркость ```json { - "modbus": { - "vacom_10": { - "baud": 9600, - "serial": "8N1", - "poll": {"regs": [[0, 50]], "delay": 1000} - } - }, + "items": { "fan_heat": [8, [96, 0]], // Vacom адрес 96, экземпляр 0 "fan_cool": [8, [96, 1]] // Vacom адрес 96, экземпляр 1 @@ -329,10 +322,7 @@ myhome/dev/lights_all/cmd ← SET 100 (установит яркость ```json { "items": { - "vent_motor": [9, [96, { - "mode": {"emit": "vent/mode"}, - "speed": {"emit": "vent/speed"} - }]] + "vent_motor": [9, [96, ??]] } } ``` @@ -779,6 +769,271 @@ myhome/dev/energy_mercury/val ← текущие показания энерг --- +## CH_SPRINKLER (23) - Система полива + +**Назначение**: Многозональная система автоматического полива с контролем воды и насосов + +### Синтаксис + +```json +"sprinkler_name": [23, [{параметры_системы}, {зоны_полива}]] +``` + +### Полный пример конфигурации + +```json +{ + "items": { + "sprinkler": [23, { + "": { + "vIn": 3, + "wMax": 44, + "wMin": 46, + "rDren": 23, + "fbDren": 63, + "rPump": 24, + "fbPump": 62, + "wCtr": 49 + }, + "nord": { + "pin": 6, + "set": 60, + "cmd": 1 + }, + "south": { + "pin": 7, + "set": 100, + "cmd": 1 + }, + "trees": { + "pin": 10, + "set": 60, + "cmd": 2 + }, + "outlets": {} + }] + } +} +``` + +### MQTT Команды управления + +#### Запуск/остановка цикла полива +``` +root/name/sprinkler/cmd ← ON # Запустить цикл полива всех зон +root/name/sprinkler/cmd ← OFF # Остановить полив +root/name/sprinkler/cmd ← RESET # Сбросить счётчики - инициирует старт полива + +root/name/sprinkler/cmd ← FREEZE # Полная блокировка на зиму +root/name/sprinkler/cmd ← UNFREEZE # Разблокировка +root/name/sprinkler/cmd ← DRY # Режим осушения системы перед зимой +root/name/sprinkler/cmd ← ENABLE # Разрешить полив +root/name/sprinkler/cmd ← DISABLE # Запретить полив (например, после дождя) +``` + +#### Управление конкретной зоной +``` +root/name/sprinkler/nord/cmd ← ON # Включить полив северной зоны +root/name/sprinkler/nord/cmd ← OFF # Выключить полив +root/name/sprinkler/nord/set ← 60 # Требуемый объём полива +root/name/sprinkler/nord/set ← 0 # Без лимита (для розеток) + +root/name/sprinkler/south/cmd ← ON # Включить южную зону +root/name/sprinkler/south/set ← 100 # Требуемый объём + +root/name/sprinkler/trees/cmd ← ON # Включить капельное орошение +root/name/sprinkler/trees/set ← 60 # Требуемый объём +``` + +#### Специальные команды +``` +root/name/sprinkler/val ← -1 # Температура < 0 → автоматический FREEZE +root/name/sprinkler/ctrl ← FREEZE # Установить режим FREEZE +root/name/sprinkler/ctrl ← UNFREEZE # Снять режим FREEZE +``` + +### MQTT Статусные топики (выходные) + +#### Состояние системы +``` +root/s_out/sprinkler/$state → SP_UNKNOWN, SP_OFF, SP_DREN_ON, SP_DREN_OPERATE, + SP_DREN_EMPTY, SP_VIN, SP_FULL, SP_FAULT_VIN, SP_FAULT_DREN +root/s_out/sprinkler/$fault → код ошибки (если есть) +root/s_out/sprinkler/$wMax → ON/OFF - бак полный (поплавок макс) +root/s_out/sprinkler/$wMin → ON/OFF - бак пуст (поплавок мин) +``` + +#### Состояние насосов и клапанов +``` +root/s_out/sprinkler/$rPump → ON/OFF - реле основного насоса включено +root/s_out/sprinkler/$fbPump → ON/OFF - основной насос работает (датчик) +root/s_out/sprinkler/$rDren → ON/OFF - реле дренажного насоса включено +root/s_out/sprinkler/$fbDren → ON/OFF - дренажный насос работает (датчик) +root/s_out/sprinkler/$rVIN → ON/OFF - клапан налива из водопровода открыт +root/s_out/sprinkler/set → текущее значение счётчика воды +``` + +#### Состояние зон полива +``` +root/s_out/sprinkler/nord/$state → ON/OFF - зона в данный момент поливается +root/s_out/sprinkler/nord/cmd → ON/OFF - состояние команды включения +root/s_out/sprinkler/nord/set → требуемый объём полива +root/s_out/sprinkler/nord/val → выполненный объём полива (накапливается) + +root/s_out/sprinkler/south/$state → ON/OFF - южная зона поливается +root/s_out/sprinkler/south/cmd → ON/OFF +root/s_out/sprinkler/south/set → требуемый объём +root/s_out/sprinkler/south/val → выполненный объём + +root/s_out/sprinkler/trees/$state → ON/OFF - капельная зона поливается +root/s_out/sprinkler/trees/cmd → ON/OFF +root/s_out/sprinkler/trees/set → требуемый объём +root/s_out/sprinkler/trees/val → выполненный объём + +root/s_out/sprinkler/outlets/$state → ON/OFF - розетка активна +``` + +### Примеры использования + +#### Запуск полива с установкой объёмов +```bash +# Установить объёмы для каждой зоны +mosquitto_pub -t root/name/sprinkler/nord/set -m 60 +mosquitto_pub -t root/name/sprinkler/south/set -m 100 +mosquitto_pub -t root/name/sprinkler/trees/set -m 60 + +# Запустить цикл полива +mosquitto_pub -t root/name/sprinkler/cmd -m ON +``` + +#### Запрет полива после дождя и восстановление +```bash +# Запретить полив +mosquitto_pub -t root/name/sprinkler/cmd -m DISABLE + +# Разрешить полив +mosquitto_pub -t root/name/sprinkler/cmd -m ENABLE +``` + +#### Подготовка к зиме (блокировка + осушение) +```bash +# 1. Перейти в режим DRY для осушения +mosquitto_pub -t root/name/sprinkler/cmd -m DRY + +# 2. Открыть розетки для слива +mosquitto_pub -t root/name/sprinkler/outlets/cmd -m ON + +# 3. После полного слива - заморозить систему +mosquitto_pub -t root/name/sprinkler/cmd -m FREEZE +``` + +#### Сброс счётчиков (инициирует новый цикл полива) +```bash +mosquitto_pub -t root/name/sprinkler/cmd -m RESET +``` + +### Интеграция с Home Assistant + +```yaml +sensor: + - name: "Полив бак Макс" + state_topic: "root/s_out/sprinkler/$wMax" + + - name: "Полив бак Мин" + state_topic: "root/s_out/sprinkler/$wMin" + + - name: "Полив состояние" + state_topic: "root/s_out/sprinkler/$state" + + - name: "Полив ошибка" + state_topic: "root/s_out/sprinkler/$fault" + + - name: "Полив север выполнено" + state_topic: "root/s_out/sprinkler/nord/val" + + - name: "Полив юг выполнено" + state_topic: "root/s_out/sprinkler/south/val" + + - name: "Полив капельный выполнено" + state_topic: "root/s_out/sprinkler/trees/val" + +switch: + - name: "Полив" + state_topic: "root/s_out/sprinkler/cmd" + command_topic: "root/air/sprinkler/cmd" + availability_topic: "root/air/$state" + payload_available: "ready" + payload_not_available: "disconnected" + + - name: "Полив север" + state_topic: "root/s_out/sprinkler/nord/cmd" + command_topic: "root/air/sprinkler/nord/cmd" + + - name: "Полив юг" + state_topic: "root/s_out/sprinkler/south/cmd" + command_topic: "root/air/sprinkler/south/cmd" + + - name: "Полив капельный" + state_topic: "root/s_out/sprinkler/trees/cmd" + command_topic: "root/air/sprinkler/trees/cmd" + +button: + - name: "Полив сброс" + command_topic: "root/air/sprinkler/cmd" + payload_press: "RESET" + + - name: "Полив блокировка (FREEZE)" + command_topic: "root/air/sprinkler/cmd" + payload_press: "FREEZE" + + - name: "Полив разблокировка" + command_topic: "root/air/sprinkler/cmd" + payload_press: "UNFREEZE" + + - name: "Полив запретить (дождь)" + command_topic: "root/air/sprinkler/cmd" + payload_press: "DISABLE" + + - name: "Полив разрешить" + command_topic: "root/air/sprinkler/cmd" + payload_press: "ENABLE" + + - name: "Полив осушение (DRY)" + command_topic: "root/air/sprinkler/cmd" + payload_press: "DRY" + +number: + - name: "Полив север объём" + state_topic: "root/s_out/sprinkler/nord/set" + command_topic: "root/air/sprinkler/nord/set" + min: 0 + max: 6000 + + - name: "Полив юг объём" + state_topic: "root/s_out/sprinkler/south/set" + command_topic: "root/air/sprinkler/south/set" + min: 0 + max: 6000 + + - name: "Полив капельный объём" + state_topic: "root/s_out/sprinkler/trees/set" + command_topic: "root/air/sprinkler/trees/set" + min: 0 + max: 6000 +``` + +### Особенности и советы + +| Особенность | Описание | +|-----------|---------| +| **Водяная розетка** | Настройте зону с `set: 0` — она будет работать неограниченно и всегда под давлением | +| **Счётчик воды** | Если `wCtr` не установлен, система отсчитывает время в секундах вместо объёма | +| **Приоритет дренажа** | Система сначала наполняет бак из дренажного колодца, потом из водопровода | +| **Автозащита от мороза** | Отправьте `/val ← -1` или `FREEZE` при угрозе мороза | +| **DISABLE vs FREEZE** | DISABLE блокирует только запуск, FREEZE полностью замораживает систему | +| **Режим DRY** | Используйте перед зимой: включает насос без наполнения, зоны можно открыть вручную | +| **RESET** | Сбрасывает счётчики всех зон в 0 и инициирует новый цикл полива | + ## Полная реальная конфигурация (интеграция всех типов) ```json @@ -845,12 +1100,12 @@ myhome/dev/energy_mercury/val ← текущие показания энерг ## Полезные ссылки -- [Справочник типов каналов](channel_types_reference.md) — типы 0-22 +- [Справочник типов каналов](channel_types_reference.md) — типы 0-23 - [Справочник суффиксов](suffixes_reference.md) — /cmd, /val, /set, /hue, /sat, /temp - [Полное описание конфигурации](light_hub_полное_инженерное_описание_json_конфигурации_v2.md) - [Исходный код item.h](../lighthub/item.h) --- -**Версия документа**: 1.0 -**Дата обновления**: 2025-01-24 +**Версия документа**: 1.2 +**Дата обновления**: 2025-06-17 diff --git a/documentation/light_hub_полное_инженерное_описание_json_конфигурации_v2.md b/documentation/light_hub_полное_инженерное_описание_json_конфигурации_v2.md index 7e215aa..dba2910 100644 --- a/documentation/light_hub_полное_инженерное_описание_json_конфигурации_v2.md +++ b/documentation/light_hub_полное_инженерное_описание_json_конфигурации_v2.md @@ -1,6 +1,6 @@ # LightHub: Полное инженерное описание JSON‑конфигурации контроллера -> **Документ актуален для ядра LightHub с типами каналов CH_DIMMER (0) - CH_MERCURY (22)** +> **Документ актуален для ядра LightHub с типами каналов CH_DIMMER (0) - CH_SPRINKLER (23)** > > Предназначен для инженеров автоматизации, интеграторов и разработчиков. > Основан **строго** на официальной документации LazyHome / LightHub и исходном коде. @@ -31,7 +31,7 @@ JSON‑конфигурация LightHub — это **единственный - **Сетевую интеграцию** (MQTT, syslog) - **Подключённые физические интерфейсы** (DMX, RS485, GPIO, 1-Wire) - **Библиотеки Modbus‑устройств** (шаблоны с параметрами) -- **Логические объекты (items)** — каналы управления (0-22 типов) +- **Логические объекты (items)** — каналы управления (0-23 типов) - **Маршрутизацию данных и команд** между MQTT и локальными объектами ❗ **В LightHub нет runtime‑конфигурации** — всё задаётся декларативно при загрузке файла. @@ -79,6 +79,7 @@ JSON‑конфигурация LightHub — это **единственный ### Параметры (позиционные!) + | № | Назначение | Тип | Обязателен | Пример | |--|--|--|--|--| | 0 | MQTT Client ID | string | **✓** | `"lighthub-07"` | @@ -392,12 +393,12 @@ myhome/s_out/lamp1/hue # текущий оттенок RGB лампы | Элемент | Назначение | Обязателен | Тип | |--|--|--|--| -| 0 | **TYPE** — тип канала (0-22) | **✓** | int или string | +| 0 | **TYPE** — тип канала (0-23) | **✓** | int или string | | 1 | **CONFIG** — конфигурация (зависит от типа) | **✓** | int, string, или array | | 2 | Начальное значение (preset) | - | int или array | | 3 | Начальная команда | - | int | -### Типы каналов (0-22) +### Типы каналов (0-23) **Полный справочник типов каналов см. в [channel_types_reference.md](channel_types_reference.md)** @@ -689,5 +690,5 @@ LightHub использует **жёстко структурированную, **Версия документа**: 2.0 **Дата обновления**: 2025-01-24 -**Актуально для**: LightHub с CH_DIMMER (0) - CH_MERCURY (22) +**Актуально для**: LightHub с CH_DIMMER (0) - CH_SPRINKLER (23) **Источник**: [item.h](../lighthub/item.h), [item.cpp](../lighthub/item.cpp) diff --git a/documentation/modules_description.md b/documentation/modules_description.md index 4eea5c8..65d3f5c 100644 --- a/documentation/modules_description.md +++ b/documentation/modules_description.md @@ -20,6 +20,7 @@ - [out_Counter](#out_counter---счётчик-импульсов) - [out_SPILed](#out_spiled---управление-светодиодами) - [out_Mercury](#out_mercury---счётчик-меркурий) + - [out_Sprinkler](#out_sprinkler---система-полива) - [out_UARTBridge](#out_uartbridge---uart-мост) 2. [Входные модули (In)](#входные-модули) @@ -628,6 +629,182 @@ home/meter/night_power - Ночное потребление --- +--- + +## out_Sprinkler — Система полива + +### Описание + +Модуль управления многозональной системой автоматического полива с независимым управлением каждой зоной, таймерами и мониторингом. + +**Основные функции:** +- Управление несколькими зонами полива независимо +- Установка длительности полива для каждой зоны +- Таймеры и расписания для автоматизации +- Мониторинг прогресса выполнения +- Поддержка ручного управления и автоматических режимов +- Контроль состояния клапанов и электромагнитных выключателей + +### Тип в JSON +``` +[23, ["device_name", {zones_configuration}]] +``` + +### Формат конфигурации + +```json +"irrigation_system": [ + 23, + [ + "main_sprinkler", + { + "": { + "cmd": {"emit": "sprinkler/cmd"}, + "val": {"emit": "sprinkler/state"} + }, + "north_zone": { + "enabled": {"emit": "sprinkler/north/enabled"}, + "time": {"emit": "sprinkler/north/time"}, + "progress": {"emit": "sprinkler/north/progress"}, + "cycle": {"emit": "sprinkler/north/cycle"} + }, + "south_zone": { + "enabled": {"emit": "sprinkler/south/enabled"}, + "time": {"emit": "sprinkler/south/time"}, + "progress": {"emit": "sprinkler/south/progress"}, + "cycle": {"emit": "sprinkler/south/cycle"} + }, + "drip_zone": { + "enabled": {"emit": "sprinkler/drip/enabled"}, + "time": {"emit": "sprinkler/drip/time"}, + "progress": {"emit": "sprinkler/drip/progress"}, + "cycle": {"emit": "sprinkler/drip/cycle"} + } + } + ] +] +``` + +### Компоненты системы + +| Компонент | Выход/Вход | Назначение | +|-----------|-----------|-----------| +| **Бак полива** | wMax, wMin | Поплавки макс/мин уровня воды | +| **Основной насос** | rPump, fbPump | Реле включения, датчик тока | +| **Клапаны зон** | pin (для каждой зоны) | Оптореле открытия клапана | +| **Клапан налива** | vIn | Оптореле подачи воды из водопровода | +| **Дренажный насос** | rDren, fbDren | Реле включения, датчик тока | +| **Водосчётчик** | wCtr (опционально) | Счётчик объёма воды | + +### Параметры конфигурации + +| Параметр | Тип | Описание | +|----------|-----|---------| +| `vIn` | int | GPIO клапана налива из водопровода | +| `wMax` | int | GPIO поплавка максимума в баке | +| `wMin` | int | GPIO поплавка минимума в баке | +| `rDren` | int | GPIO реле дренажного насоса | +| `fbDren` | int | GPIO датчика дренажного насоса | +| `rPump` | int | GPIO реле основного насоса полива | +| `fbPump` | int | GPIO датчика основного насоса | +| `wCtr` | int | GPIO счётчика воды (опционально) | + +### Параметры зоны полива + +| Параметр | Тип | Описание | +|----------|-----|---------| +| `pin` | int | GPIO клапана зоны | +| `set` | int | Требуемый объём полива или время (сек). 0 = неограниченно | +| `cmd` | int | Начальное состояние (0=OFF, 1=ON, 2=другое) | + +### Состояния системы налива + +| Состояние | Описание | +|-----------|---------| +| `SP_UNKNOWN` | Неизвестное состояние | +| `SP_OFF` | Система выключена | +| `SP_DREN_ON` | Дренажный насос включен | +| `SP_DREN_OPERATE` | Дренажный насос работает | +| `SP_DREN_EMPTY` | Дренажный колодец пуст | +| `SP_VIN` | Наполнение из водопровода | +| `SP_FULL` | Бак наполнен | +| `SP_FAULT_VIN` | Ошибка: бак не наполнился из водопровода | +| `SP_FAULT_DREN` | Ошибка: бак не наполнился из дренажа | + +### MQTT топики управления + +#### Управление циклом полива (команды) +``` +root/name/sprinkler/cmd ← ON # Запустить цикл полива +root/name/sprinkler/cmd ← OFF # Остановить цикл полива +root/name/sprinkler/cmd ← XON # Включить (может быть заблокировано DISABLE) +root/name/sprinkler/cmd ← XOFF # Выключить +root/name/sprinkler/cmd ← RESET # Сбросить счётчики всех зон +root/name/sprinkler/cmd ← FREEZE # Блокировка на зиму +root/name/sprinkler/cmd ← UNFREEZE # Разблокировка +root/name/sprinkler/cmd ← DRY # Режим осушения системы +``` + +#### Управление конкретной зоной (например, "north") +``` +root/name/sprinkler/north/cmd ← ON # Включить полив зоны +root/name/sprinkler/north/cmd ← OFF # Выключить полив зоны +root/name/sprinkler/north/set ← 60 # Требуемый объём/время полива (секунды или единицы счётчика) +``` + +#### Режимы системы (установка в /ctrl) +``` +root/name/sprinkler/ctrl ← ENABLE # Разрешить полив +root/name/sprinkler/ctrl ← DISABLE # Запретить полив (например, после дождя) +root/name/sprinkler/ctrl ← FREEZE # Полная блокировка на зиму +root/name/sprinkler/ctrl ← UNFREEZE # Снять блокировку зимы +``` + +#### Автоматическая блокировка по температуре +``` +root/name/sprinkler/val ← -1 # При температуре < 0 система автоматически переходит в FREEZE +``` + +### MQTT топики мониторинга (статус) + +``` +root/s_out/sprinkler/$state # Состояние системы налива воды (SP_*) +root/s_out/sprinkler/$fault # Код ошибки (если есть) +root/s_out/sprinkler/$wMax # ON/OFF - бак полный (поплавок макс) +root/s_out/sprinkler/$wMin # ON/OFF - бак пуст (поплавок мин) +root/s_out/sprinkler/$rPump # ON/OFF - реле основного насоса включено +root/s_out/sprinkler/$fbPump # ON/OFF - основной насос работает (датчик тока) +root/s_out/sprinkler/$rDren # ON/OFF - реле дренажного насоса включено +root/s_out/sprinkler/$fbDren # ON/OFF - дренажный насос работает (датчик тока) +root/s_out/sprinkler/$rVIN # ON/OFF - клапан налива из водопровода открыт +root/s_out/sprinkler/set # Текущее значение счётчика воды + +root/s_out/sprinkler/north/$state # ON/OFF - зона поливается в настоящее время +root/s_out/sprinkler/north/cmd # ON/OFF - состояние команды включения зоны +root/s_out/sprinkler/north/set # Требуемый объём/время полива +root/s_out/sprinkler/north/val # Текущий выполненный объём/время полива зоны + +root/s_out/sprinkler/south/$state # ON/OFF - зона поливается +root/s_out/sprinkler/south/cmd # ON/OFF - состояние команды +root/s_out/sprinkler/south/set # Требуемый объём/время +root/s_out/sprinkler/south/val # Выполненный объём/время + +# Аналогично для остальных зон (например, "trees", "outlets" и т.д.) +``` + +### Особенности + +| Особенность | Описание | +|-----------|---------| +| **Динамическое управление** | Все параметры можно изменять через MQTT в реальном времени | +| **Восстановление состояния** | Значения `set` и `val` восстанавливаются из топиков `s_out` при перезагрузке | +| **Водяная розетка** | Зона с `set=0` работает неограниченно (используется для розеток с шлангом) | +| **Приоритет дренажа** | Система сначала пытается наполнить бак из дренажного колодца, затем из водопровода | +| **Автозащита от мороза** | Значение `/val < 0` автоматически активирует режим FREEZE | +| **Двухступенчатая блокировка** | DISABLE блокирует команды, FREEZE полностью заморозит систему | + +--- + ## out_UARTBridge — UART мост ### Описание @@ -791,6 +968,7 @@ home/meter/night_power - Ночное потребление | out_Counter | 6 | Счётчик импульсов | GPIO-счёт | | out_SPILed | 10 | Адресуемые светодиоды | SPI/GPIO | | out_Mercury | 45 | Электросчётчик | Modbus RTU | +| out_Sprinkler | 23 | Система полива | GPIO + MQTT | | out_UARTBridge | 55 | UART-мост | UART↔UART | | in_CCS811_HDC1080 | 100 | Качество воздуха | I2C | diff --git a/documentation/mqtt_api_reference.md b/documentation/mqtt_api_reference.md index 9fef625..75528cd 100644 --- a/documentation/mqtt_api_reference.md +++ b/documentation/mqtt_api_reference.md @@ -65,9 +65,10 @@ myhome/in/led_strip/10-20/set (установить значение пи ``` **Пример для состояния (условное выполнение)**: + ``` -myhome/in/floor/AUTO/set (команда для теплых полов в режиме AUTO) -myhome/in/floor/OFF/set (команда для теплых полов в режиме OFF) +myhome/in/floor/AUTO/set (применится для теплых полов в режиме AUTO) +myhome/in/floor/OFF/set (применится для теплых полов в режиме OFF) ``` #### 5. **suffix** (суффикс) — параметр объекта @@ -80,20 +81,20 @@ myhome/in/floor/OFF/set (команда для теплых пол | Суффикс | Тип | Назначение | Применимость | |---------|-----|-----------|--------------| -| **`/cmd`** | Command | Основная команда управления (ON, OFF, TOGGLE и др.) | Все типы | -| **`/set`** | Parameter | Установка параметра (яркость, температура и др.) | Диммеры, регуляторы, термостаты | -| **`/val`** | Status | Текущее значение (в статусных топиках) | Все типы | -| **`/hue`** | Color | Оттенок (0-365°, HSV формат) | RGB/RGBW/RGBWW | -| **`/sat`** | Color | Насыщенность (0-100%, HSV формат) | RGB/RGBW/RGBWW | -| **`/hsv`** | Color | Полный цвет (hue,saturation,volume) | RGB/RGBW/RGBWW | -| **`/rgb`** | Color | Цвет в RGB/RGBW нотации | RGB/RGBW/RGBWW | -| **`/fan`** | Control | Скорость вентилятора (HIGH, MEDIUM, LOW) | AC, Multivent | -| **`/mode`** | Control | Режим работы (HEAT, COOL, DRY, FAN, AUTO) | AC, Thermostat, Multivent | -| **`/lock`** | Control | Блокировка (ON, OFF) | AC | -| **`/swing`** | Control | Направление воздушного потока (ON, OFF) | AC | -| **`/quiet`** | Control | Тихий режим (ON, OFF) | AC | -| **`/ctrl`** | Control | Управление состоянием (FREEZE, UNFREEZE, ENABLE, DISABLE) | Специальное | -| **`/del`** | Delayed | Команда с задержкой | Все команды | +| **`/cmd`** | Command, Status | Основная команда управления (ON, OFF, TOGGLE и др.) | Все типы | +| **`/set`** | Command, Status | Установка параметра (яркость, температура и др.) | Диммеры, регуляторы, термостаты | +| **`/val`** | Command | Текущее значение регулируемого параметра направляется с сенсора сюда | PID, MULTIVENT, THERMOSTAT, SPRINKLER| +| **`/hue`** | Command | Оттенок (0-365°, HSV формат) | RGB/RGBW/RGBWW | +| **`/sat`** | Command | Насыщенность (0-100%, HSV формат) | RGB/RGBW/RGBWW | +| **`/hsv`** | Command | Полный цвет (hue,saturation,volume) | RGB/RGBW/RGBWW | +| **`/rgb`** | Command | Цвет в RGB/RGBW нотации | RGB/RGBW/RGBWW | +| **`/fan`** | Command, Status | Скорость вентилятора 0-255 или (HIGH, MEDIUM, LOW, OFF) | AC, Multivent | +| **`/mode`** | Command, Status | Режим работы (HEAT, COOL, DRY, FAN, AUTO) | AC, Thermostat, Multivent | +| **`/lock`** | Command, Status | Блокировка (ON, OFF) | AC | +| **`/swing`** | Command, Status | Направление воздушного потока (ON, OFF) | AC | +| **`/quiet`** | Command, Status | Тихий режим (ON, OFF) | AC | +| **`/ctrl`** | Command, Status | Управление состоянием (FREEZE, UNFREEZE, ENABLE, DISABLE) | Специальное | +| **`/del`** | Command, Status | Команда с задержкой | Все команды | --- @@ -237,13 +238,13 @@ myhome/s_out//<суффикс> | Формат | Описание | Пример | |--------|---------|--------| -| `<0..100>` | Яркость (OpenHab стиль) | `myhome/in/lamp/set → 50` | -| `<0..255>` | Яркость/PWM (новый стиль) | `myhome/in/lamp/set → 128` | -| `,,` | HSV формат | `myhome/in/rgb/hsv → 240,100,200` | -| `,` | HSV без изменения яркости | `myhome/in/rgb/hsv → 240,100` | -| `#RRGGBB` | RGB hex (Home Remote) | `myhome/in/rgb/cmd → #FF0000` | -| `,,` | RGB формат | `myhome/in/rgb/rgb → 255,0,0` | -| `,,,` | RGBW формат | `myhome/in/rgb/rgb → 255,0,0,100` | +| `<0..100>` | Яркость (OpenHab стиль) | `myhome/in/lamp → 50` | +| `<0..255>` | Яркость/PWM/температура/значение счетчика/... (новый стиль) | `myhome/in/lamp/set → 128` | +| `,,` | HSV формат | `myhome/in/led/hsv → 240,100,200` | +| `,` | HSV без изменения яркости | `myhome/in/led/hsv → 240,100` | +| `#RRGGBB` | RGB hex (Home Remote) | `myhome/in/led/rgb → #FF0000` | +| `,,` | RGB формат | `myhome/in/led/rgb → 255,0,0` | +| `,,,` | RGBW формат | `myhome/in/led/rgb → 255,0,0,100` | ### Расширенные команды @@ -264,12 +265,12 @@ myhome/s_out//<суффикс> | Команда | Описание | Применимость | |---------|---------|--------------| -| `AUTO` | Автоматический режим | AC, Thermostat | -| `HEAT` | Нагрев | AC, Thermostat | -| `COOL` | Охлаждение | AC | -| `DRY` | Осушение | AC | -| `FAN_ONLY` | Только вентилятор | AC | -| `HIGH`, `MED`, `LOW` | Скорость вентилятора | AC | +| `AUTO` | Автоматический режим | AC, Thermostat, Multivent | +| `HEAT` | Нагрев | AC, Thermostat, Multivent | +| `COOL` | Охлаждение | AC, Multivent | +| `DRY` | Осушение | AC, Multivent, IRRIGATOR | +| `FAN_ONLY` | Только вентилятор | AC, Multivent | +| `HIGH`, `MED`, `LOW` | Скорость вентилятора | AC, MULTIVENT | ### Команды с задержкой @@ -294,6 +295,7 @@ myhome/in/light/cmd → "ON 3000" ``` **Взаимно-обратные команды**: + - `ON` ↔ `OFF` - `TOGGLE` ↔ `TOGGLE` - `REST` ↔ `HALT` @@ -319,20 +321,19 @@ myhome/in/light/cmd → "ON 3000" **Пример**: - Получена команда: `ON` на RGB канал - Контроллер восстанавливает последний цвет (HSV из памяти) -- Публикует в статусный топик: `hue=240, sat=100, val=200` (вместо просто `ON`) +- Публикует в статусный топик: `240,100,200` (вместо просто `ON`) -### Различие /set и /cmd (с версии 3.0.0) - -| Что | /cmd | /set | +### Различие нового подхода (/set и /cmd) и старого (общий топик, совместимо с шиной OpenHab) +| Что | новый | openHab | |-----|:----:|:----:| -| Команда управления | ✓ | - | -| Диапазон значений | 0-255 | 0-255 (новый) или 0-100 (старый) | -| Для OpenHab совместимости | Используется конец топика | 0-100 | -| Для новых систем | - | 0-255 | +| Команда управления | в /cmd| в общем топике | +| Команда установки значения | в /set| в общем топике | +| Диапазон значений | 0-255 | 0-100 | + **Практика**: -- `/set` используется для установки **значения** (яркость 0-255) -- `/cmd` используется для **команд** (ON, OFF, TOGGLE) +- `/set` используется для установки **значения** (например, яркость 0-255) +- `/cmd` используется для **команд** (ON, OFF, TOGGLE ...) --- @@ -355,22 +356,22 @@ http:///item/[/subitem][/suffix] ```bash # Включить лампу -curl -X POST http://192.168.1.10/item/lamp1/cmd -d "ON" +curl --user arduino:password -X POST http://192.168.1.10/item/lamp1/cmd -d "ON" # Установить яркость -curl -X POST http://192.168.1.10/item/lamp1/set -d "150" +curl --user arduino:password -X POST http://192.168.1.10/item/lamp1/set -d "150" # Установить цвет RGB -curl -X POST http://192.168.1.10/item/rgb_light/rgb -d "255,0,0" +curl --user arduino:password -X POST http://192.168.1.10/item/rgb_light/rgb -d "255,0,0" # Получить текущий статус -curl -X GET http://192.168.1.10/item/lamp1/val +curl --user arduino:password -X GET http://192.168.1.10/item/lamp1 # Многозональная вентиляция - установить T в спальне -curl -X POST http://192.168.1.10/item/multivent/bedroom/set -d "22" +curl --user arduino:password -X POST http://192.168.1.10/item/multivent/bedroom/set -d "22" # Кондиционер - установить режим -curl -X POST http://192.168.1.10/item/ac_main/mode -d "HEAT" +curl --user arduino:password -X POST http://192.168.1.10/item/ac_main/mode -d "HEAT" ``` ### Дополнительные endpoints @@ -380,7 +381,7 @@ curl -X POST http://192.168.1.10/item/ac_main/mode -d "HEAT" | `/config.json` | GET, POST | Загрузить/сохранить конфигурацию | | `/config.bin` | GET, POST | Системная конфигурация | | `/sketch` | POST | Загрузить прошивку (OTA) | -| `/command/` | POST | Выполнить CLI команду | +| `/$command/` | POST | Выполнить CLI команду | | `/` | GET | Переадресация на PWA приложение | --- @@ -421,26 +422,28 @@ curl -X POST http://192.168.1.10/item/ac_main/mode -d "HEAT" ``` # Включить лампу → myhome/in/lamp_bedroom/cmd: ON -← myhome/s_out/lamp_bedroom/val: 100 (восстановленная яркость) +← myhome/s_out/lamp_bedroom/set: 100 (восстановленная яркость) ← myhome/s_out/lamp_bedroom/cmd: ON # Установить яркость RGB → myhome/in/rgb_light/set: 200 -← myhome/s_out/rgb_light/val: 200 +← myhome/s_out/rgb_light/set: 0,0,200,500 (в статусный топик запишется полный набор параметров канала) # Установить цвет → myhome/in/rgb_light/hue: 240 -← myhome/s_out/rgb_light/hue: 240 +← myhome/s_out/rgb_light/set: 240,100,200,500 (в статусный топик запишется полный набор параметров канала) + +# Установить насыщенность +→ myhome/in/rgb_light/sat: 50 +← myhome/s_out/rgb_light/set: 240,50,200,500 (в статусный топик запишется полный набор параметров канала) # Включить кондиционер в режим HEAT -→ myhome/in/ac_main/cmd: ON -← myhome/s_out/ac_main/cmd: ON -→ myhome/in/ac_main/mode: HEAT -← myhome/s_out/ac_main/mode: HEAT +→ myhome/in/ac_main/cmd: HEAT +← myhome/s_out/ac_main/cmd: HEAT (запишется в статусный топик) # Установить температуру → myhome/in/ac_main/set: 22 -← myhome/s_out/ac_main/set: 22 +← myhome/s_out/ac_main/set: 22 (запишется в статусный топик) ``` --- @@ -466,5 +469,5 @@ mosquitto_sub -h 192.168.1.100 -t "myhome/s_out/#" -v --- -**Версия документа**: 2.0 (актуально для работа_с_mqtt из wiki.lazyhome.ru) +**Версия документа**: 2.1 (актуально для работа_с_mqtt из wiki.lazyhome.ru) **Источники**: [MQTT wiki](https://www.lazyhome.ru/dokuwiki/doku.php?id=%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_mqtt), [API wiki](https://www.lazyhome.ru/dokuwiki/doku.php?id=api) diff --git a/documentation/technical_channel_types_table.md b/documentation/technical_channel_types_table.md index 0815282..f7de9e2 100644 --- a/documentation/technical_channel_types_table.md +++ b/documentation/technical_channel_types_table.md @@ -1,7 +1,7 @@ # LightHub: Полная техническая таблица типов каналов -> **Инженерный справочник** — полная таблица всех типов каналов (0-22) с параметрами, синтаксисом и примерами кода. -> Источник: [lighthub/item.h](../lighthub/item.h), строки 47-69 +> **Инженерный справочник** — полная таблица всех типов каналов (0-23) с параметрами, синтаксисом и примерами кода. +> Источник: [lighthub/item.h](../lighthub/item.h), строки 47-72 --- @@ -32,6 +32,7 @@ | 20 | COUNTER | Counter | Счётчик импульсов | int/array | `0` или `[0.02, 1.2]` | | 21 | HUM | Humidifier | Увлажнитель | object | `{humidity:{...}}` | | 22 | MERCURY | Mercury Meter | Счётчик энергии Mercury | array | `[1, 9600, "8N1", ...]` | +| 23 | SPRINKLER | Irrigation System | Система полива | array | `["main", {zones}]` | --- @@ -61,7 +62,8 @@ #define CH_COUNTER 20 #define CH_HUMIDIFIER 21 #define CH_MERCURY 22 -#define CH_MAX 22 +#define CH_SPRINKLER 23 +#define CH_MAX 23 ``` --- @@ -305,9 +307,22 @@ | **Flags** | Массив флагов (обычно [2,2,2,2,2,2]) | | **Timeout** | Таймаут опроса (мс) | +### CH_SPRINKLER (23) — Система полива + +| Параметр | Значение | +|----------|----------| +| **Назначение** | Многозональная система автоматического полива | +| **Конфигурация** | array `["device_name", {zones_config}]` | +| **Зоны** | Независимое управление каждой зоной | +| **Параметры зоны** | enabled (вкл/выкл), time (длит. полива), progress (прогресс), cycle (режим) | +| **Команды** | ON, OFF, START_ZONE, STOP_ZONE, SCHEDULE | +| **События** | Изменение состояния, завершение полива, ошибки | +| **Интеграция** | MQTT топики для каждой зоны | +| **Таймер** | Встроенные таймеры для автоматизации | + --- -## Суффиксы (Suffixes) + Из [item.h](../lighthub/item.h): @@ -346,6 +361,7 @@ | 13 (PID) | ✓ | ✓ | ✓ | - | - | - | - | - | - | | 14 (MBUS) | ✓ | ✓ | ✓ | - | - | - | - | - | - | | 16 (RELAYX) | ✓ | ✓ | ✓ | - | - | - | - | - | - | +| 23 (SPRINKLER) | ✓ | ✓ | ✓ | - | - | - | - | - | - | | 17 (RGBWW) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | ✓ | | 18 (MULTIVENT) | ✓ | ✓ | ✓ | - | - | - | ✓ | ✓ | - | | 20 (COUNTER) | - | ✓ | - | - | - | - | - | - | - | diff --git a/docs/Doxyfile b/doxygen-docs/Doxyfile similarity index 100% rename from docs/Doxyfile rename to doxygen-docs/Doxyfile diff --git a/docs/html/abstractch_8cpp.html b/doxygen-docs/html/abstractch_8cpp.html similarity index 100% rename from docs/html/abstractch_8cpp.html rename to doxygen-docs/html/abstractch_8cpp.html diff --git a/docs/html/abstractch_8cpp.js b/doxygen-docs/html/abstractch_8cpp.js similarity index 100% rename from docs/html/abstractch_8cpp.js rename to doxygen-docs/html/abstractch_8cpp.js diff --git a/docs/html/abstractch_8cpp__incl.map b/doxygen-docs/html/abstractch_8cpp__incl.map similarity index 100% rename from docs/html/abstractch_8cpp__incl.map rename to doxygen-docs/html/abstractch_8cpp__incl.map diff --git a/docs/html/abstractch_8cpp__incl.md5 b/doxygen-docs/html/abstractch_8cpp__incl.md5 similarity index 100% rename from docs/html/abstractch_8cpp__incl.md5 rename to doxygen-docs/html/abstractch_8cpp__incl.md5 diff --git a/docs/html/abstractch_8cpp__incl.png b/doxygen-docs/html/abstractch_8cpp__incl.png similarity index 100% rename from docs/html/abstractch_8cpp__incl.png rename to doxygen-docs/html/abstractch_8cpp__incl.png diff --git a/docs/html/abstractch_8h.html b/doxygen-docs/html/abstractch_8h.html similarity index 100% rename from docs/html/abstractch_8h.html rename to doxygen-docs/html/abstractch_8h.html diff --git a/docs/html/abstractch_8h.js b/doxygen-docs/html/abstractch_8h.js similarity index 100% rename from docs/html/abstractch_8h.js rename to doxygen-docs/html/abstractch_8h.js diff --git a/docs/html/abstractch_8h__dep__incl.map b/doxygen-docs/html/abstractch_8h__dep__incl.map similarity index 100% rename from docs/html/abstractch_8h__dep__incl.map rename to doxygen-docs/html/abstractch_8h__dep__incl.map diff --git a/docs/html/abstractch_8h__dep__incl.md5 b/doxygen-docs/html/abstractch_8h__dep__incl.md5 similarity index 100% rename from docs/html/abstractch_8h__dep__incl.md5 rename to doxygen-docs/html/abstractch_8h__dep__incl.md5 diff --git a/docs/html/abstractch_8h__dep__incl.png b/doxygen-docs/html/abstractch_8h__dep__incl.png similarity index 100% rename from docs/html/abstractch_8h__dep__incl.png rename to doxygen-docs/html/abstractch_8h__dep__incl.png diff --git a/docs/html/abstractch_8h__incl.map b/doxygen-docs/html/abstractch_8h__incl.map similarity index 100% rename from docs/html/abstractch_8h__incl.map rename to doxygen-docs/html/abstractch_8h__incl.map diff --git a/docs/html/abstractch_8h__incl.md5 b/doxygen-docs/html/abstractch_8h__incl.md5 similarity index 100% rename from docs/html/abstractch_8h__incl.md5 rename to doxygen-docs/html/abstractch_8h__incl.md5 diff --git a/docs/html/abstractch_8h__incl.png b/doxygen-docs/html/abstractch_8h__incl.png similarity index 100% rename from docs/html/abstractch_8h__incl.png rename to doxygen-docs/html/abstractch_8h__incl.png diff --git a/docs/html/abstractch_8h_source.html b/doxygen-docs/html/abstractch_8h_source.html similarity index 100% rename from docs/html/abstractch_8h_source.html rename to doxygen-docs/html/abstractch_8h_source.html diff --git a/docs/html/abstractin_8cpp.html b/doxygen-docs/html/abstractin_8cpp.html similarity index 100% rename from docs/html/abstractin_8cpp.html rename to doxygen-docs/html/abstractin_8cpp.html diff --git a/docs/html/abstractin_8cpp.js b/doxygen-docs/html/abstractin_8cpp.js similarity index 100% rename from docs/html/abstractin_8cpp.js rename to doxygen-docs/html/abstractin_8cpp.js diff --git a/docs/html/abstractin_8cpp__incl.map b/doxygen-docs/html/abstractin_8cpp__incl.map similarity index 100% rename from docs/html/abstractin_8cpp__incl.map rename to doxygen-docs/html/abstractin_8cpp__incl.map diff --git a/docs/html/abstractin_8cpp__incl.md5 b/doxygen-docs/html/abstractin_8cpp__incl.md5 similarity index 100% rename from docs/html/abstractin_8cpp__incl.md5 rename to doxygen-docs/html/abstractin_8cpp__incl.md5 diff --git a/docs/html/abstractin_8cpp__incl.png b/doxygen-docs/html/abstractin_8cpp__incl.png similarity index 100% rename from docs/html/abstractin_8cpp__incl.png rename to doxygen-docs/html/abstractin_8cpp__incl.png diff --git a/docs/html/abstractin_8h.html b/doxygen-docs/html/abstractin_8h.html similarity index 100% rename from docs/html/abstractin_8h.html rename to doxygen-docs/html/abstractin_8h.html diff --git a/docs/html/abstractin_8h__dep__incl.map b/doxygen-docs/html/abstractin_8h__dep__incl.map similarity index 100% rename from docs/html/abstractin_8h__dep__incl.map rename to doxygen-docs/html/abstractin_8h__dep__incl.map diff --git a/docs/html/abstractin_8h__dep__incl.md5 b/doxygen-docs/html/abstractin_8h__dep__incl.md5 similarity index 100% rename from docs/html/abstractin_8h__dep__incl.md5 rename to doxygen-docs/html/abstractin_8h__dep__incl.md5 diff --git a/docs/html/abstractin_8h__dep__incl.png b/doxygen-docs/html/abstractin_8h__dep__incl.png similarity index 100% rename from docs/html/abstractin_8h__dep__incl.png rename to doxygen-docs/html/abstractin_8h__dep__incl.png diff --git a/docs/html/abstractin_8h__incl.map b/doxygen-docs/html/abstractin_8h__incl.map similarity index 100% rename from docs/html/abstractin_8h__incl.map rename to doxygen-docs/html/abstractin_8h__incl.map diff --git a/docs/html/abstractin_8h__incl.md5 b/doxygen-docs/html/abstractin_8h__incl.md5 similarity index 100% rename from docs/html/abstractin_8h__incl.md5 rename to doxygen-docs/html/abstractin_8h__incl.md5 diff --git a/docs/html/abstractin_8h__incl.png b/doxygen-docs/html/abstractin_8h__incl.png similarity index 100% rename from docs/html/abstractin_8h__incl.png rename to doxygen-docs/html/abstractin_8h__incl.png diff --git a/docs/html/abstractin_8h_source.html b/doxygen-docs/html/abstractin_8h_source.html similarity index 100% rename from docs/html/abstractin_8h_source.html rename to doxygen-docs/html/abstractin_8h_source.html diff --git a/docs/html/abstractout_8cpp.html b/doxygen-docs/html/abstractout_8cpp.html similarity index 100% rename from docs/html/abstractout_8cpp.html rename to doxygen-docs/html/abstractout_8cpp.html diff --git a/docs/html/abstractout_8h.html b/doxygen-docs/html/abstractout_8h.html similarity index 100% rename from docs/html/abstractout_8h.html rename to doxygen-docs/html/abstractout_8h.html diff --git a/docs/html/abstractout_8h__dep__incl.map b/doxygen-docs/html/abstractout_8h__dep__incl.map similarity index 100% rename from docs/html/abstractout_8h__dep__incl.map rename to doxygen-docs/html/abstractout_8h__dep__incl.map diff --git a/docs/html/abstractout_8h__dep__incl.md5 b/doxygen-docs/html/abstractout_8h__dep__incl.md5 similarity index 100% rename from docs/html/abstractout_8h__dep__incl.md5 rename to doxygen-docs/html/abstractout_8h__dep__incl.md5 diff --git a/docs/html/abstractout_8h__dep__incl.png b/doxygen-docs/html/abstractout_8h__dep__incl.png similarity index 100% rename from docs/html/abstractout_8h__dep__incl.png rename to doxygen-docs/html/abstractout_8h__dep__incl.png diff --git a/docs/html/abstractout_8h__incl.map b/doxygen-docs/html/abstractout_8h__incl.map similarity index 100% rename from docs/html/abstractout_8h__incl.map rename to doxygen-docs/html/abstractout_8h__incl.map diff --git a/docs/html/abstractout_8h__incl.md5 b/doxygen-docs/html/abstractout_8h__incl.md5 similarity index 100% rename from docs/html/abstractout_8h__incl.md5 rename to doxygen-docs/html/abstractout_8h__incl.md5 diff --git a/docs/html/abstractout_8h__incl.png b/doxygen-docs/html/abstractout_8h__incl.png similarity index 100% rename from docs/html/abstractout_8h__incl.png rename to doxygen-docs/html/abstractout_8h__incl.png diff --git a/docs/html/abstractout_8h_source.html b/doxygen-docs/html/abstractout_8h_source.html similarity index 100% rename from docs/html/abstractout_8h_source.html rename to doxygen-docs/html/abstractout_8h_source.html diff --git a/docs/html/annotated.html b/doxygen-docs/html/annotated.html similarity index 100% rename from docs/html/annotated.html rename to doxygen-docs/html/annotated.html diff --git a/docs/html/annotated_dup.js b/doxygen-docs/html/annotated_dup.js similarity index 100% rename from docs/html/annotated_dup.js rename to doxygen-docs/html/annotated_dup.js diff --git a/docs/html/bc_s.png b/doxygen-docs/html/bc_s.png similarity index 100% rename from docs/html/bc_s.png rename to doxygen-docs/html/bc_s.png diff --git a/docs/html/bdwn.png b/doxygen-docs/html/bdwn.png similarity index 100% rename from docs/html/bdwn.png rename to doxygen-docs/html/bdwn.png diff --git a/docs/html/bright_8cpp.html b/doxygen-docs/html/bright_8cpp.html similarity index 100% rename from docs/html/bright_8cpp.html rename to doxygen-docs/html/bright_8cpp.html diff --git a/docs/html/bright_8cpp.js b/doxygen-docs/html/bright_8cpp.js similarity index 100% rename from docs/html/bright_8cpp.js rename to doxygen-docs/html/bright_8cpp.js diff --git a/docs/html/bright_8cpp__incl.map b/doxygen-docs/html/bright_8cpp__incl.map similarity index 100% rename from docs/html/bright_8cpp__incl.map rename to doxygen-docs/html/bright_8cpp__incl.map diff --git a/docs/html/bright_8cpp__incl.md5 b/doxygen-docs/html/bright_8cpp__incl.md5 similarity index 100% rename from docs/html/bright_8cpp__incl.md5 rename to doxygen-docs/html/bright_8cpp__incl.md5 diff --git a/docs/html/bright_8cpp__incl.png b/doxygen-docs/html/bright_8cpp__incl.png similarity index 100% rename from docs/html/bright_8cpp__incl.png rename to doxygen-docs/html/bright_8cpp__incl.png diff --git a/docs/html/bright_8h.html b/doxygen-docs/html/bright_8h.html similarity index 100% rename from docs/html/bright_8h.html rename to doxygen-docs/html/bright_8h.html diff --git a/docs/html/bright_8h.js b/doxygen-docs/html/bright_8h.js similarity index 100% rename from docs/html/bright_8h.js rename to doxygen-docs/html/bright_8h.js diff --git a/docs/html/bright_8h__dep__incl.map b/doxygen-docs/html/bright_8h__dep__incl.map similarity index 100% rename from docs/html/bright_8h__dep__incl.map rename to doxygen-docs/html/bright_8h__dep__incl.map diff --git a/docs/html/bright_8h__dep__incl.md5 b/doxygen-docs/html/bright_8h__dep__incl.md5 similarity index 100% rename from docs/html/bright_8h__dep__incl.md5 rename to doxygen-docs/html/bright_8h__dep__incl.md5 diff --git a/docs/html/bright_8h__dep__incl.png b/doxygen-docs/html/bright_8h__dep__incl.png similarity index 100% rename from docs/html/bright_8h__dep__incl.png rename to doxygen-docs/html/bright_8h__dep__incl.png diff --git a/docs/html/bright_8h__incl.map b/doxygen-docs/html/bright_8h__incl.map similarity index 100% rename from docs/html/bright_8h__incl.map rename to doxygen-docs/html/bright_8h__incl.map diff --git a/docs/html/bright_8h__incl.md5 b/doxygen-docs/html/bright_8h__incl.md5 similarity index 100% rename from docs/html/bright_8h__incl.md5 rename to doxygen-docs/html/bright_8h__incl.md5 diff --git a/docs/html/bright_8h__incl.png b/doxygen-docs/html/bright_8h__incl.png similarity index 100% rename from docs/html/bright_8h__incl.png rename to doxygen-docs/html/bright_8h__incl.png diff --git a/docs/html/bright_8h_source.html b/doxygen-docs/html/bright_8h_source.html similarity index 100% rename from docs/html/bright_8h_source.html rename to doxygen-docs/html/bright_8h_source.html diff --git a/docs/html/class_input-members.html b/doxygen-docs/html/class_input-members.html similarity index 100% rename from docs/html/class_input-members.html rename to doxygen-docs/html/class_input-members.html diff --git a/docs/html/class_input.html b/doxygen-docs/html/class_input.html similarity index 100% rename from docs/html/class_input.html rename to doxygen-docs/html/class_input.html diff --git a/docs/html/class_input.js b/doxygen-docs/html/class_input.js similarity index 100% rename from docs/html/class_input.js rename to doxygen-docs/html/class_input.js diff --git a/docs/html/class_input__coll__graph.map b/doxygen-docs/html/class_input__coll__graph.map similarity index 100% rename from docs/html/class_input__coll__graph.map rename to doxygen-docs/html/class_input__coll__graph.map diff --git a/docs/html/class_input__coll__graph.md5 b/doxygen-docs/html/class_input__coll__graph.md5 similarity index 100% rename from docs/html/class_input__coll__graph.md5 rename to doxygen-docs/html/class_input__coll__graph.md5 diff --git a/docs/html/class_input__coll__graph.png b/doxygen-docs/html/class_input__coll__graph.png similarity index 100% rename from docs/html/class_input__coll__graph.png rename to doxygen-docs/html/class_input__coll__graph.png diff --git a/docs/html/class_item-members.html b/doxygen-docs/html/class_item-members.html similarity index 100% rename from docs/html/class_item-members.html rename to doxygen-docs/html/class_item-members.html diff --git a/docs/html/class_item.html b/doxygen-docs/html/class_item.html similarity index 100% rename from docs/html/class_item.html rename to doxygen-docs/html/class_item.html diff --git a/docs/html/class_item.js b/doxygen-docs/html/class_item.js similarity index 100% rename from docs/html/class_item.js rename to doxygen-docs/html/class_item.js diff --git a/docs/html/class_item__coll__graph.map b/doxygen-docs/html/class_item__coll__graph.map similarity index 100% rename from docs/html/class_item__coll__graph.map rename to doxygen-docs/html/class_item__coll__graph.map diff --git a/docs/html/class_item__coll__graph.md5 b/doxygen-docs/html/class_item__coll__graph.md5 similarity index 100% rename from docs/html/class_item__coll__graph.md5 rename to doxygen-docs/html/class_item__coll__graph.md5 diff --git a/docs/html/class_item__coll__graph.png b/doxygen-docs/html/class_item__coll__graph.png similarity index 100% rename from docs/html/class_item__coll__graph.png rename to doxygen-docs/html/class_item__coll__graph.png diff --git a/docs/html/class_status_l_e_d-members.html b/doxygen-docs/html/class_status_l_e_d-members.html similarity index 100% rename from docs/html/class_status_l_e_d-members.html rename to doxygen-docs/html/class_status_l_e_d-members.html diff --git a/docs/html/class_status_l_e_d.html b/doxygen-docs/html/class_status_l_e_d.html similarity index 100% rename from docs/html/class_status_l_e_d.html rename to doxygen-docs/html/class_status_l_e_d.html diff --git a/docs/html/class_status_l_e_d.js b/doxygen-docs/html/class_status_l_e_d.js similarity index 100% rename from docs/html/class_status_l_e_d.js rename to doxygen-docs/html/class_status_l_e_d.js diff --git a/docs/html/class_streamlog-members.html b/doxygen-docs/html/class_streamlog-members.html similarity index 100% rename from docs/html/class_streamlog-members.html rename to doxygen-docs/html/class_streamlog-members.html diff --git a/docs/html/class_streamlog.html b/doxygen-docs/html/class_streamlog.html similarity index 100% rename from docs/html/class_streamlog.html rename to doxygen-docs/html/class_streamlog.html diff --git a/docs/html/class_streamlog.js b/doxygen-docs/html/class_streamlog.js similarity index 100% rename from docs/html/class_streamlog.js rename to doxygen-docs/html/class_streamlog.js diff --git a/docs/html/class_streamlog.png b/doxygen-docs/html/class_streamlog.png similarity index 100% rename from docs/html/class_streamlog.png rename to doxygen-docs/html/class_streamlog.png diff --git a/docs/html/class_streamlog__coll__graph.map b/doxygen-docs/html/class_streamlog__coll__graph.map similarity index 100% rename from docs/html/class_streamlog__coll__graph.map rename to doxygen-docs/html/class_streamlog__coll__graph.map diff --git a/docs/html/class_streamlog__coll__graph.md5 b/doxygen-docs/html/class_streamlog__coll__graph.md5 similarity index 100% rename from docs/html/class_streamlog__coll__graph.md5 rename to doxygen-docs/html/class_streamlog__coll__graph.md5 diff --git a/docs/html/class_streamlog__coll__graph.png b/doxygen-docs/html/class_streamlog__coll__graph.png similarity index 100% rename from docs/html/class_streamlog__coll__graph.png rename to doxygen-docs/html/class_streamlog__coll__graph.png diff --git a/docs/html/class_streamlog__inherit__graph.map b/doxygen-docs/html/class_streamlog__inherit__graph.map similarity index 100% rename from docs/html/class_streamlog__inherit__graph.map rename to doxygen-docs/html/class_streamlog__inherit__graph.map diff --git a/docs/html/class_streamlog__inherit__graph.md5 b/doxygen-docs/html/class_streamlog__inherit__graph.md5 similarity index 100% rename from docs/html/class_streamlog__inherit__graph.md5 rename to doxygen-docs/html/class_streamlog__inherit__graph.md5 diff --git a/docs/html/class_streamlog__inherit__graph.png b/doxygen-docs/html/class_streamlog__inherit__graph.png similarity index 100% rename from docs/html/class_streamlog__inherit__graph.png rename to doxygen-docs/html/class_streamlog__inherit__graph.png diff --git a/docs/html/classabstract_ch-members.html b/doxygen-docs/html/classabstract_ch-members.html similarity index 100% rename from docs/html/classabstract_ch-members.html rename to doxygen-docs/html/classabstract_ch-members.html diff --git a/docs/html/classabstract_ch.html b/doxygen-docs/html/classabstract_ch.html similarity index 100% rename from docs/html/classabstract_ch.html rename to doxygen-docs/html/classabstract_ch.html diff --git a/docs/html/classabstract_ch.js b/doxygen-docs/html/classabstract_ch.js similarity index 100% rename from docs/html/classabstract_ch.js rename to doxygen-docs/html/classabstract_ch.js diff --git a/docs/html/classabstract_ch.png b/doxygen-docs/html/classabstract_ch.png similarity index 100% rename from docs/html/classabstract_ch.png rename to doxygen-docs/html/classabstract_ch.png diff --git a/docs/html/classabstract_ch__inherit__graph.map b/doxygen-docs/html/classabstract_ch__inherit__graph.map similarity index 100% rename from docs/html/classabstract_ch__inherit__graph.map rename to doxygen-docs/html/classabstract_ch__inherit__graph.map diff --git a/docs/html/classabstract_ch__inherit__graph.md5 b/doxygen-docs/html/classabstract_ch__inherit__graph.md5 similarity index 100% rename from docs/html/classabstract_ch__inherit__graph.md5 rename to doxygen-docs/html/classabstract_ch__inherit__graph.md5 diff --git a/docs/html/classabstract_ch__inherit__graph.png b/doxygen-docs/html/classabstract_ch__inherit__graph.png similarity index 100% rename from docs/html/classabstract_ch__inherit__graph.png rename to doxygen-docs/html/classabstract_ch__inherit__graph.png diff --git a/docs/html/classabstract_in-members.html b/doxygen-docs/html/classabstract_in-members.html similarity index 100% rename from docs/html/classabstract_in-members.html rename to doxygen-docs/html/classabstract_in-members.html diff --git a/docs/html/classabstract_in.html b/doxygen-docs/html/classabstract_in.html similarity index 100% rename from docs/html/classabstract_in.html rename to doxygen-docs/html/classabstract_in.html diff --git a/docs/html/classabstract_in.js b/doxygen-docs/html/classabstract_in.js similarity index 100% rename from docs/html/classabstract_in.js rename to doxygen-docs/html/classabstract_in.js diff --git a/docs/html/classabstract_in.png b/doxygen-docs/html/classabstract_in.png similarity index 100% rename from docs/html/classabstract_in.png rename to doxygen-docs/html/classabstract_in.png diff --git a/docs/html/classabstract_in__coll__graph.map b/doxygen-docs/html/classabstract_in__coll__graph.map similarity index 100% rename from docs/html/classabstract_in__coll__graph.map rename to doxygen-docs/html/classabstract_in__coll__graph.map diff --git a/docs/html/classabstract_in__coll__graph.md5 b/doxygen-docs/html/classabstract_in__coll__graph.md5 similarity index 100% rename from docs/html/classabstract_in__coll__graph.md5 rename to doxygen-docs/html/classabstract_in__coll__graph.md5 diff --git a/docs/html/classabstract_in__coll__graph.png b/doxygen-docs/html/classabstract_in__coll__graph.png similarity index 100% rename from docs/html/classabstract_in__coll__graph.png rename to doxygen-docs/html/classabstract_in__coll__graph.png diff --git a/docs/html/classabstract_in__inherit__graph.map b/doxygen-docs/html/classabstract_in__inherit__graph.map similarity index 100% rename from docs/html/classabstract_in__inherit__graph.map rename to doxygen-docs/html/classabstract_in__inherit__graph.map diff --git a/docs/html/classabstract_in__inherit__graph.md5 b/doxygen-docs/html/classabstract_in__inherit__graph.md5 similarity index 100% rename from docs/html/classabstract_in__inherit__graph.md5 rename to doxygen-docs/html/classabstract_in__inherit__graph.md5 diff --git a/docs/html/classabstract_in__inherit__graph.png b/doxygen-docs/html/classabstract_in__inherit__graph.png similarity index 100% rename from docs/html/classabstract_in__inherit__graph.png rename to doxygen-docs/html/classabstract_in__inherit__graph.png diff --git a/docs/html/classabstract_out-members.html b/doxygen-docs/html/classabstract_out-members.html similarity index 100% rename from docs/html/classabstract_out-members.html rename to doxygen-docs/html/classabstract_out-members.html diff --git a/docs/html/classabstract_out.html b/doxygen-docs/html/classabstract_out.html similarity index 100% rename from docs/html/classabstract_out.html rename to doxygen-docs/html/classabstract_out.html diff --git a/docs/html/classabstract_out.js b/doxygen-docs/html/classabstract_out.js similarity index 100% rename from docs/html/classabstract_out.js rename to doxygen-docs/html/classabstract_out.js diff --git a/docs/html/classabstract_out.png b/doxygen-docs/html/classabstract_out.png similarity index 100% rename from docs/html/classabstract_out.png rename to doxygen-docs/html/classabstract_out.png diff --git a/docs/html/classabstract_out__coll__graph.map b/doxygen-docs/html/classabstract_out__coll__graph.map similarity index 100% rename from docs/html/classabstract_out__coll__graph.map rename to doxygen-docs/html/classabstract_out__coll__graph.map diff --git a/docs/html/classabstract_out__coll__graph.md5 b/doxygen-docs/html/classabstract_out__coll__graph.md5 similarity index 100% rename from docs/html/classabstract_out__coll__graph.md5 rename to doxygen-docs/html/classabstract_out__coll__graph.md5 diff --git a/docs/html/classabstract_out__coll__graph.png b/doxygen-docs/html/classabstract_out__coll__graph.png similarity index 100% rename from docs/html/classabstract_out__coll__graph.png rename to doxygen-docs/html/classabstract_out__coll__graph.png diff --git a/docs/html/classabstract_out__inherit__graph.map b/doxygen-docs/html/classabstract_out__inherit__graph.map similarity index 100% rename from docs/html/classabstract_out__inherit__graph.map rename to doxygen-docs/html/classabstract_out__inherit__graph.map diff --git a/docs/html/classabstract_out__inherit__graph.md5 b/doxygen-docs/html/classabstract_out__inherit__graph.md5 similarity index 100% rename from docs/html/classabstract_out__inherit__graph.md5 rename to doxygen-docs/html/classabstract_out__inherit__graph.md5 diff --git a/docs/html/classabstract_out__inherit__graph.png b/doxygen-docs/html/classabstract_out__inherit__graph.png similarity index 100% rename from docs/html/classabstract_out__inherit__graph.png rename to doxygen-docs/html/classabstract_out__inherit__graph.png diff --git a/docs/html/classch_persistent.html b/doxygen-docs/html/classch_persistent.html similarity index 100% rename from docs/html/classch_persistent.html rename to doxygen-docs/html/classch_persistent.html diff --git a/docs/html/classch_persistent.png b/doxygen-docs/html/classch_persistent.png similarity index 100% rename from docs/html/classch_persistent.png rename to doxygen-docs/html/classch_persistent.png diff --git a/docs/html/classch_persistent__inherit__graph.map b/doxygen-docs/html/classch_persistent__inherit__graph.map similarity index 100% rename from docs/html/classch_persistent__inherit__graph.map rename to doxygen-docs/html/classch_persistent__inherit__graph.map diff --git a/docs/html/classch_persistent__inherit__graph.md5 b/doxygen-docs/html/classch_persistent__inherit__graph.md5 similarity index 100% rename from docs/html/classch_persistent__inherit__graph.md5 rename to doxygen-docs/html/classch_persistent__inherit__graph.md5 diff --git a/docs/html/classch_persistent__inherit__graph.png b/doxygen-docs/html/classch_persistent__inherit__graph.png similarity index 100% rename from docs/html/classch_persistent__inherit__graph.png rename to doxygen-docs/html/classch_persistent__inherit__graph.png diff --git a/docs/html/classcolor_channel-members.html b/doxygen-docs/html/classcolor_channel-members.html similarity index 100% rename from docs/html/classcolor_channel-members.html rename to doxygen-docs/html/classcolor_channel-members.html diff --git a/docs/html/classcolor_channel.html b/doxygen-docs/html/classcolor_channel.html similarity index 100% rename from docs/html/classcolor_channel.html rename to doxygen-docs/html/classcolor_channel.html diff --git a/docs/html/classcolor_channel.js b/doxygen-docs/html/classcolor_channel.js similarity index 100% rename from docs/html/classcolor_channel.js rename to doxygen-docs/html/classcolor_channel.js diff --git a/docs/html/classcolor_channel.png b/doxygen-docs/html/classcolor_channel.png similarity index 100% rename from docs/html/classcolor_channel.png rename to doxygen-docs/html/classcolor_channel.png diff --git a/docs/html/classcolor_channel__coll__graph.map b/doxygen-docs/html/classcolor_channel__coll__graph.map similarity index 100% rename from docs/html/classcolor_channel__coll__graph.map rename to doxygen-docs/html/classcolor_channel__coll__graph.map diff --git a/docs/html/classcolor_channel__coll__graph.md5 b/doxygen-docs/html/classcolor_channel__coll__graph.md5 similarity index 100% rename from docs/html/classcolor_channel__coll__graph.md5 rename to doxygen-docs/html/classcolor_channel__coll__graph.md5 diff --git a/docs/html/classcolor_channel__coll__graph.png b/doxygen-docs/html/classcolor_channel__coll__graph.png similarity index 100% rename from docs/html/classcolor_channel__coll__graph.png rename to doxygen-docs/html/classcolor_channel__coll__graph.png diff --git a/docs/html/classcolor_channel__inherit__graph.map b/doxygen-docs/html/classcolor_channel__inherit__graph.map similarity index 100% rename from docs/html/classcolor_channel__inherit__graph.map rename to doxygen-docs/html/classcolor_channel__inherit__graph.map diff --git a/docs/html/classcolor_channel__inherit__graph.md5 b/doxygen-docs/html/classcolor_channel__inherit__graph.md5 similarity index 100% rename from docs/html/classcolor_channel__inherit__graph.md5 rename to doxygen-docs/html/classcolor_channel__inherit__graph.md5 diff --git a/docs/html/classcolor_channel__inherit__graph.png b/doxygen-docs/html/classcolor_channel__inherit__graph.png similarity index 100% rename from docs/html/classcolor_channel__inherit__graph.png rename to doxygen-docs/html/classcolor_channel__inherit__graph.png diff --git a/docs/html/classes.html b/doxygen-docs/html/classes.html similarity index 100% rename from docs/html/classes.html rename to doxygen-docs/html/classes.html diff --git a/docs/html/classflash_stream-members.html b/doxygen-docs/html/classflash_stream-members.html similarity index 100% rename from docs/html/classflash_stream-members.html rename to doxygen-docs/html/classflash_stream-members.html diff --git a/docs/html/classflash_stream.html b/doxygen-docs/html/classflash_stream.html similarity index 100% rename from docs/html/classflash_stream.html rename to doxygen-docs/html/classflash_stream.html diff --git a/docs/html/classflash_stream.js b/doxygen-docs/html/classflash_stream.js similarity index 100% rename from docs/html/classflash_stream.js rename to doxygen-docs/html/classflash_stream.js diff --git a/docs/html/classflash_stream.png b/doxygen-docs/html/classflash_stream.png similarity index 100% rename from docs/html/classflash_stream.png rename to doxygen-docs/html/classflash_stream.png diff --git a/docs/html/classin__ccs811-members.html b/doxygen-docs/html/classin__ccs811-members.html similarity index 100% rename from docs/html/classin__ccs811-members.html rename to doxygen-docs/html/classin__ccs811-members.html diff --git a/docs/html/classin__ccs811.html b/doxygen-docs/html/classin__ccs811.html similarity index 100% rename from docs/html/classin__ccs811.html rename to doxygen-docs/html/classin__ccs811.html diff --git a/docs/html/classin__ccs811.js b/doxygen-docs/html/classin__ccs811.js similarity index 100% rename from docs/html/classin__ccs811.js rename to doxygen-docs/html/classin__ccs811.js diff --git a/docs/html/classin__ccs811.png b/doxygen-docs/html/classin__ccs811.png similarity index 100% rename from docs/html/classin__ccs811.png rename to doxygen-docs/html/classin__ccs811.png diff --git a/docs/html/classin__ccs811__coll__graph.map b/doxygen-docs/html/classin__ccs811__coll__graph.map similarity index 100% rename from docs/html/classin__ccs811__coll__graph.map rename to doxygen-docs/html/classin__ccs811__coll__graph.map diff --git a/docs/html/classin__ccs811__coll__graph.md5 b/doxygen-docs/html/classin__ccs811__coll__graph.md5 similarity index 100% rename from docs/html/classin__ccs811__coll__graph.md5 rename to doxygen-docs/html/classin__ccs811__coll__graph.md5 diff --git a/docs/html/classin__ccs811__coll__graph.png b/doxygen-docs/html/classin__ccs811__coll__graph.png similarity index 100% rename from docs/html/classin__ccs811__coll__graph.png rename to doxygen-docs/html/classin__ccs811__coll__graph.png diff --git a/docs/html/classin__ccs811__inherit__graph.map b/doxygen-docs/html/classin__ccs811__inherit__graph.map similarity index 100% rename from docs/html/classin__ccs811__inherit__graph.map rename to doxygen-docs/html/classin__ccs811__inherit__graph.map diff --git a/docs/html/classin__ccs811__inherit__graph.md5 b/doxygen-docs/html/classin__ccs811__inherit__graph.md5 similarity index 100% rename from docs/html/classin__ccs811__inherit__graph.md5 rename to doxygen-docs/html/classin__ccs811__inherit__graph.md5 diff --git a/docs/html/classin__ccs811__inherit__graph.png b/doxygen-docs/html/classin__ccs811__inherit__graph.png similarity index 100% rename from docs/html/classin__ccs811__inherit__graph.png rename to doxygen-docs/html/classin__ccs811__inherit__graph.png diff --git a/docs/html/classin__hdc1080-members.html b/doxygen-docs/html/classin__hdc1080-members.html similarity index 100% rename from docs/html/classin__hdc1080-members.html rename to doxygen-docs/html/classin__hdc1080-members.html diff --git a/docs/html/classin__hdc1080.html b/doxygen-docs/html/classin__hdc1080.html similarity index 100% rename from docs/html/classin__hdc1080.html rename to doxygen-docs/html/classin__hdc1080.html diff --git a/docs/html/classin__hdc1080.js b/doxygen-docs/html/classin__hdc1080.js similarity index 100% rename from docs/html/classin__hdc1080.js rename to doxygen-docs/html/classin__hdc1080.js diff --git a/docs/html/classin__hdc1080.png b/doxygen-docs/html/classin__hdc1080.png similarity index 100% rename from docs/html/classin__hdc1080.png rename to doxygen-docs/html/classin__hdc1080.png diff --git a/docs/html/classin__hdc1080__coll__graph.map b/doxygen-docs/html/classin__hdc1080__coll__graph.map similarity index 100% rename from docs/html/classin__hdc1080__coll__graph.map rename to doxygen-docs/html/classin__hdc1080__coll__graph.map diff --git a/docs/html/classin__hdc1080__coll__graph.md5 b/doxygen-docs/html/classin__hdc1080__coll__graph.md5 similarity index 100% rename from docs/html/classin__hdc1080__coll__graph.md5 rename to doxygen-docs/html/classin__hdc1080__coll__graph.md5 diff --git a/docs/html/classin__hdc1080__coll__graph.png b/doxygen-docs/html/classin__hdc1080__coll__graph.png similarity index 100% rename from docs/html/classin__hdc1080__coll__graph.png rename to doxygen-docs/html/classin__hdc1080__coll__graph.png diff --git a/docs/html/classin__hdc1080__inherit__graph.map b/doxygen-docs/html/classin__hdc1080__inherit__graph.map similarity index 100% rename from docs/html/classin__hdc1080__inherit__graph.map rename to doxygen-docs/html/classin__hdc1080__inherit__graph.map diff --git a/docs/html/classin__hdc1080__inherit__graph.md5 b/doxygen-docs/html/classin__hdc1080__inherit__graph.md5 similarity index 100% rename from docs/html/classin__hdc1080__inherit__graph.md5 rename to doxygen-docs/html/classin__hdc1080__inherit__graph.md5 diff --git a/docs/html/classin__hdc1080__inherit__graph.png b/doxygen-docs/html/classin__hdc1080__inherit__graph.png similarity index 100% rename from docs/html/classin__hdc1080__inherit__graph.png rename to doxygen-docs/html/classin__hdc1080__inherit__graph.png diff --git a/docs/html/classitem_cmd-members.html b/doxygen-docs/html/classitem_cmd-members.html similarity index 100% rename from docs/html/classitem_cmd-members.html rename to doxygen-docs/html/classitem_cmd-members.html diff --git a/docs/html/classitem_cmd.html b/doxygen-docs/html/classitem_cmd.html similarity index 100% rename from docs/html/classitem_cmd.html rename to doxygen-docs/html/classitem_cmd.html diff --git a/docs/html/classitem_cmd.js b/doxygen-docs/html/classitem_cmd.js similarity index 100% rename from docs/html/classitem_cmd.js rename to doxygen-docs/html/classitem_cmd.js diff --git a/docs/html/classitem_cmd__coll__graph.map b/doxygen-docs/html/classitem_cmd__coll__graph.map similarity index 100% rename from docs/html/classitem_cmd__coll__graph.map rename to doxygen-docs/html/classitem_cmd__coll__graph.map diff --git a/docs/html/classitem_cmd__coll__graph.md5 b/doxygen-docs/html/classitem_cmd__coll__graph.md5 similarity index 100% rename from docs/html/classitem_cmd__coll__graph.md5 rename to doxygen-docs/html/classitem_cmd__coll__graph.md5 diff --git a/docs/html/classitem_cmd__coll__graph.png b/doxygen-docs/html/classitem_cmd__coll__graph.png similarity index 100% rename from docs/html/classitem_cmd__coll__graph.png rename to doxygen-docs/html/classitem_cmd__coll__graph.png diff --git a/docs/html/classmb_persistent-members.html b/doxygen-docs/html/classmb_persistent-members.html similarity index 100% rename from docs/html/classmb_persistent-members.html rename to doxygen-docs/html/classmb_persistent-members.html diff --git a/docs/html/classmb_persistent.html b/doxygen-docs/html/classmb_persistent.html similarity index 100% rename from docs/html/classmb_persistent.html rename to doxygen-docs/html/classmb_persistent.html diff --git a/docs/html/classmb_persistent.js b/doxygen-docs/html/classmb_persistent.js similarity index 100% rename from docs/html/classmb_persistent.js rename to doxygen-docs/html/classmb_persistent.js diff --git a/docs/html/classmb_persistent.png b/doxygen-docs/html/classmb_persistent.png similarity index 100% rename from docs/html/classmb_persistent.png rename to doxygen-docs/html/classmb_persistent.png diff --git a/docs/html/classmb_persistent__coll__graph.map b/doxygen-docs/html/classmb_persistent__coll__graph.map similarity index 100% rename from docs/html/classmb_persistent__coll__graph.map rename to doxygen-docs/html/classmb_persistent__coll__graph.map diff --git a/docs/html/classmb_persistent__coll__graph.md5 b/doxygen-docs/html/classmb_persistent__coll__graph.md5 similarity index 100% rename from docs/html/classmb_persistent__coll__graph.md5 rename to doxygen-docs/html/classmb_persistent__coll__graph.md5 diff --git a/docs/html/classmb_persistent__coll__graph.png b/doxygen-docs/html/classmb_persistent__coll__graph.png similarity index 100% rename from docs/html/classmb_persistent__coll__graph.png rename to doxygen-docs/html/classmb_persistent__coll__graph.png diff --git a/docs/html/classmb_persistent__inherit__graph.map b/doxygen-docs/html/classmb_persistent__inherit__graph.map similarity index 100% rename from docs/html/classmb_persistent__inherit__graph.map rename to doxygen-docs/html/classmb_persistent__inherit__graph.map diff --git a/docs/html/classmb_persistent__inherit__graph.md5 b/doxygen-docs/html/classmb_persistent__inherit__graph.md5 similarity index 100% rename from docs/html/classmb_persistent__inherit__graph.md5 rename to doxygen-docs/html/classmb_persistent__inherit__graph.md5 diff --git a/docs/html/classmb_persistent__inherit__graph.png b/doxygen-docs/html/classmb_persistent__inherit__graph.png similarity index 100% rename from docs/html/classmb_persistent__inherit__graph.png rename to doxygen-docs/html/classmb_persistent__inherit__graph.png diff --git a/docs/html/classout___a_c-members.html b/doxygen-docs/html/classout___a_c-members.html similarity index 100% rename from docs/html/classout___a_c-members.html rename to doxygen-docs/html/classout___a_c-members.html diff --git a/docs/html/classout___a_c.html b/doxygen-docs/html/classout___a_c.html similarity index 100% rename from docs/html/classout___a_c.html rename to doxygen-docs/html/classout___a_c.html diff --git a/docs/html/classout___a_c.js b/doxygen-docs/html/classout___a_c.js similarity index 100% rename from docs/html/classout___a_c.js rename to doxygen-docs/html/classout___a_c.js diff --git a/docs/html/classout___a_c.png b/doxygen-docs/html/classout___a_c.png similarity index 100% rename from docs/html/classout___a_c.png rename to doxygen-docs/html/classout___a_c.png diff --git a/docs/html/classout___a_c__coll__graph.map b/doxygen-docs/html/classout___a_c__coll__graph.map similarity index 100% rename from docs/html/classout___a_c__coll__graph.map rename to doxygen-docs/html/classout___a_c__coll__graph.map diff --git a/docs/html/classout___a_c__coll__graph.md5 b/doxygen-docs/html/classout___a_c__coll__graph.md5 similarity index 100% rename from docs/html/classout___a_c__coll__graph.md5 rename to doxygen-docs/html/classout___a_c__coll__graph.md5 diff --git a/docs/html/classout___a_c__coll__graph.png b/doxygen-docs/html/classout___a_c__coll__graph.png similarity index 100% rename from docs/html/classout___a_c__coll__graph.png rename to doxygen-docs/html/classout___a_c__coll__graph.png diff --git a/docs/html/classout___a_c__inherit__graph.map b/doxygen-docs/html/classout___a_c__inherit__graph.map similarity index 100% rename from docs/html/classout___a_c__inherit__graph.map rename to doxygen-docs/html/classout___a_c__inherit__graph.map diff --git a/docs/html/classout___a_c__inherit__graph.md5 b/doxygen-docs/html/classout___a_c__inherit__graph.md5 similarity index 100% rename from docs/html/classout___a_c__inherit__graph.md5 rename to doxygen-docs/html/classout___a_c__inherit__graph.md5 diff --git a/docs/html/classout___a_c__inherit__graph.png b/doxygen-docs/html/classout___a_c__inherit__graph.png similarity index 100% rename from docs/html/classout___a_c__inherit__graph.png rename to doxygen-docs/html/classout___a_c__inherit__graph.png diff --git a/docs/html/classout___modbus-members.html b/doxygen-docs/html/classout___modbus-members.html similarity index 100% rename from docs/html/classout___modbus-members.html rename to doxygen-docs/html/classout___modbus-members.html diff --git a/docs/html/classout___modbus.html b/doxygen-docs/html/classout___modbus.html similarity index 100% rename from docs/html/classout___modbus.html rename to doxygen-docs/html/classout___modbus.html diff --git a/docs/html/classout___modbus.js b/doxygen-docs/html/classout___modbus.js similarity index 100% rename from docs/html/classout___modbus.js rename to doxygen-docs/html/classout___modbus.js diff --git a/docs/html/classout___modbus.png b/doxygen-docs/html/classout___modbus.png similarity index 100% rename from docs/html/classout___modbus.png rename to doxygen-docs/html/classout___modbus.png diff --git a/docs/html/classout___modbus__coll__graph.map b/doxygen-docs/html/classout___modbus__coll__graph.map similarity index 100% rename from docs/html/classout___modbus__coll__graph.map rename to doxygen-docs/html/classout___modbus__coll__graph.map diff --git a/docs/html/classout___modbus__coll__graph.md5 b/doxygen-docs/html/classout___modbus__coll__graph.md5 similarity index 100% rename from docs/html/classout___modbus__coll__graph.md5 rename to doxygen-docs/html/classout___modbus__coll__graph.md5 diff --git a/docs/html/classout___modbus__coll__graph.png b/doxygen-docs/html/classout___modbus__coll__graph.png similarity index 100% rename from docs/html/classout___modbus__coll__graph.png rename to doxygen-docs/html/classout___modbus__coll__graph.png diff --git a/docs/html/classout___modbus__inherit__graph.map b/doxygen-docs/html/classout___modbus__inherit__graph.map similarity index 100% rename from docs/html/classout___modbus__inherit__graph.map rename to doxygen-docs/html/classout___modbus__inherit__graph.map diff --git a/docs/html/classout___modbus__inherit__graph.md5 b/doxygen-docs/html/classout___modbus__inherit__graph.md5 similarity index 100% rename from docs/html/classout___modbus__inherit__graph.md5 rename to doxygen-docs/html/classout___modbus__inherit__graph.md5 diff --git a/docs/html/classout___modbus__inherit__graph.png b/doxygen-docs/html/classout___modbus__inherit__graph.png similarity index 100% rename from docs/html/classout___modbus__inherit__graph.png rename to doxygen-docs/html/classout___modbus__inherit__graph.png diff --git a/docs/html/classout___motor-members.html b/doxygen-docs/html/classout___motor-members.html similarity index 100% rename from docs/html/classout___motor-members.html rename to doxygen-docs/html/classout___motor-members.html diff --git a/docs/html/classout___motor.html b/doxygen-docs/html/classout___motor.html similarity index 100% rename from docs/html/classout___motor.html rename to doxygen-docs/html/classout___motor.html diff --git a/docs/html/classout___motor.js b/doxygen-docs/html/classout___motor.js similarity index 100% rename from docs/html/classout___motor.js rename to doxygen-docs/html/classout___motor.js diff --git a/docs/html/classout___motor.png b/doxygen-docs/html/classout___motor.png similarity index 100% rename from docs/html/classout___motor.png rename to doxygen-docs/html/classout___motor.png diff --git a/docs/html/classout___motor__coll__graph.map b/doxygen-docs/html/classout___motor__coll__graph.map similarity index 100% rename from docs/html/classout___motor__coll__graph.map rename to doxygen-docs/html/classout___motor__coll__graph.map diff --git a/docs/html/classout___motor__coll__graph.md5 b/doxygen-docs/html/classout___motor__coll__graph.md5 similarity index 100% rename from docs/html/classout___motor__coll__graph.md5 rename to doxygen-docs/html/classout___motor__coll__graph.md5 diff --git a/docs/html/classout___motor__coll__graph.png b/doxygen-docs/html/classout___motor__coll__graph.png similarity index 100% rename from docs/html/classout___motor__coll__graph.png rename to doxygen-docs/html/classout___motor__coll__graph.png diff --git a/docs/html/classout___motor__inherit__graph.map b/doxygen-docs/html/classout___motor__inherit__graph.map similarity index 100% rename from docs/html/classout___motor__inherit__graph.map rename to doxygen-docs/html/classout___motor__inherit__graph.map diff --git a/docs/html/classout___motor__inherit__graph.md5 b/doxygen-docs/html/classout___motor__inherit__graph.md5 similarity index 100% rename from docs/html/classout___motor__inherit__graph.md5 rename to doxygen-docs/html/classout___motor__inherit__graph.md5 diff --git a/docs/html/classout___motor__inherit__graph.png b/doxygen-docs/html/classout___motor__inherit__graph.png similarity index 100% rename from docs/html/classout___motor__inherit__graph.png rename to doxygen-docs/html/classout___motor__inherit__graph.png diff --git a/docs/html/classout___multivent-members.html b/doxygen-docs/html/classout___multivent-members.html similarity index 100% rename from docs/html/classout___multivent-members.html rename to doxygen-docs/html/classout___multivent-members.html diff --git a/docs/html/classout___multivent.html b/doxygen-docs/html/classout___multivent.html similarity index 100% rename from docs/html/classout___multivent.html rename to doxygen-docs/html/classout___multivent.html diff --git a/docs/html/classout___multivent.js b/doxygen-docs/html/classout___multivent.js similarity index 100% rename from docs/html/classout___multivent.js rename to doxygen-docs/html/classout___multivent.js diff --git a/docs/html/classout___multivent.png b/doxygen-docs/html/classout___multivent.png similarity index 100% rename from docs/html/classout___multivent.png rename to doxygen-docs/html/classout___multivent.png diff --git a/docs/html/classout___s_p_i_led-members.html b/doxygen-docs/html/classout___s_p_i_led-members.html similarity index 100% rename from docs/html/classout___s_p_i_led-members.html rename to doxygen-docs/html/classout___s_p_i_led-members.html diff --git a/docs/html/classout___s_p_i_led.html b/doxygen-docs/html/classout___s_p_i_led.html similarity index 100% rename from docs/html/classout___s_p_i_led.html rename to doxygen-docs/html/classout___s_p_i_led.html diff --git a/docs/html/classout___s_p_i_led.js b/doxygen-docs/html/classout___s_p_i_led.js similarity index 100% rename from docs/html/classout___s_p_i_led.js rename to doxygen-docs/html/classout___s_p_i_led.js diff --git a/docs/html/classout___s_p_i_led.png b/doxygen-docs/html/classout___s_p_i_led.png similarity index 100% rename from docs/html/classout___s_p_i_led.png rename to doxygen-docs/html/classout___s_p_i_led.png diff --git a/docs/html/classout___s_p_i_led__coll__graph.map b/doxygen-docs/html/classout___s_p_i_led__coll__graph.map similarity index 100% rename from docs/html/classout___s_p_i_led__coll__graph.map rename to doxygen-docs/html/classout___s_p_i_led__coll__graph.map diff --git a/docs/html/classout___s_p_i_led__coll__graph.md5 b/doxygen-docs/html/classout___s_p_i_led__coll__graph.md5 similarity index 100% rename from docs/html/classout___s_p_i_led__coll__graph.md5 rename to doxygen-docs/html/classout___s_p_i_led__coll__graph.md5 diff --git a/docs/html/classout___s_p_i_led__coll__graph.png b/doxygen-docs/html/classout___s_p_i_led__coll__graph.png similarity index 100% rename from docs/html/classout___s_p_i_led__coll__graph.png rename to doxygen-docs/html/classout___s_p_i_led__coll__graph.png diff --git a/docs/html/classout___s_p_i_led__inherit__graph.map b/doxygen-docs/html/classout___s_p_i_led__inherit__graph.map similarity index 100% rename from docs/html/classout___s_p_i_led__inherit__graph.map rename to doxygen-docs/html/classout___s_p_i_led__inherit__graph.map diff --git a/docs/html/classout___s_p_i_led__inherit__graph.md5 b/doxygen-docs/html/classout___s_p_i_led__inherit__graph.md5 similarity index 100% rename from docs/html/classout___s_p_i_led__inherit__graph.md5 rename to doxygen-docs/html/classout___s_p_i_led__inherit__graph.md5 diff --git a/docs/html/classout___s_p_i_led__inherit__graph.png b/doxygen-docs/html/classout___s_p_i_led__inherit__graph.png similarity index 100% rename from docs/html/classout___s_p_i_led__inherit__graph.png rename to doxygen-docs/html/classout___s_p_i_led__inherit__graph.png diff --git a/docs/html/classout__dmx-members.html b/doxygen-docs/html/classout__dmx-members.html similarity index 100% rename from docs/html/classout__dmx-members.html rename to doxygen-docs/html/classout__dmx-members.html diff --git a/docs/html/classout__dmx.html b/doxygen-docs/html/classout__dmx.html similarity index 100% rename from docs/html/classout__dmx.html rename to doxygen-docs/html/classout__dmx.html diff --git a/docs/html/classout__dmx.js b/doxygen-docs/html/classout__dmx.js similarity index 100% rename from docs/html/classout__dmx.js rename to doxygen-docs/html/classout__dmx.js diff --git a/docs/html/classout__dmx.png b/doxygen-docs/html/classout__dmx.png similarity index 100% rename from docs/html/classout__dmx.png rename to doxygen-docs/html/classout__dmx.png diff --git a/docs/html/classout__dmx__coll__graph.map b/doxygen-docs/html/classout__dmx__coll__graph.map similarity index 100% rename from docs/html/classout__dmx__coll__graph.map rename to doxygen-docs/html/classout__dmx__coll__graph.map diff --git a/docs/html/classout__dmx__coll__graph.md5 b/doxygen-docs/html/classout__dmx__coll__graph.md5 similarity index 100% rename from docs/html/classout__dmx__coll__graph.md5 rename to doxygen-docs/html/classout__dmx__coll__graph.md5 diff --git a/docs/html/classout__dmx__coll__graph.png b/doxygen-docs/html/classout__dmx__coll__graph.png similarity index 100% rename from docs/html/classout__dmx__coll__graph.png rename to doxygen-docs/html/classout__dmx__coll__graph.png diff --git a/docs/html/classout__dmx__inherit__graph.map b/doxygen-docs/html/classout__dmx__inherit__graph.map similarity index 100% rename from docs/html/classout__dmx__inherit__graph.map rename to doxygen-docs/html/classout__dmx__inherit__graph.map diff --git a/docs/html/classout__dmx__inherit__graph.md5 b/doxygen-docs/html/classout__dmx__inherit__graph.md5 similarity index 100% rename from docs/html/classout__dmx__inherit__graph.md5 rename to doxygen-docs/html/classout__dmx__inherit__graph.md5 diff --git a/docs/html/classout__dmx__inherit__graph.png b/doxygen-docs/html/classout__dmx__inherit__graph.png similarity index 100% rename from docs/html/classout__dmx__inherit__graph.png rename to doxygen-docs/html/classout__dmx__inherit__graph.png diff --git a/docs/html/classout__pid-members.html b/doxygen-docs/html/classout__pid-members.html similarity index 100% rename from docs/html/classout__pid-members.html rename to doxygen-docs/html/classout__pid-members.html diff --git a/docs/html/classout__pid.html b/doxygen-docs/html/classout__pid.html similarity index 100% rename from docs/html/classout__pid.html rename to doxygen-docs/html/classout__pid.html diff --git a/docs/html/classout__pid.js b/doxygen-docs/html/classout__pid.js similarity index 100% rename from docs/html/classout__pid.js rename to doxygen-docs/html/classout__pid.js diff --git a/docs/html/classout__pid.png b/doxygen-docs/html/classout__pid.png similarity index 100% rename from docs/html/classout__pid.png rename to doxygen-docs/html/classout__pid.png diff --git a/docs/html/classout__pwm-members.html b/doxygen-docs/html/classout__pwm-members.html similarity index 100% rename from docs/html/classout__pwm-members.html rename to doxygen-docs/html/classout__pwm-members.html diff --git a/docs/html/classout__pwm.html b/doxygen-docs/html/classout__pwm.html similarity index 100% rename from docs/html/classout__pwm.html rename to doxygen-docs/html/classout__pwm.html diff --git a/docs/html/classout__pwm.js b/doxygen-docs/html/classout__pwm.js similarity index 100% rename from docs/html/classout__pwm.js rename to doxygen-docs/html/classout__pwm.js diff --git a/docs/html/classout__pwm.png b/doxygen-docs/html/classout__pwm.png similarity index 100% rename from docs/html/classout__pwm.png rename to doxygen-docs/html/classout__pwm.png diff --git a/docs/html/classout__pwm__coll__graph.map b/doxygen-docs/html/classout__pwm__coll__graph.map similarity index 100% rename from docs/html/classout__pwm__coll__graph.map rename to doxygen-docs/html/classout__pwm__coll__graph.map diff --git a/docs/html/classout__pwm__coll__graph.md5 b/doxygen-docs/html/classout__pwm__coll__graph.md5 similarity index 100% rename from docs/html/classout__pwm__coll__graph.md5 rename to doxygen-docs/html/classout__pwm__coll__graph.md5 diff --git a/docs/html/classout__pwm__coll__graph.png b/doxygen-docs/html/classout__pwm__coll__graph.png similarity index 100% rename from docs/html/classout__pwm__coll__graph.png rename to doxygen-docs/html/classout__pwm__coll__graph.png diff --git a/docs/html/classout__pwm__inherit__graph.map b/doxygen-docs/html/classout__pwm__inherit__graph.map similarity index 100% rename from docs/html/classout__pwm__inherit__graph.map rename to doxygen-docs/html/classout__pwm__inherit__graph.map diff --git a/docs/html/classout__pwm__inherit__graph.md5 b/doxygen-docs/html/classout__pwm__inherit__graph.md5 similarity index 100% rename from docs/html/classout__pwm__inherit__graph.md5 rename to doxygen-docs/html/classout__pwm__inherit__graph.md5 diff --git a/docs/html/classout__pwm__inherit__graph.png b/doxygen-docs/html/classout__pwm__inherit__graph.png similarity index 100% rename from docs/html/classout__pwm__inherit__graph.png rename to doxygen-docs/html/classout__pwm__inherit__graph.png diff --git a/docs/html/classout__relay-members.html b/doxygen-docs/html/classout__relay-members.html similarity index 100% rename from docs/html/classout__relay-members.html rename to doxygen-docs/html/classout__relay-members.html diff --git a/docs/html/classout__relay.html b/doxygen-docs/html/classout__relay.html similarity index 100% rename from docs/html/classout__relay.html rename to doxygen-docs/html/classout__relay.html diff --git a/docs/html/classout__relay.js b/doxygen-docs/html/classout__relay.js similarity index 100% rename from docs/html/classout__relay.js rename to doxygen-docs/html/classout__relay.js diff --git a/docs/html/classout__relay.png b/doxygen-docs/html/classout__relay.png similarity index 100% rename from docs/html/classout__relay.png rename to doxygen-docs/html/classout__relay.png diff --git a/docs/html/classpid_persistent-members.html b/doxygen-docs/html/classpid_persistent-members.html similarity index 100% rename from docs/html/classpid_persistent-members.html rename to doxygen-docs/html/classpid_persistent-members.html diff --git a/docs/html/classpid_persistent.html b/doxygen-docs/html/classpid_persistent.html similarity index 100% rename from docs/html/classpid_persistent.html rename to doxygen-docs/html/classpid_persistent.html diff --git a/docs/html/classpid_persistent.js b/doxygen-docs/html/classpid_persistent.js similarity index 100% rename from docs/html/classpid_persistent.js rename to doxygen-docs/html/classpid_persistent.js diff --git a/docs/html/classpid_persistent.png b/doxygen-docs/html/classpid_persistent.png similarity index 100% rename from docs/html/classpid_persistent.png rename to doxygen-docs/html/classpid_persistent.png diff --git a/docs/html/classread_cache-members.html b/doxygen-docs/html/classread_cache-members.html similarity index 100% rename from docs/html/classread_cache-members.html rename to doxygen-docs/html/classread_cache-members.html diff --git a/docs/html/classread_cache.html b/doxygen-docs/html/classread_cache.html similarity index 100% rename from docs/html/classread_cache.html rename to doxygen-docs/html/classread_cache.html diff --git a/docs/html/classread_cache.js b/doxygen-docs/html/classread_cache.js similarity index 100% rename from docs/html/classread_cache.js rename to doxygen-docs/html/classread_cache.js diff --git a/docs/html/classseekable_stream-members.html b/doxygen-docs/html/classseekable_stream-members.html similarity index 100% rename from docs/html/classseekable_stream-members.html rename to doxygen-docs/html/classseekable_stream-members.html diff --git a/docs/html/classseekable_stream.html b/doxygen-docs/html/classseekable_stream.html similarity index 100% rename from docs/html/classseekable_stream.html rename to doxygen-docs/html/classseekable_stream.html diff --git a/docs/html/classseekable_stream.js b/doxygen-docs/html/classseekable_stream.js similarity index 100% rename from docs/html/classseekable_stream.js rename to doxygen-docs/html/classseekable_stream.js diff --git a/docs/html/classseekable_stream.png b/doxygen-docs/html/classseekable_stream.png similarity index 100% rename from docs/html/classseekable_stream.png rename to doxygen-docs/html/classseekable_stream.png diff --git a/docs/html/classstatus_l_e_d-members.html b/doxygen-docs/html/classstatus_l_e_d-members.html similarity index 100% rename from docs/html/classstatus_l_e_d-members.html rename to doxygen-docs/html/classstatus_l_e_d-members.html diff --git a/docs/html/classstatus_l_e_d.html b/doxygen-docs/html/classstatus_l_e_d.html similarity index 100% rename from docs/html/classstatus_l_e_d.html rename to doxygen-docs/html/classstatus_l_e_d.html diff --git a/docs/html/classsystem_config-members.html b/doxygen-docs/html/classsystem_config-members.html similarity index 100% rename from docs/html/classsystem_config-members.html rename to doxygen-docs/html/classsystem_config-members.html diff --git a/docs/html/classsystem_config.html b/doxygen-docs/html/classsystem_config.html similarity index 100% rename from docs/html/classsystem_config.html rename to doxygen-docs/html/classsystem_config.html diff --git a/docs/html/classsystem_config.js b/doxygen-docs/html/classsystem_config.js similarity index 100% rename from docs/html/classsystem_config.js rename to doxygen-docs/html/classsystem_config.js diff --git a/docs/html/closed.png b/doxygen-docs/html/closed.png similarity index 100% rename from docs/html/closed.png rename to doxygen-docs/html/closed.png diff --git a/docs/html/colorchannel_8cpp.html b/doxygen-docs/html/colorchannel_8cpp.html similarity index 100% rename from docs/html/colorchannel_8cpp.html rename to doxygen-docs/html/colorchannel_8cpp.html diff --git a/docs/html/colorchannel_8cpp__incl.map b/doxygen-docs/html/colorchannel_8cpp__incl.map similarity index 100% rename from docs/html/colorchannel_8cpp__incl.map rename to doxygen-docs/html/colorchannel_8cpp__incl.map diff --git a/docs/html/colorchannel_8cpp__incl.md5 b/doxygen-docs/html/colorchannel_8cpp__incl.md5 similarity index 100% rename from docs/html/colorchannel_8cpp__incl.md5 rename to doxygen-docs/html/colorchannel_8cpp__incl.md5 diff --git a/docs/html/colorchannel_8cpp__incl.png b/doxygen-docs/html/colorchannel_8cpp__incl.png similarity index 100% rename from docs/html/colorchannel_8cpp__incl.png rename to doxygen-docs/html/colorchannel_8cpp__incl.png diff --git a/docs/html/colorchannel_8h.html b/doxygen-docs/html/colorchannel_8h.html similarity index 100% rename from docs/html/colorchannel_8h.html rename to doxygen-docs/html/colorchannel_8h.html diff --git a/docs/html/colorchannel_8h__dep__incl.map b/doxygen-docs/html/colorchannel_8h__dep__incl.map similarity index 100% rename from docs/html/colorchannel_8h__dep__incl.map rename to doxygen-docs/html/colorchannel_8h__dep__incl.map diff --git a/docs/html/colorchannel_8h__dep__incl.md5 b/doxygen-docs/html/colorchannel_8h__dep__incl.md5 similarity index 100% rename from docs/html/colorchannel_8h__dep__incl.md5 rename to doxygen-docs/html/colorchannel_8h__dep__incl.md5 diff --git a/docs/html/colorchannel_8h__dep__incl.png b/doxygen-docs/html/colorchannel_8h__dep__incl.png similarity index 100% rename from docs/html/colorchannel_8h__dep__incl.png rename to doxygen-docs/html/colorchannel_8h__dep__incl.png diff --git a/docs/html/colorchannel_8h__incl.map b/doxygen-docs/html/colorchannel_8h__incl.map similarity index 100% rename from docs/html/colorchannel_8h__incl.map rename to doxygen-docs/html/colorchannel_8h__incl.map diff --git a/docs/html/colorchannel_8h__incl.md5 b/doxygen-docs/html/colorchannel_8h__incl.md5 similarity index 100% rename from docs/html/colorchannel_8h__incl.md5 rename to doxygen-docs/html/colorchannel_8h__incl.md5 diff --git a/docs/html/colorchannel_8h__incl.png b/doxygen-docs/html/colorchannel_8h__incl.png similarity index 100% rename from docs/html/colorchannel_8h__incl.png rename to doxygen-docs/html/colorchannel_8h__incl.png diff --git a/docs/html/colorchannel_8h_source.html b/doxygen-docs/html/colorchannel_8h_source.html similarity index 100% rename from docs/html/colorchannel_8h_source.html rename to doxygen-docs/html/colorchannel_8h_source.html diff --git a/docs/html/config_8cpp.html b/doxygen-docs/html/config_8cpp.html similarity index 100% rename from docs/html/config_8cpp.html rename to doxygen-docs/html/config_8cpp.html diff --git a/docs/html/config_8h.html b/doxygen-docs/html/config_8h.html similarity index 100% rename from docs/html/config_8h.html rename to doxygen-docs/html/config_8h.html diff --git a/docs/html/config_8h_source.html b/doxygen-docs/html/config_8h_source.html similarity index 100% rename from docs/html/config_8h_source.html rename to doxygen-docs/html/config_8h_source.html diff --git a/docs/html/dir_000000_000001.html b/doxygen-docs/html/dir_000000_000001.html similarity index 100% rename from docs/html/dir_000000_000001.html rename to doxygen-docs/html/dir_000000_000001.html diff --git a/docs/html/dir_82d7c1f210290ade9e0671f857ad27e3.html b/doxygen-docs/html/dir_82d7c1f210290ade9e0671f857ad27e3.html similarity index 100% rename from docs/html/dir_82d7c1f210290ade9e0671f857ad27e3.html rename to doxygen-docs/html/dir_82d7c1f210290ade9e0671f857ad27e3.html diff --git a/docs/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.map b/doxygen-docs/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.map similarity index 100% rename from docs/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.map rename to doxygen-docs/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.map diff --git a/docs/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 b/doxygen-docs/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 similarity index 100% rename from docs/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 rename to doxygen-docs/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 diff --git a/docs/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.png b/doxygen-docs/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.png similarity index 100% rename from docs/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.png rename to doxygen-docs/html/dir_82d7c1f210290ade9e0671f857ad27e3_dep.png diff --git a/docs/html/dir_a26efa385a8243117251e7dce4d75390.html b/doxygen-docs/html/dir_a26efa385a8243117251e7dce4d75390.html similarity index 100% rename from docs/html/dir_a26efa385a8243117251e7dce4d75390.html rename to doxygen-docs/html/dir_a26efa385a8243117251e7dce4d75390.html diff --git a/docs/html/dir_a26efa385a8243117251e7dce4d75390_dep.map b/doxygen-docs/html/dir_a26efa385a8243117251e7dce4d75390_dep.map similarity index 100% rename from docs/html/dir_a26efa385a8243117251e7dce4d75390_dep.map rename to doxygen-docs/html/dir_a26efa385a8243117251e7dce4d75390_dep.map diff --git a/docs/html/dir_a26efa385a8243117251e7dce4d75390_dep.md5 b/doxygen-docs/html/dir_a26efa385a8243117251e7dce4d75390_dep.md5 similarity index 100% rename from docs/html/dir_a26efa385a8243117251e7dce4d75390_dep.md5 rename to doxygen-docs/html/dir_a26efa385a8243117251e7dce4d75390_dep.md5 diff --git a/docs/html/dir_a26efa385a8243117251e7dce4d75390_dep.png b/doxygen-docs/html/dir_a26efa385a8243117251e7dce4d75390_dep.png similarity index 100% rename from docs/html/dir_a26efa385a8243117251e7dce4d75390_dep.png rename to doxygen-docs/html/dir_a26efa385a8243117251e7dce4d75390_dep.png diff --git a/docs/html/dir_e05d7e2b1ecd646af5bb94391405f3b5.html b/doxygen-docs/html/dir_e05d7e2b1ecd646af5bb94391405f3b5.html similarity index 100% rename from docs/html/dir_e05d7e2b1ecd646af5bb94391405f3b5.html rename to doxygen-docs/html/dir_e05d7e2b1ecd646af5bb94391405f3b5.html diff --git a/docs/html/dir_e05d7e2b1ecd646af5bb94391405f3b5.js b/doxygen-docs/html/dir_e05d7e2b1ecd646af5bb94391405f3b5.js similarity index 100% rename from docs/html/dir_e05d7e2b1ecd646af5bb94391405f3b5.js rename to doxygen-docs/html/dir_e05d7e2b1ecd646af5bb94391405f3b5.js diff --git a/docs/html/dmx_8cpp.html b/doxygen-docs/html/dmx_8cpp.html similarity index 100% rename from docs/html/dmx_8cpp.html rename to doxygen-docs/html/dmx_8cpp.html diff --git a/docs/html/dmx_8cpp.js b/doxygen-docs/html/dmx_8cpp.js similarity index 100% rename from docs/html/dmx_8cpp.js rename to doxygen-docs/html/dmx_8cpp.js diff --git a/docs/html/dmx_8cpp__incl.map b/doxygen-docs/html/dmx_8cpp__incl.map similarity index 100% rename from docs/html/dmx_8cpp__incl.map rename to doxygen-docs/html/dmx_8cpp__incl.map diff --git a/docs/html/dmx_8cpp__incl.md5 b/doxygen-docs/html/dmx_8cpp__incl.md5 similarity index 100% rename from docs/html/dmx_8cpp__incl.md5 rename to doxygen-docs/html/dmx_8cpp__incl.md5 diff --git a/docs/html/dmx_8cpp__incl.png b/doxygen-docs/html/dmx_8cpp__incl.png similarity index 100% rename from docs/html/dmx_8cpp__incl.png rename to doxygen-docs/html/dmx_8cpp__incl.png diff --git a/docs/html/dmx_8h.html b/doxygen-docs/html/dmx_8h.html similarity index 100% rename from docs/html/dmx_8h.html rename to doxygen-docs/html/dmx_8h.html diff --git a/docs/html/dmx_8h.js b/doxygen-docs/html/dmx_8h.js similarity index 100% rename from docs/html/dmx_8h.js rename to doxygen-docs/html/dmx_8h.js diff --git a/docs/html/dmx_8h__dep__incl.map b/doxygen-docs/html/dmx_8h__dep__incl.map similarity index 100% rename from docs/html/dmx_8h__dep__incl.map rename to doxygen-docs/html/dmx_8h__dep__incl.map diff --git a/docs/html/dmx_8h__dep__incl.md5 b/doxygen-docs/html/dmx_8h__dep__incl.md5 similarity index 100% rename from docs/html/dmx_8h__dep__incl.md5 rename to doxygen-docs/html/dmx_8h__dep__incl.md5 diff --git a/docs/html/dmx_8h__dep__incl.png b/doxygen-docs/html/dmx_8h__dep__incl.png similarity index 100% rename from docs/html/dmx_8h__dep__incl.png rename to doxygen-docs/html/dmx_8h__dep__incl.png diff --git a/docs/html/dmx_8h__incl.map b/doxygen-docs/html/dmx_8h__incl.map similarity index 100% rename from docs/html/dmx_8h__incl.map rename to doxygen-docs/html/dmx_8h__incl.map diff --git a/docs/html/dmx_8h__incl.md5 b/doxygen-docs/html/dmx_8h__incl.md5 similarity index 100% rename from docs/html/dmx_8h__incl.md5 rename to doxygen-docs/html/dmx_8h__incl.md5 diff --git a/docs/html/dmx_8h__incl.png b/doxygen-docs/html/dmx_8h__incl.png similarity index 100% rename from docs/html/dmx_8h__incl.png rename to doxygen-docs/html/dmx_8h__incl.png diff --git a/docs/html/dmx_8h_source.html b/doxygen-docs/html/dmx_8h_source.html similarity index 100% rename from docs/html/dmx_8h_source.html rename to doxygen-docs/html/dmx_8h_source.html diff --git a/docs/html/doc.png b/doxygen-docs/html/doc.png similarity index 100% rename from docs/html/doc.png rename to doxygen-docs/html/doc.png diff --git a/docs/html/doxygen.css b/doxygen-docs/html/doxygen.css similarity index 100% rename from docs/html/doxygen.css rename to doxygen-docs/html/doxygen.css diff --git a/docs/html/doxygen.svg b/doxygen-docs/html/doxygen.svg similarity index 100% rename from docs/html/doxygen.svg rename to doxygen-docs/html/doxygen.svg diff --git a/docs/html/dynsections.js b/doxygen-docs/html/dynsections.js similarity index 100% rename from docs/html/dynsections.js rename to doxygen-docs/html/dynsections.js diff --git a/docs/html/files.html b/doxygen-docs/html/files.html similarity index 100% rename from docs/html/files.html rename to doxygen-docs/html/files.html diff --git a/docs/html/files_dup.js b/doxygen-docs/html/files_dup.js similarity index 100% rename from docs/html/files_dup.js rename to doxygen-docs/html/files_dup.js diff --git a/docs/html/flashstream_8cpp.html b/doxygen-docs/html/flashstream_8cpp.html similarity index 100% rename from docs/html/flashstream_8cpp.html rename to doxygen-docs/html/flashstream_8cpp.html diff --git a/docs/html/flashstream_8h.html b/doxygen-docs/html/flashstream_8h.html similarity index 100% rename from docs/html/flashstream_8h.html rename to doxygen-docs/html/flashstream_8h.html diff --git a/docs/html/flashstream_8h.js b/doxygen-docs/html/flashstream_8h.js similarity index 100% rename from docs/html/flashstream_8h.js rename to doxygen-docs/html/flashstream_8h.js diff --git a/docs/html/flashstream_8h_source.html b/doxygen-docs/html/flashstream_8h_source.html similarity index 100% rename from docs/html/flashstream_8h_source.html rename to doxygen-docs/html/flashstream_8h_source.html diff --git a/docs/html/folderclosed.png b/doxygen-docs/html/folderclosed.png similarity index 100% rename from docs/html/folderclosed.png rename to doxygen-docs/html/folderclosed.png diff --git a/docs/html/folderopen.png b/doxygen-docs/html/folderopen.png similarity index 100% rename from docs/html/folderopen.png rename to doxygen-docs/html/folderopen.png diff --git a/docs/html/functions.html b/doxygen-docs/html/functions.html similarity index 100% rename from docs/html/functions.html rename to doxygen-docs/html/functions.html diff --git a/docs/html/functions_b.html b/doxygen-docs/html/functions_b.html similarity index 100% rename from docs/html/functions_b.html rename to doxygen-docs/html/functions_b.html diff --git a/docs/html/functions_c.html b/doxygen-docs/html/functions_c.html similarity index 100% rename from docs/html/functions_c.html rename to doxygen-docs/html/functions_c.html diff --git a/docs/html/functions_d.html b/doxygen-docs/html/functions_d.html similarity index 100% rename from docs/html/functions_d.html rename to doxygen-docs/html/functions_d.html diff --git a/docs/html/functions_dup.js b/doxygen-docs/html/functions_dup.js similarity index 100% rename from docs/html/functions_dup.js rename to doxygen-docs/html/functions_dup.js diff --git a/docs/html/functions_e.html b/doxygen-docs/html/functions_e.html similarity index 100% rename from docs/html/functions_e.html rename to doxygen-docs/html/functions_e.html diff --git a/docs/html/functions_f.html b/doxygen-docs/html/functions_f.html similarity index 100% rename from docs/html/functions_f.html rename to doxygen-docs/html/functions_f.html diff --git a/docs/html/functions_func.html b/doxygen-docs/html/functions_func.html similarity index 100% rename from docs/html/functions_func.html rename to doxygen-docs/html/functions_func.html diff --git a/docs/html/functions_func.js b/doxygen-docs/html/functions_func.js similarity index 100% rename from docs/html/functions_func.js rename to doxygen-docs/html/functions_func.js diff --git a/docs/html/functions_func_b.html b/doxygen-docs/html/functions_func_b.html similarity index 100% rename from docs/html/functions_func_b.html rename to doxygen-docs/html/functions_func_b.html diff --git a/docs/html/functions_func_c.html b/doxygen-docs/html/functions_func_c.html similarity index 100% rename from docs/html/functions_func_c.html rename to doxygen-docs/html/functions_func_c.html diff --git a/docs/html/functions_func_d.html b/doxygen-docs/html/functions_func_d.html similarity index 100% rename from docs/html/functions_func_d.html rename to doxygen-docs/html/functions_func_d.html diff --git a/docs/html/functions_func_e.html b/doxygen-docs/html/functions_func_e.html similarity index 100% rename from docs/html/functions_func_e.html rename to doxygen-docs/html/functions_func_e.html diff --git a/docs/html/functions_func_f.html b/doxygen-docs/html/functions_func_f.html similarity index 100% rename from docs/html/functions_func_f.html rename to doxygen-docs/html/functions_func_f.html diff --git a/docs/html/functions_func_g.html b/doxygen-docs/html/functions_func_g.html similarity index 100% rename from docs/html/functions_func_g.html rename to doxygen-docs/html/functions_func_g.html diff --git a/docs/html/functions_func_h.html b/doxygen-docs/html/functions_func_h.html similarity index 100% rename from docs/html/functions_func_h.html rename to doxygen-docs/html/functions_func_h.html diff --git a/docs/html/functions_func_i.html b/doxygen-docs/html/functions_func_i.html similarity index 100% rename from docs/html/functions_func_i.html rename to doxygen-docs/html/functions_func_i.html diff --git a/docs/html/functions_func_l.html b/doxygen-docs/html/functions_func_l.html similarity index 100% rename from docs/html/functions_func_l.html rename to doxygen-docs/html/functions_func_l.html diff --git a/docs/html/functions_func_m.html b/doxygen-docs/html/functions_func_m.html similarity index 100% rename from docs/html/functions_func_m.html rename to doxygen-docs/html/functions_func_m.html diff --git a/docs/html/functions_func_n.html b/doxygen-docs/html/functions_func_n.html similarity index 100% rename from docs/html/functions_func_n.html rename to doxygen-docs/html/functions_func_n.html diff --git a/docs/html/functions_func_o.html b/doxygen-docs/html/functions_func_o.html similarity index 100% rename from docs/html/functions_func_o.html rename to doxygen-docs/html/functions_func_o.html diff --git a/docs/html/functions_func_p.html b/doxygen-docs/html/functions_func_p.html similarity index 100% rename from docs/html/functions_func_p.html rename to doxygen-docs/html/functions_func_p.html diff --git a/docs/html/functions_func_r.html b/doxygen-docs/html/functions_func_r.html similarity index 100% rename from docs/html/functions_func_r.html rename to doxygen-docs/html/functions_func_r.html diff --git a/docs/html/functions_func_s.html b/doxygen-docs/html/functions_func_s.html similarity index 100% rename from docs/html/functions_func_s.html rename to doxygen-docs/html/functions_func_s.html diff --git a/docs/html/functions_func_t.html b/doxygen-docs/html/functions_func_t.html similarity index 100% rename from docs/html/functions_func_t.html rename to doxygen-docs/html/functions_func_t.html diff --git a/docs/html/functions_func_u.html b/doxygen-docs/html/functions_func_u.html similarity index 100% rename from docs/html/functions_func_u.html rename to doxygen-docs/html/functions_func_u.html diff --git a/docs/html/functions_func_v.html b/doxygen-docs/html/functions_func_v.html similarity index 100% rename from docs/html/functions_func_v.html rename to doxygen-docs/html/functions_func_v.html diff --git a/docs/html/functions_func_w.html b/doxygen-docs/html/functions_func_w.html similarity index 100% rename from docs/html/functions_func_w.html rename to doxygen-docs/html/functions_func_w.html diff --git a/docs/html/functions_func_~.html b/doxygen-docs/html/functions_func_~.html similarity index 100% rename from docs/html/functions_func_~.html rename to doxygen-docs/html/functions_func_~.html diff --git a/docs/html/functions_g.html b/doxygen-docs/html/functions_g.html similarity index 100% rename from docs/html/functions_g.html rename to doxygen-docs/html/functions_g.html diff --git a/docs/html/functions_h.html b/doxygen-docs/html/functions_h.html similarity index 100% rename from docs/html/functions_h.html rename to doxygen-docs/html/functions_h.html diff --git a/docs/html/functions_i.html b/doxygen-docs/html/functions_i.html similarity index 100% rename from docs/html/functions_i.html rename to doxygen-docs/html/functions_i.html diff --git a/docs/html/functions_l.html b/doxygen-docs/html/functions_l.html similarity index 100% rename from docs/html/functions_l.html rename to doxygen-docs/html/functions_l.html diff --git a/docs/html/functions_m.html b/doxygen-docs/html/functions_m.html similarity index 100% rename from docs/html/functions_m.html rename to doxygen-docs/html/functions_m.html diff --git a/docs/html/functions_n.html b/doxygen-docs/html/functions_n.html similarity index 100% rename from docs/html/functions_n.html rename to doxygen-docs/html/functions_n.html diff --git a/docs/html/functions_o.html b/doxygen-docs/html/functions_o.html similarity index 100% rename from docs/html/functions_o.html rename to doxygen-docs/html/functions_o.html diff --git a/docs/html/functions_p.html b/doxygen-docs/html/functions_p.html similarity index 100% rename from docs/html/functions_p.html rename to doxygen-docs/html/functions_p.html diff --git a/docs/html/functions_r.html b/doxygen-docs/html/functions_r.html similarity index 100% rename from docs/html/functions_r.html rename to doxygen-docs/html/functions_r.html diff --git a/docs/html/functions_s.html b/doxygen-docs/html/functions_s.html similarity index 100% rename from docs/html/functions_s.html rename to doxygen-docs/html/functions_s.html diff --git a/docs/html/functions_t.html b/doxygen-docs/html/functions_t.html similarity index 100% rename from docs/html/functions_t.html rename to doxygen-docs/html/functions_t.html diff --git a/docs/html/functions_u.html b/doxygen-docs/html/functions_u.html similarity index 100% rename from docs/html/functions_u.html rename to doxygen-docs/html/functions_u.html diff --git a/docs/html/functions_v.html b/doxygen-docs/html/functions_v.html similarity index 100% rename from docs/html/functions_v.html rename to doxygen-docs/html/functions_v.html diff --git a/docs/html/functions_vars.html b/doxygen-docs/html/functions_vars.html similarity index 100% rename from docs/html/functions_vars.html rename to doxygen-docs/html/functions_vars.html diff --git a/docs/html/functions_w.html b/doxygen-docs/html/functions_w.html similarity index 100% rename from docs/html/functions_w.html rename to doxygen-docs/html/functions_w.html diff --git a/docs/html/functions_~.html b/doxygen-docs/html/functions_~.html similarity index 100% rename from docs/html/functions_~.html rename to doxygen-docs/html/functions_~.html diff --git a/docs/html/globals.html b/doxygen-docs/html/globals.html similarity index 100% rename from docs/html/globals.html rename to doxygen-docs/html/globals.html diff --git a/docs/html/globals_a.html b/doxygen-docs/html/globals_a.html similarity index 100% rename from docs/html/globals_a.html rename to doxygen-docs/html/globals_a.html diff --git a/docs/html/globals_b.html b/doxygen-docs/html/globals_b.html similarity index 100% rename from docs/html/globals_b.html rename to doxygen-docs/html/globals_b.html diff --git a/docs/html/globals_c.html b/doxygen-docs/html/globals_c.html similarity index 100% rename from docs/html/globals_c.html rename to doxygen-docs/html/globals_c.html diff --git a/docs/html/globals_d.html b/doxygen-docs/html/globals_d.html similarity index 100% rename from docs/html/globals_d.html rename to doxygen-docs/html/globals_d.html diff --git a/docs/html/globals_defs.html b/doxygen-docs/html/globals_defs.html similarity index 100% rename from docs/html/globals_defs.html rename to doxygen-docs/html/globals_defs.html diff --git a/docs/html/globals_defs.js b/doxygen-docs/html/globals_defs.js similarity index 100% rename from docs/html/globals_defs.js rename to doxygen-docs/html/globals_defs.js diff --git a/docs/html/globals_defs_a.html b/doxygen-docs/html/globals_defs_a.html similarity index 100% rename from docs/html/globals_defs_a.html rename to doxygen-docs/html/globals_defs_a.html diff --git a/docs/html/globals_defs_b.html b/doxygen-docs/html/globals_defs_b.html similarity index 100% rename from docs/html/globals_defs_b.html rename to doxygen-docs/html/globals_defs_b.html diff --git a/docs/html/globals_defs_c.html b/doxygen-docs/html/globals_defs_c.html similarity index 100% rename from docs/html/globals_defs_c.html rename to doxygen-docs/html/globals_defs_c.html diff --git a/docs/html/globals_defs_d.html b/doxygen-docs/html/globals_defs_d.html similarity index 100% rename from docs/html/globals_defs_d.html rename to doxygen-docs/html/globals_defs_d.html diff --git a/docs/html/globals_defs_e.html b/doxygen-docs/html/globals_defs_e.html similarity index 100% rename from docs/html/globals_defs_e.html rename to doxygen-docs/html/globals_defs_e.html diff --git a/docs/html/globals_defs_f.html b/doxygen-docs/html/globals_defs_f.html similarity index 100% rename from docs/html/globals_defs_f.html rename to doxygen-docs/html/globals_defs_f.html diff --git a/docs/html/globals_defs_h.html b/doxygen-docs/html/globals_defs_h.html similarity index 100% rename from docs/html/globals_defs_h.html rename to doxygen-docs/html/globals_defs_h.html diff --git a/docs/html/globals_defs_i.html b/doxygen-docs/html/globals_defs_i.html similarity index 100% rename from docs/html/globals_defs_i.html rename to doxygen-docs/html/globals_defs_i.html diff --git a/docs/html/globals_defs_l.html b/doxygen-docs/html/globals_defs_l.html similarity index 100% rename from docs/html/globals_defs_l.html rename to doxygen-docs/html/globals_defs_l.html diff --git a/docs/html/globals_defs_m.html b/doxygen-docs/html/globals_defs_m.html similarity index 100% rename from docs/html/globals_defs_m.html rename to doxygen-docs/html/globals_defs_m.html diff --git a/docs/html/globals_defs_n.html b/doxygen-docs/html/globals_defs_n.html similarity index 100% rename from docs/html/globals_defs_n.html rename to doxygen-docs/html/globals_defs_n.html diff --git a/docs/html/globals_defs_o.html b/doxygen-docs/html/globals_defs_o.html similarity index 100% rename from docs/html/globals_defs_o.html rename to doxygen-docs/html/globals_defs_o.html diff --git a/docs/html/globals_defs_p.html b/doxygen-docs/html/globals_defs_p.html similarity index 100% rename from docs/html/globals_defs_p.html rename to doxygen-docs/html/globals_defs_p.html diff --git a/docs/html/globals_defs_q.html b/doxygen-docs/html/globals_defs_q.html similarity index 100% rename from docs/html/globals_defs_q.html rename to doxygen-docs/html/globals_defs_q.html diff --git a/docs/html/globals_defs_r.html b/doxygen-docs/html/globals_defs_r.html similarity index 100% rename from docs/html/globals_defs_r.html rename to doxygen-docs/html/globals_defs_r.html diff --git a/docs/html/globals_defs_s.html b/doxygen-docs/html/globals_defs_s.html similarity index 100% rename from docs/html/globals_defs_s.html rename to doxygen-docs/html/globals_defs_s.html diff --git a/docs/html/globals_defs_t.html b/doxygen-docs/html/globals_defs_t.html similarity index 100% rename from docs/html/globals_defs_t.html rename to doxygen-docs/html/globals_defs_t.html diff --git a/docs/html/globals_defs_u.html b/doxygen-docs/html/globals_defs_u.html similarity index 100% rename from docs/html/globals_defs_u.html rename to doxygen-docs/html/globals_defs_u.html diff --git a/docs/html/globals_defs_v.html b/doxygen-docs/html/globals_defs_v.html similarity index 100% rename from docs/html/globals_defs_v.html rename to doxygen-docs/html/globals_defs_v.html diff --git a/docs/html/globals_defs_w.html b/doxygen-docs/html/globals_defs_w.html similarity index 100% rename from docs/html/globals_defs_w.html rename to doxygen-docs/html/globals_defs_w.html diff --git a/docs/html/globals_dup.js b/doxygen-docs/html/globals_dup.js similarity index 100% rename from docs/html/globals_dup.js rename to doxygen-docs/html/globals_dup.js diff --git a/docs/html/globals_e.html b/doxygen-docs/html/globals_e.html similarity index 100% rename from docs/html/globals_e.html rename to doxygen-docs/html/globals_e.html diff --git a/docs/html/globals_enum.html b/doxygen-docs/html/globals_enum.html similarity index 100% rename from docs/html/globals_enum.html rename to doxygen-docs/html/globals_enum.html diff --git a/docs/html/globals_eval.html b/doxygen-docs/html/globals_eval.html similarity index 100% rename from docs/html/globals_eval.html rename to doxygen-docs/html/globals_eval.html diff --git a/docs/html/globals_f.html b/doxygen-docs/html/globals_f.html similarity index 100% rename from docs/html/globals_f.html rename to doxygen-docs/html/globals_f.html diff --git a/docs/html/globals_func.html b/doxygen-docs/html/globals_func.html similarity index 100% rename from docs/html/globals_func.html rename to doxygen-docs/html/globals_func.html diff --git a/docs/html/globals_g.html b/doxygen-docs/html/globals_g.html similarity index 100% rename from docs/html/globals_g.html rename to doxygen-docs/html/globals_g.html diff --git a/docs/html/globals_h.html b/doxygen-docs/html/globals_h.html similarity index 100% rename from docs/html/globals_h.html rename to doxygen-docs/html/globals_h.html diff --git a/docs/html/globals_i.html b/doxygen-docs/html/globals_i.html similarity index 100% rename from docs/html/globals_i.html rename to doxygen-docs/html/globals_i.html diff --git a/docs/html/globals_l.html b/doxygen-docs/html/globals_l.html similarity index 100% rename from docs/html/globals_l.html rename to doxygen-docs/html/globals_l.html diff --git a/docs/html/globals_m.html b/doxygen-docs/html/globals_m.html similarity index 100% rename from docs/html/globals_m.html rename to doxygen-docs/html/globals_m.html diff --git a/docs/html/globals_n.html b/doxygen-docs/html/globals_n.html similarity index 100% rename from docs/html/globals_n.html rename to doxygen-docs/html/globals_n.html diff --git a/docs/html/globals_o.html b/doxygen-docs/html/globals_o.html similarity index 100% rename from docs/html/globals_o.html rename to doxygen-docs/html/globals_o.html diff --git a/docs/html/globals_p.html b/doxygen-docs/html/globals_p.html similarity index 100% rename from docs/html/globals_p.html rename to doxygen-docs/html/globals_p.html diff --git a/docs/html/globals_q.html b/doxygen-docs/html/globals_q.html similarity index 100% rename from docs/html/globals_q.html rename to doxygen-docs/html/globals_q.html diff --git a/docs/html/globals_r.html b/doxygen-docs/html/globals_r.html similarity index 100% rename from docs/html/globals_r.html rename to doxygen-docs/html/globals_r.html diff --git a/docs/html/globals_s.html b/doxygen-docs/html/globals_s.html similarity index 100% rename from docs/html/globals_s.html rename to doxygen-docs/html/globals_s.html diff --git a/docs/html/globals_t.html b/doxygen-docs/html/globals_t.html similarity index 100% rename from docs/html/globals_t.html rename to doxygen-docs/html/globals_t.html diff --git a/docs/html/globals_type.html b/doxygen-docs/html/globals_type.html similarity index 100% rename from docs/html/globals_type.html rename to doxygen-docs/html/globals_type.html diff --git a/docs/html/globals_u.html b/doxygen-docs/html/globals_u.html similarity index 100% rename from docs/html/globals_u.html rename to doxygen-docs/html/globals_u.html diff --git a/docs/html/globals_v.html b/doxygen-docs/html/globals_v.html similarity index 100% rename from docs/html/globals_v.html rename to doxygen-docs/html/globals_v.html diff --git a/docs/html/globals_vars.html b/doxygen-docs/html/globals_vars.html similarity index 100% rename from docs/html/globals_vars.html rename to doxygen-docs/html/globals_vars.html diff --git a/docs/html/globals_w.html b/doxygen-docs/html/globals_w.html similarity index 100% rename from docs/html/globals_w.html rename to doxygen-docs/html/globals_w.html diff --git a/docs/html/globals_z.html b/doxygen-docs/html/globals_z.html similarity index 100% rename from docs/html/globals_z.html rename to doxygen-docs/html/globals_z.html diff --git a/docs/html/graph_legend.html b/doxygen-docs/html/graph_legend.html similarity index 100% rename from docs/html/graph_legend.html rename to doxygen-docs/html/graph_legend.html diff --git a/docs/html/graph_legend.md5 b/doxygen-docs/html/graph_legend.md5 similarity index 100% rename from docs/html/graph_legend.md5 rename to doxygen-docs/html/graph_legend.md5 diff --git a/docs/html/graph_legend.png b/doxygen-docs/html/graph_legend.png similarity index 100% rename from docs/html/graph_legend.png rename to doxygen-docs/html/graph_legend.png diff --git a/docs/html/hierarchy.html b/doxygen-docs/html/hierarchy.html similarity index 100% rename from docs/html/hierarchy.html rename to doxygen-docs/html/hierarchy.html diff --git a/docs/html/hierarchy.js b/doxygen-docs/html/hierarchy.js similarity index 100% rename from docs/html/hierarchy.js rename to doxygen-docs/html/hierarchy.js diff --git a/docs/html/in__ccs811__hdc1080_8cpp.html b/doxygen-docs/html/in__ccs811__hdc1080_8cpp.html similarity index 100% rename from docs/html/in__ccs811__hdc1080_8cpp.html rename to doxygen-docs/html/in__ccs811__hdc1080_8cpp.html diff --git a/docs/html/in__ccs811__hdc1080_8cpp.js b/doxygen-docs/html/in__ccs811__hdc1080_8cpp.js similarity index 100% rename from docs/html/in__ccs811__hdc1080_8cpp.js rename to doxygen-docs/html/in__ccs811__hdc1080_8cpp.js diff --git a/docs/html/in__ccs811__hdc1080_8cpp__incl.map b/doxygen-docs/html/in__ccs811__hdc1080_8cpp__incl.map similarity index 100% rename from docs/html/in__ccs811__hdc1080_8cpp__incl.map rename to doxygen-docs/html/in__ccs811__hdc1080_8cpp__incl.map diff --git a/docs/html/in__ccs811__hdc1080_8cpp__incl.md5 b/doxygen-docs/html/in__ccs811__hdc1080_8cpp__incl.md5 similarity index 100% rename from docs/html/in__ccs811__hdc1080_8cpp__incl.md5 rename to doxygen-docs/html/in__ccs811__hdc1080_8cpp__incl.md5 diff --git a/docs/html/in__ccs811__hdc1080_8cpp__incl.png b/doxygen-docs/html/in__ccs811__hdc1080_8cpp__incl.png similarity index 100% rename from docs/html/in__ccs811__hdc1080_8cpp__incl.png rename to doxygen-docs/html/in__ccs811__hdc1080_8cpp__incl.png diff --git a/docs/html/in__ccs811__hdc1080_8h.html b/doxygen-docs/html/in__ccs811__hdc1080_8h.html similarity index 100% rename from docs/html/in__ccs811__hdc1080_8h.html rename to doxygen-docs/html/in__ccs811__hdc1080_8h.html diff --git a/docs/html/in__ccs811__hdc1080_8h.js b/doxygen-docs/html/in__ccs811__hdc1080_8h.js similarity index 100% rename from docs/html/in__ccs811__hdc1080_8h.js rename to doxygen-docs/html/in__ccs811__hdc1080_8h.js diff --git a/docs/html/in__ccs811__hdc1080_8h__dep__incl.map b/doxygen-docs/html/in__ccs811__hdc1080_8h__dep__incl.map similarity index 100% rename from docs/html/in__ccs811__hdc1080_8h__dep__incl.map rename to doxygen-docs/html/in__ccs811__hdc1080_8h__dep__incl.map diff --git a/docs/html/in__ccs811__hdc1080_8h__dep__incl.md5 b/doxygen-docs/html/in__ccs811__hdc1080_8h__dep__incl.md5 similarity index 100% rename from docs/html/in__ccs811__hdc1080_8h__dep__incl.md5 rename to doxygen-docs/html/in__ccs811__hdc1080_8h__dep__incl.md5 diff --git a/docs/html/in__ccs811__hdc1080_8h__dep__incl.png b/doxygen-docs/html/in__ccs811__hdc1080_8h__dep__incl.png similarity index 100% rename from docs/html/in__ccs811__hdc1080_8h__dep__incl.png rename to doxygen-docs/html/in__ccs811__hdc1080_8h__dep__incl.png diff --git a/docs/html/in__ccs811__hdc1080_8h__incl.map b/doxygen-docs/html/in__ccs811__hdc1080_8h__incl.map similarity index 100% rename from docs/html/in__ccs811__hdc1080_8h__incl.map rename to doxygen-docs/html/in__ccs811__hdc1080_8h__incl.map diff --git a/docs/html/in__ccs811__hdc1080_8h__incl.md5 b/doxygen-docs/html/in__ccs811__hdc1080_8h__incl.md5 similarity index 100% rename from docs/html/in__ccs811__hdc1080_8h__incl.md5 rename to doxygen-docs/html/in__ccs811__hdc1080_8h__incl.md5 diff --git a/docs/html/in__ccs811__hdc1080_8h__incl.png b/doxygen-docs/html/in__ccs811__hdc1080_8h__incl.png similarity index 100% rename from docs/html/in__ccs811__hdc1080_8h__incl.png rename to doxygen-docs/html/in__ccs811__hdc1080_8h__incl.png diff --git a/docs/html/in__ccs811__hdc1080_8h_source.html b/doxygen-docs/html/in__ccs811__hdc1080_8h_source.html similarity index 100% rename from docs/html/in__ccs811__hdc1080_8h_source.html rename to doxygen-docs/html/in__ccs811__hdc1080_8h_source.html diff --git a/docs/html/index.html b/doxygen-docs/html/index.html similarity index 100% rename from docs/html/index.html rename to doxygen-docs/html/index.html diff --git a/docs/html/inherit_graph_0.map b/doxygen-docs/html/inherit_graph_0.map similarity index 100% rename from docs/html/inherit_graph_0.map rename to doxygen-docs/html/inherit_graph_0.map diff --git a/docs/html/inherit_graph_0.md5 b/doxygen-docs/html/inherit_graph_0.md5 similarity index 100% rename from docs/html/inherit_graph_0.md5 rename to doxygen-docs/html/inherit_graph_0.md5 diff --git a/docs/html/inherit_graph_0.png b/doxygen-docs/html/inherit_graph_0.png similarity index 100% rename from docs/html/inherit_graph_0.png rename to doxygen-docs/html/inherit_graph_0.png diff --git a/docs/html/inherit_graph_1.map b/doxygen-docs/html/inherit_graph_1.map similarity index 100% rename from docs/html/inherit_graph_1.map rename to doxygen-docs/html/inherit_graph_1.map diff --git a/docs/html/inherit_graph_1.md5 b/doxygen-docs/html/inherit_graph_1.md5 similarity index 100% rename from docs/html/inherit_graph_1.md5 rename to doxygen-docs/html/inherit_graph_1.md5 diff --git a/docs/html/inherit_graph_1.png b/doxygen-docs/html/inherit_graph_1.png similarity index 100% rename from docs/html/inherit_graph_1.png rename to doxygen-docs/html/inherit_graph_1.png diff --git a/docs/html/inherit_graph_10.map b/doxygen-docs/html/inherit_graph_10.map similarity index 100% rename from docs/html/inherit_graph_10.map rename to doxygen-docs/html/inherit_graph_10.map diff --git a/docs/html/inherit_graph_10.md5 b/doxygen-docs/html/inherit_graph_10.md5 similarity index 100% rename from docs/html/inherit_graph_10.md5 rename to doxygen-docs/html/inherit_graph_10.md5 diff --git a/docs/html/inherit_graph_10.png b/doxygen-docs/html/inherit_graph_10.png similarity index 100% rename from docs/html/inherit_graph_10.png rename to doxygen-docs/html/inherit_graph_10.png diff --git a/docs/html/inherit_graph_11.map b/doxygen-docs/html/inherit_graph_11.map similarity index 100% rename from docs/html/inherit_graph_11.map rename to doxygen-docs/html/inherit_graph_11.map diff --git a/docs/html/inherit_graph_11.md5 b/doxygen-docs/html/inherit_graph_11.md5 similarity index 100% rename from docs/html/inherit_graph_11.md5 rename to doxygen-docs/html/inherit_graph_11.md5 diff --git a/docs/html/inherit_graph_11.png b/doxygen-docs/html/inherit_graph_11.png similarity index 100% rename from docs/html/inherit_graph_11.png rename to doxygen-docs/html/inherit_graph_11.png diff --git a/docs/html/inherit_graph_12.map b/doxygen-docs/html/inherit_graph_12.map similarity index 100% rename from docs/html/inherit_graph_12.map rename to doxygen-docs/html/inherit_graph_12.map diff --git a/docs/html/inherit_graph_12.md5 b/doxygen-docs/html/inherit_graph_12.md5 similarity index 100% rename from docs/html/inherit_graph_12.md5 rename to doxygen-docs/html/inherit_graph_12.md5 diff --git a/docs/html/inherit_graph_12.png b/doxygen-docs/html/inherit_graph_12.png similarity index 100% rename from docs/html/inherit_graph_12.png rename to doxygen-docs/html/inherit_graph_12.png diff --git a/docs/html/inherit_graph_13.map b/doxygen-docs/html/inherit_graph_13.map similarity index 100% rename from docs/html/inherit_graph_13.map rename to doxygen-docs/html/inherit_graph_13.map diff --git a/docs/html/inherit_graph_13.md5 b/doxygen-docs/html/inherit_graph_13.md5 similarity index 100% rename from docs/html/inherit_graph_13.md5 rename to doxygen-docs/html/inherit_graph_13.md5 diff --git a/docs/html/inherit_graph_13.png b/doxygen-docs/html/inherit_graph_13.png similarity index 100% rename from docs/html/inherit_graph_13.png rename to doxygen-docs/html/inherit_graph_13.png diff --git a/docs/html/inherit_graph_2.map b/doxygen-docs/html/inherit_graph_2.map similarity index 100% rename from docs/html/inherit_graph_2.map rename to doxygen-docs/html/inherit_graph_2.map diff --git a/docs/html/inherit_graph_2.md5 b/doxygen-docs/html/inherit_graph_2.md5 similarity index 100% rename from docs/html/inherit_graph_2.md5 rename to doxygen-docs/html/inherit_graph_2.md5 diff --git a/docs/html/inherit_graph_2.png b/doxygen-docs/html/inherit_graph_2.png similarity index 100% rename from docs/html/inherit_graph_2.png rename to doxygen-docs/html/inherit_graph_2.png diff --git a/docs/html/inherit_graph_3.map b/doxygen-docs/html/inherit_graph_3.map similarity index 100% rename from docs/html/inherit_graph_3.map rename to doxygen-docs/html/inherit_graph_3.map diff --git a/docs/html/inherit_graph_3.md5 b/doxygen-docs/html/inherit_graph_3.md5 similarity index 100% rename from docs/html/inherit_graph_3.md5 rename to doxygen-docs/html/inherit_graph_3.md5 diff --git a/docs/html/inherit_graph_3.png b/doxygen-docs/html/inherit_graph_3.png similarity index 100% rename from docs/html/inherit_graph_3.png rename to doxygen-docs/html/inherit_graph_3.png diff --git a/docs/html/inherit_graph_4.map b/doxygen-docs/html/inherit_graph_4.map similarity index 100% rename from docs/html/inherit_graph_4.map rename to doxygen-docs/html/inherit_graph_4.map diff --git a/docs/html/inherit_graph_4.md5 b/doxygen-docs/html/inherit_graph_4.md5 similarity index 100% rename from docs/html/inherit_graph_4.md5 rename to doxygen-docs/html/inherit_graph_4.md5 diff --git a/docs/html/inherit_graph_4.png b/doxygen-docs/html/inherit_graph_4.png similarity index 100% rename from docs/html/inherit_graph_4.png rename to doxygen-docs/html/inherit_graph_4.png diff --git a/docs/html/inherit_graph_5.map b/doxygen-docs/html/inherit_graph_5.map similarity index 100% rename from docs/html/inherit_graph_5.map rename to doxygen-docs/html/inherit_graph_5.map diff --git a/docs/html/inherit_graph_5.md5 b/doxygen-docs/html/inherit_graph_5.md5 similarity index 100% rename from docs/html/inherit_graph_5.md5 rename to doxygen-docs/html/inherit_graph_5.md5 diff --git a/docs/html/inherit_graph_5.png b/doxygen-docs/html/inherit_graph_5.png similarity index 100% rename from docs/html/inherit_graph_5.png rename to doxygen-docs/html/inherit_graph_5.png diff --git a/docs/html/inherit_graph_6.map b/doxygen-docs/html/inherit_graph_6.map similarity index 100% rename from docs/html/inherit_graph_6.map rename to doxygen-docs/html/inherit_graph_6.map diff --git a/docs/html/inherit_graph_6.md5 b/doxygen-docs/html/inherit_graph_6.md5 similarity index 100% rename from docs/html/inherit_graph_6.md5 rename to doxygen-docs/html/inherit_graph_6.md5 diff --git a/docs/html/inherit_graph_6.png b/doxygen-docs/html/inherit_graph_6.png similarity index 100% rename from docs/html/inherit_graph_6.png rename to doxygen-docs/html/inherit_graph_6.png diff --git a/docs/html/inherit_graph_7.map b/doxygen-docs/html/inherit_graph_7.map similarity index 100% rename from docs/html/inherit_graph_7.map rename to doxygen-docs/html/inherit_graph_7.map diff --git a/docs/html/inherit_graph_7.md5 b/doxygen-docs/html/inherit_graph_7.md5 similarity index 100% rename from docs/html/inherit_graph_7.md5 rename to doxygen-docs/html/inherit_graph_7.md5 diff --git a/docs/html/inherit_graph_7.png b/doxygen-docs/html/inherit_graph_7.png similarity index 100% rename from docs/html/inherit_graph_7.png rename to doxygen-docs/html/inherit_graph_7.png diff --git a/docs/html/inherit_graph_8.map b/doxygen-docs/html/inherit_graph_8.map similarity index 100% rename from docs/html/inherit_graph_8.map rename to doxygen-docs/html/inherit_graph_8.map diff --git a/docs/html/inherit_graph_8.md5 b/doxygen-docs/html/inherit_graph_8.md5 similarity index 100% rename from docs/html/inherit_graph_8.md5 rename to doxygen-docs/html/inherit_graph_8.md5 diff --git a/docs/html/inherit_graph_8.png b/doxygen-docs/html/inherit_graph_8.png similarity index 100% rename from docs/html/inherit_graph_8.png rename to doxygen-docs/html/inherit_graph_8.png diff --git a/docs/html/inherit_graph_9.map b/doxygen-docs/html/inherit_graph_9.map similarity index 100% rename from docs/html/inherit_graph_9.map rename to doxygen-docs/html/inherit_graph_9.map diff --git a/docs/html/inherit_graph_9.md5 b/doxygen-docs/html/inherit_graph_9.md5 similarity index 100% rename from docs/html/inherit_graph_9.md5 rename to doxygen-docs/html/inherit_graph_9.md5 diff --git a/docs/html/inherit_graph_9.png b/doxygen-docs/html/inherit_graph_9.png similarity index 100% rename from docs/html/inherit_graph_9.png rename to doxygen-docs/html/inherit_graph_9.png diff --git a/docs/html/inherits.html b/doxygen-docs/html/inherits.html similarity index 100% rename from docs/html/inherits.html rename to doxygen-docs/html/inherits.html diff --git a/docs/html/inputs_8cpp.html b/doxygen-docs/html/inputs_8cpp.html similarity index 100% rename from docs/html/inputs_8cpp.html rename to doxygen-docs/html/inputs_8cpp.html diff --git a/docs/html/inputs_8cpp.js b/doxygen-docs/html/inputs_8cpp.js similarity index 100% rename from docs/html/inputs_8cpp.js rename to doxygen-docs/html/inputs_8cpp.js diff --git a/docs/html/inputs_8cpp__incl.map b/doxygen-docs/html/inputs_8cpp__incl.map similarity index 100% rename from docs/html/inputs_8cpp__incl.map rename to doxygen-docs/html/inputs_8cpp__incl.map diff --git a/docs/html/inputs_8cpp__incl.md5 b/doxygen-docs/html/inputs_8cpp__incl.md5 similarity index 100% rename from docs/html/inputs_8cpp__incl.md5 rename to doxygen-docs/html/inputs_8cpp__incl.md5 diff --git a/docs/html/inputs_8cpp__incl.png b/doxygen-docs/html/inputs_8cpp__incl.png similarity index 100% rename from docs/html/inputs_8cpp__incl.png rename to doxygen-docs/html/inputs_8cpp__incl.png diff --git a/docs/html/inputs_8h.html b/doxygen-docs/html/inputs_8h.html similarity index 100% rename from docs/html/inputs_8h.html rename to doxygen-docs/html/inputs_8h.html diff --git a/docs/html/inputs_8h.js b/doxygen-docs/html/inputs_8h.js similarity index 100% rename from docs/html/inputs_8h.js rename to doxygen-docs/html/inputs_8h.js diff --git a/docs/html/inputs_8h__dep__incl.map b/doxygen-docs/html/inputs_8h__dep__incl.map similarity index 100% rename from docs/html/inputs_8h__dep__incl.map rename to doxygen-docs/html/inputs_8h__dep__incl.map diff --git a/docs/html/inputs_8h__dep__incl.md5 b/doxygen-docs/html/inputs_8h__dep__incl.md5 similarity index 100% rename from docs/html/inputs_8h__dep__incl.md5 rename to doxygen-docs/html/inputs_8h__dep__incl.md5 diff --git a/docs/html/inputs_8h__dep__incl.png b/doxygen-docs/html/inputs_8h__dep__incl.png similarity index 100% rename from docs/html/inputs_8h__dep__incl.png rename to doxygen-docs/html/inputs_8h__dep__incl.png diff --git a/docs/html/inputs_8h__incl.map b/doxygen-docs/html/inputs_8h__incl.map similarity index 100% rename from docs/html/inputs_8h__incl.map rename to doxygen-docs/html/inputs_8h__incl.map diff --git a/docs/html/inputs_8h__incl.md5 b/doxygen-docs/html/inputs_8h__incl.md5 similarity index 100% rename from docs/html/inputs_8h__incl.md5 rename to doxygen-docs/html/inputs_8h__incl.md5 diff --git a/docs/html/inputs_8h__incl.png b/doxygen-docs/html/inputs_8h__incl.png similarity index 100% rename from docs/html/inputs_8h__incl.png rename to doxygen-docs/html/inputs_8h__incl.png diff --git a/docs/html/inputs_8h_source.html b/doxygen-docs/html/inputs_8h_source.html similarity index 100% rename from docs/html/inputs_8h_source.html rename to doxygen-docs/html/inputs_8h_source.html diff --git a/docs/html/item_8cpp.html b/doxygen-docs/html/item_8cpp.html similarity index 100% rename from docs/html/item_8cpp.html rename to doxygen-docs/html/item_8cpp.html diff --git a/docs/html/item_8cpp.js b/doxygen-docs/html/item_8cpp.js similarity index 100% rename from docs/html/item_8cpp.js rename to doxygen-docs/html/item_8cpp.js diff --git a/docs/html/item_8cpp__incl.map b/doxygen-docs/html/item_8cpp__incl.map similarity index 100% rename from docs/html/item_8cpp__incl.map rename to doxygen-docs/html/item_8cpp__incl.map diff --git a/docs/html/item_8cpp__incl.md5 b/doxygen-docs/html/item_8cpp__incl.md5 similarity index 100% rename from docs/html/item_8cpp__incl.md5 rename to doxygen-docs/html/item_8cpp__incl.md5 diff --git a/docs/html/item_8cpp__incl.png b/doxygen-docs/html/item_8cpp__incl.png similarity index 100% rename from docs/html/item_8cpp__incl.png rename to doxygen-docs/html/item_8cpp__incl.png diff --git a/docs/html/item_8h.html b/doxygen-docs/html/item_8h.html similarity index 100% rename from docs/html/item_8h.html rename to doxygen-docs/html/item_8h.html diff --git a/docs/html/item_8h.js b/doxygen-docs/html/item_8h.js similarity index 100% rename from docs/html/item_8h.js rename to doxygen-docs/html/item_8h.js diff --git a/docs/html/item_8h__dep__incl.map b/doxygen-docs/html/item_8h__dep__incl.map similarity index 100% rename from docs/html/item_8h__dep__incl.map rename to doxygen-docs/html/item_8h__dep__incl.map diff --git a/docs/html/item_8h__dep__incl.md5 b/doxygen-docs/html/item_8h__dep__incl.md5 similarity index 100% rename from docs/html/item_8h__dep__incl.md5 rename to doxygen-docs/html/item_8h__dep__incl.md5 diff --git a/docs/html/item_8h__dep__incl.png b/doxygen-docs/html/item_8h__dep__incl.png similarity index 100% rename from docs/html/item_8h__dep__incl.png rename to doxygen-docs/html/item_8h__dep__incl.png diff --git a/docs/html/item_8h__incl.map b/doxygen-docs/html/item_8h__incl.map similarity index 100% rename from docs/html/item_8h__incl.map rename to doxygen-docs/html/item_8h__incl.map diff --git a/docs/html/item_8h__incl.md5 b/doxygen-docs/html/item_8h__incl.md5 similarity index 100% rename from docs/html/item_8h__incl.md5 rename to doxygen-docs/html/item_8h__incl.md5 diff --git a/docs/html/item_8h__incl.png b/doxygen-docs/html/item_8h__incl.png similarity index 100% rename from docs/html/item_8h__incl.png rename to doxygen-docs/html/item_8h__incl.png diff --git a/docs/html/item_8h_source.html b/doxygen-docs/html/item_8h_source.html similarity index 100% rename from docs/html/item_8h_source.html rename to doxygen-docs/html/item_8h_source.html diff --git a/docs/html/item_cmd_8cpp.html b/doxygen-docs/html/item_cmd_8cpp.html similarity index 100% rename from docs/html/item_cmd_8cpp.html rename to doxygen-docs/html/item_cmd_8cpp.html diff --git a/docs/html/item_cmd_8cpp.js b/doxygen-docs/html/item_cmd_8cpp.js similarity index 100% rename from docs/html/item_cmd_8cpp.js rename to doxygen-docs/html/item_cmd_8cpp.js diff --git a/docs/html/item_cmd_8cpp__incl.map b/doxygen-docs/html/item_cmd_8cpp__incl.map similarity index 100% rename from docs/html/item_cmd_8cpp__incl.map rename to doxygen-docs/html/item_cmd_8cpp__incl.map diff --git a/docs/html/item_cmd_8cpp__incl.md5 b/doxygen-docs/html/item_cmd_8cpp__incl.md5 similarity index 100% rename from docs/html/item_cmd_8cpp__incl.md5 rename to doxygen-docs/html/item_cmd_8cpp__incl.md5 diff --git a/docs/html/item_cmd_8cpp__incl.png b/doxygen-docs/html/item_cmd_8cpp__incl.png similarity index 100% rename from docs/html/item_cmd_8cpp__incl.png rename to doxygen-docs/html/item_cmd_8cpp__incl.png diff --git a/docs/html/item_cmd_8h.html b/doxygen-docs/html/item_cmd_8h.html similarity index 100% rename from docs/html/item_cmd_8h.html rename to doxygen-docs/html/item_cmd_8h.html diff --git a/docs/html/item_cmd_8h.js b/doxygen-docs/html/item_cmd_8h.js similarity index 100% rename from docs/html/item_cmd_8h.js rename to doxygen-docs/html/item_cmd_8h.js diff --git a/docs/html/item_cmd_8h__dep__incl.map b/doxygen-docs/html/item_cmd_8h__dep__incl.map similarity index 100% rename from docs/html/item_cmd_8h__dep__incl.map rename to doxygen-docs/html/item_cmd_8h__dep__incl.map diff --git a/docs/html/item_cmd_8h__dep__incl.md5 b/doxygen-docs/html/item_cmd_8h__dep__incl.md5 similarity index 100% rename from docs/html/item_cmd_8h__dep__incl.md5 rename to doxygen-docs/html/item_cmd_8h__dep__incl.md5 diff --git a/docs/html/item_cmd_8h__dep__incl.png b/doxygen-docs/html/item_cmd_8h__dep__incl.png similarity index 100% rename from docs/html/item_cmd_8h__dep__incl.png rename to doxygen-docs/html/item_cmd_8h__dep__incl.png diff --git a/docs/html/item_cmd_8h__incl.map b/doxygen-docs/html/item_cmd_8h__incl.map similarity index 100% rename from docs/html/item_cmd_8h__incl.map rename to doxygen-docs/html/item_cmd_8h__incl.map diff --git a/docs/html/item_cmd_8h__incl.md5 b/doxygen-docs/html/item_cmd_8h__incl.md5 similarity index 100% rename from docs/html/item_cmd_8h__incl.md5 rename to doxygen-docs/html/item_cmd_8h__incl.md5 diff --git a/docs/html/item_cmd_8h__incl.png b/doxygen-docs/html/item_cmd_8h__incl.png similarity index 100% rename from docs/html/item_cmd_8h__incl.png rename to doxygen-docs/html/item_cmd_8h__incl.png diff --git a/docs/html/item_cmd_8h_source.html b/doxygen-docs/html/item_cmd_8h_source.html similarity index 100% rename from docs/html/item_cmd_8h_source.html rename to doxygen-docs/html/item_cmd_8h_source.html diff --git a/docs/html/jquery.js b/doxygen-docs/html/jquery.js similarity index 100% rename from docs/html/jquery.js rename to doxygen-docs/html/jquery.js diff --git a/docs/html/lh.png b/doxygen-docs/html/lh.png similarity index 100% rename from docs/html/lh.png rename to doxygen-docs/html/lh.png diff --git a/docs/html/main_8cpp.html b/doxygen-docs/html/main_8cpp.html similarity index 100% rename from docs/html/main_8cpp.html rename to doxygen-docs/html/main_8cpp.html diff --git a/docs/html/main_8cpp.js b/doxygen-docs/html/main_8cpp.js similarity index 100% rename from docs/html/main_8cpp.js rename to doxygen-docs/html/main_8cpp.js diff --git a/docs/html/main_8cpp__incl.map b/doxygen-docs/html/main_8cpp__incl.map similarity index 100% rename from docs/html/main_8cpp__incl.map rename to doxygen-docs/html/main_8cpp__incl.map diff --git a/docs/html/main_8cpp__incl.md5 b/doxygen-docs/html/main_8cpp__incl.md5 similarity index 100% rename from docs/html/main_8cpp__incl.md5 rename to doxygen-docs/html/main_8cpp__incl.md5 diff --git a/docs/html/main_8cpp__incl.png b/doxygen-docs/html/main_8cpp__incl.png similarity index 100% rename from docs/html/main_8cpp__incl.png rename to doxygen-docs/html/main_8cpp__incl.png diff --git a/docs/html/main_8h.html b/doxygen-docs/html/main_8h.html similarity index 100% rename from docs/html/main_8h.html rename to doxygen-docs/html/main_8h.html diff --git a/docs/html/main_8h.js b/doxygen-docs/html/main_8h.js similarity index 100% rename from docs/html/main_8h.js rename to doxygen-docs/html/main_8h.js diff --git a/docs/html/main_8h__dep__incl.map b/doxygen-docs/html/main_8h__dep__incl.map similarity index 100% rename from docs/html/main_8h__dep__incl.map rename to doxygen-docs/html/main_8h__dep__incl.map diff --git a/docs/html/main_8h__dep__incl.md5 b/doxygen-docs/html/main_8h__dep__incl.md5 similarity index 100% rename from docs/html/main_8h__dep__incl.md5 rename to doxygen-docs/html/main_8h__dep__incl.md5 diff --git a/docs/html/main_8h__dep__incl.png b/doxygen-docs/html/main_8h__dep__incl.png similarity index 100% rename from docs/html/main_8h__dep__incl.png rename to doxygen-docs/html/main_8h__dep__incl.png diff --git a/docs/html/main_8h__incl.map b/doxygen-docs/html/main_8h__incl.map similarity index 100% rename from docs/html/main_8h__incl.map rename to doxygen-docs/html/main_8h__incl.map diff --git a/docs/html/main_8h__incl.md5 b/doxygen-docs/html/main_8h__incl.md5 similarity index 100% rename from docs/html/main_8h__incl.md5 rename to doxygen-docs/html/main_8h__incl.md5 diff --git a/docs/html/main_8h__incl.png b/doxygen-docs/html/main_8h__incl.png similarity index 100% rename from docs/html/main_8h__incl.png rename to doxygen-docs/html/main_8h__incl.png diff --git a/docs/html/main_8h_source.html b/doxygen-docs/html/main_8h_source.html similarity index 100% rename from docs/html/main_8h_source.html rename to doxygen-docs/html/main_8h_source.html diff --git a/docs/html/menu.js b/doxygen-docs/html/menu.js similarity index 100% rename from docs/html/menu.js rename to doxygen-docs/html/menu.js diff --git a/docs/html/menudata.js b/doxygen-docs/html/menudata.js similarity index 100% rename from docs/html/menudata.js rename to doxygen-docs/html/menudata.js diff --git a/docs/html/mkspiffs_espressif32_arduino.exe b/doxygen-docs/html/mkspiffs_espressif32_arduino.exe similarity index 100% rename from docs/html/mkspiffs_espressif32_arduino.exe rename to doxygen-docs/html/mkspiffs_espressif32_arduino.exe diff --git a/docs/html/mkspiffs_espressif8266_arduino.exe b/doxygen-docs/html/mkspiffs_espressif8266_arduino.exe similarity index 100% rename from docs/html/mkspiffs_espressif8266_arduino.exe rename to doxygen-docs/html/mkspiffs_espressif8266_arduino.exe diff --git a/docs/html/nav_f.png b/doxygen-docs/html/nav_f.png similarity index 100% rename from docs/html/nav_f.png rename to doxygen-docs/html/nav_f.png diff --git a/docs/html/nav_g.png b/doxygen-docs/html/nav_g.png similarity index 100% rename from docs/html/nav_g.png rename to doxygen-docs/html/nav_g.png diff --git a/docs/html/nav_h.png b/doxygen-docs/html/nav_h.png similarity index 100% rename from docs/html/nav_h.png rename to doxygen-docs/html/nav_h.png diff --git a/docs/html/navtree.css b/doxygen-docs/html/navtree.css similarity index 100% rename from docs/html/navtree.css rename to doxygen-docs/html/navtree.css diff --git a/docs/html/navtree.js b/doxygen-docs/html/navtree.js similarity index 100% rename from docs/html/navtree.js rename to doxygen-docs/html/navtree.js diff --git a/docs/html/navtreedata.js b/doxygen-docs/html/navtreedata.js similarity index 100% rename from docs/html/navtreedata.js rename to doxygen-docs/html/navtreedata.js diff --git a/docs/html/navtreeindex0.js b/doxygen-docs/html/navtreeindex0.js similarity index 100% rename from docs/html/navtreeindex0.js rename to doxygen-docs/html/navtreeindex0.js diff --git a/docs/html/navtreeindex1.js b/doxygen-docs/html/navtreeindex1.js similarity index 100% rename from docs/html/navtreeindex1.js rename to doxygen-docs/html/navtreeindex1.js diff --git a/docs/html/navtreeindex2.js b/doxygen-docs/html/navtreeindex2.js similarity index 100% rename from docs/html/navtreeindex2.js rename to doxygen-docs/html/navtreeindex2.js diff --git a/docs/html/navtreeindex3.js b/doxygen-docs/html/navtreeindex3.js similarity index 100% rename from docs/html/navtreeindex3.js rename to doxygen-docs/html/navtreeindex3.js diff --git a/docs/html/navtreeindex4.js b/doxygen-docs/html/navtreeindex4.js similarity index 100% rename from docs/html/navtreeindex4.js rename to doxygen-docs/html/navtreeindex4.js diff --git a/docs/html/navtreeindex5.js b/doxygen-docs/html/navtreeindex5.js similarity index 100% rename from docs/html/navtreeindex5.js rename to doxygen-docs/html/navtreeindex5.js diff --git a/docs/html/open.png b/doxygen-docs/html/open.png similarity index 100% rename from docs/html/open.png rename to doxygen-docs/html/open.png diff --git a/docs/html/options_8h.html b/doxygen-docs/html/options_8h.html similarity index 100% rename from docs/html/options_8h.html rename to doxygen-docs/html/options_8h.html diff --git a/docs/html/options_8h.js b/doxygen-docs/html/options_8h.js similarity index 100% rename from docs/html/options_8h.js rename to doxygen-docs/html/options_8h.js diff --git a/docs/html/options_8h__dep__incl.map b/doxygen-docs/html/options_8h__dep__incl.map similarity index 100% rename from docs/html/options_8h__dep__incl.map rename to doxygen-docs/html/options_8h__dep__incl.map diff --git a/docs/html/options_8h__dep__incl.md5 b/doxygen-docs/html/options_8h__dep__incl.md5 similarity index 100% rename from docs/html/options_8h__dep__incl.md5 rename to doxygen-docs/html/options_8h__dep__incl.md5 diff --git a/docs/html/options_8h__dep__incl.png b/doxygen-docs/html/options_8h__dep__incl.png similarity index 100% rename from docs/html/options_8h__dep__incl.png rename to doxygen-docs/html/options_8h__dep__incl.png diff --git a/docs/html/options_8h_source.html b/doxygen-docs/html/options_8h_source.html similarity index 100% rename from docs/html/options_8h_source.html rename to doxygen-docs/html/options_8h_source.html diff --git a/docs/html/out__ac_8cpp.html b/doxygen-docs/html/out__ac_8cpp.html similarity index 100% rename from docs/html/out__ac_8cpp.html rename to doxygen-docs/html/out__ac_8cpp.html diff --git a/docs/html/out__ac_8cpp.js b/doxygen-docs/html/out__ac_8cpp.js similarity index 100% rename from docs/html/out__ac_8cpp.js rename to doxygen-docs/html/out__ac_8cpp.js diff --git a/docs/html/out__ac_8cpp__incl.map b/doxygen-docs/html/out__ac_8cpp__incl.map similarity index 100% rename from docs/html/out__ac_8cpp__incl.map rename to doxygen-docs/html/out__ac_8cpp__incl.map diff --git a/docs/html/out__ac_8cpp__incl.md5 b/doxygen-docs/html/out__ac_8cpp__incl.md5 similarity index 100% rename from docs/html/out__ac_8cpp__incl.md5 rename to doxygen-docs/html/out__ac_8cpp__incl.md5 diff --git a/docs/html/out__ac_8cpp__incl.png b/doxygen-docs/html/out__ac_8cpp__incl.png similarity index 100% rename from docs/html/out__ac_8cpp__incl.png rename to doxygen-docs/html/out__ac_8cpp__incl.png diff --git a/docs/html/out__ac_8h.html b/doxygen-docs/html/out__ac_8h.html similarity index 100% rename from docs/html/out__ac_8h.html rename to doxygen-docs/html/out__ac_8h.html diff --git a/docs/html/out__ac_8h.js b/doxygen-docs/html/out__ac_8h.js similarity index 100% rename from docs/html/out__ac_8h.js rename to doxygen-docs/html/out__ac_8h.js diff --git a/docs/html/out__ac_8h__dep__incl.map b/doxygen-docs/html/out__ac_8h__dep__incl.map similarity index 100% rename from docs/html/out__ac_8h__dep__incl.map rename to doxygen-docs/html/out__ac_8h__dep__incl.map diff --git a/docs/html/out__ac_8h__dep__incl.md5 b/doxygen-docs/html/out__ac_8h__dep__incl.md5 similarity index 100% rename from docs/html/out__ac_8h__dep__incl.md5 rename to doxygen-docs/html/out__ac_8h__dep__incl.md5 diff --git a/docs/html/out__ac_8h__dep__incl.png b/doxygen-docs/html/out__ac_8h__dep__incl.png similarity index 100% rename from docs/html/out__ac_8h__dep__incl.png rename to doxygen-docs/html/out__ac_8h__dep__incl.png diff --git a/docs/html/out__ac_8h__incl.map b/doxygen-docs/html/out__ac_8h__incl.map similarity index 100% rename from docs/html/out__ac_8h__incl.map rename to doxygen-docs/html/out__ac_8h__incl.map diff --git a/docs/html/out__ac_8h__incl.md5 b/doxygen-docs/html/out__ac_8h__incl.md5 similarity index 100% rename from docs/html/out__ac_8h__incl.md5 rename to doxygen-docs/html/out__ac_8h__incl.md5 diff --git a/docs/html/out__ac_8h__incl.png b/doxygen-docs/html/out__ac_8h__incl.png similarity index 100% rename from docs/html/out__ac_8h__incl.png rename to doxygen-docs/html/out__ac_8h__incl.png diff --git a/docs/html/out__ac_8h_source.html b/doxygen-docs/html/out__ac_8h_source.html similarity index 100% rename from docs/html/out__ac_8h_source.html rename to doxygen-docs/html/out__ac_8h_source.html diff --git a/docs/html/out__dmx_8cpp.html b/doxygen-docs/html/out__dmx_8cpp.html similarity index 100% rename from docs/html/out__dmx_8cpp.html rename to doxygen-docs/html/out__dmx_8cpp.html diff --git a/docs/html/out__dmx_8cpp__incl.map b/doxygen-docs/html/out__dmx_8cpp__incl.map similarity index 100% rename from docs/html/out__dmx_8cpp__incl.map rename to doxygen-docs/html/out__dmx_8cpp__incl.map diff --git a/docs/html/out__dmx_8cpp__incl.md5 b/doxygen-docs/html/out__dmx_8cpp__incl.md5 similarity index 100% rename from docs/html/out__dmx_8cpp__incl.md5 rename to doxygen-docs/html/out__dmx_8cpp__incl.md5 diff --git a/docs/html/out__dmx_8cpp__incl.png b/doxygen-docs/html/out__dmx_8cpp__incl.png similarity index 100% rename from docs/html/out__dmx_8cpp__incl.png rename to doxygen-docs/html/out__dmx_8cpp__incl.png diff --git a/docs/html/out__dmx_8h.html b/doxygen-docs/html/out__dmx_8h.html similarity index 100% rename from docs/html/out__dmx_8h.html rename to doxygen-docs/html/out__dmx_8h.html diff --git a/docs/html/out__dmx_8h__dep__incl.map b/doxygen-docs/html/out__dmx_8h__dep__incl.map similarity index 100% rename from docs/html/out__dmx_8h__dep__incl.map rename to doxygen-docs/html/out__dmx_8h__dep__incl.map diff --git a/docs/html/out__dmx_8h__dep__incl.md5 b/doxygen-docs/html/out__dmx_8h__dep__incl.md5 similarity index 100% rename from docs/html/out__dmx_8h__dep__incl.md5 rename to doxygen-docs/html/out__dmx_8h__dep__incl.md5 diff --git a/docs/html/out__dmx_8h__dep__incl.png b/doxygen-docs/html/out__dmx_8h__dep__incl.png similarity index 100% rename from docs/html/out__dmx_8h__dep__incl.png rename to doxygen-docs/html/out__dmx_8h__dep__incl.png diff --git a/docs/html/out__dmx_8h__incl.map b/doxygen-docs/html/out__dmx_8h__incl.map similarity index 100% rename from docs/html/out__dmx_8h__incl.map rename to doxygen-docs/html/out__dmx_8h__incl.map diff --git a/docs/html/out__dmx_8h__incl.md5 b/doxygen-docs/html/out__dmx_8h__incl.md5 similarity index 100% rename from docs/html/out__dmx_8h__incl.md5 rename to doxygen-docs/html/out__dmx_8h__incl.md5 diff --git a/docs/html/out__dmx_8h__incl.png b/doxygen-docs/html/out__dmx_8h__incl.png similarity index 100% rename from docs/html/out__dmx_8h__incl.png rename to doxygen-docs/html/out__dmx_8h__incl.png diff --git a/docs/html/out__dmx_8h_source.html b/doxygen-docs/html/out__dmx_8h_source.html similarity index 100% rename from docs/html/out__dmx_8h_source.html rename to doxygen-docs/html/out__dmx_8h_source.html diff --git a/docs/html/out__elevator_8cpp.html b/doxygen-docs/html/out__elevator_8cpp.html similarity index 100% rename from docs/html/out__elevator_8cpp.html rename to doxygen-docs/html/out__elevator_8cpp.html diff --git a/docs/html/out__elevator_8h.html b/doxygen-docs/html/out__elevator_8h.html similarity index 100% rename from docs/html/out__elevator_8h.html rename to doxygen-docs/html/out__elevator_8h.html diff --git a/docs/html/out__elevator_8h_source.html b/doxygen-docs/html/out__elevator_8h_source.html similarity index 100% rename from docs/html/out__elevator_8h_source.html rename to doxygen-docs/html/out__elevator_8h_source.html diff --git a/docs/html/out__modbus_8cpp.html b/doxygen-docs/html/out__modbus_8cpp.html similarity index 100% rename from docs/html/out__modbus_8cpp.html rename to doxygen-docs/html/out__modbus_8cpp.html diff --git a/docs/html/out__modbus_8cpp.js b/doxygen-docs/html/out__modbus_8cpp.js similarity index 100% rename from docs/html/out__modbus_8cpp.js rename to doxygen-docs/html/out__modbus_8cpp.js diff --git a/docs/html/out__modbus_8cpp__incl.map b/doxygen-docs/html/out__modbus_8cpp__incl.map similarity index 100% rename from docs/html/out__modbus_8cpp__incl.map rename to doxygen-docs/html/out__modbus_8cpp__incl.map diff --git a/docs/html/out__modbus_8cpp__incl.md5 b/doxygen-docs/html/out__modbus_8cpp__incl.md5 similarity index 100% rename from docs/html/out__modbus_8cpp__incl.md5 rename to doxygen-docs/html/out__modbus_8cpp__incl.md5 diff --git a/docs/html/out__modbus_8cpp__incl.png b/doxygen-docs/html/out__modbus_8cpp__incl.png similarity index 100% rename from docs/html/out__modbus_8cpp__incl.png rename to doxygen-docs/html/out__modbus_8cpp__incl.png diff --git a/docs/html/out__modbus_8h.html b/doxygen-docs/html/out__modbus_8h.html similarity index 100% rename from docs/html/out__modbus_8h.html rename to doxygen-docs/html/out__modbus_8h.html diff --git a/docs/html/out__modbus_8h__dep__incl.map b/doxygen-docs/html/out__modbus_8h__dep__incl.map similarity index 100% rename from docs/html/out__modbus_8h__dep__incl.map rename to doxygen-docs/html/out__modbus_8h__dep__incl.map diff --git a/docs/html/out__modbus_8h__dep__incl.md5 b/doxygen-docs/html/out__modbus_8h__dep__incl.md5 similarity index 100% rename from docs/html/out__modbus_8h__dep__incl.md5 rename to doxygen-docs/html/out__modbus_8h__dep__incl.md5 diff --git a/docs/html/out__modbus_8h__dep__incl.png b/doxygen-docs/html/out__modbus_8h__dep__incl.png similarity index 100% rename from docs/html/out__modbus_8h__dep__incl.png rename to doxygen-docs/html/out__modbus_8h__dep__incl.png diff --git a/docs/html/out__modbus_8h__incl.map b/doxygen-docs/html/out__modbus_8h__incl.map similarity index 100% rename from docs/html/out__modbus_8h__incl.map rename to doxygen-docs/html/out__modbus_8h__incl.map diff --git a/docs/html/out__modbus_8h__incl.md5 b/doxygen-docs/html/out__modbus_8h__incl.md5 similarity index 100% rename from docs/html/out__modbus_8h__incl.md5 rename to doxygen-docs/html/out__modbus_8h__incl.md5 diff --git a/docs/html/out__modbus_8h__incl.png b/doxygen-docs/html/out__modbus_8h__incl.png similarity index 100% rename from docs/html/out__modbus_8h__incl.png rename to doxygen-docs/html/out__modbus_8h__incl.png diff --git a/docs/html/out__modbus_8h_source.html b/doxygen-docs/html/out__modbus_8h_source.html similarity index 100% rename from docs/html/out__modbus_8h_source.html rename to doxygen-docs/html/out__modbus_8h_source.html diff --git a/docs/html/out__motor_8cpp.html b/doxygen-docs/html/out__motor_8cpp.html similarity index 100% rename from docs/html/out__motor_8cpp.html rename to doxygen-docs/html/out__motor_8cpp.html diff --git a/docs/html/out__motor_8cpp.js b/doxygen-docs/html/out__motor_8cpp.js similarity index 100% rename from docs/html/out__motor_8cpp.js rename to doxygen-docs/html/out__motor_8cpp.js diff --git a/docs/html/out__motor_8cpp__incl.map b/doxygen-docs/html/out__motor_8cpp__incl.map similarity index 100% rename from docs/html/out__motor_8cpp__incl.map rename to doxygen-docs/html/out__motor_8cpp__incl.map diff --git a/docs/html/out__motor_8cpp__incl.md5 b/doxygen-docs/html/out__motor_8cpp__incl.md5 similarity index 100% rename from docs/html/out__motor_8cpp__incl.md5 rename to doxygen-docs/html/out__motor_8cpp__incl.md5 diff --git a/docs/html/out__motor_8cpp__incl.png b/doxygen-docs/html/out__motor_8cpp__incl.png similarity index 100% rename from docs/html/out__motor_8cpp__incl.png rename to doxygen-docs/html/out__motor_8cpp__incl.png diff --git a/docs/html/out__motor_8h.html b/doxygen-docs/html/out__motor_8h.html similarity index 100% rename from docs/html/out__motor_8h.html rename to doxygen-docs/html/out__motor_8h.html diff --git a/docs/html/out__motor_8h.js b/doxygen-docs/html/out__motor_8h.js similarity index 100% rename from docs/html/out__motor_8h.js rename to doxygen-docs/html/out__motor_8h.js diff --git a/docs/html/out__motor_8h__dep__incl.map b/doxygen-docs/html/out__motor_8h__dep__incl.map similarity index 100% rename from docs/html/out__motor_8h__dep__incl.map rename to doxygen-docs/html/out__motor_8h__dep__incl.map diff --git a/docs/html/out__motor_8h__dep__incl.md5 b/doxygen-docs/html/out__motor_8h__dep__incl.md5 similarity index 100% rename from docs/html/out__motor_8h__dep__incl.md5 rename to doxygen-docs/html/out__motor_8h__dep__incl.md5 diff --git a/docs/html/out__motor_8h__dep__incl.png b/doxygen-docs/html/out__motor_8h__dep__incl.png similarity index 100% rename from docs/html/out__motor_8h__dep__incl.png rename to doxygen-docs/html/out__motor_8h__dep__incl.png diff --git a/docs/html/out__motor_8h__incl.map b/doxygen-docs/html/out__motor_8h__incl.map similarity index 100% rename from docs/html/out__motor_8h__incl.map rename to doxygen-docs/html/out__motor_8h__incl.map diff --git a/docs/html/out__motor_8h__incl.md5 b/doxygen-docs/html/out__motor_8h__incl.md5 similarity index 100% rename from docs/html/out__motor_8h__incl.md5 rename to doxygen-docs/html/out__motor_8h__incl.md5 diff --git a/docs/html/out__motor_8h__incl.png b/doxygen-docs/html/out__motor_8h__incl.png similarity index 100% rename from docs/html/out__motor_8h__incl.png rename to doxygen-docs/html/out__motor_8h__incl.png diff --git a/docs/html/out__motor_8h_source.html b/doxygen-docs/html/out__motor_8h_source.html similarity index 100% rename from docs/html/out__motor_8h_source.html rename to doxygen-docs/html/out__motor_8h_source.html diff --git a/docs/html/out__multivent_8cpp.html b/doxygen-docs/html/out__multivent_8cpp.html similarity index 100% rename from docs/html/out__multivent_8cpp.html rename to doxygen-docs/html/out__multivent_8cpp.html diff --git a/docs/html/out__multivent_8h.html b/doxygen-docs/html/out__multivent_8h.html similarity index 100% rename from docs/html/out__multivent_8h.html rename to doxygen-docs/html/out__multivent_8h.html diff --git a/docs/html/out__multivent_8h_source.html b/doxygen-docs/html/out__multivent_8h_source.html similarity index 100% rename from docs/html/out__multivent_8h_source.html rename to doxygen-docs/html/out__multivent_8h_source.html diff --git a/docs/html/out__pid_8cpp.html b/doxygen-docs/html/out__pid_8cpp.html similarity index 100% rename from docs/html/out__pid_8cpp.html rename to doxygen-docs/html/out__pid_8cpp.html diff --git a/docs/html/out__pid_8h.html b/doxygen-docs/html/out__pid_8h.html similarity index 100% rename from docs/html/out__pid_8h.html rename to doxygen-docs/html/out__pid_8h.html diff --git a/docs/html/out__pid_8h.js b/doxygen-docs/html/out__pid_8h.js similarity index 100% rename from docs/html/out__pid_8h.js rename to doxygen-docs/html/out__pid_8h.js diff --git a/docs/html/out__pid_8h_source.html b/doxygen-docs/html/out__pid_8h_source.html similarity index 100% rename from docs/html/out__pid_8h_source.html rename to doxygen-docs/html/out__pid_8h_source.html diff --git a/docs/html/out__pwm_8cpp.html b/doxygen-docs/html/out__pwm_8cpp.html similarity index 100% rename from docs/html/out__pwm_8cpp.html rename to doxygen-docs/html/out__pwm_8cpp.html diff --git a/docs/html/out__pwm_8cpp__incl.map b/doxygen-docs/html/out__pwm_8cpp__incl.map similarity index 100% rename from docs/html/out__pwm_8cpp__incl.map rename to doxygen-docs/html/out__pwm_8cpp__incl.map diff --git a/docs/html/out__pwm_8cpp__incl.md5 b/doxygen-docs/html/out__pwm_8cpp__incl.md5 similarity index 100% rename from docs/html/out__pwm_8cpp__incl.md5 rename to doxygen-docs/html/out__pwm_8cpp__incl.md5 diff --git a/docs/html/out__pwm_8cpp__incl.png b/doxygen-docs/html/out__pwm_8cpp__incl.png similarity index 100% rename from docs/html/out__pwm_8cpp__incl.png rename to doxygen-docs/html/out__pwm_8cpp__incl.png diff --git a/docs/html/out__pwm_8h.html b/doxygen-docs/html/out__pwm_8h.html similarity index 100% rename from docs/html/out__pwm_8h.html rename to doxygen-docs/html/out__pwm_8h.html diff --git a/docs/html/out__pwm_8h__dep__incl.map b/doxygen-docs/html/out__pwm_8h__dep__incl.map similarity index 100% rename from docs/html/out__pwm_8h__dep__incl.map rename to doxygen-docs/html/out__pwm_8h__dep__incl.map diff --git a/docs/html/out__pwm_8h__dep__incl.md5 b/doxygen-docs/html/out__pwm_8h__dep__incl.md5 similarity index 100% rename from docs/html/out__pwm_8h__dep__incl.md5 rename to doxygen-docs/html/out__pwm_8h__dep__incl.md5 diff --git a/docs/html/out__pwm_8h__dep__incl.png b/doxygen-docs/html/out__pwm_8h__dep__incl.png similarity index 100% rename from docs/html/out__pwm_8h__dep__incl.png rename to doxygen-docs/html/out__pwm_8h__dep__incl.png diff --git a/docs/html/out__pwm_8h__incl.map b/doxygen-docs/html/out__pwm_8h__incl.map similarity index 100% rename from docs/html/out__pwm_8h__incl.map rename to doxygen-docs/html/out__pwm_8h__incl.map diff --git a/docs/html/out__pwm_8h__incl.md5 b/doxygen-docs/html/out__pwm_8h__incl.md5 similarity index 100% rename from docs/html/out__pwm_8h__incl.md5 rename to doxygen-docs/html/out__pwm_8h__incl.md5 diff --git a/docs/html/out__pwm_8h__incl.png b/doxygen-docs/html/out__pwm_8h__incl.png similarity index 100% rename from docs/html/out__pwm_8h__incl.png rename to doxygen-docs/html/out__pwm_8h__incl.png diff --git a/docs/html/out__pwm_8h_source.html b/doxygen-docs/html/out__pwm_8h_source.html similarity index 100% rename from docs/html/out__pwm_8h_source.html rename to doxygen-docs/html/out__pwm_8h_source.html diff --git a/docs/html/out__relay_8cpp.html b/doxygen-docs/html/out__relay_8cpp.html similarity index 100% rename from docs/html/out__relay_8cpp.html rename to doxygen-docs/html/out__relay_8cpp.html diff --git a/docs/html/out__relay_8cpp.js b/doxygen-docs/html/out__relay_8cpp.js similarity index 100% rename from docs/html/out__relay_8cpp.js rename to doxygen-docs/html/out__relay_8cpp.js diff --git a/docs/html/out__relay_8h.html b/doxygen-docs/html/out__relay_8h.html similarity index 100% rename from docs/html/out__relay_8h.html rename to doxygen-docs/html/out__relay_8h.html diff --git a/docs/html/out__relay_8h_source.html b/doxygen-docs/html/out__relay_8h_source.html similarity index 100% rename from docs/html/out__relay_8h_source.html rename to doxygen-docs/html/out__relay_8h_source.html diff --git a/docs/html/out__spiled_8cpp.html b/doxygen-docs/html/out__spiled_8cpp.html similarity index 100% rename from docs/html/out__spiled_8cpp.html rename to doxygen-docs/html/out__spiled_8cpp.html diff --git a/docs/html/out__spiled_8cpp.js b/doxygen-docs/html/out__spiled_8cpp.js similarity index 100% rename from docs/html/out__spiled_8cpp.js rename to doxygen-docs/html/out__spiled_8cpp.js diff --git a/docs/html/out__spiled_8cpp__incl.map b/doxygen-docs/html/out__spiled_8cpp__incl.map similarity index 100% rename from docs/html/out__spiled_8cpp__incl.map rename to doxygen-docs/html/out__spiled_8cpp__incl.map diff --git a/docs/html/out__spiled_8cpp__incl.md5 b/doxygen-docs/html/out__spiled_8cpp__incl.md5 similarity index 100% rename from docs/html/out__spiled_8cpp__incl.md5 rename to doxygen-docs/html/out__spiled_8cpp__incl.md5 diff --git a/docs/html/out__spiled_8cpp__incl.png b/doxygen-docs/html/out__spiled_8cpp__incl.png similarity index 100% rename from docs/html/out__spiled_8cpp__incl.png rename to doxygen-docs/html/out__spiled_8cpp__incl.png diff --git a/docs/html/out__spiled_8h.html b/doxygen-docs/html/out__spiled_8h.html similarity index 100% rename from docs/html/out__spiled_8h.html rename to doxygen-docs/html/out__spiled_8h.html diff --git a/docs/html/out__spiled_8h__dep__incl.map b/doxygen-docs/html/out__spiled_8h__dep__incl.map similarity index 100% rename from docs/html/out__spiled_8h__dep__incl.map rename to doxygen-docs/html/out__spiled_8h__dep__incl.map diff --git a/docs/html/out__spiled_8h__dep__incl.md5 b/doxygen-docs/html/out__spiled_8h__dep__incl.md5 similarity index 100% rename from docs/html/out__spiled_8h__dep__incl.md5 rename to doxygen-docs/html/out__spiled_8h__dep__incl.md5 diff --git a/docs/html/out__spiled_8h__dep__incl.png b/doxygen-docs/html/out__spiled_8h__dep__incl.png similarity index 100% rename from docs/html/out__spiled_8h__dep__incl.png rename to doxygen-docs/html/out__spiled_8h__dep__incl.png diff --git a/docs/html/out__spiled_8h__incl.map b/doxygen-docs/html/out__spiled_8h__incl.map similarity index 100% rename from docs/html/out__spiled_8h__incl.map rename to doxygen-docs/html/out__spiled_8h__incl.map diff --git a/docs/html/out__spiled_8h__incl.md5 b/doxygen-docs/html/out__spiled_8h__incl.md5 similarity index 100% rename from docs/html/out__spiled_8h__incl.md5 rename to doxygen-docs/html/out__spiled_8h__incl.md5 diff --git a/docs/html/out__spiled_8h__incl.png b/doxygen-docs/html/out__spiled_8h__incl.png similarity index 100% rename from docs/html/out__spiled_8h__incl.png rename to doxygen-docs/html/out__spiled_8h__incl.png diff --git a/docs/html/out__spiled_8h_source.html b/doxygen-docs/html/out__spiled_8h_source.html similarity index 100% rename from docs/html/out__spiled_8h_source.html rename to doxygen-docs/html/out__spiled_8h_source.html diff --git a/docs/html/out__uartbridge_8cpp.html b/doxygen-docs/html/out__uartbridge_8cpp.html similarity index 100% rename from docs/html/out__uartbridge_8cpp.html rename to doxygen-docs/html/out__uartbridge_8cpp.html diff --git a/docs/html/out__uartbridge_8h.html b/doxygen-docs/html/out__uartbridge_8h.html similarity index 100% rename from docs/html/out__uartbridge_8h.html rename to doxygen-docs/html/out__uartbridge_8h.html diff --git a/docs/html/out__uartbridge_8h_source.html b/doxygen-docs/html/out__uartbridge_8h_source.html similarity index 100% rename from docs/html/out__uartbridge_8h_source.html rename to doxygen-docs/html/out__uartbridge_8h_source.html diff --git a/docs/html/ow_term_8cpp.html b/doxygen-docs/html/ow_term_8cpp.html similarity index 100% rename from docs/html/ow_term_8cpp.html rename to doxygen-docs/html/ow_term_8cpp.html diff --git a/docs/html/ow_term_8cpp.js b/doxygen-docs/html/ow_term_8cpp.js similarity index 100% rename from docs/html/ow_term_8cpp.js rename to doxygen-docs/html/ow_term_8cpp.js diff --git a/docs/html/ow_term_8cpp__incl.map b/doxygen-docs/html/ow_term_8cpp__incl.map similarity index 100% rename from docs/html/ow_term_8cpp__incl.map rename to doxygen-docs/html/ow_term_8cpp__incl.map diff --git a/docs/html/ow_term_8cpp__incl.md5 b/doxygen-docs/html/ow_term_8cpp__incl.md5 similarity index 100% rename from docs/html/ow_term_8cpp__incl.md5 rename to doxygen-docs/html/ow_term_8cpp__incl.md5 diff --git a/docs/html/ow_term_8cpp__incl.png b/doxygen-docs/html/ow_term_8cpp__incl.png similarity index 100% rename from docs/html/ow_term_8cpp__incl.png rename to doxygen-docs/html/ow_term_8cpp__incl.png diff --git a/docs/html/ow_term_8h.html b/doxygen-docs/html/ow_term_8h.html similarity index 100% rename from docs/html/ow_term_8h.html rename to doxygen-docs/html/ow_term_8h.html diff --git a/docs/html/ow_term_8h.js b/doxygen-docs/html/ow_term_8h.js similarity index 100% rename from docs/html/ow_term_8h.js rename to doxygen-docs/html/ow_term_8h.js diff --git a/docs/html/ow_term_8h__dep__incl.map b/doxygen-docs/html/ow_term_8h__dep__incl.map similarity index 100% rename from docs/html/ow_term_8h__dep__incl.map rename to doxygen-docs/html/ow_term_8h__dep__incl.map diff --git a/docs/html/ow_term_8h__dep__incl.md5 b/doxygen-docs/html/ow_term_8h__dep__incl.md5 similarity index 100% rename from docs/html/ow_term_8h__dep__incl.md5 rename to doxygen-docs/html/ow_term_8h__dep__incl.md5 diff --git a/docs/html/ow_term_8h__dep__incl.png b/doxygen-docs/html/ow_term_8h__dep__incl.png similarity index 100% rename from docs/html/ow_term_8h__dep__incl.png rename to doxygen-docs/html/ow_term_8h__dep__incl.png diff --git a/docs/html/ow_term_8h__incl.map b/doxygen-docs/html/ow_term_8h__incl.map similarity index 100% rename from docs/html/ow_term_8h__incl.map rename to doxygen-docs/html/ow_term_8h__incl.map diff --git a/docs/html/ow_term_8h__incl.md5 b/doxygen-docs/html/ow_term_8h__incl.md5 similarity index 100% rename from docs/html/ow_term_8h__incl.md5 rename to doxygen-docs/html/ow_term_8h__incl.md5 diff --git a/docs/html/ow_term_8h__incl.png b/doxygen-docs/html/ow_term_8h__incl.png similarity index 100% rename from docs/html/ow_term_8h__incl.png rename to doxygen-docs/html/ow_term_8h__incl.png diff --git a/docs/html/ow_term_8h_source.html b/doxygen-docs/html/ow_term_8h_source.html similarity index 100% rename from docs/html/ow_term_8h_source.html rename to doxygen-docs/html/ow_term_8h_source.html diff --git a/docs/html/resize.js b/doxygen-docs/html/resize.js similarity index 100% rename from docs/html/resize.js rename to doxygen-docs/html/resize.js diff --git a/docs/html/search/all_0.html b/doxygen-docs/html/search/all_0.html similarity index 100% rename from docs/html/search/all_0.html rename to doxygen-docs/html/search/all_0.html diff --git a/docs/html/search/all_0.js b/doxygen-docs/html/search/all_0.js similarity index 100% rename from docs/html/search/all_0.js rename to doxygen-docs/html/search/all_0.js diff --git a/docs/html/search/all_1.html b/doxygen-docs/html/search/all_1.html similarity index 100% rename from docs/html/search/all_1.html rename to doxygen-docs/html/search/all_1.html diff --git a/docs/html/search/all_1.js b/doxygen-docs/html/search/all_1.js similarity index 100% rename from docs/html/search/all_1.js rename to doxygen-docs/html/search/all_1.js diff --git a/docs/html/search/all_10.html b/doxygen-docs/html/search/all_10.html similarity index 100% rename from docs/html/search/all_10.html rename to doxygen-docs/html/search/all_10.html diff --git a/docs/html/search/all_10.js b/doxygen-docs/html/search/all_10.js similarity index 100% rename from docs/html/search/all_10.js rename to doxygen-docs/html/search/all_10.js diff --git a/docs/html/search/all_11.html b/doxygen-docs/html/search/all_11.html similarity index 100% rename from docs/html/search/all_11.html rename to doxygen-docs/html/search/all_11.html diff --git a/docs/html/search/all_11.js b/doxygen-docs/html/search/all_11.js similarity index 100% rename from docs/html/search/all_11.js rename to doxygen-docs/html/search/all_11.js diff --git a/docs/html/search/all_12.html b/doxygen-docs/html/search/all_12.html similarity index 100% rename from docs/html/search/all_12.html rename to doxygen-docs/html/search/all_12.html diff --git a/docs/html/search/all_12.js b/doxygen-docs/html/search/all_12.js similarity index 100% rename from docs/html/search/all_12.js rename to doxygen-docs/html/search/all_12.js diff --git a/docs/html/search/all_13.html b/doxygen-docs/html/search/all_13.html similarity index 100% rename from docs/html/search/all_13.html rename to doxygen-docs/html/search/all_13.html diff --git a/docs/html/search/all_13.js b/doxygen-docs/html/search/all_13.js similarity index 100% rename from docs/html/search/all_13.js rename to doxygen-docs/html/search/all_13.js diff --git a/docs/html/search/all_14.html b/doxygen-docs/html/search/all_14.html similarity index 100% rename from docs/html/search/all_14.html rename to doxygen-docs/html/search/all_14.html diff --git a/docs/html/search/all_14.js b/doxygen-docs/html/search/all_14.js similarity index 100% rename from docs/html/search/all_14.js rename to doxygen-docs/html/search/all_14.js diff --git a/docs/html/search/all_15.html b/doxygen-docs/html/search/all_15.html similarity index 100% rename from docs/html/search/all_15.html rename to doxygen-docs/html/search/all_15.html diff --git a/docs/html/search/all_15.js b/doxygen-docs/html/search/all_15.js similarity index 100% rename from docs/html/search/all_15.js rename to doxygen-docs/html/search/all_15.js diff --git a/docs/html/search/all_16.html b/doxygen-docs/html/search/all_16.html similarity index 100% rename from docs/html/search/all_16.html rename to doxygen-docs/html/search/all_16.html diff --git a/docs/html/search/all_16.js b/doxygen-docs/html/search/all_16.js similarity index 100% rename from docs/html/search/all_16.js rename to doxygen-docs/html/search/all_16.js diff --git a/docs/html/search/all_17.html b/doxygen-docs/html/search/all_17.html similarity index 100% rename from docs/html/search/all_17.html rename to doxygen-docs/html/search/all_17.html diff --git a/docs/html/search/all_17.js b/doxygen-docs/html/search/all_17.js similarity index 100% rename from docs/html/search/all_17.js rename to doxygen-docs/html/search/all_17.js diff --git a/docs/html/search/all_2.html b/doxygen-docs/html/search/all_2.html similarity index 100% rename from docs/html/search/all_2.html rename to doxygen-docs/html/search/all_2.html diff --git a/docs/html/search/all_2.js b/doxygen-docs/html/search/all_2.js similarity index 100% rename from docs/html/search/all_2.js rename to doxygen-docs/html/search/all_2.js diff --git a/docs/html/search/all_3.html b/doxygen-docs/html/search/all_3.html similarity index 100% rename from docs/html/search/all_3.html rename to doxygen-docs/html/search/all_3.html diff --git a/docs/html/search/all_3.js b/doxygen-docs/html/search/all_3.js similarity index 100% rename from docs/html/search/all_3.js rename to doxygen-docs/html/search/all_3.js diff --git a/docs/html/search/all_4.html b/doxygen-docs/html/search/all_4.html similarity index 100% rename from docs/html/search/all_4.html rename to doxygen-docs/html/search/all_4.html diff --git a/docs/html/search/all_4.js b/doxygen-docs/html/search/all_4.js similarity index 100% rename from docs/html/search/all_4.js rename to doxygen-docs/html/search/all_4.js diff --git a/docs/html/search/all_5.html b/doxygen-docs/html/search/all_5.html similarity index 100% rename from docs/html/search/all_5.html rename to doxygen-docs/html/search/all_5.html diff --git a/docs/html/search/all_5.js b/doxygen-docs/html/search/all_5.js similarity index 100% rename from docs/html/search/all_5.js rename to doxygen-docs/html/search/all_5.js diff --git a/docs/html/search/all_6.html b/doxygen-docs/html/search/all_6.html similarity index 100% rename from docs/html/search/all_6.html rename to doxygen-docs/html/search/all_6.html diff --git a/docs/html/search/all_6.js b/doxygen-docs/html/search/all_6.js similarity index 100% rename from docs/html/search/all_6.js rename to doxygen-docs/html/search/all_6.js diff --git a/docs/html/search/all_7.html b/doxygen-docs/html/search/all_7.html similarity index 100% rename from docs/html/search/all_7.html rename to doxygen-docs/html/search/all_7.html diff --git a/docs/html/search/all_7.js b/doxygen-docs/html/search/all_7.js similarity index 100% rename from docs/html/search/all_7.js rename to doxygen-docs/html/search/all_7.js diff --git a/docs/html/search/all_8.html b/doxygen-docs/html/search/all_8.html similarity index 100% rename from docs/html/search/all_8.html rename to doxygen-docs/html/search/all_8.html diff --git a/docs/html/search/all_8.js b/doxygen-docs/html/search/all_8.js similarity index 100% rename from docs/html/search/all_8.js rename to doxygen-docs/html/search/all_8.js diff --git a/docs/html/search/all_9.html b/doxygen-docs/html/search/all_9.html similarity index 100% rename from docs/html/search/all_9.html rename to doxygen-docs/html/search/all_9.html diff --git a/docs/html/search/all_9.js b/doxygen-docs/html/search/all_9.js similarity index 100% rename from docs/html/search/all_9.js rename to doxygen-docs/html/search/all_9.js diff --git a/docs/html/search/all_a.html b/doxygen-docs/html/search/all_a.html similarity index 100% rename from docs/html/search/all_a.html rename to doxygen-docs/html/search/all_a.html diff --git a/docs/html/search/all_a.js b/doxygen-docs/html/search/all_a.js similarity index 100% rename from docs/html/search/all_a.js rename to doxygen-docs/html/search/all_a.js diff --git a/docs/html/search/all_b.html b/doxygen-docs/html/search/all_b.html similarity index 100% rename from docs/html/search/all_b.html rename to doxygen-docs/html/search/all_b.html diff --git a/docs/html/search/all_b.js b/doxygen-docs/html/search/all_b.js similarity index 100% rename from docs/html/search/all_b.js rename to doxygen-docs/html/search/all_b.js diff --git a/docs/html/search/all_c.html b/doxygen-docs/html/search/all_c.html similarity index 100% rename from docs/html/search/all_c.html rename to doxygen-docs/html/search/all_c.html diff --git a/docs/html/search/all_c.js b/doxygen-docs/html/search/all_c.js similarity index 100% rename from docs/html/search/all_c.js rename to doxygen-docs/html/search/all_c.js diff --git a/docs/html/search/all_d.html b/doxygen-docs/html/search/all_d.html similarity index 100% rename from docs/html/search/all_d.html rename to doxygen-docs/html/search/all_d.html diff --git a/docs/html/search/all_d.js b/doxygen-docs/html/search/all_d.js similarity index 100% rename from docs/html/search/all_d.js rename to doxygen-docs/html/search/all_d.js diff --git a/docs/html/search/all_e.html b/doxygen-docs/html/search/all_e.html similarity index 100% rename from docs/html/search/all_e.html rename to doxygen-docs/html/search/all_e.html diff --git a/docs/html/search/all_e.js b/doxygen-docs/html/search/all_e.js similarity index 100% rename from docs/html/search/all_e.js rename to doxygen-docs/html/search/all_e.js diff --git a/docs/html/search/all_f.html b/doxygen-docs/html/search/all_f.html similarity index 100% rename from docs/html/search/all_f.html rename to doxygen-docs/html/search/all_f.html diff --git a/docs/html/search/all_f.js b/doxygen-docs/html/search/all_f.js similarity index 100% rename from docs/html/search/all_f.js rename to doxygen-docs/html/search/all_f.js diff --git a/docs/html/search/classes_0.html b/doxygen-docs/html/search/classes_0.html similarity index 100% rename from docs/html/search/classes_0.html rename to doxygen-docs/html/search/classes_0.html diff --git a/docs/html/search/classes_0.js b/doxygen-docs/html/search/classes_0.js similarity index 100% rename from docs/html/search/classes_0.js rename to doxygen-docs/html/search/classes_0.js diff --git a/docs/html/search/classes_1.html b/doxygen-docs/html/search/classes_1.html similarity index 100% rename from docs/html/search/classes_1.html rename to doxygen-docs/html/search/classes_1.html diff --git a/docs/html/search/classes_1.js b/doxygen-docs/html/search/classes_1.js similarity index 100% rename from docs/html/search/classes_1.js rename to doxygen-docs/html/search/classes_1.js diff --git a/docs/html/search/classes_2.html b/doxygen-docs/html/search/classes_2.html similarity index 100% rename from docs/html/search/classes_2.html rename to doxygen-docs/html/search/classes_2.html diff --git a/docs/html/search/classes_2.js b/doxygen-docs/html/search/classes_2.js similarity index 100% rename from docs/html/search/classes_2.js rename to doxygen-docs/html/search/classes_2.js diff --git a/docs/html/search/classes_3.html b/doxygen-docs/html/search/classes_3.html similarity index 100% rename from docs/html/search/classes_3.html rename to doxygen-docs/html/search/classes_3.html diff --git a/docs/html/search/classes_3.js b/doxygen-docs/html/search/classes_3.js similarity index 100% rename from docs/html/search/classes_3.js rename to doxygen-docs/html/search/classes_3.js diff --git a/docs/html/search/classes_4.html b/doxygen-docs/html/search/classes_4.html similarity index 100% rename from docs/html/search/classes_4.html rename to doxygen-docs/html/search/classes_4.html diff --git a/docs/html/search/classes_4.js b/doxygen-docs/html/search/classes_4.js similarity index 100% rename from docs/html/search/classes_4.js rename to doxygen-docs/html/search/classes_4.js diff --git a/docs/html/search/classes_5.html b/doxygen-docs/html/search/classes_5.html similarity index 100% rename from docs/html/search/classes_5.html rename to doxygen-docs/html/search/classes_5.html diff --git a/docs/html/search/classes_5.js b/doxygen-docs/html/search/classes_5.js similarity index 100% rename from docs/html/search/classes_5.js rename to doxygen-docs/html/search/classes_5.js diff --git a/docs/html/search/classes_6.html b/doxygen-docs/html/search/classes_6.html similarity index 100% rename from docs/html/search/classes_6.html rename to doxygen-docs/html/search/classes_6.html diff --git a/docs/html/search/classes_6.js b/doxygen-docs/html/search/classes_6.js similarity index 100% rename from docs/html/search/classes_6.js rename to doxygen-docs/html/search/classes_6.js diff --git a/docs/html/search/classes_7.html b/doxygen-docs/html/search/classes_7.html similarity index 100% rename from docs/html/search/classes_7.html rename to doxygen-docs/html/search/classes_7.html diff --git a/docs/html/search/classes_7.js b/doxygen-docs/html/search/classes_7.js similarity index 100% rename from docs/html/search/classes_7.js rename to doxygen-docs/html/search/classes_7.js diff --git a/docs/html/search/classes_8.html b/doxygen-docs/html/search/classes_8.html similarity index 100% rename from docs/html/search/classes_8.html rename to doxygen-docs/html/search/classes_8.html diff --git a/docs/html/search/classes_8.js b/doxygen-docs/html/search/classes_8.js similarity index 100% rename from docs/html/search/classes_8.js rename to doxygen-docs/html/search/classes_8.js diff --git a/docs/html/search/classes_9.html b/doxygen-docs/html/search/classes_9.html similarity index 100% rename from docs/html/search/classes_9.html rename to doxygen-docs/html/search/classes_9.html diff --git a/docs/html/search/classes_9.js b/doxygen-docs/html/search/classes_9.js similarity index 100% rename from docs/html/search/classes_9.js rename to doxygen-docs/html/search/classes_9.js diff --git a/docs/html/search/classes_a.html b/doxygen-docs/html/search/classes_a.html similarity index 100% rename from docs/html/search/classes_a.html rename to doxygen-docs/html/search/classes_a.html diff --git a/docs/html/search/classes_a.js b/doxygen-docs/html/search/classes_a.js similarity index 100% rename from docs/html/search/classes_a.js rename to doxygen-docs/html/search/classes_a.js diff --git a/docs/html/search/close.svg b/doxygen-docs/html/search/close.svg similarity index 100% rename from docs/html/search/close.svg rename to doxygen-docs/html/search/close.svg diff --git a/docs/html/search/defines_0.html b/doxygen-docs/html/search/defines_0.html similarity index 100% rename from docs/html/search/defines_0.html rename to doxygen-docs/html/search/defines_0.html diff --git a/docs/html/search/defines_0.js b/doxygen-docs/html/search/defines_0.js similarity index 100% rename from docs/html/search/defines_0.js rename to doxygen-docs/html/search/defines_0.js diff --git a/docs/html/search/defines_1.html b/doxygen-docs/html/search/defines_1.html similarity index 100% rename from docs/html/search/defines_1.html rename to doxygen-docs/html/search/defines_1.html diff --git a/docs/html/search/defines_1.js b/doxygen-docs/html/search/defines_1.js similarity index 100% rename from docs/html/search/defines_1.js rename to doxygen-docs/html/search/defines_1.js diff --git a/docs/html/search/defines_10.html b/doxygen-docs/html/search/defines_10.html similarity index 100% rename from docs/html/search/defines_10.html rename to doxygen-docs/html/search/defines_10.html diff --git a/docs/html/search/defines_10.js b/doxygen-docs/html/search/defines_10.js similarity index 100% rename from docs/html/search/defines_10.js rename to doxygen-docs/html/search/defines_10.js diff --git a/docs/html/search/defines_11.html b/doxygen-docs/html/search/defines_11.html similarity index 100% rename from docs/html/search/defines_11.html rename to doxygen-docs/html/search/defines_11.html diff --git a/docs/html/search/defines_11.js b/doxygen-docs/html/search/defines_11.js similarity index 100% rename from docs/html/search/defines_11.js rename to doxygen-docs/html/search/defines_11.js diff --git a/docs/html/search/defines_12.html b/doxygen-docs/html/search/defines_12.html similarity index 100% rename from docs/html/search/defines_12.html rename to doxygen-docs/html/search/defines_12.html diff --git a/docs/html/search/defines_12.js b/doxygen-docs/html/search/defines_12.js similarity index 100% rename from docs/html/search/defines_12.js rename to doxygen-docs/html/search/defines_12.js diff --git a/docs/html/search/defines_13.html b/doxygen-docs/html/search/defines_13.html similarity index 100% rename from docs/html/search/defines_13.html rename to doxygen-docs/html/search/defines_13.html diff --git a/docs/html/search/defines_13.js b/doxygen-docs/html/search/defines_13.js similarity index 100% rename from docs/html/search/defines_13.js rename to doxygen-docs/html/search/defines_13.js diff --git a/docs/html/search/defines_14.html b/doxygen-docs/html/search/defines_14.html similarity index 100% rename from docs/html/search/defines_14.html rename to doxygen-docs/html/search/defines_14.html diff --git a/docs/html/search/defines_14.js b/doxygen-docs/html/search/defines_14.js similarity index 100% rename from docs/html/search/defines_14.js rename to doxygen-docs/html/search/defines_14.js diff --git a/docs/html/search/defines_2.html b/doxygen-docs/html/search/defines_2.html similarity index 100% rename from docs/html/search/defines_2.html rename to doxygen-docs/html/search/defines_2.html diff --git a/docs/html/search/defines_2.js b/doxygen-docs/html/search/defines_2.js similarity index 100% rename from docs/html/search/defines_2.js rename to doxygen-docs/html/search/defines_2.js diff --git a/docs/html/search/defines_3.html b/doxygen-docs/html/search/defines_3.html similarity index 100% rename from docs/html/search/defines_3.html rename to doxygen-docs/html/search/defines_3.html diff --git a/docs/html/search/defines_3.js b/doxygen-docs/html/search/defines_3.js similarity index 100% rename from docs/html/search/defines_3.js rename to doxygen-docs/html/search/defines_3.js diff --git a/docs/html/search/defines_4.html b/doxygen-docs/html/search/defines_4.html similarity index 100% rename from docs/html/search/defines_4.html rename to doxygen-docs/html/search/defines_4.html diff --git a/docs/html/search/defines_4.js b/doxygen-docs/html/search/defines_4.js similarity index 100% rename from docs/html/search/defines_4.js rename to doxygen-docs/html/search/defines_4.js diff --git a/docs/html/search/defines_5.html b/doxygen-docs/html/search/defines_5.html similarity index 100% rename from docs/html/search/defines_5.html rename to doxygen-docs/html/search/defines_5.html diff --git a/docs/html/search/defines_5.js b/doxygen-docs/html/search/defines_5.js similarity index 100% rename from docs/html/search/defines_5.js rename to doxygen-docs/html/search/defines_5.js diff --git a/docs/html/search/defines_6.html b/doxygen-docs/html/search/defines_6.html similarity index 100% rename from docs/html/search/defines_6.html rename to doxygen-docs/html/search/defines_6.html diff --git a/docs/html/search/defines_6.js b/doxygen-docs/html/search/defines_6.js similarity index 100% rename from docs/html/search/defines_6.js rename to doxygen-docs/html/search/defines_6.js diff --git a/docs/html/search/defines_7.html b/doxygen-docs/html/search/defines_7.html similarity index 100% rename from docs/html/search/defines_7.html rename to doxygen-docs/html/search/defines_7.html diff --git a/docs/html/search/defines_7.js b/doxygen-docs/html/search/defines_7.js similarity index 100% rename from docs/html/search/defines_7.js rename to doxygen-docs/html/search/defines_7.js diff --git a/docs/html/search/defines_8.html b/doxygen-docs/html/search/defines_8.html similarity index 100% rename from docs/html/search/defines_8.html rename to doxygen-docs/html/search/defines_8.html diff --git a/docs/html/search/defines_8.js b/doxygen-docs/html/search/defines_8.js similarity index 100% rename from docs/html/search/defines_8.js rename to doxygen-docs/html/search/defines_8.js diff --git a/docs/html/search/defines_9.html b/doxygen-docs/html/search/defines_9.html similarity index 100% rename from docs/html/search/defines_9.html rename to doxygen-docs/html/search/defines_9.html diff --git a/docs/html/search/defines_9.js b/doxygen-docs/html/search/defines_9.js similarity index 100% rename from docs/html/search/defines_9.js rename to doxygen-docs/html/search/defines_9.js diff --git a/docs/html/search/defines_a.html b/doxygen-docs/html/search/defines_a.html similarity index 100% rename from docs/html/search/defines_a.html rename to doxygen-docs/html/search/defines_a.html diff --git a/docs/html/search/defines_a.js b/doxygen-docs/html/search/defines_a.js similarity index 100% rename from docs/html/search/defines_a.js rename to doxygen-docs/html/search/defines_a.js diff --git a/docs/html/search/defines_b.html b/doxygen-docs/html/search/defines_b.html similarity index 100% rename from docs/html/search/defines_b.html rename to doxygen-docs/html/search/defines_b.html diff --git a/docs/html/search/defines_b.js b/doxygen-docs/html/search/defines_b.js similarity index 100% rename from docs/html/search/defines_b.js rename to doxygen-docs/html/search/defines_b.js diff --git a/docs/html/search/defines_c.html b/doxygen-docs/html/search/defines_c.html similarity index 100% rename from docs/html/search/defines_c.html rename to doxygen-docs/html/search/defines_c.html diff --git a/docs/html/search/defines_c.js b/doxygen-docs/html/search/defines_c.js similarity index 100% rename from docs/html/search/defines_c.js rename to doxygen-docs/html/search/defines_c.js diff --git a/docs/html/search/defines_d.html b/doxygen-docs/html/search/defines_d.html similarity index 100% rename from docs/html/search/defines_d.html rename to doxygen-docs/html/search/defines_d.html diff --git a/docs/html/search/defines_d.js b/doxygen-docs/html/search/defines_d.js similarity index 100% rename from docs/html/search/defines_d.js rename to doxygen-docs/html/search/defines_d.js diff --git a/docs/html/search/defines_e.html b/doxygen-docs/html/search/defines_e.html similarity index 100% rename from docs/html/search/defines_e.html rename to doxygen-docs/html/search/defines_e.html diff --git a/docs/html/search/defines_e.js b/doxygen-docs/html/search/defines_e.js similarity index 100% rename from docs/html/search/defines_e.js rename to doxygen-docs/html/search/defines_e.js diff --git a/docs/html/search/defines_f.html b/doxygen-docs/html/search/defines_f.html similarity index 100% rename from docs/html/search/defines_f.html rename to doxygen-docs/html/search/defines_f.html diff --git a/docs/html/search/defines_f.js b/doxygen-docs/html/search/defines_f.js similarity index 100% rename from docs/html/search/defines_f.js rename to doxygen-docs/html/search/defines_f.js diff --git a/docs/html/search/enums_0.html b/doxygen-docs/html/search/enums_0.html similarity index 100% rename from docs/html/search/enums_0.html rename to doxygen-docs/html/search/enums_0.html diff --git a/docs/html/search/enums_0.js b/doxygen-docs/html/search/enums_0.js similarity index 100% rename from docs/html/search/enums_0.js rename to doxygen-docs/html/search/enums_0.js diff --git a/docs/html/search/enums_1.html b/doxygen-docs/html/search/enums_1.html similarity index 100% rename from docs/html/search/enums_1.html rename to doxygen-docs/html/search/enums_1.html diff --git a/docs/html/search/enums_1.js b/doxygen-docs/html/search/enums_1.js similarity index 100% rename from docs/html/search/enums_1.js rename to doxygen-docs/html/search/enums_1.js diff --git a/docs/html/search/enums_2.html b/doxygen-docs/html/search/enums_2.html similarity index 100% rename from docs/html/search/enums_2.html rename to doxygen-docs/html/search/enums_2.html diff --git a/docs/html/search/enums_2.js b/doxygen-docs/html/search/enums_2.js similarity index 100% rename from docs/html/search/enums_2.js rename to doxygen-docs/html/search/enums_2.js diff --git a/docs/html/search/enumvalues_0.html b/doxygen-docs/html/search/enumvalues_0.html similarity index 100% rename from docs/html/search/enumvalues_0.html rename to doxygen-docs/html/search/enumvalues_0.html diff --git a/docs/html/search/enumvalues_0.js b/doxygen-docs/html/search/enumvalues_0.js similarity index 100% rename from docs/html/search/enumvalues_0.js rename to doxygen-docs/html/search/enumvalues_0.js diff --git a/docs/html/search/enumvalues_1.html b/doxygen-docs/html/search/enumvalues_1.html similarity index 100% rename from docs/html/search/enumvalues_1.html rename to doxygen-docs/html/search/enumvalues_1.html diff --git a/docs/html/search/enumvalues_1.js b/doxygen-docs/html/search/enumvalues_1.js similarity index 100% rename from docs/html/search/enumvalues_1.js rename to doxygen-docs/html/search/enumvalues_1.js diff --git a/docs/html/search/enumvalues_2.html b/doxygen-docs/html/search/enumvalues_2.html similarity index 100% rename from docs/html/search/enumvalues_2.html rename to doxygen-docs/html/search/enumvalues_2.html diff --git a/docs/html/search/enumvalues_2.js b/doxygen-docs/html/search/enumvalues_2.js similarity index 100% rename from docs/html/search/enumvalues_2.js rename to doxygen-docs/html/search/enumvalues_2.js diff --git a/docs/html/search/enumvalues_3.html b/doxygen-docs/html/search/enumvalues_3.html similarity index 100% rename from docs/html/search/enumvalues_3.html rename to doxygen-docs/html/search/enumvalues_3.html diff --git a/docs/html/search/enumvalues_3.js b/doxygen-docs/html/search/enumvalues_3.js similarity index 100% rename from docs/html/search/enumvalues_3.js rename to doxygen-docs/html/search/enumvalues_3.js diff --git a/docs/html/search/enumvalues_4.html b/doxygen-docs/html/search/enumvalues_4.html similarity index 100% rename from docs/html/search/enumvalues_4.html rename to doxygen-docs/html/search/enumvalues_4.html diff --git a/docs/html/search/enumvalues_4.js b/doxygen-docs/html/search/enumvalues_4.js similarity index 100% rename from docs/html/search/enumvalues_4.js rename to doxygen-docs/html/search/enumvalues_4.js diff --git a/docs/html/search/enumvalues_5.html b/doxygen-docs/html/search/enumvalues_5.html similarity index 100% rename from docs/html/search/enumvalues_5.html rename to doxygen-docs/html/search/enumvalues_5.html diff --git a/docs/html/search/enumvalues_5.js b/doxygen-docs/html/search/enumvalues_5.js similarity index 100% rename from docs/html/search/enumvalues_5.js rename to doxygen-docs/html/search/enumvalues_5.js diff --git a/docs/html/search/enumvalues_6.html b/doxygen-docs/html/search/enumvalues_6.html similarity index 100% rename from docs/html/search/enumvalues_6.html rename to doxygen-docs/html/search/enumvalues_6.html diff --git a/docs/html/search/enumvalues_6.js b/doxygen-docs/html/search/enumvalues_6.js similarity index 100% rename from docs/html/search/enumvalues_6.js rename to doxygen-docs/html/search/enumvalues_6.js diff --git a/docs/html/search/enumvalues_7.html b/doxygen-docs/html/search/enumvalues_7.html similarity index 100% rename from docs/html/search/enumvalues_7.html rename to doxygen-docs/html/search/enumvalues_7.html diff --git a/docs/html/search/enumvalues_7.js b/doxygen-docs/html/search/enumvalues_7.js similarity index 100% rename from docs/html/search/enumvalues_7.js rename to doxygen-docs/html/search/enumvalues_7.js diff --git a/docs/html/search/files_0.html b/doxygen-docs/html/search/files_0.html similarity index 100% rename from docs/html/search/files_0.html rename to doxygen-docs/html/search/files_0.html diff --git a/docs/html/search/files_0.js b/doxygen-docs/html/search/files_0.js similarity index 100% rename from docs/html/search/files_0.js rename to doxygen-docs/html/search/files_0.js diff --git a/docs/html/search/files_1.html b/doxygen-docs/html/search/files_1.html similarity index 100% rename from docs/html/search/files_1.html rename to doxygen-docs/html/search/files_1.html diff --git a/docs/html/search/files_1.js b/doxygen-docs/html/search/files_1.js similarity index 100% rename from docs/html/search/files_1.js rename to doxygen-docs/html/search/files_1.js diff --git a/docs/html/search/files_2.html b/doxygen-docs/html/search/files_2.html similarity index 100% rename from docs/html/search/files_2.html rename to doxygen-docs/html/search/files_2.html diff --git a/docs/html/search/files_2.js b/doxygen-docs/html/search/files_2.js similarity index 100% rename from docs/html/search/files_2.js rename to doxygen-docs/html/search/files_2.js diff --git a/docs/html/search/files_3.html b/doxygen-docs/html/search/files_3.html similarity index 100% rename from docs/html/search/files_3.html rename to doxygen-docs/html/search/files_3.html diff --git a/docs/html/search/files_3.js b/doxygen-docs/html/search/files_3.js similarity index 100% rename from docs/html/search/files_3.js rename to doxygen-docs/html/search/files_3.js diff --git a/docs/html/search/files_4.html b/doxygen-docs/html/search/files_4.html similarity index 100% rename from docs/html/search/files_4.html rename to doxygen-docs/html/search/files_4.html diff --git a/docs/html/search/files_4.js b/doxygen-docs/html/search/files_4.js similarity index 100% rename from docs/html/search/files_4.js rename to doxygen-docs/html/search/files_4.js diff --git a/docs/html/search/files_5.html b/doxygen-docs/html/search/files_5.html similarity index 100% rename from docs/html/search/files_5.html rename to doxygen-docs/html/search/files_5.html diff --git a/docs/html/search/files_5.js b/doxygen-docs/html/search/files_5.js similarity index 100% rename from docs/html/search/files_5.js rename to doxygen-docs/html/search/files_5.js diff --git a/docs/html/search/files_6.html b/doxygen-docs/html/search/files_6.html similarity index 100% rename from docs/html/search/files_6.html rename to doxygen-docs/html/search/files_6.html diff --git a/docs/html/search/files_6.js b/doxygen-docs/html/search/files_6.js similarity index 100% rename from docs/html/search/files_6.js rename to doxygen-docs/html/search/files_6.js diff --git a/docs/html/search/files_7.html b/doxygen-docs/html/search/files_7.html similarity index 100% rename from docs/html/search/files_7.html rename to doxygen-docs/html/search/files_7.html diff --git a/docs/html/search/files_7.js b/doxygen-docs/html/search/files_7.js similarity index 100% rename from docs/html/search/files_7.js rename to doxygen-docs/html/search/files_7.js diff --git a/docs/html/search/files_8.html b/doxygen-docs/html/search/files_8.html similarity index 100% rename from docs/html/search/files_8.html rename to doxygen-docs/html/search/files_8.html diff --git a/docs/html/search/files_8.js b/doxygen-docs/html/search/files_8.js similarity index 100% rename from docs/html/search/files_8.js rename to doxygen-docs/html/search/files_8.js diff --git a/docs/html/search/files_9.html b/doxygen-docs/html/search/files_9.html similarity index 100% rename from docs/html/search/files_9.html rename to doxygen-docs/html/search/files_9.html diff --git a/docs/html/search/files_9.js b/doxygen-docs/html/search/files_9.js similarity index 100% rename from docs/html/search/files_9.js rename to doxygen-docs/html/search/files_9.js diff --git a/docs/html/search/files_a.html b/doxygen-docs/html/search/files_a.html similarity index 100% rename from docs/html/search/files_a.html rename to doxygen-docs/html/search/files_a.html diff --git a/docs/html/search/files_a.js b/doxygen-docs/html/search/files_a.js similarity index 100% rename from docs/html/search/files_a.js rename to doxygen-docs/html/search/files_a.js diff --git a/docs/html/search/firmware.bin b/doxygen-docs/html/search/firmware.bin similarity index 100% rename from docs/html/search/firmware.bin rename to doxygen-docs/html/search/firmware.bin diff --git a/docs/html/search/functions_0.html b/doxygen-docs/html/search/functions_0.html similarity index 100% rename from docs/html/search/functions_0.html rename to doxygen-docs/html/search/functions_0.html diff --git a/docs/html/search/functions_0.js b/doxygen-docs/html/search/functions_0.js similarity index 100% rename from docs/html/search/functions_0.js rename to doxygen-docs/html/search/functions_0.js diff --git a/docs/html/search/functions_1.html b/doxygen-docs/html/search/functions_1.html similarity index 100% rename from docs/html/search/functions_1.html rename to doxygen-docs/html/search/functions_1.html diff --git a/docs/html/search/functions_1.js b/doxygen-docs/html/search/functions_1.js similarity index 100% rename from docs/html/search/functions_1.js rename to doxygen-docs/html/search/functions_1.js diff --git a/docs/html/search/functions_10.html b/doxygen-docs/html/search/functions_10.html similarity index 100% rename from docs/html/search/functions_10.html rename to doxygen-docs/html/search/functions_10.html diff --git a/docs/html/search/functions_10.js b/doxygen-docs/html/search/functions_10.js similarity index 100% rename from docs/html/search/functions_10.js rename to doxygen-docs/html/search/functions_10.js diff --git a/docs/html/search/functions_11.html b/doxygen-docs/html/search/functions_11.html similarity index 100% rename from docs/html/search/functions_11.html rename to doxygen-docs/html/search/functions_11.html diff --git a/docs/html/search/functions_11.js b/doxygen-docs/html/search/functions_11.js similarity index 100% rename from docs/html/search/functions_11.js rename to doxygen-docs/html/search/functions_11.js diff --git a/docs/html/search/functions_12.html b/doxygen-docs/html/search/functions_12.html similarity index 100% rename from docs/html/search/functions_12.html rename to doxygen-docs/html/search/functions_12.html diff --git a/docs/html/search/functions_12.js b/doxygen-docs/html/search/functions_12.js similarity index 100% rename from docs/html/search/functions_12.js rename to doxygen-docs/html/search/functions_12.js diff --git a/docs/html/search/functions_13.html b/doxygen-docs/html/search/functions_13.html similarity index 100% rename from docs/html/search/functions_13.html rename to doxygen-docs/html/search/functions_13.html diff --git a/docs/html/search/functions_13.js b/doxygen-docs/html/search/functions_13.js similarity index 100% rename from docs/html/search/functions_13.js rename to doxygen-docs/html/search/functions_13.js diff --git a/docs/html/search/functions_14.html b/doxygen-docs/html/search/functions_14.html similarity index 100% rename from docs/html/search/functions_14.html rename to doxygen-docs/html/search/functions_14.html diff --git a/docs/html/search/functions_14.js b/doxygen-docs/html/search/functions_14.js similarity index 100% rename from docs/html/search/functions_14.js rename to doxygen-docs/html/search/functions_14.js diff --git a/docs/html/search/functions_15.html b/doxygen-docs/html/search/functions_15.html similarity index 100% rename from docs/html/search/functions_15.html rename to doxygen-docs/html/search/functions_15.html diff --git a/docs/html/search/functions_15.js b/doxygen-docs/html/search/functions_15.js similarity index 100% rename from docs/html/search/functions_15.js rename to doxygen-docs/html/search/functions_15.js diff --git a/docs/html/search/functions_16.html b/doxygen-docs/html/search/functions_16.html similarity index 100% rename from docs/html/search/functions_16.html rename to doxygen-docs/html/search/functions_16.html diff --git a/docs/html/search/functions_16.js b/doxygen-docs/html/search/functions_16.js similarity index 100% rename from docs/html/search/functions_16.js rename to doxygen-docs/html/search/functions_16.js diff --git a/docs/html/search/functions_2.html b/doxygen-docs/html/search/functions_2.html similarity index 100% rename from docs/html/search/functions_2.html rename to doxygen-docs/html/search/functions_2.html diff --git a/docs/html/search/functions_2.js b/doxygen-docs/html/search/functions_2.js similarity index 100% rename from docs/html/search/functions_2.js rename to doxygen-docs/html/search/functions_2.js diff --git a/docs/html/search/functions_3.html b/doxygen-docs/html/search/functions_3.html similarity index 100% rename from docs/html/search/functions_3.html rename to doxygen-docs/html/search/functions_3.html diff --git a/docs/html/search/functions_3.js b/doxygen-docs/html/search/functions_3.js similarity index 100% rename from docs/html/search/functions_3.js rename to doxygen-docs/html/search/functions_3.js diff --git a/docs/html/search/functions_4.html b/doxygen-docs/html/search/functions_4.html similarity index 100% rename from docs/html/search/functions_4.html rename to doxygen-docs/html/search/functions_4.html diff --git a/docs/html/search/functions_4.js b/doxygen-docs/html/search/functions_4.js similarity index 100% rename from docs/html/search/functions_4.js rename to doxygen-docs/html/search/functions_4.js diff --git a/docs/html/search/functions_5.html b/doxygen-docs/html/search/functions_5.html similarity index 100% rename from docs/html/search/functions_5.html rename to doxygen-docs/html/search/functions_5.html diff --git a/docs/html/search/functions_5.js b/doxygen-docs/html/search/functions_5.js similarity index 100% rename from docs/html/search/functions_5.js rename to doxygen-docs/html/search/functions_5.js diff --git a/docs/html/search/functions_6.html b/doxygen-docs/html/search/functions_6.html similarity index 100% rename from docs/html/search/functions_6.html rename to doxygen-docs/html/search/functions_6.html diff --git a/docs/html/search/functions_6.js b/doxygen-docs/html/search/functions_6.js similarity index 100% rename from docs/html/search/functions_6.js rename to doxygen-docs/html/search/functions_6.js diff --git a/docs/html/search/functions_7.html b/doxygen-docs/html/search/functions_7.html similarity index 100% rename from docs/html/search/functions_7.html rename to doxygen-docs/html/search/functions_7.html diff --git a/docs/html/search/functions_7.js b/doxygen-docs/html/search/functions_7.js similarity index 100% rename from docs/html/search/functions_7.js rename to doxygen-docs/html/search/functions_7.js diff --git a/docs/html/search/functions_8.html b/doxygen-docs/html/search/functions_8.html similarity index 100% rename from docs/html/search/functions_8.html rename to doxygen-docs/html/search/functions_8.html diff --git a/docs/html/search/functions_8.js b/doxygen-docs/html/search/functions_8.js similarity index 100% rename from docs/html/search/functions_8.js rename to doxygen-docs/html/search/functions_8.js diff --git a/docs/html/search/functions_9.html b/doxygen-docs/html/search/functions_9.html similarity index 100% rename from docs/html/search/functions_9.html rename to doxygen-docs/html/search/functions_9.html diff --git a/docs/html/search/functions_9.js b/doxygen-docs/html/search/functions_9.js similarity index 100% rename from docs/html/search/functions_9.js rename to doxygen-docs/html/search/functions_9.js diff --git a/docs/html/search/functions_a.html b/doxygen-docs/html/search/functions_a.html similarity index 100% rename from docs/html/search/functions_a.html rename to doxygen-docs/html/search/functions_a.html diff --git a/docs/html/search/functions_a.js b/doxygen-docs/html/search/functions_a.js similarity index 100% rename from docs/html/search/functions_a.js rename to doxygen-docs/html/search/functions_a.js diff --git a/docs/html/search/functions_b.html b/doxygen-docs/html/search/functions_b.html similarity index 100% rename from docs/html/search/functions_b.html rename to doxygen-docs/html/search/functions_b.html diff --git a/docs/html/search/functions_b.js b/doxygen-docs/html/search/functions_b.js similarity index 100% rename from docs/html/search/functions_b.js rename to doxygen-docs/html/search/functions_b.js diff --git a/docs/html/search/functions_c.html b/doxygen-docs/html/search/functions_c.html similarity index 100% rename from docs/html/search/functions_c.html rename to doxygen-docs/html/search/functions_c.html diff --git a/docs/html/search/functions_c.js b/doxygen-docs/html/search/functions_c.js similarity index 100% rename from docs/html/search/functions_c.js rename to doxygen-docs/html/search/functions_c.js diff --git a/docs/html/search/functions_d.html b/doxygen-docs/html/search/functions_d.html similarity index 100% rename from docs/html/search/functions_d.html rename to doxygen-docs/html/search/functions_d.html diff --git a/docs/html/search/functions_d.js b/doxygen-docs/html/search/functions_d.js similarity index 100% rename from docs/html/search/functions_d.js rename to doxygen-docs/html/search/functions_d.js diff --git a/docs/html/search/functions_e.html b/doxygen-docs/html/search/functions_e.html similarity index 100% rename from docs/html/search/functions_e.html rename to doxygen-docs/html/search/functions_e.html diff --git a/docs/html/search/functions_e.js b/doxygen-docs/html/search/functions_e.js similarity index 100% rename from docs/html/search/functions_e.js rename to doxygen-docs/html/search/functions_e.js diff --git a/docs/html/search/functions_f.html b/doxygen-docs/html/search/functions_f.html similarity index 100% rename from docs/html/search/functions_f.html rename to doxygen-docs/html/search/functions_f.html diff --git a/docs/html/search/functions_f.js b/doxygen-docs/html/search/functions_f.js similarity index 100% rename from docs/html/search/functions_f.js rename to doxygen-docs/html/search/functions_f.js diff --git a/docs/html/search/mag_sel.svg b/doxygen-docs/html/search/mag_sel.svg similarity index 100% rename from docs/html/search/mag_sel.svg rename to doxygen-docs/html/search/mag_sel.svg diff --git a/docs/html/search/nomatches.html b/doxygen-docs/html/search/nomatches.html similarity index 100% rename from docs/html/search/nomatches.html rename to doxygen-docs/html/search/nomatches.html diff --git a/docs/html/search/search.css b/doxygen-docs/html/search/search.css similarity index 100% rename from docs/html/search/search.css rename to doxygen-docs/html/search/search.css diff --git a/docs/html/search/search.js b/doxygen-docs/html/search/search.js similarity index 100% rename from docs/html/search/search.js rename to doxygen-docs/html/search/search.js diff --git a/docs/html/search/search_l.png b/doxygen-docs/html/search/search_l.png similarity index 100% rename from docs/html/search/search_l.png rename to doxygen-docs/html/search/search_l.png diff --git a/docs/html/search/search_m.png b/doxygen-docs/html/search/search_m.png similarity index 100% rename from docs/html/search/search_m.png rename to doxygen-docs/html/search/search_m.png diff --git a/docs/html/search/search_r.png b/doxygen-docs/html/search/search_r.png similarity index 100% rename from docs/html/search/search_r.png rename to doxygen-docs/html/search/search_r.png diff --git a/docs/html/search/searchdata.js b/doxygen-docs/html/search/searchdata.js similarity index 100% rename from docs/html/search/searchdata.js rename to doxygen-docs/html/search/searchdata.js diff --git a/docs/html/search/typedefs_0.html b/doxygen-docs/html/search/typedefs_0.html similarity index 100% rename from docs/html/search/typedefs_0.html rename to doxygen-docs/html/search/typedefs_0.html diff --git a/docs/html/search/typedefs_0.js b/doxygen-docs/html/search/typedefs_0.js similarity index 100% rename from docs/html/search/typedefs_0.js rename to doxygen-docs/html/search/typedefs_0.js diff --git a/docs/html/search/typedefs_1.html b/doxygen-docs/html/search/typedefs_1.html similarity index 100% rename from docs/html/search/typedefs_1.html rename to doxygen-docs/html/search/typedefs_1.html diff --git a/docs/html/search/typedefs_1.js b/doxygen-docs/html/search/typedefs_1.js similarity index 100% rename from docs/html/search/typedefs_1.js rename to doxygen-docs/html/search/typedefs_1.js diff --git a/docs/html/search/typedefs_2.html b/doxygen-docs/html/search/typedefs_2.html similarity index 100% rename from docs/html/search/typedefs_2.html rename to doxygen-docs/html/search/typedefs_2.html diff --git a/docs/html/search/typedefs_2.js b/doxygen-docs/html/search/typedefs_2.js similarity index 100% rename from docs/html/search/typedefs_2.js rename to doxygen-docs/html/search/typedefs_2.js diff --git a/docs/html/search/typedefs_3.html b/doxygen-docs/html/search/typedefs_3.html similarity index 100% rename from docs/html/search/typedefs_3.html rename to doxygen-docs/html/search/typedefs_3.html diff --git a/docs/html/search/typedefs_3.js b/doxygen-docs/html/search/typedefs_3.js similarity index 100% rename from docs/html/search/typedefs_3.js rename to doxygen-docs/html/search/typedefs_3.js diff --git a/docs/html/search/upload.bat b/doxygen-docs/html/search/upload.bat similarity index 100% rename from docs/html/search/upload.bat rename to doxygen-docs/html/search/upload.bat diff --git a/docs/html/search/upload.sh b/doxygen-docs/html/search/upload.sh similarity index 100% rename from docs/html/search/upload.sh rename to doxygen-docs/html/search/upload.sh diff --git a/docs/html/search/variables_0.html b/doxygen-docs/html/search/variables_0.html similarity index 100% rename from docs/html/search/variables_0.html rename to doxygen-docs/html/search/variables_0.html diff --git a/docs/html/search/variables_0.js b/doxygen-docs/html/search/variables_0.js similarity index 100% rename from docs/html/search/variables_0.js rename to doxygen-docs/html/search/variables_0.js diff --git a/docs/html/search/variables_1.html b/doxygen-docs/html/search/variables_1.html similarity index 100% rename from docs/html/search/variables_1.html rename to doxygen-docs/html/search/variables_1.html diff --git a/docs/html/search/variables_1.js b/doxygen-docs/html/search/variables_1.js similarity index 100% rename from docs/html/search/variables_1.js rename to doxygen-docs/html/search/variables_1.js diff --git a/docs/html/search/variables_10.html b/doxygen-docs/html/search/variables_10.html similarity index 100% rename from docs/html/search/variables_10.html rename to doxygen-docs/html/search/variables_10.html diff --git a/docs/html/search/variables_10.js b/doxygen-docs/html/search/variables_10.js similarity index 100% rename from docs/html/search/variables_10.js rename to doxygen-docs/html/search/variables_10.js diff --git a/docs/html/search/variables_11.html b/doxygen-docs/html/search/variables_11.html similarity index 100% rename from docs/html/search/variables_11.html rename to doxygen-docs/html/search/variables_11.html diff --git a/docs/html/search/variables_11.js b/doxygen-docs/html/search/variables_11.js similarity index 100% rename from docs/html/search/variables_11.js rename to doxygen-docs/html/search/variables_11.js diff --git a/docs/html/search/variables_12.html b/doxygen-docs/html/search/variables_12.html similarity index 100% rename from docs/html/search/variables_12.html rename to doxygen-docs/html/search/variables_12.html diff --git a/docs/html/search/variables_12.js b/doxygen-docs/html/search/variables_12.js similarity index 100% rename from docs/html/search/variables_12.js rename to doxygen-docs/html/search/variables_12.js diff --git a/docs/html/search/variables_13.html b/doxygen-docs/html/search/variables_13.html similarity index 100% rename from docs/html/search/variables_13.html rename to doxygen-docs/html/search/variables_13.html diff --git a/docs/html/search/variables_13.js b/doxygen-docs/html/search/variables_13.js similarity index 100% rename from docs/html/search/variables_13.js rename to doxygen-docs/html/search/variables_13.js diff --git a/docs/html/search/variables_14.html b/doxygen-docs/html/search/variables_14.html similarity index 100% rename from docs/html/search/variables_14.html rename to doxygen-docs/html/search/variables_14.html diff --git a/docs/html/search/variables_14.js b/doxygen-docs/html/search/variables_14.js similarity index 100% rename from docs/html/search/variables_14.js rename to doxygen-docs/html/search/variables_14.js diff --git a/docs/html/search/variables_2.html b/doxygen-docs/html/search/variables_2.html similarity index 100% rename from docs/html/search/variables_2.html rename to doxygen-docs/html/search/variables_2.html diff --git a/docs/html/search/variables_2.js b/doxygen-docs/html/search/variables_2.js similarity index 100% rename from docs/html/search/variables_2.js rename to doxygen-docs/html/search/variables_2.js diff --git a/docs/html/search/variables_3.html b/doxygen-docs/html/search/variables_3.html similarity index 100% rename from docs/html/search/variables_3.html rename to doxygen-docs/html/search/variables_3.html diff --git a/docs/html/search/variables_3.js b/doxygen-docs/html/search/variables_3.js similarity index 100% rename from docs/html/search/variables_3.js rename to doxygen-docs/html/search/variables_3.js diff --git a/docs/html/search/variables_4.html b/doxygen-docs/html/search/variables_4.html similarity index 100% rename from docs/html/search/variables_4.html rename to doxygen-docs/html/search/variables_4.html diff --git a/docs/html/search/variables_4.js b/doxygen-docs/html/search/variables_4.js similarity index 100% rename from docs/html/search/variables_4.js rename to doxygen-docs/html/search/variables_4.js diff --git a/docs/html/search/variables_5.html b/doxygen-docs/html/search/variables_5.html similarity index 100% rename from docs/html/search/variables_5.html rename to doxygen-docs/html/search/variables_5.html diff --git a/docs/html/search/variables_5.js b/doxygen-docs/html/search/variables_5.js similarity index 100% rename from docs/html/search/variables_5.js rename to doxygen-docs/html/search/variables_5.js diff --git a/docs/html/search/variables_6.html b/doxygen-docs/html/search/variables_6.html similarity index 100% rename from docs/html/search/variables_6.html rename to doxygen-docs/html/search/variables_6.html diff --git a/docs/html/search/variables_6.js b/doxygen-docs/html/search/variables_6.js similarity index 100% rename from docs/html/search/variables_6.js rename to doxygen-docs/html/search/variables_6.js diff --git a/docs/html/search/variables_7.html b/doxygen-docs/html/search/variables_7.html similarity index 100% rename from docs/html/search/variables_7.html rename to doxygen-docs/html/search/variables_7.html diff --git a/docs/html/search/variables_7.js b/doxygen-docs/html/search/variables_7.js similarity index 100% rename from docs/html/search/variables_7.js rename to doxygen-docs/html/search/variables_7.js diff --git a/docs/html/search/variables_8.html b/doxygen-docs/html/search/variables_8.html similarity index 100% rename from docs/html/search/variables_8.html rename to doxygen-docs/html/search/variables_8.html diff --git a/docs/html/search/variables_8.js b/doxygen-docs/html/search/variables_8.js similarity index 100% rename from docs/html/search/variables_8.js rename to doxygen-docs/html/search/variables_8.js diff --git a/docs/html/search/variables_9.html b/doxygen-docs/html/search/variables_9.html similarity index 100% rename from docs/html/search/variables_9.html rename to doxygen-docs/html/search/variables_9.html diff --git a/docs/html/search/variables_9.js b/doxygen-docs/html/search/variables_9.js similarity index 100% rename from docs/html/search/variables_9.js rename to doxygen-docs/html/search/variables_9.js diff --git a/docs/html/search/variables_a.html b/doxygen-docs/html/search/variables_a.html similarity index 100% rename from docs/html/search/variables_a.html rename to doxygen-docs/html/search/variables_a.html diff --git a/docs/html/search/variables_a.js b/doxygen-docs/html/search/variables_a.js similarity index 100% rename from docs/html/search/variables_a.js rename to doxygen-docs/html/search/variables_a.js diff --git a/docs/html/search/variables_b.html b/doxygen-docs/html/search/variables_b.html similarity index 100% rename from docs/html/search/variables_b.html rename to doxygen-docs/html/search/variables_b.html diff --git a/docs/html/search/variables_b.js b/doxygen-docs/html/search/variables_b.js similarity index 100% rename from docs/html/search/variables_b.js rename to doxygen-docs/html/search/variables_b.js diff --git a/docs/html/search/variables_c.html b/doxygen-docs/html/search/variables_c.html similarity index 100% rename from docs/html/search/variables_c.html rename to doxygen-docs/html/search/variables_c.html diff --git a/docs/html/search/variables_c.js b/doxygen-docs/html/search/variables_c.js similarity index 100% rename from docs/html/search/variables_c.js rename to doxygen-docs/html/search/variables_c.js diff --git a/docs/html/search/variables_d.html b/doxygen-docs/html/search/variables_d.html similarity index 100% rename from docs/html/search/variables_d.html rename to doxygen-docs/html/search/variables_d.html diff --git a/docs/html/search/variables_d.js b/doxygen-docs/html/search/variables_d.js similarity index 100% rename from docs/html/search/variables_d.js rename to doxygen-docs/html/search/variables_d.js diff --git a/docs/html/search/variables_e.html b/doxygen-docs/html/search/variables_e.html similarity index 100% rename from docs/html/search/variables_e.html rename to doxygen-docs/html/search/variables_e.html diff --git a/docs/html/search/variables_e.js b/doxygen-docs/html/search/variables_e.js similarity index 100% rename from docs/html/search/variables_e.js rename to doxygen-docs/html/search/variables_e.js diff --git a/docs/html/search/variables_f.html b/doxygen-docs/html/search/variables_f.html similarity index 100% rename from docs/html/search/variables_f.html rename to doxygen-docs/html/search/variables_f.html diff --git a/docs/html/search/variables_f.js b/doxygen-docs/html/search/variables_f.js similarity index 100% rename from docs/html/search/variables_f.js rename to doxygen-docs/html/search/variables_f.js diff --git a/docs/html/seekablestream_8h.html b/doxygen-docs/html/seekablestream_8h.html similarity index 100% rename from docs/html/seekablestream_8h.html rename to doxygen-docs/html/seekablestream_8h.html diff --git a/docs/html/seekablestream_8h.js b/doxygen-docs/html/seekablestream_8h.js similarity index 100% rename from docs/html/seekablestream_8h.js rename to doxygen-docs/html/seekablestream_8h.js diff --git a/docs/html/seekablestream_8h_source.html b/doxygen-docs/html/seekablestream_8h_source.html similarity index 100% rename from docs/html/seekablestream_8h_source.html rename to doxygen-docs/html/seekablestream_8h_source.html diff --git a/docs/html/splitbar.png b/doxygen-docs/html/splitbar.png similarity index 100% rename from docs/html/splitbar.png rename to doxygen-docs/html/splitbar.png diff --git a/docs/html/statusled_8cpp.html b/doxygen-docs/html/statusled_8cpp.html similarity index 100% rename from docs/html/statusled_8cpp.html rename to doxygen-docs/html/statusled_8cpp.html diff --git a/docs/html/statusled_8cpp__incl.map b/doxygen-docs/html/statusled_8cpp__incl.map similarity index 100% rename from docs/html/statusled_8cpp__incl.map rename to doxygen-docs/html/statusled_8cpp__incl.map diff --git a/docs/html/statusled_8cpp__incl.md5 b/doxygen-docs/html/statusled_8cpp__incl.md5 similarity index 100% rename from docs/html/statusled_8cpp__incl.md5 rename to doxygen-docs/html/statusled_8cpp__incl.md5 diff --git a/docs/html/statusled_8cpp__incl.png b/doxygen-docs/html/statusled_8cpp__incl.png similarity index 100% rename from docs/html/statusled_8cpp__incl.png rename to doxygen-docs/html/statusled_8cpp__incl.png diff --git a/docs/html/statusled_8h.html b/doxygen-docs/html/statusled_8h.html similarity index 100% rename from docs/html/statusled_8h.html rename to doxygen-docs/html/statusled_8h.html diff --git a/docs/html/statusled_8h.js b/doxygen-docs/html/statusled_8h.js similarity index 100% rename from docs/html/statusled_8h.js rename to doxygen-docs/html/statusled_8h.js diff --git a/docs/html/statusled_8h__dep__incl.map b/doxygen-docs/html/statusled_8h__dep__incl.map similarity index 100% rename from docs/html/statusled_8h__dep__incl.map rename to doxygen-docs/html/statusled_8h__dep__incl.map diff --git a/docs/html/statusled_8h__dep__incl.md5 b/doxygen-docs/html/statusled_8h__dep__incl.md5 similarity index 100% rename from docs/html/statusled_8h__dep__incl.md5 rename to doxygen-docs/html/statusled_8h__dep__incl.md5 diff --git a/docs/html/statusled_8h__dep__incl.png b/doxygen-docs/html/statusled_8h__dep__incl.png similarity index 100% rename from docs/html/statusled_8h__dep__incl.png rename to doxygen-docs/html/statusled_8h__dep__incl.png diff --git a/docs/html/statusled_8h__incl.map b/doxygen-docs/html/statusled_8h__incl.map similarity index 100% rename from docs/html/statusled_8h__incl.map rename to doxygen-docs/html/statusled_8h__incl.map diff --git a/docs/html/statusled_8h__incl.md5 b/doxygen-docs/html/statusled_8h__incl.md5 similarity index 100% rename from docs/html/statusled_8h__incl.md5 rename to doxygen-docs/html/statusled_8h__incl.md5 diff --git a/docs/html/statusled_8h__incl.png b/doxygen-docs/html/statusled_8h__incl.png similarity index 100% rename from docs/html/statusled_8h__incl.png rename to doxygen-docs/html/statusled_8h__incl.png diff --git a/docs/html/statusled_8h_source.html b/doxygen-docs/html/statusled_8h_source.html similarity index 100% rename from docs/html/statusled_8h_source.html rename to doxygen-docs/html/statusled_8h_source.html diff --git a/docs/html/streamlog_8cpp.html b/doxygen-docs/html/streamlog_8cpp.html similarity index 100% rename from docs/html/streamlog_8cpp.html rename to doxygen-docs/html/streamlog_8cpp.html diff --git a/docs/html/streamlog_8cpp.js b/doxygen-docs/html/streamlog_8cpp.js similarity index 100% rename from docs/html/streamlog_8cpp.js rename to doxygen-docs/html/streamlog_8cpp.js diff --git a/docs/html/streamlog_8cpp__incl.map b/doxygen-docs/html/streamlog_8cpp__incl.map similarity index 100% rename from docs/html/streamlog_8cpp__incl.map rename to doxygen-docs/html/streamlog_8cpp__incl.map diff --git a/docs/html/streamlog_8cpp__incl.md5 b/doxygen-docs/html/streamlog_8cpp__incl.md5 similarity index 100% rename from docs/html/streamlog_8cpp__incl.md5 rename to doxygen-docs/html/streamlog_8cpp__incl.md5 diff --git a/docs/html/streamlog_8cpp__incl.png b/doxygen-docs/html/streamlog_8cpp__incl.png similarity index 100% rename from docs/html/streamlog_8cpp__incl.png rename to doxygen-docs/html/streamlog_8cpp__incl.png diff --git a/docs/html/streamlog_8h.html b/doxygen-docs/html/streamlog_8h.html similarity index 100% rename from docs/html/streamlog_8h.html rename to doxygen-docs/html/streamlog_8h.html diff --git a/docs/html/streamlog_8h.js b/doxygen-docs/html/streamlog_8h.js similarity index 100% rename from docs/html/streamlog_8h.js rename to doxygen-docs/html/streamlog_8h.js diff --git a/docs/html/streamlog_8h__dep__incl.map b/doxygen-docs/html/streamlog_8h__dep__incl.map similarity index 100% rename from docs/html/streamlog_8h__dep__incl.map rename to doxygen-docs/html/streamlog_8h__dep__incl.map diff --git a/docs/html/streamlog_8h__dep__incl.md5 b/doxygen-docs/html/streamlog_8h__dep__incl.md5 similarity index 100% rename from docs/html/streamlog_8h__dep__incl.md5 rename to doxygen-docs/html/streamlog_8h__dep__incl.md5 diff --git a/docs/html/streamlog_8h__dep__incl.png b/doxygen-docs/html/streamlog_8h__dep__incl.png similarity index 100% rename from docs/html/streamlog_8h__dep__incl.png rename to doxygen-docs/html/streamlog_8h__dep__incl.png diff --git a/docs/html/streamlog_8h__incl.map b/doxygen-docs/html/streamlog_8h__incl.map similarity index 100% rename from docs/html/streamlog_8h__incl.map rename to doxygen-docs/html/streamlog_8h__incl.map diff --git a/docs/html/streamlog_8h__incl.md5 b/doxygen-docs/html/streamlog_8h__incl.md5 similarity index 100% rename from docs/html/streamlog_8h__incl.md5 rename to doxygen-docs/html/streamlog_8h__incl.md5 diff --git a/docs/html/streamlog_8h__incl.png b/doxygen-docs/html/streamlog_8h__incl.png similarity index 100% rename from docs/html/streamlog_8h__incl.png rename to doxygen-docs/html/streamlog_8h__incl.png diff --git a/docs/html/streamlog_8h_source.html b/doxygen-docs/html/streamlog_8h_source.html similarity index 100% rename from docs/html/streamlog_8h_source.html rename to doxygen-docs/html/streamlog_8h_source.html diff --git a/docs/html/structreg__t-members.html b/doxygen-docs/html/structreg__t-members.html similarity index 100% rename from docs/html/structreg__t-members.html rename to doxygen-docs/html/structreg__t-members.html diff --git a/docs/html/structreg__t.html b/doxygen-docs/html/structreg__t.html similarity index 100% rename from docs/html/structreg__t.html rename to doxygen-docs/html/structreg__t.html diff --git a/docs/html/structreg__t.js b/doxygen-docs/html/structreg__t.js similarity index 100% rename from docs/html/structreg__t.js rename to doxygen-docs/html/structreg__t.js diff --git a/docs/html/structserial__st-members.html b/doxygen-docs/html/structserial__st-members.html similarity index 100% rename from docs/html/structserial__st-members.html rename to doxygen-docs/html/structserial__st-members.html diff --git a/docs/html/structserial__st.html b/doxygen-docs/html/structserial__st.html similarity index 100% rename from docs/html/structserial__st.html rename to doxygen-docs/html/structserial__st.html diff --git a/docs/html/structserial__st.js b/doxygen-docs/html/structserial__st.js similarity index 100% rename from docs/html/structserial__st.js rename to doxygen-docs/html/structserial__st.js diff --git a/docs/html/structserial__t-members.html b/doxygen-docs/html/structserial__t-members.html similarity index 100% rename from docs/html/structserial__t-members.html rename to doxygen-docs/html/structserial__t-members.html diff --git a/docs/html/structserial__t.html b/doxygen-docs/html/structserial__t.html similarity index 100% rename from docs/html/structserial__t.html rename to doxygen-docs/html/structserial__t.html diff --git a/docs/html/structsystem_config_data-members.html b/doxygen-docs/html/structsystem_config_data-members.html similarity index 100% rename from docs/html/structsystem_config_data-members.html rename to doxygen-docs/html/structsystem_config_data-members.html diff --git a/docs/html/structsystem_config_data.html b/doxygen-docs/html/structsystem_config_data.html similarity index 100% rename from docs/html/structsystem_config_data.html rename to doxygen-docs/html/structsystem_config_data.html diff --git a/docs/html/structsystem_config_data.js b/doxygen-docs/html/structsystem_config_data.js similarity index 100% rename from docs/html/structsystem_config_data.js rename to doxygen-docs/html/structsystem_config_data.js diff --git a/docs/html/sync_off.png b/doxygen-docs/html/sync_off.png similarity index 100% rename from docs/html/sync_off.png rename to doxygen-docs/html/sync_off.png diff --git a/docs/html/sync_on.png b/doxygen-docs/html/sync_on.png similarity index 100% rename from docs/html/sync_on.png rename to doxygen-docs/html/sync_on.png diff --git a/docs/html/systemconfigdata_8h.html b/doxygen-docs/html/systemconfigdata_8h.html similarity index 100% rename from docs/html/systemconfigdata_8h.html rename to doxygen-docs/html/systemconfigdata_8h.html diff --git a/docs/html/systemconfigdata_8h.js b/doxygen-docs/html/systemconfigdata_8h.js similarity index 100% rename from docs/html/systemconfigdata_8h.js rename to doxygen-docs/html/systemconfigdata_8h.js diff --git a/docs/html/systemconfigdata_8h_source.html b/doxygen-docs/html/systemconfigdata_8h_source.html similarity index 100% rename from docs/html/systemconfigdata_8h_source.html rename to doxygen-docs/html/systemconfigdata_8h_source.html diff --git a/docs/html/tab_a.png b/doxygen-docs/html/tab_a.png similarity index 100% rename from docs/html/tab_a.png rename to doxygen-docs/html/tab_a.png diff --git a/docs/html/tab_b.png b/doxygen-docs/html/tab_b.png similarity index 100% rename from docs/html/tab_b.png rename to doxygen-docs/html/tab_b.png diff --git a/docs/html/tab_h.png b/doxygen-docs/html/tab_h.png similarity index 100% rename from docs/html/tab_h.png rename to doxygen-docs/html/tab_h.png diff --git a/docs/html/tab_s.png b/doxygen-docs/html/tab_s.png similarity index 100% rename from docs/html/tab_s.png rename to doxygen-docs/html/tab_s.png diff --git a/docs/html/tabs.css b/doxygen-docs/html/tabs.css similarity index 100% rename from docs/html/tabs.css rename to doxygen-docs/html/tabs.css diff --git a/docs/html/textconst_8h.html b/doxygen-docs/html/textconst_8h.html similarity index 100% rename from docs/html/textconst_8h.html rename to doxygen-docs/html/textconst_8h.html diff --git a/docs/html/textconst_8h.js b/doxygen-docs/html/textconst_8h.js similarity index 100% rename from docs/html/textconst_8h.js rename to doxygen-docs/html/textconst_8h.js diff --git a/docs/html/textconst_8h__dep__incl.map b/doxygen-docs/html/textconst_8h__dep__incl.map similarity index 100% rename from docs/html/textconst_8h__dep__incl.map rename to doxygen-docs/html/textconst_8h__dep__incl.map diff --git a/docs/html/textconst_8h__dep__incl.md5 b/doxygen-docs/html/textconst_8h__dep__incl.md5 similarity index 100% rename from docs/html/textconst_8h__dep__incl.md5 rename to doxygen-docs/html/textconst_8h__dep__incl.md5 diff --git a/docs/html/textconst_8h__dep__incl.png b/doxygen-docs/html/textconst_8h__dep__incl.png similarity index 100% rename from docs/html/textconst_8h__dep__incl.png rename to doxygen-docs/html/textconst_8h__dep__incl.png diff --git a/docs/html/textconst_8h_source.html b/doxygen-docs/html/textconst_8h_source.html similarity index 100% rename from docs/html/textconst_8h_source.html rename to doxygen-docs/html/textconst_8h_source.html diff --git a/docs/html/union_u_i_d-members.html b/doxygen-docs/html/union_u_i_d-members.html similarity index 100% rename from docs/html/union_u_i_d-members.html rename to doxygen-docs/html/union_u_i_d-members.html diff --git a/docs/html/union_u_i_d.html b/doxygen-docs/html/union_u_i_d.html similarity index 100% rename from docs/html/union_u_i_d.html rename to doxygen-docs/html/union_u_i_d.html diff --git a/docs/html/union_u_i_d.js b/doxygen-docs/html/union_u_i_d.js similarity index 100% rename from docs/html/union_u_i_d.js rename to doxygen-docs/html/union_u_i_d.js diff --git a/docs/html/unionin_store-members.html b/doxygen-docs/html/unionin_store-members.html similarity index 100% rename from docs/html/unionin_store-members.html rename to doxygen-docs/html/unionin_store-members.html diff --git a/docs/html/unionin_store.html b/doxygen-docs/html/unionin_store.html similarity index 100% rename from docs/html/unionin_store.html rename to doxygen-docs/html/unionin_store.html diff --git a/docs/html/unionin_store.js b/doxygen-docs/html/unionin_store.js similarity index 100% rename from docs/html/unionin_store.js rename to doxygen-docs/html/unionin_store.js diff --git a/docs/html/unionitem_arg_store-members.html b/doxygen-docs/html/unionitem_arg_store-members.html similarity index 100% rename from docs/html/unionitem_arg_store-members.html rename to doxygen-docs/html/unionitem_arg_store-members.html diff --git a/docs/html/unionitem_arg_store.html b/doxygen-docs/html/unionitem_arg_store.html similarity index 100% rename from docs/html/unionitem_arg_store.html rename to doxygen-docs/html/unionitem_arg_store.html diff --git a/docs/html/unionitem_arg_store.js b/doxygen-docs/html/unionitem_arg_store.js similarity index 100% rename from docs/html/unionitem_arg_store.js rename to doxygen-docs/html/unionitem_arg_store.js diff --git a/docs/html/unionitem_cmd_store-members.html b/doxygen-docs/html/unionitem_cmd_store-members.html similarity index 100% rename from docs/html/unionitem_cmd_store-members.html rename to doxygen-docs/html/unionitem_cmd_store-members.html diff --git a/docs/html/unionitem_cmd_store.html b/doxygen-docs/html/unionitem_cmd_store.html similarity index 100% rename from docs/html/unionitem_cmd_store.html rename to doxygen-docs/html/unionitem_cmd_store.html diff --git a/docs/html/unionitem_cmd_store.js b/doxygen-docs/html/unionitem_cmd_store.js similarity index 100% rename from docs/html/unionitem_cmd_store.js rename to doxygen-docs/html/unionitem_cmd_store.js diff --git a/docs/html/unionsystem_config_flags-members.html b/doxygen-docs/html/unionsystem_config_flags-members.html similarity index 100% rename from docs/html/unionsystem_config_flags-members.html rename to doxygen-docs/html/unionsystem_config_flags-members.html diff --git a/docs/html/unionsystem_config_flags.html b/doxygen-docs/html/unionsystem_config_flags.html similarity index 100% rename from docs/html/unionsystem_config_flags.html rename to doxygen-docs/html/unionsystem_config_flags.html diff --git a/docs/html/unionsystem_config_flags.js b/doxygen-docs/html/unionsystem_config_flags.js similarity index 100% rename from docs/html/unionsystem_config_flags.js rename to doxygen-docs/html/unionsystem_config_flags.js diff --git a/docs/html/unionthermostat_store-members.html b/doxygen-docs/html/unionthermostat_store-members.html similarity index 100% rename from docs/html/unionthermostat_store-members.html rename to doxygen-docs/html/unionthermostat_store-members.html diff --git a/docs/html/unionthermostat_store.html b/doxygen-docs/html/unionthermostat_store.html similarity index 100% rename from docs/html/unionthermostat_store.html rename to doxygen-docs/html/unionthermostat_store.html diff --git a/docs/html/unionthermostat_store.js b/doxygen-docs/html/unionthermostat_store.js similarity index 100% rename from docs/html/unionthermostat_store.js rename to doxygen-docs/html/unionthermostat_store.js diff --git a/docs/html/utils_8cpp.html b/doxygen-docs/html/utils_8cpp.html similarity index 100% rename from docs/html/utils_8cpp.html rename to doxygen-docs/html/utils_8cpp.html diff --git a/docs/html/utils_8cpp.js b/doxygen-docs/html/utils_8cpp.js similarity index 100% rename from docs/html/utils_8cpp.js rename to doxygen-docs/html/utils_8cpp.js diff --git a/docs/html/utils_8cpp__incl.map b/doxygen-docs/html/utils_8cpp__incl.map similarity index 100% rename from docs/html/utils_8cpp__incl.map rename to doxygen-docs/html/utils_8cpp__incl.map diff --git a/docs/html/utils_8cpp__incl.md5 b/doxygen-docs/html/utils_8cpp__incl.md5 similarity index 100% rename from docs/html/utils_8cpp__incl.md5 rename to doxygen-docs/html/utils_8cpp__incl.md5 diff --git a/docs/html/utils_8cpp__incl.png b/doxygen-docs/html/utils_8cpp__incl.png similarity index 100% rename from docs/html/utils_8cpp__incl.png rename to doxygen-docs/html/utils_8cpp__incl.png diff --git a/docs/html/utils_8h.html b/doxygen-docs/html/utils_8h.html similarity index 100% rename from docs/html/utils_8h.html rename to doxygen-docs/html/utils_8h.html diff --git a/docs/html/utils_8h.js b/doxygen-docs/html/utils_8h.js similarity index 100% rename from docs/html/utils_8h.js rename to doxygen-docs/html/utils_8h.js diff --git a/docs/html/utils_8h__dep__incl.map b/doxygen-docs/html/utils_8h__dep__incl.map similarity index 100% rename from docs/html/utils_8h__dep__incl.map rename to doxygen-docs/html/utils_8h__dep__incl.map diff --git a/docs/html/utils_8h__dep__incl.md5 b/doxygen-docs/html/utils_8h__dep__incl.md5 similarity index 100% rename from docs/html/utils_8h__dep__incl.md5 rename to doxygen-docs/html/utils_8h__dep__incl.md5 diff --git a/docs/html/utils_8h__dep__incl.png b/doxygen-docs/html/utils_8h__dep__incl.png similarity index 100% rename from docs/html/utils_8h__dep__incl.png rename to doxygen-docs/html/utils_8h__dep__incl.png diff --git a/docs/html/utils_8h__incl.map b/doxygen-docs/html/utils_8h__incl.map similarity index 100% rename from docs/html/utils_8h__incl.map rename to doxygen-docs/html/utils_8h__incl.map diff --git a/docs/html/utils_8h__incl.md5 b/doxygen-docs/html/utils_8h__incl.md5 similarity index 100% rename from docs/html/utils_8h__incl.md5 rename to doxygen-docs/html/utils_8h__incl.md5 diff --git a/docs/html/utils_8h__incl.png b/doxygen-docs/html/utils_8h__incl.png similarity index 100% rename from docs/html/utils_8h__incl.png rename to doxygen-docs/html/utils_8h__incl.png diff --git a/docs/html/utils_8h_source.html b/doxygen-docs/html/utils_8h_source.html similarity index 100% rename from docs/html/utils_8h_source.html rename to doxygen-docs/html/utils_8h_source.html diff --git a/docs/latex/Makefile b/doxygen-docs/latex/Makefile similarity index 100% rename from docs/latex/Makefile rename to doxygen-docs/latex/Makefile diff --git a/docs/latex/abstractch_8cpp.tex b/doxygen-docs/latex/abstractch_8cpp.tex similarity index 100% rename from docs/latex/abstractch_8cpp.tex rename to doxygen-docs/latex/abstractch_8cpp.tex diff --git a/docs/latex/abstractch_8cpp__incl.md5 b/doxygen-docs/latex/abstractch_8cpp__incl.md5 similarity index 100% rename from docs/latex/abstractch_8cpp__incl.md5 rename to doxygen-docs/latex/abstractch_8cpp__incl.md5 diff --git a/docs/latex/abstractch_8cpp__incl.pdf b/doxygen-docs/latex/abstractch_8cpp__incl.pdf similarity index 100% rename from docs/latex/abstractch_8cpp__incl.pdf rename to doxygen-docs/latex/abstractch_8cpp__incl.pdf diff --git a/docs/latex/abstractch_8h.tex b/doxygen-docs/latex/abstractch_8h.tex similarity index 100% rename from docs/latex/abstractch_8h.tex rename to doxygen-docs/latex/abstractch_8h.tex diff --git a/docs/latex/abstractch_8h__dep__incl.md5 b/doxygen-docs/latex/abstractch_8h__dep__incl.md5 similarity index 100% rename from docs/latex/abstractch_8h__dep__incl.md5 rename to doxygen-docs/latex/abstractch_8h__dep__incl.md5 diff --git a/docs/latex/abstractch_8h__dep__incl.pdf b/doxygen-docs/latex/abstractch_8h__dep__incl.pdf similarity index 100% rename from docs/latex/abstractch_8h__dep__incl.pdf rename to doxygen-docs/latex/abstractch_8h__dep__incl.pdf diff --git a/docs/latex/abstractch_8h__incl.md5 b/doxygen-docs/latex/abstractch_8h__incl.md5 similarity index 100% rename from docs/latex/abstractch_8h__incl.md5 rename to doxygen-docs/latex/abstractch_8h__incl.md5 diff --git a/docs/latex/abstractch_8h__incl.pdf b/doxygen-docs/latex/abstractch_8h__incl.pdf similarity index 100% rename from docs/latex/abstractch_8h__incl.pdf rename to doxygen-docs/latex/abstractch_8h__incl.pdf diff --git a/docs/latex/abstractin_8cpp.tex b/doxygen-docs/latex/abstractin_8cpp.tex similarity index 100% rename from docs/latex/abstractin_8cpp.tex rename to doxygen-docs/latex/abstractin_8cpp.tex diff --git a/docs/latex/abstractin_8cpp__incl.md5 b/doxygen-docs/latex/abstractin_8cpp__incl.md5 similarity index 100% rename from docs/latex/abstractin_8cpp__incl.md5 rename to doxygen-docs/latex/abstractin_8cpp__incl.md5 diff --git a/docs/latex/abstractin_8cpp__incl.pdf b/doxygen-docs/latex/abstractin_8cpp__incl.pdf similarity index 100% rename from docs/latex/abstractin_8cpp__incl.pdf rename to doxygen-docs/latex/abstractin_8cpp__incl.pdf diff --git a/docs/latex/abstractin_8h.tex b/doxygen-docs/latex/abstractin_8h.tex similarity index 100% rename from docs/latex/abstractin_8h.tex rename to doxygen-docs/latex/abstractin_8h.tex diff --git a/docs/latex/abstractin_8h__dep__incl.md5 b/doxygen-docs/latex/abstractin_8h__dep__incl.md5 similarity index 100% rename from docs/latex/abstractin_8h__dep__incl.md5 rename to doxygen-docs/latex/abstractin_8h__dep__incl.md5 diff --git a/docs/latex/abstractin_8h__dep__incl.pdf b/doxygen-docs/latex/abstractin_8h__dep__incl.pdf similarity index 100% rename from docs/latex/abstractin_8h__dep__incl.pdf rename to doxygen-docs/latex/abstractin_8h__dep__incl.pdf diff --git a/docs/latex/abstractin_8h__incl.md5 b/doxygen-docs/latex/abstractin_8h__incl.md5 similarity index 100% rename from docs/latex/abstractin_8h__incl.md5 rename to doxygen-docs/latex/abstractin_8h__incl.md5 diff --git a/docs/latex/abstractin_8h__incl.pdf b/doxygen-docs/latex/abstractin_8h__incl.pdf similarity index 100% rename from docs/latex/abstractin_8h__incl.pdf rename to doxygen-docs/latex/abstractin_8h__incl.pdf diff --git a/docs/latex/abstractout_8cpp.tex b/doxygen-docs/latex/abstractout_8cpp.tex similarity index 100% rename from docs/latex/abstractout_8cpp.tex rename to doxygen-docs/latex/abstractout_8cpp.tex diff --git a/docs/latex/abstractout_8h.tex b/doxygen-docs/latex/abstractout_8h.tex similarity index 100% rename from docs/latex/abstractout_8h.tex rename to doxygen-docs/latex/abstractout_8h.tex diff --git a/docs/latex/abstractout_8h__dep__incl.md5 b/doxygen-docs/latex/abstractout_8h__dep__incl.md5 similarity index 100% rename from docs/latex/abstractout_8h__dep__incl.md5 rename to doxygen-docs/latex/abstractout_8h__dep__incl.md5 diff --git a/docs/latex/abstractout_8h__dep__incl.pdf b/doxygen-docs/latex/abstractout_8h__dep__incl.pdf similarity index 100% rename from docs/latex/abstractout_8h__dep__incl.pdf rename to doxygen-docs/latex/abstractout_8h__dep__incl.pdf diff --git a/docs/latex/abstractout_8h__incl.md5 b/doxygen-docs/latex/abstractout_8h__incl.md5 similarity index 100% rename from docs/latex/abstractout_8h__incl.md5 rename to doxygen-docs/latex/abstractout_8h__incl.md5 diff --git a/docs/latex/abstractout_8h__incl.pdf b/doxygen-docs/latex/abstractout_8h__incl.pdf similarity index 100% rename from docs/latex/abstractout_8h__incl.pdf rename to doxygen-docs/latex/abstractout_8h__incl.pdf diff --git a/docs/latex/annotated.tex b/doxygen-docs/latex/annotated.tex similarity index 100% rename from docs/latex/annotated.tex rename to doxygen-docs/latex/annotated.tex diff --git a/docs/latex/bright_8cpp.tex b/doxygen-docs/latex/bright_8cpp.tex similarity index 100% rename from docs/latex/bright_8cpp.tex rename to doxygen-docs/latex/bright_8cpp.tex diff --git a/docs/latex/bright_8cpp__incl.md5 b/doxygen-docs/latex/bright_8cpp__incl.md5 similarity index 100% rename from docs/latex/bright_8cpp__incl.md5 rename to doxygen-docs/latex/bright_8cpp__incl.md5 diff --git a/docs/latex/bright_8cpp__incl.pdf b/doxygen-docs/latex/bright_8cpp__incl.pdf similarity index 100% rename from docs/latex/bright_8cpp__incl.pdf rename to doxygen-docs/latex/bright_8cpp__incl.pdf diff --git a/docs/latex/bright_8h.tex b/doxygen-docs/latex/bright_8h.tex similarity index 100% rename from docs/latex/bright_8h.tex rename to doxygen-docs/latex/bright_8h.tex diff --git a/docs/latex/bright_8h__dep__incl.md5 b/doxygen-docs/latex/bright_8h__dep__incl.md5 similarity index 100% rename from docs/latex/bright_8h__dep__incl.md5 rename to doxygen-docs/latex/bright_8h__dep__incl.md5 diff --git a/docs/latex/bright_8h__dep__incl.pdf b/doxygen-docs/latex/bright_8h__dep__incl.pdf similarity index 100% rename from docs/latex/bright_8h__dep__incl.pdf rename to doxygen-docs/latex/bright_8h__dep__incl.pdf diff --git a/docs/latex/bright_8h__incl.md5 b/doxygen-docs/latex/bright_8h__incl.md5 similarity index 100% rename from docs/latex/bright_8h__incl.md5 rename to doxygen-docs/latex/bright_8h__incl.md5 diff --git a/docs/latex/bright_8h__incl.pdf b/doxygen-docs/latex/bright_8h__incl.pdf similarity index 100% rename from docs/latex/bright_8h__incl.pdf rename to doxygen-docs/latex/bright_8h__incl.pdf diff --git a/docs/latex/class_input.tex b/doxygen-docs/latex/class_input.tex similarity index 100% rename from docs/latex/class_input.tex rename to doxygen-docs/latex/class_input.tex diff --git a/docs/latex/class_input__coll__graph.md5 b/doxygen-docs/latex/class_input__coll__graph.md5 similarity index 100% rename from docs/latex/class_input__coll__graph.md5 rename to doxygen-docs/latex/class_input__coll__graph.md5 diff --git a/docs/latex/class_input__coll__graph.pdf b/doxygen-docs/latex/class_input__coll__graph.pdf similarity index 100% rename from docs/latex/class_input__coll__graph.pdf rename to doxygen-docs/latex/class_input__coll__graph.pdf diff --git a/docs/latex/class_item.tex b/doxygen-docs/latex/class_item.tex similarity index 100% rename from docs/latex/class_item.tex rename to doxygen-docs/latex/class_item.tex diff --git a/docs/latex/class_item__coll__graph.md5 b/doxygen-docs/latex/class_item__coll__graph.md5 similarity index 100% rename from docs/latex/class_item__coll__graph.md5 rename to doxygen-docs/latex/class_item__coll__graph.md5 diff --git a/docs/latex/class_item__coll__graph.pdf b/doxygen-docs/latex/class_item__coll__graph.pdf similarity index 100% rename from docs/latex/class_item__coll__graph.pdf rename to doxygen-docs/latex/class_item__coll__graph.pdf diff --git a/docs/latex/class_status_l_e_d.tex b/doxygen-docs/latex/class_status_l_e_d.tex similarity index 100% rename from docs/latex/class_status_l_e_d.tex rename to doxygen-docs/latex/class_status_l_e_d.tex diff --git a/docs/latex/class_streamlog.eps b/doxygen-docs/latex/class_streamlog.eps similarity index 100% rename from docs/latex/class_streamlog.eps rename to doxygen-docs/latex/class_streamlog.eps diff --git a/docs/latex/class_streamlog.tex b/doxygen-docs/latex/class_streamlog.tex similarity index 100% rename from docs/latex/class_streamlog.tex rename to doxygen-docs/latex/class_streamlog.tex diff --git a/docs/latex/class_streamlog__coll__graph.md5 b/doxygen-docs/latex/class_streamlog__coll__graph.md5 similarity index 100% rename from docs/latex/class_streamlog__coll__graph.md5 rename to doxygen-docs/latex/class_streamlog__coll__graph.md5 diff --git a/docs/latex/class_streamlog__coll__graph.pdf b/doxygen-docs/latex/class_streamlog__coll__graph.pdf similarity index 100% rename from docs/latex/class_streamlog__coll__graph.pdf rename to doxygen-docs/latex/class_streamlog__coll__graph.pdf diff --git a/docs/latex/class_streamlog__inherit__graph.md5 b/doxygen-docs/latex/class_streamlog__inherit__graph.md5 similarity index 100% rename from docs/latex/class_streamlog__inherit__graph.md5 rename to doxygen-docs/latex/class_streamlog__inherit__graph.md5 diff --git a/docs/latex/class_streamlog__inherit__graph.pdf b/doxygen-docs/latex/class_streamlog__inherit__graph.pdf similarity index 100% rename from docs/latex/class_streamlog__inherit__graph.pdf rename to doxygen-docs/latex/class_streamlog__inherit__graph.pdf diff --git a/docs/latex/classabstract_ch.eps b/doxygen-docs/latex/classabstract_ch.eps similarity index 100% rename from docs/latex/classabstract_ch.eps rename to doxygen-docs/latex/classabstract_ch.eps diff --git a/docs/latex/classabstract_ch.tex b/doxygen-docs/latex/classabstract_ch.tex similarity index 100% rename from docs/latex/classabstract_ch.tex rename to doxygen-docs/latex/classabstract_ch.tex diff --git a/docs/latex/classabstract_ch__inherit__graph.md5 b/doxygen-docs/latex/classabstract_ch__inherit__graph.md5 similarity index 100% rename from docs/latex/classabstract_ch__inherit__graph.md5 rename to doxygen-docs/latex/classabstract_ch__inherit__graph.md5 diff --git a/docs/latex/classabstract_ch__inherit__graph.pdf b/doxygen-docs/latex/classabstract_ch__inherit__graph.pdf similarity index 100% rename from docs/latex/classabstract_ch__inherit__graph.pdf rename to doxygen-docs/latex/classabstract_ch__inherit__graph.pdf diff --git a/docs/latex/classabstract_in.eps b/doxygen-docs/latex/classabstract_in.eps similarity index 100% rename from docs/latex/classabstract_in.eps rename to doxygen-docs/latex/classabstract_in.eps diff --git a/docs/latex/classabstract_in.tex b/doxygen-docs/latex/classabstract_in.tex similarity index 100% rename from docs/latex/classabstract_in.tex rename to doxygen-docs/latex/classabstract_in.tex diff --git a/docs/latex/classabstract_in__coll__graph.md5 b/doxygen-docs/latex/classabstract_in__coll__graph.md5 similarity index 100% rename from docs/latex/classabstract_in__coll__graph.md5 rename to doxygen-docs/latex/classabstract_in__coll__graph.md5 diff --git a/docs/latex/classabstract_in__coll__graph.pdf b/doxygen-docs/latex/classabstract_in__coll__graph.pdf similarity index 100% rename from docs/latex/classabstract_in__coll__graph.pdf rename to doxygen-docs/latex/classabstract_in__coll__graph.pdf diff --git a/docs/latex/classabstract_in__inherit__graph.md5 b/doxygen-docs/latex/classabstract_in__inherit__graph.md5 similarity index 100% rename from docs/latex/classabstract_in__inherit__graph.md5 rename to doxygen-docs/latex/classabstract_in__inherit__graph.md5 diff --git a/docs/latex/classabstract_in__inherit__graph.pdf b/doxygen-docs/latex/classabstract_in__inherit__graph.pdf similarity index 100% rename from docs/latex/classabstract_in__inherit__graph.pdf rename to doxygen-docs/latex/classabstract_in__inherit__graph.pdf diff --git a/docs/latex/classabstract_out.eps b/doxygen-docs/latex/classabstract_out.eps similarity index 100% rename from docs/latex/classabstract_out.eps rename to doxygen-docs/latex/classabstract_out.eps diff --git a/docs/latex/classabstract_out.tex b/doxygen-docs/latex/classabstract_out.tex similarity index 100% rename from docs/latex/classabstract_out.tex rename to doxygen-docs/latex/classabstract_out.tex diff --git a/docs/latex/classabstract_out__coll__graph.md5 b/doxygen-docs/latex/classabstract_out__coll__graph.md5 similarity index 100% rename from docs/latex/classabstract_out__coll__graph.md5 rename to doxygen-docs/latex/classabstract_out__coll__graph.md5 diff --git a/docs/latex/classabstract_out__coll__graph.pdf b/doxygen-docs/latex/classabstract_out__coll__graph.pdf similarity index 100% rename from docs/latex/classabstract_out__coll__graph.pdf rename to doxygen-docs/latex/classabstract_out__coll__graph.pdf diff --git a/docs/latex/classabstract_out__inherit__graph.md5 b/doxygen-docs/latex/classabstract_out__inherit__graph.md5 similarity index 100% rename from docs/latex/classabstract_out__inherit__graph.md5 rename to doxygen-docs/latex/classabstract_out__inherit__graph.md5 diff --git a/docs/latex/classabstract_out__inherit__graph.pdf b/doxygen-docs/latex/classabstract_out__inherit__graph.pdf similarity index 100% rename from docs/latex/classabstract_out__inherit__graph.pdf rename to doxygen-docs/latex/classabstract_out__inherit__graph.pdf diff --git a/docs/latex/classch_persistent.eps b/doxygen-docs/latex/classch_persistent.eps similarity index 100% rename from docs/latex/classch_persistent.eps rename to doxygen-docs/latex/classch_persistent.eps diff --git a/docs/latex/classch_persistent.tex b/doxygen-docs/latex/classch_persistent.tex similarity index 100% rename from docs/latex/classch_persistent.tex rename to doxygen-docs/latex/classch_persistent.tex diff --git a/docs/latex/classch_persistent__inherit__graph.md5 b/doxygen-docs/latex/classch_persistent__inherit__graph.md5 similarity index 100% rename from docs/latex/classch_persistent__inherit__graph.md5 rename to doxygen-docs/latex/classch_persistent__inherit__graph.md5 diff --git a/docs/latex/classch_persistent__inherit__graph.pdf b/doxygen-docs/latex/classch_persistent__inherit__graph.pdf similarity index 100% rename from docs/latex/classch_persistent__inherit__graph.pdf rename to doxygen-docs/latex/classch_persistent__inherit__graph.pdf diff --git a/docs/latex/classcolor_channel.eps b/doxygen-docs/latex/classcolor_channel.eps similarity index 100% rename from docs/latex/classcolor_channel.eps rename to doxygen-docs/latex/classcolor_channel.eps diff --git a/docs/latex/classcolor_channel.tex b/doxygen-docs/latex/classcolor_channel.tex similarity index 100% rename from docs/latex/classcolor_channel.tex rename to doxygen-docs/latex/classcolor_channel.tex diff --git a/docs/latex/classcolor_channel__coll__graph.md5 b/doxygen-docs/latex/classcolor_channel__coll__graph.md5 similarity index 100% rename from docs/latex/classcolor_channel__coll__graph.md5 rename to doxygen-docs/latex/classcolor_channel__coll__graph.md5 diff --git a/docs/latex/classcolor_channel__coll__graph.pdf b/doxygen-docs/latex/classcolor_channel__coll__graph.pdf similarity index 100% rename from docs/latex/classcolor_channel__coll__graph.pdf rename to doxygen-docs/latex/classcolor_channel__coll__graph.pdf diff --git a/docs/latex/classcolor_channel__inherit__graph.md5 b/doxygen-docs/latex/classcolor_channel__inherit__graph.md5 similarity index 100% rename from docs/latex/classcolor_channel__inherit__graph.md5 rename to doxygen-docs/latex/classcolor_channel__inherit__graph.md5 diff --git a/docs/latex/classcolor_channel__inherit__graph.pdf b/doxygen-docs/latex/classcolor_channel__inherit__graph.pdf similarity index 100% rename from docs/latex/classcolor_channel__inherit__graph.pdf rename to doxygen-docs/latex/classcolor_channel__inherit__graph.pdf diff --git a/docs/latex/classflash_stream.eps b/doxygen-docs/latex/classflash_stream.eps similarity index 100% rename from docs/latex/classflash_stream.eps rename to doxygen-docs/latex/classflash_stream.eps diff --git a/docs/latex/classflash_stream.tex b/doxygen-docs/latex/classflash_stream.tex similarity index 100% rename from docs/latex/classflash_stream.tex rename to doxygen-docs/latex/classflash_stream.tex diff --git a/docs/latex/classin__ccs811.eps b/doxygen-docs/latex/classin__ccs811.eps similarity index 100% rename from docs/latex/classin__ccs811.eps rename to doxygen-docs/latex/classin__ccs811.eps diff --git a/docs/latex/classin__ccs811.tex b/doxygen-docs/latex/classin__ccs811.tex similarity index 100% rename from docs/latex/classin__ccs811.tex rename to doxygen-docs/latex/classin__ccs811.tex diff --git a/docs/latex/classin__ccs811__coll__graph.md5 b/doxygen-docs/latex/classin__ccs811__coll__graph.md5 similarity index 100% rename from docs/latex/classin__ccs811__coll__graph.md5 rename to doxygen-docs/latex/classin__ccs811__coll__graph.md5 diff --git a/docs/latex/classin__ccs811__coll__graph.pdf b/doxygen-docs/latex/classin__ccs811__coll__graph.pdf similarity index 100% rename from docs/latex/classin__ccs811__coll__graph.pdf rename to doxygen-docs/latex/classin__ccs811__coll__graph.pdf diff --git a/docs/latex/classin__ccs811__inherit__graph.md5 b/doxygen-docs/latex/classin__ccs811__inherit__graph.md5 similarity index 100% rename from docs/latex/classin__ccs811__inherit__graph.md5 rename to doxygen-docs/latex/classin__ccs811__inherit__graph.md5 diff --git a/docs/latex/classin__ccs811__inherit__graph.pdf b/doxygen-docs/latex/classin__ccs811__inherit__graph.pdf similarity index 100% rename from docs/latex/classin__ccs811__inherit__graph.pdf rename to doxygen-docs/latex/classin__ccs811__inherit__graph.pdf diff --git a/docs/latex/classin__hdc1080.eps b/doxygen-docs/latex/classin__hdc1080.eps similarity index 100% rename from docs/latex/classin__hdc1080.eps rename to doxygen-docs/latex/classin__hdc1080.eps diff --git a/docs/latex/classin__hdc1080.tex b/doxygen-docs/latex/classin__hdc1080.tex similarity index 100% rename from docs/latex/classin__hdc1080.tex rename to doxygen-docs/latex/classin__hdc1080.tex diff --git a/docs/latex/classin__hdc1080__coll__graph.md5 b/doxygen-docs/latex/classin__hdc1080__coll__graph.md5 similarity index 100% rename from docs/latex/classin__hdc1080__coll__graph.md5 rename to doxygen-docs/latex/classin__hdc1080__coll__graph.md5 diff --git a/docs/latex/classin__hdc1080__coll__graph.pdf b/doxygen-docs/latex/classin__hdc1080__coll__graph.pdf similarity index 100% rename from docs/latex/classin__hdc1080__coll__graph.pdf rename to doxygen-docs/latex/classin__hdc1080__coll__graph.pdf diff --git a/docs/latex/classin__hdc1080__inherit__graph.md5 b/doxygen-docs/latex/classin__hdc1080__inherit__graph.md5 similarity index 100% rename from docs/latex/classin__hdc1080__inherit__graph.md5 rename to doxygen-docs/latex/classin__hdc1080__inherit__graph.md5 diff --git a/docs/latex/classin__hdc1080__inherit__graph.pdf b/doxygen-docs/latex/classin__hdc1080__inherit__graph.pdf similarity index 100% rename from docs/latex/classin__hdc1080__inherit__graph.pdf rename to doxygen-docs/latex/classin__hdc1080__inherit__graph.pdf diff --git a/docs/latex/classitem_cmd.tex b/doxygen-docs/latex/classitem_cmd.tex similarity index 100% rename from docs/latex/classitem_cmd.tex rename to doxygen-docs/latex/classitem_cmd.tex diff --git a/docs/latex/classitem_cmd__coll__graph.md5 b/doxygen-docs/latex/classitem_cmd__coll__graph.md5 similarity index 100% rename from docs/latex/classitem_cmd__coll__graph.md5 rename to doxygen-docs/latex/classitem_cmd__coll__graph.md5 diff --git a/docs/latex/classitem_cmd__coll__graph.pdf b/doxygen-docs/latex/classitem_cmd__coll__graph.pdf similarity index 100% rename from docs/latex/classitem_cmd__coll__graph.pdf rename to doxygen-docs/latex/classitem_cmd__coll__graph.pdf diff --git a/docs/latex/classmb_persistent.eps b/doxygen-docs/latex/classmb_persistent.eps similarity index 100% rename from docs/latex/classmb_persistent.eps rename to doxygen-docs/latex/classmb_persistent.eps diff --git a/docs/latex/classmb_persistent.tex b/doxygen-docs/latex/classmb_persistent.tex similarity index 100% rename from docs/latex/classmb_persistent.tex rename to doxygen-docs/latex/classmb_persistent.tex diff --git a/docs/latex/classmb_persistent__coll__graph.md5 b/doxygen-docs/latex/classmb_persistent__coll__graph.md5 similarity index 100% rename from docs/latex/classmb_persistent__coll__graph.md5 rename to doxygen-docs/latex/classmb_persistent__coll__graph.md5 diff --git a/docs/latex/classmb_persistent__coll__graph.pdf b/doxygen-docs/latex/classmb_persistent__coll__graph.pdf similarity index 100% rename from docs/latex/classmb_persistent__coll__graph.pdf rename to doxygen-docs/latex/classmb_persistent__coll__graph.pdf diff --git a/docs/latex/classmb_persistent__inherit__graph.md5 b/doxygen-docs/latex/classmb_persistent__inherit__graph.md5 similarity index 100% rename from docs/latex/classmb_persistent__inherit__graph.md5 rename to doxygen-docs/latex/classmb_persistent__inherit__graph.md5 diff --git a/docs/latex/classmb_persistent__inherit__graph.pdf b/doxygen-docs/latex/classmb_persistent__inherit__graph.pdf similarity index 100% rename from docs/latex/classmb_persistent__inherit__graph.pdf rename to doxygen-docs/latex/classmb_persistent__inherit__graph.pdf diff --git a/docs/latex/classout___a_c.eps b/doxygen-docs/latex/classout___a_c.eps similarity index 100% rename from docs/latex/classout___a_c.eps rename to doxygen-docs/latex/classout___a_c.eps diff --git a/docs/latex/classout___a_c.tex b/doxygen-docs/latex/classout___a_c.tex similarity index 100% rename from docs/latex/classout___a_c.tex rename to doxygen-docs/latex/classout___a_c.tex diff --git a/docs/latex/classout___a_c__coll__graph.md5 b/doxygen-docs/latex/classout___a_c__coll__graph.md5 similarity index 100% rename from docs/latex/classout___a_c__coll__graph.md5 rename to doxygen-docs/latex/classout___a_c__coll__graph.md5 diff --git a/docs/latex/classout___a_c__coll__graph.pdf b/doxygen-docs/latex/classout___a_c__coll__graph.pdf similarity index 100% rename from docs/latex/classout___a_c__coll__graph.pdf rename to doxygen-docs/latex/classout___a_c__coll__graph.pdf diff --git a/docs/latex/classout___a_c__inherit__graph.md5 b/doxygen-docs/latex/classout___a_c__inherit__graph.md5 similarity index 100% rename from docs/latex/classout___a_c__inherit__graph.md5 rename to doxygen-docs/latex/classout___a_c__inherit__graph.md5 diff --git a/docs/latex/classout___a_c__inherit__graph.pdf b/doxygen-docs/latex/classout___a_c__inherit__graph.pdf similarity index 100% rename from docs/latex/classout___a_c__inherit__graph.pdf rename to doxygen-docs/latex/classout___a_c__inherit__graph.pdf diff --git a/docs/latex/classout___modbus.eps b/doxygen-docs/latex/classout___modbus.eps similarity index 100% rename from docs/latex/classout___modbus.eps rename to doxygen-docs/latex/classout___modbus.eps diff --git a/docs/latex/classout___modbus.tex b/doxygen-docs/latex/classout___modbus.tex similarity index 100% rename from docs/latex/classout___modbus.tex rename to doxygen-docs/latex/classout___modbus.tex diff --git a/docs/latex/classout___modbus__coll__graph.md5 b/doxygen-docs/latex/classout___modbus__coll__graph.md5 similarity index 100% rename from docs/latex/classout___modbus__coll__graph.md5 rename to doxygen-docs/latex/classout___modbus__coll__graph.md5 diff --git a/docs/latex/classout___modbus__coll__graph.pdf b/doxygen-docs/latex/classout___modbus__coll__graph.pdf similarity index 100% rename from docs/latex/classout___modbus__coll__graph.pdf rename to doxygen-docs/latex/classout___modbus__coll__graph.pdf diff --git a/docs/latex/classout___modbus__inherit__graph.md5 b/doxygen-docs/latex/classout___modbus__inherit__graph.md5 similarity index 100% rename from docs/latex/classout___modbus__inherit__graph.md5 rename to doxygen-docs/latex/classout___modbus__inherit__graph.md5 diff --git a/docs/latex/classout___modbus__inherit__graph.pdf b/doxygen-docs/latex/classout___modbus__inherit__graph.pdf similarity index 100% rename from docs/latex/classout___modbus__inherit__graph.pdf rename to doxygen-docs/latex/classout___modbus__inherit__graph.pdf diff --git a/docs/latex/classout___motor.eps b/doxygen-docs/latex/classout___motor.eps similarity index 100% rename from docs/latex/classout___motor.eps rename to doxygen-docs/latex/classout___motor.eps diff --git a/docs/latex/classout___motor.tex b/doxygen-docs/latex/classout___motor.tex similarity index 100% rename from docs/latex/classout___motor.tex rename to doxygen-docs/latex/classout___motor.tex diff --git a/docs/latex/classout___motor__coll__graph.md5 b/doxygen-docs/latex/classout___motor__coll__graph.md5 similarity index 100% rename from docs/latex/classout___motor__coll__graph.md5 rename to doxygen-docs/latex/classout___motor__coll__graph.md5 diff --git a/docs/latex/classout___motor__coll__graph.pdf b/doxygen-docs/latex/classout___motor__coll__graph.pdf similarity index 100% rename from docs/latex/classout___motor__coll__graph.pdf rename to doxygen-docs/latex/classout___motor__coll__graph.pdf diff --git a/docs/latex/classout___motor__inherit__graph.md5 b/doxygen-docs/latex/classout___motor__inherit__graph.md5 similarity index 100% rename from docs/latex/classout___motor__inherit__graph.md5 rename to doxygen-docs/latex/classout___motor__inherit__graph.md5 diff --git a/docs/latex/classout___motor__inherit__graph.pdf b/doxygen-docs/latex/classout___motor__inherit__graph.pdf similarity index 100% rename from docs/latex/classout___motor__inherit__graph.pdf rename to doxygen-docs/latex/classout___motor__inherit__graph.pdf diff --git a/docs/latex/classout___multivent.eps b/doxygen-docs/latex/classout___multivent.eps similarity index 100% rename from docs/latex/classout___multivent.eps rename to doxygen-docs/latex/classout___multivent.eps diff --git a/docs/latex/classout___multivent.tex b/doxygen-docs/latex/classout___multivent.tex similarity index 100% rename from docs/latex/classout___multivent.tex rename to doxygen-docs/latex/classout___multivent.tex diff --git a/docs/latex/classout___s_p_i_led.eps b/doxygen-docs/latex/classout___s_p_i_led.eps similarity index 100% rename from docs/latex/classout___s_p_i_led.eps rename to doxygen-docs/latex/classout___s_p_i_led.eps diff --git a/docs/latex/classout___s_p_i_led.tex b/doxygen-docs/latex/classout___s_p_i_led.tex similarity index 100% rename from docs/latex/classout___s_p_i_led.tex rename to doxygen-docs/latex/classout___s_p_i_led.tex diff --git a/docs/latex/classout___s_p_i_led__coll__graph.md5 b/doxygen-docs/latex/classout___s_p_i_led__coll__graph.md5 similarity index 100% rename from docs/latex/classout___s_p_i_led__coll__graph.md5 rename to doxygen-docs/latex/classout___s_p_i_led__coll__graph.md5 diff --git a/docs/latex/classout___s_p_i_led__coll__graph.pdf b/doxygen-docs/latex/classout___s_p_i_led__coll__graph.pdf similarity index 100% rename from docs/latex/classout___s_p_i_led__coll__graph.pdf rename to doxygen-docs/latex/classout___s_p_i_led__coll__graph.pdf diff --git a/docs/latex/classout___s_p_i_led__inherit__graph.md5 b/doxygen-docs/latex/classout___s_p_i_led__inherit__graph.md5 similarity index 100% rename from docs/latex/classout___s_p_i_led__inherit__graph.md5 rename to doxygen-docs/latex/classout___s_p_i_led__inherit__graph.md5 diff --git a/docs/latex/classout___s_p_i_led__inherit__graph.pdf b/doxygen-docs/latex/classout___s_p_i_led__inherit__graph.pdf similarity index 100% rename from docs/latex/classout___s_p_i_led__inherit__graph.pdf rename to doxygen-docs/latex/classout___s_p_i_led__inherit__graph.pdf diff --git a/docs/latex/classout__dmx.eps b/doxygen-docs/latex/classout__dmx.eps similarity index 100% rename from docs/latex/classout__dmx.eps rename to doxygen-docs/latex/classout__dmx.eps diff --git a/docs/latex/classout__dmx.tex b/doxygen-docs/latex/classout__dmx.tex similarity index 100% rename from docs/latex/classout__dmx.tex rename to doxygen-docs/latex/classout__dmx.tex diff --git a/docs/latex/classout__dmx__coll__graph.md5 b/doxygen-docs/latex/classout__dmx__coll__graph.md5 similarity index 100% rename from docs/latex/classout__dmx__coll__graph.md5 rename to doxygen-docs/latex/classout__dmx__coll__graph.md5 diff --git a/docs/latex/classout__dmx__coll__graph.pdf b/doxygen-docs/latex/classout__dmx__coll__graph.pdf similarity index 100% rename from docs/latex/classout__dmx__coll__graph.pdf rename to doxygen-docs/latex/classout__dmx__coll__graph.pdf diff --git a/docs/latex/classout__dmx__inherit__graph.md5 b/doxygen-docs/latex/classout__dmx__inherit__graph.md5 similarity index 100% rename from docs/latex/classout__dmx__inherit__graph.md5 rename to doxygen-docs/latex/classout__dmx__inherit__graph.md5 diff --git a/docs/latex/classout__dmx__inherit__graph.pdf b/doxygen-docs/latex/classout__dmx__inherit__graph.pdf similarity index 100% rename from docs/latex/classout__dmx__inherit__graph.pdf rename to doxygen-docs/latex/classout__dmx__inherit__graph.pdf diff --git a/docs/latex/classout__pid.eps b/doxygen-docs/latex/classout__pid.eps similarity index 100% rename from docs/latex/classout__pid.eps rename to doxygen-docs/latex/classout__pid.eps diff --git a/docs/latex/classout__pid.tex b/doxygen-docs/latex/classout__pid.tex similarity index 100% rename from docs/latex/classout__pid.tex rename to doxygen-docs/latex/classout__pid.tex diff --git a/docs/latex/classout__pwm.eps b/doxygen-docs/latex/classout__pwm.eps similarity index 100% rename from docs/latex/classout__pwm.eps rename to doxygen-docs/latex/classout__pwm.eps diff --git a/docs/latex/classout__pwm.tex b/doxygen-docs/latex/classout__pwm.tex similarity index 100% rename from docs/latex/classout__pwm.tex rename to doxygen-docs/latex/classout__pwm.tex diff --git a/docs/latex/classout__pwm__coll__graph.md5 b/doxygen-docs/latex/classout__pwm__coll__graph.md5 similarity index 100% rename from docs/latex/classout__pwm__coll__graph.md5 rename to doxygen-docs/latex/classout__pwm__coll__graph.md5 diff --git a/docs/latex/classout__pwm__coll__graph.pdf b/doxygen-docs/latex/classout__pwm__coll__graph.pdf similarity index 100% rename from docs/latex/classout__pwm__coll__graph.pdf rename to doxygen-docs/latex/classout__pwm__coll__graph.pdf diff --git a/docs/latex/classout__pwm__inherit__graph.md5 b/doxygen-docs/latex/classout__pwm__inherit__graph.md5 similarity index 100% rename from docs/latex/classout__pwm__inherit__graph.md5 rename to doxygen-docs/latex/classout__pwm__inherit__graph.md5 diff --git a/docs/latex/classout__pwm__inherit__graph.pdf b/doxygen-docs/latex/classout__pwm__inherit__graph.pdf similarity index 100% rename from docs/latex/classout__pwm__inherit__graph.pdf rename to doxygen-docs/latex/classout__pwm__inherit__graph.pdf diff --git a/docs/latex/classout__relay.eps b/doxygen-docs/latex/classout__relay.eps similarity index 100% rename from docs/latex/classout__relay.eps rename to doxygen-docs/latex/classout__relay.eps diff --git a/docs/latex/classout__relay.tex b/doxygen-docs/latex/classout__relay.tex similarity index 100% rename from docs/latex/classout__relay.tex rename to doxygen-docs/latex/classout__relay.tex diff --git a/docs/latex/classpid_persistent.eps b/doxygen-docs/latex/classpid_persistent.eps similarity index 100% rename from docs/latex/classpid_persistent.eps rename to doxygen-docs/latex/classpid_persistent.eps diff --git a/docs/latex/classpid_persistent.tex b/doxygen-docs/latex/classpid_persistent.tex similarity index 100% rename from docs/latex/classpid_persistent.tex rename to doxygen-docs/latex/classpid_persistent.tex diff --git a/docs/latex/classread_cache.tex b/doxygen-docs/latex/classread_cache.tex similarity index 100% rename from docs/latex/classread_cache.tex rename to doxygen-docs/latex/classread_cache.tex diff --git a/docs/latex/classseekable_stream.eps b/doxygen-docs/latex/classseekable_stream.eps similarity index 100% rename from docs/latex/classseekable_stream.eps rename to doxygen-docs/latex/classseekable_stream.eps diff --git a/docs/latex/classseekable_stream.tex b/doxygen-docs/latex/classseekable_stream.tex similarity index 100% rename from docs/latex/classseekable_stream.tex rename to doxygen-docs/latex/classseekable_stream.tex diff --git a/docs/latex/classstatus_l_e_d.tex b/doxygen-docs/latex/classstatus_l_e_d.tex similarity index 100% rename from docs/latex/classstatus_l_e_d.tex rename to doxygen-docs/latex/classstatus_l_e_d.tex diff --git a/docs/latex/classsystem_config.tex b/doxygen-docs/latex/classsystem_config.tex similarity index 100% rename from docs/latex/classsystem_config.tex rename to doxygen-docs/latex/classsystem_config.tex diff --git a/docs/latex/colorchannel_8cpp.tex b/doxygen-docs/latex/colorchannel_8cpp.tex similarity index 100% rename from docs/latex/colorchannel_8cpp.tex rename to doxygen-docs/latex/colorchannel_8cpp.tex diff --git a/docs/latex/colorchannel_8cpp__incl.md5 b/doxygen-docs/latex/colorchannel_8cpp__incl.md5 similarity index 100% rename from docs/latex/colorchannel_8cpp__incl.md5 rename to doxygen-docs/latex/colorchannel_8cpp__incl.md5 diff --git a/docs/latex/colorchannel_8cpp__incl.pdf b/doxygen-docs/latex/colorchannel_8cpp__incl.pdf similarity index 100% rename from docs/latex/colorchannel_8cpp__incl.pdf rename to doxygen-docs/latex/colorchannel_8cpp__incl.pdf diff --git a/docs/latex/colorchannel_8h.tex b/doxygen-docs/latex/colorchannel_8h.tex similarity index 100% rename from docs/latex/colorchannel_8h.tex rename to doxygen-docs/latex/colorchannel_8h.tex diff --git a/docs/latex/colorchannel_8h__dep__incl.md5 b/doxygen-docs/latex/colorchannel_8h__dep__incl.md5 similarity index 100% rename from docs/latex/colorchannel_8h__dep__incl.md5 rename to doxygen-docs/latex/colorchannel_8h__dep__incl.md5 diff --git a/docs/latex/colorchannel_8h__dep__incl.pdf b/doxygen-docs/latex/colorchannel_8h__dep__incl.pdf similarity index 100% rename from docs/latex/colorchannel_8h__dep__incl.pdf rename to doxygen-docs/latex/colorchannel_8h__dep__incl.pdf diff --git a/docs/latex/colorchannel_8h__incl.md5 b/doxygen-docs/latex/colorchannel_8h__incl.md5 similarity index 100% rename from docs/latex/colorchannel_8h__incl.md5 rename to doxygen-docs/latex/colorchannel_8h__incl.md5 diff --git a/docs/latex/colorchannel_8h__incl.pdf b/doxygen-docs/latex/colorchannel_8h__incl.pdf similarity index 100% rename from docs/latex/colorchannel_8h__incl.pdf rename to doxygen-docs/latex/colorchannel_8h__incl.pdf diff --git a/docs/latex/config_8cpp.tex b/doxygen-docs/latex/config_8cpp.tex similarity index 100% rename from docs/latex/config_8cpp.tex rename to doxygen-docs/latex/config_8cpp.tex diff --git a/docs/latex/config_8h.tex b/doxygen-docs/latex/config_8h.tex similarity index 100% rename from docs/latex/config_8h.tex rename to doxygen-docs/latex/config_8h.tex diff --git a/docs/latex/dir_82d7c1f210290ade9e0671f857ad27e3.tex b/doxygen-docs/latex/dir_82d7c1f210290ade9e0671f857ad27e3.tex similarity index 100% rename from docs/latex/dir_82d7c1f210290ade9e0671f857ad27e3.tex rename to doxygen-docs/latex/dir_82d7c1f210290ade9e0671f857ad27e3.tex diff --git a/docs/latex/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 b/doxygen-docs/latex/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 similarity index 100% rename from docs/latex/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 rename to doxygen-docs/latex/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 diff --git a/docs/latex/dir_82d7c1f210290ade9e0671f857ad27e3_dep.pdf b/doxygen-docs/latex/dir_82d7c1f210290ade9e0671f857ad27e3_dep.pdf similarity index 100% rename from docs/latex/dir_82d7c1f210290ade9e0671f857ad27e3_dep.pdf rename to doxygen-docs/latex/dir_82d7c1f210290ade9e0671f857ad27e3_dep.pdf diff --git a/docs/latex/dir_a26efa385a8243117251e7dce4d75390.tex b/doxygen-docs/latex/dir_a26efa385a8243117251e7dce4d75390.tex similarity index 100% rename from docs/latex/dir_a26efa385a8243117251e7dce4d75390.tex rename to doxygen-docs/latex/dir_a26efa385a8243117251e7dce4d75390.tex diff --git a/docs/latex/dir_a26efa385a8243117251e7dce4d75390_dep.md5 b/doxygen-docs/latex/dir_a26efa385a8243117251e7dce4d75390_dep.md5 similarity index 100% rename from docs/latex/dir_a26efa385a8243117251e7dce4d75390_dep.md5 rename to doxygen-docs/latex/dir_a26efa385a8243117251e7dce4d75390_dep.md5 diff --git a/docs/latex/dir_a26efa385a8243117251e7dce4d75390_dep.pdf b/doxygen-docs/latex/dir_a26efa385a8243117251e7dce4d75390_dep.pdf similarity index 100% rename from docs/latex/dir_a26efa385a8243117251e7dce4d75390_dep.pdf rename to doxygen-docs/latex/dir_a26efa385a8243117251e7dce4d75390_dep.pdf diff --git a/docs/latex/dir_e05d7e2b1ecd646af5bb94391405f3b5.tex b/doxygen-docs/latex/dir_e05d7e2b1ecd646af5bb94391405f3b5.tex similarity index 100% rename from docs/latex/dir_e05d7e2b1ecd646af5bb94391405f3b5.tex rename to doxygen-docs/latex/dir_e05d7e2b1ecd646af5bb94391405f3b5.tex diff --git a/docs/latex/dmx_8cpp.tex b/doxygen-docs/latex/dmx_8cpp.tex similarity index 100% rename from docs/latex/dmx_8cpp.tex rename to doxygen-docs/latex/dmx_8cpp.tex diff --git a/docs/latex/dmx_8cpp__incl.md5 b/doxygen-docs/latex/dmx_8cpp__incl.md5 similarity index 100% rename from docs/latex/dmx_8cpp__incl.md5 rename to doxygen-docs/latex/dmx_8cpp__incl.md5 diff --git a/docs/latex/dmx_8cpp__incl.pdf b/doxygen-docs/latex/dmx_8cpp__incl.pdf similarity index 100% rename from docs/latex/dmx_8cpp__incl.pdf rename to doxygen-docs/latex/dmx_8cpp__incl.pdf diff --git a/docs/latex/dmx_8h.tex b/doxygen-docs/latex/dmx_8h.tex similarity index 100% rename from docs/latex/dmx_8h.tex rename to doxygen-docs/latex/dmx_8h.tex diff --git a/docs/latex/dmx_8h__dep__incl.md5 b/doxygen-docs/latex/dmx_8h__dep__incl.md5 similarity index 100% rename from docs/latex/dmx_8h__dep__incl.md5 rename to doxygen-docs/latex/dmx_8h__dep__incl.md5 diff --git a/docs/latex/dmx_8h__dep__incl.pdf b/doxygen-docs/latex/dmx_8h__dep__incl.pdf similarity index 100% rename from docs/latex/dmx_8h__dep__incl.pdf rename to doxygen-docs/latex/dmx_8h__dep__incl.pdf diff --git a/docs/latex/dmx_8h__incl.md5 b/doxygen-docs/latex/dmx_8h__incl.md5 similarity index 100% rename from docs/latex/dmx_8h__incl.md5 rename to doxygen-docs/latex/dmx_8h__incl.md5 diff --git a/docs/latex/dmx_8h__incl.pdf b/doxygen-docs/latex/dmx_8h__incl.pdf similarity index 100% rename from docs/latex/dmx_8h__incl.pdf rename to doxygen-docs/latex/dmx_8h__incl.pdf diff --git a/docs/latex/doxygen.sty b/doxygen-docs/latex/doxygen.sty similarity index 100% rename from docs/latex/doxygen.sty rename to doxygen-docs/latex/doxygen.sty diff --git a/docs/latex/files.tex b/doxygen-docs/latex/files.tex similarity index 100% rename from docs/latex/files.tex rename to doxygen-docs/latex/files.tex diff --git a/docs/latex/flashstream_8cpp.tex b/doxygen-docs/latex/flashstream_8cpp.tex similarity index 100% rename from docs/latex/flashstream_8cpp.tex rename to doxygen-docs/latex/flashstream_8cpp.tex diff --git a/docs/latex/flashstream_8h.tex b/doxygen-docs/latex/flashstream_8h.tex similarity index 100% rename from docs/latex/flashstream_8h.tex rename to doxygen-docs/latex/flashstream_8h.tex diff --git a/docs/latex/hierarchy.tex b/doxygen-docs/latex/hierarchy.tex similarity index 100% rename from docs/latex/hierarchy.tex rename to doxygen-docs/latex/hierarchy.tex diff --git a/docs/latex/in__ccs811__hdc1080_8cpp.tex b/doxygen-docs/latex/in__ccs811__hdc1080_8cpp.tex similarity index 100% rename from docs/latex/in__ccs811__hdc1080_8cpp.tex rename to doxygen-docs/latex/in__ccs811__hdc1080_8cpp.tex diff --git a/docs/latex/in__ccs811__hdc1080_8cpp__incl.md5 b/doxygen-docs/latex/in__ccs811__hdc1080_8cpp__incl.md5 similarity index 100% rename from docs/latex/in__ccs811__hdc1080_8cpp__incl.md5 rename to doxygen-docs/latex/in__ccs811__hdc1080_8cpp__incl.md5 diff --git a/docs/latex/in__ccs811__hdc1080_8cpp__incl.pdf b/doxygen-docs/latex/in__ccs811__hdc1080_8cpp__incl.pdf similarity index 100% rename from docs/latex/in__ccs811__hdc1080_8cpp__incl.pdf rename to doxygen-docs/latex/in__ccs811__hdc1080_8cpp__incl.pdf diff --git a/docs/latex/in__ccs811__hdc1080_8h.tex b/doxygen-docs/latex/in__ccs811__hdc1080_8h.tex similarity index 100% rename from docs/latex/in__ccs811__hdc1080_8h.tex rename to doxygen-docs/latex/in__ccs811__hdc1080_8h.tex diff --git a/docs/latex/in__ccs811__hdc1080_8h__dep__incl.md5 b/doxygen-docs/latex/in__ccs811__hdc1080_8h__dep__incl.md5 similarity index 100% rename from docs/latex/in__ccs811__hdc1080_8h__dep__incl.md5 rename to doxygen-docs/latex/in__ccs811__hdc1080_8h__dep__incl.md5 diff --git a/docs/latex/in__ccs811__hdc1080_8h__dep__incl.pdf b/doxygen-docs/latex/in__ccs811__hdc1080_8h__dep__incl.pdf similarity index 100% rename from docs/latex/in__ccs811__hdc1080_8h__dep__incl.pdf rename to doxygen-docs/latex/in__ccs811__hdc1080_8h__dep__incl.pdf diff --git a/docs/latex/in__ccs811__hdc1080_8h__incl.md5 b/doxygen-docs/latex/in__ccs811__hdc1080_8h__incl.md5 similarity index 100% rename from docs/latex/in__ccs811__hdc1080_8h__incl.md5 rename to doxygen-docs/latex/in__ccs811__hdc1080_8h__incl.md5 diff --git a/docs/latex/in__ccs811__hdc1080_8h__incl.pdf b/doxygen-docs/latex/in__ccs811__hdc1080_8h__incl.pdf similarity index 100% rename from docs/latex/in__ccs811__hdc1080_8h__incl.pdf rename to doxygen-docs/latex/in__ccs811__hdc1080_8h__incl.pdf diff --git a/docs/latex/inputs_8cpp.tex b/doxygen-docs/latex/inputs_8cpp.tex similarity index 100% rename from docs/latex/inputs_8cpp.tex rename to doxygen-docs/latex/inputs_8cpp.tex diff --git a/docs/latex/inputs_8cpp__incl.md5 b/doxygen-docs/latex/inputs_8cpp__incl.md5 similarity index 100% rename from docs/latex/inputs_8cpp__incl.md5 rename to doxygen-docs/latex/inputs_8cpp__incl.md5 diff --git a/docs/latex/inputs_8cpp__incl.pdf b/doxygen-docs/latex/inputs_8cpp__incl.pdf similarity index 100% rename from docs/latex/inputs_8cpp__incl.pdf rename to doxygen-docs/latex/inputs_8cpp__incl.pdf diff --git a/docs/latex/inputs_8h.tex b/doxygen-docs/latex/inputs_8h.tex similarity index 100% rename from docs/latex/inputs_8h.tex rename to doxygen-docs/latex/inputs_8h.tex diff --git a/docs/latex/inputs_8h__dep__incl.md5 b/doxygen-docs/latex/inputs_8h__dep__incl.md5 similarity index 100% rename from docs/latex/inputs_8h__dep__incl.md5 rename to doxygen-docs/latex/inputs_8h__dep__incl.md5 diff --git a/docs/latex/inputs_8h__dep__incl.pdf b/doxygen-docs/latex/inputs_8h__dep__incl.pdf similarity index 100% rename from docs/latex/inputs_8h__dep__incl.pdf rename to doxygen-docs/latex/inputs_8h__dep__incl.pdf diff --git a/docs/latex/inputs_8h__incl.md5 b/doxygen-docs/latex/inputs_8h__incl.md5 similarity index 100% rename from docs/latex/inputs_8h__incl.md5 rename to doxygen-docs/latex/inputs_8h__incl.md5 diff --git a/docs/latex/inputs_8h__incl.pdf b/doxygen-docs/latex/inputs_8h__incl.pdf similarity index 100% rename from docs/latex/inputs_8h__incl.pdf rename to doxygen-docs/latex/inputs_8h__incl.pdf diff --git a/docs/latex/item_8cpp.tex b/doxygen-docs/latex/item_8cpp.tex similarity index 100% rename from docs/latex/item_8cpp.tex rename to doxygen-docs/latex/item_8cpp.tex diff --git a/docs/latex/item_8cpp__incl.md5 b/doxygen-docs/latex/item_8cpp__incl.md5 similarity index 100% rename from docs/latex/item_8cpp__incl.md5 rename to doxygen-docs/latex/item_8cpp__incl.md5 diff --git a/docs/latex/item_8cpp__incl.pdf b/doxygen-docs/latex/item_8cpp__incl.pdf similarity index 100% rename from docs/latex/item_8cpp__incl.pdf rename to doxygen-docs/latex/item_8cpp__incl.pdf diff --git a/docs/latex/item_8h.tex b/doxygen-docs/latex/item_8h.tex similarity index 100% rename from docs/latex/item_8h.tex rename to doxygen-docs/latex/item_8h.tex diff --git a/docs/latex/item_8h__dep__incl.md5 b/doxygen-docs/latex/item_8h__dep__incl.md5 similarity index 100% rename from docs/latex/item_8h__dep__incl.md5 rename to doxygen-docs/latex/item_8h__dep__incl.md5 diff --git a/docs/latex/item_8h__dep__incl.pdf b/doxygen-docs/latex/item_8h__dep__incl.pdf similarity index 100% rename from docs/latex/item_8h__dep__incl.pdf rename to doxygen-docs/latex/item_8h__dep__incl.pdf diff --git a/docs/latex/item_8h__incl.md5 b/doxygen-docs/latex/item_8h__incl.md5 similarity index 100% rename from docs/latex/item_8h__incl.md5 rename to doxygen-docs/latex/item_8h__incl.md5 diff --git a/docs/latex/item_8h__incl.pdf b/doxygen-docs/latex/item_8h__incl.pdf similarity index 100% rename from docs/latex/item_8h__incl.pdf rename to doxygen-docs/latex/item_8h__incl.pdf diff --git a/docs/latex/item_cmd_8cpp.tex b/doxygen-docs/latex/item_cmd_8cpp.tex similarity index 100% rename from docs/latex/item_cmd_8cpp.tex rename to doxygen-docs/latex/item_cmd_8cpp.tex diff --git a/docs/latex/item_cmd_8cpp__incl.md5 b/doxygen-docs/latex/item_cmd_8cpp__incl.md5 similarity index 100% rename from docs/latex/item_cmd_8cpp__incl.md5 rename to doxygen-docs/latex/item_cmd_8cpp__incl.md5 diff --git a/docs/latex/item_cmd_8cpp__incl.pdf b/doxygen-docs/latex/item_cmd_8cpp__incl.pdf similarity index 100% rename from docs/latex/item_cmd_8cpp__incl.pdf rename to doxygen-docs/latex/item_cmd_8cpp__incl.pdf diff --git a/docs/latex/item_cmd_8h.tex b/doxygen-docs/latex/item_cmd_8h.tex similarity index 100% rename from docs/latex/item_cmd_8h.tex rename to doxygen-docs/latex/item_cmd_8h.tex diff --git a/docs/latex/item_cmd_8h__dep__incl.md5 b/doxygen-docs/latex/item_cmd_8h__dep__incl.md5 similarity index 100% rename from docs/latex/item_cmd_8h__dep__incl.md5 rename to doxygen-docs/latex/item_cmd_8h__dep__incl.md5 diff --git a/docs/latex/item_cmd_8h__dep__incl.pdf b/doxygen-docs/latex/item_cmd_8h__dep__incl.pdf similarity index 100% rename from docs/latex/item_cmd_8h__dep__incl.pdf rename to doxygen-docs/latex/item_cmd_8h__dep__incl.pdf diff --git a/docs/latex/item_cmd_8h__incl.md5 b/doxygen-docs/latex/item_cmd_8h__incl.md5 similarity index 100% rename from docs/latex/item_cmd_8h__incl.md5 rename to doxygen-docs/latex/item_cmd_8h__incl.md5 diff --git a/docs/latex/item_cmd_8h__incl.pdf b/doxygen-docs/latex/item_cmd_8h__incl.pdf similarity index 100% rename from docs/latex/item_cmd_8h__incl.pdf rename to doxygen-docs/latex/item_cmd_8h__incl.pdf diff --git a/docs/latex/lh.png b/doxygen-docs/latex/lh.png similarity index 100% rename from docs/latex/lh.png rename to doxygen-docs/latex/lh.png diff --git a/docs/latex/longtable_doxygen.sty b/doxygen-docs/latex/longtable_doxygen.sty similarity index 100% rename from docs/latex/longtable_doxygen.sty rename to doxygen-docs/latex/longtable_doxygen.sty diff --git a/docs/latex/main_8cpp.tex b/doxygen-docs/latex/main_8cpp.tex similarity index 100% rename from docs/latex/main_8cpp.tex rename to doxygen-docs/latex/main_8cpp.tex diff --git a/docs/latex/main_8cpp__incl.md5 b/doxygen-docs/latex/main_8cpp__incl.md5 similarity index 100% rename from docs/latex/main_8cpp__incl.md5 rename to doxygen-docs/latex/main_8cpp__incl.md5 diff --git a/docs/latex/main_8cpp__incl.pdf b/doxygen-docs/latex/main_8cpp__incl.pdf similarity index 100% rename from docs/latex/main_8cpp__incl.pdf rename to doxygen-docs/latex/main_8cpp__incl.pdf diff --git a/docs/latex/main_8h.tex b/doxygen-docs/latex/main_8h.tex similarity index 100% rename from docs/latex/main_8h.tex rename to doxygen-docs/latex/main_8h.tex diff --git a/docs/latex/main_8h__dep__incl.md5 b/doxygen-docs/latex/main_8h__dep__incl.md5 similarity index 100% rename from docs/latex/main_8h__dep__incl.md5 rename to doxygen-docs/latex/main_8h__dep__incl.md5 diff --git a/docs/latex/main_8h__dep__incl.pdf b/doxygen-docs/latex/main_8h__dep__incl.pdf similarity index 100% rename from docs/latex/main_8h__dep__incl.pdf rename to doxygen-docs/latex/main_8h__dep__incl.pdf diff --git a/docs/latex/main_8h__incl.md5 b/doxygen-docs/latex/main_8h__incl.md5 similarity index 100% rename from docs/latex/main_8h__incl.md5 rename to doxygen-docs/latex/main_8h__incl.md5 diff --git a/docs/latex/main_8h__incl.pdf b/doxygen-docs/latex/main_8h__incl.pdf similarity index 100% rename from docs/latex/main_8h__incl.pdf rename to doxygen-docs/latex/main_8h__incl.pdf diff --git a/docs/latex/options_8h.tex b/doxygen-docs/latex/options_8h.tex similarity index 100% rename from docs/latex/options_8h.tex rename to doxygen-docs/latex/options_8h.tex diff --git a/docs/latex/options_8h__dep__incl.md5 b/doxygen-docs/latex/options_8h__dep__incl.md5 similarity index 100% rename from docs/latex/options_8h__dep__incl.md5 rename to doxygen-docs/latex/options_8h__dep__incl.md5 diff --git a/docs/latex/options_8h__dep__incl.pdf b/doxygen-docs/latex/options_8h__dep__incl.pdf similarity index 100% rename from docs/latex/options_8h__dep__incl.pdf rename to doxygen-docs/latex/options_8h__dep__incl.pdf diff --git a/docs/latex/out__ac_8cpp.tex b/doxygen-docs/latex/out__ac_8cpp.tex similarity index 100% rename from docs/latex/out__ac_8cpp.tex rename to doxygen-docs/latex/out__ac_8cpp.tex diff --git a/docs/latex/out__ac_8cpp__incl.md5 b/doxygen-docs/latex/out__ac_8cpp__incl.md5 similarity index 100% rename from docs/latex/out__ac_8cpp__incl.md5 rename to doxygen-docs/latex/out__ac_8cpp__incl.md5 diff --git a/docs/latex/out__ac_8cpp__incl.pdf b/doxygen-docs/latex/out__ac_8cpp__incl.pdf similarity index 100% rename from docs/latex/out__ac_8cpp__incl.pdf rename to doxygen-docs/latex/out__ac_8cpp__incl.pdf diff --git a/docs/latex/out__ac_8h.tex b/doxygen-docs/latex/out__ac_8h.tex similarity index 100% rename from docs/latex/out__ac_8h.tex rename to doxygen-docs/latex/out__ac_8h.tex diff --git a/docs/latex/out__ac_8h__dep__incl.md5 b/doxygen-docs/latex/out__ac_8h__dep__incl.md5 similarity index 100% rename from docs/latex/out__ac_8h__dep__incl.md5 rename to doxygen-docs/latex/out__ac_8h__dep__incl.md5 diff --git a/docs/latex/out__ac_8h__dep__incl.pdf b/doxygen-docs/latex/out__ac_8h__dep__incl.pdf similarity index 100% rename from docs/latex/out__ac_8h__dep__incl.pdf rename to doxygen-docs/latex/out__ac_8h__dep__incl.pdf diff --git a/docs/latex/out__ac_8h__incl.md5 b/doxygen-docs/latex/out__ac_8h__incl.md5 similarity index 100% rename from docs/latex/out__ac_8h__incl.md5 rename to doxygen-docs/latex/out__ac_8h__incl.md5 diff --git a/docs/latex/out__ac_8h__incl.pdf b/doxygen-docs/latex/out__ac_8h__incl.pdf similarity index 100% rename from docs/latex/out__ac_8h__incl.pdf rename to doxygen-docs/latex/out__ac_8h__incl.pdf diff --git a/docs/latex/out__dmx_8cpp.tex b/doxygen-docs/latex/out__dmx_8cpp.tex similarity index 100% rename from docs/latex/out__dmx_8cpp.tex rename to doxygen-docs/latex/out__dmx_8cpp.tex diff --git a/docs/latex/out__dmx_8cpp__incl.md5 b/doxygen-docs/latex/out__dmx_8cpp__incl.md5 similarity index 100% rename from docs/latex/out__dmx_8cpp__incl.md5 rename to doxygen-docs/latex/out__dmx_8cpp__incl.md5 diff --git a/docs/latex/out__dmx_8cpp__incl.pdf b/doxygen-docs/latex/out__dmx_8cpp__incl.pdf similarity index 100% rename from docs/latex/out__dmx_8cpp__incl.pdf rename to doxygen-docs/latex/out__dmx_8cpp__incl.pdf diff --git a/docs/latex/out__dmx_8h.tex b/doxygen-docs/latex/out__dmx_8h.tex similarity index 100% rename from docs/latex/out__dmx_8h.tex rename to doxygen-docs/latex/out__dmx_8h.tex diff --git a/docs/latex/out__dmx_8h__dep__incl.md5 b/doxygen-docs/latex/out__dmx_8h__dep__incl.md5 similarity index 100% rename from docs/latex/out__dmx_8h__dep__incl.md5 rename to doxygen-docs/latex/out__dmx_8h__dep__incl.md5 diff --git a/docs/latex/out__dmx_8h__dep__incl.pdf b/doxygen-docs/latex/out__dmx_8h__dep__incl.pdf similarity index 100% rename from docs/latex/out__dmx_8h__dep__incl.pdf rename to doxygen-docs/latex/out__dmx_8h__dep__incl.pdf diff --git a/docs/latex/out__dmx_8h__incl.md5 b/doxygen-docs/latex/out__dmx_8h__incl.md5 similarity index 100% rename from docs/latex/out__dmx_8h__incl.md5 rename to doxygen-docs/latex/out__dmx_8h__incl.md5 diff --git a/docs/latex/out__dmx_8h__incl.pdf b/doxygen-docs/latex/out__dmx_8h__incl.pdf similarity index 100% rename from docs/latex/out__dmx_8h__incl.pdf rename to doxygen-docs/latex/out__dmx_8h__incl.pdf diff --git a/docs/latex/out__elevator_8cpp.tex b/doxygen-docs/latex/out__elevator_8cpp.tex similarity index 100% rename from docs/latex/out__elevator_8cpp.tex rename to doxygen-docs/latex/out__elevator_8cpp.tex diff --git a/docs/latex/out__elevator_8h.tex b/doxygen-docs/latex/out__elevator_8h.tex similarity index 100% rename from docs/latex/out__elevator_8h.tex rename to doxygen-docs/latex/out__elevator_8h.tex diff --git a/docs/latex/out__modbus_8cpp.tex b/doxygen-docs/latex/out__modbus_8cpp.tex similarity index 100% rename from docs/latex/out__modbus_8cpp.tex rename to doxygen-docs/latex/out__modbus_8cpp.tex diff --git a/docs/latex/out__modbus_8cpp__incl.md5 b/doxygen-docs/latex/out__modbus_8cpp__incl.md5 similarity index 100% rename from docs/latex/out__modbus_8cpp__incl.md5 rename to doxygen-docs/latex/out__modbus_8cpp__incl.md5 diff --git a/docs/latex/out__modbus_8cpp__incl.pdf b/doxygen-docs/latex/out__modbus_8cpp__incl.pdf similarity index 100% rename from docs/latex/out__modbus_8cpp__incl.pdf rename to doxygen-docs/latex/out__modbus_8cpp__incl.pdf diff --git a/docs/latex/out__modbus_8h.tex b/doxygen-docs/latex/out__modbus_8h.tex similarity index 100% rename from docs/latex/out__modbus_8h.tex rename to doxygen-docs/latex/out__modbus_8h.tex diff --git a/docs/latex/out__modbus_8h__dep__incl.md5 b/doxygen-docs/latex/out__modbus_8h__dep__incl.md5 similarity index 100% rename from docs/latex/out__modbus_8h__dep__incl.md5 rename to doxygen-docs/latex/out__modbus_8h__dep__incl.md5 diff --git a/docs/latex/out__modbus_8h__dep__incl.pdf b/doxygen-docs/latex/out__modbus_8h__dep__incl.pdf similarity index 100% rename from docs/latex/out__modbus_8h__dep__incl.pdf rename to doxygen-docs/latex/out__modbus_8h__dep__incl.pdf diff --git a/docs/latex/out__modbus_8h__incl.md5 b/doxygen-docs/latex/out__modbus_8h__incl.md5 similarity index 100% rename from docs/latex/out__modbus_8h__incl.md5 rename to doxygen-docs/latex/out__modbus_8h__incl.md5 diff --git a/docs/latex/out__modbus_8h__incl.pdf b/doxygen-docs/latex/out__modbus_8h__incl.pdf similarity index 100% rename from docs/latex/out__modbus_8h__incl.pdf rename to doxygen-docs/latex/out__modbus_8h__incl.pdf diff --git a/docs/latex/out__motor_8cpp.tex b/doxygen-docs/latex/out__motor_8cpp.tex similarity index 100% rename from docs/latex/out__motor_8cpp.tex rename to doxygen-docs/latex/out__motor_8cpp.tex diff --git a/docs/latex/out__motor_8cpp__incl.md5 b/doxygen-docs/latex/out__motor_8cpp__incl.md5 similarity index 100% rename from docs/latex/out__motor_8cpp__incl.md5 rename to doxygen-docs/latex/out__motor_8cpp__incl.md5 diff --git a/docs/latex/out__motor_8cpp__incl.pdf b/doxygen-docs/latex/out__motor_8cpp__incl.pdf similarity index 100% rename from docs/latex/out__motor_8cpp__incl.pdf rename to doxygen-docs/latex/out__motor_8cpp__incl.pdf diff --git a/docs/latex/out__motor_8h.tex b/doxygen-docs/latex/out__motor_8h.tex similarity index 100% rename from docs/latex/out__motor_8h.tex rename to doxygen-docs/latex/out__motor_8h.tex diff --git a/docs/latex/out__motor_8h__dep__incl.md5 b/doxygen-docs/latex/out__motor_8h__dep__incl.md5 similarity index 100% rename from docs/latex/out__motor_8h__dep__incl.md5 rename to doxygen-docs/latex/out__motor_8h__dep__incl.md5 diff --git a/docs/latex/out__motor_8h__dep__incl.pdf b/doxygen-docs/latex/out__motor_8h__dep__incl.pdf similarity index 100% rename from docs/latex/out__motor_8h__dep__incl.pdf rename to doxygen-docs/latex/out__motor_8h__dep__incl.pdf diff --git a/docs/latex/out__motor_8h__incl.md5 b/doxygen-docs/latex/out__motor_8h__incl.md5 similarity index 100% rename from docs/latex/out__motor_8h__incl.md5 rename to doxygen-docs/latex/out__motor_8h__incl.md5 diff --git a/docs/latex/out__motor_8h__incl.pdf b/doxygen-docs/latex/out__motor_8h__incl.pdf similarity index 100% rename from docs/latex/out__motor_8h__incl.pdf rename to doxygen-docs/latex/out__motor_8h__incl.pdf diff --git a/docs/latex/out__multivent_8cpp.tex b/doxygen-docs/latex/out__multivent_8cpp.tex similarity index 100% rename from docs/latex/out__multivent_8cpp.tex rename to doxygen-docs/latex/out__multivent_8cpp.tex diff --git a/docs/latex/out__multivent_8h.tex b/doxygen-docs/latex/out__multivent_8h.tex similarity index 100% rename from docs/latex/out__multivent_8h.tex rename to doxygen-docs/latex/out__multivent_8h.tex diff --git a/docs/latex/out__pid_8cpp.tex b/doxygen-docs/latex/out__pid_8cpp.tex similarity index 100% rename from docs/latex/out__pid_8cpp.tex rename to doxygen-docs/latex/out__pid_8cpp.tex diff --git a/docs/latex/out__pid_8h.tex b/doxygen-docs/latex/out__pid_8h.tex similarity index 100% rename from docs/latex/out__pid_8h.tex rename to doxygen-docs/latex/out__pid_8h.tex diff --git a/docs/latex/out__pwm_8cpp.tex b/doxygen-docs/latex/out__pwm_8cpp.tex similarity index 100% rename from docs/latex/out__pwm_8cpp.tex rename to doxygen-docs/latex/out__pwm_8cpp.tex diff --git a/docs/latex/out__pwm_8cpp__incl.md5 b/doxygen-docs/latex/out__pwm_8cpp__incl.md5 similarity index 100% rename from docs/latex/out__pwm_8cpp__incl.md5 rename to doxygen-docs/latex/out__pwm_8cpp__incl.md5 diff --git a/docs/latex/out__pwm_8cpp__incl.pdf b/doxygen-docs/latex/out__pwm_8cpp__incl.pdf similarity index 100% rename from docs/latex/out__pwm_8cpp__incl.pdf rename to doxygen-docs/latex/out__pwm_8cpp__incl.pdf diff --git a/docs/latex/out__pwm_8h.tex b/doxygen-docs/latex/out__pwm_8h.tex similarity index 100% rename from docs/latex/out__pwm_8h.tex rename to doxygen-docs/latex/out__pwm_8h.tex diff --git a/docs/latex/out__pwm_8h__dep__incl.md5 b/doxygen-docs/latex/out__pwm_8h__dep__incl.md5 similarity index 100% rename from docs/latex/out__pwm_8h__dep__incl.md5 rename to doxygen-docs/latex/out__pwm_8h__dep__incl.md5 diff --git a/docs/latex/out__pwm_8h__dep__incl.pdf b/doxygen-docs/latex/out__pwm_8h__dep__incl.pdf similarity index 100% rename from docs/latex/out__pwm_8h__dep__incl.pdf rename to doxygen-docs/latex/out__pwm_8h__dep__incl.pdf diff --git a/docs/latex/out__pwm_8h__incl.md5 b/doxygen-docs/latex/out__pwm_8h__incl.md5 similarity index 100% rename from docs/latex/out__pwm_8h__incl.md5 rename to doxygen-docs/latex/out__pwm_8h__incl.md5 diff --git a/docs/latex/out__pwm_8h__incl.pdf b/doxygen-docs/latex/out__pwm_8h__incl.pdf similarity index 100% rename from docs/latex/out__pwm_8h__incl.pdf rename to doxygen-docs/latex/out__pwm_8h__incl.pdf diff --git a/docs/latex/out__relay_8cpp.tex b/doxygen-docs/latex/out__relay_8cpp.tex similarity index 100% rename from docs/latex/out__relay_8cpp.tex rename to doxygen-docs/latex/out__relay_8cpp.tex diff --git a/docs/latex/out__relay_8h.tex b/doxygen-docs/latex/out__relay_8h.tex similarity index 100% rename from docs/latex/out__relay_8h.tex rename to doxygen-docs/latex/out__relay_8h.tex diff --git a/docs/latex/out__spiled_8cpp.tex b/doxygen-docs/latex/out__spiled_8cpp.tex similarity index 100% rename from docs/latex/out__spiled_8cpp.tex rename to doxygen-docs/latex/out__spiled_8cpp.tex diff --git a/docs/latex/out__spiled_8cpp__incl.md5 b/doxygen-docs/latex/out__spiled_8cpp__incl.md5 similarity index 100% rename from docs/latex/out__spiled_8cpp__incl.md5 rename to doxygen-docs/latex/out__spiled_8cpp__incl.md5 diff --git a/docs/latex/out__spiled_8cpp__incl.pdf b/doxygen-docs/latex/out__spiled_8cpp__incl.pdf similarity index 100% rename from docs/latex/out__spiled_8cpp__incl.pdf rename to doxygen-docs/latex/out__spiled_8cpp__incl.pdf diff --git a/docs/latex/out__spiled_8h.tex b/doxygen-docs/latex/out__spiled_8h.tex similarity index 100% rename from docs/latex/out__spiled_8h.tex rename to doxygen-docs/latex/out__spiled_8h.tex diff --git a/docs/latex/out__spiled_8h__dep__incl.md5 b/doxygen-docs/latex/out__spiled_8h__dep__incl.md5 similarity index 100% rename from docs/latex/out__spiled_8h__dep__incl.md5 rename to doxygen-docs/latex/out__spiled_8h__dep__incl.md5 diff --git a/docs/latex/out__spiled_8h__dep__incl.pdf b/doxygen-docs/latex/out__spiled_8h__dep__incl.pdf similarity index 100% rename from docs/latex/out__spiled_8h__dep__incl.pdf rename to doxygen-docs/latex/out__spiled_8h__dep__incl.pdf diff --git a/docs/latex/out__spiled_8h__incl.md5 b/doxygen-docs/latex/out__spiled_8h__incl.md5 similarity index 100% rename from docs/latex/out__spiled_8h__incl.md5 rename to doxygen-docs/latex/out__spiled_8h__incl.md5 diff --git a/docs/latex/out__spiled_8h__incl.pdf b/doxygen-docs/latex/out__spiled_8h__incl.pdf similarity index 100% rename from docs/latex/out__spiled_8h__incl.pdf rename to doxygen-docs/latex/out__spiled_8h__incl.pdf diff --git a/docs/latex/out__uartbridge_8cpp.tex b/doxygen-docs/latex/out__uartbridge_8cpp.tex similarity index 100% rename from docs/latex/out__uartbridge_8cpp.tex rename to doxygen-docs/latex/out__uartbridge_8cpp.tex diff --git a/docs/latex/out__uartbridge_8h.tex b/doxygen-docs/latex/out__uartbridge_8h.tex similarity index 100% rename from docs/latex/out__uartbridge_8h.tex rename to doxygen-docs/latex/out__uartbridge_8h.tex diff --git a/docs/latex/ow_term_8cpp.tex b/doxygen-docs/latex/ow_term_8cpp.tex similarity index 100% rename from docs/latex/ow_term_8cpp.tex rename to doxygen-docs/latex/ow_term_8cpp.tex diff --git a/docs/latex/ow_term_8cpp__incl.md5 b/doxygen-docs/latex/ow_term_8cpp__incl.md5 similarity index 100% rename from docs/latex/ow_term_8cpp__incl.md5 rename to doxygen-docs/latex/ow_term_8cpp__incl.md5 diff --git a/docs/latex/ow_term_8cpp__incl.pdf b/doxygen-docs/latex/ow_term_8cpp__incl.pdf similarity index 100% rename from docs/latex/ow_term_8cpp__incl.pdf rename to doxygen-docs/latex/ow_term_8cpp__incl.pdf diff --git a/docs/latex/ow_term_8h.tex b/doxygen-docs/latex/ow_term_8h.tex similarity index 100% rename from docs/latex/ow_term_8h.tex rename to doxygen-docs/latex/ow_term_8h.tex diff --git a/docs/latex/ow_term_8h__dep__incl.md5 b/doxygen-docs/latex/ow_term_8h__dep__incl.md5 similarity index 100% rename from docs/latex/ow_term_8h__dep__incl.md5 rename to doxygen-docs/latex/ow_term_8h__dep__incl.md5 diff --git a/docs/latex/ow_term_8h__dep__incl.pdf b/doxygen-docs/latex/ow_term_8h__dep__incl.pdf similarity index 100% rename from docs/latex/ow_term_8h__dep__incl.pdf rename to doxygen-docs/latex/ow_term_8h__dep__incl.pdf diff --git a/docs/latex/ow_term_8h__incl.md5 b/doxygen-docs/latex/ow_term_8h__incl.md5 similarity index 100% rename from docs/latex/ow_term_8h__incl.md5 rename to doxygen-docs/latex/ow_term_8h__incl.md5 diff --git a/docs/latex/ow_term_8h__incl.pdf b/doxygen-docs/latex/ow_term_8h__incl.pdf similarity index 100% rename from docs/latex/ow_term_8h__incl.pdf rename to doxygen-docs/latex/ow_term_8h__incl.pdf diff --git a/docs/latex/refman.tex b/doxygen-docs/latex/refman.tex similarity index 100% rename from docs/latex/refman.tex rename to doxygen-docs/latex/refman.tex diff --git a/docs/latex/seekablestream_8h.tex b/doxygen-docs/latex/seekablestream_8h.tex similarity index 100% rename from docs/latex/seekablestream_8h.tex rename to doxygen-docs/latex/seekablestream_8h.tex diff --git a/docs/latex/statusled_8cpp.tex b/doxygen-docs/latex/statusled_8cpp.tex similarity index 100% rename from docs/latex/statusled_8cpp.tex rename to doxygen-docs/latex/statusled_8cpp.tex diff --git a/docs/latex/statusled_8cpp__incl.md5 b/doxygen-docs/latex/statusled_8cpp__incl.md5 similarity index 100% rename from docs/latex/statusled_8cpp__incl.md5 rename to doxygen-docs/latex/statusled_8cpp__incl.md5 diff --git a/docs/latex/statusled_8cpp__incl.pdf b/doxygen-docs/latex/statusled_8cpp__incl.pdf similarity index 100% rename from docs/latex/statusled_8cpp__incl.pdf rename to doxygen-docs/latex/statusled_8cpp__incl.pdf diff --git a/docs/latex/statusled_8h.tex b/doxygen-docs/latex/statusled_8h.tex similarity index 100% rename from docs/latex/statusled_8h.tex rename to doxygen-docs/latex/statusled_8h.tex diff --git a/docs/latex/statusled_8h__dep__incl.md5 b/doxygen-docs/latex/statusled_8h__dep__incl.md5 similarity index 100% rename from docs/latex/statusled_8h__dep__incl.md5 rename to doxygen-docs/latex/statusled_8h__dep__incl.md5 diff --git a/docs/latex/statusled_8h__dep__incl.pdf b/doxygen-docs/latex/statusled_8h__dep__incl.pdf similarity index 100% rename from docs/latex/statusled_8h__dep__incl.pdf rename to doxygen-docs/latex/statusled_8h__dep__incl.pdf diff --git a/docs/latex/statusled_8h__incl.md5 b/doxygen-docs/latex/statusled_8h__incl.md5 similarity index 100% rename from docs/latex/statusled_8h__incl.md5 rename to doxygen-docs/latex/statusled_8h__incl.md5 diff --git a/docs/latex/statusled_8h__incl.pdf b/doxygen-docs/latex/statusled_8h__incl.pdf similarity index 100% rename from docs/latex/statusled_8h__incl.pdf rename to doxygen-docs/latex/statusled_8h__incl.pdf diff --git a/docs/latex/streamlog_8cpp.tex b/doxygen-docs/latex/streamlog_8cpp.tex similarity index 100% rename from docs/latex/streamlog_8cpp.tex rename to doxygen-docs/latex/streamlog_8cpp.tex diff --git a/docs/latex/streamlog_8cpp__incl.md5 b/doxygen-docs/latex/streamlog_8cpp__incl.md5 similarity index 100% rename from docs/latex/streamlog_8cpp__incl.md5 rename to doxygen-docs/latex/streamlog_8cpp__incl.md5 diff --git a/docs/latex/streamlog_8cpp__incl.pdf b/doxygen-docs/latex/streamlog_8cpp__incl.pdf similarity index 100% rename from docs/latex/streamlog_8cpp__incl.pdf rename to doxygen-docs/latex/streamlog_8cpp__incl.pdf diff --git a/docs/latex/streamlog_8h.tex b/doxygen-docs/latex/streamlog_8h.tex similarity index 100% rename from docs/latex/streamlog_8h.tex rename to doxygen-docs/latex/streamlog_8h.tex diff --git a/docs/latex/streamlog_8h__dep__incl.md5 b/doxygen-docs/latex/streamlog_8h__dep__incl.md5 similarity index 100% rename from docs/latex/streamlog_8h__dep__incl.md5 rename to doxygen-docs/latex/streamlog_8h__dep__incl.md5 diff --git a/docs/latex/streamlog_8h__dep__incl.pdf b/doxygen-docs/latex/streamlog_8h__dep__incl.pdf similarity index 100% rename from docs/latex/streamlog_8h__dep__incl.pdf rename to doxygen-docs/latex/streamlog_8h__dep__incl.pdf diff --git a/docs/latex/streamlog_8h__incl.md5 b/doxygen-docs/latex/streamlog_8h__incl.md5 similarity index 100% rename from docs/latex/streamlog_8h__incl.md5 rename to doxygen-docs/latex/streamlog_8h__incl.md5 diff --git a/docs/latex/streamlog_8h__incl.pdf b/doxygen-docs/latex/streamlog_8h__incl.pdf similarity index 100% rename from docs/latex/streamlog_8h__incl.pdf rename to doxygen-docs/latex/streamlog_8h__incl.pdf diff --git a/docs/latex/structreg__t.tex b/doxygen-docs/latex/structreg__t.tex similarity index 100% rename from docs/latex/structreg__t.tex rename to doxygen-docs/latex/structreg__t.tex diff --git a/docs/latex/structserial__st.tex b/doxygen-docs/latex/structserial__st.tex similarity index 100% rename from docs/latex/structserial__st.tex rename to doxygen-docs/latex/structserial__st.tex diff --git a/docs/latex/structserial__t.tex b/doxygen-docs/latex/structserial__t.tex similarity index 100% rename from docs/latex/structserial__t.tex rename to doxygen-docs/latex/structserial__t.tex diff --git a/docs/latex/structsystem_config_data.tex b/doxygen-docs/latex/structsystem_config_data.tex similarity index 100% rename from docs/latex/structsystem_config_data.tex rename to doxygen-docs/latex/structsystem_config_data.tex diff --git a/docs/latex/systemconfigdata_8h.tex b/doxygen-docs/latex/systemconfigdata_8h.tex similarity index 100% rename from docs/latex/systemconfigdata_8h.tex rename to doxygen-docs/latex/systemconfigdata_8h.tex diff --git a/docs/latex/tabu_doxygen.sty b/doxygen-docs/latex/tabu_doxygen.sty similarity index 100% rename from docs/latex/tabu_doxygen.sty rename to doxygen-docs/latex/tabu_doxygen.sty diff --git a/docs/latex/textconst_8h.tex b/doxygen-docs/latex/textconst_8h.tex similarity index 100% rename from docs/latex/textconst_8h.tex rename to doxygen-docs/latex/textconst_8h.tex diff --git a/docs/latex/textconst_8h__dep__incl.md5 b/doxygen-docs/latex/textconst_8h__dep__incl.md5 similarity index 100% rename from docs/latex/textconst_8h__dep__incl.md5 rename to doxygen-docs/latex/textconst_8h__dep__incl.md5 diff --git a/docs/latex/textconst_8h__dep__incl.pdf b/doxygen-docs/latex/textconst_8h__dep__incl.pdf similarity index 100% rename from docs/latex/textconst_8h__dep__incl.pdf rename to doxygen-docs/latex/textconst_8h__dep__incl.pdf diff --git a/docs/latex/union_u_i_d.tex b/doxygen-docs/latex/union_u_i_d.tex similarity index 100% rename from docs/latex/union_u_i_d.tex rename to doxygen-docs/latex/union_u_i_d.tex diff --git a/docs/latex/unionin_store.tex b/doxygen-docs/latex/unionin_store.tex similarity index 100% rename from docs/latex/unionin_store.tex rename to doxygen-docs/latex/unionin_store.tex diff --git a/docs/latex/unionitem_arg_store.tex b/doxygen-docs/latex/unionitem_arg_store.tex similarity index 100% rename from docs/latex/unionitem_arg_store.tex rename to doxygen-docs/latex/unionitem_arg_store.tex diff --git a/docs/latex/unionitem_cmd_store.tex b/doxygen-docs/latex/unionitem_cmd_store.tex similarity index 100% rename from docs/latex/unionitem_cmd_store.tex rename to doxygen-docs/latex/unionitem_cmd_store.tex diff --git a/docs/latex/unionsystem_config_flags.tex b/doxygen-docs/latex/unionsystem_config_flags.tex similarity index 100% rename from docs/latex/unionsystem_config_flags.tex rename to doxygen-docs/latex/unionsystem_config_flags.tex diff --git a/docs/latex/unionthermostat_store.tex b/doxygen-docs/latex/unionthermostat_store.tex similarity index 100% rename from docs/latex/unionthermostat_store.tex rename to doxygen-docs/latex/unionthermostat_store.tex diff --git a/docs/latex/utils_8cpp.tex b/doxygen-docs/latex/utils_8cpp.tex similarity index 100% rename from docs/latex/utils_8cpp.tex rename to doxygen-docs/latex/utils_8cpp.tex diff --git a/docs/latex/utils_8cpp__incl.md5 b/doxygen-docs/latex/utils_8cpp__incl.md5 similarity index 100% rename from docs/latex/utils_8cpp__incl.md5 rename to doxygen-docs/latex/utils_8cpp__incl.md5 diff --git a/docs/latex/utils_8cpp__incl.pdf b/doxygen-docs/latex/utils_8cpp__incl.pdf similarity index 100% rename from docs/latex/utils_8cpp__incl.pdf rename to doxygen-docs/latex/utils_8cpp__incl.pdf diff --git a/docs/latex/utils_8h.tex b/doxygen-docs/latex/utils_8h.tex similarity index 100% rename from docs/latex/utils_8h.tex rename to doxygen-docs/latex/utils_8h.tex diff --git a/docs/latex/utils_8h__dep__incl.md5 b/doxygen-docs/latex/utils_8h__dep__incl.md5 similarity index 100% rename from docs/latex/utils_8h__dep__incl.md5 rename to doxygen-docs/latex/utils_8h__dep__incl.md5 diff --git a/docs/latex/utils_8h__dep__incl.pdf b/doxygen-docs/latex/utils_8h__dep__incl.pdf similarity index 100% rename from docs/latex/utils_8h__dep__incl.pdf rename to doxygen-docs/latex/utils_8h__dep__incl.pdf diff --git a/docs/latex/utils_8h__incl.md5 b/doxygen-docs/latex/utils_8h__incl.md5 similarity index 100% rename from docs/latex/utils_8h__incl.md5 rename to doxygen-docs/latex/utils_8h__incl.md5 diff --git a/docs/latex/utils_8h__incl.pdf b/doxygen-docs/latex/utils_8h__incl.pdf similarity index 100% rename from docs/latex/utils_8h__incl.pdf rename to doxygen-docs/latex/utils_8h__incl.pdf diff --git a/docs/lh.png b/doxygen-docs/lh.png similarity index 100% rename from docs/lh.png rename to doxygen-docs/lh.png diff --git a/docs/rtf/abstractch_8cpp__incl.md5 b/doxygen-docs/rtf/abstractch_8cpp__incl.md5 similarity index 100% rename from docs/rtf/abstractch_8cpp__incl.md5 rename to doxygen-docs/rtf/abstractch_8cpp__incl.md5 diff --git a/docs/rtf/abstractch_8cpp__incl.png b/doxygen-docs/rtf/abstractch_8cpp__incl.png similarity index 100% rename from docs/rtf/abstractch_8cpp__incl.png rename to doxygen-docs/rtf/abstractch_8cpp__incl.png diff --git a/docs/rtf/abstractch_8h__dep__incl.md5 b/doxygen-docs/rtf/abstractch_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/abstractch_8h__dep__incl.md5 rename to doxygen-docs/rtf/abstractch_8h__dep__incl.md5 diff --git a/docs/rtf/abstractch_8h__dep__incl.png b/doxygen-docs/rtf/abstractch_8h__dep__incl.png similarity index 100% rename from docs/rtf/abstractch_8h__dep__incl.png rename to doxygen-docs/rtf/abstractch_8h__dep__incl.png diff --git a/docs/rtf/abstractch_8h__incl.md5 b/doxygen-docs/rtf/abstractch_8h__incl.md5 similarity index 100% rename from docs/rtf/abstractch_8h__incl.md5 rename to doxygen-docs/rtf/abstractch_8h__incl.md5 diff --git a/docs/rtf/abstractch_8h__incl.png b/doxygen-docs/rtf/abstractch_8h__incl.png similarity index 100% rename from docs/rtf/abstractch_8h__incl.png rename to doxygen-docs/rtf/abstractch_8h__incl.png diff --git a/docs/rtf/abstractin_8cpp__incl.md5 b/doxygen-docs/rtf/abstractin_8cpp__incl.md5 similarity index 100% rename from docs/rtf/abstractin_8cpp__incl.md5 rename to doxygen-docs/rtf/abstractin_8cpp__incl.md5 diff --git a/docs/rtf/abstractin_8cpp__incl.png b/doxygen-docs/rtf/abstractin_8cpp__incl.png similarity index 100% rename from docs/rtf/abstractin_8cpp__incl.png rename to doxygen-docs/rtf/abstractin_8cpp__incl.png diff --git a/docs/rtf/abstractin_8h__dep__incl.md5 b/doxygen-docs/rtf/abstractin_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/abstractin_8h__dep__incl.md5 rename to doxygen-docs/rtf/abstractin_8h__dep__incl.md5 diff --git a/docs/rtf/abstractin_8h__dep__incl.png b/doxygen-docs/rtf/abstractin_8h__dep__incl.png similarity index 100% rename from docs/rtf/abstractin_8h__dep__incl.png rename to doxygen-docs/rtf/abstractin_8h__dep__incl.png diff --git a/docs/rtf/abstractin_8h__incl.md5 b/doxygen-docs/rtf/abstractin_8h__incl.md5 similarity index 100% rename from docs/rtf/abstractin_8h__incl.md5 rename to doxygen-docs/rtf/abstractin_8h__incl.md5 diff --git a/docs/rtf/abstractin_8h__incl.png b/doxygen-docs/rtf/abstractin_8h__incl.png similarity index 100% rename from docs/rtf/abstractin_8h__incl.png rename to doxygen-docs/rtf/abstractin_8h__incl.png diff --git a/docs/rtf/abstractout_8h__dep__incl.md5 b/doxygen-docs/rtf/abstractout_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/abstractout_8h__dep__incl.md5 rename to doxygen-docs/rtf/abstractout_8h__dep__incl.md5 diff --git a/docs/rtf/abstractout_8h__dep__incl.png b/doxygen-docs/rtf/abstractout_8h__dep__incl.png similarity index 100% rename from docs/rtf/abstractout_8h__dep__incl.png rename to doxygen-docs/rtf/abstractout_8h__dep__incl.png diff --git a/docs/rtf/abstractout_8h__incl.md5 b/doxygen-docs/rtf/abstractout_8h__incl.md5 similarity index 100% rename from docs/rtf/abstractout_8h__incl.md5 rename to doxygen-docs/rtf/abstractout_8h__incl.md5 diff --git a/docs/rtf/abstractout_8h__incl.png b/doxygen-docs/rtf/abstractout_8h__incl.png similarity index 100% rename from docs/rtf/abstractout_8h__incl.png rename to doxygen-docs/rtf/abstractout_8h__incl.png diff --git a/docs/rtf/bright_8cpp__incl.md5 b/doxygen-docs/rtf/bright_8cpp__incl.md5 similarity index 100% rename from docs/rtf/bright_8cpp__incl.md5 rename to doxygen-docs/rtf/bright_8cpp__incl.md5 diff --git a/docs/rtf/bright_8cpp__incl.png b/doxygen-docs/rtf/bright_8cpp__incl.png similarity index 100% rename from docs/rtf/bright_8cpp__incl.png rename to doxygen-docs/rtf/bright_8cpp__incl.png diff --git a/docs/rtf/bright_8h__dep__incl.md5 b/doxygen-docs/rtf/bright_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/bright_8h__dep__incl.md5 rename to doxygen-docs/rtf/bright_8h__dep__incl.md5 diff --git a/docs/rtf/bright_8h__dep__incl.png b/doxygen-docs/rtf/bright_8h__dep__incl.png similarity index 100% rename from docs/rtf/bright_8h__dep__incl.png rename to doxygen-docs/rtf/bright_8h__dep__incl.png diff --git a/docs/rtf/bright_8h__incl.md5 b/doxygen-docs/rtf/bright_8h__incl.md5 similarity index 100% rename from docs/rtf/bright_8h__incl.md5 rename to doxygen-docs/rtf/bright_8h__incl.md5 diff --git a/docs/rtf/bright_8h__incl.png b/doxygen-docs/rtf/bright_8h__incl.png similarity index 100% rename from docs/rtf/bright_8h__incl.png rename to doxygen-docs/rtf/bright_8h__incl.png diff --git a/docs/rtf/class_input__coll__graph.md5 b/doxygen-docs/rtf/class_input__coll__graph.md5 similarity index 100% rename from docs/rtf/class_input__coll__graph.md5 rename to doxygen-docs/rtf/class_input__coll__graph.md5 diff --git a/docs/rtf/class_input__coll__graph.png b/doxygen-docs/rtf/class_input__coll__graph.png similarity index 100% rename from docs/rtf/class_input__coll__graph.png rename to doxygen-docs/rtf/class_input__coll__graph.png diff --git a/docs/rtf/class_item__coll__graph.md5 b/doxygen-docs/rtf/class_item__coll__graph.md5 similarity index 100% rename from docs/rtf/class_item__coll__graph.md5 rename to doxygen-docs/rtf/class_item__coll__graph.md5 diff --git a/docs/rtf/class_item__coll__graph.png b/doxygen-docs/rtf/class_item__coll__graph.png similarity index 100% rename from docs/rtf/class_item__coll__graph.png rename to doxygen-docs/rtf/class_item__coll__graph.png diff --git a/docs/rtf/class_streamlog__coll__graph.md5 b/doxygen-docs/rtf/class_streamlog__coll__graph.md5 similarity index 100% rename from docs/rtf/class_streamlog__coll__graph.md5 rename to doxygen-docs/rtf/class_streamlog__coll__graph.md5 diff --git a/docs/rtf/class_streamlog__coll__graph.png b/doxygen-docs/rtf/class_streamlog__coll__graph.png similarity index 100% rename from docs/rtf/class_streamlog__coll__graph.png rename to doxygen-docs/rtf/class_streamlog__coll__graph.png diff --git a/docs/rtf/class_streamlog__inherit__graph.md5 b/doxygen-docs/rtf/class_streamlog__inherit__graph.md5 similarity index 100% rename from docs/rtf/class_streamlog__inherit__graph.md5 rename to doxygen-docs/rtf/class_streamlog__inherit__graph.md5 diff --git a/docs/rtf/class_streamlog__inherit__graph.png b/doxygen-docs/rtf/class_streamlog__inherit__graph.png similarity index 100% rename from docs/rtf/class_streamlog__inherit__graph.png rename to doxygen-docs/rtf/class_streamlog__inherit__graph.png diff --git a/docs/rtf/classabstract_ch__inherit__graph.md5 b/doxygen-docs/rtf/classabstract_ch__inherit__graph.md5 similarity index 100% rename from docs/rtf/classabstract_ch__inherit__graph.md5 rename to doxygen-docs/rtf/classabstract_ch__inherit__graph.md5 diff --git a/docs/rtf/classabstract_ch__inherit__graph.png b/doxygen-docs/rtf/classabstract_ch__inherit__graph.png similarity index 100% rename from docs/rtf/classabstract_ch__inherit__graph.png rename to doxygen-docs/rtf/classabstract_ch__inherit__graph.png diff --git a/docs/rtf/classabstract_in__coll__graph.md5 b/doxygen-docs/rtf/classabstract_in__coll__graph.md5 similarity index 100% rename from docs/rtf/classabstract_in__coll__graph.md5 rename to doxygen-docs/rtf/classabstract_in__coll__graph.md5 diff --git a/docs/rtf/classabstract_in__coll__graph.png b/doxygen-docs/rtf/classabstract_in__coll__graph.png similarity index 100% rename from docs/rtf/classabstract_in__coll__graph.png rename to doxygen-docs/rtf/classabstract_in__coll__graph.png diff --git a/docs/rtf/classabstract_in__inherit__graph.md5 b/doxygen-docs/rtf/classabstract_in__inherit__graph.md5 similarity index 100% rename from docs/rtf/classabstract_in__inherit__graph.md5 rename to doxygen-docs/rtf/classabstract_in__inherit__graph.md5 diff --git a/docs/rtf/classabstract_in__inherit__graph.png b/doxygen-docs/rtf/classabstract_in__inherit__graph.png similarity index 100% rename from docs/rtf/classabstract_in__inherit__graph.png rename to doxygen-docs/rtf/classabstract_in__inherit__graph.png diff --git a/docs/rtf/classabstract_out__coll__graph.md5 b/doxygen-docs/rtf/classabstract_out__coll__graph.md5 similarity index 100% rename from docs/rtf/classabstract_out__coll__graph.md5 rename to doxygen-docs/rtf/classabstract_out__coll__graph.md5 diff --git a/docs/rtf/classabstract_out__coll__graph.png b/doxygen-docs/rtf/classabstract_out__coll__graph.png similarity index 100% rename from docs/rtf/classabstract_out__coll__graph.png rename to doxygen-docs/rtf/classabstract_out__coll__graph.png diff --git a/docs/rtf/classabstract_out__inherit__graph.md5 b/doxygen-docs/rtf/classabstract_out__inherit__graph.md5 similarity index 100% rename from docs/rtf/classabstract_out__inherit__graph.md5 rename to doxygen-docs/rtf/classabstract_out__inherit__graph.md5 diff --git a/docs/rtf/classabstract_out__inherit__graph.png b/doxygen-docs/rtf/classabstract_out__inherit__graph.png similarity index 100% rename from docs/rtf/classabstract_out__inherit__graph.png rename to doxygen-docs/rtf/classabstract_out__inherit__graph.png diff --git a/docs/rtf/classch_persistent__inherit__graph.md5 b/doxygen-docs/rtf/classch_persistent__inherit__graph.md5 similarity index 100% rename from docs/rtf/classch_persistent__inherit__graph.md5 rename to doxygen-docs/rtf/classch_persistent__inherit__graph.md5 diff --git a/docs/rtf/classch_persistent__inherit__graph.png b/doxygen-docs/rtf/classch_persistent__inherit__graph.png similarity index 100% rename from docs/rtf/classch_persistent__inherit__graph.png rename to doxygen-docs/rtf/classch_persistent__inherit__graph.png diff --git a/docs/rtf/classcolor_channel__coll__graph.md5 b/doxygen-docs/rtf/classcolor_channel__coll__graph.md5 similarity index 100% rename from docs/rtf/classcolor_channel__coll__graph.md5 rename to doxygen-docs/rtf/classcolor_channel__coll__graph.md5 diff --git a/docs/rtf/classcolor_channel__coll__graph.png b/doxygen-docs/rtf/classcolor_channel__coll__graph.png similarity index 100% rename from docs/rtf/classcolor_channel__coll__graph.png rename to doxygen-docs/rtf/classcolor_channel__coll__graph.png diff --git a/docs/rtf/classcolor_channel__inherit__graph.md5 b/doxygen-docs/rtf/classcolor_channel__inherit__graph.md5 similarity index 100% rename from docs/rtf/classcolor_channel__inherit__graph.md5 rename to doxygen-docs/rtf/classcolor_channel__inherit__graph.md5 diff --git a/docs/rtf/classcolor_channel__inherit__graph.png b/doxygen-docs/rtf/classcolor_channel__inherit__graph.png similarity index 100% rename from docs/rtf/classcolor_channel__inherit__graph.png rename to doxygen-docs/rtf/classcolor_channel__inherit__graph.png diff --git a/docs/rtf/classin__ccs811__coll__graph.md5 b/doxygen-docs/rtf/classin__ccs811__coll__graph.md5 similarity index 100% rename from docs/rtf/classin__ccs811__coll__graph.md5 rename to doxygen-docs/rtf/classin__ccs811__coll__graph.md5 diff --git a/docs/rtf/classin__ccs811__coll__graph.png b/doxygen-docs/rtf/classin__ccs811__coll__graph.png similarity index 100% rename from docs/rtf/classin__ccs811__coll__graph.png rename to doxygen-docs/rtf/classin__ccs811__coll__graph.png diff --git a/docs/rtf/classin__ccs811__inherit__graph.md5 b/doxygen-docs/rtf/classin__ccs811__inherit__graph.md5 similarity index 100% rename from docs/rtf/classin__ccs811__inherit__graph.md5 rename to doxygen-docs/rtf/classin__ccs811__inherit__graph.md5 diff --git a/docs/rtf/classin__ccs811__inherit__graph.png b/doxygen-docs/rtf/classin__ccs811__inherit__graph.png similarity index 100% rename from docs/rtf/classin__ccs811__inherit__graph.png rename to doxygen-docs/rtf/classin__ccs811__inherit__graph.png diff --git a/docs/rtf/classin__hdc1080__coll__graph.md5 b/doxygen-docs/rtf/classin__hdc1080__coll__graph.md5 similarity index 100% rename from docs/rtf/classin__hdc1080__coll__graph.md5 rename to doxygen-docs/rtf/classin__hdc1080__coll__graph.md5 diff --git a/docs/rtf/classin__hdc1080__coll__graph.png b/doxygen-docs/rtf/classin__hdc1080__coll__graph.png similarity index 100% rename from docs/rtf/classin__hdc1080__coll__graph.png rename to doxygen-docs/rtf/classin__hdc1080__coll__graph.png diff --git a/docs/rtf/classin__hdc1080__inherit__graph.md5 b/doxygen-docs/rtf/classin__hdc1080__inherit__graph.md5 similarity index 100% rename from docs/rtf/classin__hdc1080__inherit__graph.md5 rename to doxygen-docs/rtf/classin__hdc1080__inherit__graph.md5 diff --git a/docs/rtf/classin__hdc1080__inherit__graph.png b/doxygen-docs/rtf/classin__hdc1080__inherit__graph.png similarity index 100% rename from docs/rtf/classin__hdc1080__inherit__graph.png rename to doxygen-docs/rtf/classin__hdc1080__inherit__graph.png diff --git a/docs/rtf/classitem_cmd__coll__graph.md5 b/doxygen-docs/rtf/classitem_cmd__coll__graph.md5 similarity index 100% rename from docs/rtf/classitem_cmd__coll__graph.md5 rename to doxygen-docs/rtf/classitem_cmd__coll__graph.md5 diff --git a/docs/rtf/classitem_cmd__coll__graph.png b/doxygen-docs/rtf/classitem_cmd__coll__graph.png similarity index 100% rename from docs/rtf/classitem_cmd__coll__graph.png rename to doxygen-docs/rtf/classitem_cmd__coll__graph.png diff --git a/docs/rtf/classmb_persistent__coll__graph.md5 b/doxygen-docs/rtf/classmb_persistent__coll__graph.md5 similarity index 100% rename from docs/rtf/classmb_persistent__coll__graph.md5 rename to doxygen-docs/rtf/classmb_persistent__coll__graph.md5 diff --git a/docs/rtf/classmb_persistent__coll__graph.png b/doxygen-docs/rtf/classmb_persistent__coll__graph.png similarity index 100% rename from docs/rtf/classmb_persistent__coll__graph.png rename to doxygen-docs/rtf/classmb_persistent__coll__graph.png diff --git a/docs/rtf/classmb_persistent__inherit__graph.md5 b/doxygen-docs/rtf/classmb_persistent__inherit__graph.md5 similarity index 100% rename from docs/rtf/classmb_persistent__inherit__graph.md5 rename to doxygen-docs/rtf/classmb_persistent__inherit__graph.md5 diff --git a/docs/rtf/classmb_persistent__inherit__graph.png b/doxygen-docs/rtf/classmb_persistent__inherit__graph.png similarity index 100% rename from docs/rtf/classmb_persistent__inherit__graph.png rename to doxygen-docs/rtf/classmb_persistent__inherit__graph.png diff --git a/docs/rtf/classout___a_c__coll__graph.md5 b/doxygen-docs/rtf/classout___a_c__coll__graph.md5 similarity index 100% rename from docs/rtf/classout___a_c__coll__graph.md5 rename to doxygen-docs/rtf/classout___a_c__coll__graph.md5 diff --git a/docs/rtf/classout___a_c__coll__graph.png b/doxygen-docs/rtf/classout___a_c__coll__graph.png similarity index 100% rename from docs/rtf/classout___a_c__coll__graph.png rename to doxygen-docs/rtf/classout___a_c__coll__graph.png diff --git a/docs/rtf/classout___a_c__inherit__graph.md5 b/doxygen-docs/rtf/classout___a_c__inherit__graph.md5 similarity index 100% rename from docs/rtf/classout___a_c__inherit__graph.md5 rename to doxygen-docs/rtf/classout___a_c__inherit__graph.md5 diff --git a/docs/rtf/classout___a_c__inherit__graph.png b/doxygen-docs/rtf/classout___a_c__inherit__graph.png similarity index 100% rename from docs/rtf/classout___a_c__inherit__graph.png rename to doxygen-docs/rtf/classout___a_c__inherit__graph.png diff --git a/docs/rtf/classout___modbus__coll__graph.md5 b/doxygen-docs/rtf/classout___modbus__coll__graph.md5 similarity index 100% rename from docs/rtf/classout___modbus__coll__graph.md5 rename to doxygen-docs/rtf/classout___modbus__coll__graph.md5 diff --git a/docs/rtf/classout___modbus__coll__graph.png b/doxygen-docs/rtf/classout___modbus__coll__graph.png similarity index 100% rename from docs/rtf/classout___modbus__coll__graph.png rename to doxygen-docs/rtf/classout___modbus__coll__graph.png diff --git a/docs/rtf/classout___modbus__inherit__graph.md5 b/doxygen-docs/rtf/classout___modbus__inherit__graph.md5 similarity index 100% rename from docs/rtf/classout___modbus__inherit__graph.md5 rename to doxygen-docs/rtf/classout___modbus__inherit__graph.md5 diff --git a/docs/rtf/classout___modbus__inherit__graph.png b/doxygen-docs/rtf/classout___modbus__inherit__graph.png similarity index 100% rename from docs/rtf/classout___modbus__inherit__graph.png rename to doxygen-docs/rtf/classout___modbus__inherit__graph.png diff --git a/docs/rtf/classout___motor__coll__graph.md5 b/doxygen-docs/rtf/classout___motor__coll__graph.md5 similarity index 100% rename from docs/rtf/classout___motor__coll__graph.md5 rename to doxygen-docs/rtf/classout___motor__coll__graph.md5 diff --git a/docs/rtf/classout___motor__coll__graph.png b/doxygen-docs/rtf/classout___motor__coll__graph.png similarity index 100% rename from docs/rtf/classout___motor__coll__graph.png rename to doxygen-docs/rtf/classout___motor__coll__graph.png diff --git a/docs/rtf/classout___motor__inherit__graph.md5 b/doxygen-docs/rtf/classout___motor__inherit__graph.md5 similarity index 100% rename from docs/rtf/classout___motor__inherit__graph.md5 rename to doxygen-docs/rtf/classout___motor__inherit__graph.md5 diff --git a/docs/rtf/classout___motor__inherit__graph.png b/doxygen-docs/rtf/classout___motor__inherit__graph.png similarity index 100% rename from docs/rtf/classout___motor__inherit__graph.png rename to doxygen-docs/rtf/classout___motor__inherit__graph.png diff --git a/docs/rtf/classout___s_p_i_led__coll__graph.md5 b/doxygen-docs/rtf/classout___s_p_i_led__coll__graph.md5 similarity index 100% rename from docs/rtf/classout___s_p_i_led__coll__graph.md5 rename to doxygen-docs/rtf/classout___s_p_i_led__coll__graph.md5 diff --git a/docs/rtf/classout___s_p_i_led__coll__graph.png b/doxygen-docs/rtf/classout___s_p_i_led__coll__graph.png similarity index 100% rename from docs/rtf/classout___s_p_i_led__coll__graph.png rename to doxygen-docs/rtf/classout___s_p_i_led__coll__graph.png diff --git a/docs/rtf/classout___s_p_i_led__inherit__graph.md5 b/doxygen-docs/rtf/classout___s_p_i_led__inherit__graph.md5 similarity index 100% rename from docs/rtf/classout___s_p_i_led__inherit__graph.md5 rename to doxygen-docs/rtf/classout___s_p_i_led__inherit__graph.md5 diff --git a/docs/rtf/classout___s_p_i_led__inherit__graph.png b/doxygen-docs/rtf/classout___s_p_i_led__inherit__graph.png similarity index 100% rename from docs/rtf/classout___s_p_i_led__inherit__graph.png rename to doxygen-docs/rtf/classout___s_p_i_led__inherit__graph.png diff --git a/docs/rtf/classout__dmx__coll__graph.md5 b/doxygen-docs/rtf/classout__dmx__coll__graph.md5 similarity index 100% rename from docs/rtf/classout__dmx__coll__graph.md5 rename to doxygen-docs/rtf/classout__dmx__coll__graph.md5 diff --git a/docs/rtf/classout__dmx__coll__graph.png b/doxygen-docs/rtf/classout__dmx__coll__graph.png similarity index 100% rename from docs/rtf/classout__dmx__coll__graph.png rename to doxygen-docs/rtf/classout__dmx__coll__graph.png diff --git a/docs/rtf/classout__dmx__inherit__graph.md5 b/doxygen-docs/rtf/classout__dmx__inherit__graph.md5 similarity index 100% rename from docs/rtf/classout__dmx__inherit__graph.md5 rename to doxygen-docs/rtf/classout__dmx__inherit__graph.md5 diff --git a/docs/rtf/classout__dmx__inherit__graph.png b/doxygen-docs/rtf/classout__dmx__inherit__graph.png similarity index 100% rename from docs/rtf/classout__dmx__inherit__graph.png rename to doxygen-docs/rtf/classout__dmx__inherit__graph.png diff --git a/docs/rtf/classout__pwm__coll__graph.md5 b/doxygen-docs/rtf/classout__pwm__coll__graph.md5 similarity index 100% rename from docs/rtf/classout__pwm__coll__graph.md5 rename to doxygen-docs/rtf/classout__pwm__coll__graph.md5 diff --git a/docs/rtf/classout__pwm__coll__graph.png b/doxygen-docs/rtf/classout__pwm__coll__graph.png similarity index 100% rename from docs/rtf/classout__pwm__coll__graph.png rename to doxygen-docs/rtf/classout__pwm__coll__graph.png diff --git a/docs/rtf/classout__pwm__inherit__graph.md5 b/doxygen-docs/rtf/classout__pwm__inherit__graph.md5 similarity index 100% rename from docs/rtf/classout__pwm__inherit__graph.md5 rename to doxygen-docs/rtf/classout__pwm__inherit__graph.md5 diff --git a/docs/rtf/classout__pwm__inherit__graph.png b/doxygen-docs/rtf/classout__pwm__inherit__graph.png similarity index 100% rename from docs/rtf/classout__pwm__inherit__graph.png rename to doxygen-docs/rtf/classout__pwm__inherit__graph.png diff --git a/docs/rtf/colorchannel_8cpp__incl.md5 b/doxygen-docs/rtf/colorchannel_8cpp__incl.md5 similarity index 100% rename from docs/rtf/colorchannel_8cpp__incl.md5 rename to doxygen-docs/rtf/colorchannel_8cpp__incl.md5 diff --git a/docs/rtf/colorchannel_8cpp__incl.png b/doxygen-docs/rtf/colorchannel_8cpp__incl.png similarity index 100% rename from docs/rtf/colorchannel_8cpp__incl.png rename to doxygen-docs/rtf/colorchannel_8cpp__incl.png diff --git a/docs/rtf/colorchannel_8h__dep__incl.md5 b/doxygen-docs/rtf/colorchannel_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/colorchannel_8h__dep__incl.md5 rename to doxygen-docs/rtf/colorchannel_8h__dep__incl.md5 diff --git a/docs/rtf/colorchannel_8h__dep__incl.png b/doxygen-docs/rtf/colorchannel_8h__dep__incl.png similarity index 100% rename from docs/rtf/colorchannel_8h__dep__incl.png rename to doxygen-docs/rtf/colorchannel_8h__dep__incl.png diff --git a/docs/rtf/colorchannel_8h__incl.md5 b/doxygen-docs/rtf/colorchannel_8h__incl.md5 similarity index 100% rename from docs/rtf/colorchannel_8h__incl.md5 rename to doxygen-docs/rtf/colorchannel_8h__incl.md5 diff --git a/docs/rtf/colorchannel_8h__incl.png b/doxygen-docs/rtf/colorchannel_8h__incl.png similarity index 100% rename from docs/rtf/colorchannel_8h__incl.png rename to doxygen-docs/rtf/colorchannel_8h__incl.png diff --git a/docs/rtf/dir_82d7c1f210290ade9e0671f857ad27e3.rtf b/doxygen-docs/rtf/dir_82d7c1f210290ade9e0671f857ad27e3.rtf similarity index 100% rename from docs/rtf/dir_82d7c1f210290ade9e0671f857ad27e3.rtf rename to doxygen-docs/rtf/dir_82d7c1f210290ade9e0671f857ad27e3.rtf diff --git a/docs/rtf/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 b/doxygen-docs/rtf/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 similarity index 100% rename from docs/rtf/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 rename to doxygen-docs/rtf/dir_82d7c1f210290ade9e0671f857ad27e3_dep.md5 diff --git a/docs/rtf/dir_82d7c1f210290ade9e0671f857ad27e3_dep.png b/doxygen-docs/rtf/dir_82d7c1f210290ade9e0671f857ad27e3_dep.png similarity index 100% rename from docs/rtf/dir_82d7c1f210290ade9e0671f857ad27e3_dep.png rename to doxygen-docs/rtf/dir_82d7c1f210290ade9e0671f857ad27e3_dep.png diff --git a/docs/rtf/dir_a26efa385a8243117251e7dce4d75390.rtf b/doxygen-docs/rtf/dir_a26efa385a8243117251e7dce4d75390.rtf similarity index 100% rename from docs/rtf/dir_a26efa385a8243117251e7dce4d75390.rtf rename to doxygen-docs/rtf/dir_a26efa385a8243117251e7dce4d75390.rtf diff --git a/docs/rtf/dir_a26efa385a8243117251e7dce4d75390_dep.md5 b/doxygen-docs/rtf/dir_a26efa385a8243117251e7dce4d75390_dep.md5 similarity index 100% rename from docs/rtf/dir_a26efa385a8243117251e7dce4d75390_dep.md5 rename to doxygen-docs/rtf/dir_a26efa385a8243117251e7dce4d75390_dep.md5 diff --git a/docs/rtf/dir_a26efa385a8243117251e7dce4d75390_dep.png b/doxygen-docs/rtf/dir_a26efa385a8243117251e7dce4d75390_dep.png similarity index 100% rename from docs/rtf/dir_a26efa385a8243117251e7dce4d75390_dep.png rename to doxygen-docs/rtf/dir_a26efa385a8243117251e7dce4d75390_dep.png diff --git a/docs/rtf/dmx_8cpp__incl.md5 b/doxygen-docs/rtf/dmx_8cpp__incl.md5 similarity index 100% rename from docs/rtf/dmx_8cpp__incl.md5 rename to doxygen-docs/rtf/dmx_8cpp__incl.md5 diff --git a/docs/rtf/dmx_8cpp__incl.png b/doxygen-docs/rtf/dmx_8cpp__incl.png similarity index 100% rename from docs/rtf/dmx_8cpp__incl.png rename to doxygen-docs/rtf/dmx_8cpp__incl.png diff --git a/docs/rtf/dmx_8h__dep__incl.md5 b/doxygen-docs/rtf/dmx_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/dmx_8h__dep__incl.md5 rename to doxygen-docs/rtf/dmx_8h__dep__incl.md5 diff --git a/docs/rtf/dmx_8h__dep__incl.png b/doxygen-docs/rtf/dmx_8h__dep__incl.png similarity index 100% rename from docs/rtf/dmx_8h__dep__incl.png rename to doxygen-docs/rtf/dmx_8h__dep__incl.png diff --git a/docs/rtf/dmx_8h__incl.md5 b/doxygen-docs/rtf/dmx_8h__incl.md5 similarity index 100% rename from docs/rtf/dmx_8h__incl.md5 rename to doxygen-docs/rtf/dmx_8h__incl.md5 diff --git a/docs/rtf/dmx_8h__incl.png b/doxygen-docs/rtf/dmx_8h__incl.png similarity index 100% rename from docs/rtf/dmx_8h__incl.png rename to doxygen-docs/rtf/dmx_8h__incl.png diff --git a/docs/rtf/in__ccs811__hdc1080_8cpp__incl.md5 b/doxygen-docs/rtf/in__ccs811__hdc1080_8cpp__incl.md5 similarity index 100% rename from docs/rtf/in__ccs811__hdc1080_8cpp__incl.md5 rename to doxygen-docs/rtf/in__ccs811__hdc1080_8cpp__incl.md5 diff --git a/docs/rtf/in__ccs811__hdc1080_8cpp__incl.png b/doxygen-docs/rtf/in__ccs811__hdc1080_8cpp__incl.png similarity index 100% rename from docs/rtf/in__ccs811__hdc1080_8cpp__incl.png rename to doxygen-docs/rtf/in__ccs811__hdc1080_8cpp__incl.png diff --git a/docs/rtf/in__ccs811__hdc1080_8h__dep__incl.md5 b/doxygen-docs/rtf/in__ccs811__hdc1080_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/in__ccs811__hdc1080_8h__dep__incl.md5 rename to doxygen-docs/rtf/in__ccs811__hdc1080_8h__dep__incl.md5 diff --git a/docs/rtf/in__ccs811__hdc1080_8h__dep__incl.png b/doxygen-docs/rtf/in__ccs811__hdc1080_8h__dep__incl.png similarity index 100% rename from docs/rtf/in__ccs811__hdc1080_8h__dep__incl.png rename to doxygen-docs/rtf/in__ccs811__hdc1080_8h__dep__incl.png diff --git a/docs/rtf/in__ccs811__hdc1080_8h__incl.md5 b/doxygen-docs/rtf/in__ccs811__hdc1080_8h__incl.md5 similarity index 100% rename from docs/rtf/in__ccs811__hdc1080_8h__incl.md5 rename to doxygen-docs/rtf/in__ccs811__hdc1080_8h__incl.md5 diff --git a/docs/rtf/in__ccs811__hdc1080_8h__incl.png b/doxygen-docs/rtf/in__ccs811__hdc1080_8h__incl.png similarity index 100% rename from docs/rtf/in__ccs811__hdc1080_8h__incl.png rename to doxygen-docs/rtf/in__ccs811__hdc1080_8h__incl.png diff --git a/docs/rtf/inputs_8cpp__incl.md5 b/doxygen-docs/rtf/inputs_8cpp__incl.md5 similarity index 100% rename from docs/rtf/inputs_8cpp__incl.md5 rename to doxygen-docs/rtf/inputs_8cpp__incl.md5 diff --git a/docs/rtf/inputs_8cpp__incl.png b/doxygen-docs/rtf/inputs_8cpp__incl.png similarity index 100% rename from docs/rtf/inputs_8cpp__incl.png rename to doxygen-docs/rtf/inputs_8cpp__incl.png diff --git a/docs/rtf/inputs_8h__dep__incl.md5 b/doxygen-docs/rtf/inputs_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/inputs_8h__dep__incl.md5 rename to doxygen-docs/rtf/inputs_8h__dep__incl.md5 diff --git a/docs/rtf/inputs_8h__dep__incl.png b/doxygen-docs/rtf/inputs_8h__dep__incl.png similarity index 100% rename from docs/rtf/inputs_8h__dep__incl.png rename to doxygen-docs/rtf/inputs_8h__dep__incl.png diff --git a/docs/rtf/inputs_8h__incl.md5 b/doxygen-docs/rtf/inputs_8h__incl.md5 similarity index 100% rename from docs/rtf/inputs_8h__incl.md5 rename to doxygen-docs/rtf/inputs_8h__incl.md5 diff --git a/docs/rtf/inputs_8h__incl.png b/doxygen-docs/rtf/inputs_8h__incl.png similarity index 100% rename from docs/rtf/inputs_8h__incl.png rename to doxygen-docs/rtf/inputs_8h__incl.png diff --git a/docs/rtf/item_8cpp__incl.md5 b/doxygen-docs/rtf/item_8cpp__incl.md5 similarity index 100% rename from docs/rtf/item_8cpp__incl.md5 rename to doxygen-docs/rtf/item_8cpp__incl.md5 diff --git a/docs/rtf/item_8cpp__incl.png b/doxygen-docs/rtf/item_8cpp__incl.png similarity index 100% rename from docs/rtf/item_8cpp__incl.png rename to doxygen-docs/rtf/item_8cpp__incl.png diff --git a/docs/rtf/item_8h__dep__incl.md5 b/doxygen-docs/rtf/item_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/item_8h__dep__incl.md5 rename to doxygen-docs/rtf/item_8h__dep__incl.md5 diff --git a/docs/rtf/item_8h__dep__incl.png b/doxygen-docs/rtf/item_8h__dep__incl.png similarity index 100% rename from docs/rtf/item_8h__dep__incl.png rename to doxygen-docs/rtf/item_8h__dep__incl.png diff --git a/docs/rtf/item_8h__incl.md5 b/doxygen-docs/rtf/item_8h__incl.md5 similarity index 100% rename from docs/rtf/item_8h__incl.md5 rename to doxygen-docs/rtf/item_8h__incl.md5 diff --git a/docs/rtf/item_8h__incl.png b/doxygen-docs/rtf/item_8h__incl.png similarity index 100% rename from docs/rtf/item_8h__incl.png rename to doxygen-docs/rtf/item_8h__incl.png diff --git a/docs/rtf/item_cmd_8cpp__incl.md5 b/doxygen-docs/rtf/item_cmd_8cpp__incl.md5 similarity index 100% rename from docs/rtf/item_cmd_8cpp__incl.md5 rename to doxygen-docs/rtf/item_cmd_8cpp__incl.md5 diff --git a/docs/rtf/item_cmd_8cpp__incl.png b/doxygen-docs/rtf/item_cmd_8cpp__incl.png similarity index 100% rename from docs/rtf/item_cmd_8cpp__incl.png rename to doxygen-docs/rtf/item_cmd_8cpp__incl.png diff --git a/docs/rtf/item_cmd_8h__dep__incl.md5 b/doxygen-docs/rtf/item_cmd_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/item_cmd_8h__dep__incl.md5 rename to doxygen-docs/rtf/item_cmd_8h__dep__incl.md5 diff --git a/docs/rtf/item_cmd_8h__dep__incl.png b/doxygen-docs/rtf/item_cmd_8h__dep__incl.png similarity index 100% rename from docs/rtf/item_cmd_8h__dep__incl.png rename to doxygen-docs/rtf/item_cmd_8h__dep__incl.png diff --git a/docs/rtf/item_cmd_8h__incl.md5 b/doxygen-docs/rtf/item_cmd_8h__incl.md5 similarity index 100% rename from docs/rtf/item_cmd_8h__incl.md5 rename to doxygen-docs/rtf/item_cmd_8h__incl.md5 diff --git a/docs/rtf/item_cmd_8h__incl.png b/doxygen-docs/rtf/item_cmd_8h__incl.png similarity index 100% rename from docs/rtf/item_cmd_8h__incl.png rename to doxygen-docs/rtf/item_cmd_8h__incl.png diff --git a/docs/rtf/lh.png b/doxygen-docs/rtf/lh.png similarity index 100% rename from docs/rtf/lh.png rename to doxygen-docs/rtf/lh.png diff --git a/docs/rtf/main_8cpp__incl.md5 b/doxygen-docs/rtf/main_8cpp__incl.md5 similarity index 100% rename from docs/rtf/main_8cpp__incl.md5 rename to doxygen-docs/rtf/main_8cpp__incl.md5 diff --git a/docs/rtf/main_8cpp__incl.png b/doxygen-docs/rtf/main_8cpp__incl.png similarity index 100% rename from docs/rtf/main_8cpp__incl.png rename to doxygen-docs/rtf/main_8cpp__incl.png diff --git a/docs/rtf/main_8h__dep__incl.md5 b/doxygen-docs/rtf/main_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/main_8h__dep__incl.md5 rename to doxygen-docs/rtf/main_8h__dep__incl.md5 diff --git a/docs/rtf/main_8h__dep__incl.png b/doxygen-docs/rtf/main_8h__dep__incl.png similarity index 100% rename from docs/rtf/main_8h__dep__incl.png rename to doxygen-docs/rtf/main_8h__dep__incl.png diff --git a/docs/rtf/main_8h__incl.md5 b/doxygen-docs/rtf/main_8h__incl.md5 similarity index 100% rename from docs/rtf/main_8h__incl.md5 rename to doxygen-docs/rtf/main_8h__incl.md5 diff --git a/docs/rtf/main_8h__incl.png b/doxygen-docs/rtf/main_8h__incl.png similarity index 100% rename from docs/rtf/main_8h__incl.png rename to doxygen-docs/rtf/main_8h__incl.png diff --git a/docs/rtf/options_8h__dep__incl.md5 b/doxygen-docs/rtf/options_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/options_8h__dep__incl.md5 rename to doxygen-docs/rtf/options_8h__dep__incl.md5 diff --git a/docs/rtf/options_8h__dep__incl.png b/doxygen-docs/rtf/options_8h__dep__incl.png similarity index 100% rename from docs/rtf/options_8h__dep__incl.png rename to doxygen-docs/rtf/options_8h__dep__incl.png diff --git a/docs/rtf/out__ac_8cpp__incl.md5 b/doxygen-docs/rtf/out__ac_8cpp__incl.md5 similarity index 100% rename from docs/rtf/out__ac_8cpp__incl.md5 rename to doxygen-docs/rtf/out__ac_8cpp__incl.md5 diff --git a/docs/rtf/out__ac_8cpp__incl.png b/doxygen-docs/rtf/out__ac_8cpp__incl.png similarity index 100% rename from docs/rtf/out__ac_8cpp__incl.png rename to doxygen-docs/rtf/out__ac_8cpp__incl.png diff --git a/docs/rtf/out__ac_8h__dep__incl.md5 b/doxygen-docs/rtf/out__ac_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/out__ac_8h__dep__incl.md5 rename to doxygen-docs/rtf/out__ac_8h__dep__incl.md5 diff --git a/docs/rtf/out__ac_8h__dep__incl.png b/doxygen-docs/rtf/out__ac_8h__dep__incl.png similarity index 100% rename from docs/rtf/out__ac_8h__dep__incl.png rename to doxygen-docs/rtf/out__ac_8h__dep__incl.png diff --git a/docs/rtf/out__ac_8h__incl.md5 b/doxygen-docs/rtf/out__ac_8h__incl.md5 similarity index 100% rename from docs/rtf/out__ac_8h__incl.md5 rename to doxygen-docs/rtf/out__ac_8h__incl.md5 diff --git a/docs/rtf/out__ac_8h__incl.png b/doxygen-docs/rtf/out__ac_8h__incl.png similarity index 100% rename from docs/rtf/out__ac_8h__incl.png rename to doxygen-docs/rtf/out__ac_8h__incl.png diff --git a/docs/rtf/out__dmx_8cpp__incl.md5 b/doxygen-docs/rtf/out__dmx_8cpp__incl.md5 similarity index 100% rename from docs/rtf/out__dmx_8cpp__incl.md5 rename to doxygen-docs/rtf/out__dmx_8cpp__incl.md5 diff --git a/docs/rtf/out__dmx_8cpp__incl.png b/doxygen-docs/rtf/out__dmx_8cpp__incl.png similarity index 100% rename from docs/rtf/out__dmx_8cpp__incl.png rename to doxygen-docs/rtf/out__dmx_8cpp__incl.png diff --git a/docs/rtf/out__dmx_8h__dep__incl.md5 b/doxygen-docs/rtf/out__dmx_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/out__dmx_8h__dep__incl.md5 rename to doxygen-docs/rtf/out__dmx_8h__dep__incl.md5 diff --git a/docs/rtf/out__dmx_8h__dep__incl.png b/doxygen-docs/rtf/out__dmx_8h__dep__incl.png similarity index 100% rename from docs/rtf/out__dmx_8h__dep__incl.png rename to doxygen-docs/rtf/out__dmx_8h__dep__incl.png diff --git a/docs/rtf/out__dmx_8h__incl.md5 b/doxygen-docs/rtf/out__dmx_8h__incl.md5 similarity index 100% rename from docs/rtf/out__dmx_8h__incl.md5 rename to doxygen-docs/rtf/out__dmx_8h__incl.md5 diff --git a/docs/rtf/out__dmx_8h__incl.png b/doxygen-docs/rtf/out__dmx_8h__incl.png similarity index 100% rename from docs/rtf/out__dmx_8h__incl.png rename to doxygen-docs/rtf/out__dmx_8h__incl.png diff --git a/docs/rtf/out__modbus_8cpp__incl.md5 b/doxygen-docs/rtf/out__modbus_8cpp__incl.md5 similarity index 100% rename from docs/rtf/out__modbus_8cpp__incl.md5 rename to doxygen-docs/rtf/out__modbus_8cpp__incl.md5 diff --git a/docs/rtf/out__modbus_8cpp__incl.png b/doxygen-docs/rtf/out__modbus_8cpp__incl.png similarity index 100% rename from docs/rtf/out__modbus_8cpp__incl.png rename to doxygen-docs/rtf/out__modbus_8cpp__incl.png diff --git a/docs/rtf/out__modbus_8h__dep__incl.md5 b/doxygen-docs/rtf/out__modbus_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/out__modbus_8h__dep__incl.md5 rename to doxygen-docs/rtf/out__modbus_8h__dep__incl.md5 diff --git a/docs/rtf/out__modbus_8h__dep__incl.png b/doxygen-docs/rtf/out__modbus_8h__dep__incl.png similarity index 100% rename from docs/rtf/out__modbus_8h__dep__incl.png rename to doxygen-docs/rtf/out__modbus_8h__dep__incl.png diff --git a/docs/rtf/out__modbus_8h__incl.md5 b/doxygen-docs/rtf/out__modbus_8h__incl.md5 similarity index 100% rename from docs/rtf/out__modbus_8h__incl.md5 rename to doxygen-docs/rtf/out__modbus_8h__incl.md5 diff --git a/docs/rtf/out__modbus_8h__incl.png b/doxygen-docs/rtf/out__modbus_8h__incl.png similarity index 100% rename from docs/rtf/out__modbus_8h__incl.png rename to doxygen-docs/rtf/out__modbus_8h__incl.png diff --git a/docs/rtf/out__motor_8cpp__incl.md5 b/doxygen-docs/rtf/out__motor_8cpp__incl.md5 similarity index 100% rename from docs/rtf/out__motor_8cpp__incl.md5 rename to doxygen-docs/rtf/out__motor_8cpp__incl.md5 diff --git a/docs/rtf/out__motor_8cpp__incl.png b/doxygen-docs/rtf/out__motor_8cpp__incl.png similarity index 100% rename from docs/rtf/out__motor_8cpp__incl.png rename to doxygen-docs/rtf/out__motor_8cpp__incl.png diff --git a/docs/rtf/out__motor_8h__dep__incl.md5 b/doxygen-docs/rtf/out__motor_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/out__motor_8h__dep__incl.md5 rename to doxygen-docs/rtf/out__motor_8h__dep__incl.md5 diff --git a/docs/rtf/out__motor_8h__dep__incl.png b/doxygen-docs/rtf/out__motor_8h__dep__incl.png similarity index 100% rename from docs/rtf/out__motor_8h__dep__incl.png rename to doxygen-docs/rtf/out__motor_8h__dep__incl.png diff --git a/docs/rtf/out__motor_8h__incl.md5 b/doxygen-docs/rtf/out__motor_8h__incl.md5 similarity index 100% rename from docs/rtf/out__motor_8h__incl.md5 rename to doxygen-docs/rtf/out__motor_8h__incl.md5 diff --git a/docs/rtf/out__motor_8h__incl.png b/doxygen-docs/rtf/out__motor_8h__incl.png similarity index 100% rename from docs/rtf/out__motor_8h__incl.png rename to doxygen-docs/rtf/out__motor_8h__incl.png diff --git a/docs/rtf/out__pwm_8cpp__incl.md5 b/doxygen-docs/rtf/out__pwm_8cpp__incl.md5 similarity index 100% rename from docs/rtf/out__pwm_8cpp__incl.md5 rename to doxygen-docs/rtf/out__pwm_8cpp__incl.md5 diff --git a/docs/rtf/out__pwm_8cpp__incl.png b/doxygen-docs/rtf/out__pwm_8cpp__incl.png similarity index 100% rename from docs/rtf/out__pwm_8cpp__incl.png rename to doxygen-docs/rtf/out__pwm_8cpp__incl.png diff --git a/docs/rtf/out__pwm_8h__dep__incl.md5 b/doxygen-docs/rtf/out__pwm_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/out__pwm_8h__dep__incl.md5 rename to doxygen-docs/rtf/out__pwm_8h__dep__incl.md5 diff --git a/docs/rtf/out__pwm_8h__dep__incl.png b/doxygen-docs/rtf/out__pwm_8h__dep__incl.png similarity index 100% rename from docs/rtf/out__pwm_8h__dep__incl.png rename to doxygen-docs/rtf/out__pwm_8h__dep__incl.png diff --git a/docs/rtf/out__pwm_8h__incl.md5 b/doxygen-docs/rtf/out__pwm_8h__incl.md5 similarity index 100% rename from docs/rtf/out__pwm_8h__incl.md5 rename to doxygen-docs/rtf/out__pwm_8h__incl.md5 diff --git a/docs/rtf/out__pwm_8h__incl.png b/doxygen-docs/rtf/out__pwm_8h__incl.png similarity index 100% rename from docs/rtf/out__pwm_8h__incl.png rename to doxygen-docs/rtf/out__pwm_8h__incl.png diff --git a/docs/rtf/out__spiled_8cpp__incl.md5 b/doxygen-docs/rtf/out__spiled_8cpp__incl.md5 similarity index 100% rename from docs/rtf/out__spiled_8cpp__incl.md5 rename to doxygen-docs/rtf/out__spiled_8cpp__incl.md5 diff --git a/docs/rtf/out__spiled_8cpp__incl.png b/doxygen-docs/rtf/out__spiled_8cpp__incl.png similarity index 100% rename from docs/rtf/out__spiled_8cpp__incl.png rename to doxygen-docs/rtf/out__spiled_8cpp__incl.png diff --git a/docs/rtf/out__spiled_8h__dep__incl.md5 b/doxygen-docs/rtf/out__spiled_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/out__spiled_8h__dep__incl.md5 rename to doxygen-docs/rtf/out__spiled_8h__dep__incl.md5 diff --git a/docs/rtf/out__spiled_8h__dep__incl.png b/doxygen-docs/rtf/out__spiled_8h__dep__incl.png similarity index 100% rename from docs/rtf/out__spiled_8h__dep__incl.png rename to doxygen-docs/rtf/out__spiled_8h__dep__incl.png diff --git a/docs/rtf/out__spiled_8h__incl.md5 b/doxygen-docs/rtf/out__spiled_8h__incl.md5 similarity index 100% rename from docs/rtf/out__spiled_8h__incl.md5 rename to doxygen-docs/rtf/out__spiled_8h__incl.md5 diff --git a/docs/rtf/out__spiled_8h__incl.png b/doxygen-docs/rtf/out__spiled_8h__incl.png similarity index 100% rename from docs/rtf/out__spiled_8h__incl.png rename to doxygen-docs/rtf/out__spiled_8h__incl.png diff --git a/docs/rtf/ow_term_8cpp__incl.md5 b/doxygen-docs/rtf/ow_term_8cpp__incl.md5 similarity index 100% rename from docs/rtf/ow_term_8cpp__incl.md5 rename to doxygen-docs/rtf/ow_term_8cpp__incl.md5 diff --git a/docs/rtf/ow_term_8cpp__incl.png b/doxygen-docs/rtf/ow_term_8cpp__incl.png similarity index 100% rename from docs/rtf/ow_term_8cpp__incl.png rename to doxygen-docs/rtf/ow_term_8cpp__incl.png diff --git a/docs/rtf/ow_term_8h__dep__incl.md5 b/doxygen-docs/rtf/ow_term_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/ow_term_8h__dep__incl.md5 rename to doxygen-docs/rtf/ow_term_8h__dep__incl.md5 diff --git a/docs/rtf/ow_term_8h__dep__incl.png b/doxygen-docs/rtf/ow_term_8h__dep__incl.png similarity index 100% rename from docs/rtf/ow_term_8h__dep__incl.png rename to doxygen-docs/rtf/ow_term_8h__dep__incl.png diff --git a/docs/rtf/ow_term_8h__incl.md5 b/doxygen-docs/rtf/ow_term_8h__incl.md5 similarity index 100% rename from docs/rtf/ow_term_8h__incl.md5 rename to doxygen-docs/rtf/ow_term_8h__incl.md5 diff --git a/docs/rtf/ow_term_8h__incl.png b/doxygen-docs/rtf/ow_term_8h__incl.png similarity index 100% rename from docs/rtf/ow_term_8h__incl.png rename to doxygen-docs/rtf/ow_term_8h__incl.png diff --git a/docs/rtf/refman.rtf b/doxygen-docs/rtf/refman.rtf similarity index 100% rename from docs/rtf/refman.rtf rename to doxygen-docs/rtf/refman.rtf diff --git a/docs/rtf/statusled_8cpp__incl.md5 b/doxygen-docs/rtf/statusled_8cpp__incl.md5 similarity index 100% rename from docs/rtf/statusled_8cpp__incl.md5 rename to doxygen-docs/rtf/statusled_8cpp__incl.md5 diff --git a/docs/rtf/statusled_8cpp__incl.png b/doxygen-docs/rtf/statusled_8cpp__incl.png similarity index 100% rename from docs/rtf/statusled_8cpp__incl.png rename to doxygen-docs/rtf/statusled_8cpp__incl.png diff --git a/docs/rtf/statusled_8h__dep__incl.md5 b/doxygen-docs/rtf/statusled_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/statusled_8h__dep__incl.md5 rename to doxygen-docs/rtf/statusled_8h__dep__incl.md5 diff --git a/docs/rtf/statusled_8h__dep__incl.png b/doxygen-docs/rtf/statusled_8h__dep__incl.png similarity index 100% rename from docs/rtf/statusled_8h__dep__incl.png rename to doxygen-docs/rtf/statusled_8h__dep__incl.png diff --git a/docs/rtf/statusled_8h__incl.md5 b/doxygen-docs/rtf/statusled_8h__incl.md5 similarity index 100% rename from docs/rtf/statusled_8h__incl.md5 rename to doxygen-docs/rtf/statusled_8h__incl.md5 diff --git a/docs/rtf/statusled_8h__incl.png b/doxygen-docs/rtf/statusled_8h__incl.png similarity index 100% rename from docs/rtf/statusled_8h__incl.png rename to doxygen-docs/rtf/statusled_8h__incl.png diff --git a/docs/rtf/streamlog_8cpp__incl.md5 b/doxygen-docs/rtf/streamlog_8cpp__incl.md5 similarity index 100% rename from docs/rtf/streamlog_8cpp__incl.md5 rename to doxygen-docs/rtf/streamlog_8cpp__incl.md5 diff --git a/docs/rtf/streamlog_8cpp__incl.png b/doxygen-docs/rtf/streamlog_8cpp__incl.png similarity index 100% rename from docs/rtf/streamlog_8cpp__incl.png rename to doxygen-docs/rtf/streamlog_8cpp__incl.png diff --git a/docs/rtf/streamlog_8h__dep__incl.md5 b/doxygen-docs/rtf/streamlog_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/streamlog_8h__dep__incl.md5 rename to doxygen-docs/rtf/streamlog_8h__dep__incl.md5 diff --git a/docs/rtf/streamlog_8h__dep__incl.png b/doxygen-docs/rtf/streamlog_8h__dep__incl.png similarity index 100% rename from docs/rtf/streamlog_8h__dep__incl.png rename to doxygen-docs/rtf/streamlog_8h__dep__incl.png diff --git a/docs/rtf/streamlog_8h__incl.md5 b/doxygen-docs/rtf/streamlog_8h__incl.md5 similarity index 100% rename from docs/rtf/streamlog_8h__incl.md5 rename to doxygen-docs/rtf/streamlog_8h__incl.md5 diff --git a/docs/rtf/streamlog_8h__incl.png b/doxygen-docs/rtf/streamlog_8h__incl.png similarity index 100% rename from docs/rtf/streamlog_8h__incl.png rename to doxygen-docs/rtf/streamlog_8h__incl.png diff --git a/docs/rtf/textconst_8h__dep__incl.md5 b/doxygen-docs/rtf/textconst_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/textconst_8h__dep__incl.md5 rename to doxygen-docs/rtf/textconst_8h__dep__incl.md5 diff --git a/docs/rtf/textconst_8h__dep__incl.png b/doxygen-docs/rtf/textconst_8h__dep__incl.png similarity index 100% rename from docs/rtf/textconst_8h__dep__incl.png rename to doxygen-docs/rtf/textconst_8h__dep__incl.png diff --git a/docs/rtf/utils_8cpp__incl.md5 b/doxygen-docs/rtf/utils_8cpp__incl.md5 similarity index 100% rename from docs/rtf/utils_8cpp__incl.md5 rename to doxygen-docs/rtf/utils_8cpp__incl.md5 diff --git a/docs/rtf/utils_8cpp__incl.png b/doxygen-docs/rtf/utils_8cpp__incl.png similarity index 100% rename from docs/rtf/utils_8cpp__incl.png rename to doxygen-docs/rtf/utils_8cpp__incl.png diff --git a/docs/rtf/utils_8h__dep__incl.md5 b/doxygen-docs/rtf/utils_8h__dep__incl.md5 similarity index 100% rename from docs/rtf/utils_8h__dep__incl.md5 rename to doxygen-docs/rtf/utils_8h__dep__incl.md5 diff --git a/docs/rtf/utils_8h__dep__incl.png b/doxygen-docs/rtf/utils_8h__dep__incl.png similarity index 100% rename from docs/rtf/utils_8h__dep__incl.png rename to doxygen-docs/rtf/utils_8h__dep__incl.png diff --git a/docs/rtf/utils_8h__incl.md5 b/doxygen-docs/rtf/utils_8h__incl.md5 similarity index 100% rename from docs/rtf/utils_8h__incl.md5 rename to doxygen-docs/rtf/utils_8h__incl.md5 diff --git a/docs/rtf/utils_8h__incl.png b/doxygen-docs/rtf/utils_8h__incl.png similarity index 100% rename from docs/rtf/utils_8h__incl.png rename to doxygen-docs/rtf/utils_8h__incl.png diff --git a/lighthub/abstractch.cpp b/lighthub/abstractch.cpp index 5384b73..a1c32c2 100644 --- a/lighthub/abstractch.cpp +++ b/lighthub/abstractch.cpp @@ -44,8 +44,7 @@ int abstractCh::publishTopic(const char* topic, const char * value, const char* } if (mqttClient.connected() && lanStatus == OPERATION && !ethernetIdleCount) { - mqttClient.publish(addrstr, value, true); - return 1; + return mqttClient.publish(addrstr, value, true); } } #endif diff --git a/lighthub/modules/out_mercury.h b/lighthub/modules/out_mercury.h index a5ca685..db20fc4 100644 --- a/lighthub/modules/out_mercury.h +++ b/lighthub/modules/out_mercury.h @@ -55,7 +55,7 @@ public: protected: mercuryPersistent * store; - uint16_t pollingInterval; + uint32_t pollingInterval; bool getConfig(); void initLine(bool full = false); short connectMercury(); diff --git a/lighthub/modules/out_sprinkler.cpp b/lighthub/modules/out_sprinkler.cpp index fc8bd1b..6efb12e 100644 --- a/lighthub/modules/out_sprinkler.cpp +++ b/lighthub/modules/out_sprinkler.cpp @@ -8,7 +8,7 @@ #include "item.h" #include "main.h" #include "utils.h" - +static bool statePublished = false; bool out_sprinkler::getConfig() { gatesObj = NULL; @@ -50,11 +50,12 @@ static bool isValidControlPin(short pin) return (abs(pin) < PINS_COUNT && !isProtectedPin(abs(pin))); } -void out_sprinkler::publishBooleanStateIfChanged(const char * subItem, bool state, uint32_t flag, uint32_t & lastState) +bool out_sprinkler::publishBooleanStateIfChanged(const char * subItem, bool state, uint32_t flag, uint32_t & lastState, bool forcePublish) { - if (state == (bool) (lastState & flag)) return; + if (!&lastState) return false; + if ((state == (bool) (lastState & flag)) && !forcePublish) return true; if (state) lastState |= flag ; else lastState &= ~flag; - publishBooleanState(subItem, state); + return publishBooleanState(subItem, state); } void out_sprinkler::setOutput(short pin, bool value) @@ -107,24 +108,25 @@ int out_sprinkler::Setup() } if (wMaxPin != PINS_COUNT) { setupInPin(wMaxPin); - lastVals |= (publishBooleanState("/$wMax", readInPin(wMaxPin)) ? LASTWMAXSTATE : 0); + // lastVals |= (publishBooleanState("/$wMax", readInPin(wMaxPin)) ? LASTWMAXSTATE : 0); } if (wMinPin != PINS_COUNT) { setupInPin(wMinPin); - lastVals |= (publishBooleanState("/$wMin", readInPin(wMinPin)) ? LASTWMINSTATE : 0); + // lastVals |= (publishBooleanState("/$wMin", readInPin(wMinPin)) ? LASTWMINSTATE : 0); } if (fbDrenPin != PINS_COUNT) { setupInPin(fbDrenPin); - lastVals |= (publishBooleanState("/$fbDren", readInPin(fbDrenPin)) ? LASTFBDRENSTATE : 0); + // lastVals |= (publishBooleanState("/$fbDren", readInPin(fbDrenPin)) ? LASTFBDRENSTATE : 0); } if (fbPumpPin != PINS_COUNT) { setupInPin(fbPumpPin); - lastVals |= (publishBooleanState("/$fbPump", readInPin(fbPumpPin)) ? LASTFBPUMPSTATE : 0); + // lastVals |= (publishBooleanState("/$fbPump", readInPin(fbPumpPin)) ? LASTFBPUMPSTATE : 0); } setValToJson(gatesObj, "@lastVals", (long)lastVals); //item->setExt(millisNZ()); + statePublished = false; setStatus(CST_INITIALIZED); notifyState(SP_UNKNOWN); return 1; @@ -152,7 +154,7 @@ bool out_sprinkler::isFreeze() bool out_sprinkler::isNeedPump(bool steelNeed) { if (!gatesObj) return false; - if (!steelNeed && (!item || item->getCmd() != CMD_ON)) return false; + if (!steelNeed && (!item || ! (item->getCmd() == CMD_ON || item->getCmd() == CMD_DRY))) return false; aJsonObject * zone = gatesObj->child; while (zone) @@ -235,8 +237,8 @@ void out_sprinkler::turnOffAllZones() void out_sprinkler::turnOffValves() { turnOffAllZones(); - setOutput(vinPin, false); - setOutput(drenPin, false); + vin(false); + dren(false); } //void out_sprinkler::notifyState(short state) @@ -355,12 +357,10 @@ int out_sprinkler::moveToState(sprinklerState nextState) dren(false); vin(false); pump(true); - item->On(); + //item->On(); break; } - //publishBooleanState("/$rDren", nextState == SP_DREN_ON || nextState == SP_DREN_OPERATE); - //publishBooleanState("/$vIN", nextState == SP_VIN); notifyState(nextState); return 1; } @@ -451,10 +451,9 @@ void out_sprinkler::updateCounterValue() bool out_sprinkler::publishBooleanState(const char * subItem, bool state) { - if (!item) return state; + if (!item) return false; - publishTopic(item->itemArr->name,state ? "ON": "OFF", subItem); - return state; + return publishTopic(item->itemArr->name,state ? "ON": "OFF", subItem); } @@ -464,6 +463,7 @@ int out_sprinkler::Poll(short cause) bool freeze = isFreeze(); + bool publishState = true; bool wMax = (wMaxPin != PINS_COUNT) ? readInPin(wMaxPin) : false; bool wMin = (wMinPin != PINS_COUNT) ? readInPin(wMinPin) : false; bool fbDren = (fbDrenPin != PINS_COUNT) ? readInPin(fbDrenPin) : false; @@ -471,10 +471,19 @@ int out_sprinkler::Poll(short cause) uint32_t lastVals = getIntFromJson(gatesObj, "@lastVals", 0); - publishBooleanStateIfChanged("/$wMax", wMax, LASTWMAXSTATE, lastVals); - publishBooleanStateIfChanged("/$wMin", wMin, LASTWMINSTATE, lastVals); - publishBooleanStateIfChanged("/$fbDren", fbDren, LASTFBDRENSTATE, lastVals); - publishBooleanStateIfChanged("/$fbPump", fbPump, LASTFBPUMPSTATE, lastVals); + publishState = publishState && publishBooleanStateIfChanged("/$wMax", wMax, LASTWMAXSTATE, lastVals, !statePublished); + publishState = publishState && publishBooleanStateIfChanged("/$wMin", wMin, LASTWMINSTATE, lastVals, !statePublished); + publishState = publishState && publishBooleanStateIfChanged("/$fbDren", fbDren, LASTFBDRENSTATE, lastVals, !statePublished); + publishState = publishState && publishBooleanStateIfChanged("/$fbPump", fbPump, LASTFBPUMPSTATE, lastVals, !statePublished); + + if (!statePublished) + { + publishState = publishState && publishBooleanState("/$rPump", lastVals & LASTPUMPSTATE); + publishState = publishState && publishBooleanState("/$rDren", lastVals & LASTDRENSTATE); + publishState = publishState && publishBooleanState("/$rVIN", lastVals & LASTVINSTATE); + } + + if (publishState) statePublished = true; uint32_t now = millisNZ(); int state = getIntFromJson(gatesObj, "@state", SP_UNKNOWN); @@ -549,6 +558,7 @@ int out_sprinkler::Poll(short cause) setValToJson(gatesObj, "@state", (long)state); moveToState(SP_FULL); } + else if (fbPump) setValToJson(gatesObj, "@timer", (long)now); else if (isTimeOver(timer, now, DRENAGE_MAX_TIME)) { state = SP_FAULT_DREN; @@ -628,14 +638,14 @@ int out_sprinkler::Poll(short cause) bool needPump = false; aJsonObject * currentZone = NULL; - if (item->getCmd() == CMD_ON && !tankReady) + if ((item->getCmd() == CMD_ON || item->getCmd() == CMD_DRY) && !tankReady) { turnOffAllZones(); pump(false); return 0; } bool isActiveZone = false; - if (item->getCmd() == CMD_ON && tankReady) + if ((item->getCmd() == CMD_ON || item->getCmd() == CMD_DRY) && tankReady) { currentZone = findNextZone(); if (currentZone) @@ -810,7 +820,7 @@ int out_sprinkler::Ctrl(itemCmd cmd, char* subItem, bool toExecute, bool authori case CMD_DRY: setValToJson(gatesObj, "@state", (long)SP_DRYING); moveToState(SP_DRYING); - notifyState(SP_DRYING); + //notifyState(SP_DRYING); return 1; case CMD_RESET: diff --git a/lighthub/modules/out_sprinkler.h b/lighthub/modules/out_sprinkler.h index de4bfe6..0746250 100644 --- a/lighthub/modules/out_sprinkler.h +++ b/lighthub/modules/out_sprinkler.h @@ -8,7 +8,7 @@ #define DRENAGE_ON_TIME 10000 #define VIN_MAX_TIME 1200000UL -#define DRENAGE_MAX_TIME 2000000UL +#define DRENAGE_MAX_TIME 4000000UL #define LASTWCTRLSTATE 1 #define LASTWCTRLSTATE_ALL 2 @@ -19,6 +19,9 @@ #define LASTPUMPSTATE 64 #define LASTDRENSTATE 128 #define LASTVINSTATE 256 +#define LASTFAULTSTATE 512 +#define LASTSTATE_MASK 0x3FF +#define LASTSTATE_INVALID 1024 enum sprinklerState { SP_UNKNOWN = 0, @@ -65,7 +68,7 @@ protected: void updateZoneValue(aJsonObject * zone, long value); bool publishBooleanState(const char * subItem, bool state); void publishNumericState(const char * subItem, long value); - void publishBooleanStateIfChanged(const char * subItem, bool state, uint32_t flag, uint32_t & lastState); + bool publishBooleanStateIfChanged(const char * subItem, bool state, uint32_t flag, uint32_t & lastState, bool forcePublish=false); bool isFreeze(); void notifyState(short state); int moveToState(sprinklerState nextState);