diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/_m5_unit_m_e_t_e_r_8hpp.html b/_m5_unit_m_e_t_e_r_8hpp.html new file mode 100644 index 0000000..07c8c37 --- /dev/null +++ b/_m5_unit_m_e_t_e_r_8hpp.html @@ -0,0 +1,133 @@ + + + + + + + +M5Unit-METER: src/M5UnitMETER.hpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
M5UnitMETER.hpp File Reference
+
+
+ +

Main header of M5UnitMETER. +More...

+ +

Go to the source code of this file.

+ + + + + + + + +

+Namespaces

namespace  m5
 Top level namespace of M5stack.
 
namespace  unit
 Unit-related namespace.
 
+

Detailed Description

+

Main header of M5UnitMETER.

+
+
+ + + + diff --git a/_m5_unit_m_e_t_e_r_8hpp_source.html b/_m5_unit_m_e_t_e_r_8hpp_source.html new file mode 100644 index 0000000..0cb0da4 --- /dev/null +++ b/_m5_unit_m_e_t_e_r_8hpp_source.html @@ -0,0 +1,132 @@ + + + + + + + +M5Unit-METER: src/M5UnitMETER.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
M5UnitMETER.hpp
+
+
+Go to the documentation of this file.
1/*
+
2 * SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD
+
3 *
+
4 * SPDX-License-Identifier: MIT
+
5 */
+
13#ifndef M5_UNIT_METER_HPP
+
14#define M5_UNIT_METER_HPP
+
15
+
16#include "unit/unit_Ameter.hpp"
+
17#include "unit/unit_Vmeter.hpp"
+
18
+
23namespace m5 {
+
24
+
29namespace unit {} // namespace unit
+
30} // namespace m5
+
31#endif
+
Top level namespace of M5stack.
+
Unit-related namespace.
+
Ameter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified.
+
Vmeter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified.
+
+
+ + + + diff --git a/annotated.html b/annotated.html new file mode 100644 index 0000000..661e88e --- /dev/null +++ b/annotated.html @@ -0,0 +1,128 @@ + + + + + + + +M5Unit-METER: Class List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 1234]
+ + + + + + + + + + + + + +
 Nm5Top level namespace of M5stack
 Nunit
 Nads111x
 CConfigAccessor for configration
 CDataMeasurement data group
 CUnitADS1113ADS1113 unit
 CUnitADS1114ADS1114 unit
 CUnitADS1115ADS1115 unit
 CUnitADS1115WithEEPROMEEPROM holds calibration data
 CUnitADS111xBase class for ADS111x series
 Cconfig_tSettings for begin
 CUnitAmeterAmeter Unit is a current meter that can monitor the current in real time
 CUnitVmeterVoltmeter Unit is a voltage meter that can monitor the voltage in real time
+
+
+
+ + + + diff --git a/annotated_dup.js b/annotated_dup.js new file mode 100644 index 0000000..4f53734 --- /dev/null +++ b/annotated_dup.js @@ -0,0 +1,18 @@ +var annotated_dup = +[ + [ "m5", "namespacem5.html", [ + [ "unit", null, [ + [ "ads111x", null, [ + [ "Config", "structm5_1_1unit_1_1ads111x_1_1_config.html", "structm5_1_1unit_1_1ads111x_1_1_config" ], + [ "Data", "structm5_1_1unit_1_1ads111x_1_1_data.html", "structm5_1_1unit_1_1ads111x_1_1_data" ] + ] ], + [ "UnitADS1113", "classm5_1_1unit_1_1_unit_a_d_s1113.html", "classm5_1_1unit_1_1_unit_a_d_s1113" ], + [ "UnitADS1114", "classm5_1_1unit_1_1_unit_a_d_s1114.html", "classm5_1_1unit_1_1_unit_a_d_s1114" ], + [ "UnitADS1115", "classm5_1_1unit_1_1_unit_a_d_s1115.html", "classm5_1_1unit_1_1_unit_a_d_s1115" ], + [ "UnitADS1115WithEEPROM", "classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.html", "classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m" ], + [ "UnitADS111x", "classm5_1_1unit_1_1_unit_a_d_s111x.html", "classm5_1_1unit_1_1_unit_a_d_s111x" ], + [ "UnitAmeter", "classm5_1_1unit_1_1_unit_ameter.html", "classm5_1_1unit_1_1_unit_ameter" ], + [ "UnitVmeter", "classm5_1_1unit_1_1_unit_vmeter.html", "classm5_1_1unit_1_1_unit_vmeter" ] + ] ] + ] ] +]; \ No newline at end of file diff --git a/bc_s.png b/bc_s.png new file mode 100644 index 0000000..224b29a Binary files /dev/null and b/bc_s.png differ diff --git a/bc_sd.png b/bc_sd.png new file mode 100644 index 0000000..31ca888 Binary files /dev/null and b/bc_sd.png differ diff --git a/classes.html b/classes.html new file mode 100644 index 0000000..ba01405 --- /dev/null +++ b/classes.html @@ -0,0 +1,123 @@ + + + + + + + +M5Unit-METER: Class Index + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class Index
+
+
+
C | D | U
+
+
+
C
+
Config (m5::unit::ads111x)
UnitADS111x::config_t (m5::unit)
+
+
D
+
Data (m5::unit::ads111x)
+
+
U
+
UnitADS1113 (m5::unit)
UnitADS1114 (m5::unit)
UnitADS1115 (m5::unit)
UnitADS1115WithEEPROM (m5::unit)
UnitADS111x (m5::unit)
UnitAmeter (m5::unit)
UnitVmeter (m5::unit)
+
+
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_a_d_s1113-members.html b/classm5_1_1unit_1_1_unit_a_d_s1113-members.html new file mode 100644 index 0000000..a0a05ee --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s1113-members.html @@ -0,0 +1,164 @@ + + + + + + + +M5Unit-METER: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
m5::unit::UnitADS1113 Member List
+
+
+ +

