-
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f9d1c4a
commit 2e80405
Showing
109 changed files
with
14,771 additions
and
286 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||
<meta http-equiv="X-UA-Compatible" content="IE=11"/> | ||
<meta name="generator" content="Doxygen 1.12.0"/> | ||
<meta name="viewport" content="width=device-width, initial-scale=1"/> | ||
<title>MycilaJSY: src/MycilaJSYData.cpp Source File</title> | ||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | ||
<script type="text/javascript" src="jquery.js"></script> | ||
<script type="text/javascript" src="dynsections.js"></script> | ||
<script type="text/javascript" src="clipboard.js"></script> | ||
<link href="navtree.css" rel="stylesheet" type="text/css"/> | ||
<script type="text/javascript" src="resize.js"></script> | ||
<script type="text/javascript" src="cookie.js"></script> | ||
<link href="search/search.css" rel="stylesheet" type="text/css"/> | ||
<script type="text/javascript" src="search/searchdata.js"></script> | ||
<script type="text/javascript" src="search/search.js"></script> | ||
<link href="doxygen.css" rel="stylesheet" type="text/css" /> | ||
</head> | ||
<body> | ||
<div id="top"><!-- do not remove this div, it is closed by doxygen! --> | ||
<div id="titlearea"> | ||
<table cellspacing="0" cellpadding="0"> | ||
<tbody> | ||
<tr id="projectrow"> | ||
<td id="projectalign"> | ||
<div id="projectname">MycilaJSY<span id="projectnumber"> 13.0.0</span> | ||
</div> | ||
<div id="projectbrief">Arduino / ESP32 library for the JSY1031, JSY-MK-163, JSY-MK-193, JSY-MK-194, JSY-MK-227, JSY-MK-229, JSY-MK-333 families single-phase and three-phase AC bidirectional meters from Shenzhen Jiansiyan Technologies Co, Ltd.</div> | ||
</td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
</div> | ||
<!-- end header part --> | ||
<!-- Generated by Doxygen 1.12.0 --> | ||
<script type="text/javascript"> | ||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||
var searchBox = new SearchBox("searchBox", "search/",'.html'); | ||
/* @license-end */ | ||
</script> | ||
<script type="text/javascript"> | ||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||
$(function() { codefold.init(0); }); | ||
/* @license-end */ | ||
</script> | ||
<script type="text/javascript" src="menudata.js"></script> | ||
<script type="text/javascript" src="menu.js"></script> | ||
<script type="text/javascript"> | ||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||
$(function() { | ||
initMenu('',true,false,'search.php','Search',false); | ||
$(function() { init_search(); }); | ||
}); | ||
/* @license-end */ | ||
</script> | ||
<div id="main-nav"></div> | ||
<script type="text/javascript"> | ||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||
$(function(){ initResizable(false); }); | ||
/* @license-end */ | ||
</script> | ||
<!-- window showing the filter options --> | ||
<div id="MSearchSelectWindow" | ||
onmouseover="return searchBox.OnSearchSelectShow()" | ||
onmouseout="return searchBox.OnSearchSelectHide()" | ||
onkeydown="return searchBox.OnSearchSelectKey(event)"> | ||
</div> | ||
|
||
<!-- iframe showing the search results (closed by default) --> | ||
<div id="MSearchResultsWindow"> | ||
<div id="MSearchResults"> | ||
<div class="SRPage"> | ||
<div id="SRIndex"> | ||
<div id="SRResults"></div> | ||
<div class="SRStatus" id="Loading">Loading...</div> | ||
<div class="SRStatus" id="Searching">Searching...</div> | ||
<div class="SRStatus" id="NoMatches">No Matches</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
|
||
<div id="nav-path" class="navpath"> | ||
<ul> | ||
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul> | ||
</div> | ||
</div><!-- top --> | ||
<div id="doc-content"> | ||
<div class="header"> | ||
<div class="headertitle"><div class="title">MycilaJSYData.cpp</div></div> | ||
</div><!--header--> | ||
<div class="contents"> | ||
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">// SPDX-License-Identifier: MIT</span></div> | ||
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">/*</span></div> | ||
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * Copyright (C) 2023-2024 Mathieu Carbou</span></div> | ||
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> */</span></div> | ||
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include "MycilaJSY.h"</span></div> | ||
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div> | ||
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="keywordtype">void</span> Mycila::JSY::Data::clear() {</div> | ||
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> std::unique_lock lock(_mutexData);</div> | ||
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> address = MYCILA_JSY_ADDRESS_UNKNOWN;</div> | ||
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> model = MYCILA_JSY_MK_UNKNOWN;</div> | ||
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> _metrics[0].clear();</div> | ||
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> _metrics[1].clear();</div> | ||
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> _metrics[2].clear();</div> | ||
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> aggregate.clear();</div> | ||
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span>}</div> | ||
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div> | ||
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="keywordtype">bool</span> Mycila::JSY::Data::operator==(<span class="keyword">const</span> <a class="code hl_class" href="class_mycila_1_1_j_s_y_1_1_data.html">Mycila::JSY::Data</a>& other)<span class="keyword"> const </span>{</div> | ||
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> std::shared_lock lock(_mutexData);</div> | ||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> std::shared_lock lockOther(other._mutexData);</div> | ||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="keywordflow">return</span> address == other.address &&</div> | ||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> model == other.model &&</div> | ||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> _metrics[0] == other._metrics[0] &&</div> | ||
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> _metrics[1] == other._metrics[1] &&</div> | ||
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> _metrics[2] == other._metrics[2] &&</div> | ||
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> aggregate == other.aggregate;</div> | ||
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span>}</div> | ||
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div> | ||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="keywordtype">void</span> Mycila::JSY::Data::operator=(<span class="keyword">const</span> <a class="code hl_class" href="class_mycila_1_1_j_s_y_1_1_data.html">Mycila::JSY::Data</a>& other) {</div> | ||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> std::unique_lock lock(_mutexData);</div> | ||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> std::shared_lock lockOther(other._mutexData);</div> | ||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> address = other.address;</div> | ||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> model = other.model;</div> | ||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> _metrics[0] = other._metrics[0];</div> | ||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> _metrics[1] = other._metrics[1];</div> | ||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> _metrics[2] = other._metrics[2];</div> | ||
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> aggregate = other.aggregate;</div> | ||
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span>}</div> | ||
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div> | ||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#ifdef MYCILA_JSON_SUPPORT</span></div> | ||
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="keywordtype">void</span> Mycila::JSY::Data::toJson(<span class="keyword">const</span> JsonObject& root)<span class="keyword"> const </span>{</div> | ||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> std::shared_lock lock(_mutexData);</div> | ||
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div> | ||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> root[<span class="stringliteral">"address"</span>] = address;</div> | ||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> root[<span class="stringliteral">"model"</span>] = model;</div> | ||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> root[<span class="stringliteral">"model_name"</span>] = Mycila::JSY::getModelName(model);</div> | ||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div> | ||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">switch</span> (model) {</div> | ||
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> {</div> | ||
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">case</span> MYCILA_JSY_MK_1031:</div> | ||
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">case</span> MYCILA_JSY_MK_163:</div> | ||
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">case</span> MYCILA_JSY_MK_227:</div> | ||
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">case</span> MYCILA_JSY_MK_229:</div> | ||
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> _metrics[0].toJson(root);</div> | ||
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">break</span>;</div> | ||
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div> | ||
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">case</span> MYCILA_JSY_MK_193:</div> | ||
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">case</span> MYCILA_JSY_MK_194:</div> | ||
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> aggregate.toJson(root[<span class="stringliteral">"aggregate"</span>].to<JsonObject>());</div> | ||
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> _metrics[0].toJson(root[<span class="stringliteral">"channel1"</span>].to<JsonObject>());</div> | ||
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> _metrics[1].toJson(root[<span class="stringliteral">"channel2"</span>].to<JsonObject>());</div> | ||
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">break</span>;</div> | ||
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div> | ||
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">case</span> MYCILA_JSY_MK_333:</div> | ||
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> aggregate.toJson(root[<span class="stringliteral">"aggregate"</span>].to<JsonObject>());</div> | ||
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> _metrics[0].toJson(root[<span class="stringliteral">"phaseA"</span>].to<JsonObject>());</div> | ||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> _metrics[1].toJson(root[<span class="stringliteral">"phaseB"</span>].to<JsonObject>());</div> | ||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> _metrics[2].toJson(root[<span class="stringliteral">"phaseC"</span>].to<JsonObject>());</div> | ||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">break</span>;</div> | ||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div> | ||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">default</span>:</div> | ||
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">break</span>;</div> | ||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> }</div> | ||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> }</div> | ||
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span>}</div> | ||
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="preprocessor">#endif</span></div> | ||
<div class="ttc" id="aclass_mycila_1_1_j_s_y_1_1_data_html"><div class="ttname"><a href="class_mycila_1_1_j_s_y_1_1_data.html">Mycila::JSY::Data</a></div><div class="ttdef"><b>Definition</b> <a href="_mycila_j_s_y_8h_source.html#l00260">MycilaJSY.h:260</a></div></div> | ||
</div><!-- fragment --></div><!-- contents --> | ||
<!-- start footer part --> | ||
<hr class="footer"/><address class="footer"><small> | ||
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 | ||
</small></address> | ||
</div><!-- doc-content --> | ||
</body> | ||
</html> |
Oops, something went wrong.