This is the complete list of members for m5::unit::UnitADS1113, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_adsCfg (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_cfg (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_coefficient (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_data (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
adc() constm5::unit::UnitADS111xinline
apply_coefficient(const ads111x::Gain gain) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotectedvirtual
apply_interval(const ads111x::Sampling rate) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
begin() override (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xvirtual
coefficient() constm5::unit::UnitADS111xinline
comparatorMode() constm5::unit::UnitADS111xinline
comparatorPolarity() constm5::unit::UnitADS111xinline
comparatorQueue() constm5::unit::UnitADS111xinline
config()m5::unit::UnitADS111xinline
config(const config_t &cfg)m5::unit::UnitADS111xinline
gain() constm5::unit::UnitADS111x
generalReset()m5::unit::UnitADS111x
in_conversion() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
latchingComparator() constm5::unit::UnitADS111xinline
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER(UnitADS111x, ads111x::Data) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
measureSingleshot(ads111x::Data &d, const uint32_t timeoutMillis=1000)m5::unit::UnitADS111x
multiplexer() constm5::unit::UnitADS111xinline
on_begin() override (defined in m5::unit::UnitADS1113)m5::unit::UnitADS1113protectedvirtual
read_adc_raw(ads111x::Data &d) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
read_config(ads111x::Config &c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
readThreshould(int16_t &high, int16_t &low)m5::unit::UnitADS111x
samplingRate() constm5::unit::UnitADS111xinline
set_comparator_mode(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_comparator_polarity(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_comparator_queue(const ads111x::ComparatorQueue c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_gain(const ads111x::Gain gain) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_latching_comparator(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_multiplexer(const ads111x::Mux mux) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
setComparatorMode(const bool) overridem5::unit::UnitADS1113inlinevirtual
setComparatorPolarity(const bool) overridem5::unit::UnitADS1113inlinevirtual
setComparatorQueue(const ads111x::ComparatorQueue) overridem5::unit::UnitADS1113inlinevirtual
setGain(const ads111x::Gain) overridem5::unit::UnitADS1113inlinevirtual
setLatchingComparator(const bool) overridem5::unit::UnitADS1113inlinevirtual
setMultiplexer(const ads111x::Mux) overridem5::unit::UnitADS1113inlinevirtual
setSamplingRate(const ads111x::Sampling rate)m5::unit::UnitADS111x
setThreshould(const int16_t high, const int16_t low)m5::unit::UnitADS111x
start_periodic_measurement()m5::unit::UnitADS111xprotected
start_periodic_measurement(const ads111x::Sampling rate)m5::unit::UnitADS111xprotected
start_single_measurement() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
stop_periodic_measurement()m5::unit::UnitADS111xprotected
UnitADS1113(const uint8_t addr=DEFAULT_ADDRESS) (defined in m5::unit::UnitADS1113)m5::unit::UnitADS1113inlineexplicit
UnitADS111x(const uint8_t addr=DEFAULT_ADDRESS) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xinlineexplicit
update(const bool force=false) override (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xvirtual
write_config(const ads111x::Config &c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
~UnitADS1113() (defined in m5::unit::UnitADS1113)m5::unit::UnitADS1113inlinevirtual
~UnitADS111x() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xinlinevirtual
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_a_d_s1113.html b/classm5_1_1unit_1_1_unit_a_d_s1113.html new file mode 100644 index 0000000..ea8d698 --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s1113.html @@ -0,0 +1,505 @@ + + + + + + + +M5Unit-METER: m5::unit::UnitADS1113 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
m5::unit::UnitADS1113 Class Reference
+
+
+ +

ADS1113 unit. + More...

+ +

#include <unit_ADS1113.hpp>

+
+Inheritance diagram for m5::unit::UnitADS1113:
+
+
+ + +m5::unit::UnitADS111x + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

UnitADS1113 (const uint8_t addr=DEFAULT_ADDRESS)
 
Configration
virtual bool setMultiplexer (const ads111x::Mux) override
 Not support.
 
virtual bool setGain (const ads111x::Gain) override
 Not support.
 
virtual bool setComparatorMode (const bool) override
 Not support.
 
virtual bool setComparatorPolarity (const bool) override
 Not support.
 
virtual bool setLatchingComparator (const bool) override
 Not support.
 
virtual bool setComparatorQueue (const ads111x::ComparatorQueue) override
 Not support.
 
- Public Member Functions inherited from m5::unit::UnitADS111x
UnitADS111x (const uint8_t addr=DEFAULT_ADDRESS)
 
+virtual bool begin () override
 
+virtual void update (const bool force=false) override
 
bool generalReset ()
 General reset.
 
+config_t config ()
 Gets the configration.
 
+void config (const config_t &cfg)
 Set the configration.
 
float coefficient () const
 
+int16_t adc () const
 Oldest measured ADC.
 
+ads111x::Mux multiplexer () const
 Gets the input multiplexer.
 
+ads111x::Gain gain () const
 Gets the programmable gain amplifier.
 
+ads111x::Sampling samplingRate () const
 Gets the sampling rate.
 
bool comparatorMode () const
 Gets the comparator mode.
 
bool comparatorPolarity () const
 Gets the comparator polarity.
 
bool latchingComparator () const
 Gets the Latching comparator.
 
+ads111x::ComparatorQueue comparatorQueue () const
 Gets the comparator queue.
 
+bool setSamplingRate (const ads111x::Sampling rate)
 Set the data rate
+
 
bool measureSingleshot (ads111x::Data &d, const uint32_t timeoutMillis=1000)
 Measurement single shot.
 
bool readThreshould (int16_t &high, int16_t &low)
 Reads the threshould values.
 
bool setThreshould (const int16_t high, const int16_t low)
 Set the threshould values.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

virtual bool on_begin () override
 
- Protected Member Functions inherited from m5::unit::UnitADS111x
+bool read_adc_raw (ads111x::Data &d)
 
+bool start_single_measurement ()
 
+bool in_conversion ()
 
+bool read_config (ads111x::Config &c)
 
+bool write_config (const ads111x::Config &c)
 
+void apply_interval (const ads111x::Sampling rate)
 
+virtual void apply_coefficient (const ads111x::Gain gain)
 
+bool set_multiplexer (const ads111x::Mux mux)
 
+bool set_gain (const ads111x::Gain gain)
 
+bool set_comparator_mode (const bool b)
 
+bool set_comparator_polarity (const bool b)
 
+bool set_latching_comparator (const bool b)
 
+bool set_comparator_queue (const ads111x::ComparatorQueue c)
 
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER (UnitADS111x, ads111x::Data)
 
bool start_periodic_measurement ()
 Start periodic measurement.
 
bool start_periodic_measurement (const ads111x::Sampling rate)
 Start periodic measurement.
 
bool stop_periodic_measurement ()
 Stop periodic measurement.
 
+ + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from m5::unit::UnitADS111x
+std::unique_ptr< m5::container::CircularBuffer< ads111x::Data > > _data {}
 
+float _coefficient {}
 
+ads111x::Config _adsCfg {}
 
+config_t _cfg {}
 
+

Detailed Description

+

ADS1113 unit.

+

Member Function Documentation

+ +

◆ on_begin()

+ +
+
+ + + + + +
+ + + + + + + +
bool m5::unit::UnitADS1113::on_begin ()
+
+overrideprotectedvirtual
+
+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setComparatorMode()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1113::setComparatorMode (const bool )
+
+inlineoverridevirtual
+
+ +

Not support.

+
Warning
Not support
+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setComparatorPolarity()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1113::setComparatorPolarity (const bool )
+
+inlineoverridevirtual
+
+ +

Not support.

+
Warning
Not support
+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setComparatorQueue()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1113::setComparatorQueue (const ads111x::ComparatorQueue )
+
+inlineoverridevirtual
+
+ +

Not support.

+
Warning
Not support
+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setGain()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1113::setGain (const ads111x::Gain )
+
+inlineoverridevirtual
+
+ +

Not support.

+
Warning
Not support
+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setLatchingComparator()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1113::setLatchingComparator (const bool )
+
+inlineoverridevirtual
+
+ +

Not support.

+
Warning
Not support
+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setMultiplexer()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1113::setMultiplexer (const ads111x::Mux )
+
+inlineoverridevirtual
+
+ +

Not support.

+
Warning
Not support
+ +

Implements m5::unit::UnitADS111x.

+ +
+
+
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_a_d_s1113.js b/classm5_1_1unit_1_1_unit_a_d_s1113.js new file mode 100644 index 0000000..4cc63cf --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s1113.js @@ -0,0 +1,9 @@ +var classm5_1_1unit_1_1_unit_a_d_s1113 = +[ + [ "setComparatorMode", "classm5_1_1unit_1_1_unit_a_d_s1113.html#aaa99822e05b4474c0825e232e241e43f", null ], + [ "setComparatorPolarity", "classm5_1_1unit_1_1_unit_a_d_s1113.html#a62acce026ea72b4af473be32fe88041e", null ], + [ "setComparatorQueue", "classm5_1_1unit_1_1_unit_a_d_s1113.html#a7f99941fbc5fd64d4e15a75c3c89b1c9", null ], + [ "setGain", "classm5_1_1unit_1_1_unit_a_d_s1113.html#a9e36e5494303fe1c43addb6c7522a52e", null ], + [ "setLatchingComparator", "classm5_1_1unit_1_1_unit_a_d_s1113.html#ad38ef0634d62d07180850bdd2a161d34", null ], + [ "setMultiplexer", "classm5_1_1unit_1_1_unit_a_d_s1113.html#aac6105f6c806533c067122f46a15e5f9", null ] +]; \ No newline at end of file diff --git a/classm5_1_1unit_1_1_unit_a_d_s1113.png b/classm5_1_1unit_1_1_unit_a_d_s1113.png new file mode 100644 index 0000000..eaca9c5 Binary files /dev/null and b/classm5_1_1unit_1_1_unit_a_d_s1113.png differ diff --git a/classm5_1_1unit_1_1_unit_a_d_s1114-members.html b/classm5_1_1unit_1_1_unit_a_d_s1114-members.html new file mode 100644 index 0000000..06ac9b2 --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s1114-members.html @@ -0,0 +1,164 @@ + + + + + + + +M5Unit-METER: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
m5::unit::UnitADS1114 Member List
+
+
+ +

This is the complete list of members for m5::unit::UnitADS1114, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_adsCfg (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_cfg (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_coefficient (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_data (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
adc() constm5::unit::UnitADS111xinline
apply_coefficient(const ads111x::Gain gain) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotectedvirtual
apply_interval(const ads111x::Sampling rate) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
begin() override (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xvirtual
coefficient() constm5::unit::UnitADS111xinline
comparatorMode() constm5::unit::UnitADS111xinline
comparatorPolarity() constm5::unit::UnitADS111xinline
comparatorQueue() constm5::unit::UnitADS111xinline
config()m5::unit::UnitADS111xinline
config(const config_t &cfg)m5::unit::UnitADS111xinline
gain() constm5::unit::UnitADS111x
generalReset()m5::unit::UnitADS111x
in_conversion() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
latchingComparator() constm5::unit::UnitADS111xinline
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER(UnitADS111x, ads111x::Data) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
measureSingleshot(ads111x::Data &d, const uint32_t timeoutMillis=1000)m5::unit::UnitADS111x
multiplexer() constm5::unit::UnitADS111xinline
on_begin() override (defined in m5::unit::UnitADS1114)m5::unit::UnitADS1114protectedvirtual
read_adc_raw(ads111x::Data &d) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
read_config(ads111x::Config &c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
readThreshould(int16_t &high, int16_t &low)m5::unit::UnitADS111x
samplingRate() constm5::unit::UnitADS111xinline
set_comparator_mode(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_comparator_polarity(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_comparator_queue(const ads111x::ComparatorQueue c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_gain(const ads111x::Gain gain) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_latching_comparator(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_multiplexer(const ads111x::Mux mux) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
setComparatorMode(const bool b) overridem5::unit::UnitADS1114inlinevirtual
setComparatorPolarity(const bool b) overridem5::unit::UnitADS1114inlinevirtual
setComparatorQueue(const ads111x::ComparatorQueue c) overridem5::unit::UnitADS1114inlinevirtual
setGain(const ads111x::Gain gain) overridem5::unit::UnitADS1114inlinevirtual
setLatchingComparator(const bool b) overridem5::unit::UnitADS1114inlinevirtual
setMultiplexer(const ads111x::Mux) overridem5::unit::UnitADS1114inlinevirtual
setSamplingRate(const ads111x::Sampling rate)m5::unit::UnitADS111x
setThreshould(const int16_t high, const int16_t low)m5::unit::UnitADS111x
start_periodic_measurement()m5::unit::UnitADS111xprotected
start_periodic_measurement(const ads111x::Sampling rate)m5::unit::UnitADS111xprotected
start_single_measurement() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
stop_periodic_measurement()m5::unit::UnitADS111xprotected
UnitADS1114(const uint8_t addr=DEFAULT_ADDRESS) (defined in m5::unit::UnitADS1114)m5::unit::UnitADS1114inlineexplicit
UnitADS111x(const uint8_t addr=DEFAULT_ADDRESS) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xinlineexplicit
update(const bool force=false) override (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xvirtual
write_config(const ads111x::Config &c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
~UnitADS1114() (defined in m5::unit::UnitADS1114)m5::unit::UnitADS1114inlinevirtual
~UnitADS111x() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xinlinevirtual
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_a_d_s1114.html b/classm5_1_1unit_1_1_unit_a_d_s1114.html new file mode 100644 index 0000000..0024c9e --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s1114.html @@ -0,0 +1,500 @@ + + + + + + + +M5Unit-METER: m5::unit::UnitADS1114 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
m5::unit::UnitADS1114 Class Reference
+
+
+ +

ADS1114 unit. + More...

+ +

#include <unit_ADS1114.hpp>

+
+Inheritance diagram for m5::unit::UnitADS1114:
+
+
+ + +m5::unit::UnitADS111x + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

UnitADS1114 (const uint8_t addr=DEFAULT_ADDRESS)
 
Configration
virtual bool setMultiplexer (const ads111x::Mux) override
 Not support.
 
virtual bool setGain (const ads111x::Gain gain) override
 Set the programmable gain amplifier.
 
virtual bool setComparatorMode (const bool b) override
 Set the comparator mode.
 
virtual bool setComparatorPolarity (const bool b) override
 Set the comparator polarity.
 
virtual bool setLatchingComparator (const bool b) override
 Set the latching comparator.
 
virtual bool setComparatorQueue (const ads111x::ComparatorQueue c) override
 Set the comparator queue.
 
- Public Member Functions inherited from m5::unit::UnitADS111x
UnitADS111x (const uint8_t addr=DEFAULT_ADDRESS)
 
+virtual bool begin () override
 
+virtual void update (const bool force=false) override
 
bool generalReset ()
 General reset.
 
+config_t config ()
 Gets the configration.
 
+void config (const config_t &cfg)
 Set the configration.
 
float coefficient () const
 
+int16_t adc () const
 Oldest measured ADC.
 
+ads111x::Mux multiplexer () const
 Gets the input multiplexer.
 
+ads111x::Gain gain () const
 Gets the programmable gain amplifier.
 
+ads111x::Sampling samplingRate () const
 Gets the sampling rate.
 
bool comparatorMode () const
 Gets the comparator mode.
 
bool comparatorPolarity () const
 Gets the comparator polarity.
 
bool latchingComparator () const
 Gets the Latching comparator.
 
+ads111x::ComparatorQueue comparatorQueue () const
 Gets the comparator queue.
 
+bool setSamplingRate (const ads111x::Sampling rate)
 Set the data rate
+
 
bool measureSingleshot (ads111x::Data &d, const uint32_t timeoutMillis=1000)
 Measurement single shot.
 
bool readThreshould (int16_t &high, int16_t &low)
 Reads the threshould values.
 
bool setThreshould (const int16_t high, const int16_t low)
 Set the threshould values.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

virtual bool on_begin () override
 
- Protected Member Functions inherited from m5::unit::UnitADS111x
+bool read_adc_raw (ads111x::Data &d)
 
+bool start_single_measurement ()
 
+bool in_conversion ()
 
+bool read_config (ads111x::Config &c)
 
+bool write_config (const ads111x::Config &c)
 
+void apply_interval (const ads111x::Sampling rate)
 
+virtual void apply_coefficient (const ads111x::Gain gain)
 
+bool set_multiplexer (const ads111x::Mux mux)
 
+bool set_gain (const ads111x::Gain gain)
 
+bool set_comparator_mode (const bool b)
 
+bool set_comparator_polarity (const bool b)
 
+bool set_latching_comparator (const bool b)
 
+bool set_comparator_queue (const ads111x::ComparatorQueue c)
 
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER (UnitADS111x, ads111x::Data)
 
bool start_periodic_measurement ()
 Start periodic measurement.
 
bool start_periodic_measurement (const ads111x::Sampling rate)
 Start periodic measurement.
 
bool stop_periodic_measurement ()
 Stop periodic measurement.
 
+ + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from m5::unit::UnitADS111x
+std::unique_ptr< m5::container::CircularBuffer< ads111x::Data > > _data {}
 
+float _coefficient {}
 
+ads111x::Config _adsCfg {}
 
+config_t _cfg {}
 
+

Detailed Description

+

ADS1114 unit.

+

Member Function Documentation

+ +

◆ on_begin()

+ +
+
+ + + + + +
+ + + + + + + +
bool m5::unit::UnitADS1114::on_begin ()
+
+overrideprotectedvirtual
+
+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setComparatorMode()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1114::setComparatorMode (const bool b)
+
+inlineoverridevirtual
+
+ +

Set the comparator mode.

+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setComparatorPolarity()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1114::setComparatorPolarity (const bool b)
+
+inlineoverridevirtual
+
+ +

Set the comparator polarity.

+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setComparatorQueue()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1114::setComparatorQueue (const ads111x::ComparatorQueue c)
+
+inlineoverridevirtual
+
+ +

Set the comparator queue.

+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setGain()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1114::setGain (const ads111x::Gain gain)
+
+inlineoverridevirtual
+
+ +

Set the programmable gain amplifier.

+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setLatchingComparator()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1114::setLatchingComparator (const bool b)
+
+inlineoverridevirtual
+
+ +

Set the latching comparator.

+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setMultiplexer()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1114::setMultiplexer (const ads111x::Mux )
+
+inlineoverridevirtual
+
+ +

Not support.

+
Warning
Not support
+ +

Implements m5::unit::UnitADS111x.

+ +
+
+
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_a_d_s1114.js b/classm5_1_1unit_1_1_unit_a_d_s1114.js new file mode 100644 index 0000000..02d88fc --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s1114.js @@ -0,0 +1,9 @@ +var classm5_1_1unit_1_1_unit_a_d_s1114 = +[ + [ "setComparatorMode", "classm5_1_1unit_1_1_unit_a_d_s1114.html#a633c4f6cecd4fce6eb4d415a7b9f580c", null ], + [ "setComparatorPolarity", "classm5_1_1unit_1_1_unit_a_d_s1114.html#a9721c54b9db6816dd4260ad7769216c8", null ], + [ "setComparatorQueue", "classm5_1_1unit_1_1_unit_a_d_s1114.html#a2eae029e48a08c3c415cd4371962875e", null ], + [ "setGain", "classm5_1_1unit_1_1_unit_a_d_s1114.html#a3b5cc604c84f4540b744bf6d872b005d", null ], + [ "setLatchingComparator", "classm5_1_1unit_1_1_unit_a_d_s1114.html#a4df6e51ded57958e22382108a4cf2eeb", null ], + [ "setMultiplexer", "classm5_1_1unit_1_1_unit_a_d_s1114.html#a8da444d1b8b3795191e44e41848cd313", null ] +]; \ No newline at end of file diff --git a/classm5_1_1unit_1_1_unit_a_d_s1114.png b/classm5_1_1unit_1_1_unit_a_d_s1114.png new file mode 100644 index 0000000..3065041 Binary files /dev/null and b/classm5_1_1unit_1_1_unit_a_d_s1114.png differ diff --git a/classm5_1_1unit_1_1_unit_a_d_s1115-members.html b/classm5_1_1unit_1_1_unit_a_d_s1115-members.html new file mode 100644 index 0000000..f1763e0 --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s1115-members.html @@ -0,0 +1,164 @@ + + + + + + + +M5Unit-METER: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
m5::unit::UnitADS1115 Member List
+
+
+ +

This is the complete list of members for m5::unit::UnitADS1115, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_adsCfg (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_cfg (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_coefficient (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_data (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
adc() constm5::unit::UnitADS111xinline
apply_coefficient(const ads111x::Gain gain) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotectedvirtual
apply_interval(const ads111x::Sampling rate) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
begin() override (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xvirtual
coefficient() constm5::unit::UnitADS111xinline
comparatorMode() constm5::unit::UnitADS111xinline
comparatorPolarity() constm5::unit::UnitADS111xinline
comparatorQueue() constm5::unit::UnitADS111xinline
config()m5::unit::UnitADS111xinline
config(const config_t &cfg)m5::unit::UnitADS111xinline
gain() constm5::unit::UnitADS111x
generalReset()m5::unit::UnitADS111x
in_conversion() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
latchingComparator() constm5::unit::UnitADS111xinline
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER(UnitADS111x, ads111x::Data) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
measureSingleshot(ads111x::Data &d, const uint32_t timeoutMillis=1000)m5::unit::UnitADS111x
multiplexer() constm5::unit::UnitADS111xinline
on_begin() override (defined in m5::unit::UnitADS1115)m5::unit::UnitADS1115protectedvirtual
read_adc_raw(ads111x::Data &d) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
read_config(ads111x::Config &c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
readThreshould(int16_t &high, int16_t &low)m5::unit::UnitADS111x
samplingRate() constm5::unit::UnitADS111xinline
set_comparator_mode(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_comparator_polarity(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_comparator_queue(const ads111x::ComparatorQueue c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_gain(const ads111x::Gain gain) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_latching_comparator(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_multiplexer(const ads111x::Mux mux) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
setComparatorMode(const bool b) overridem5::unit::UnitADS1115inlinevirtual
setComparatorPolarity(const bool b) overridem5::unit::UnitADS1115inlinevirtual
setComparatorQueue(const ads111x::ComparatorQueue c) overridem5::unit::UnitADS1115inlinevirtual
setGain(const ads111x::Gain gain) overridem5::unit::UnitADS1115inlinevirtual
setLatchingComparator(const bool b) overridem5::unit::UnitADS1115inlinevirtual
setMultiplexer(const ads111x::Mux mux) overridem5::unit::UnitADS1115inlinevirtual
setSamplingRate(const ads111x::Sampling rate)m5::unit::UnitADS111x
setThreshould(const int16_t high, const int16_t low)m5::unit::UnitADS111x
start_periodic_measurement()m5::unit::UnitADS111xprotected
start_periodic_measurement(const ads111x::Sampling rate)m5::unit::UnitADS111xprotected
start_single_measurement() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
stop_periodic_measurement()m5::unit::UnitADS111xprotected
UnitADS1115(const uint8_t addr=DEFAULT_ADDRESS) (defined in m5::unit::UnitADS1115)m5::unit::UnitADS1115inlineexplicit
UnitADS111x(const uint8_t addr=DEFAULT_ADDRESS) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xinlineexplicit
update(const bool force=false) override (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xvirtual
write_config(const ads111x::Config &c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
~UnitADS1115() (defined in m5::unit::UnitADS1115)m5::unit::UnitADS1115inlinevirtual
~UnitADS111x() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xinlinevirtual
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_a_d_s1115.html b/classm5_1_1unit_1_1_unit_a_d_s1115.html new file mode 100644 index 0000000..cc1a575 --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s1115.html @@ -0,0 +1,504 @@ + + + + + + + +M5Unit-METER: m5::unit::UnitADS1115 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
m5::unit::UnitADS1115 Class Reference
+
+
+ +

ADS1115 unit. + More...

+ +

#include <unit_ADS1115.hpp>

+
+Inheritance diagram for m5::unit::UnitADS1115:
+
+
+ + +m5::unit::UnitADS111x +m5::unit::UnitADS1115WithEEPROM +m5::unit::UnitAmeter +m5::unit::UnitVmeter + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

UnitADS1115 (const uint8_t addr=DEFAULT_ADDRESS)
 
Configration
virtual bool setMultiplexer (const ads111x::Mux mux) override
 Set the input multiplexer.
 
virtual bool setGain (const ads111x::Gain gain) override
 Set the programmable gain amplifier.
 
virtual bool setComparatorMode (const bool b) override
 Set the comparator mode.
 
virtual bool setComparatorPolarity (const bool b) override
 Set the comparator polarity.
 
virtual bool setLatchingComparator (const bool b) override
 Set the latching comparator.
 
virtual bool setComparatorQueue (const ads111x::ComparatorQueue c) override
 Set the comparator queue.
 
- Public Member Functions inherited from m5::unit::UnitADS111x
UnitADS111x (const uint8_t addr=DEFAULT_ADDRESS)
 
+virtual bool begin () override
 
+virtual void update (const bool force=false) override
 
bool generalReset ()
 General reset.
 
+config_t config ()
 Gets the configration.
 
+void config (const config_t &cfg)
 Set the configration.
 
float coefficient () const
 
+int16_t adc () const
 Oldest measured ADC.
 
+ads111x::Mux multiplexer () const
 Gets the input multiplexer.
 
+ads111x::Gain gain () const
 Gets the programmable gain amplifier.
 
+ads111x::Sampling samplingRate () const
 Gets the sampling rate.
 
bool comparatorMode () const
 Gets the comparator mode.
 
bool comparatorPolarity () const
 Gets the comparator polarity.
 
bool latchingComparator () const
 Gets the Latching comparator.
 
+ads111x::ComparatorQueue comparatorQueue () const
 Gets the comparator queue.
 
+bool setSamplingRate (const ads111x::Sampling rate)
 Set the data rate
+
 
bool measureSingleshot (ads111x::Data &d, const uint32_t timeoutMillis=1000)
 Measurement single shot.
 
bool readThreshould (int16_t &high, int16_t &low)
 Reads the threshould values.
 
bool setThreshould (const int16_t high, const int16_t low)
 Set the threshould values.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

virtual bool on_begin () override
 
- Protected Member Functions inherited from m5::unit::UnitADS111x
+bool read_adc_raw (ads111x::Data &d)
 
+bool start_single_measurement ()
 
+bool in_conversion ()
 
+bool read_config (ads111x::Config &c)
 
+bool write_config (const ads111x::Config &c)
 
+void apply_interval (const ads111x::Sampling rate)
 
+virtual void apply_coefficient (const ads111x::Gain gain)
 
+bool set_multiplexer (const ads111x::Mux mux)
 
+bool set_gain (const ads111x::Gain gain)
 
+bool set_comparator_mode (const bool b)
 
+bool set_comparator_polarity (const bool b)
 
+bool set_latching_comparator (const bool b)
 
+bool set_comparator_queue (const ads111x::ComparatorQueue c)
 
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER (UnitADS111x, ads111x::Data)
 
bool start_periodic_measurement ()
 Start periodic measurement.
 
bool start_periodic_measurement (const ads111x::Sampling rate)
 Start periodic measurement.
 
bool stop_periodic_measurement ()
 Stop periodic measurement.
 
+ + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from m5::unit::UnitADS111x
+std::unique_ptr< m5::container::CircularBuffer< ads111x::Data > > _data {}
 
+float _coefficient {}
 
+ads111x::Config _adsCfg {}
 
+config_t _cfg {}
 
+

Detailed Description

+

ADS1115 unit.

+

Member Function Documentation

+ +

◆ on_begin()

+ +
+
+ + + + + +
+ + + + + + + +
bool m5::unit::UnitADS1115::on_begin ()
+
+overrideprotectedvirtual
+
+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setComparatorMode()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1115::setComparatorMode (const bool b)
+
+inlineoverridevirtual
+
+ +

Set the comparator mode.

+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setComparatorPolarity()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1115::setComparatorPolarity (const bool b)
+
+inlineoverridevirtual
+
+ +

Set the comparator polarity.

+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setComparatorQueue()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1115::setComparatorQueue (const ads111x::ComparatorQueue c)
+
+inlineoverridevirtual
+
+ +

Set the comparator queue.

+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setGain()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1115::setGain (const ads111x::Gain gain)
+
+inlineoverridevirtual
+
+ +

Set the programmable gain amplifier.

+ +

Implements m5::unit::UnitADS111x.

+ +

Reimplemented in m5::unit::UnitADS1115WithEEPROM.

+ +
+
+ +

◆ setLatchingComparator()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1115::setLatchingComparator (const bool b)
+
+inlineoverridevirtual
+
+ +

Set the latching comparator.

+ +

Implements m5::unit::UnitADS111x.

+ +
+
+ +

◆ setMultiplexer()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS1115::setMultiplexer (const ads111x::Mux mux)
+
+inlineoverridevirtual
+
+ +

Set the input multiplexer.

+ +

Implements m5::unit::UnitADS111x.

+ +
+
+
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_a_d_s1115.js b/classm5_1_1unit_1_1_unit_a_d_s1115.js new file mode 100644 index 0000000..732bf33 --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s1115.js @@ -0,0 +1,9 @@ +var classm5_1_1unit_1_1_unit_a_d_s1115 = +[ + [ "setComparatorMode", "classm5_1_1unit_1_1_unit_a_d_s1115.html#a53a89d0abe18ffaba7ddfaaa1eeac934", null ], + [ "setComparatorPolarity", "classm5_1_1unit_1_1_unit_a_d_s1115.html#a7c197e336db3b21c10e3d61b1c79a68c", null ], + [ "setComparatorQueue", "classm5_1_1unit_1_1_unit_a_d_s1115.html#a0908d1fd26ed3494bdc75da7a80ccb59", null ], + [ "setGain", "classm5_1_1unit_1_1_unit_a_d_s1115.html#acc9ebdd598ac55eeb20f82eb86a5770f", null ], + [ "setLatchingComparator", "classm5_1_1unit_1_1_unit_a_d_s1115.html#a42cb988d70bb3c633372beb4e6d2c18c", null ], + [ "setMultiplexer", "classm5_1_1unit_1_1_unit_a_d_s1115.html#aba8960bf6373263d58851020d97c9a88", null ] +]; \ No newline at end of file diff --git a/classm5_1_1unit_1_1_unit_a_d_s1115.png b/classm5_1_1unit_1_1_unit_a_d_s1115.png new file mode 100644 index 0000000..70d9a70 Binary files /dev/null and b/classm5_1_1unit_1_1_unit_a_d_s1115.png differ diff --git a/classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m-members.html b/classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m-members.html new file mode 100644 index 0000000..c48b59b --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m-members.html @@ -0,0 +1,176 @@ + + + + + + + +M5Unit-METER: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
m5::unit::UnitADS1115WithEEPROM Member List
+
+
+ +

This is the complete list of members for m5::unit::UnitADS1115WithEEPROM, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_adapterEEPROM (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
_adsCfg (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_calibration (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
_calibrationFactor (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
_cfg (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_coefficient (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_data (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_eepromAddr (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
adc() constm5::unit::UnitADS111xinline
apply_calibration(const ads111x::Gain gain) (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
apply_coefficient(const ads111x::Gain gain) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotectedvirtual
apply_interval(const ads111x::Sampling rate) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
assign(m5::hal::bus::Bus *bus) override (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMvirtual
assign(TwoWire &wire) override (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMvirtual
begin() override (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xvirtual
calibrationFactor() constm5::unit::UnitADS1115WithEEPROMinline
coefficient() constm5::unit::UnitADS111xinline
comparatorMode() constm5::unit::UnitADS111xinline
comparatorPolarity() constm5::unit::UnitADS111xinline
comparatorQueue() constm5::unit::UnitADS111xinline
config()m5::unit::UnitADS111xinline
config(const config_t &cfg)m5::unit::UnitADS111xinline
DEFAULT_EEPROM_ADDRESS (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMstatic
gain() constm5::unit::UnitADS111x
generalReset()m5::unit::UnitADS111x
in_conversion() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
latchingComparator() constm5::unit::UnitADS111xinline
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER(UnitADS111x, ads111x::Data) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
measureSingleshot(ads111x::Data &d, const uint32_t timeoutMillis=1000)m5::unit::UnitADS111x
multiplexer() constm5::unit::UnitADS111xinline
on_begin() override (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotectedvirtual
read_adc_raw(ads111x::Data &d) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
read_calibration(const ads111x::Gain gain, int16_t &hope, int16_t &actual) (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
read_config(ads111x::Config &c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
readThreshould(int16_t &high, int16_t &low)m5::unit::UnitADS111x
samplingRate() constm5::unit::UnitADS111xinline
set_comparator_mode(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_comparator_polarity(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_comparator_queue(const ads111x::ComparatorQueue c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_gain(const ads111x::Gain gain) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_latching_comparator(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_multiplexer(const ads111x::Mux mux) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
setComparatorMode(const bool b) overridem5::unit::UnitADS1115inlinevirtual
setComparatorPolarity(const bool b) overridem5::unit::UnitADS1115inlinevirtual
setComparatorQueue(const ads111x::ComparatorQueue c) overridem5::unit::UnitADS1115inlinevirtual
setGain(const ads111x::Gain gain) overridem5::unit::UnitADS1115WithEEPROMvirtual
setLatchingComparator(const bool b) overridem5::unit::UnitADS1115inlinevirtual
setMultiplexer(const ads111x::Mux mux) overridem5::unit::UnitADS1115inlinevirtual
setSamplingRate(const ads111x::Sampling rate)m5::unit::UnitADS111x
setThreshould(const int16_t high, const int16_t low)m5::unit::UnitADS111x
start_periodic_measurement()m5::unit::UnitADS111xprotected
start_periodic_measurement(const ads111x::Sampling rate)m5::unit::UnitADS111xprotected
start_single_measurement() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
stop_periodic_measurement()m5::unit::UnitADS111xprotected
UnitADS1115(const uint8_t addr=DEFAULT_ADDRESS) (defined in m5::unit::UnitADS1115)m5::unit::UnitADS1115inlineexplicit
UnitADS1115WithEEPROM(const uint8_t addr=DEFAULT_ADDRESS, const uint8_t epromAddr=DEFAULT_EEPROM_ADDRESS) (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMinlineexplicit
UnitADS111x(const uint8_t addr=DEFAULT_ADDRESS) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xinlineexplicit
update(const bool force=false) override (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xvirtual
write_config(const ads111x::Config &c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
~UnitADS1115() (defined in m5::unit::UnitADS1115)m5::unit::UnitADS1115inlinevirtual
~UnitADS1115WithEEPROM() (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMinlinevirtual
~UnitADS111x() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xinlinevirtual
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.html b/classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.html new file mode 100644 index 0000000..647fb60 --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.html @@ -0,0 +1,397 @@ + + + + + + + +M5Unit-METER: m5::unit::UnitADS1115WithEEPROM Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
m5::unit::UnitADS1115WithEEPROM Class Reference
+
+
+ +

EEPROM holds calibration data. + More...

+ +

#include <unit_ADS1115.hpp>

+
+Inheritance diagram for m5::unit::UnitADS1115WithEEPROM:
+
+
+ + +m5::unit::UnitADS1115 +m5::unit::UnitADS111x +m5::unit::UnitAmeter +m5::unit::UnitVmeter + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

UnitADS1115WithEEPROM (const uint8_t addr=DEFAULT_ADDRESS, const uint8_t epromAddr=DEFAULT_EEPROM_ADDRESS)
 
+virtual bool assign (m5::hal::bus::Bus *bus) override
 
+virtual bool assign (TwoWire &wire) override
 
virtual bool setGain (const ads111x::Gain gain) override
 Set the programmable gain amplifier.
 
+float calibrationFactor () const
 calibration factor
 
- Public Member Functions inherited from m5::unit::UnitADS1115
UnitADS1115 (const uint8_t addr=DEFAULT_ADDRESS)
 
virtual bool setMultiplexer (const ads111x::Mux mux) override
 Set the input multiplexer.
 
virtual bool setComparatorMode (const bool b) override
 Set the comparator mode.
 
virtual bool setComparatorPolarity (const bool b) override
 Set the comparator polarity.
 
virtual bool setLatchingComparator (const bool b) override
 Set the latching comparator.
 
virtual bool setComparatorQueue (const ads111x::ComparatorQueue c) override
 Set the comparator queue.
 
- Public Member Functions inherited from m5::unit::UnitADS111x
UnitADS111x (const uint8_t addr=DEFAULT_ADDRESS)
 
+virtual bool begin () override
 
+virtual void update (const bool force=false) override
 
bool generalReset ()
 General reset.
 
+config_t config ()
 Gets the configration.
 
+void config (const config_t &cfg)
 Set the configration.
 
float coefficient () const
 
+int16_t adc () const
 Oldest measured ADC.
 
+ads111x::Mux multiplexer () const
 Gets the input multiplexer.
 
+ads111x::Gain gain () const
 Gets the programmable gain amplifier.
 
+ads111x::Sampling samplingRate () const
 Gets the sampling rate.
 
bool comparatorMode () const
 Gets the comparator mode.
 
bool comparatorPolarity () const
 Gets the comparator polarity.
 
bool latchingComparator () const
 Gets the Latching comparator.
 
+ads111x::ComparatorQueue comparatorQueue () const
 Gets the comparator queue.
 
+bool setSamplingRate (const ads111x::Sampling rate)
 Set the data rate
+
 
bool measureSingleshot (ads111x::Data &d, const uint32_t timeoutMillis=1000)
 Measurement single shot.
 
bool readThreshould (int16_t &high, int16_t &low)
 Reads the threshould values.
 
bool setThreshould (const int16_t high, const int16_t low)
 Set the threshould values.
 
+ + + +

+Static Public Attributes

+static constexpr uint8_t DEFAULT_EEPROM_ADDRESS {0xFF}
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

virtual bool on_begin () override
 
+bool read_calibration (const ads111x::Gain gain, int16_t &hope, int16_t &actual)
 
+void apply_calibration (const ads111x::Gain gain)
 
- Protected Member Functions inherited from m5::unit::UnitADS111x
+bool read_adc_raw (ads111x::Data &d)
 
+bool start_single_measurement ()
 
+bool in_conversion ()
 
+bool read_config (ads111x::Config &c)
 
+bool write_config (const ads111x::Config &c)
 
+void apply_interval (const ads111x::Sampling rate)
 
+virtual void apply_coefficient (const ads111x::Gain gain)
 
+bool set_multiplexer (const ads111x::Mux mux)
 
+bool set_gain (const ads111x::Gain gain)
 
+bool set_comparator_mode (const bool b)
 
+bool set_comparator_polarity (const bool b)
 
+bool set_latching_comparator (const bool b)
 
+bool set_comparator_queue (const ads111x::ComparatorQueue c)
 
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER (UnitADS111x, ads111x::Data)
 
bool start_periodic_measurement ()
 Start periodic measurement.
 
bool start_periodic_measurement (const ads111x::Sampling rate)
 Start periodic measurement.
 
bool stop_periodic_measurement ()
 Stop periodic measurement.
 
+ + + + + + + + + + + + + + + + + + +

+Protected Attributes

+uint8_t _eepromAddr {}
 
+std::unique_ptr< m5::unit::Adapter > _adapterEEPROM {}
 
+Calibration _calibration [8] {}
 
+float _calibrationFactor {1.0f}
 
- Protected Attributes inherited from m5::unit::UnitADS111x
+std::unique_ptr< m5::container::CircularBuffer< ads111x::Data > > _data {}
 
+float _coefficient {}
 
+ads111x::Config _adsCfg {}
 
+config_t _cfg {}
 
+

Detailed Description

+

EEPROM holds calibration data.

+
Warning
EEPROM has built-in calibration parameters when leaving the factory. Please do not write to the EEPROM, otherwise the calibration data will be overwritten and the measurement results will be inaccurate.
+

Member Function Documentation

+ +

◆ on_begin()

+ +
+
+ + + + + +
+ + + + + + + +
bool m5::unit::UnitADS1115WithEEPROM::on_begin ()
+
+overrideprotectedvirtual
+
+ +

Reimplemented from m5::unit::UnitADS1115.

+ +
+
+ +

◆ setGain()

+ +
+
+ + + + + +
+ + + + + + + +
bool m5::unit::UnitADS1115WithEEPROM::setGain (const ads111x::Gain gain)
+
+overridevirtual
+
+ +

Set the programmable gain amplifier.

+ +

Reimplemented from m5::unit::UnitADS1115.

+ +
+
+
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.js b/classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.js new file mode 100644 index 0000000..44bc092 --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.js @@ -0,0 +1,5 @@ +var classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m = +[ + [ "calibrationFactor", "classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.html#a786d82be24e30e88c0dd3abc36d9f258", null ], + [ "setGain", "classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.html#a17797c30acaf0ff2aebf0bb6ec9ae221", null ] +]; \ No newline at end of file diff --git a/classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.png b/classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.png new file mode 100644 index 0000000..826ff4f Binary files /dev/null and b/classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.png differ diff --git a/classm5_1_1unit_1_1_unit_a_d_s111x-members.html b/classm5_1_1unit_1_1_unit_a_d_s111x-members.html new file mode 100644 index 0000000..a65941b --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s111x-members.html @@ -0,0 +1,162 @@ + + + + + + + +M5Unit-METER: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
m5::unit::UnitADS111x Member List
+
+
+ +

This is the complete list of members for m5::unit::UnitADS111x, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_adsCfg (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_cfg (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_coefficient (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_data (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
adc() constm5::unit::UnitADS111xinline
apply_coefficient(const ads111x::Gain gain) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotectedvirtual
apply_interval(const ads111x::Sampling rate) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
begin() override (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xvirtual
coefficient() constm5::unit::UnitADS111xinline
comparatorMode() constm5::unit::UnitADS111xinline
comparatorPolarity() constm5::unit::UnitADS111xinline
comparatorQueue() constm5::unit::UnitADS111xinline
config()m5::unit::UnitADS111xinline
config(const config_t &cfg)m5::unit::UnitADS111xinline
gain() constm5::unit::UnitADS111x
generalReset()m5::unit::UnitADS111x
in_conversion() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
latchingComparator() constm5::unit::UnitADS111xinline
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER(UnitADS111x, ads111x::Data) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
measureSingleshot(ads111x::Data &d, const uint32_t timeoutMillis=1000)m5::unit::UnitADS111x
multiplexer() constm5::unit::UnitADS111xinline
on_begin()=0 (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotectedpure virtual
read_adc_raw(ads111x::Data &d) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
read_config(ads111x::Config &c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
readThreshould(int16_t &high, int16_t &low)m5::unit::UnitADS111x
samplingRate() constm5::unit::UnitADS111xinline
set_comparator_mode(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_comparator_polarity(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_comparator_queue(const ads111x::ComparatorQueue c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_gain(const ads111x::Gain gain) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_latching_comparator(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_multiplexer(const ads111x::Mux mux) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
setComparatorMode(const bool b)=0m5::unit::UnitADS111xpure virtual
setComparatorPolarity(const bool b)=0m5::unit::UnitADS111xpure virtual
setComparatorQueue(const ads111x::ComparatorQueue c)=0m5::unit::UnitADS111xpure virtual
setGain(const ads111x::Gain gain)=0m5::unit::UnitADS111xpure virtual
setLatchingComparator(const bool b)=0m5::unit::UnitADS111xpure virtual
setMultiplexer(const ads111x::Mux mux)=0m5::unit::UnitADS111xpure virtual
setSamplingRate(const ads111x::Sampling rate)m5::unit::UnitADS111x
setThreshould(const int16_t high, const int16_t low)m5::unit::UnitADS111x
start_periodic_measurement()m5::unit::UnitADS111xprotected
start_periodic_measurement(const ads111x::Sampling rate)m5::unit::UnitADS111xprotected
start_single_measurement() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
stop_periodic_measurement()m5::unit::UnitADS111xprotected
UnitADS111x(const uint8_t addr=DEFAULT_ADDRESS) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xinlineexplicit
update(const bool force=false) override (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xvirtual
write_config(const ads111x::Config &c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
~UnitADS111x() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xinlinevirtual
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_a_d_s111x.html b/classm5_1_1unit_1_1_unit_a_d_s111x.html new file mode 100644 index 0000000..7bcac7d --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s111x.html @@ -0,0 +1,827 @@ + + + + + + + +M5Unit-METER: m5::unit::UnitADS111x Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
m5::unit::UnitADS111x Class Referenceabstract
+
+
+ +

Base class for ADS111x series. + More...

+ +

#include <unit_ADS111x.hpp>

+
+Inheritance diagram for m5::unit::UnitADS111x:
+
+
+ + +m5::unit::UnitADS1113 +m5::unit::UnitADS1114 +m5::unit::UnitADS1115 +m5::unit::UnitADS1115WithEEPROM +m5::unit::UnitAmeter +m5::unit::UnitVmeter + +
+ + + + + +

+Classes

struct  config_t
 Settings for begin. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

UnitADS111x (const uint8_t addr=DEFAULT_ADDRESS)
 
+virtual bool begin () override
 
+virtual void update (const bool force=false) override
 
bool generalReset ()
 General reset.
 
Settings for begin
+config_t config ()
 Gets the configration.
 
+void config (const config_t &cfg)
 Set the configration.
 
Properties
float coefficient () const
 
Measurement data by periodic
+int16_t adc () const
 Oldest measured ADC.
 
Configration
Warning
ADS1113, ADS1114 and ADS1115 differ in the items that can be set
+
+ads111x::Mux multiplexer () const
 Gets the input multiplexer.
 
+ads111x::Gain gain () const
 Gets the programmable gain amplifier.
 
+ads111x::Sampling samplingRate () const
 Gets the sampling rate.
 
bool comparatorMode () const
 Gets the comparator mode.
 
bool comparatorPolarity () const
 Gets the comparator polarity.
 
bool latchingComparator () const
 Gets the Latching comparator.
 
+ads111x::ComparatorQueue comparatorQueue () const
 Gets the comparator queue.
 
virtual bool setMultiplexer (const ads111x::Mux mux)=0
 Set the input multiplexer.
 
virtual bool setGain (const ads111x::Gain gain)=0
 Set the programmable gain amplifier.
 
+bool setSamplingRate (const ads111x::Sampling rate)
 Set the data rate
+
 
virtual bool setComparatorMode (const bool b)=0
 Set the comparator mode.
 
virtual bool setComparatorPolarity (const bool b)=0
 Set the comparator polarity.
 
virtual bool setLatchingComparator (const bool b)=0
 Set the latching comparator.
 
virtual bool setComparatorQueue (const ads111x::ComparatorQueue c)=0
 Set the comparator queue.
 
Single shot measurement
bool measureSingleshot (ads111x::Data &d, const uint32_t timeoutMillis=1000)
 Measurement single shot.
 
Threshold
bool readThreshould (int16_t &high, int16_t &low)
 Reads the threshould values.
 
bool setThreshould (const int16_t high, const int16_t low)
 Set the threshould values.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+virtual bool on_begin ()=0
 
+bool read_adc_raw (ads111x::Data &d)
 
+bool start_single_measurement ()
 
+bool in_conversion ()
 
+bool read_config (ads111x::Config &c)
 
+bool write_config (const ads111x::Config &c)
 
+void apply_interval (const ads111x::Sampling rate)
 
+virtual void apply_coefficient (const ads111x::Gain gain)
 
+bool set_multiplexer (const ads111x::Mux mux)
 
+bool set_gain (const ads111x::Gain gain)
 
+bool set_comparator_mode (const bool b)
 
+bool set_comparator_polarity (const bool b)
 
+bool set_latching_comparator (const bool b)
 
+bool set_comparator_queue (const ads111x::ComparatorQueue c)
 
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER (UnitADS111x, ads111x::Data)
 
Periodic measurement
Note
Call via startPeriodicMeasurement/stopPeriodicMeasurement
+
bool start_periodic_measurement ()
 Start periodic measurement.
 
bool start_periodic_measurement (const ads111x::Sampling rate)
 Start periodic measurement.
 
bool stop_periodic_measurement ()
 Stop periodic measurement.
 
+ + + + + + + + + +

+Protected Attributes

+std::unique_ptr< m5::container::CircularBuffer< ads111x::Data > > _data {}
 
+float _coefficient {}
 
+ads111x::Config _adsCfg {}
 
+config_t _cfg {}
 
+

Detailed Description

+

Base class for ADS111x series.

+

Member Function Documentation

+ +

◆ coefficient()

+ +
+
+ + + + + +
+ + + + + + + +
float m5::unit::UnitADS111x::coefficient () const
+
+inline
+
+

@breif Coefficient value

Note
Changes as gain changes
+ +
+
+ +

◆ comparatorMode()

+ +
+
+ + + + + +
+ + + + + + + +
bool m5::unit::UnitADS111x::comparatorMode () const
+
+inline
+
+ +

Gets the comparator mode.

+
Return values
+ + + +
trueWindow comparator
falseTraditional comparator
+
+
+ +
+
+ +

◆ comparatorPolarity()

+ +
+
+ + + + + +
+ + + + + + + +
bool m5::unit::UnitADS111x::comparatorPolarity () const
+
+inline
+
+ +

Gets the comparator polarity.

+
Return values
+ + + +
trueActive high
falseActive low
+
+
+ +
+
+ +

◆ generalReset()

+ +
+
+ + + + + + + +
bool m5::unit::UnitADS111x::generalReset ()
+
+ +

General reset.

+

Reset using I2C general call

Warning
This is a reset by General command, the command is also sent to all devices with I2C connections
+ +
+
+ +

◆ latchingComparator()

+ +
+
+ + + + + +
+ + + + + + + +
bool m5::unit::UnitADS111x::latchingComparator () const
+
+inline
+
+ +

Gets the Latching comparator.

+
Return values
+ + + +
trueLatching comparator
falseNonlatching comparator
+
+
+ +
+
+ +

◆ measureSingleshot()

+ +
+
+ + + + + + + + + + + +
bool m5::unit::UnitADS111x::measureSingleshot (ads111x::Data & d,
const uint32_t timeoutMillis = 1000 )
+
+ +

Measurement single shot.

+

Measuring in the current settings

Parameters
+ + + +
[out]dataMeasuerd data
timeoutMillisTimeout for measure
+
+
+
Returns
True if successful
+
Warning
During periodic detection runs, an error is returned
+
+Until it can be measured, it will be blocked until the timeout time
+ +
+
+ +

◆ readThreshould()

+ +
+
+ + + + + + + + + + + +
bool m5::unit::UnitADS111x::readThreshould (int16_t & high,
int16_t & low )
+
+ +

Reads the threshould values.

+
Parameters
+ + + +
[out]highupper thresould value
[out]lowlower thresould value
+
+
+
Returns
True if successful
+ +
+
+ +

◆ setComparatorMode()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS111x::setComparatorMode (const bool b)
+
+pure virtual
+
+ +

Set the comparator mode.

+ +

Implemented in m5::unit::UnitADS1113, m5::unit::UnitADS1114, and m5::unit::UnitADS1115.

+ +
+
+ +

◆ setComparatorPolarity()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS111x::setComparatorPolarity (const bool b)
+
+pure virtual
+
+ +

Set the comparator polarity.

+ +

Implemented in m5::unit::UnitADS1113, m5::unit::UnitADS1114, and m5::unit::UnitADS1115.

+ +
+
+ +

◆ setComparatorQueue()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS111x::setComparatorQueue (const ads111x::ComparatorQueue c)
+
+pure virtual
+
+ +

Set the comparator queue.

+ +

Implemented in m5::unit::UnitADS1113, m5::unit::UnitADS1114, and m5::unit::UnitADS1115.

+ +
+
+ +

◆ setGain()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS111x::setGain (const ads111x::Gain gain)
+
+pure virtual
+
+ +

Set the programmable gain amplifier.

+
Warning
the threshould values must be updated whenever the PGA settings are changed
+
See also
setThreshould
+ +

Implemented in m5::unit::UnitADS1113, m5::unit::UnitADS1114, m5::unit::UnitADS1115, and m5::unit::UnitADS1115WithEEPROM.

+ +
+
+ +

◆ setLatchingComparator()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS111x::setLatchingComparator (const bool b)
+
+pure virtual
+
+ +

Set the latching comparator.

+ +

Implemented in m5::unit::UnitADS1113, m5::unit::UnitADS1114, and m5::unit::UnitADS1115.

+ +
+
+ +

◆ setMultiplexer()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool m5::unit::UnitADS111x::setMultiplexer (const ads111x::Mux mux)
+
+pure virtual
+
+ +

Set the input multiplexer.

+ +

Implemented in m5::unit::UnitADS1113, m5::unit::UnitADS1114, and m5::unit::UnitADS1115.

+ +
+
+ +

◆ setThreshould()

+ +
+
+ + + + + + + + + + + +
bool m5::unit::UnitADS111x::setThreshould (const int16_t high,
const int16_t low )
+
+ +

Set the threshould values.

+
Parameters
+ + + +
highupper thresould value
lowlower thresould value
+
+
+
Returns
True if successful
+
Warning
The high value must always be greater than the low value
+ +
+
+ +

◆ start_periodic_measurement() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
bool m5::unit::UnitADS111x::start_periodic_measurement ()
+
+protected
+
+ +

Start periodic measurement.

+

Measuring in the current settings

Returns
True if successful
+ +
+
+ +

◆ start_periodic_measurement() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
bool m5::unit::UnitADS111x::start_periodic_measurement (const ads111x::Sampling rate)
+
+protected
+
+ +

Start periodic measurement.

+

Specify settings and measure

Parameters
+ + +
rateData sampling rate
+
+
+
Returns
True if successful
+ +
+
+ +

◆ stop_periodic_measurement()

+ +
+
+ + + + + +
+ + + + + + + +
bool m5::unit::UnitADS111x::stop_periodic_measurement ()
+
+protected
+
+ +

Stop periodic measurement.

+
Returns
True if successful
+ +
+
+
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_a_d_s111x.js b/classm5_1_1unit_1_1_unit_a_d_s111x.js new file mode 100644 index 0000000..07ecaf4 --- /dev/null +++ b/classm5_1_1unit_1_1_unit_a_d_s111x.js @@ -0,0 +1,29 @@ +var classm5_1_1unit_1_1_unit_a_d_s111x = +[ + [ "config_t", "structm5_1_1unit_1_1_unit_a_d_s111x_1_1config__t.html", null ], + [ "adc", "classm5_1_1unit_1_1_unit_a_d_s111x.html#ac9638bee4d38e8184d550c81651815db", null ], + [ "coefficient", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a75fdc754b8488e5ea9217e0eef9d63ae", null ], + [ "comparatorMode", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a004f73054b4816de3da79b832a7c5361", null ], + [ "comparatorPolarity", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a2690b75a725a36eede191653fb21dc5e", null ], + [ "comparatorQueue", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a24ed453ccc9f1575f9f069f3f50f08a6", null ], + [ "config", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a93479cf3cb9bcecc499e4be2ed8f5aba", null ], + [ "config", "classm5_1_1unit_1_1_unit_a_d_s111x.html#ab8d6e7dfe3420f1e943f6499ffde1d66", null ], + [ "gain", "classm5_1_1unit_1_1_unit_a_d_s111x.html#ae517d65928a97ad204e96d0c79c04b4e", null ], + [ "generalReset", "classm5_1_1unit_1_1_unit_a_d_s111x.html#ae47d778759038ba093ab6b12d1949cdc", null ], + [ "latchingComparator", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a02474928fa93d2563d0015cf87c68213", null ], + [ "measureSingleshot", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a953399e302751ff6c907c8f56b67fb4e", null ], + [ "multiplexer", "classm5_1_1unit_1_1_unit_a_d_s111x.html#ab3fe6f1a7fbc2558b33e81dccdc0d11d", null ], + [ "readThreshould", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a27bdaa11ea02c3d5b7176aeea575d82d", null ], + [ "samplingRate", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a4ce7f05471e7761f4e2133fed1ab5865", null ], + [ "setComparatorMode", "classm5_1_1unit_1_1_unit_a_d_s111x.html#ae2331db46cb372d82826bd72039e9de0", null ], + [ "setComparatorPolarity", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a1c423207f7c993a70fa3f96f8db5e78c", null ], + [ "setComparatorQueue", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a8f25368b3a45fe9673c7cf719479c174", null ], + [ "setGain", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a0faa2a91e3cddd8fb63e974bd8e85115", null ], + [ "setLatchingComparator", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a9a42c04e41ad7ca6c96bd1769dcb702d", null ], + [ "setMultiplexer", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a7eac842451d6e75695d177b45d07da88", null ], + [ "setSamplingRate", "classm5_1_1unit_1_1_unit_a_d_s111x.html#ac575d86ef23896c6861d06a1aeb92aa2", null ], + [ "setThreshould", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a27efe58297ae273fb2751a0b5e30ef9a", null ], + [ "start_periodic_measurement", "classm5_1_1unit_1_1_unit_a_d_s111x.html#ab2e7aac3579e60918758335471afd75c", null ], + [ "start_periodic_measurement", "classm5_1_1unit_1_1_unit_a_d_s111x.html#ab64cc4b3053c9415d4c19e3d450400fd", null ], + [ "stop_periodic_measurement", "classm5_1_1unit_1_1_unit_a_d_s111x.html#a67d0700881baf2782ea1db10ff14a9f1", null ] +]; \ No newline at end of file diff --git a/classm5_1_1unit_1_1_unit_a_d_s111x.png b/classm5_1_1unit_1_1_unit_a_d_s111x.png new file mode 100644 index 0000000..c1ed677 Binary files /dev/null and b/classm5_1_1unit_1_1_unit_a_d_s111x.png differ diff --git a/classm5_1_1unit_1_1_unit_ameter-members.html b/classm5_1_1unit_1_1_unit_ameter-members.html new file mode 100644 index 0000000..c5fa2bb --- /dev/null +++ b/classm5_1_1unit_1_1_unit_ameter-members.html @@ -0,0 +1,183 @@ + + + + + + + +M5Unit-METER: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
m5::unit::UnitAmeter Member List
+
+
+ +

This is the complete list of members for m5::unit::UnitAmeter, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_adapterEEPROM (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
_adsCfg (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_calibration (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
_calibrationFactor (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
_cfg (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_coefficient (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_correction (defined in m5::unit::UnitAmeter)m5::unit::UnitAmeterprotected
_data (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_eepromAddr (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
adc() constm5::unit::UnitADS111xinline
apply_calibration(const ads111x::Gain gain) (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
apply_coefficient(const ads111x::Gain gain) override (defined in m5::unit::UnitAmeter)m5::unit::UnitAmeterprotectedvirtual
apply_interval(const ads111x::Sampling rate) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
assign(m5::hal::bus::Bus *bus) override (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMvirtual
assign(TwoWire &wire) override (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMvirtual
begin() override (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xvirtual
calibrationFactor() constm5::unit::UnitADS1115WithEEPROMinline
coefficient() constm5::unit::UnitADS111xinline
comparatorMode() constm5::unit::UnitADS111xinline
comparatorPolarity() constm5::unit::UnitADS111xinline
comparatorQueue() constm5::unit::UnitADS111xinline
config()m5::unit::UnitADS111xinline
config(const config_t &cfg)m5::unit::UnitADS111xinline
correction() constm5::unit::UnitAmeterinline
current() constm5::unit::UnitAmeterinline
DEFAULT_EEPROM_ADDRESS (defined in m5::unit::UnitAmeter)m5::unit::UnitAmeterstatic
gain() constm5::unit::UnitADS111x
generalReset()m5::unit::UnitADS111x
in_conversion() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
latchingComparator() constm5::unit::UnitADS111xinline
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER(UnitADS111x, ads111x::Data) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
measureSingleshot(ads111x::Data &d, const uint32_t timeoutMillis=1000)m5::unit::UnitADS111x
multiplexer() constm5::unit::UnitADS111xinline
on_begin() override (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotectedvirtual
PRESSURE_COEFFICIENT (defined in m5::unit::UnitAmeter)m5::unit::UnitAmeterstatic
read_adc_raw(ads111x::Data &d) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
read_calibration(const ads111x::Gain gain, int16_t &hope, int16_t &actual) (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
read_config(ads111x::Config &c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
readThreshould(int16_t &high, int16_t &low)m5::unit::UnitADS111x
resolution() constm5::unit::UnitAmeterinline
samplingRate() constm5::unit::UnitADS111xinline
set_comparator_mode(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_comparator_polarity(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_comparator_queue(const ads111x::ComparatorQueue c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_gain(const ads111x::Gain gain) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_latching_comparator(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_multiplexer(const ads111x::Mux mux) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
setComparatorMode(const bool b) overridem5::unit::UnitADS1115inlinevirtual
setComparatorPolarity(const bool b) overridem5::unit::UnitADS1115inlinevirtual
setComparatorQueue(const ads111x::ComparatorQueue c) overridem5::unit::UnitADS1115inlinevirtual
setGain(const ads111x::Gain gain) overridem5::unit::UnitADS1115WithEEPROMvirtual
setLatchingComparator(const bool b) overridem5::unit::UnitADS1115inlinevirtual
setMultiplexer(const ads111x::Mux mux) overridem5::unit::UnitADS1115inlinevirtual
setSamplingRate(const ads111x::Sampling rate)m5::unit::UnitADS111x
setThreshould(const int16_t high, const int16_t low)m5::unit::UnitADS111x
start_periodic_measurement()m5::unit::UnitADS111xprotected
start_periodic_measurement(const ads111x::Sampling rate)m5::unit::UnitADS111xprotected
start_single_measurement() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
stop_periodic_measurement()m5::unit::UnitADS111xprotected
UnitADS1115(const uint8_t addr=DEFAULT_ADDRESS) (defined in m5::unit::UnitADS1115)m5::unit::UnitADS1115inlineexplicit
UnitADS1115WithEEPROM(const uint8_t addr=DEFAULT_ADDRESS, const uint8_t epromAddr=DEFAULT_EEPROM_ADDRESS) (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMinlineexplicit
UnitADS111x(const uint8_t addr=DEFAULT_ADDRESS) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xinlineexplicit
UnitAmeter(const uint8_t addr=DEFAULT_ADDRESS, const uint8_t epromAddr=DEFAULT_EEPROM_ADDRESS) (defined in m5::unit::UnitAmeter)m5::unit::UnitAmeterinlineexplicit
update(const bool force=false) override (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xvirtual
write_config(const ads111x::Config &c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
~UnitADS1115() (defined in m5::unit::UnitADS1115)m5::unit::UnitADS1115inlinevirtual
~UnitADS1115WithEEPROM() (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMinlinevirtual
~UnitADS111x() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xinlinevirtual
~UnitAmeter() (defined in m5::unit::UnitAmeter)m5::unit::UnitAmeterinlinevirtual
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_ameter.html b/classm5_1_1unit_1_1_unit_ameter.html new file mode 100644 index 0000000..891b47e --- /dev/null +++ b/classm5_1_1unit_1_1_unit_ameter.html @@ -0,0 +1,393 @@ + + + + + + + +M5Unit-METER: m5::unit::UnitAmeter Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
m5::unit::UnitAmeter Class Reference
+
+
+ +

Ameter Unit is a current meter that can monitor the current in real time. + More...

+ +

#include <unit_Ameter.hpp>

+
+Inheritance diagram for m5::unit::UnitAmeter:
+
+
+ + +m5::unit::UnitADS1115WithEEPROM +m5::unit::UnitADS1115 +m5::unit::UnitADS111x + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

UnitAmeter (const uint8_t addr=DEFAULT_ADDRESS, const uint8_t epromAddr=DEFAULT_EEPROM_ADDRESS)
 
+float resolution () const
 Resolution of 1 LSB.
 
+float correction () const
 Gets the correction value.
 
+float current () const
 Oldest current.
 
- Public Member Functions inherited from m5::unit::UnitADS1115WithEEPROM
UnitADS1115WithEEPROM (const uint8_t addr=DEFAULT_ADDRESS, const uint8_t epromAddr=DEFAULT_EEPROM_ADDRESS)
 
+virtual bool assign (m5::hal::bus::Bus *bus) override
 
+virtual bool assign (TwoWire &wire) override
 
virtual bool setGain (const ads111x::Gain gain) override
 Set the programmable gain amplifier.
 
+float calibrationFactor () const
 calibration factor
 
- Public Member Functions inherited from m5::unit::UnitADS1115
UnitADS1115 (const uint8_t addr=DEFAULT_ADDRESS)
 
virtual bool setMultiplexer (const ads111x::Mux mux) override
 Set the input multiplexer.
 
virtual bool setComparatorMode (const bool b) override
 Set the comparator mode.
 
virtual bool setComparatorPolarity (const bool b) override
 Set the comparator polarity.
 
virtual bool setLatchingComparator (const bool b) override
 Set the latching comparator.
 
virtual bool setComparatorQueue (const ads111x::ComparatorQueue c) override
 Set the comparator queue.
 
- Public Member Functions inherited from m5::unit::UnitADS111x
UnitADS111x (const uint8_t addr=DEFAULT_ADDRESS)
 
+virtual bool begin () override
 
+virtual void update (const bool force=false) override
 
bool generalReset ()
 General reset.
 
+config_t config ()
 Gets the configration.
 
+void config (const config_t &cfg)
 Set the configration.
 
float coefficient () const
 
+int16_t adc () const
 Oldest measured ADC.
 
+ads111x::Mux multiplexer () const
 Gets the input multiplexer.
 
+ads111x::Gain gain () const
 Gets the programmable gain amplifier.
 
+ads111x::Sampling samplingRate () const
 Gets the sampling rate.
 
bool comparatorMode () const
 Gets the comparator mode.
 
bool comparatorPolarity () const
 Gets the comparator polarity.
 
bool latchingComparator () const
 Gets the Latching comparator.
 
+ads111x::ComparatorQueue comparatorQueue () const
 Gets the comparator queue.
 
+bool setSamplingRate (const ads111x::Sampling rate)
 Set the data rate
+
 
bool measureSingleshot (ads111x::Data &d, const uint32_t timeoutMillis=1000)
 Measurement single shot.
 
bool readThreshould (int16_t &high, int16_t &low)
 Reads the threshould values.
 
bool setThreshould (const int16_t high, const int16_t low)
 Set the threshould values.
 
+ + + + + + + + +

+Static Public Attributes

+static constexpr uint8_t DEFAULT_EEPROM_ADDRESS {0x51}
 
+static constexpr float PRESSURE_COEFFICIENT {0.05f}
 
- Static Public Attributes inherited from m5::unit::UnitADS1115WithEEPROM
+static constexpr uint8_t DEFAULT_EEPROM_ADDRESS {0xFF}
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

virtual void apply_coefficient (const ads111x::Gain gain) override
 
- Protected Member Functions inherited from m5::unit::UnitADS1115WithEEPROM
virtual bool on_begin () override
 
+bool read_calibration (const ads111x::Gain gain, int16_t &hope, int16_t &actual)
 
+void apply_calibration (const ads111x::Gain gain)
 
- Protected Member Functions inherited from m5::unit::UnitADS111x
+bool read_adc_raw (ads111x::Data &d)
 
+bool start_single_measurement ()
 
+bool in_conversion ()
 
+bool read_config (ads111x::Config &c)
 
+bool write_config (const ads111x::Config &c)
 
+void apply_interval (const ads111x::Sampling rate)
 
+bool set_multiplexer (const ads111x::Mux mux)
 
+bool set_gain (const ads111x::Gain gain)
 
+bool set_comparator_mode (const bool b)
 
+bool set_comparator_polarity (const bool b)
 
+bool set_latching_comparator (const bool b)
 
+bool set_comparator_queue (const ads111x::ComparatorQueue c)
 
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER (UnitADS111x, ads111x::Data)
 
bool start_periodic_measurement ()
 Start periodic measurement.
 
bool start_periodic_measurement (const ads111x::Sampling rate)
 Start periodic measurement.
 
bool stop_periodic_measurement ()
 Stop periodic measurement.
 
+ + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

+float _correction {1.0f}
 
- Protected Attributes inherited from m5::unit::UnitADS1115WithEEPROM
+uint8_t _eepromAddr {}
 
+std::unique_ptr< m5::unit::Adapter > _adapterEEPROM {}
 
+Calibration _calibration [8] {}
 
+float _calibrationFactor {1.0f}
 
- Protected Attributes inherited from m5::unit::UnitADS111x
+std::unique_ptr< m5::container::CircularBuffer< ads111x::Data > > _data {}
 
+float _coefficient {}
 
+ads111x::Config _adsCfg {}
 
+config_t _cfg {}
 
+

Detailed Description

+

Ameter Unit is a current meter that can monitor the current in real time.

+

Member Function Documentation

+ +

◆ apply_coefficient()

+ +
+
+ + + + + +
+ + + + + + + +
void m5::unit::UnitAmeter::apply_coefficient (const ads111x::Gain gain)
+
+overrideprotectedvirtual
+
+ +

Reimplemented from m5::unit::UnitADS111x.

+ +
+
+
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_ameter.js b/classm5_1_1unit_1_1_unit_ameter.js new file mode 100644 index 0000000..dc7d80e --- /dev/null +++ b/classm5_1_1unit_1_1_unit_ameter.js @@ -0,0 +1,6 @@ +var classm5_1_1unit_1_1_unit_ameter = +[ + [ "correction", "classm5_1_1unit_1_1_unit_ameter.html#ab69fad3923fb63e9773b640b4b2fb1ce", null ], + [ "current", "classm5_1_1unit_1_1_unit_ameter.html#a1363563166af6aa91771869ed87d0e8f", null ], + [ "resolution", "classm5_1_1unit_1_1_unit_ameter.html#a7b957bbe00ebfd1a55984b81f9870262", null ] +]; \ No newline at end of file diff --git a/classm5_1_1unit_1_1_unit_ameter.png b/classm5_1_1unit_1_1_unit_ameter.png new file mode 100644 index 0000000..95f5cd7 Binary files /dev/null and b/classm5_1_1unit_1_1_unit_ameter.png differ diff --git a/classm5_1_1unit_1_1_unit_vmeter-members.html b/classm5_1_1unit_1_1_unit_vmeter-members.html new file mode 100644 index 0000000..cc1fb5d --- /dev/null +++ b/classm5_1_1unit_1_1_unit_vmeter-members.html @@ -0,0 +1,183 @@ + + + + + + + +M5Unit-METER: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
m5::unit::UnitVmeter Member List
+
+
+ +

This is the complete list of members for m5::unit::UnitVmeter, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_adapterEEPROM (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
_adsCfg (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_calibration (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
_calibrationFactor (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
_cfg (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_coefficient (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_correction (defined in m5::unit::UnitVmeter)m5::unit::UnitVmeterprotected
_data (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
_eepromAddr (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
adc() constm5::unit::UnitADS111xinline
apply_calibration(const ads111x::Gain gain) (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
apply_coefficient(const ads111x::Gain gain) override (defined in m5::unit::UnitVmeter)m5::unit::UnitVmeterprotectedvirtual
apply_interval(const ads111x::Sampling rate) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
assign(m5::hal::bus::Bus *bus) override (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMvirtual
assign(TwoWire &wire) override (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMvirtual
begin() override (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xvirtual
calibrationFactor() constm5::unit::UnitADS1115WithEEPROMinline
coefficient() constm5::unit::UnitADS111xinline
comparatorMode() constm5::unit::UnitADS111xinline
comparatorPolarity() constm5::unit::UnitADS111xinline
comparatorQueue() constm5::unit::UnitADS111xinline
config()m5::unit::UnitADS111xinline
config(const config_t &cfg)m5::unit::UnitADS111xinline
correction() constm5::unit::UnitVmeterinline
DEFAULT_EEPROM_ADDRESS (defined in m5::unit::UnitVmeter)m5::unit::UnitVmeterstatic
gain() constm5::unit::UnitADS111x
generalReset()m5::unit::UnitADS111x
in_conversion() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
latchingComparator() constm5::unit::UnitADS111xinline
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER(UnitADS111x, ads111x::Data) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
measureSingleshot(ads111x::Data &d, const uint32_t timeoutMillis=1000)m5::unit::UnitADS111x
multiplexer() constm5::unit::UnitADS111xinline
on_begin() override (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotectedvirtual
PRESSURE_COEFFICIENT (defined in m5::unit::UnitVmeter)m5::unit::UnitVmeterstatic
read_adc_raw(ads111x::Data &d) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
read_calibration(const ads111x::Gain gain, int16_t &hope, int16_t &actual) (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMprotected
read_config(ads111x::Config &c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
readThreshould(int16_t &high, int16_t &low)m5::unit::UnitADS111x
resolution() constm5::unit::UnitVmeterinline
samplingRate() constm5::unit::UnitADS111xinline
set_comparator_mode(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_comparator_polarity(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_comparator_queue(const ads111x::ComparatorQueue c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_gain(const ads111x::Gain gain) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_latching_comparator(const bool b) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
set_multiplexer(const ads111x::Mux mux) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
setComparatorMode(const bool b) overridem5::unit::UnitADS1115inlinevirtual
setComparatorPolarity(const bool b) overridem5::unit::UnitADS1115inlinevirtual
setComparatorQueue(const ads111x::ComparatorQueue c) overridem5::unit::UnitADS1115inlinevirtual
setGain(const ads111x::Gain gain) overridem5::unit::UnitADS1115WithEEPROMvirtual
setLatchingComparator(const bool b) overridem5::unit::UnitADS1115inlinevirtual
setMultiplexer(const ads111x::Mux mux) overridem5::unit::UnitADS1115inlinevirtual
setSamplingRate(const ads111x::Sampling rate)m5::unit::UnitADS111x
setThreshould(const int16_t high, const int16_t low)m5::unit::UnitADS111x
start_periodic_measurement()m5::unit::UnitADS111xprotected
start_periodic_measurement(const ads111x::Sampling rate)m5::unit::UnitADS111xprotected
start_single_measurement() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
stop_periodic_measurement()m5::unit::UnitADS111xprotected
UnitADS1115(const uint8_t addr=DEFAULT_ADDRESS) (defined in m5::unit::UnitADS1115)m5::unit::UnitADS1115inlineexplicit
UnitADS1115WithEEPROM(const uint8_t addr=DEFAULT_ADDRESS, const uint8_t epromAddr=DEFAULT_EEPROM_ADDRESS) (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMinlineexplicit
UnitADS111x(const uint8_t addr=DEFAULT_ADDRESS) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xinlineexplicit
UnitVmeter(const uint8_t addr=DEFAULT_ADDRESS, const uint8_t epromAddr=DEFAULT_EEPROM_ADDRESS) (defined in m5::unit::UnitVmeter)m5::unit::UnitVmeterinlineexplicit
update(const bool force=false) override (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xvirtual
voltage() constm5::unit::UnitVmeterinline
write_config(const ads111x::Config &c) (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xprotected
~UnitADS1115() (defined in m5::unit::UnitADS1115)m5::unit::UnitADS1115inlinevirtual
~UnitADS1115WithEEPROM() (defined in m5::unit::UnitADS1115WithEEPROM)m5::unit::UnitADS1115WithEEPROMinlinevirtual
~UnitADS111x() (defined in m5::unit::UnitADS111x)m5::unit::UnitADS111xinlinevirtual
~UnitVmeter() (defined in m5::unit::UnitVmeter)m5::unit::UnitVmeterinlinevirtual
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_vmeter.html b/classm5_1_1unit_1_1_unit_vmeter.html new file mode 100644 index 0000000..4ed5de8 --- /dev/null +++ b/classm5_1_1unit_1_1_unit_vmeter.html @@ -0,0 +1,393 @@ + + + + + + + +M5Unit-METER: m5::unit::UnitVmeter Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
m5::unit::UnitVmeter Class Reference
+
+
+ +

Voltmeter Unit is a voltage meter that can monitor the voltage in real time. + More...

+ +

#include <unit_Vmeter.hpp>

+
+Inheritance diagram for m5::unit::UnitVmeter:
+
+
+ + +m5::unit::UnitADS1115WithEEPROM +m5::unit::UnitADS1115 +m5::unit::UnitADS111x + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

UnitVmeter (const uint8_t addr=DEFAULT_ADDRESS, const uint8_t epromAddr=DEFAULT_EEPROM_ADDRESS)
 
+float resolution () const
 Resolution of 1 LSB.
 
+float correction () const
 Gets the correction value.
 
+float voltage () const
 Oldest voltage.
 
- Public Member Functions inherited from m5::unit::UnitADS1115WithEEPROM
UnitADS1115WithEEPROM (const uint8_t addr=DEFAULT_ADDRESS, const uint8_t epromAddr=DEFAULT_EEPROM_ADDRESS)
 
+virtual bool assign (m5::hal::bus::Bus *bus) override
 
+virtual bool assign (TwoWire &wire) override
 
virtual bool setGain (const ads111x::Gain gain) override
 Set the programmable gain amplifier.
 
+float calibrationFactor () const
 calibration factor
 
- Public Member Functions inherited from m5::unit::UnitADS1115
UnitADS1115 (const uint8_t addr=DEFAULT_ADDRESS)
 
virtual bool setMultiplexer (const ads111x::Mux mux) override
 Set the input multiplexer.
 
virtual bool setComparatorMode (const bool b) override
 Set the comparator mode.
 
virtual bool setComparatorPolarity (const bool b) override
 Set the comparator polarity.
 
virtual bool setLatchingComparator (const bool b) override
 Set the latching comparator.
 
virtual bool setComparatorQueue (const ads111x::ComparatorQueue c) override
 Set the comparator queue.
 
- Public Member Functions inherited from m5::unit::UnitADS111x
UnitADS111x (const uint8_t addr=DEFAULT_ADDRESS)
 
+virtual bool begin () override
 
+virtual void update (const bool force=false) override
 
bool generalReset ()
 General reset.
 
+config_t config ()
 Gets the configration.
 
+void config (const config_t &cfg)
 Set the configration.
 
float coefficient () const
 
+int16_t adc () const
 Oldest measured ADC.
 
+ads111x::Mux multiplexer () const
 Gets the input multiplexer.
 
+ads111x::Gain gain () const
 Gets the programmable gain amplifier.
 
+ads111x::Sampling samplingRate () const
 Gets the sampling rate.
 
bool comparatorMode () const
 Gets the comparator mode.
 
bool comparatorPolarity () const
 Gets the comparator polarity.
 
bool latchingComparator () const
 Gets the Latching comparator.
 
+ads111x::ComparatorQueue comparatorQueue () const
 Gets the comparator queue.
 
+bool setSamplingRate (const ads111x::Sampling rate)
 Set the data rate
+
 
bool measureSingleshot (ads111x::Data &d, const uint32_t timeoutMillis=1000)
 Measurement single shot.
 
bool readThreshould (int16_t &high, int16_t &low)
 Reads the threshould values.
 
bool setThreshould (const int16_t high, const int16_t low)
 Set the threshould values.
 
+ + + + + + + + +

+Static Public Attributes

+static constexpr uint8_t DEFAULT_EEPROM_ADDRESS {0x53}
 
+static constexpr float PRESSURE_COEFFICIENT {0.01591895f}
 
- Static Public Attributes inherited from m5::unit::UnitADS1115WithEEPROM
+static constexpr uint8_t DEFAULT_EEPROM_ADDRESS {0xFF}
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

virtual void apply_coefficient (const ads111x::Gain gain) override
 
- Protected Member Functions inherited from m5::unit::UnitADS1115WithEEPROM
virtual bool on_begin () override
 
+bool read_calibration (const ads111x::Gain gain, int16_t &hope, int16_t &actual)
 
+void apply_calibration (const ads111x::Gain gain)
 
- Protected Member Functions inherited from m5::unit::UnitADS111x
+bool read_adc_raw (ads111x::Data &d)
 
+bool start_single_measurement ()
 
+bool in_conversion ()
 
+bool read_config (ads111x::Config &c)
 
+bool write_config (const ads111x::Config &c)
 
+void apply_interval (const ads111x::Sampling rate)
 
+bool set_multiplexer (const ads111x::Mux mux)
 
+bool set_gain (const ads111x::Gain gain)
 
+bool set_comparator_mode (const bool b)
 
+bool set_comparator_polarity (const bool b)
 
+bool set_latching_comparator (const bool b)
 
+bool set_comparator_queue (const ads111x::ComparatorQueue c)
 
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER (UnitADS111x, ads111x::Data)
 
bool start_periodic_measurement ()
 Start periodic measurement.
 
bool start_periodic_measurement (const ads111x::Sampling rate)
 Start periodic measurement.
 
bool stop_periodic_measurement ()
 Stop periodic measurement.
 
+ + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

+float _correction {1.0f}
 
- Protected Attributes inherited from m5::unit::UnitADS1115WithEEPROM
+uint8_t _eepromAddr {}
 
+std::unique_ptr< m5::unit::Adapter > _adapterEEPROM {}
 
+Calibration _calibration [8] {}
 
+float _calibrationFactor {1.0f}
 
- Protected Attributes inherited from m5::unit::UnitADS111x
+std::unique_ptr< m5::container::CircularBuffer< ads111x::Data > > _data {}
 
+float _coefficient {}
 
+ads111x::Config _adsCfg {}
 
+config_t _cfg {}
 
+

Detailed Description

+

Voltmeter Unit is a voltage meter that can monitor the voltage in real time.

+

Member Function Documentation

+ +

◆ apply_coefficient()

+ +
+
+ + + + + +
+ + + + + + + +
void m5::unit::UnitVmeter::apply_coefficient (const ads111x::Gain gain)
+
+overrideprotectedvirtual
+
+ +

Reimplemented from m5::unit::UnitADS111x.

+ +
+
+
+
+ + + + diff --git a/classm5_1_1unit_1_1_unit_vmeter.js b/classm5_1_1unit_1_1_unit_vmeter.js new file mode 100644 index 0000000..3d65f01 --- /dev/null +++ b/classm5_1_1unit_1_1_unit_vmeter.js @@ -0,0 +1,6 @@ +var classm5_1_1unit_1_1_unit_vmeter = +[ + [ "correction", "classm5_1_1unit_1_1_unit_vmeter.html#a686f2a65dd1f56f801f627d90be78306", null ], + [ "resolution", "classm5_1_1unit_1_1_unit_vmeter.html#abf4886d08bba8ef43a87d1bcba685ca8", null ], + [ "voltage", "classm5_1_1unit_1_1_unit_vmeter.html#ad468159ed863811c42342455f7a08c3e", null ] +]; \ No newline at end of file diff --git a/classm5_1_1unit_1_1_unit_vmeter.png b/classm5_1_1unit_1_1_unit_vmeter.png new file mode 100644 index 0000000..0387d32 Binary files /dev/null and b/classm5_1_1unit_1_1_unit_vmeter.png differ diff --git a/clipboard.js b/clipboard.js new file mode 100644 index 0000000..42c1fb0 --- /dev/null +++ b/clipboard.js @@ -0,0 +1,61 @@ +/** + +The code below is based on the Doxygen Awesome project, see +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 - 2022 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +let clipboard_title = "Copy to clipboard" +let clipboard_icon = `` +let clipboard_successIcon = `` +let clipboard_successDuration = 1000 + +$(function() { + if(navigator.clipboard) { + const fragments = document.getElementsByClassName("fragment") + for(const fragment of fragments) { + const clipboard_div = document.createElement("div") + clipboard_div.classList.add("clipboard") + clipboard_div.innerHTML = clipboard_icon + clipboard_div.title = clipboard_title + $(clipboard_div).click(function() { + const content = this.parentNode.cloneNode(true) + // filter out line number and folded fragments from file listings + content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() }) + let text = content.textContent + // remove trailing newlines and trailing spaces from empty lines + text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'') + navigator.clipboard.writeText(text); + this.classList.add("success") + this.innerHTML = clipboard_successIcon + window.setTimeout(() => { // switch back to normal icon after timeout + this.classList.remove("success") + this.innerHTML = clipboard_icon + }, clipboard_successDuration); + }) + fragment.insertBefore(clipboard_div, fragment.firstChild) + } + } +}) diff --git a/closed.png b/closed.png new file mode 100644 index 0000000..98cc2c9 Binary files /dev/null and b/closed.png differ diff --git a/cookie.js b/cookie.js new file mode 100644 index 0000000..53ad21d --- /dev/null +++ b/cookie.js @@ -0,0 +1,58 @@ +/*! + Cookie helper functions + Copyright (c) 2023 Dimitri van Heesch + Released under MIT license. +*/ +let Cookie = { + cookie_namespace: 'doxygen_', + + readSetting(cookie,defVal) { + if (window.chrome) { + const val = localStorage.getItem(this.cookie_namespace+cookie) || + sessionStorage.getItem(this.cookie_namespace+cookie); + if (val) return val; + } else { + let myCookie = this.cookie_namespace+cookie+"="; + if (document.cookie) { + const index = document.cookie.indexOf(myCookie); + if (index != -1) { + const valStart = index + myCookie.length; + let valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + return document.cookie.substring(valStart, valEnd); + } + } + } + return defVal; + }, + + writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete + if (window.chrome) { + if (days==0) { + sessionStorage.setItem(this.cookie_namespace+cookie,val); + } else { + localStorage.setItem(this.cookie_namespace+cookie,val); + } + } else { + let date = new Date(); + date.setTime(date.getTime()+(days*24*60*60*1000)); + const expiration = days!=0 ? "expires="+date.toGMTString()+";" : ""; + document.cookie = this.cookie_namespace + cookie + "=" + + val + "; SameSite=Lax;" + expiration + "path=/"; + } + }, + + eraseSetting(cookie) { + if (window.chrome) { + if (localStorage.getItem(this.cookie_namespace+cookie)) { + localStorage.removeItem(this.cookie_namespace+cookie); + } else if (sessionStorage.getItem(this.cookie_namespace+cookie)) { + sessionStorage.removeItem(this.cookie_namespace+cookie); + } + } else { + this.writeSetting(cookie,'',-1); + } + }, +} diff --git a/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 0000000..46bae6a --- /dev/null +++ b/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,124 @@ + + + + + + + +M5Unit-METER: src Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
src Directory Reference
+
+
+ + + + +

+Directories

 unit
 
+ + + + +

+Files

 M5UnitMETER.hpp
 Main header of M5UnitMETER.
 
+
+
+ + + + diff --git a/dir_68267d1309a1af8e8297ef4c3efbcdba.js b/dir_68267d1309a1af8e8297ef4c3efbcdba.js new file mode 100644 index 0000000..e586853 --- /dev/null +++ b/dir_68267d1309a1af8e8297ef4c3efbcdba.js @@ -0,0 +1,5 @@ +var dir_68267d1309a1af8e8297ef4c3efbcdba = +[ + [ "unit", "dir_b9225a18e54a15d8544a67849bf5de50.html", "dir_b9225a18e54a15d8544a67849bf5de50" ], + [ "M5UnitMETER.hpp", "_m5_unit_m_e_t_e_r_8hpp.html", null ] +]; \ No newline at end of file diff --git a/dir_b9225a18e54a15d8544a67849bf5de50.html b/dir_b9225a18e54a15d8544a67849bf5de50.html new file mode 100644 index 0000000..83d7542 --- /dev/null +++ b/dir_b9225a18e54a15d8544a67849bf5de50.html @@ -0,0 +1,152 @@ + + + + + + + +M5Unit-METER: src/unit Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
unit Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

 unit_ADS1113.cpp
 ADS1113 Unit for M5UnitUnified.
 
 unit_ADS1113.hpp
 ADS1113 Unit for M5UnitUnified.
 
 unit_ADS1114.cpp
 ADS1114 Unit for M5UnitUnified.
 
 unit_ADS1114.hpp
 ADS1114 Unit for M5UnitUnified.
 
 unit_ADS1115.cpp
 ADS1115 Unit for M5UnitUnified.
 
 unit_ADS1115.hpp
 ADS1115 Unit for M5UnitUnified.
 
 unit_ADS111x.cpp
 Base class for ADS111x families.
 
 unit_ADS111x.hpp
 Base class for ADS111x families.
 
 unit_Ameter.cpp
 Ameter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified.
 
 unit_Ameter.hpp
 Ameter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified.
 
 unit_Vmeter.cpp
 Vmeter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified.
 
 unit_Vmeter.hpp
 Vmeter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified.
 
+
+
+ + + + diff --git a/dir_b9225a18e54a15d8544a67849bf5de50.js b/dir_b9225a18e54a15d8544a67849bf5de50.js new file mode 100644 index 0000000..0b9c351 --- /dev/null +++ b/dir_b9225a18e54a15d8544a67849bf5de50.js @@ -0,0 +1,15 @@ +var dir_b9225a18e54a15d8544a67849bf5de50 = +[ + [ "unit_ADS1113.cpp", "unit___a_d_s1113_8cpp.html", null ], + [ "unit_ADS1113.hpp", "unit___a_d_s1113_8hpp.html", "unit___a_d_s1113_8hpp" ], + [ "unit_ADS1114.cpp", "unit___a_d_s1114_8cpp.html", null ], + [ "unit_ADS1114.hpp", "unit___a_d_s1114_8hpp.html", "unit___a_d_s1114_8hpp" ], + [ "unit_ADS1115.cpp", "unit___a_d_s1115_8cpp.html", null ], + [ "unit_ADS1115.hpp", "unit___a_d_s1115_8hpp.html", "unit___a_d_s1115_8hpp" ], + [ "unit_ADS111x.cpp", "unit___a_d_s111x_8cpp.html", null ], + [ "unit_ADS111x.hpp", "unit___a_d_s111x_8hpp.html", "unit___a_d_s111x_8hpp" ], + [ "unit_Ameter.cpp", "unit___ameter_8cpp.html", null ], + [ "unit_Ameter.hpp", "unit___ameter_8hpp.html", "unit___ameter_8hpp" ], + [ "unit_Vmeter.cpp", "unit___vmeter_8cpp.html", null ], + [ "unit_Vmeter.hpp", "unit___vmeter_8hpp.html", "unit___vmeter_8hpp" ] +]; \ No newline at end of file diff --git a/doc.svg b/doc.svg new file mode 100644 index 0000000..0b928a5 --- /dev/null +++ b/doc.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docd.svg b/docd.svg new file mode 100644 index 0000000..ac18b27 --- /dev/null +++ b/docd.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/doxygen.css b/doxygen.css new file mode 100644 index 0000000..209912c --- /dev/null +++ b/doxygen.css @@ -0,0 +1,2244 @@ +/* The standard CSS for doxygen 1.11.0*/ + +html { +/* page base colors */ +--page-background-color: white; +--page-foreground-color: black; +--page-link-color: #3D578C; +--page-visited-link-color: #4665A2; + +/* index */ +--index-odd-item-bg-color: #F8F9FC; +--index-even-item-bg-color: white; +--index-header-color: black; +--index-separator-color: #A0A0A0; + +/* header */ +--header-background-color: #F9FAFC; +--header-separator-color: #C4CFE5; +--header-gradient-image: url('nav_h.png'); +--group-header-separator-color: #879ECB; +--group-header-color: #354C7B; +--inherit-header-color: gray; + +--footer-foreground-color: #2A3D61; +--footer-logo-width: 104px; +--citation-label-color: #334975; +--glow-color: cyan; + +--title-background-color: white; +--title-separator-color: #5373B4; +--directory-separator-color: #9CAFD4; +--separator-color: #4A6AAA; + +--blockquote-background-color: #F7F8FB; +--blockquote-border-color: #9CAFD4; + +--scrollbar-thumb-color: #9CAFD4; +--scrollbar-background-color: #F9FAFC; + +--icon-background-color: #728DC1; +--icon-foreground-color: white; +--icon-doc-image: url('doc.svg'); +--icon-folder-open-image: url('folderopen.svg'); +--icon-folder-closed-image: url('folderclosed.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #F9FAFC; +--memdecl-separator-color: #DEE4F0; +--memdecl-foreground-color: #555; +--memdecl-template-color: #4665A2; + +/* detailed member list */ +--memdef-border-color: #A8B8D9; +--memdef-title-background-color: #E2E8F2; +--memdef-title-gradient-image: url('nav_f.png'); +--memdef-proto-background-color: #DFE5F1; +--memdef-proto-text-color: #253555; +--memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--memdef-doc-background-color: white; +--memdef-param-name-color: #602020; +--memdef-template-color: #4665A2; + +/* tables */ +--table-cell-border-color: #2D4068; +--table-header-background-color: #374F7F; +--table-header-foreground-color: #FFFFFF; + +/* labels */ +--label-background-color: #728DC1; +--label-left-top-border-color: #5373B4; +--label-right-bottom-border-color: #C4CFE5; +--label-foreground-color: white; + +/** navigation bar/tree/menu */ +--nav-background-color: #F9FAFC; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_b.png'); +--nav-gradient-hover-image: url('tab_h.png'); +--nav-gradient-active-image: url('tab_a.png'); +--nav-gradient-active-image-parent: url("../tab_a.png"); +--nav-separator-image: url('tab_s.png'); +--nav-breadcrumb-image: url('bc_s.png'); +--nav-breadcrumb-border-color: #C2CDE4; +--nav-splitbar-image: url('splitbar.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #283A5D; +--nav-text-hover-color: white; +--nav-text-active-color: white; +--nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #364D7C; +--nav-menu-background-color: white; +--nav-menu-foreground-color: #555555; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.5); +--nav-arrow-color: #9CAFD4; +--nav-arrow-selected-color: #9CAFD4; + +/* table of contents */ +--toc-background-color: #F4F6FA; +--toc-border-color: #D8DFEE; +--toc-header-color: #4665A2; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: white; +--search-foreground-color: #909090; +--search-magnification-image: url('mag.svg'); +--search-magnification-select-image: url('mag_sel.svg'); +--search-active-color: black; +--search-filter-background-color: #F9FAFC; +--search-filter-foreground-color: black; +--search-filter-border-color: #90A5CE; +--search-filter-highlight-text-color: white; +--search-filter-highlight-bg-color: #3D578C; +--search-results-foreground-color: #425E97; +--search-results-background-color: #EEF1F7; +--search-results-border-color: black; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #555; + +/** code fragments */ +--code-keyword-color: #008000; +--code-type-keyword-color: #604020; +--code-flow-keyword-color: #E08000; +--code-comment-color: #800000; +--code-preprocessor-color: #806020; +--code-string-literal-color: #002080; +--code-char-literal-color: #008080; +--code-xml-cdata-color: black; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #000000; +--code-vhdl-keyword-color: #700070; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #4665A2; +--code-external-link-color: #4665A2; +--fragment-foreground-color: black; +--fragment-background-color: #FBFCFD; +--fragment-border-color: #C4CFE5; +--fragment-lineno-border-color: #00FF00; +--fragment-lineno-background-color: #E8E8E8; +--fragment-lineno-foreground-color: black; +--fragment-lineno-link-fg-color: #4665A2; +--fragment-lineno-link-bg-color: #D8D8D8; +--fragment-lineno-link-hover-fg-color: #4665A2; +--fragment-lineno-link-hover-bg-color: #C8C8C8; +--fragment-copy-ok-color: #2EC82E; +--tooltip-foreground-color: black; +--tooltip-background-color: white; +--tooltip-border-color: gray; +--tooltip-doc-color: grey; +--tooltip-declaration-color: #006318; +--tooltip-link-color: #4665A2; +--tooltip-shadow: 1px 1px 7px gray; +--fold-line-color: #808080; +--fold-minus-image: url('minus.svg'); +--fold-plus-image: url('plus.svg'); +--fold-minus-image-relpath: url('../../minus.svg'); +--fold-plus-image-relpath: url('../../plus.svg'); + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +/** special sections */ +--warning-color-bg: #f8d1cc; +--warning-color-hl: #b61825; +--warning-color-text: #75070f; +--note-color-bg: #faf3d8; +--note-color-hl: #f3a600; +--note-color-text: #5f4204; +--todo-color-bg: #e4f3ff; +--todo-color-hl: #1879C4; +--todo-color-text: #274a5c; +--test-color-bg: #e8e8ff; +--test-color-hl: #3939C4; +--test-color-text: #1a1a5c; +--deprecated-color-bg: #ecf0f3; +--deprecated-color-hl: #5b6269; +--deprecated-color-text: #43454a; +--bug-color-bg: #e4dafd; +--bug-color-hl: #5b2bdd; +--bug-color-text: #2a0d72; +--invariant-color-bg: #d8f1e3; +--invariant-color-hl: #44b86f; +--invariant-color-text: #265532; +} + +@media (prefers-color-scheme: dark) { + html:not(.dark-mode) { + color-scheme: dark; + +/* page base colors */ +--page-background-color: black; +--page-foreground-color: #C9D1D9; +--page-link-color: #90A5CE; +--page-visited-link-color: #A3B4D7; + +/* index */ +--index-odd-item-bg-color: #0B101A; +--index-even-item-bg-color: black; +--index-header-color: #C4CFE5; +--index-separator-color: #334975; + +/* header */ +--header-background-color: #070B11; +--header-separator-color: #141C2E; +--header-gradient-image: url('nav_hd.png'); +--group-header-separator-color: #283A5D; +--group-header-color: #90A5CE; +--inherit-header-color: #A0A0A0; + +--footer-foreground-color: #5B7AB7; +--footer-logo-width: 60px; +--citation-label-color: #90A5CE; +--glow-color: cyan; + +--title-background-color: #090D16; +--title-separator-color: #354C79; +--directory-separator-color: #283A5D; +--separator-color: #283A5D; + +--blockquote-background-color: #101826; +--blockquote-border-color: #283A5D; + +--scrollbar-thumb-color: #283A5D; +--scrollbar-background-color: #070B11; + +--icon-background-color: #334975; +--icon-foreground-color: #C4CFE5; +--icon-doc-image: url('docd.svg'); +--icon-folder-open-image: url('folderopend.svg'); +--icon-folder-closed-image: url('folderclosedd.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #0B101A; +--memdecl-separator-color: #2C3F65; +--memdecl-foreground-color: #BBB; +--memdecl-template-color: #7C95C6; + +/* detailed member list */ +--memdef-border-color: #233250; +--memdef-title-background-color: #1B2840; +--memdef-title-gradient-image: url('nav_fd.png'); +--memdef-proto-background-color: #19243A; +--memdef-proto-text-color: #9DB0D4; +--memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9); +--memdef-doc-background-color: black; +--memdef-param-name-color: #D28757; +--memdef-template-color: #7C95C6; + +/* tables */ +--table-cell-border-color: #283A5D; +--table-header-background-color: #283A5D; +--table-header-foreground-color: #C4CFE5; + +/* labels */ +--label-background-color: #354C7B; +--label-left-top-border-color: #4665A2; +--label-right-bottom-border-color: #283A5D; +--label-foreground-color: #CCCCCC; + +/** navigation bar/tree/menu */ +--nav-background-color: #101826; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_bd.png'); +--nav-gradient-hover-image: url('tab_hd.png'); +--nav-gradient-active-image: url('tab_ad.png'); +--nav-gradient-active-image-parent: url("../tab_ad.png"); +--nav-separator-image: url('tab_sd.png'); +--nav-breadcrumb-image: url('bc_sd.png'); +--nav-breadcrumb-border-color: #2A3D61; +--nav-splitbar-image: url('splitbard.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #B6C4DF; +--nav-text-hover-color: #DCE2EF; +--nav-text-active-color: #DCE2EF; +--nav-text-normal-shadow: 0px 1px 1px black; +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #B6C4DF; +--nav-menu-background-color: #05070C; +--nav-menu-foreground-color: #BBBBBB; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.2); +--nav-arrow-color: #334975; +--nav-arrow-selected-color: #90A5CE; + +/* table of contents */ +--toc-background-color: #151E30; +--toc-border-color: #202E4A; +--toc-header-color: #A3B4D7; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: black; +--search-foreground-color: #C5C5C5; +--search-magnification-image: url('mag_d.svg'); +--search-magnification-select-image: url('mag_seld.svg'); +--search-active-color: #C5C5C5; +--search-filter-background-color: #101826; +--search-filter-foreground-color: #90A5CE; +--search-filter-border-color: #7C95C6; +--search-filter-highlight-text-color: #BCC9E2; +--search-filter-highlight-bg-color: #283A5D; +--search-results-background-color: #101826; +--search-results-foreground-color: #90A5CE; +--search-results-border-color: #7C95C6; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C; + +/** code fragments */ +--code-keyword-color: #CC99CD; +--code-type-keyword-color: #AB99CD; +--code-flow-keyword-color: #E08000; +--code-comment-color: #717790; +--code-preprocessor-color: #65CABE; +--code-string-literal-color: #7EC699; +--code-char-literal-color: #00E0F0; +--code-xml-cdata-color: #C9D1D9; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #C0C0C0; +--code-vhdl-keyword-color: #CF53C9; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #79C0FF; +--code-external-link-color: #79C0FF; +--fragment-foreground-color: #C9D1D9; +--fragment-background-color: #090D16; +--fragment-border-color: #30363D; +--fragment-lineno-border-color: #30363D; +--fragment-lineno-background-color: black; +--fragment-lineno-foreground-color: #6E7681; +--fragment-lineno-link-fg-color: #6E7681; +--fragment-lineno-link-bg-color: #303030; +--fragment-lineno-link-hover-fg-color: #8E96A1; +--fragment-lineno-link-hover-bg-color: #505050; +--fragment-copy-ok-color: #0EA80E; +--tooltip-foreground-color: #C9D1D9; +--tooltip-background-color: #202020; +--tooltip-border-color: #C9D1D9; +--tooltip-doc-color: #D9E1E9; +--tooltip-declaration-color: #20C348; +--tooltip-link-color: #79C0FF; +--tooltip-shadow: none; +--fold-line-color: #808080; +--fold-minus-image: url('minusd.svg'); +--fold-plus-image: url('plusd.svg'); +--fold-minus-image-relpath: url('../../minusd.svg'); +--fold-plus-image-relpath: url('../../plusd.svg'); + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +/** special sections */ +--warning-color-bg: #2e1917; +--warning-color-hl: #ad2617; +--warning-color-text: #f5b1aa; +--note-color-bg: #3b2e04; +--note-color-hl: #f1b602; +--note-color-text: #ceb670; +--todo-color-bg: #163750; +--todo-color-hl: #1982D2; +--todo-color-text: #dcf0fa; +--test-color-bg: #121258; +--test-color-hl: #4242cf; +--test-color-text: #c0c0da; +--deprecated-color-bg: #2e323b; +--deprecated-color-hl: #738396; +--deprecated-color-text: #abb0bd; +--bug-color-bg: #2a2536; +--bug-color-hl: #7661b3; +--bug-color-text: #ae9ed6; +--invariant-color-bg: #303a35; +--invariant-color-hl: #76ce96; +--invariant-color-text: #cceed5; +}} +body { + background-color: var(--page-background-color); + color: var(--page-foreground-color); +} + +body, table, div, p, dl { + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 22px; +} + +/* @group Heading Levels */ + +.title { + font-family: var(--font-family-normal); + line-height: 28px; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h1.groupheader { + font-size: 150%; +} + +h2.groupheader { + border-bottom: 1px solid var(--group-header-separator-color); + color: var(--group-header-color); + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px var(--glow-color); +} + +dt { + font-weight: bold; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL { + background-image: var(--nav-gradient-active-image); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: var(--index-separator-color); +} + +#main-menu a:focus { + outline: auto; + z-index: 10; + position: relative; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: var(--index-header-color); +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.even { + background-color: var(--index-even-item-bg-color); +} + +.classindex dl.odd { + background-color: var(--index-odd-item-bg-color); +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: var(--page-link-color); + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: var(--page-visited-link-color); +} + +a:hover { + text-decoration: none; + background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%); +} + +a:hover > span.arrow { + text-decoration: none; + background : var(--nav-background-color); +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: var(--code-link-color); +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: var(--code-external-link-color); +} + +a.code.hl_class { /* style for links to class names in code snippets */ } +a.code.hl_struct { /* style for links to struct names in code snippets */ } +a.code.hl_union { /* style for links to union names in code snippets */ } +a.code.hl_interface { /* style for links to interface names in code snippets */ } +a.code.hl_protocol { /* style for links to protocol names in code snippets */ } +a.code.hl_category { /* style for links to category names in code snippets */ } +a.code.hl_exception { /* style for links to exception names in code snippets */ } +a.code.hl_service { /* style for links to service names in code snippets */ } +a.code.hl_singleton { /* style for links to singleton names in code snippets */ } +a.code.hl_concept { /* style for links to concept names in code snippets */ } +a.code.hl_namespace { /* style for links to namespace names in code snippets */ } +a.code.hl_package { /* style for links to package names in code snippets */ } +a.code.hl_define { /* style for links to macro names in code snippets */ } +a.code.hl_function { /* style for links to function names in code snippets */ } +a.code.hl_variable { /* style for links to variable names in code snippets */ } +a.code.hl_typedef { /* style for links to typedef names in code snippets */ } +a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } +a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } +a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } +a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } +a.code.hl_friend { /* style for links to friend names in code snippets */ } +a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } +a.code.hl_property { /* style for links to property names in code snippets */ } +a.code.hl_event { /* style for links to event names in code snippets */ } +a.code.hl_sequence { /* style for links to sequence names in code snippets */ } +a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul.check { + list-style:none; + text-indent: -16px; + padding-left: 38px; +} +li.unchecked:before { + content: "\2610\A0"; +} +li.checked:before { + content: "\2611\A0"; +} + +ol { + text-indent: 0px; +} + +ul { + text-indent: 0px; + overflow: visible; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; + list-style-type: none; +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; + overflow-y: hidden; + position: relative; + min-height: 12px; + margin: 10px 0px; + padding: 10px 10px; + border: 1px solid var(--fragment-border-color); + border-radius: 4px; + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); +} + +pre.fragment { + word-wrap: break-word; + font-size: 10pt; + line-height: 125%; + font-family: var(--font-family-monospace); +} + +.clipboard { + width: 24px; + height: 24px; + right: 5px; + top: 5px; + opacity: 0; + position: absolute; + display: inline; + overflow: auto; + fill: var(--fragment-foreground-color); + justify-content: center; + align-items: center; + cursor: pointer; +} + +.clipboard.success { + border: 1px solid var(--fragment-foreground-color); + border-radius: 4px; +} + +.fragment:hover .clipboard, .clipboard.success { + opacity: .28; +} + +.clipboard:hover, .clipboard.success { + opacity: 1 !important; +} + +.clipboard:active:not([class~=success]) svg { + transform: scale(.91); +} + +.clipboard.success svg { + fill: var(--fragment-copy-ok-color); +} + +.clipboard.success { + border-color: var(--fragment-copy-ok-color); +} + +div.line { + font-family: var(--font-family-monospace); + font-size: 13px; + min-height: 13px; + line-height: 1.2; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: var(--glow-color); + box-shadow: 0 0 10px var(--glow-color); +} + +span.fold { + margin-left: 5px; + margin-right: 1px; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; + display: inline-block; + width: 12px; + height: 12px; + background-repeat:no-repeat; + background-position:center; +} + +span.lineno { + padding-right: 4px; + margin-right: 9px; + text-align: right; + border-right: 2px solid var(--fragment-lineno-border-color); + color: var(--fragment-lineno-foreground-color); + background-color: var(--fragment-lineno-background-color); + white-space: pre; +} +span.lineno a, span.lineno a:visited { + color: var(--fragment-lineno-link-fg-color); + background-color: var(--fragment-lineno-link-bg-color); +} + +span.lineno a:hover { + color: var(--fragment-lineno-link-hover-fg-color); + background-color: var(--fragment-lineno-link-hover-bg-color); +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + color: var(--page-foreground-color); + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +p.formulaDsp { + text-align: center; +} + +img.dark-mode-visible { + display: none; +} +img.light-mode-visible { + display: none; +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; + width: var(--footer-logo-width); +} + +.compoundTemplParams { + color: var(--memdecl-template-color); + font-size: 80%; + line-height: 120%; +} + +/* @group Code Colorization */ + +span.keyword { + color: var(--code-keyword-color); +} + +span.keywordtype { + color: var(--code-type-keyword-color); +} + +span.keywordflow { + color: var(--code-flow-keyword-color); +} + +span.comment { + color: var(--code-comment-color); +} + +span.preprocessor { + color: var(--code-preprocessor-color); +} + +span.stringliteral { + color: var(--code-string-literal-color); +} + +span.charliteral { + color: var(--code-char-literal-color); +} + +span.xmlcdata { + color: var(--code-xml-cdata-color); +} + +span.vhdldigit { + color: var(--code-vhdl-digit-color); +} + +span.vhdlchar { + color: var(--code-vhdl-char-color); +} + +span.vhdlkeyword { + color: var(--code-vhdl-keyword-color); +} + +span.vhdllogic { + color: var(--code-vhdl-logic-color); +} + +blockquote { + background-color: var(--blockquote-background-color); + border-left: 2px solid var(--blockquote-border-color); + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid var(--table-cell-border-color); +} + +th.dirtab { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid var(--separator-color); +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: var(--glow-color); + box-shadow: 0 0 15px var(--glow-color); +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: var(--memdecl-background-color); + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: var(--memdecl-foreground-color); +} + +.memSeparator { + border-bottom: 1px solid var(--memdecl-separator-color); + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: var(--memdecl-template-color); + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: var(--memdef-title-gradient-image); + background-repeat: repeat-x; + background-color: var(--memdef-title-background-color); + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: var(--memdef-template-color); + font-weight: normal; + margin-left: 9px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px var(--glow-color); +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 0px 6px 0px; + color: var(--memdef-proto-text-color); + font-weight: bold; + text-shadow: var(--memdef-proto-text-shadow); + background-color: var(--memdef-proto-background-color); + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; +} + +.overload { + font-family: var(--font-family-monospace); + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 10px 2px 10px; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: var(--memdef-doc-background-color); + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; + padding: 0px; + padding-bottom: 1px; +} + +.paramname { + white-space: nowrap; + padding: 0px; + padding-bottom: 1px; + margin-left: 2px; +} + +.paramname em { + color: var(--memdef-param-name-color); + font-style: normal; + margin-right: 1px; +} + +.paramname .paramdefval { + font-family: var(--font-family-monospace); +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: var(--font-family-monospace); + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: var(--label-background-color); + border-top:1px solid var(--label-left-top-border-color); + border-left:1px solid var(--label-left-top-border-color); + border-right:1px solid var(--label-right-bottom-border-color); + border-bottom:1px solid var(--label-right-bottom-border-color); + text-shadow: none; + color: var(--label-foreground-color); + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid var(--directory-separator-color); + border-bottom: 1px solid var(--directory-separator-color); + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.odd { + padding-left: 6px; + background-color: var(--index-odd-item-bg-color); +} + +.directory tr.even { + padding-left: 6px; + background-color: var(--index-even-item-bg-color); +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: var(--page-link-color); +} + +.arrow { + color: var(--nav-arrow-color); + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: var(--font-family-icon); + line-height: normal; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: var(--icon-background-color); + color: var(--icon-foreground-color); + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-folder-open-image); + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-folder-closed-image); + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-doc-image); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: var(--footer-foreground-color); +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid var(--table-cell-border-color); + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + margin-bottom: 10px; + border: 1px solid var(--memdef-border-color); + border-spacing: 0px; + border-radius: 4px; + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid var(--memdef-border-color); +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image: var(--memdef-title-gradient-image); + background-repeat:repeat-x; + background-color: var(--memdef-title-background-color); + font-size: 90%; + color: var(--memdef-proto-text-color); + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid var(--memdef-border-color); +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: var(--nav-gradient-image); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image: var(--nav-gradient-image); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:var(--nav-text-normal-color); + border:solid 1px var(--nav-breadcrumb-border-color); + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:var(--nav-breadcrumb-image); + background-repeat:no-repeat; + background-position:right; + color: var(--nav-foreground-color); +} + +.navpath li.navelem a +{ + height:32px; + display:block; + outline: none; + color: var(--nav-text-normal-color); + font-family: var(--font-family-nav); + text-shadow: var(--nav-text-normal-shadow); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color: var(--footer-foreground-color); + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image: var(--header-gradient-image); + background-repeat:repeat-x; + background-color: var(--header-background-color); + margin: 0px; + border-bottom: 1px solid var(--header-separator-color); +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* + +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention, dl.important { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +*/ + +dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a { + font-weight: bold !important; +} + +dl.warning, dl.attention, dl.important, dl.note, dl.deprecated, dl.bug, +dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark { + padding: 10px; + margin: 10px 0px; + overflow: hidden; + margin-left: 0; + border-radius: 4px; +} + +dl.section dd { + margin-bottom: 2px; +} + +dl.warning, dl.attention, dl.important { + background: var(--warning-color-bg); + border-left: 8px solid var(--warning-color-hl); + color: var(--warning-color-text); +} + +dl.warning dt, dl.attention dt, dl.important dt { + color: var(--warning-color-hl); +} + +dl.note, dl.remark { + background: var(--note-color-bg); + border-left: 8px solid var(--note-color-hl); + color: var(--note-color-text); +} + +dl.note dt, dl.remark dt { + color: var(--note-color-hl); +} + +dl.todo { + background: var(--todo-color-bg); + border-left: 8px solid var(--todo-color-hl); + color: var(--todo-color-text); +} + +dl.todo dt { + color: var(--todo-color-hl); +} + +dl.test { + background: var(--test-color-bg); + border-left: 8px solid var(--test-color-hl); + color: var(--test-color-text); +} + +dl.test dt { + color: var(--test-color-hl); +} + +dl.bug dt a { + color: var(--bug-color-hl) !important; +} + +dl.bug { + background: var(--bug-color-bg); + border-left: 8px solid var(--bug-color-hl); + color: var(--bug-color-text); +} + +dl.bug dt a { + color: var(--bug-color-hl) !important; +} + +dl.deprecated { + background: var(--deprecated-color-bg); + border-left: 8px solid var(--deprecated-color-hl); + color: var(--deprecated-color-text); +} + +dl.deprecated dt a { + color: var(--deprecated-color-hl) !important; +} + +dl.note dd, dl.warning dd, dl.pre dd, dl.post dd, +dl.remark dd, dl.attention dd, dl.important dd, dl.invariant dd, +dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { + margin-inline-start: 0px; +} + +dl.invariant, dl.pre, dl.post { + background: var(--invariant-color-bg); + border-left: 8px solid var(--invariant-color-hl); + color: var(--invariant-color-text); +} + +dl.invariant dt, dl.pre dt, dl.post dt { + color: var(--invariant-color-hl); +} + + +#projectrow +{ + height: 56px; +} + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; + padding-left: 0.5em; +} + +#projectname +{ + font-size: 200%; + font-family: var(--font-family-title); + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font-size: 90%; + font-family: var(--font-family-title); + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font-size: 50%; + font-family: 50% var(--font-family-title); + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid var(--title-separator-color); + background-color: var(--title-background-color); +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:var(--citation-label-color); + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: var(--toc-background-color); + border: 1px solid var(--toc-border-color); + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; + font: 10px/1.2 var(--font-family-toc); + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 var(--font-family-toc); + color: var(--toc-header-color); + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 15px; +} + +div.toc li.level4 { + margin-left: 15px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +span.obfuscator { + display: none; +} + +.inherit_header { + font-weight: bold; + color: var(--inherit-header-color); + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + /*white-space: nowrap;*/ + color: var(--tooltip-foreground-color); + background-color: var(--tooltip-background-color); + border: 1px solid var(--tooltip-border-color); + border-radius: 4px 4px 4px 4px; + box-shadow: var(--tooltip-shadow); + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: var(--tooltip-doc-color); + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip a { + color: var(--tooltip-link-color); +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: var(--tooltip-declaration-color); +} + +#powerTip div { + margin: 0px; + padding: 0px; + font-size: 12px; + font-family: var(--font-family-tooltip); + line-height: 16px; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: var(--tooltip-background-color); + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { + border-top-color: var(--tooltip-border-color); + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: var(--tooltip-background-color); + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: var(--tooltip-border-color); + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: var(--tooltip-border-color); + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: var(--tooltip-border-color); + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: var(--tooltip-border-color); + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: var(--tooltip-border-color); + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid var(--table-cell-border-color); + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +tt, code, kbd, samp +{ + display: inline-block; +} +/* @end */ + +u { + text-decoration: underline; +} + +details>summary { + list-style-type: none; +} + +details > summary::-webkit-details-marker { + display: none; +} + +details>summary::before { + content: "\25ba"; + padding-right:4px; + font-size: 80%; +} + +details[open]>summary::before { + content: "\25bc"; + padding-right:4px; + font-size: 80%; +} + +body { + scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); +} + +::-webkit-scrollbar { + background-color: var(--scrollbar-background-color); + height: 12px; + width: 12px; +} +::-webkit-scrollbar-thumb { + border-radius: 6px; + box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); + border: solid 2px transparent; +} +::-webkit-scrollbar-corner { + background-color: var(--scrollbar-background-color); +} + diff --git a/doxygen.svg b/doxygen.svg new file mode 100644 index 0000000..79a7635 --- /dev/null +++ b/doxygen.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doxygen_crawl.html b/doxygen_crawl.html new file mode 100644 index 0000000..c7afb61 --- /dev/null +++ b/doxygen_crawl.html @@ -0,0 +1,217 @@ + + + +Validator / crawler helper + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dynsections.js b/dynsections.js new file mode 100644 index 0000000..b05f4c8 --- /dev/null +++ b/dynsections.js @@ -0,0 +1,198 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ + +function toggleVisibility(linkObj) { + return dynsection.toggleVisibility(linkObj); +} + +let dynsection = { + + // helper function + updateStripes : function() { + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); + $('table.directory tr'). + removeClass('odd').filter(':visible:odd').addClass('odd'); + }, + + toggleVisibility : function(linkObj) { + const base = $(linkObj).attr('id'); + const summary = $('#'+base+'-summary'); + const content = $('#'+base+'-content'); + const trigger = $('#'+base+'-trigger'); + const src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; + }, + + toggleLevel : function(level) { + $('table.directory tr').each(function() { + const l = this.id.split('_').length-1; + const i = $('#img'+this.id.substring(3)); + const a = $('#arr'+this.id.substring(3)); + if (l'); + // add vertical lines to other rows + $('span[class=lineno]').not(':eq(0)').append(''); + // add toggle controls to lines with fold divs + $('div[class=foldopen]').each(function() { + // extract specific id to use + const id = $(this).attr('id').replace('foldopen',''); + // extract start and end foldable fragment attributes + const start = $(this).attr('data-start'); + const end = $(this).attr('data-end'); + // replace normal fold span with controls for the first line of a foldable fragment + $(this).find('span[class=fold]:first').replaceWith(''); + // append div for folded (closed) representation + $(this).after(''); + // extract the first line from the "open" section to represent closed content + const line = $(this).children().first().clone(); + // remove any glow that might still be active on the original line + $(line).removeClass('glow'); + if (start) { + // if line already ends with a start marker (e.g. trailing {), remove it + $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); + } + // replace minus with plus symbol + $(line).find('span[class=fold]').css('background-image',codefold.plusImg[relPath]); + // append ellipsis + $(line).append(' '+start+''+end); + // insert constructed line into closed div + $('#foldclosed'+id).html(line); + }); + }, +}; +/* @license-end */ diff --git a/files.html b/files.html new file mode 100644 index 0000000..d97fdea --- /dev/null +++ b/files.html @@ -0,0 +1,130 @@ + + + + + + + +M5Unit-METER: File List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 123]
+ + + + + + + + + + + + + + + +
  src
  unit
 unit_ADS1113.cppADS1113 Unit for M5UnitUnified
 unit_ADS1113.hppADS1113 Unit for M5UnitUnified
 unit_ADS1114.cppADS1114 Unit for M5UnitUnified
 unit_ADS1114.hppADS1114 Unit for M5UnitUnified
 unit_ADS1115.cppADS1115 Unit for M5UnitUnified
 unit_ADS1115.hppADS1115 Unit for M5UnitUnified
 unit_ADS111x.cppBase class for ADS111x families
 unit_ADS111x.hppBase class for ADS111x families
 unit_Ameter.cppAmeter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified
 unit_Ameter.hppAmeter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified
 unit_Vmeter.cppVmeter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified
 unit_Vmeter.hppVmeter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified
 M5UnitMETER.hppMain header of M5UnitMETER
+
+
+
+ + + + diff --git a/files_dup.js b/files_dup.js new file mode 100644 index 0000000..c3b39c4 --- /dev/null +++ b/files_dup.js @@ -0,0 +1,4 @@ +var files_dup = +[ + [ "src", "dir_68267d1309a1af8e8297ef4c3efbcdba.html", "dir_68267d1309a1af8e8297ef4c3efbcdba" ] +]; \ No newline at end of file diff --git a/folderclosed.svg b/folderclosed.svg new file mode 100644 index 0000000..b04bed2 --- /dev/null +++ b/folderclosed.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/folderclosedd.svg b/folderclosedd.svg new file mode 100644 index 0000000..52f0166 --- /dev/null +++ b/folderclosedd.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/folderopen.svg b/folderopen.svg new file mode 100644 index 0000000..f6896dd --- /dev/null +++ b/folderopen.svg @@ -0,0 +1,17 @@ + + + + + + + + + + diff --git a/folderopend.svg b/folderopend.svg new file mode 100644 index 0000000..2d1f06e --- /dev/null +++ b/folderopend.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/functions.html b/functions.html new file mode 100644 index 0000000..179a317 --- /dev/null +++ b/functions.html @@ -0,0 +1,189 @@ + + + + + + + +M5Unit-METER: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- a -

+ + +

- c -

+ + +

- d -

+ + +

- g -

+ + +

- l -

+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- v -

+
+
+ + + + diff --git a/functions_func.html b/functions_func.html new file mode 100644 index 0000000..9a1be47 --- /dev/null +++ b/functions_func.html @@ -0,0 +1,189 @@ + + + + + + + +M5Unit-METER: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented functions with links to the class documentation for each member:
+ +

- a -

+ + +

- c -

+ + +

- d -

+ + +

- g -

+ + +

- l -

+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- v -

+
+
+ + + + diff --git a/hierarchy.html b/hierarchy.html new file mode 100644 index 0000000..b15f767 --- /dev/null +++ b/hierarchy.html @@ -0,0 +1,129 @@ + + + + + + + +M5Unit-METER: Class Hierarchy + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class Hierarchy
+
+
+
This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 12345]
+ + + + + + + + + + + + + + +
 CComponent
 Cm5::unit::UnitADS111xBase class for ADS111x series
 Cm5::unit::UnitADS1113ADS1113 unit
 Cm5::unit::UnitADS1114ADS1114 unit
 Cm5::unit::UnitADS1115ADS1115 unit
 Cm5::unit::UnitADS1115WithEEPROMEEPROM holds calibration data
 Cm5::unit::UnitAmeterAmeter Unit is a current meter that can monitor the current in real time
 Cm5::unit::UnitVmeterVoltmeter Unit is a voltage meter that can monitor the voltage in real time
 Cm5::unit::ads111x::ConfigAccessor for configration
 CComponent::config_t
 Cm5::unit::UnitADS111x::config_tSettings for begin
 Cm5::unit::ads111x::DataMeasurement data group
 CPeriodicMeasurementAdapter
 Cm5::unit::UnitADS111xBase class for ADS111x series
+
+
+
+ + + + diff --git a/hierarchy.js b/hierarchy.js new file mode 100644 index 0000000..abb2956 --- /dev/null +++ b/hierarchy.js @@ -0,0 +1,23 @@ +var hierarchy = +[ + [ "Component", null, [ + [ "m5::unit::UnitADS111x", "classm5_1_1unit_1_1_unit_a_d_s111x.html", [ + [ "m5::unit::UnitADS1113", "classm5_1_1unit_1_1_unit_a_d_s1113.html", null ], + [ "m5::unit::UnitADS1114", "classm5_1_1unit_1_1_unit_a_d_s1114.html", null ], + [ "m5::unit::UnitADS1115", "classm5_1_1unit_1_1_unit_a_d_s1115.html", [ + [ "m5::unit::UnitADS1115WithEEPROM", "classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.html", [ + [ "m5::unit::UnitAmeter", "classm5_1_1unit_1_1_unit_ameter.html", null ], + [ "m5::unit::UnitVmeter", "classm5_1_1unit_1_1_unit_vmeter.html", null ] + ] ] + ] ] + ] ] + ] ], + [ "m5::unit::ads111x::Config", "structm5_1_1unit_1_1ads111x_1_1_config.html", null ], + [ "Component::config_t", null, [ + [ "m5::unit::UnitADS111x::config_t", "structm5_1_1unit_1_1_unit_a_d_s111x_1_1config__t.html", null ] + ] ], + [ "m5::unit::ads111x::Data", "structm5_1_1unit_1_1ads111x_1_1_data.html", null ], + [ "PeriodicMeasurementAdapter", null, [ + [ "m5::unit::UnitADS111x", "classm5_1_1unit_1_1_unit_a_d_s111x.html", null ] + ] ] +]; \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..1f1e2bb --- /dev/null +++ b/index.html @@ -0,0 +1,114 @@ + + + + + + + +M5Unit-METER: M5UnitMETER + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
M5Unit-METER 0.0.0 git rev:8753588 +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
M5UnitMETER
+
+
+

Library for UnitMETER using M5UnitUnified.

+
+ +
+
+ + + + diff --git a/jquery.js b/jquery.js new file mode 100644 index 0000000..1dffb65 --- /dev/null +++ b/jquery.js @@ -0,0 +1,34 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=y.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/menu.js b/menu.js new file mode 100644 index 0000000..0fd1e99 --- /dev/null +++ b/menu.js @@ -0,0 +1,134 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search,treeview) { + function makeTree(data,relPath) { + let result=''; + if ('children' in data) { + result+='
    '; + for (let i in data.children) { + let url; + const link = data.children[i].url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + } else { + url = relPath+link; + } + result+='
  • '+ + data.children[i].text+''+ + makeTree(data.children[i],relPath)+'
  • '; + } + result+='
'; + } + return result; + } + let searchBoxHtml; + if (searchEnabled) { + if (serverSide) { + searchBoxHtml='
'+ + '
'+ + '
 '+ + ''+ + '
'+ + '
'+ + '
'+ + '
'; + } else { + searchBoxHtml='
'+ + ''+ + ' '+ + ''+ + ''+ + ''+ + ''+ + ''+ + '
'; + } + } + + $('#main-nav').before('
'+ + ''+ + ''+ + '
'); + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchBoxHtml) { + $('#main-menu').append('
  • '); + } + const $mainMenuState = $('#main-menu-state'); + let prevWidth = 0; + if ($mainMenuState.length) { + const initResizableIfExists = function() { + if (typeof initResizable==='function') initResizable(treeview); + } + // animate mobile menu + $mainMenuState.change(function() { + const $menu = $('#main-menu'); + let options = { duration: 250, step: initResizableIfExists }; + if (this.checked) { + options['complete'] = () => $menu.css('display', 'block'); + $menu.hide().slideDown(options); + } else { + options['complete'] = () => $menu.css('display', 'none'); + $menu.show().slideUp(options); + } + }); + // set default menu visibility + const resetState = function() { + const $menu = $('#main-menu'); + const newWidth = $(window).outerWidth(); + if (newWidth!=prevWidth) { + if ($(window).outerWidth()<768) { + $mainMenuState.prop('checked',false); $menu.hide(); + $('#searchBoxPos1').html(searchBoxHtml); + $('#searchBoxPos2').hide(); + } else { + $menu.show(); + $('#searchBoxPos1').empty(); + $('#searchBoxPos2').html(searchBoxHtml); + $('#searchBoxPos2').show(); + } + if (typeof searchBox!=='undefined') { + searchBox.CloseResultsWindow(); + } + prevWidth = newWidth; + } + } + $(window).ready(function() { resetState(); initResizableIfExists(); }); + $(window).resize(resetState); + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/menudata.js b/menudata.js new file mode 100644 index 0000000..f5530b9 --- /dev/null +++ b/menudata.js @@ -0,0 +1,59 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Namespaces",url:"namespaces.html",children:[ +{text:"Namespace List",url:"namespaces.html"}]}, +{text:"Classes",url:"annotated.html",children:[ +{text:"Class List",url:"annotated.html"}, +{text:"Class Index",url:"classes.html"}, +{text:"Class Hierarchy",url:"hierarchy.html"}, +{text:"Class Members",url:"functions.html",children:[ +{text:"All",url:"functions.html",children:[ +{text:"a",url:"functions.html#index_a"}, +{text:"c",url:"functions.html#index_c"}, +{text:"d",url:"functions.html#index_d"}, +{text:"g",url:"functions.html#index_g"}, +{text:"l",url:"functions.html#index_l"}, +{text:"m",url:"functions.html#index_m"}, +{text:"o",url:"functions.html#index_o"}, +{text:"p",url:"functions.html#index_p"}, +{text:"r",url:"functions.html#index_r"}, +{text:"s",url:"functions.html#index_s"}, +{text:"v",url:"functions.html#index_v"}]}, +{text:"Functions",url:"functions_func.html",children:[ +{text:"a",url:"functions_func.html#index_a"}, +{text:"c",url:"functions_func.html#index_c"}, +{text:"d",url:"functions_func.html#index_d"}, +{text:"g",url:"functions_func.html#index_g"}, +{text:"l",url:"functions_func.html#index_l"}, +{text:"m",url:"functions_func.html#index_m"}, +{text:"o",url:"functions_func.html#index_o"}, +{text:"p",url:"functions_func.html#index_p"}, +{text:"r",url:"functions_func.html#index_r"}, +{text:"s",url:"functions_func.html#index_s"}, +{text:"v",url:"functions_func.html#index_v"}]}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}]}]} diff --git a/minus.svg b/minus.svg new file mode 100644 index 0000000..f70d0c1 --- /dev/null +++ b/minus.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/minusd.svg b/minusd.svg new file mode 100644 index 0000000..5f8e879 --- /dev/null +++ b/minusd.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/namespaceads111x.html b/namespaceads111x.html new file mode 100644 index 0000000..7741e50 --- /dev/null +++ b/namespaceads111x.html @@ -0,0 +1,117 @@ + + + + + + + +M5Unit-METER: ads111x Namespace Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    ads111x Namespace Reference
    +
    +
    + +

    For ADS111x families. +More...

    +

    Detailed Description

    +

    For ADS111x families.

    +
    +
    + + + + diff --git a/namespacem5.html b/namespacem5.html new file mode 100644 index 0000000..844ea95 --- /dev/null +++ b/namespacem5.html @@ -0,0 +1,117 @@ + + + + + + + +M5Unit-METER: m5 Namespace Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    m5 Namespace Reference
    +
    +
    + +

    Top level namespace of M5stack. +More...

    +

    Detailed Description

    +

    Top level namespace of M5stack.

    +
    +
    + + + + diff --git a/namespaces.html b/namespaces.html new file mode 100644 index 0000000..c8aa032 --- /dev/null +++ b/namespaces.html @@ -0,0 +1,118 @@ + + + + + + + +M5Unit-METER: Namespace List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Namespace List
    +
    +
    +
    Here is a list of all documented namespaces with brief descriptions:
    + + + + +
     Nads111xFor ADS111x families
     Nm5Top level namespace of M5stack
     NunitUnit-related namespace
    +
    +
    +
    + + + + diff --git a/namespaces_dup.js b/namespaces_dup.js new file mode 100644 index 0000000..34ddf23 --- /dev/null +++ b/namespaces_dup.js @@ -0,0 +1,6 @@ +var namespaces_dup = +[ + [ "ads111x", "namespaceads111x.html", null ], + [ "m5", "namespacem5.html", null ], + [ "unit", "namespaceunit.html", null ] +]; \ No newline at end of file diff --git a/namespaceunit.html b/namespaceunit.html new file mode 100644 index 0000000..2f6dacf --- /dev/null +++ b/namespaceunit.html @@ -0,0 +1,117 @@ + + + + + + + +M5Unit-METER: unit Namespace Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    unit Namespace Reference
    +
    +
    + +

    Unit-related namespace. +More...

    +

    Detailed Description

    +

    Unit-related namespace.

    +
    +
    + + + + diff --git a/nav_f.png b/nav_f.png new file mode 100644 index 0000000..72a58a5 Binary files /dev/null and b/nav_f.png differ diff --git a/nav_fd.png b/nav_fd.png new file mode 100644 index 0000000..032fbdd Binary files /dev/null and b/nav_fd.png differ diff --git a/nav_g.png b/nav_g.png new file mode 100644 index 0000000..2093a23 Binary files /dev/null and b/nav_g.png differ diff --git a/nav_h.png b/nav_h.png new file mode 100644 index 0000000..33389b1 Binary files /dev/null and b/nav_h.png differ diff --git a/nav_hd.png b/nav_hd.png new file mode 100644 index 0000000..de80f18 Binary files /dev/null and b/nav_hd.png differ diff --git a/navtree.css b/navtree.css new file mode 100644 index 0000000..69211d4 --- /dev/null +++ b/navtree.css @@ -0,0 +1,149 @@ +#nav-tree .children_ul { + margin:0; + padding:4px; +} + +#nav-tree ul { + list-style:none outside none; + margin:0px; + padding:0px; +} + +#nav-tree li { + white-space:nowrap; + margin:0px; + padding:0px; +} + +#nav-tree .plus { + margin:0px; +} + +#nav-tree .selected { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: var(--nav-text-active-color); + text-shadow: var(--nav-text-active-shadow); +} + +#nav-tree .selected .arrow { + color: var(--nav-arrow-selected-color); + text-shadow: none; +} + +#nav-tree img { + margin:0px; + padding:0px; + border:0px; + vertical-align: middle; +} + +#nav-tree a { + text-decoration:none; + padding:0px; + margin:0px; +} + +#nav-tree .label { + margin:0px; + padding:0px; + font: 12px var(--font-family-nav); +} + +#nav-tree .label a { + padding:2px; +} + +#nav-tree .selected a { + text-decoration:none; + color:var(--nav-text-active-color); +} + +#nav-tree .children_ul { + margin:0px; + padding:0px; +} + +#nav-tree .item { + margin:0px; + padding:0px; +} + +#nav-tree { + padding: 0px 0px; + font-size:14px; + overflow:auto; +} + +#doc-content { + overflow:auto; + display:block; + padding:0px; + margin:0px; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#side-nav { + padding:0 6px 0 0; + margin: 0px; + display:block; + position: absolute; + left: 0px; + width: $width; + overflow : hidden; +} + +.ui-resizable .ui-resizable-handle { + display:block; +} + +.ui-resizable-e { + background-image:var(--nav-splitbar-image); + background-size:100%; + background-repeat:repeat-y; + background-attachment: scroll; + cursor:ew-resize; + height:100%; + right:0; + top:0; + width:6px; +} + +.ui-resizable-handle { + display:none; + font-size:0.1px; + position:absolute; + z-index:1; +} + +#nav-tree-contents { + margin: 6px 0px 0px 0px; +} + +#nav-tree { + background-repeat:repeat-x; + background-color: var(--nav-background-color); + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#nav-sync { + position:absolute; + top:5px; + right:24px; + z-index:0; +} + +#nav-sync img { + opacity:0.3; +} + +#nav-sync img:hover { + opacity:0.9; +} + +@media print +{ + #nav-tree { display: none; } + div.ui-resizable-handle { display: none; position: relative; } +} + diff --git a/navtree.js b/navtree.js new file mode 100644 index 0000000..9027ce6 --- /dev/null +++ b/navtree.js @@ -0,0 +1,483 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ + +function initNavTree(toroot,relpath) { + let navTreeSubIndices = []; + const ARROW_DOWN = '▼'; + const ARROW_RIGHT = '►'; + const NAVPATH_COOKIE_NAME = ''+'navpath'; + + const getData = function(varName) { + const i = varName.lastIndexOf('/'); + const n = i>=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/-/g,'_')); + } + + const stripPath = function(uri) { + return uri.substring(uri.lastIndexOf('/')+1); + } + + const stripPath2 = function(uri) { + const i = uri.lastIndexOf('/'); + const s = uri.substring(i+1); + const m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; + } + + const hashValue = function() { + return $(location).attr('hash').substring(1).replace(/[^\w-]/g,''); + } + + const hashUrl = function() { + return '#'+hashValue(); + } + + const pathName = function() { + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;()]/g, ''); + } + + const storeLink = function(link) { + if (!$("#nav-sync").hasClass('sync')) { + Cookie.writeSetting(NAVPATH_COOKIE_NAME,link,0); + } + } + + const deleteLink = function() { + Cookie.eraseSetting(NAVPATH_COOKIE_NAME); + } + + const cachedLink = function() { + return Cookie.readSetting(NAVPATH_COOKIE_NAME,''); + } + + const getScript = function(scriptName,func) { + const head = document.getElementsByTagName("head")[0]; + const script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + head.appendChild(script); + } + + const createIndent = function(o,domNode,node) { + let level=-1; + let n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + const imgNode = document.createElement("span"); + imgNode.className = 'arrow'; + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.innerHTML=ARROW_RIGHT; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.innerHTML=ARROW_RIGHT; + node.expanded = false; + } else { + expandNode(o, node, false, true); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } else { + let span = document.createElement("span"); + span.className = 'arrow'; + span.style.width = 16*(level+1)+'px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } + } + + let animationInProgress = false; + + const gotoAnchor = function(anchor,aname) { + let pos, docContent = $('#doc-content'); + let ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || ancParent.hasClass('memtitle') || + ancParent.hasClass('fieldname') || ancParent.hasClass('fieldtype') || + ancParent.is(':header')) { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + const dcOffset = docContent.offset().top; + const dcHeight = docContent.height(); + const dcScrHeight = docContent[0].scrollHeight + const dcScrTop = docContent.scrollTop(); + let dist = Math.abs(Math.min(pos-dcOffset,dcScrHeight-dcHeight-dcScrTop)); + animationInProgress = true; + docContent.animate({ + scrollTop: pos + dcScrTop - dcOffset + },Math.max(50,Math.min(500,dist)),function() { + animationInProgress=false; + if (anchor.parent().attr('class')=='memItemLeft') { + let rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname') { + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype') { + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } + }); + } + } + + const newNode = function(o, po, text, link, childrenData, lastNode) { + const node = { + children : [], + childrenData : childrenData, + depth : po.depth + 1, + relpath : po.relpath, + isLast : lastNode, + li : document.createElement("li"), + parentNode : po, + itemDiv : document.createElement("div"), + labelSpan : document.createElement("span"), + label : document.createTextNode(text), + expanded : false, + childrenUL : null, + getChildrenUL : function() { + if (!this.childrenUL) { + this.childrenUL = document.createElement("ul"); + this.childrenUL.className = "children_ul"; + this.childrenUL.style.display = "none"; + this.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }, + }; + + node.itemDiv.className = "item"; + node.labelSpan.className = "label"; + createIndent(o,node.itemDiv,node); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + const a = document.createElement("a"); + node.labelSpan.appendChild(a); + po.getChildrenUL().appendChild(node.li); + a.appendChild(node.label); + if (link) { + let url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + const aname = '#'+link.split('#')[1]; + const srcPage = stripPath(pathName()); + const targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : aname; + a.onclick = function() { + storeLink(link); + aPPar = $(a).parent().parent(); + if (!aPPar.hasClass('selected')) { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + aPPar.addClass('selected'); + aPPar.attr('id','selected'); + } + const anchor = $(aname); + gotoAnchor(anchor,aname); + }; + } else { + a.href = url; + a.onclick = () => storeLink(link); + } + } else if (childrenData != null) { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + return node; + } + + const showRoot = function() { + const headerHeight = $("#top").height(); + const footerHeight = $("#nav-path").height(); + const windowHeight = $(window).height() - headerHeight - footerHeight; + (function() { // retry until we can scroll to the selected item + try { + const navtree=$('#nav-tree'); + navtree.scrollTo('#selected',100,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); + } + + const expandNode = function(o, node, imm, setFocus) { + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + const varName = node.childrenData; + getScript(node.relpath+varName,function() { + node.childrenData = getData(varName); + expandNode(o, node, imm, setFocus); + }); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).slideDown("fast"); + node.plus_img.innerHTML = ARROW_DOWN; + node.expanded = true; + if (setFocus) { + $(node.expandToggle).focus(); + } + } + } + } + + const glowEffect = function(n,duration) { + n.addClass('glow').delay(duration).queue(function(next) { + $(this).removeClass('glow');next(); + }); + } + + const highlightAnchor = function() { + const aname = hashUrl(); + const anchor = $(aname); + gotoAnchor(anchor,aname); + } + + const selectAndHighlight = function(hash,n) { + let a; + if (hash) { + const link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + let topOffset=5; + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + topOffset+=25; + } + $('#nav-sync').css('top',topOffset+'px'); + showRoot(); + } + + const showNode = function(o, node, index, hash) { + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + const varName = node.childrenData; + getScript(node.relpath+varName,function() { + node.childrenData = getData(varName); + showNode(o,node,index,hash); + }); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + node.plus_img.innerHTML = ARROW_DOWN; + node.expanded = true; + const n = node.children[o.breadcrumbs[index]]; + if (index+11 ? '#'+parts[1].replace(/[^\w-]/g,'') : ''; + } + if (hash.match(/^#l\d+$/)) { + const anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + const url=root+hash; + let i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function() { + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + }); + } + } + + const showSyncOff = function(n,relpath) { + n.html(''); + } + + const showSyncOn = function(n,relpath) { + n.html(''); + } + + const o = { + toroot : toroot, + node : { + childrenData : NAVTREE, + children : [], + childrenUL : document.createElement("ul"), + getChildrenUL : function() { return this.childrenUL }, + li : document.getElementById("nav-tree-contents"), + depth : 0, + relpath : relpath, + expanded : false, + isLast : true, + plus_img : document.createElement("span"), + }, + }; + o.node.li.appendChild(o.node.childrenUL); + o.node.plus_img.className = 'arrow'; + o.node.plus_img.innerHTML = ARROW_RIGHT; + + const navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + + navSync.click(() => { + const navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } + }); + + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + + $(window).bind('hashchange', () => { + if (!animationInProgress) { + if (window.location.hash && window.location.hash.length>1) { + let a; + if ($(location).attr('hash')) { + const clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/ + + + + + + + + diff --git a/plusd.svg b/plusd.svg new file mode 100644 index 0000000..0c65bfe --- /dev/null +++ b/plusd.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/resize.js b/resize.js new file mode 100644 index 0000000..7d8cdc7 --- /dev/null +++ b/resize.js @@ -0,0 +1,145 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ + +function initResizable(treeview) { + let sidenav,navtree,content,header,footer,barWidth=6; + const RESIZE_COOKIE_NAME = ''+'width'; + + function resizeWidth() { + const sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+"px"}); + if (typeof page_layout!=='undefined' && page_layout==1) { + footer.css({marginLeft:parseInt(sidenavWidth)+"px"}); + } + Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth); + } + + function restoreWidth(navWidth) { + content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + if (typeof page_layout!=='undefined' && page_layout==1) { + footer.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + } + sidenav.css({width:navWidth + "px"}); + } + + function resizeHeight(treeview) { + const headerHeight = header.outerHeight(); + const windowHeight = $(window).height(); + let contentHeight; + if (treeview) + { + const footerHeight = footer.outerHeight(); + let navtreeHeight,sideNavHeight; + if (typeof page_layout==='undefined' || page_layout==0) { /* DISABLE_INDEX=NO */ + contentHeight = windowHeight - headerHeight - footerHeight; + navtreeHeight = contentHeight; + sideNavHeight = contentHeight; + } else if (page_layout==1) { /* DISABLE_INDEX=YES */ + contentHeight = windowHeight - footerHeight; + navtreeHeight = windowHeight - headerHeight; + sideNavHeight = windowHeight; + } + navtree.css({height:navtreeHeight + "px"}); + sidenav.css({height:sideNavHeight + "px"}); + } + else + { + contentHeight = windowHeight - headerHeight; + } + content.css({height:contentHeight + "px"}); + if (location.hash.slice(1)) { + (document.getElementById(location.hash.slice(1))||document.body).scrollIntoView(); + } + } + + function collapseExpand() { + let newWidth; + if (sidenav.width()>0) { + newWidth=0; + } else { + const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250); + newWidth = (width>250 && width<$(window).width()) ? width : 250; + } + restoreWidth(newWidth); + const sidenavWidth = $(sidenav).outerWidth(); + Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth); + } + + header = $("#top"); + content = $("#doc-content"); + footer = $("#nav-path"); + sidenav = $("#side-nav"); + if (!treeview) { +// title = $("#titlearea"); +// titleH = $(title).height(); +// let animating = false; +// content.on("scroll", function() { +// slideOpts = { duration: 200, +// step: function() { +// contentHeight = $(window).height() - header.outerHeight(); +// content.css({ height : contentHeight + "px" }); +// }, +// done: function() { animating=false; } +// }; +// if (content.scrollTop()>titleH && title.css('display')!='none' && !animating) { +// title.slideUp(slideOpts); +// animating=true; +// } else if (content.scrollTop()<=titleH && title.css('display')=='none' && !animating) { +// title.slideDown(slideOpts); +// animating=true; +// } +// }); + } else { + navtree = $("#nav-tree"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); + } + $(window).resize(function() { resizeHeight(treeview); }); + if (treeview) + { + const device = navigator.userAgent.toLowerCase(); + const touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250); + if (width) { restoreWidth(width); } else { resizeWidth(); } + } + resizeHeight(treeview); + const url = location.href; + const i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + const _preventDefault = function(evt) { evt.preventDefault(); }; + if (treeview) + { + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(".ui-resizable-handle").dblclick(collapseExpand); + } + $(window).on('load',resizeHeight); +} +/* @license-end */ diff --git a/search/all_0.js b/search/all_0.js new file mode 100644 index 0000000..13d2d88 --- /dev/null +++ b/search/all_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['adc_0',['adc',['../structm5_1_1unit_1_1ads111x_1_1_data.html#a4e53df7fa0426f10e5ff401a7ad00b21',1,'m5::unit::ads111x::Data::adc()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ac9638bee4d38e8184d550c81651815db',1,'m5::unit::UnitADS111x::adc()']]], + ['ads111x_1',['ads111x',['../namespaceads111x.html',1,'']]], + ['ain_5f01_2',['AIN_01',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a43f1632cda470e512a07c123f0cebb34',1,'m5::unit::ads111x']]], + ['ain_5f03_3',['AIN_03',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4ab3d48f1b5cad9bb356588fc2cc38a62a',1,'m5::unit::ads111x']]], + ['ain_5f13_4',['AIN_13',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a50bdf49d48da3481c2147d3080da839e',1,'m5::unit::ads111x']]], + ['ain_5f23_5',['AIN_23',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a47d5b209eed41321ed6d450b4ecb91e0',1,'m5::unit::ads111x']]] +]; diff --git a/search/all_1.js b/search/all_1.js new file mode 100644 index 0000000..add8e67 --- /dev/null +++ b/search/all_1.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['calibrationfactor_0',['calibrationFactor',['../classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.html#a786d82be24e30e88c0dd3abc36d9f258',1,'m5::unit::UnitADS1115WithEEPROM']]], + ['coefficient_1',['coefficient',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a75fdc754b8488e5ea9217e0eef9d63ae',1,'m5::unit::UnitADS111x']]], + ['comp_5flat_2',['comp_lat',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a7325f2d99612ce9ef3cf3a480a03b3c0',1,'m5::unit::ads111x::Config']]], + ['comp_5fmode_3',['comp_mode',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a8490c792bb5f7fc014a1f850751487b1',1,'m5::unit::ads111x::Config']]], + ['comp_5fpol_4',['comp_pol',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a3d5b6861267bb1652ccfa725cf68f53d',1,'m5::unit::ads111x::Config']]], + ['comp_5fque_5',['comp_que',['../structm5_1_1unit_1_1ads111x_1_1_config.html#aede79151d71ddececd34bf78b7d0b6be',1,'m5::unit::ads111x::Config']]], + ['comparatormode_6',['comparatorMode',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a004f73054b4816de3da79b832a7c5361',1,'m5::unit::UnitADS111x']]], + ['comparatorpolarity_7',['comparatorPolarity',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a2690b75a725a36eede191653fb21dc5e',1,'m5::unit::UnitADS111x']]], + ['comparatorqueue_8',['ComparatorQueue',['../unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986',1,'m5::unit::ads111x']]], + ['comparatorqueue_9',['comparatorQueue',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a24ed453ccc9f1575f9f069f3f50f08a6',1,'m5::unit::UnitADS111x']]], + ['config_10',['Config',['../structm5_1_1unit_1_1ads111x_1_1_config.html',1,'m5::unit::ads111x']]], + ['config_11',['config',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a93479cf3cb9bcecc499e4be2ed8f5aba',1,'m5::unit::UnitADS111x::config()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ab8d6e7dfe3420f1e943f6499ffde1d66',1,'m5::unit::UnitADS111x::config(const config_t &cfg)']]], + ['config_5ft_12',['config_t',['../structm5_1_1unit_1_1_unit_a_d_s111x_1_1config__t.html',1,'m5::unit::UnitADS111x']]], + ['correction_13',['correction',['../classm5_1_1unit_1_1_unit_ameter.html#ab69fad3923fb63e9773b640b4b2fb1ce',1,'m5::unit::UnitAmeter::correction()'],['../classm5_1_1unit_1_1_unit_vmeter.html#a686f2a65dd1f56f801f627d90be78306',1,'m5::unit::UnitVmeter::correction()']]], + ['current_14',['current',['../classm5_1_1unit_1_1_unit_ameter.html#a1363563166af6aa91771869ed87d0e8f',1,'m5::unit::UnitAmeter']]] +]; diff --git a/search/all_2.js b/search/all_2.js new file mode 100644 index 0000000..a68fe5e --- /dev/null +++ b/search/all_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['data_0',['Data',['../structm5_1_1unit_1_1ads111x_1_1_data.html',1,'m5::unit::ads111x']]], + ['disable_1',['Disable',['../unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986abcfaccebf745acfd5e75351095a5394a',1,'m5::unit::ads111x']]], + ['dr_2',['dr',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a20395bf617c0cb9f635b682f4f5c6d93',1,'m5::unit::ads111x::Config']]] +]; diff --git a/search/all_3.js b/search/all_3.js new file mode 100644 index 0000000..9a3c9a9 --- /dev/null +++ b/search/all_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['four_0',['Four',['../unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986a981b8fcee42e1e726a67a2b9a98ea6e9',1,'m5::unit::ads111x']]] +]; diff --git a/search/all_4.js b/search/all_4.js new file mode 100644 index 0000000..8b5f7e6 --- /dev/null +++ b/search/all_4.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['gain_0',['Gain',['../unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0',1,'m5::unit::ads111x']]], + ['gain_1',['gain',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ae517d65928a97ad204e96d0c79c04b4e',1,'m5::unit::UnitADS111x']]], + ['generalreset_2',['generalReset',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ae47d778759038ba093ab6b12d1949cdc',1,'m5::unit::UnitADS111x']]], + ['gnd_5f0_3',['GND_0',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a7d5b55bc9af5a22c35e70db13979bbd6',1,'m5::unit::ads111x']]], + ['gnd_5f1_4',['GND_1',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a6ac78d21152af2b2e9fdf90f048c367b',1,'m5::unit::ads111x']]], + ['gnd_5f2_5',['GND_2',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a13977d57ee11f7cef9364936f96993c8',1,'m5::unit::ads111x']]], + ['gnd_5f3_6',['GND_3',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4ab88a6044a7049517d73e6fba4fd242c3',1,'m5::unit::ads111x']]] +]; diff --git a/search/all_5.js b/search/all_5.js new file mode 100644 index 0000000..9e6a565 --- /dev/null +++ b/search/all_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['latchingcomparator_0',['latchingComparator',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a02474928fa93d2563d0015cf87c68213',1,'m5::unit::UnitADS111x']]] +]; diff --git a/search/all_6.js b/search/all_6.js new file mode 100644 index 0000000..2181cf0 --- /dev/null +++ b/search/all_6.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['m5_0',['m5',['../namespacem5.html',1,'']]], + ['m5unitmeter_1',['M5UnitMETER',['../index.html',1,'']]], + ['m5unitmeter_2ehpp_2',['M5UnitMETER.hpp',['../_m5_unit_m_e_t_e_r_8hpp.html',1,'']]], + ['measuresingleshot_3',['measureSingleshot',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a953399e302751ff6c907c8f56b67fb4e',1,'m5::unit::UnitADS111x']]], + ['mode_4',['mode',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a7eaa48d4129a7768820c11f496a19c4d',1,'m5::unit::ads111x::Config']]], + ['multiplexer_5',['multiplexer',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ab3fe6f1a7fbc2558b33e81dccdc0d11d',1,'m5::unit::UnitADS111x']]], + ['mux_6',['Mux',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4',1,'m5::unit::ads111x']]], + ['mux_7',['mux',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a305ddc3883815230624f5d1e6e77bd56',1,'m5::unit::ads111x::Config']]] +]; diff --git a/search/all_7.js b/search/all_7.js new file mode 100644 index 0000000..5aed104 --- /dev/null +++ b/search/all_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['one_0',['One',['../unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986a06c2cea18679d64399783748fa367bdd',1,'m5::unit::ads111x']]], + ['os_1',['os',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a1982d797879f68c00e6bdafc972f689a',1,'m5::unit::ads111x::Config']]] +]; diff --git a/search/all_8.js b/search/all_8.js new file mode 100644 index 0000000..5741750 --- /dev/null +++ b/search/all_8.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['pga_0',['pga',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a2919071443a42ef2769d288ee7915217',1,'m5::unit::ads111x::Config']]], + ['pga_5f1024_1',['PGA_1024',['../unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0a06bdac86af858bc28c031b36908b2222',1,'m5::unit::ads111x']]], + ['pga_5f2048_2',['PGA_2048',['../unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0a56a2b199d749021e89c90b9bfd7318ab',1,'m5::unit::ads111x']]], + ['pga_5f256_3',['PGA_256',['../unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0a77feaba03323734f6ab5f5516522be2c',1,'m5::unit::ads111x']]], + ['pga_5f4096_4',['PGA_4096',['../unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0ae19561d0972272b4f88e1d1af299d832',1,'m5::unit::ads111x']]], + ['pga_5f512_5',['PGA_512',['../unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0a2bd7a9eb60bb047859c6223555d5a8a5',1,'m5::unit::ads111x']]], + ['pga_5f6144_6',['PGA_6144',['../unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0afb859fc4d4a2e873b8ad63c882122ba9',1,'m5::unit::ads111x']]] +]; diff --git a/search/all_9.js b/search/all_9.js new file mode 100644 index 0000000..1b50ffc --- /dev/null +++ b/search/all_9.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['rate128_0',['Rate128',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335becae1aebf9377ad50c0628ba7060c31004c',1,'m5::unit::ads111x']]], + ['rate16_1',['Rate16',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca49d0dc5c1ed02f6a6405979358cd0d53',1,'m5::unit::ads111x']]], + ['rate250_2',['Rate250',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca2cc2976c069203d72c1e58003c7f86f8',1,'m5::unit::ads111x']]], + ['rate32_3',['Rate32',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335becabafd99cfe430ee7043beca196a54c130',1,'m5::unit::ads111x']]], + ['rate475_4',['Rate475',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca37690912128913a2c1fcd0905077fd6f',1,'m5::unit::ads111x']]], + ['rate64_5',['Rate64',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca85efab6149ba1f8c3f35410a511d78d4',1,'m5::unit::ads111x']]], + ['rate8_6',['Rate8',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335becaa4f7b0d4b133b3f715eafa43e578c081',1,'m5::unit::ads111x']]], + ['rate860_7',['Rate860',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca3acac1f071c8f1abf2dd747f0ece4239',1,'m5::unit::ads111x']]], + ['readthreshould_8',['readThreshould',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a27bdaa11ea02c3d5b7176aeea575d82d',1,'m5::unit::UnitADS111x']]], + ['resolution_9',['resolution',['../classm5_1_1unit_1_1_unit_ameter.html#a7b957bbe00ebfd1a55984b81f9870262',1,'m5::unit::UnitAmeter::resolution()'],['../classm5_1_1unit_1_1_unit_vmeter.html#abf4886d08bba8ef43a87d1bcba685ca8',1,'m5::unit::UnitVmeter::resolution()']]] +]; diff --git a/search/all_a.js b/search/all_a.js new file mode 100644 index 0000000..668197a --- /dev/null +++ b/search/all_a.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['sampling_0',['Sampling',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335bec',1,'m5::unit::ads111x']]], + ['samplingrate_1',['samplingRate',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a4ce7f05471e7761f4e2133fed1ab5865',1,'m5::unit::UnitADS111x']]], + ['setcomparatormode_2',['setComparatorMode',['../classm5_1_1unit_1_1_unit_a_d_s1113.html#aaa99822e05b4474c0825e232e241e43f',1,'m5::unit::UnitADS1113::setComparatorMode()'],['../classm5_1_1unit_1_1_unit_a_d_s1114.html#a633c4f6cecd4fce6eb4d415a7b9f580c',1,'m5::unit::UnitADS1114::setComparatorMode()'],['../classm5_1_1unit_1_1_unit_a_d_s1115.html#a53a89d0abe18ffaba7ddfaaa1eeac934',1,'m5::unit::UnitADS1115::setComparatorMode()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ae2331db46cb372d82826bd72039e9de0',1,'m5::unit::UnitADS111x::setComparatorMode()']]], + ['setcomparatorpolarity_3',['setComparatorPolarity',['../classm5_1_1unit_1_1_unit_a_d_s1113.html#a62acce026ea72b4af473be32fe88041e',1,'m5::unit::UnitADS1113::setComparatorPolarity()'],['../classm5_1_1unit_1_1_unit_a_d_s1114.html#a9721c54b9db6816dd4260ad7769216c8',1,'m5::unit::UnitADS1114::setComparatorPolarity()'],['../classm5_1_1unit_1_1_unit_a_d_s1115.html#a7c197e336db3b21c10e3d61b1c79a68c',1,'m5::unit::UnitADS1115::setComparatorPolarity()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a1c423207f7c993a70fa3f96f8db5e78c',1,'m5::unit::UnitADS111x::setComparatorPolarity()']]], + ['setcomparatorqueue_4',['setComparatorQueue',['../classm5_1_1unit_1_1_unit_a_d_s1113.html#a7f99941fbc5fd64d4e15a75c3c89b1c9',1,'m5::unit::UnitADS1113::setComparatorQueue()'],['../classm5_1_1unit_1_1_unit_a_d_s1114.html#a2eae029e48a08c3c415cd4371962875e',1,'m5::unit::UnitADS1114::setComparatorQueue()'],['../classm5_1_1unit_1_1_unit_a_d_s1115.html#a0908d1fd26ed3494bdc75da7a80ccb59',1,'m5::unit::UnitADS1115::setComparatorQueue()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a8f25368b3a45fe9673c7cf719479c174',1,'m5::unit::UnitADS111x::setComparatorQueue()']]], + ['setgain_5',['setGain',['../classm5_1_1unit_1_1_unit_a_d_s1113.html#a9e36e5494303fe1c43addb6c7522a52e',1,'m5::unit::UnitADS1113::setGain()'],['../classm5_1_1unit_1_1_unit_a_d_s1114.html#a3b5cc604c84f4540b744bf6d872b005d',1,'m5::unit::UnitADS1114::setGain()'],['../classm5_1_1unit_1_1_unit_a_d_s1115.html#acc9ebdd598ac55eeb20f82eb86a5770f',1,'m5::unit::UnitADS1115::setGain()'],['../classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.html#a17797c30acaf0ff2aebf0bb6ec9ae221',1,'m5::unit::UnitADS1115WithEEPROM::setGain()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a0faa2a91e3cddd8fb63e974bd8e85115',1,'m5::unit::UnitADS111x::setGain()']]], + ['setlatchingcomparator_6',['setLatchingComparator',['../classm5_1_1unit_1_1_unit_a_d_s1113.html#ad38ef0634d62d07180850bdd2a161d34',1,'m5::unit::UnitADS1113::setLatchingComparator()'],['../classm5_1_1unit_1_1_unit_a_d_s1114.html#a4df6e51ded57958e22382108a4cf2eeb',1,'m5::unit::UnitADS1114::setLatchingComparator()'],['../classm5_1_1unit_1_1_unit_a_d_s1115.html#a42cb988d70bb3c633372beb4e6d2c18c',1,'m5::unit::UnitADS1115::setLatchingComparator()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a9a42c04e41ad7ca6c96bd1769dcb702d',1,'m5::unit::UnitADS111x::setLatchingComparator()']]], + ['setmultiplexer_7',['setMultiplexer',['../classm5_1_1unit_1_1_unit_a_d_s1113.html#aac6105f6c806533c067122f46a15e5f9',1,'m5::unit::UnitADS1113::setMultiplexer()'],['../classm5_1_1unit_1_1_unit_a_d_s1114.html#a8da444d1b8b3795191e44e41848cd313',1,'m5::unit::UnitADS1114::setMultiplexer()'],['../classm5_1_1unit_1_1_unit_a_d_s1115.html#aba8960bf6373263d58851020d97c9a88',1,'m5::unit::UnitADS1115::setMultiplexer()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a7eac842451d6e75695d177b45d07da88',1,'m5::unit::UnitADS111x::setMultiplexer(const ads111x::Mux mux)=0']]], + ['setsamplingrate_8',['setSamplingRate',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ac575d86ef23896c6861d06a1aeb92aa2',1,'m5::unit::UnitADS111x']]], + ['setthreshould_9',['setThreshould',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a27efe58297ae273fb2751a0b5e30ef9a',1,'m5::unit::UnitADS111x']]], + ['start_5fperiodic_5fmeasurement_10',['start_periodic_measurement',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ab2e7aac3579e60918758335471afd75c',1,'m5::unit::UnitADS111x::start_periodic_measurement()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ab64cc4b3053c9415d4c19e3d450400fd',1,'m5::unit::UnitADS111x::start_periodic_measurement(const ads111x::Sampling rate)']]], + ['stop_5fperiodic_5fmeasurement_11',['stop_periodic_measurement',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a67d0700881baf2782ea1db10ff14a9f1',1,'m5::unit::UnitADS111x']]] +]; diff --git a/search/all_b.js b/search/all_b.js new file mode 100644 index 0000000..2543395 --- /dev/null +++ b/search/all_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['two_0',['Two',['../unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986aaada29daee1d64ed0fe907043855cb7e',1,'m5::unit::ads111x']]] +]; diff --git a/search/all_c.js b/search/all_c.js new file mode 100644 index 0000000..accb917 --- /dev/null +++ b/search/all_c.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['unit_0',['unit',['../namespaceunit.html',1,'']]], + ['unit_5fads1113_2ecpp_1',['unit_ADS1113.cpp',['../unit___a_d_s1113_8cpp.html',1,'']]], + ['unit_5fads1113_2ehpp_2',['unit_ADS1113.hpp',['../unit___a_d_s1113_8hpp.html',1,'']]], + ['unit_5fads1114_2ecpp_3',['unit_ADS1114.cpp',['../unit___a_d_s1114_8cpp.html',1,'']]], + ['unit_5fads1114_2ehpp_4',['unit_ADS1114.hpp',['../unit___a_d_s1114_8hpp.html',1,'']]], + ['unit_5fads1115_2ecpp_5',['unit_ADS1115.cpp',['../unit___a_d_s1115_8cpp.html',1,'']]], + ['unit_5fads1115_2ehpp_6',['unit_ADS1115.hpp',['../unit___a_d_s1115_8hpp.html',1,'']]], + ['unit_5fads111x_2ecpp_7',['unit_ADS111x.cpp',['../unit___a_d_s111x_8cpp.html',1,'']]], + ['unit_5fads111x_2ehpp_8',['unit_ADS111x.hpp',['../unit___a_d_s111x_8hpp.html',1,'']]], + ['unit_5fameter_2ecpp_9',['unit_Ameter.cpp',['../unit___ameter_8cpp.html',1,'']]], + ['unit_5fameter_2ehpp_10',['unit_Ameter.hpp',['../unit___ameter_8hpp.html',1,'']]], + ['unit_5fvmeter_2ecpp_11',['unit_Vmeter.cpp',['../unit___vmeter_8cpp.html',1,'']]], + ['unit_5fvmeter_2ehpp_12',['unit_Vmeter.hpp',['../unit___vmeter_8hpp.html',1,'']]], + ['unitads1113_13',['UnitADS1113',['../classm5_1_1unit_1_1_unit_a_d_s1113.html',1,'m5::unit']]], + ['unitads1114_14',['UnitADS1114',['../classm5_1_1unit_1_1_unit_a_d_s1114.html',1,'m5::unit']]], + ['unitads1115_15',['UnitADS1115',['../classm5_1_1unit_1_1_unit_a_d_s1115.html',1,'m5::unit']]], + ['unitads1115witheeprom_16',['UnitADS1115WithEEPROM',['../classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.html',1,'m5::unit']]], + ['unitads111x_17',['UnitADS111x',['../classm5_1_1unit_1_1_unit_a_d_s111x.html',1,'m5::unit']]], + ['unitameter_18',['UnitAmeter',['../classm5_1_1unit_1_1_unit_ameter.html',1,'m5::unit']]], + ['unitvmeter_19',['UnitVmeter',['../classm5_1_1unit_1_1_unit_vmeter.html',1,'m5::unit']]] +]; diff --git a/search/all_d.js b/search/all_d.js new file mode 100644 index 0000000..7eed86e --- /dev/null +++ b/search/all_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['voltage_0',['voltage',['../classm5_1_1unit_1_1_unit_vmeter.html#ad468159ed863811c42342455f7a08c3e',1,'m5::unit::UnitVmeter']]] +]; diff --git a/search/classes_0.js b/search/classes_0.js new file mode 100644 index 0000000..28652e5 --- /dev/null +++ b/search/classes_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['config_0',['Config',['../structm5_1_1unit_1_1ads111x_1_1_config.html',1,'m5::unit::ads111x']]], + ['config_5ft_1',['config_t',['../structm5_1_1unit_1_1_unit_a_d_s111x_1_1config__t.html',1,'m5::unit::UnitADS111x']]] +]; diff --git a/search/classes_1.js b/search/classes_1.js new file mode 100644 index 0000000..347ea96 --- /dev/null +++ b/search/classes_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['data_0',['Data',['../structm5_1_1unit_1_1ads111x_1_1_data.html',1,'m5::unit::ads111x']]] +]; diff --git a/search/classes_2.js b/search/classes_2.js new file mode 100644 index 0000000..5edc522 --- /dev/null +++ b/search/classes_2.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['unitads1113_0',['UnitADS1113',['../classm5_1_1unit_1_1_unit_a_d_s1113.html',1,'m5::unit']]], + ['unitads1114_1',['UnitADS1114',['../classm5_1_1unit_1_1_unit_a_d_s1114.html',1,'m5::unit']]], + ['unitads1115_2',['UnitADS1115',['../classm5_1_1unit_1_1_unit_a_d_s1115.html',1,'m5::unit']]], + ['unitads1115witheeprom_3',['UnitADS1115WithEEPROM',['../classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.html',1,'m5::unit']]], + ['unitads111x_4',['UnitADS111x',['../classm5_1_1unit_1_1_unit_a_d_s111x.html',1,'m5::unit']]], + ['unitameter_5',['UnitAmeter',['../classm5_1_1unit_1_1_unit_ameter.html',1,'m5::unit']]], + ['unitvmeter_6',['UnitVmeter',['../classm5_1_1unit_1_1_unit_vmeter.html',1,'m5::unit']]] +]; diff --git a/search/close.svg b/search/close.svg new file mode 100644 index 0000000..337d6cc --- /dev/null +++ b/search/close.svg @@ -0,0 +1,18 @@ + + + + + + diff --git a/search/enums_0.js b/search/enums_0.js new file mode 100644 index 0000000..171999c --- /dev/null +++ b/search/enums_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['comparatorqueue_0',['ComparatorQueue',['../unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986',1,'m5::unit::ads111x']]] +]; diff --git a/search/enums_1.js b/search/enums_1.js new file mode 100644 index 0000000..391f0d4 --- /dev/null +++ b/search/enums_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['gain_0',['Gain',['../unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0',1,'m5::unit::ads111x']]] +]; diff --git a/search/enums_2.js b/search/enums_2.js new file mode 100644 index 0000000..8120983 --- /dev/null +++ b/search/enums_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['mux_0',['Mux',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4',1,'m5::unit::ads111x']]] +]; diff --git a/search/enums_3.js b/search/enums_3.js new file mode 100644 index 0000000..d2c6058 --- /dev/null +++ b/search/enums_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['sampling_0',['Sampling',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335bec',1,'m5::unit::ads111x']]] +]; diff --git a/search/enumvalues_0.js b/search/enumvalues_0.js new file mode 100644 index 0000000..2df09f7 --- /dev/null +++ b/search/enumvalues_0.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['ain_5f01_0',['AIN_01',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a43f1632cda470e512a07c123f0cebb34',1,'m5::unit::ads111x']]], + ['ain_5f03_1',['AIN_03',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4ab3d48f1b5cad9bb356588fc2cc38a62a',1,'m5::unit::ads111x']]], + ['ain_5f13_2',['AIN_13',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a50bdf49d48da3481c2147d3080da839e',1,'m5::unit::ads111x']]], + ['ain_5f23_3',['AIN_23',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a47d5b209eed41321ed6d450b4ecb91e0',1,'m5::unit::ads111x']]] +]; diff --git a/search/enumvalues_1.js b/search/enumvalues_1.js new file mode 100644 index 0000000..8c3e896 --- /dev/null +++ b/search/enumvalues_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['disable_0',['Disable',['../unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986abcfaccebf745acfd5e75351095a5394a',1,'m5::unit::ads111x']]] +]; diff --git a/search/enumvalues_2.js b/search/enumvalues_2.js new file mode 100644 index 0000000..9a3c9a9 --- /dev/null +++ b/search/enumvalues_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['four_0',['Four',['../unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986a981b8fcee42e1e726a67a2b9a98ea6e9',1,'m5::unit::ads111x']]] +]; diff --git a/search/enumvalues_3.js b/search/enumvalues_3.js new file mode 100644 index 0000000..dde7276 --- /dev/null +++ b/search/enumvalues_3.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['gnd_5f0_0',['GND_0',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a7d5b55bc9af5a22c35e70db13979bbd6',1,'m5::unit::ads111x']]], + ['gnd_5f1_1',['GND_1',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a6ac78d21152af2b2e9fdf90f048c367b',1,'m5::unit::ads111x']]], + ['gnd_5f2_2',['GND_2',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a13977d57ee11f7cef9364936f96993c8',1,'m5::unit::ads111x']]], + ['gnd_5f3_3',['GND_3',['../unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4ab88a6044a7049517d73e6fba4fd242c3',1,'m5::unit::ads111x']]] +]; diff --git a/search/enumvalues_4.js b/search/enumvalues_4.js new file mode 100644 index 0000000..14f9096 --- /dev/null +++ b/search/enumvalues_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['one_0',['One',['../unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986a06c2cea18679d64399783748fa367bdd',1,'m5::unit::ads111x']]] +]; diff --git a/search/enumvalues_5.js b/search/enumvalues_5.js new file mode 100644 index 0000000..a32f938 --- /dev/null +++ b/search/enumvalues_5.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['pga_5f1024_0',['PGA_1024',['../unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0a06bdac86af858bc28c031b36908b2222',1,'m5::unit::ads111x']]], + ['pga_5f2048_1',['PGA_2048',['../unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0a56a2b199d749021e89c90b9bfd7318ab',1,'m5::unit::ads111x']]], + ['pga_5f256_2',['PGA_256',['../unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0a77feaba03323734f6ab5f5516522be2c',1,'m5::unit::ads111x']]], + ['pga_5f4096_3',['PGA_4096',['../unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0ae19561d0972272b4f88e1d1af299d832',1,'m5::unit::ads111x']]], + ['pga_5f512_4',['PGA_512',['../unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0a2bd7a9eb60bb047859c6223555d5a8a5',1,'m5::unit::ads111x']]], + ['pga_5f6144_5',['PGA_6144',['../unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0afb859fc4d4a2e873b8ad63c882122ba9',1,'m5::unit::ads111x']]] +]; diff --git a/search/enumvalues_6.js b/search/enumvalues_6.js new file mode 100644 index 0000000..38eb48c --- /dev/null +++ b/search/enumvalues_6.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['rate128_0',['Rate128',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335becae1aebf9377ad50c0628ba7060c31004c',1,'m5::unit::ads111x']]], + ['rate16_1',['Rate16',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca49d0dc5c1ed02f6a6405979358cd0d53',1,'m5::unit::ads111x']]], + ['rate250_2',['Rate250',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca2cc2976c069203d72c1e58003c7f86f8',1,'m5::unit::ads111x']]], + ['rate32_3',['Rate32',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335becabafd99cfe430ee7043beca196a54c130',1,'m5::unit::ads111x']]], + ['rate475_4',['Rate475',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca37690912128913a2c1fcd0905077fd6f',1,'m5::unit::ads111x']]], + ['rate64_5',['Rate64',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca85efab6149ba1f8c3f35410a511d78d4',1,'m5::unit::ads111x']]], + ['rate8_6',['Rate8',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335becaa4f7b0d4b133b3f715eafa43e578c081',1,'m5::unit::ads111x']]], + ['rate860_7',['Rate860',['../unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca3acac1f071c8f1abf2dd747f0ece4239',1,'m5::unit::ads111x']]] +]; diff --git a/search/enumvalues_7.js b/search/enumvalues_7.js new file mode 100644 index 0000000..2543395 --- /dev/null +++ b/search/enumvalues_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['two_0',['Two',['../unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986aaada29daee1d64ed0fe907043855cb7e',1,'m5::unit::ads111x']]] +]; diff --git a/search/files_0.js b/search/files_0.js new file mode 100644 index 0000000..d5720af --- /dev/null +++ b/search/files_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['m5unitmeter_2ehpp_0',['M5UnitMETER.hpp',['../_m5_unit_m_e_t_e_r_8hpp.html',1,'']]] +]; diff --git a/search/files_1.js b/search/files_1.js new file mode 100644 index 0000000..01bc36e --- /dev/null +++ b/search/files_1.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['unit_5fads1113_2ecpp_0',['unit_ADS1113.cpp',['../unit___a_d_s1113_8cpp.html',1,'']]], + ['unit_5fads1113_2ehpp_1',['unit_ADS1113.hpp',['../unit___a_d_s1113_8hpp.html',1,'']]], + ['unit_5fads1114_2ecpp_2',['unit_ADS1114.cpp',['../unit___a_d_s1114_8cpp.html',1,'']]], + ['unit_5fads1114_2ehpp_3',['unit_ADS1114.hpp',['../unit___a_d_s1114_8hpp.html',1,'']]], + ['unit_5fads1115_2ecpp_4',['unit_ADS1115.cpp',['../unit___a_d_s1115_8cpp.html',1,'']]], + ['unit_5fads1115_2ehpp_5',['unit_ADS1115.hpp',['../unit___a_d_s1115_8hpp.html',1,'']]], + ['unit_5fads111x_2ecpp_6',['unit_ADS111x.cpp',['../unit___a_d_s111x_8cpp.html',1,'']]], + ['unit_5fads111x_2ehpp_7',['unit_ADS111x.hpp',['../unit___a_d_s111x_8hpp.html',1,'']]], + ['unit_5fameter_2ecpp_8',['unit_Ameter.cpp',['../unit___ameter_8cpp.html',1,'']]], + ['unit_5fameter_2ehpp_9',['unit_Ameter.hpp',['../unit___ameter_8hpp.html',1,'']]], + ['unit_5fvmeter_2ecpp_10',['unit_Vmeter.cpp',['../unit___vmeter_8cpp.html',1,'']]], + ['unit_5fvmeter_2ehpp_11',['unit_Vmeter.hpp',['../unit___vmeter_8hpp.html',1,'']]] +]; diff --git a/search/functions_0.js b/search/functions_0.js new file mode 100644 index 0000000..5339948 --- /dev/null +++ b/search/functions_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['adc_0',['adc',['../structm5_1_1unit_1_1ads111x_1_1_data.html#a4e53df7fa0426f10e5ff401a7ad00b21',1,'m5::unit::ads111x::Data::adc()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ac9638bee4d38e8184d550c81651815db',1,'m5::unit::UnitADS111x::adc()']]] +]; diff --git a/search/functions_1.js b/search/functions_1.js new file mode 100644 index 0000000..5b4a0af --- /dev/null +++ b/search/functions_1.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['calibrationfactor_0',['calibrationFactor',['../classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.html#a786d82be24e30e88c0dd3abc36d9f258',1,'m5::unit::UnitADS1115WithEEPROM']]], + ['coefficient_1',['coefficient',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a75fdc754b8488e5ea9217e0eef9d63ae',1,'m5::unit::UnitADS111x']]], + ['comp_5flat_2',['comp_lat',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a7325f2d99612ce9ef3cf3a480a03b3c0',1,'m5::unit::ads111x::Config']]], + ['comp_5fmode_3',['comp_mode',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a8490c792bb5f7fc014a1f850751487b1',1,'m5::unit::ads111x::Config']]], + ['comp_5fpol_4',['comp_pol',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a3d5b6861267bb1652ccfa725cf68f53d',1,'m5::unit::ads111x::Config']]], + ['comp_5fque_5',['comp_que',['../structm5_1_1unit_1_1ads111x_1_1_config.html#aede79151d71ddececd34bf78b7d0b6be',1,'m5::unit::ads111x::Config']]], + ['comparatormode_6',['comparatorMode',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a004f73054b4816de3da79b832a7c5361',1,'m5::unit::UnitADS111x']]], + ['comparatorpolarity_7',['comparatorPolarity',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a2690b75a725a36eede191653fb21dc5e',1,'m5::unit::UnitADS111x']]], + ['comparatorqueue_8',['comparatorQueue',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a24ed453ccc9f1575f9f069f3f50f08a6',1,'m5::unit::UnitADS111x']]], + ['config_9',['config',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a93479cf3cb9bcecc499e4be2ed8f5aba',1,'m5::unit::UnitADS111x::config()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ab8d6e7dfe3420f1e943f6499ffde1d66',1,'m5::unit::UnitADS111x::config(const config_t &cfg)']]], + ['correction_10',['correction',['../classm5_1_1unit_1_1_unit_ameter.html#ab69fad3923fb63e9773b640b4b2fb1ce',1,'m5::unit::UnitAmeter::correction()'],['../classm5_1_1unit_1_1_unit_vmeter.html#a686f2a65dd1f56f801f627d90be78306',1,'m5::unit::UnitVmeter::correction()']]], + ['current_11',['current',['../classm5_1_1unit_1_1_unit_ameter.html#a1363563166af6aa91771869ed87d0e8f',1,'m5::unit::UnitAmeter']]] +]; diff --git a/search/functions_2.js b/search/functions_2.js new file mode 100644 index 0000000..b271612 --- /dev/null +++ b/search/functions_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dr_0',['dr',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a20395bf617c0cb9f635b682f4f5c6d93',1,'m5::unit::ads111x::Config']]] +]; diff --git a/search/functions_3.js b/search/functions_3.js new file mode 100644 index 0000000..aa0b691 --- /dev/null +++ b/search/functions_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['gain_0',['gain',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ae517d65928a97ad204e96d0c79c04b4e',1,'m5::unit::UnitADS111x']]], + ['generalreset_1',['generalReset',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ae47d778759038ba093ab6b12d1949cdc',1,'m5::unit::UnitADS111x']]] +]; diff --git a/search/functions_4.js b/search/functions_4.js new file mode 100644 index 0000000..9e6a565 --- /dev/null +++ b/search/functions_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['latchingcomparator_0',['latchingComparator',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a02474928fa93d2563d0015cf87c68213',1,'m5::unit::UnitADS111x']]] +]; diff --git a/search/functions_5.js b/search/functions_5.js new file mode 100644 index 0000000..3d3dcb6 --- /dev/null +++ b/search/functions_5.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['measuresingleshot_0',['measureSingleshot',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a953399e302751ff6c907c8f56b67fb4e',1,'m5::unit::UnitADS111x']]], + ['mode_1',['mode',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a7eaa48d4129a7768820c11f496a19c4d',1,'m5::unit::ads111x::Config']]], + ['multiplexer_2',['multiplexer',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ab3fe6f1a7fbc2558b33e81dccdc0d11d',1,'m5::unit::UnitADS111x']]], + ['mux_3',['mux',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a305ddc3883815230624f5d1e6e77bd56',1,'m5::unit::ads111x::Config']]] +]; diff --git a/search/functions_6.js b/search/functions_6.js new file mode 100644 index 0000000..66e11c0 --- /dev/null +++ b/search/functions_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['os_0',['os',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a1982d797879f68c00e6bdafc972f689a',1,'m5::unit::ads111x::Config']]] +]; diff --git a/search/functions_7.js b/search/functions_7.js new file mode 100644 index 0000000..4d4d024 --- /dev/null +++ b/search/functions_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['pga_0',['pga',['../structm5_1_1unit_1_1ads111x_1_1_config.html#a2919071443a42ef2769d288ee7915217',1,'m5::unit::ads111x::Config']]] +]; diff --git a/search/functions_8.js b/search/functions_8.js new file mode 100644 index 0000000..78b1787 --- /dev/null +++ b/search/functions_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['readthreshould_0',['readThreshould',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a27bdaa11ea02c3d5b7176aeea575d82d',1,'m5::unit::UnitADS111x']]], + ['resolution_1',['resolution',['../classm5_1_1unit_1_1_unit_ameter.html#a7b957bbe00ebfd1a55984b81f9870262',1,'m5::unit::UnitAmeter::resolution()'],['../classm5_1_1unit_1_1_unit_vmeter.html#abf4886d08bba8ef43a87d1bcba685ca8',1,'m5::unit::UnitVmeter::resolution()']]] +]; diff --git a/search/functions_9.js b/search/functions_9.js new file mode 100644 index 0000000..1d4e155 --- /dev/null +++ b/search/functions_9.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['samplingrate_0',['samplingRate',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a4ce7f05471e7761f4e2133fed1ab5865',1,'m5::unit::UnitADS111x']]], + ['setcomparatormode_1',['setComparatorMode',['../classm5_1_1unit_1_1_unit_a_d_s1113.html#aaa99822e05b4474c0825e232e241e43f',1,'m5::unit::UnitADS1113::setComparatorMode()'],['../classm5_1_1unit_1_1_unit_a_d_s1114.html#a633c4f6cecd4fce6eb4d415a7b9f580c',1,'m5::unit::UnitADS1114::setComparatorMode()'],['../classm5_1_1unit_1_1_unit_a_d_s1115.html#a53a89d0abe18ffaba7ddfaaa1eeac934',1,'m5::unit::UnitADS1115::setComparatorMode()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ae2331db46cb372d82826bd72039e9de0',1,'m5::unit::UnitADS111x::setComparatorMode()']]], + ['setcomparatorpolarity_2',['setComparatorPolarity',['../classm5_1_1unit_1_1_unit_a_d_s1113.html#a62acce026ea72b4af473be32fe88041e',1,'m5::unit::UnitADS1113::setComparatorPolarity()'],['../classm5_1_1unit_1_1_unit_a_d_s1114.html#a9721c54b9db6816dd4260ad7769216c8',1,'m5::unit::UnitADS1114::setComparatorPolarity()'],['../classm5_1_1unit_1_1_unit_a_d_s1115.html#a7c197e336db3b21c10e3d61b1c79a68c',1,'m5::unit::UnitADS1115::setComparatorPolarity()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a1c423207f7c993a70fa3f96f8db5e78c',1,'m5::unit::UnitADS111x::setComparatorPolarity()']]], + ['setcomparatorqueue_3',['setComparatorQueue',['../classm5_1_1unit_1_1_unit_a_d_s1113.html#a7f99941fbc5fd64d4e15a75c3c89b1c9',1,'m5::unit::UnitADS1113::setComparatorQueue()'],['../classm5_1_1unit_1_1_unit_a_d_s1114.html#a2eae029e48a08c3c415cd4371962875e',1,'m5::unit::UnitADS1114::setComparatorQueue()'],['../classm5_1_1unit_1_1_unit_a_d_s1115.html#a0908d1fd26ed3494bdc75da7a80ccb59',1,'m5::unit::UnitADS1115::setComparatorQueue()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a8f25368b3a45fe9673c7cf719479c174',1,'m5::unit::UnitADS111x::setComparatorQueue()']]], + ['setgain_4',['setGain',['../classm5_1_1unit_1_1_unit_a_d_s1113.html#a9e36e5494303fe1c43addb6c7522a52e',1,'m5::unit::UnitADS1113::setGain()'],['../classm5_1_1unit_1_1_unit_a_d_s1114.html#a3b5cc604c84f4540b744bf6d872b005d',1,'m5::unit::UnitADS1114::setGain()'],['../classm5_1_1unit_1_1_unit_a_d_s1115.html#acc9ebdd598ac55eeb20f82eb86a5770f',1,'m5::unit::UnitADS1115::setGain()'],['../classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.html#a17797c30acaf0ff2aebf0bb6ec9ae221',1,'m5::unit::UnitADS1115WithEEPROM::setGain()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a0faa2a91e3cddd8fb63e974bd8e85115',1,'m5::unit::UnitADS111x::setGain()']]], + ['setlatchingcomparator_5',['setLatchingComparator',['../classm5_1_1unit_1_1_unit_a_d_s1113.html#ad38ef0634d62d07180850bdd2a161d34',1,'m5::unit::UnitADS1113::setLatchingComparator()'],['../classm5_1_1unit_1_1_unit_a_d_s1114.html#a4df6e51ded57958e22382108a4cf2eeb',1,'m5::unit::UnitADS1114::setLatchingComparator()'],['../classm5_1_1unit_1_1_unit_a_d_s1115.html#a42cb988d70bb3c633372beb4e6d2c18c',1,'m5::unit::UnitADS1115::setLatchingComparator()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a9a42c04e41ad7ca6c96bd1769dcb702d',1,'m5::unit::UnitADS111x::setLatchingComparator()']]], + ['setmultiplexer_6',['setMultiplexer',['../classm5_1_1unit_1_1_unit_a_d_s1113.html#aac6105f6c806533c067122f46a15e5f9',1,'m5::unit::UnitADS1113::setMultiplexer()'],['../classm5_1_1unit_1_1_unit_a_d_s1114.html#a8da444d1b8b3795191e44e41848cd313',1,'m5::unit::UnitADS1114::setMultiplexer()'],['../classm5_1_1unit_1_1_unit_a_d_s1115.html#aba8960bf6373263d58851020d97c9a88',1,'m5::unit::UnitADS1115::setMultiplexer()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a7eac842451d6e75695d177b45d07da88',1,'m5::unit::UnitADS111x::setMultiplexer(const ads111x::Mux mux)=0']]], + ['setsamplingrate_7',['setSamplingRate',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ac575d86ef23896c6861d06a1aeb92aa2',1,'m5::unit::UnitADS111x']]], + ['setthreshould_8',['setThreshould',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a27efe58297ae273fb2751a0b5e30ef9a',1,'m5::unit::UnitADS111x']]], + ['start_5fperiodic_5fmeasurement_9',['start_periodic_measurement',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ab2e7aac3579e60918758335471afd75c',1,'m5::unit::UnitADS111x::start_periodic_measurement()'],['../classm5_1_1unit_1_1_unit_a_d_s111x.html#ab64cc4b3053c9415d4c19e3d450400fd',1,'m5::unit::UnitADS111x::start_periodic_measurement(const ads111x::Sampling rate)']]], + ['stop_5fperiodic_5fmeasurement_10',['stop_periodic_measurement',['../classm5_1_1unit_1_1_unit_a_d_s111x.html#a67d0700881baf2782ea1db10ff14a9f1',1,'m5::unit::UnitADS111x']]] +]; diff --git a/search/functions_a.js b/search/functions_a.js new file mode 100644 index 0000000..7eed86e --- /dev/null +++ b/search/functions_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['voltage_0',['voltage',['../classm5_1_1unit_1_1_unit_vmeter.html#ad468159ed863811c42342455f7a08c3e',1,'m5::unit::UnitVmeter']]] +]; diff --git a/search/mag.svg b/search/mag.svg new file mode 100644 index 0000000..ffb6cf0 --- /dev/null +++ b/search/mag.svg @@ -0,0 +1,24 @@ + + + + + + + diff --git a/search/mag_d.svg b/search/mag_d.svg new file mode 100644 index 0000000..4122773 --- /dev/null +++ b/search/mag_d.svg @@ -0,0 +1,24 @@ + + + + + + + diff --git a/search/mag_sel.svg b/search/mag_sel.svg new file mode 100644 index 0000000..553dba8 --- /dev/null +++ b/search/mag_sel.svg @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/search/mag_seld.svg b/search/mag_seld.svg new file mode 100644 index 0000000..c906f84 --- /dev/null +++ b/search/mag_seld.svg @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/search/namespaces_0.js b/search/namespaces_0.js new file mode 100644 index 0000000..e917c19 --- /dev/null +++ b/search/namespaces_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ads111x_0',['ads111x',['../namespaceads111x.html',1,'']]] +]; diff --git a/search/namespaces_1.js b/search/namespaces_1.js new file mode 100644 index 0000000..ca4fc0a --- /dev/null +++ b/search/namespaces_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['m5_0',['m5',['../namespacem5.html',1,'']]] +]; diff --git a/search/namespaces_2.js b/search/namespaces_2.js new file mode 100644 index 0000000..e1bcfb4 --- /dev/null +++ b/search/namespaces_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unit_0',['unit',['../namespaceunit.html',1,'']]] +]; diff --git a/search/pages_0.js b/search/pages_0.js new file mode 100644 index 0000000..f72a9ed --- /dev/null +++ b/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['m5unitmeter_0',['M5UnitMETER',['../index.html',1,'']]] +]; diff --git a/search/search.css b/search/search.css new file mode 100644 index 0000000..19f76f9 --- /dev/null +++ b/search/search.css @@ -0,0 +1,291 @@ +/*---------------- Search Box positioning */ + +#main-menu > li:last-child { + /* This
  • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search box styling */ + +.SRPage * { + font-weight: normal; + line-height: normal; +} + +dark-mode-toggle { + margin-left: 5px; + display: flex; + float: right; +} + +#MSearchBox { + display: inline-block; + white-space : nowrap; + background: var(--search-background-color); + border-radius: 0.65em; + box-shadow: var(--search-box-shadow); + z-index: 102; +} + +#MSearchBox .left { + display: inline-block; + vertical-align: middle; + height: 1.4em; +} + +#MSearchSelect { + display: inline-block; + vertical-align: middle; + width: 20px; + height: 19px; + background-image: var(--search-magnification-select-image); + margin: 0 0 0 0.3em; + padding: 0; +} + +#MSearchSelectExt { + display: inline-block; + vertical-align: middle; + width: 10px; + height: 19px; + background-image: var(--search-magnification-image); + margin: 0 0 0 0.5em; + padding: 0; +} + + +#MSearchField { + display: inline-block; + vertical-align: middle; + width: 7.5em; + height: 19px; + margin: 0 0.15em; + padding: 0; + line-height: 1em; + border:none; + color: var(--search-foreground-color); + outline: none; + font-family: var(--font-family-search); + -webkit-border-radius: 0px; + border-radius: 0px; + background: none; +} + +@media(hover: none) { + /* to avoid zooming on iOS */ + #MSearchField { + font-size: 16px; + } +} + +#MSearchBox .right { + display: inline-block; + vertical-align: middle; + width: 1.4em; + height: 1.4em; +} + +#MSearchClose { + display: none; + font-size: inherit; + background : none; + border: none; + margin: 0; + padding: 0; + outline: none; + +} + +#MSearchCloseImg { + padding: 0.3em; + margin: 0; +} + +.MSearchBoxActive #MSearchField { + color: var(--search-active-color); +} + + + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid var(--search-filter-border-color); + background-color: var(--search-filter-background-color); + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt var(--font-family-search); + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: var(--font-family-monospace); + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: var(--search-filter-foreground-color); + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: var(--search-filter-foreground-color); + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: var(--search-filter-highlight-text-color); + background-color: var(--search-filter-highlight-bg-color); + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + /*width: 60ex;*/ + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid var(--search-results-border-color); + background-color: var(--search-results-background-color); + z-index:10000; + width: 300px; + height: 400px; + overflow: auto; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +div.SRPage { + margin: 5px 2px; + background-color: var(--search-results-background-color); +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + font-size: 8pt; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; + font-family: var(--font-family-search); +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; + font-family: var(--font-family-search); +} + +.SRResult { + display: none; +} + +div.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: var(--nav-gradient-active-image-parent); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/search/search.js b/search/search.js new file mode 100644 index 0000000..666af01 --- /dev/null +++ b/search/search.js @@ -0,0 +1,694 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +const SEARCH_COOKIE_NAME = ''+'search_grp'; + +const searchResults = new SearchResults(); + +/* A class handling everything associated with the search panel. + + Parameters: + name - The name of the global variable that will be + storing this instance. Is needed to be able to set timeouts. + resultPath - path to use for external files +*/ +function SearchBox(name, resultsPath, extension) { + if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); } + if (!extension || extension == "") { extension = ".html"; } + + function getXPos(item) { + let x = 0; + if (item.offsetWidth) { + while (item && item!=document.body) { + x += item.offsetLeft; + item = item.offsetParent; + } + } + return x; + } + + function getYPos(item) { + let y = 0; + if (item.offsetWidth) { + while (item && item!=document.body) { + y += item.offsetTop; + item = item.offsetParent; + } + } + return y; + } + + // ---------- Instance variables + this.name = name; + this.resultsPath = resultsPath; + this.keyTimeout = 0; + this.keyTimeoutLength = 500; + this.closeSelectionTimeout = 300; + this.lastSearchValue = ""; + this.lastResultsPage = ""; + this.hideTimeout = 0; + this.searchIndex = 0; + this.searchActive = false; + this.extension = extension; + + // ----------- DOM Elements + + this.DOMSearchField = () => document.getElementById("MSearchField"); + this.DOMSearchSelect = () => document.getElementById("MSearchSelect"); + this.DOMSearchSelectWindow = () => document.getElementById("MSearchSelectWindow"); + this.DOMPopupSearchResults = () => document.getElementById("MSearchResults"); + this.DOMPopupSearchResultsWindow = () => document.getElementById("MSearchResultsWindow"); + this.DOMSearchClose = () => document.getElementById("MSearchClose"); + this.DOMSearchBox = () => document.getElementById("MSearchBox"); + + // ------------ Event Handlers + + // Called when focus is added or removed from the search field. + this.OnSearchFieldFocus = function(isActive) { + this.Activate(isActive); + } + + this.OnSearchSelectShow = function() { + const searchSelectWindow = this.DOMSearchSelectWindow(); + const searchField = this.DOMSearchSelect(); + + const left = getXPos(searchField); + const top = getYPos(searchField) + searchField.offsetHeight; + + // show search selection popup + searchSelectWindow.style.display='block'; + searchSelectWindow.style.left = left + 'px'; + searchSelectWindow.style.top = top + 'px'; + + // stop selection hide timer + if (this.hideTimeout) { + clearTimeout(this.hideTimeout); + this.hideTimeout=0; + } + return false; // to avoid "image drag" default event + } + + this.OnSearchSelectHide = function() { + this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this), + this.closeSelectionTimeout); + } + + // Called when the content of the search field is changed. + this.OnSearchFieldChange = function(evt) { + if (this.keyTimeout) { // kill running timer + clearTimeout(this.keyTimeout); + this.keyTimeout = 0; + } + + const e = evt ? evt : window.event; // for IE + if (e.keyCode==40 || e.keyCode==13) { + if (e.shiftKey==1) { + this.OnSearchSelectShow(); + const win=this.DOMSearchSelectWindow(); + for (let i=0;i do a search + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) { + const e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) { // Up + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } else if (e.keyCode==13 || e.keyCode==27) { + e.stopPropagation(); + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() { + this.keyTimeout = 0; + + // strip leading whitespace + const searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + const code = searchValue.toLowerCase().charCodeAt(0); + let idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) { // surrogate pair + idxChar = searchValue.substr(0, 2); + } + + let jsFile; + let idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) { + const hexCode=idx.toString(16); + jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; + } + + const loadJS = function(url, impl, loc) { + const scriptTag = document.createElement('script'); + scriptTag.src = url; + scriptTag.onload = impl; + scriptTag.onreadystatechange = impl; + loc.appendChild(scriptTag); + } + + const domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + const domSearchBox = this.DOMSearchBox(); + const domPopupSearchResults = this.DOMPopupSearchResults(); + const domSearchClose = this.DOMSearchClose(); + const resultsPath = this.resultsPath; + + const handleResults = function() { + document.getElementById("Loading").style.display="none"; + if (typeof searchData !== 'undefined') { + createResults(resultsPath); + document.getElementById("NoMatches").style.display="none"; + } + + if (idx!=-1) { + searchResults.Search(searchValue); + } else { // no file with search results => force empty search results + searchResults.Search('===='); + } + + if (domPopupSearchResultsWindow.style.display!='block') { + domSearchClose.style.display = 'inline-block'; + let left = getXPos(domSearchBox) + 150; + let top = getYPos(domSearchBox) + 20; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + const maxWidth = document.body.clientWidth; + const maxHeight = document.body.clientHeight; + let width = 300; + if (left<10) left=10; + if (width+left+8>maxWidth) width=maxWidth-left-8; + let height = 400; + if (height+top+8>maxHeight) height=maxHeight-top-8; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResultsWindow.style.height = height + 'px'; + } + } + + if (jsFile) { + loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow()); + } else { + handleResults(); + } + + this.lastSearchValue = searchValue; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) { + this.DOMSearchBox().className = 'MSearchBoxActive'; + this.searchActive = true; + } else if (!isActive) { // directly remove the panel + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + this.DOMSearchField().value = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults() { + + function convertToId(search) { + let result = ''; + for (let i=0;i. + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) { + const parentElement = document.getElementById(id); + let element = parentElement.firstChild; + + while (element && element!=parentElement) { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') { + return element; + } + + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) { + element = element.firstChild; + } else if (element.nextSibling) { + element = element.nextSibling; + } else { + do { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) { + const element = this.FindChildElement(id); + if (element) { + if (element.style.display == 'block') { + element.style.display = 'none'; + } else { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) { + if (!search) { // get search word from URL + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + const resultRows = document.getElementsByTagName("div"); + let matches = 0; + + let i = 0; + while (i < resultRows.length) { + const row = resultRows.item(i); + if (row.className == "SRResult") { + let rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) { + row.style.display = 'block'; + matches++; + } else { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) { // no results + document.getElementById("NoMatches").style.display='block'; + } else { // at least one result + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) { + let focusItem; + for (;;) { + const focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') { + break; + } else if (!focusItem) { // last element + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) { + let focusItem; + for (;;) { + const focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') { + break; + } else if (!focusItem) { // last element + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) { + if (e.type == "keydown") { + this.repeatOn = false; + this.lastKey = e.keyCode; + } else if (e.type == "keypress") { + if (!this.repeatOn) { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } else if (e.type == "keyup") { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) { + const e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) { // Up + const newIndex = itemIndex-1; + let focusItem = this.NavPrev(newIndex); + if (focusItem) { + let child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') { // children visible + let n=0; + let tmpElem; + for (;;) { // search for last child + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) { + focusItem = tmpElem; + } else { // found it! + break; + } + n++; + } + } + } + if (focusItem) { + focusItem.focus(); + } else { // return focus to search field + document.getElementById("MSearchField").focus(); + } + } else if (this.lastKey==40) { // Down + const newIndex = itemIndex+1; + let focusItem; + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') { // children visible + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } else if (this.lastKey==39) { // Right + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } else if (this.lastKey==37) { // Left + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } else if (this.lastKey==27) { // Escape + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } else if (this.lastKey==13) { // Enter + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) { + const e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) { // Up + if (childIndex>0) { + const newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } else { // already at first child, jump to parent + document.getElementById('Item'+itemIndex).focus(); + } + } else if (this.lastKey==40) { // Down + const newIndex = childIndex+1; + let elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) { // last child, jump to parent next parent + elem = this.NavNext(itemIndex+1); + } + if (elem) { + elem.focus(); + } + } else if (this.lastKey==27) { // Escape + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } else if (this.lastKey==13) { // Enter + return true; + } + return false; + } +} + +function createResults(resultsPath) { + + function setKeyActions(elem,action) { + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); + } + + function setClassAttr(elem,attr) { + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); + } + + const results = document.getElementById("SRResults"); + results.innerHTML = ''; + searchData.forEach((elem,index) => { + const id = elem[0]; + const srResult = document.createElement('div'); + srResult.setAttribute('id','SR_'+id); + setClassAttr(srResult,'SRResult'); + const srEntry = document.createElement('div'); + setClassAttr(srEntry,'SREntry'); + const srLink = document.createElement('a'); + srLink.setAttribute('id','Item'+index); + setKeyActions(srLink,'return searchResults.Nav(event,'+index+')'); + setClassAttr(srLink,'SRSymbol'); + srLink.innerHTML = elem[1][0]; + srEntry.appendChild(srLink); + if (elem[1].length==2) { // single result + srLink.setAttribute('href',resultsPath+elem[1][1][0]); + srLink.setAttribute('onclick','searchBox.CloseResultsWindow()'); + if (elem[1][1][1]) { + srLink.setAttribute('target','_parent'); + } else { + srLink.setAttribute('target','_blank'); + } + const srScope = document.createElement('span'); + setClassAttr(srScope,'SRScope'); + srScope.innerHTML = elem[1][1][2]; + srEntry.appendChild(srScope); + } else { // multiple results + srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")'); + const srChildren = document.createElement('div'); + setClassAttr(srChildren,'SRChildren'); + for (let c=0; c + + + + + + +M5Unit-METER: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    m5::unit::UnitADS111x::config_t Member List
    +
    + +
    + + + + diff --git a/structm5_1_1unit_1_1_unit_a_d_s111x_1_1config__t.html b/structm5_1_1unit_1_1_unit_a_d_s111x_1_1config__t.html new file mode 100644 index 0000000..a141059 --- /dev/null +++ b/structm5_1_1unit_1_1_unit_a_d_s111x_1_1config__t.html @@ -0,0 +1,147 @@ + + + + + + + +M5Unit-METER: m5::unit::UnitADS111x::config_t Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    m5::unit::UnitADS111x::config_t Struct Reference
    +
    +
    + +

    Settings for begin. + More...

    + +

    #include <unit_ADS111x.hpp>

    +
    +Inheritance diagram for m5::unit::UnitADS111x::config_t:
    +
    +
    + +
    + + + + + + + + + + + + +

    +Public Attributes

    +bool start_periodic {true}
     
    +ads111x::Sampling rate {ads111x::Sampling::Rate128}
     
    +ads111x::Mux mux {ads111x::Mux::AIN_01}
     
    +ads111x::Gain gain {ads111x::Gain::PGA_2048}
     
    +ads111x::ComparatorQueue comp_que {ads111x::ComparatorQueue::Disable}
     
    +

    Detailed Description

    +

    Settings for begin.

    +
    +
    + + + + diff --git a/structm5_1_1unit_1_1_unit_a_d_s111x_1_1config__t.png b/structm5_1_1unit_1_1_unit_a_d_s111x_1_1config__t.png new file mode 100644 index 0000000..6a86ef3 Binary files /dev/null and b/structm5_1_1unit_1_1_unit_a_d_s111x_1_1config__t.png differ diff --git a/structm5_1_1unit_1_1ads111x_1_1_config-members.html b/structm5_1_1unit_1_1ads111x_1_1_config-members.html new file mode 100644 index 0000000..f6c5719 --- /dev/null +++ b/structm5_1_1unit_1_1ads111x_1_1_config-members.html @@ -0,0 +1,133 @@ + + + + + + + +M5Unit-METER: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    m5::unit::ads111x::Config Member List
    +
    +
    + +

    This is the complete list of members for m5::unit::ads111x::Config, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + +
    comp_lat() constm5::unit::ads111x::Configinline
    comp_lat(const bool b) (defined in m5::unit::ads111x::Config)m5::unit::ads111x::Configinline
    comp_mode() constm5::unit::ads111x::Configinline
    comp_mode(const bool b) (defined in m5::unit::ads111x::Config)m5::unit::ads111x::Configinline
    comp_pol() constm5::unit::ads111x::Configinline
    comp_pol(const bool b) (defined in m5::unit::ads111x::Config)m5::unit::ads111x::Configinline
    comp_que() constm5::unit::ads111x::Configinline
    comp_que(const ComparatorQueue c) (defined in m5::unit::ads111x::Config)m5::unit::ads111x::Configinline
    dr() constm5::unit::ads111x::Configinline
    dr(const Sampling r) (defined in m5::unit::ads111x::Config)m5::unit::ads111x::Configinline
    mode() constm5::unit::ads111x::Configinline
    mode(const bool b) (defined in m5::unit::ads111x::Config)m5::unit::ads111x::Configinline
    mux() constm5::unit::ads111x::Configinline
    mux(const Mux m) (defined in m5::unit::ads111x::Config)m5::unit::ads111x::Configinline
    os() constm5::unit::ads111x::Configinline
    os(const bool b) (defined in m5::unit::ads111x::Config)m5::unit::ads111x::Configinline
    pga() constm5::unit::ads111x::Configinline
    pga(const Gain g) (defined in m5::unit::ads111x::Config)m5::unit::ads111x::Configinline
    value (defined in m5::unit::ads111x::Config)m5::unit::ads111x::Config
    +
    + + + + diff --git a/structm5_1_1unit_1_1ads111x_1_1_config.html b/structm5_1_1unit_1_1ads111x_1_1_config.html new file mode 100644 index 0000000..0bb87c2 --- /dev/null +++ b/structm5_1_1unit_1_1ads111x_1_1_config.html @@ -0,0 +1,360 @@ + + + + + + + +M5Unit-METER: m5::unit::ads111x::Config Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    m5::unit::ads111x::Config Struct Reference
    +
    +
    + +

    Accessor for configration. + More...

    + +

    #include <unit_ADS111x.hpp>

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

    +Public Member Functions

    Getter
    +bool os () const
     Operational status.
     
    Mux mux () const
     Input multiplexer.
     
    Gain pga () const
     Programmable gain amplifier.
     
    +bool mode () const
     Device operating mode.
     
    +Sampling dr () const
     Sampling rate.
     
    bool comp_mode () const
     Comparator mode.
     
    bool comp_pol () const
     Comparator polarity.
     
    bool comp_lat () const
     Latching comparator.
     
    ComparatorQueue comp_que () const
     Comparator queue.
     
    Setter
    +void os (const bool b)
     
    +void mux (const Mux m)
     
    +void pga (const Gain g)
     
    +void mode (const bool b)
     
    +void dr (const Sampling r)
     
    +void comp_mode (const bool b)
     
    +void comp_pol (const bool b)
     
    +void comp_lat (const bool b)
     
    +void comp_que (const ComparatorQueue c)
     
    + + + +

    +Public Attributes

    +uint16_t value {}
     
    +

    Detailed Description

    +

    Accessor for configration.

    +

    Member Function Documentation

    + +

    ◆ comp_lat()

    + +
    +
    + + + + + +
    + + + + + + + +
    bool m5::unit::ads111x::Config::comp_lat () const
    +
    +inline
    +
    + +

    Latching comparator.

    +
    Warning
    This feature serve nofunction on the ADS1113
    + +
    +
    + +

    ◆ comp_mode()

    + +
    +
    + + + + + +
    + + + + + + + +
    bool m5::unit::ads111x::Config::comp_mode () const
    +
    +inline
    +
    + +

    Comparator mode.

    +
    Warning
    This feature serve nofunction on the ADS1113
    + +
    +
    + +

    ◆ comp_pol()

    + +
    +
    + + + + + +
    + + + + + + + +
    bool m5::unit::ads111x::Config::comp_pol () const
    +
    +inline
    +
    + +

    Comparator polarity.

    +
    Warning
    This feature serve nofunction on the ADS1113
    + +
    +
    + +

    ◆ comp_que()

    + +
    +
    + + + + + +
    + + + + + + + +
    ComparatorQueue m5::unit::ads111x::Config::comp_que () const
    +
    +inline
    +
    + +

    Comparator queue.

    +
    Warning
    This feature serve nofunction on the ADS1113
    + +
    +
    + +

    ◆ mux()

    + +
    +
    + + + + + +
    + + + + + + + +
    Mux m5::unit::ads111x::Config::mux () const
    +
    +inline
    +
    + +

    Input multiplexer.

    +
    Warning
    This feature serve nofunction on the ADS1113 and ADS1114
    + +
    +
    + +

    ◆ pga()

    + +
    +
    + + + + + +
    + + + + + + + +
    Gain m5::unit::ads111x::Config::pga () const
    +
    +inline
    +
    + +

    Programmable gain amplifier.

    +
    Warning
    This feature serve nofunction on the ADS1113
    + +
    +
    +
    +
    + + + + diff --git a/structm5_1_1unit_1_1ads111x_1_1_config.js b/structm5_1_1unit_1_1ads111x_1_1_config.js new file mode 100644 index 0000000..4271730 --- /dev/null +++ b/structm5_1_1unit_1_1ads111x_1_1_config.js @@ -0,0 +1,12 @@ +var structm5_1_1unit_1_1ads111x_1_1_config = +[ + [ "comp_lat", "structm5_1_1unit_1_1ads111x_1_1_config.html#a7325f2d99612ce9ef3cf3a480a03b3c0", null ], + [ "comp_mode", "structm5_1_1unit_1_1ads111x_1_1_config.html#a8490c792bb5f7fc014a1f850751487b1", null ], + [ "comp_pol", "structm5_1_1unit_1_1ads111x_1_1_config.html#a3d5b6861267bb1652ccfa725cf68f53d", null ], + [ "comp_que", "structm5_1_1unit_1_1ads111x_1_1_config.html#aede79151d71ddececd34bf78b7d0b6be", null ], + [ "dr", "structm5_1_1unit_1_1ads111x_1_1_config.html#a20395bf617c0cb9f635b682f4f5c6d93", null ], + [ "mode", "structm5_1_1unit_1_1ads111x_1_1_config.html#a7eaa48d4129a7768820c11f496a19c4d", null ], + [ "mux", "structm5_1_1unit_1_1ads111x_1_1_config.html#a305ddc3883815230624f5d1e6e77bd56", null ], + [ "os", "structm5_1_1unit_1_1ads111x_1_1_config.html#a1982d797879f68c00e6bdafc972f689a", null ], + [ "pga", "structm5_1_1unit_1_1ads111x_1_1_config.html#a2919071443a42ef2769d288ee7915217", null ] +]; \ No newline at end of file diff --git a/structm5_1_1unit_1_1ads111x_1_1_data-members.html b/structm5_1_1unit_1_1ads111x_1_1_data-members.html new file mode 100644 index 0000000..3790230 --- /dev/null +++ b/structm5_1_1unit_1_1ads111x_1_1_data-members.html @@ -0,0 +1,116 @@ + + + + + + + +M5Unit-METER: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    m5::unit::ads111x::Data Member List
    +
    +
    + +

    This is the complete list of members for m5::unit::ads111x::Data, including all inherited members.

    + + + +
    adc() constm5::unit::ads111x::Datainline
    raw (defined in m5::unit::ads111x::Data)m5::unit::ads111x::Data
    +
    + + + + diff --git a/structm5_1_1unit_1_1ads111x_1_1_data.html b/structm5_1_1unit_1_1ads111x_1_1_data.html new file mode 100644 index 0000000..f23c99f --- /dev/null +++ b/structm5_1_1unit_1_1ads111x_1_1_data.html @@ -0,0 +1,137 @@ + + + + + + + +M5Unit-METER: m5::unit::ads111x::Data Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    m5::unit::ads111x::Data Struct Reference
    +
    +
    + +

    Measurement data group. + More...

    + +

    #include <unit_ADS111x.hpp>

    + + + + + +

    +Public Member Functions

    +int16_t adc () const
     ADC.
     
    + + + +

    +Public Attributes

    +uint16_t raw {}
     
    +

    Detailed Description

    +

    Measurement data group.

    +
    +
    + + + + diff --git a/structm5_1_1unit_1_1ads111x_1_1_data.js b/structm5_1_1unit_1_1ads111x_1_1_data.js new file mode 100644 index 0000000..ded5d35 --- /dev/null +++ b/structm5_1_1unit_1_1ads111x_1_1_data.js @@ -0,0 +1,4 @@ +var structm5_1_1unit_1_1ads111x_1_1_data = +[ + [ "adc", "structm5_1_1unit_1_1ads111x_1_1_data.html#a4e53df7fa0426f10e5ff401a7ad00b21", null ] +]; \ No newline at end of file diff --git a/sync_off.png b/sync_off.png new file mode 100644 index 0000000..3b443fc Binary files /dev/null and b/sync_off.png differ diff --git a/sync_on.png b/sync_on.png new file mode 100644 index 0000000..e08320f Binary files /dev/null and b/sync_on.png differ diff --git a/tab_a.png b/tab_a.png new file mode 100644 index 0000000..3b725c4 Binary files /dev/null and b/tab_a.png differ diff --git a/tab_ad.png b/tab_ad.png new file mode 100644 index 0000000..e34850a Binary files /dev/null and b/tab_ad.png differ diff --git a/tab_b.png b/tab_b.png new file mode 100644 index 0000000..e2b4a86 Binary files /dev/null and b/tab_b.png differ diff --git a/tab_bd.png b/tab_bd.png new file mode 100644 index 0000000..91c2524 Binary files /dev/null and b/tab_bd.png differ diff --git a/tab_h.png b/tab_h.png new file mode 100644 index 0000000..fd5cb70 Binary files /dev/null and b/tab_h.png differ diff --git a/tab_hd.png b/tab_hd.png new file mode 100644 index 0000000..2489273 Binary files /dev/null and b/tab_hd.png differ diff --git a/tab_s.png b/tab_s.png new file mode 100644 index 0000000..ab478c9 Binary files /dev/null and b/tab_s.png differ diff --git a/tab_sd.png b/tab_sd.png new file mode 100644 index 0000000..757a565 Binary files /dev/null and b/tab_sd.png differ diff --git a/tabs.css b/tabs.css new file mode 100644 index 0000000..fe4854a --- /dev/null +++ b/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} \ No newline at end of file diff --git a/unit___a_d_s1113_8cpp.html b/unit___a_d_s1113_8cpp.html new file mode 100644 index 0000000..0d89399 --- /dev/null +++ b/unit___a_d_s1113_8cpp.html @@ -0,0 +1,128 @@ + + + + + + + +M5Unit-METER: src/unit/unit_ADS1113.cpp File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    unit_ADS1113.cpp File Reference
    +
    +
    + +

    ADS1113 Unit for M5UnitUnified. +More...

    +
    #include "unit_ADS1113.hpp"
    +#include <M5Utility.hpp>
    +
    + + + + +

    +Namespaces

    namespace  m5
     Top level namespace of M5stack.
     
    +

    Detailed Description

    +

    ADS1113 Unit for M5UnitUnified.

    +
    +
    + + + + diff --git a/unit___a_d_s1113_8hpp.html b/unit___a_d_s1113_8hpp.html new file mode 100644 index 0000000..b756cea --- /dev/null +++ b/unit___a_d_s1113_8hpp.html @@ -0,0 +1,136 @@ + + + + + + + +M5Unit-METER: src/unit/unit_ADS1113.hpp File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    unit_ADS1113.hpp File Reference
    +
    +
    + +

    ADS1113 Unit for M5UnitUnified. +More...

    +
    #include "unit_ADS111x.hpp"
    +
    +

    Go to the source code of this file.

    + + + + + +

    +Classes

    class  m5::unit::UnitADS1113
     ADS1113 unit. More...
     
    + + + + +

    +Namespaces

    namespace  m5
     Top level namespace of M5stack.
     
    +

    Detailed Description

    +

    ADS1113 Unit for M5UnitUnified.

    +
    +
    + + + + diff --git a/unit___a_d_s1113_8hpp.js b/unit___a_d_s1113_8hpp.js new file mode 100644 index 0000000..02ffb76 --- /dev/null +++ b/unit___a_d_s1113_8hpp.js @@ -0,0 +1,4 @@ +var unit___a_d_s1113_8hpp = +[ + [ "m5::unit::UnitADS1113", "classm5_1_1unit_1_1_unit_a_d_s1113.html", "classm5_1_1unit_1_1_unit_a_d_s1113" ] +]; \ No newline at end of file diff --git a/unit___a_d_s1113_8hpp_source.html b/unit___a_d_s1113_8hpp_source.html new file mode 100644 index 0000000..580b2bf --- /dev/null +++ b/unit___a_d_s1113_8hpp_source.html @@ -0,0 +1,188 @@ + + + + + + + +M5Unit-METER: src/unit/unit_ADS1113.hpp Source File + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    unit_ADS1113.hpp
    +
    +
    +Go to the documentation of this file.
    1/*
    +
    2 * SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD
    +
    3 *
    +
    4 * SPDX-License-Identifier: MIT
    +
    5 */
    +
    10#ifndef M5_UNIT_METER_UNIT_ADS1113_HPP
    +
    11#define M5_UNIT_METER_UNIT_ADS1113_HPP
    +
    12
    +
    13#include "unit_ADS111x.hpp"
    +
    14
    +
    15namespace m5 {
    +
    16namespace unit {
    +
    17
    +
    +
    22class UnitADS1113 : public UnitADS111x {
    +
    23 M5_UNIT_COMPONENT_HPP_BUILDER(UnitADS1113, 0xFF);
    +
    24
    +
    25 public:
    +
    26 explicit UnitADS1113(const uint8_t addr = DEFAULT_ADDRESS) : UnitADS111x(addr) {
    +
    27 }
    +
    28 virtual ~UnitADS1113() {
    +
    29 }
    +
    30
    +
    33
    +
    +
    34 virtual bool setMultiplexer(const ads111x::Mux) override {
    +
    35 return false;
    +
    36 }
    +
    +
    +
    38 virtual bool setGain(const ads111x::Gain) override {
    +
    39 return false;
    +
    40 }
    +
    +
    +
    42 virtual bool setComparatorMode(const bool) override {
    +
    43 return false;
    +
    44 }
    +
    +
    +
    46 virtual bool setComparatorPolarity(const bool) override {
    +
    47 return false;
    +
    48 }
    +
    +
    +
    50 virtual bool setLatchingComparator(const bool) override {
    +
    51 return false;
    +
    52 }
    +
    +
    +
    54 virtual bool setComparatorQueue(const ads111x::ComparatorQueue) override {
    +
    55 return false;
    +
    56 }
    +
    +
    58
    +
    59 protected:
    +
    60 virtual bool on_begin() override;
    +
    61};
    +
    +
    62} // namespace unit
    +
    63} // namespace m5
    +
    64#endif
    +
    ADS1113 unit.
    Definition unit_ADS1113.hpp:22
    +
    virtual bool setComparatorPolarity(const bool) override
    Not support.
    Definition unit_ADS1113.hpp:46
    +
    virtual bool setComparatorQueue(const ads111x::ComparatorQueue) override
    Not support.
    Definition unit_ADS1113.hpp:54
    +
    virtual bool setGain(const ads111x::Gain) override
    Not support.
    Definition unit_ADS1113.hpp:38
    +
    virtual bool setComparatorMode(const bool) override
    Not support.
    Definition unit_ADS1113.hpp:42
    +
    virtual bool setMultiplexer(const ads111x::Mux) override
    Not support.
    Definition unit_ADS1113.hpp:34
    +
    virtual bool setLatchingComparator(const bool) override
    Not support.
    Definition unit_ADS1113.hpp:50
    +
    Base class for ADS111x series.
    Definition unit_ADS111x.hpp:201
    +
    Top level namespace of M5stack.
    +
    Unit-related namespace.
    +
    Base class for ADS111x families.
    +
    Mux
    Input multiplexer.
    Definition unit_ADS111x.hpp:31
    +
    ComparatorQueue
    the value determines the number of successive conversions exceeding the upper orlower threshold requi...
    Definition unit_ADS111x.hpp:78
    +
    Gain
    Programmable gain amplifier.
    Definition unit_ADS111x.hpp:47
    +
    +
    + + + + diff --git a/unit___a_d_s1114_8cpp.html b/unit___a_d_s1114_8cpp.html new file mode 100644 index 0000000..bb8ea9a --- /dev/null +++ b/unit___a_d_s1114_8cpp.html @@ -0,0 +1,128 @@ + + + + + + + +M5Unit-METER: src/unit/unit_ADS1114.cpp File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    unit_ADS1114.cpp File Reference
    +
    +
    + +

    ADS1114 Unit for M5UnitUnified. +More...

    +
    #include "unit_ADS1114.hpp"
    +#include <M5Utility.hpp>
    +
    + + + + +

    +Namespaces

    namespace  m5
     Top level namespace of M5stack.
     
    +

    Detailed Description

    +

    ADS1114 Unit for M5UnitUnified.

    +
    +
    + + + + diff --git a/unit___a_d_s1114_8hpp.html b/unit___a_d_s1114_8hpp.html new file mode 100644 index 0000000..e49511d --- /dev/null +++ b/unit___a_d_s1114_8hpp.html @@ -0,0 +1,136 @@ + + + + + + + +M5Unit-METER: src/unit/unit_ADS1114.hpp File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    unit_ADS1114.hpp File Reference
    +
    +
    + +

    ADS1114 Unit for M5UnitUnified. +More...

    +
    #include "unit_ADS111x.hpp"
    +
    +

    Go to the source code of this file.

    + + + + + +

    +Classes

    class  m5::unit::UnitADS1114
     ADS1114 unit. More...
     
    + + + + +

    +Namespaces

    namespace  m5
     Top level namespace of M5stack.
     
    +

    Detailed Description

    +

    ADS1114 Unit for M5UnitUnified.

    +
    +
    + + + + diff --git a/unit___a_d_s1114_8hpp.js b/unit___a_d_s1114_8hpp.js new file mode 100644 index 0000000..f26f437 --- /dev/null +++ b/unit___a_d_s1114_8hpp.js @@ -0,0 +1,4 @@ +var unit___a_d_s1114_8hpp = +[ + [ "m5::unit::UnitADS1114", "classm5_1_1unit_1_1_unit_a_d_s1114.html", "classm5_1_1unit_1_1_unit_a_d_s1114" ] +]; \ No newline at end of file diff --git a/unit___a_d_s1114_8hpp_source.html b/unit___a_d_s1114_8hpp_source.html new file mode 100644 index 0000000..62bc1cf --- /dev/null +++ b/unit___a_d_s1114_8hpp_source.html @@ -0,0 +1,188 @@ + + + + + + + +M5Unit-METER: src/unit/unit_ADS1114.hpp Source File + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    unit_ADS1114.hpp
    +
    +
    +Go to the documentation of this file.
    1/*
    +
    2 * SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD
    +
    3 *
    +
    4 * SPDX-License-Identifier: MIT
    +
    5 */
    +
    10#ifndef M5_UNIT_METER_UNIT_ADS1114_HPP
    +
    11#define M5_UNIT_METER_UNIT_ADS1114_HPP
    +
    12
    +
    13#include "unit_ADS111x.hpp"
    +
    14
    +
    15namespace m5 {
    +
    16namespace unit {
    +
    +
    21class UnitADS1114 : public UnitADS111x {
    +
    22 M5_UNIT_COMPONENT_HPP_BUILDER(UnitADS1114, 0xFF);
    +
    23
    +
    24 public:
    +
    25 explicit UnitADS1114(const uint8_t addr = DEFAULT_ADDRESS) : UnitADS111x(addr) {
    +
    26 }
    +
    27 virtual ~UnitADS1114() {
    +
    28 }
    +
    29
    +
    32
    +
    +
    33 virtual bool setMultiplexer(const ads111x::Mux) override {
    +
    34 return false;
    +
    35 }
    +
    +
    +
    37 virtual bool setGain(const ads111x::Gain gain) override {
    +
    38 return set_gain(gain);
    +
    39 }
    +
    +
    +
    41 virtual bool setComparatorMode(const bool b) override {
    +
    42 return set_comparator_mode(b);
    +
    43 }
    +
    +
    +
    45 virtual bool setComparatorPolarity(const bool b) override {
    +
    46 return set_comparator_polarity(b);
    +
    47 }
    +
    +
    +
    49 virtual bool setLatchingComparator(const bool b) override {
    +
    50 return set_latching_comparator(b);
    +
    51 }
    +
    +
    +
    53 virtual bool setComparatorQueue(const ads111x::ComparatorQueue c) override {
    +
    54 return set_comparator_queue(c);
    +
    55 }
    +
    +
    57
    +
    58 protected:
    +
    59 virtual bool on_begin() override;
    +
    60};
    +
    +
    61} // namespace unit
    +
    62} // namespace m5
    +
    63#endif
    +
    ADS1114 unit.
    Definition unit_ADS1114.hpp:21
    +
    virtual bool setComparatorQueue(const ads111x::ComparatorQueue c) override
    Set the comparator queue.
    Definition unit_ADS1114.hpp:53
    +
    virtual bool setGain(const ads111x::Gain gain) override
    Set the programmable gain amplifier.
    Definition unit_ADS1114.hpp:37
    +
    virtual bool setLatchingComparator(const bool b) override
    Set the latching comparator.
    Definition unit_ADS1114.hpp:49
    +
    virtual bool setComparatorMode(const bool b) override
    Set the comparator mode.
    Definition unit_ADS1114.hpp:41
    +
    virtual bool setMultiplexer(const ads111x::Mux) override
    Not support.
    Definition unit_ADS1114.hpp:33
    +
    virtual bool setComparatorPolarity(const bool b) override
    Set the comparator polarity.
    Definition unit_ADS1114.hpp:45
    +
    Base class for ADS111x series.
    Definition unit_ADS111x.hpp:201
    +
    ads111x::Gain gain() const
    Gets the programmable gain amplifier.
    Definition unit_ADS111x.cpp:106
    +
    Top level namespace of M5stack.
    +
    Unit-related namespace.
    +
    Base class for ADS111x families.
    +
    Mux
    Input multiplexer.
    Definition unit_ADS111x.hpp:31
    +
    ComparatorQueue
    the value determines the number of successive conversions exceeding the upper orlower threshold requi...
    Definition unit_ADS111x.hpp:78
    +
    Gain
    Programmable gain amplifier.
    Definition unit_ADS111x.hpp:47
    +
    +
    + + + + diff --git a/unit___a_d_s1115_8cpp.html b/unit___a_d_s1115_8cpp.html new file mode 100644 index 0000000..d746daf --- /dev/null +++ b/unit___a_d_s1115_8cpp.html @@ -0,0 +1,128 @@ + + + + + + + +M5Unit-METER: src/unit/unit_ADS1115.cpp File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    unit_ADS1115.cpp File Reference
    +
    +
    + +

    ADS1115 Unit for M5UnitUnified. +More...

    +
    #include "unit_ADS1115.hpp"
    +#include <M5Utility.hpp>
    +
    + + + + +

    +Namespaces

    namespace  m5
     Top level namespace of M5stack.
     
    +

    Detailed Description

    +

    ADS1115 Unit for M5UnitUnified.

    +
    +
    + + + + diff --git a/unit___a_d_s1115_8hpp.html b/unit___a_d_s1115_8hpp.html new file mode 100644 index 0000000..0f4b688 --- /dev/null +++ b/unit___a_d_s1115_8hpp.html @@ -0,0 +1,139 @@ + + + + + + + +M5Unit-METER: src/unit/unit_ADS1115.hpp File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    unit_ADS1115.hpp File Reference
    +
    +
    + +

    ADS1115 Unit for M5UnitUnified. +More...

    +
    #include "unit_ADS111x.hpp"
    +
    +

    Go to the source code of this file.

    + + + + + + + + +

    +Classes

    class  m5::unit::UnitADS1115
     ADS1115 unit. More...
     
    class  m5::unit::UnitADS1115WithEEPROM
     EEPROM holds calibration data. More...
     
    + + + + +

    +Namespaces

    namespace  m5
     Top level namespace of M5stack.
     
    +

    Detailed Description

    +

    ADS1115 Unit for M5UnitUnified.

    +
    +
    + + + + diff --git a/unit___a_d_s1115_8hpp.js b/unit___a_d_s1115_8hpp.js new file mode 100644 index 0000000..bf24d3c --- /dev/null +++ b/unit___a_d_s1115_8hpp.js @@ -0,0 +1,5 @@ +var unit___a_d_s1115_8hpp = +[ + [ "m5::unit::UnitADS1115", "classm5_1_1unit_1_1_unit_a_d_s1115.html", "classm5_1_1unit_1_1_unit_a_d_s1115" ], + [ "m5::unit::UnitADS1115WithEEPROM", "classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m.html", "classm5_1_1unit_1_1_unit_a_d_s1115_with_e_e_p_r_o_m" ] +]; \ No newline at end of file diff --git a/unit___a_d_s1115_8hpp_source.html b/unit___a_d_s1115_8hpp_source.html new file mode 100644 index 0000000..38a00e2 --- /dev/null +++ b/unit___a_d_s1115_8hpp_source.html @@ -0,0 +1,235 @@ + + + + + + + +M5Unit-METER: src/unit/unit_ADS1115.hpp Source File + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    unit_ADS1115.hpp
    +
    +
    +Go to the documentation of this file.
    1/*
    +
    2 * SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD
    +
    3 *
    +
    4 * SPDX-License-Identifier: MIT
    +
    5 */
    +
    10#ifndef M5_UNIT_METER_UNIT_ADS1115_HPP
    +
    11#define M5_UNIT_METER_UNIT_ADS1115_HPP
    +
    12
    +
    13#include "unit_ADS111x.hpp"
    +
    14
    +
    15namespace m5 {
    +
    16namespace unit {
    +
    17
    +
    +
    22class UnitADS1115 : public UnitADS111x {
    +
    23 M5_UNIT_COMPONENT_HPP_BUILDER(UnitADS1115, 0x00);
    +
    24
    +
    25 public:
    +
    26 explicit UnitADS1115(const uint8_t addr = DEFAULT_ADDRESS) : UnitADS111x(addr) {
    +
    27 }
    +
    28 virtual ~UnitADS1115() {
    +
    29 }
    +
    30
    +
    33
    +
    +
    34 virtual bool setMultiplexer(const ads111x::Mux mux) override {
    +
    35 return set_multiplexer(mux);
    +
    36 }
    +
    +
    +
    38 virtual bool setGain(const ads111x::Gain gain) override {
    +
    39 return set_gain(gain);
    +
    40 }
    +
    +
    +
    42 virtual bool setComparatorMode(const bool b) override {
    +
    43 return set_comparator_mode(b);
    +
    44 }
    +
    +
    +
    46 virtual bool setComparatorPolarity(const bool b) override {
    +
    47 return set_comparator_polarity(b);
    +
    48 }
    +
    +
    +
    50 virtual bool setLatchingComparator(const bool b) override {
    +
    51 return set_latching_comparator(b);
    +
    52 }
    +
    +
    +
    54 virtual bool setComparatorQueue(const ads111x::ComparatorQueue c) override {
    +
    55 return set_comparator_queue(c);
    +
    56 }
    +
    +
    58
    +
    59 protected:
    +
    60 virtual bool on_begin() override;
    +
    61};
    +
    +
    62
    +
    + +
    71 M5_UNIT_COMPONENT_HPP_BUILDER(UnitADS1115WithEEPROM, 0xFF);
    +
    72
    +
    73 public:
    +
    74 constexpr static uint8_t DEFAULT_EEPROM_ADDRESS{0xFF};
    +
    75
    +
    76 explicit UnitADS1115WithEEPROM(const uint8_t addr = DEFAULT_ADDRESS,
    +
    77 const uint8_t epromAddr = DEFAULT_EEPROM_ADDRESS)
    +
    78 : UnitADS1115(addr), _eepromAddr(epromAddr) {
    +
    79 }
    +
    80 virtual ~UnitADS1115WithEEPROM() {
    +
    81 }
    +
    82
    +
    83 virtual bool assign(m5::hal::bus::Bus* bus) override;
    +
    84 virtual bool assign(TwoWire& wire) override;
    +
    85
    +
    86 virtual bool setGain(const ads111x::Gain gain) override;
    +
    87
    +
    +
    89 float calibrationFactor() const {
    +
    90 return _calibrationFactor;
    +
    91 }
    +
    +
    92
    +
    93 protected:
    +
    94 virtual bool on_begin() override;
    +
    95 bool read_calibration(const ads111x::Gain gain, int16_t& hope, int16_t& actual);
    +
    96 void apply_calibration(const ads111x::Gain gain);
    +
    97
    +
    98 protected:
    +
    99 uint8_t _eepromAddr{};
    +
    100 std::unique_ptr<m5::unit::Adapter> _adapterEEPROM{};
    +
    102 struct Calibration {
    +
    103 int16_t hope{1};
    +
    104 int16_t actual{1};
    +
    105 };
    +
    107 Calibration _calibration[8 /*Gain*/]{};
    +
    108 float _calibrationFactor{1.0f};
    +
    109};
    +
    +
    110
    +
    111} // namespace unit
    +
    112} // namespace m5
    +
    113#endif
    +
    ADS1115 unit.
    Definition unit_ADS1115.hpp:22
    +
    virtual bool setComparatorQueue(const ads111x::ComparatorQueue c) override
    Set the comparator queue.
    Definition unit_ADS1115.hpp:54
    +
    virtual bool setLatchingComparator(const bool b) override
    Set the latching comparator.
    Definition unit_ADS1115.hpp:50
    +
    virtual bool setComparatorMode(const bool b) override
    Set the comparator mode.
    Definition unit_ADS1115.hpp:42
    +
    virtual bool setComparatorPolarity(const bool b) override
    Set the comparator polarity.
    Definition unit_ADS1115.hpp:46
    +
    virtual bool setMultiplexer(const ads111x::Mux mux) override
    Set the input multiplexer.
    Definition unit_ADS1115.hpp:34
    +
    virtual bool setGain(const ads111x::Gain gain) override
    Set the programmable gain amplifier.
    Definition unit_ADS1115.hpp:38
    +
    EEPROM holds calibration data.
    Definition unit_ADS1115.hpp:70
    +
    virtual bool setGain(const ads111x::Gain gain) override
    Set the programmable gain amplifier.
    Definition unit_ADS1115.cpp:91
    +
    float calibrationFactor() const
    calibration factor
    Definition unit_ADS1115.hpp:89
    +
    Base class for ADS111x series.
    Definition unit_ADS111x.hpp:201
    +
    ads111x::Gain gain() const
    Gets the programmable gain amplifier.
    Definition unit_ADS111x.cpp:106
    +
    Top level namespace of M5stack.
    +
    Unit-related namespace.
    +
    Base class for ADS111x families.
    +
    Mux
    Input multiplexer.
    Definition unit_ADS111x.hpp:31
    +
    ComparatorQueue
    the value determines the number of successive conversions exceeding the upper orlower threshold requi...
    Definition unit_ADS111x.hpp:78
    +
    Gain
    Programmable gain amplifier.
    Definition unit_ADS111x.hpp:47
    +
    +
    + + + + diff --git a/unit___a_d_s111x_8cpp.html b/unit___a_d_s111x_8cpp.html new file mode 100644 index 0000000..8241dcd --- /dev/null +++ b/unit___a_d_s111x_8cpp.html @@ -0,0 +1,128 @@ + + + + + + + +M5Unit-METER: src/unit/unit_ADS111x.cpp File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    unit_ADS111x.cpp File Reference
    +
    +
    + +

    Base class for ADS111x families. +More...

    +
    #include "unit_ADS111x.hpp"
    +#include <M5Utility.hpp>
    +
    + + + + +

    +Namespaces

    namespace  m5
     Top level namespace of M5stack.
     
    +

    Detailed Description

    +

    Base class for ADS111x families.

    +
    +
    + + + + diff --git a/unit___a_d_s111x_8hpp.html b/unit___a_d_s111x_8hpp.html new file mode 100644 index 0000000..d838711 --- /dev/null +++ b/unit___a_d_s111x_8hpp.html @@ -0,0 +1,362 @@ + + + + + + + +M5Unit-METER: src/unit/unit_ADS111x.hpp File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    unit_ADS111x.hpp File Reference
    +
    +
    + +

    Base class for ADS111x families. +More...

    +
    #include <M5UnitComponent.hpp>
    +#include <m5_utility/stl/extension.hpp>
    +#include <m5_utility/container/circular_buffer.hpp>
    +#include <limits>
    +
    +

    Go to the source code of this file.

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

    +Classes

    struct  m5::unit::ads111x::Config
     Accessor for configration. More...
     
    struct  m5::unit::ads111x::Data
     Measurement data group. More...
     
    class  m5::unit::UnitADS111x
     Base class for ADS111x series. More...
     
    struct  m5::unit::UnitADS111x::config_t
     Settings for begin. More...
     
    + + + + + + + +

    +Namespaces

    namespace  m5
     Top level namespace of M5stack.
     
    namespace  ads111x
     For ADS111x families.
     
    + + + + + + + + + + + + + +

    +Enumerations

    enum class  m5::unit::ads111x::Mux : uint8_t {
    +  AIN_01 +, AIN_03 +, AIN_13 +, AIN_23 +,
    +  GND_0 +, GND_1 +, GND_2 +, GND_3 +
    + }
     Input multiplexer. More...
     
    enum class  m5::unit::ads111x::Gain : uint8_t {
    +  PGA_6144 +, PGA_4096 +, PGA_2048 +, PGA_1024 +,
    +  PGA_512 +, PGA_256 +
    + }
     Programmable gain amplifier. More...
     
    enum class  m5::unit::ads111x::Sampling : uint8_t {
    +  Rate8 +, Rate16 +, Rate32 +, Rate64 +,
    +  Rate128 +, Rate250 +, Rate475 +, Rate860 +
    + }
     Data rate setting (samples per second) More...
     
    enum class  m5::unit::ads111x::ComparatorQueue : uint8_t { One +, Two +, Four +, Disable + }
     the value determines the number of successive conversions exceeding the upper orlower threshold required More...
     
    +

    Detailed Description

    +

    Base class for ADS111x families.

    +

    Enumeration Type Documentation

    + +

    ◆ ComparatorQueue

    + +
    +
    + + + + + +
    + + + + +
    enum class m5::unit::ads111x::ComparatorQueue : uint8_t
    +
    +strong
    +
    + +

    the value determines the number of successive conversions exceeding the upper orlower threshold required

    +
    Warning
    This feature serve nofunction on the ADS1113
    + + + + + +
    Enumerator
    One 

    Assert after one conversion.

    +
    Two 

    Assert after two conversion.

    +
    Four 

    Assert after four conversion.

    +
    Disable 

    Disable comparator and set ALERT/RDY pin to high-impedance as default

    +
    + +
    +
    + +

    ◆ Gain

    + +
    +
    + + + + + +
    + + + + +
    enum class m5::unit::ads111x::Gain : uint8_t
    +
    +strong
    +
    + +

    Programmable gain amplifier.

    +
    Warning
    This feature serve nofunction on the ADS1113
    + + + + + + + +
    Enumerator
    PGA_6144 

    +/- 6.144 V

    +
    PGA_4096 

    +/- 4.096 V

    +
    PGA_2048 

    +/- 2.048 V as default

    +
    PGA_1024 

    +/- 1.024 V

    +
    PGA_512 

    +/- 0.512 V

    +
    PGA_256 

    +/- 0.256 V

    +
    + +
    +
    + +

    ◆ Mux

    + +
    +
    + + + + + +
    + + + + +
    enum class m5::unit::ads111x::Mux : uint8_t
    +
    +strong
    +
    + +

    Input multiplexer.

    +
    Warning
    This feature serve nofunction on the ADS1113 and ADS1114
    + + + + + + + + + +
    Enumerator
    AIN_01 

    Positive:AIN0 Negative:AIN1 as default.

    +
    AIN_03 

    Positive:AIN0 Negative:AIN3.

    +
    AIN_13 

    Positive:AIN1 Negative:AIN3.

    +
    AIN_23 

    Positive:AIN2 Negative:AIN3.

    +
    GND_0 

    Positive:AIN0 Negative:GND.

    +
    GND_1 

    Positive:AIN1 Negative:GND.

    +
    GND_2 

    Positive:AIN2 Negative:GND.

    +
    GND_3 

    Positive:AIN3 Negative:GND.

    +
    + +
    +
    + +

    ◆ Sampling

    + +
    +
    + + + + + +
    + + + + +
    enum class m5::unit::ads111x::Sampling : uint8_t
    +
    +strong
    +
    + +

    Data rate setting (samples per second)

    + + + + + + + + + +
    Enumerator
    Rate8 

    8 sps

    +
    Rate16 

    16 sps

    +
    Rate32 

    32 sps

    +
    Rate64 

    64 sps

    +
    Rate128 

    128 sps as default

    +
    Rate250 

    250 sps

    +
    Rate475 

    475 sps

    +
    Rate860 

    860 sps

    +
    + +
    +
    +
    +
    + + + + diff --git a/unit___a_d_s111x_8hpp.js b/unit___a_d_s111x_8hpp.js new file mode 100644 index 0000000..c0b261a --- /dev/null +++ b/unit___a_d_s111x_8hpp.js @@ -0,0 +1,41 @@ +var unit___a_d_s111x_8hpp = +[ + [ "m5::unit::ads111x::Config", "structm5_1_1unit_1_1ads111x_1_1_config.html", "structm5_1_1unit_1_1ads111x_1_1_config" ], + [ "m5::unit::ads111x::Data", "structm5_1_1unit_1_1ads111x_1_1_data.html", "structm5_1_1unit_1_1ads111x_1_1_data" ], + [ "m5::unit::UnitADS111x", "classm5_1_1unit_1_1_unit_a_d_s111x.html", "classm5_1_1unit_1_1_unit_a_d_s111x" ], + [ "m5::unit::UnitADS111x::config_t", "structm5_1_1unit_1_1_unit_a_d_s111x_1_1config__t.html", null ], + [ "ComparatorQueue", "unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986", [ + [ "One", "unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986a06c2cea18679d64399783748fa367bdd", null ], + [ "Two", "unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986aaada29daee1d64ed0fe907043855cb7e", null ], + [ "Four", "unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986a981b8fcee42e1e726a67a2b9a98ea6e9", null ], + [ "Disable", "unit___a_d_s111x_8hpp.html#aa7b7de5d60e1a10ad0763e15a2e27986abcfaccebf745acfd5e75351095a5394a", null ] + ] ], + [ "Gain", "unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0", [ + [ "PGA_6144", "unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0afb859fc4d4a2e873b8ad63c882122ba9", null ], + [ "PGA_4096", "unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0ae19561d0972272b4f88e1d1af299d832", null ], + [ "PGA_2048", "unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0a56a2b199d749021e89c90b9bfd7318ab", null ], + [ "PGA_1024", "unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0a06bdac86af858bc28c031b36908b2222", null ], + [ "PGA_512", "unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0a2bd7a9eb60bb047859c6223555d5a8a5", null ], + [ "PGA_256", "unit___a_d_s111x_8hpp.html#ac482a60d7c757148d4a5016b4024f5e0a77feaba03323734f6ab5f5516522be2c", null ] + ] ], + [ "Mux", "unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4", [ + [ "AIN_01", "unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a43f1632cda470e512a07c123f0cebb34", null ], + [ "AIN_03", "unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4ab3d48f1b5cad9bb356588fc2cc38a62a", null ], + [ "AIN_13", "unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a50bdf49d48da3481c2147d3080da839e", null ], + [ "AIN_23", "unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a47d5b209eed41321ed6d450b4ecb91e0", null ], + [ "GND_0", "unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a7d5b55bc9af5a22c35e70db13979bbd6", null ], + [ "GND_1", "unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a6ac78d21152af2b2e9fdf90f048c367b", null ], + [ "GND_2", "unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4a13977d57ee11f7cef9364936f96993c8", null ], + [ "GND_3", "unit___a_d_s111x_8hpp.html#a9376bdb1e48395373ab8292cd63a35c4ab88a6044a7049517d73e6fba4fd242c3", null ] + ] ], + [ "Sampling", "unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335bec", [ + [ "Rate8", "unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335becaa4f7b0d4b133b3f715eafa43e578c081", null ], + [ "Rate16", "unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca49d0dc5c1ed02f6a6405979358cd0d53", null ], + [ "Rate32", "unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335becabafd99cfe430ee7043beca196a54c130", null ], + [ "Rate64", "unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca85efab6149ba1f8c3f35410a511d78d4", null ], + [ "Rate128", "unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335becae1aebf9377ad50c0628ba7060c31004c", null ], + [ "Rate250", "unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca2cc2976c069203d72c1e58003c7f86f8", null ], + [ "Rate475", "unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca37690912128913a2c1fcd0905077fd6f", null ], + [ "Rate860", "unit___a_d_s111x_8hpp.html#a80091ab36ea2000ca4e9e0f9ef335beca3acac1f071c8f1abf2dd747f0ece4239", null ] + ] ] +]; \ No newline at end of file diff --git a/unit___a_d_s111x_8hpp_source.html b/unit___a_d_s111x_8hpp_source.html new file mode 100644 index 0000000..44d9ada --- /dev/null +++ b/unit___a_d_s111x_8hpp_source.html @@ -0,0 +1,491 @@ + + + + + + + +M5Unit-METER: src/unit/unit_ADS111x.hpp Source File + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    unit_ADS111x.hpp
    +
    +
    +Go to the documentation of this file.
    1/*
    +
    2 * SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD
    +
    3 *
    +
    4 * SPDX-License-Identifier: MIT
    +
    5 */
    +
    10#ifndef M5_UNIT_METER_UNIT_ADS111X_HPP
    +
    11#define M5_UNIT_METER_UNIT_ADS111X_HPP
    +
    12
    +
    13#include <M5UnitComponent.hpp>
    +
    14#include <m5_utility/stl/extension.hpp>
    +
    15#include <m5_utility/container/circular_buffer.hpp>
    +
    16#include <limits>
    +
    17
    +
    18namespace m5 {
    +
    19namespace unit {
    +
    20
    +
    25namespace ads111x {
    +
    +
    31enum class Mux : uint8_t {
    +
    32 AIN_01,
    +
    33 AIN_03,
    +
    34 AIN_13,
    +
    35 AIN_23,
    +
    36 GND_0,
    +
    37 GND_1,
    +
    38 GND_2,
    +
    39 GND_3,
    +
    40};
    +
    +
    41
    +
    +
    47enum class Gain : uint8_t {
    +
    48 PGA_6144,
    +
    49 PGA_4096,
    +
    50 PGA_2048,
    +
    51 PGA_1024,
    +
    52 PGA_512,
    +
    53 PGA_256,
    +
    54 // [6,7] PGA_256 (duplicate)
    +
    55};
    +
    +
    56
    +
    +
    61enum class Sampling : uint8_t {
    +
    62 Rate8,
    +
    63 Rate16,
    +
    64 Rate32,
    +
    65 Rate64,
    +
    66 Rate128,
    +
    67 Rate250,
    +
    68 Rate475,
    +
    69 Rate860,
    +
    70};
    +
    +
    71
    +
    +
    78enum class ComparatorQueue : uint8_t {
    +
    79 One,
    +
    80 Two,
    +
    81 Four,
    +
    82 Disable,
    +
    84};
    +
    +
    85
    +
    +
    90struct Config {
    +
    93
    +
    +
    94 inline bool os() const {
    +
    95 return value & (1U << 15);
    +
    96 }
    +
    +
    +
    101 inline Mux mux() const {
    +
    102 return static_cast<Mux>((value >> 12) & 0x07);
    +
    103 }
    +
    +
    +
    108 inline Gain pga() const {
    +
    109 return static_cast<Gain>((value >> 9) & 0x07);
    +
    110 }
    +
    +
    +
    112 inline bool mode() const {
    +
    113 return value & (1U << 8);
    +
    114 }
    +
    +
    +
    116 inline Sampling dr() const {
    +
    117 return static_cast<Sampling>((value >> 5) & 0x07);
    +
    118 }
    +
    +
    +
    123 inline bool comp_mode() const {
    +
    124 return value & (1U << 4);
    +
    125 }
    +
    +
    +
    130 inline bool comp_pol() const {
    +
    131 return value & (1U << 3);
    +
    132 }
    +
    +
    +
    137 inline bool comp_lat() const {
    +
    138 return value & (1U << 2);
    +
    139 }
    +
    +
    +
    144 inline ComparatorQueue comp_que() const {
    +
    145 return static_cast<ComparatorQueue>(value & 0x03);
    +
    146 }
    +
    +
    148
    +
    151 inline void os(const bool b) {
    +
    152 value = (value & ~(1U << 15)) | ((b ? 1U : 0) << 15);
    +
    153 }
    +
    154 inline void mux(const Mux m) {
    +
    155 value = (value & ~(0x07 << 12)) | ((m5::stl::to_underlying(m) & 0x07) << 12);
    +
    156 }
    +
    157 inline void pga(const Gain g) {
    +
    158 value = (value & ~(0x07 << 9)) | ((m5::stl::to_underlying(g) & 0x07) << 9);
    +
    159 }
    +
    160 inline void mode(const bool b) {
    +
    161 value = (value & ~(1U << 8)) | ((b ? 1U : 0) << 8);
    +
    162 }
    +
    163 inline void dr(const Sampling r) {
    +
    164 value = (value & ~(0x07 << 5)) | ((m5::stl::to_underlying(r) & 0x07) << 5);
    +
    165 }
    +
    166 inline void comp_mode(const bool b) {
    +
    167 value = (value & ~(1U << 4)) | ((b ? 1U : 0) << 4);
    +
    168 }
    +
    169 inline void comp_pol(const bool b) {
    +
    170 value = (value & ~(1U << 3)) | ((b ? 1U : 0) << 3);
    +
    171 }
    +
    172 inline void comp_lat(const bool b) {
    +
    173 value = (value & ~(1U << 2)) | ((b ? 1U : 0) << 2);
    +
    174 }
    +
    175 inline void comp_que(const ComparatorQueue c) {
    +
    176 value = (value & ~0x03U) | (m5::stl::to_underlying(c) & 0x03);
    +
    177 }
    +
    179
    +
    180 uint16_t value{};
    +
    181};
    +
    +
    182
    +
    +
    187struct Data {
    +
    188 uint16_t raw{};
    +
    +
    190 inline int16_t adc() const {
    +
    191 return static_cast<int16_t>(raw);
    +
    192 }
    +
    +
    193};
    +
    +
    194
    +
    195} // namespace ads111x
    +
    196
    +
    +
    201class UnitADS111x : public Component, public PeriodicMeasurementAdapter<UnitADS111x, ads111x::Data> {
    +
    202 M5_UNIT_COMPONENT_HPP_BUILDER(UnitADS111x, 0x00);
    +
    203
    +
    204 public:
    +
    +
    209 struct config_t : public Component::config_t {
    +
    210 bool start_periodic{true};
    +
    211 ads111x::Sampling rate{ads111x::Sampling::Rate128};
    +
    212 // The following items are not supported by some classes
    +
    213 ads111x::Mux mux{ads111x::Mux::AIN_01};
    +
    214 ads111x::Gain gain{ads111x::Gain::PGA_2048};
    +
    215 ads111x::ComparatorQueue comp_que{ads111x::ComparatorQueue::Disable};
    +
    216 };
    +
    +
    217
    +
    218 explicit UnitADS111x(const uint8_t addr = DEFAULT_ADDRESS)
    +
    219 : Component(addr), _data{new m5::container::CircularBuffer<ads111x::Data>(1)} {
    +
    220 }
    +
    221 virtual ~UnitADS111x() {
    +
    222 }
    +
    223
    +
    224 virtual bool begin() override;
    +
    225 virtual void update(const bool force = false) override;
    +
    226
    +
    229
    +
    +
    230 inline config_t config() {
    +
    231 return _cfg;
    +
    232 }
    +
    +
    +
    234 inline void config(const config_t& cfg) {
    +
    235 _cfg = cfg;
    +
    236 }
    +
    +
    238
    +
    241
    +
    +
    245 inline float coefficient() const {
    +
    246 return _coefficient;
    +
    247 }
    +
    +
    249
    +
    +
    253 inline int16_t adc() const {
    +
    254 return !empty() ? oldest().adc() : std::numeric_limits<int16_t>::min();
    +
    255 }
    +
    +
    257
    +
    261
    +
    +
    262 inline ads111x::Mux multiplexer() const {
    +
    263 return _adsCfg.mux();
    +
    264 }
    +
    +
    266 ads111x::Gain gain() const;
    +
    + +
    269 return _adsCfg.dr();
    +
    270 }
    +
    +
    +
    276 inline bool comparatorMode() const {
    +
    277 return _adsCfg.comp_mode();
    +
    278 }
    +
    +
    +
    284 inline bool comparatorPolarity() const {
    +
    285 return _adsCfg.comp_pol();
    +
    286 }
    +
    +
    +
    292 inline bool latchingComparator() const {
    +
    293 return _adsCfg.comp_lat();
    +
    294 }
    +
    +
    + +
    297 return _adsCfg.comp_que();
    +
    298 }
    +
    +
    299
    +
    301 virtual bool setMultiplexer(const ads111x::Mux mux) = 0;
    +
    308 virtual bool setGain(const ads111x::Gain gain) = 0;
    +
    310 bool setSamplingRate(const ads111x::Sampling rate);
    +
    312 virtual bool setComparatorMode(const bool b) = 0;
    +
    314 virtual bool setComparatorPolarity(const bool b) = 0;
    +
    316 virtual bool setLatchingComparator(const bool b) = 0;
    + +
    320
    +
    323
    +
    333 bool measureSingleshot(ads111x::Data& d, const uint32_t timeoutMillis = 1000);
    +
    335
    +
    338
    +
    344 bool readThreshould(int16_t& high, int16_t& low);
    +
    352 bool setThreshould(const int16_t high, const int16_t low);
    +
    354
    +
    361 bool generalReset();
    +
    362
    +
    363 protected:
    +
    367
    + + + +
    386
    +
    387 virtual bool on_begin() = 0; // Call in begin
    +
    388
    +
    389 bool read_adc_raw(ads111x::Data& d);
    +
    390 bool start_single_measurement();
    +
    391 bool in_conversion();
    +
    392
    +
    393 bool read_config(ads111x::Config& c);
    +
    394 bool write_config(const ads111x::Config& c);
    +
    395 void apply_interval(const ads111x::Sampling rate);
    +
    396 virtual void apply_coefficient(const ads111x::Gain gain);
    +
    397
    +
    398 bool set_multiplexer(const ads111x::Mux mux);
    +
    399 bool set_gain(const ads111x::Gain gain);
    +
    400 bool set_comparator_mode(const bool b);
    +
    401 bool set_comparator_polarity(const bool b);
    +
    402 bool set_latching_comparator(const bool b);
    +
    403 bool set_comparator_queue(const ads111x::ComparatorQueue c);
    +
    404
    +
    405 M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER(UnitADS111x, ads111x::Data);
    +
    406
    +
    407 protected:
    +
    408 std::unique_ptr<m5::container::CircularBuffer<ads111x::Data>> _data{};
    +
    409 float _coefficient{};
    +
    410 ads111x::Config _adsCfg{};
    +
    411
    +
    412 config_t _cfg{};
    +
    413};
    +
    +
    414
    +
    416namespace ads111x {
    +
    417namespace command {
    +
    418
    +
    419constexpr uint8_t CONVERSION_REG{0x00};
    +
    420constexpr uint8_t CONFIG_REG{0x01};
    +
    421constexpr uint8_t LOW_THRESHOLD_REG{0x02};
    +
    422constexpr uint8_t HIGH_THRESHOLD_REG{0x03};
    +
    423
    +
    424} // namespace command
    +
    425} // namespace ads111x
    +
    427
    +
    428} // namespace unit
    +
    429} // namespace m5
    +
    430
    +
    431#endif
    +
    Base class for ADS111x series.
    Definition unit_ADS111x.hpp:201
    +
    bool comparatorMode() const
    Gets the comparator mode.
    Definition unit_ADS111x.hpp:276
    +
    bool latchingComparator() const
    Gets the Latching comparator.
    Definition unit_ADS111x.hpp:292
    +
    virtual bool setGain(const ads111x::Gain gain)=0
    Set the programmable gain amplifier.
    +
    virtual bool setComparatorPolarity(const bool b)=0
    Set the comparator polarity.
    +
    ads111x::ComparatorQueue comparatorQueue() const
    Gets the comparator queue.
    Definition unit_ADS111x.hpp:296
    +
    bool comparatorPolarity() const
    Gets the comparator polarity.
    Definition unit_ADS111x.hpp:284
    +
    bool readThreshould(int16_t &high, int16_t &low)
    Reads the threshould values.
    Definition unit_ADS111x.cpp:225
    +
    bool setThreshould(const int16_t high, const int16_t low)
    Set the threshould values.
    Definition unit_ADS111x.cpp:235
    +
    ads111x::Sampling samplingRate() const
    Gets the sampling rate.
    Definition unit_ADS111x.hpp:268
    +
    bool stop_periodic_measurement()
    Stop periodic measurement.
    Definition unit_ADS111x.cpp:142
    +
    float coefficient() const
    Definition unit_ADS111x.hpp:245
    +
    virtual bool setMultiplexer(const ads111x::Mux mux)=0
    Set the input multiplexer.
    +
    virtual bool setComparatorQueue(const ads111x::ComparatorQueue c)=0
    Set the comparator queue.
    +
    config_t config()
    Gets the configration.
    Definition unit_ADS111x.hpp:230
    +
    bool measureSingleshot(ads111x::Data &d, const uint32_t timeoutMillis=1000)
    Measurement single shot.
    Definition unit_ADS111x.cpp:154
    +
    virtual bool setLatchingComparator(const bool b)=0
    Set the latching comparator.
    +
    bool start_periodic_measurement()
    Start periodic measurement.
    Definition unit_ADS111x.cpp:122
    +
    ads111x::Mux multiplexer() const
    Gets the input multiplexer.
    Definition unit_ADS111x.hpp:262
    +
    void config(const config_t &cfg)
    Set the configration.
    Definition unit_ADS111x.hpp:234
    +
    bool setSamplingRate(const ads111x::Sampling rate)
    Set the data rate
    Definition unit_ADS111x.cpp:110
    +
    int16_t adc() const
    Oldest measured ADC.
    Definition unit_ADS111x.hpp:253
    +
    virtual bool setComparatorMode(const bool b)=0
    Set the comparator mode.
    +
    bool generalReset()
    General reset.
    Definition unit_ADS111x.cpp:202
    +
    ads111x::Gain gain() const
    Gets the programmable gain amplifier.
    Definition unit_ADS111x.cpp:106
    +
    For ADS111x families.
    +
    Top level namespace of M5stack.
    +
    Unit-related namespace.
    +
    Settings for begin.
    Definition unit_ADS111x.hpp:209
    +
    Accessor for configration.
    Definition unit_ADS111x.hpp:90
    +
    bool os() const
    Operational status.
    Definition unit_ADS111x.hpp:94
    +
    Sampling dr() const
    Sampling rate.
    Definition unit_ADS111x.hpp:116
    +
    Gain pga() const
    Programmable gain amplifier.
    Definition unit_ADS111x.hpp:108
    +
    Mux mux() const
    Input multiplexer.
    Definition unit_ADS111x.hpp:101
    +
    bool comp_pol() const
    Comparator polarity.
    Definition unit_ADS111x.hpp:130
    +
    bool comp_lat() const
    Latching comparator.
    Definition unit_ADS111x.hpp:137
    +
    bool mode() const
    Device operating mode.
    Definition unit_ADS111x.hpp:112
    +
    bool comp_mode() const
    Comparator mode.
    Definition unit_ADS111x.hpp:123
    +
    ComparatorQueue comp_que() const
    Comparator queue.
    Definition unit_ADS111x.hpp:144
    +
    Measurement data group.
    Definition unit_ADS111x.hpp:187
    +
    int16_t adc() const
    ADC.
    Definition unit_ADS111x.hpp:190
    +
    Sampling
    Data rate setting (samples per second)
    Definition unit_ADS111x.hpp:61
    + + + + + + + +
    @ Rate128
    128 sps as default
    +
    Mux
    Input multiplexer.
    Definition unit_ADS111x.hpp:31
    +
    @ GND_2
    Positive:AIN2 Negative:GND.
    +
    @ AIN_01
    Positive:AIN0 Negative:AIN1 as default.
    +
    @ AIN_23
    Positive:AIN2 Negative:AIN3.
    +
    @ AIN_13
    Positive:AIN1 Negative:AIN3.
    +
    @ GND_1
    Positive:AIN1 Negative:GND.
    +
    @ GND_0
    Positive:AIN0 Negative:GND.
    +
    @ AIN_03
    Positive:AIN0 Negative:AIN3.
    +
    @ GND_3
    Positive:AIN3 Negative:GND.
    +
    ComparatorQueue
    the value determines the number of successive conversions exceeding the upper orlower threshold requi...
    Definition unit_ADS111x.hpp:78
    +
    @ One
    Assert after one conversion.
    +
    @ Four
    Assert after four conversion.
    +
    @ Two
    Assert after two conversion.
    + +
    Gain
    Programmable gain amplifier.
    Definition unit_ADS111x.hpp:47
    + + +
    @ PGA_2048
    +/- 2.048 V as default
    + + + +
    +
    + + + + diff --git a/unit___ameter_8cpp.html b/unit___ameter_8cpp.html new file mode 100644 index 0000000..8eece8c --- /dev/null +++ b/unit___ameter_8cpp.html @@ -0,0 +1,128 @@ + + + + + + + +M5Unit-METER: src/unit/unit_Ameter.cpp File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    unit_Ameter.cpp File Reference
    +
    +
    + +

    Ameter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified. +More...

    +
    #include "unit_Ameter.hpp"
    +#include <M5Utility.hpp>
    +
    + + + + +

    +Namespaces

    namespace  m5
     Top level namespace of M5stack.
     
    +

    Detailed Description

    +

    Ameter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified.

    +
    +
    + + + + diff --git a/unit___ameter_8hpp.html b/unit___ameter_8hpp.html new file mode 100644 index 0000000..acc919e --- /dev/null +++ b/unit___ameter_8hpp.html @@ -0,0 +1,137 @@ + + + + + + + +M5Unit-METER: src/unit/unit_Ameter.hpp File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    unit_Ameter.hpp File Reference
    +
    +
    + +

    Ameter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified. +More...

    +
    #include "unit_ADS1115.hpp"
    +#include <limits>
    +
    +

    Go to the source code of this file.

    + + + + + +

    +Classes

    class  m5::unit::UnitAmeter
     Ameter Unit is a current meter that can monitor the current in real time. More...
     
    + + + + +

    +Namespaces

    namespace  m5
     Top level namespace of M5stack.
     
    +

    Detailed Description

    +

    Ameter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified.

    +
    +
    + + + + diff --git a/unit___ameter_8hpp.js b/unit___ameter_8hpp.js new file mode 100644 index 0000000..8a04af9 --- /dev/null +++ b/unit___ameter_8hpp.js @@ -0,0 +1,4 @@ +var unit___ameter_8hpp = +[ + [ "m5::unit::UnitAmeter", "classm5_1_1unit_1_1_unit_ameter.html", "classm5_1_1unit_1_1_unit_ameter" ] +]; \ No newline at end of file diff --git a/unit___ameter_8hpp_source.html b/unit___ameter_8hpp_source.html new file mode 100644 index 0000000..be855fb --- /dev/null +++ b/unit___ameter_8hpp_source.html @@ -0,0 +1,178 @@ + + + + + + + +M5Unit-METER: src/unit/unit_Ameter.hpp Source File + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    unit_Ameter.hpp
    +
    +
    +Go to the documentation of this file.
    1/*
    +
    2 * SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD
    +
    3 *
    +
    4 * SPDX-License-Identifier: MIT
    +
    5 */
    +
    10#ifndef M5_UNIT_METER_UNIT_A_METER_HPP
    +
    11#define M5_UNIT_METER_UNIT_A_METER_HPP
    +
    12
    +
    13#include "unit_ADS1115.hpp"
    +
    14#include <limits> // NaN
    +
    15
    +
    16namespace m5 {
    +
    17namespace unit {
    +
    18
    +
    + +
    25 M5_UNIT_COMPONENT_HPP_BUILDER(UnitAmeter, 0x48);
    +
    26
    +
    27 public:
    +
    28 constexpr static uint8_t DEFAULT_EEPROM_ADDRESS{0x51};
    +
    29 constexpr static float PRESSURE_COEFFICIENT{0.05f};
    +
    30
    +
    31 explicit UnitAmeter(const uint8_t addr = DEFAULT_ADDRESS, const uint8_t epromAddr = DEFAULT_EEPROM_ADDRESS)
    +
    32 : UnitADS1115WithEEPROM(addr, epromAddr) {
    +
    33 }
    +
    34 virtual ~UnitAmeter() {
    +
    35 }
    +
    36
    +
    +
    38 inline float resolution() const {
    +
    39 return coefficient() / PRESSURE_COEFFICIENT;
    +
    40 }
    +
    +
    +
    42 inline float correction() const {
    +
    43 return _correction;
    +
    44 }
    +
    +
    +
    46 inline float current() const {
    +
    47 return !empty() ? correction() * std::abs(adc()) : std::numeric_limits<float>::quiet_NaN();
    +
    48 }
    +
    +
    49
    +
    50 protected:
    +
    51 virtual void apply_coefficient(const ads111x::Gain gain) override;
    +
    52
    +
    53 protected:
    +
    54 float _correction{1.0f};
    +
    55};
    +
    +
    56} // namespace unit
    +
    57} // namespace m5
    +
    58#endif
    +
    EEPROM holds calibration data.
    Definition unit_ADS1115.hpp:70
    +
    float coefficient() const
    Definition unit_ADS111x.hpp:245
    +
    int16_t adc() const
    Oldest measured ADC.
    Definition unit_ADS111x.hpp:253
    +
    ads111x::Gain gain() const
    Gets the programmable gain amplifier.
    Definition unit_ADS111x.cpp:106
    +
    Ameter Unit is a current meter that can monitor the current in real time.
    Definition unit_Ameter.hpp:24
    +
    float current() const
    Oldest current.
    Definition unit_Ameter.hpp:46
    +
    float resolution() const
    Resolution of 1 LSB.
    Definition unit_Ameter.hpp:38
    +
    float correction() const
    Gets the correction value.
    Definition unit_Ameter.hpp:42
    +
    Top level namespace of M5stack.
    +
    Unit-related namespace.
    +
    ADS1115 Unit for M5UnitUnified.
    +
    Gain
    Programmable gain amplifier.
    Definition unit_ADS111x.hpp:47
    +
    +
    + + + + diff --git a/unit___vmeter_8cpp.html b/unit___vmeter_8cpp.html new file mode 100644 index 0000000..6ad948d --- /dev/null +++ b/unit___vmeter_8cpp.html @@ -0,0 +1,128 @@ + + + + + + + +M5Unit-METER: src/unit/unit_Vmeter.cpp File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    unit_Vmeter.cpp File Reference
    +
    +
    + +

    Vmeter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified. +More...

    +
    #include "unit_Vmeter.hpp"
    +#include <M5Utility.hpp>
    +
    + + + + +

    +Namespaces

    namespace  m5
     Top level namespace of M5stack.
     
    +

    Detailed Description

    +

    Vmeter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified.

    +
    +
    + + + + diff --git a/unit___vmeter_8hpp.html b/unit___vmeter_8hpp.html new file mode 100644 index 0000000..889fc11 --- /dev/null +++ b/unit___vmeter_8hpp.html @@ -0,0 +1,136 @@ + + + + + + + +M5Unit-METER: src/unit/unit_Vmeter.hpp File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    unit_Vmeter.hpp File Reference
    +
    +
    + +

    Vmeter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified. +More...

    +
    #include "unit_ADS1115.hpp"
    +
    +

    Go to the source code of this file.

    + + + + + +

    +Classes

    class  m5::unit::UnitVmeter
     Voltmeter Unit is a voltage meter that can monitor the voltage in real time. More...
     
    + + + + +

    +Namespaces

    namespace  m5
     Top level namespace of M5stack.
     
    +

    Detailed Description

    +

    Vmeter (ADS1115 + CA-IS3020S) Unit for M5UnitUnified.

    +
    +
    + + + + diff --git a/unit___vmeter_8hpp.js b/unit___vmeter_8hpp.js new file mode 100644 index 0000000..186a175 --- /dev/null +++ b/unit___vmeter_8hpp.js @@ -0,0 +1,4 @@ +var unit___vmeter_8hpp = +[ + [ "m5::unit::UnitVmeter", "classm5_1_1unit_1_1_unit_vmeter.html", "classm5_1_1unit_1_1_unit_vmeter" ] +]; \ No newline at end of file diff --git a/unit___vmeter_8hpp_source.html b/unit___vmeter_8hpp_source.html new file mode 100644 index 0000000..bc76822 --- /dev/null +++ b/unit___vmeter_8hpp_source.html @@ -0,0 +1,180 @@ + + + + + + + +M5Unit-METER: src/unit/unit_Vmeter.hpp Source File + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    M5Unit-METER 0.0.0 git rev:8753588 +
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    unit_Vmeter.hpp
    +
    +
    +Go to the documentation of this file.
    1/*
    +
    2 * SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD
    +
    3 *
    +
    4 * SPDX-License-Identifier: MIT
    +
    5 */
    +
    10#ifndef M5_UNIT_METER_UNIT_V_METER_HPP
    +
    11#define M5_UNIT_METER_UNIT_V_METER_HPP
    +
    12
    +
    13#include "unit_ADS1115.hpp"
    +
    14
    +
    15namespace m5 {
    +
    16namespace unit {
    +
    17
    +
    + +
    24 M5_UNIT_COMPONENT_HPP_BUILDER(UnitVmeter, 0x49);
    +
    25
    +
    26 public:
    +
    27 constexpr static uint8_t DEFAULT_EEPROM_ADDRESS{0x53};
    +
    28 constexpr static float PRESSURE_COEFFICIENT{0.01591895f};
    +
    29
    +
    30 explicit UnitVmeter(const uint8_t addr = DEFAULT_ADDRESS, const uint8_t epromAddr = DEFAULT_EEPROM_ADDRESS)
    +
    31 : UnitADS1115WithEEPROM(addr, epromAddr) {
    +
    32 }
    +
    33
    +
    34 virtual ~UnitVmeter() {
    +
    35 }
    +
    36
    +
    +
    38 inline float resolution() const {
    +
    39 return coefficient() / PRESSURE_COEFFICIENT;
    +
    40 }
    +
    +
    41
    +
    +
    43 inline float correction() const {
    +
    44 return _correction;
    +
    45 }
    +
    +
    46
    +
    +
    48 inline float voltage() const {
    +
    49 return !empty() ? correction() * std::abs(adc()) : std::numeric_limits<float>::quiet_NaN();
    +
    50 }
    +
    +
    51
    +
    52 protected:
    +
    53 virtual void apply_coefficient(const ads111x::Gain gain) override;
    +
    54
    +
    55 protected:
    +
    56 float _correction{1.0f};
    +
    57};
    +
    +
    58} // namespace unit
    +
    59} // namespace m5
    +
    60#endif
    +
    EEPROM holds calibration data.
    Definition unit_ADS1115.hpp:70
    +
    float coefficient() const
    Definition unit_ADS111x.hpp:245
    +
    int16_t adc() const
    Oldest measured ADC.
    Definition unit_ADS111x.hpp:253
    +
    ads111x::Gain gain() const
    Gets the programmable gain amplifier.
    Definition unit_ADS111x.cpp:106
    +
    Voltmeter Unit is a voltage meter that can monitor the voltage in real time.
    Definition unit_Vmeter.hpp:23
    +
    float correction() const
    Gets the correction value.
    Definition unit_Vmeter.hpp:43
    +
    float resolution() const
    Resolution of 1 LSB.
    Definition unit_Vmeter.hpp:38
    +
    float voltage() const
    Oldest voltage.
    Definition unit_Vmeter.hpp:48
    +
    Top level namespace of M5stack.
    +
    Unit-related namespace.
    +
    ADS1115 Unit for M5UnitUnified.
    +
    Gain
    Programmable gain amplifier.
    Definition unit_ADS111x.hpp:47
    +
    +
    + + + +