-
Notifications
You must be signed in to change notification settings - Fork 0
/
S2LP__PktBasic_8c_source.html
130 lines (128 loc) · 70.5 KB
/
S2LP__PktBasic_8c_source.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Appiko: /home/prathik/workspace/appiko/nrf5x-firmware/application/rf_data_tx_rx/S2LP_Library/Src/S2LP_PktBasic.c 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>
<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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Appiko
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d75c23162a2652451dce46d2e7e8aead.html">application</a></li><li class="navelem"><a class="el" href="dir_eeae24ee2ae2430c5086d4802bed50ad.html">rf_data_tx_rx</a></li><li class="navelem"><a class="el" href="dir_457479e51678fc3cc84b7aa4a83c7b21.html">S2LP_Library</a></li><li class="navelem"><a class="el" href="dir_dd09dcd02d9dbd6734f102ee318ab155.html">Src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">S2LP_PktBasic.c</div> </div>
</div><!--header-->
<div class="contents">
<a href="S2LP__PktBasic_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">/* Includes ------------------------------------------------------------------*/</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "<a class="code" href="S2LP__PktBasic_8h.html">S2LP_PktBasic.h</a>"</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include "<a class="code" href="MCU__Interface_8h.html">MCU_Interface.h</a>"</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "<a class="code" href="S2LP__PktWMbus_8h.html">S2LP_PktWMbus.h</a>"</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#define PKT_FORMAT_BASIC_CODE 0x00</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#define IS_BASIC_PREAMBLE_LENGTH IS_PREAMBLE_LEN</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#define IS_BASIC_SYNC_LENGTH IS_SYNC_LEN</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#define IS_BASIC_PKT_LEN_FIELD_WID IS_PKT_LEN_FIELD_WID</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#define IS_BASIC_CRC_MODE IS_PKT_CRC_MODE</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  </div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="group__PktBasic__Private__Functions.html#ga091d9fee473f7eeee0b6b9ca8e268387"> 83</a></span> <span class="keywordtype">void</span> <a class="code" href="group__PktBasic__Private__Functions.html#ga091d9fee473f7eeee0b6b9ca8e268387">S2LPPktBasicInit</a>(<a class="code" href="structPktBasicInit.html">PktBasicInit</a>* pxPktBasicInit)</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> {</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  uint8_t tmpBuffer[6];</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="comment">/* Check the parameters */</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  s_assert_param(IS_BASIC_PREAMBLE_LENGTH(pxPktBasicInit-><a class="code" href="structPktBasicInit.html#a77a555ffcdff73b0f7c7f700b0154c83">xPreambleLength</a>));</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  s_assert_param(IS_BASIC_SYNC_LENGTH(pxPktBasicInit-><a class="code" href="structPktBasicInit.html#a46eb49f1ff0f11e4e1ec981e4470b842">xSyncLength</a>));</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  s_assert_param(IS_BASIC_CRC_MODE(pxPktBasicInit-><a class="code" href="structPktBasicInit.html#a3eb86c556d15f95562f59c64c2d7c658">xCrcMode</a>));</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  s_assert_param(IS_SFUNCTIONAL_STATE(pxPktBasicInit-><a class="code" href="structPktBasicInit.html#aba4d30a664db44ce75b6973da4c63214">cExtendedPktLenField</a>));</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  s_assert_param(IS_SFUNCTIONAL_STATE(pxPktBasicInit-><a class="code" href="structPktBasicInit.html#ac6b85bcb16a4b86629eec7de89c55853">xFixVarLength</a>));</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  s_assert_param(IS_SFUNCTIONAL_STATE(pxPktBasicInit-><a class="code" href="structPktBasicInit.html#afee225929d000d47bbacdc87c96dec2a">xAddressField</a>));</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  s_assert_param(IS_SFUNCTIONAL_STATE(pxPktBasicInit-><a class="code" href="structPktBasicInit.html#abe17bc0f2beed96909468cc02bc752ac">xFec</a>));</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  s_assert_param(IS_SFUNCTIONAL_STATE(pxPktBasicInit-><a class="code" href="structPktBasicInit.html#a2ec5d683892de5cad062b22feb0c43b4">xDataWhitening</a>));</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <a class="code" href="group__PktWMbus__Exported__Functions.html#ga64e1f2d6c265e9597d7cc27d4d5312f9">S2LPPktWMbusSetSubmode</a>(<a class="code" href="group__PktWMbus__Exported__Types.html#ggad308048c42a57b190919f1e151e226aca80d597d688aa88af1dfb6b9d3c891891">WMBUS_SUBMODE_NOT_CONFIGURED</a>);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="comment">/* Always set the automatic packet filtering */</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#a52940c0ecba2884ead739af87de5330a">PROTOCOL1_ADDR</a>, 1, &tmpBuffer[0]);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  tmpBuffer[0] |= AUTO_PCKT_FLT_REGMASK;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  S2LPSpiWriteRegisters(<a class="code" href="S2LP__Regs_8h.html#a52940c0ecba2884ead739af87de5330a">PROTOCOL1_ADDR</a>, 1, &tmpBuffer[0]);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  tmpBuffer[0] = ((pxPktBasicInit-><a class="code" href="structPktBasicInit.html#a46eb49f1ff0f11e4e1ec981e4470b842">xSyncLength</a>)<<2) | (uint8_t)((pxPktBasicInit-><a class="code" href="structPktBasicInit.html#a77a555ffcdff73b0f7c7f700b0154c83">xPreambleLength</a>)>>8);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  tmpBuffer[1] = (uint8_t)(pxPktBasicInit-><a class="code" href="structPktBasicInit.html#a77a555ffcdff73b0f7c7f700b0154c83">xPreambleLength</a>);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  tmpBuffer[2] = (((uint8_t)pxPktBasicInit-><a class="code" href="structPktBasicInit.html#afee225929d000d47bbacdc87c96dec2a">xAddressField</a>)<<3);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  </div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">if</span>((pxPktBasicInit-><a class="code" href="structPktBasicInit.html#aba4d30a664db44ce75b6973da4c63214">cExtendedPktLenField</a>)==S_ENABLE)</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  tmpBuffer[2]|=0x80;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  }</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#ac2d2aa6f9eb2e0c59d60ecddd4c6fc56">PCKTCTRL3_ADDR</a>, 1, &tmpBuffer[3]);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  tmpBuffer[3] &= ~(PCKT_FRMT_REGMASK | RX_MODE_REGMASK);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  tmpBuffer[3] |= PKT_FORMAT_BASIC_CODE;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  </div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#a9651469641dbbabc53190d2dbb69d526">PCKTCTRL2_ADDR</a>, 2, &tmpBuffer[4]);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">if</span>(pxPktBasicInit-><a class="code" href="structPktBasicInit.html#ac6b85bcb16a4b86629eec7de89c55853">xFixVarLength</a> == S_ENABLE) {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  tmpBuffer[4] |= FIX_VAR_LEN_REGMASK;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  tmpBuffer[4] &= ~FIX_VAR_LEN_REGMASK;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  }</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  tmpBuffer[4] &= ~(MANCHESTER_EN_REGMASK | MBUS_3OF6_EN_REGMASK);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  tmpBuffer[5] &= ~(CRC_MODE_REGMASK | TXSOURCE_REGMASK);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  tmpBuffer[5] |= (uint8_t)pxPktBasicInit-><a class="code" href="structPktBasicInit.html#a3eb86c556d15f95562f59c64c2d7c658">xCrcMode</a>;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  </div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">if</span>(pxPktBasicInit-><a class="code" href="structPktBasicInit.html#a2ec5d683892de5cad062b22feb0c43b4">xDataWhitening</a> == S_ENABLE) {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  tmpBuffer[5] |= WHIT_EN_REGMASK;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  }</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  tmpBuffer[5] &= ~WHIT_EN_REGMASK;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  }</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">if</span>(pxPktBasicInit-><a class="code" href="structPktBasicInit.html#abe17bc0f2beed96909468cc02bc752ac">xFec</a> == S_ENABLE)</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  {</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  tmpBuffer[5] |= FEC_EN_REGMASK;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  tmpBuffer[5] &= ~FEC_EN_REGMASK;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  }</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  </div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  S2LPSpiWriteRegisters(<a class="code" href="S2LP__Regs_8h.html#a7e2f7127f4de96c63d3f0b8f1f37cc4a">PCKTCTRL6_ADDR</a>, 6, tmpBuffer); </div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  </div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="comment">/* SYNC word */</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">for</span>(uint8_t i=0 ; i<4 ; i++) {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  tmpBuffer[i] = (uint8_t)(pxPktBasicInit-><a class="code" href="structPktBasicInit.html#aa00318a5d0d3235e952285a1b3ec84a2">lSyncWords</a>>>(8*i));</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  }</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="group__Types__Exported__Variables.html#gab5ab2dc69a49b1d46acd243849558706">g_xStatus</a> = S2LPSpiWriteRegisters(<a class="code" href="S2LP__Regs_8h.html#abf6ff84f41fb073f55ce95b6d6573f78">SYNC3_ADDR</a>, 4, tmpBuffer);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="comment">/* Sets CRC check bit */</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">if</span>(pxPktBasicInit-><a class="code" href="structPktBasicInit.html#a3eb86c556d15f95562f59c64c2d7c658">xCrcMode</a> == <a class="code" href="group__PktCommon__Exported__Types.html#gga2592690ce789502289a5420e09f781d3a52340bba7c637cbbd44e273ba015f36b">PKT_NO_CRC</a>) {</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <a class="code" href="group__PktBasic__Exported__Macros.html#gac9a0e309f9013a209b9ee4d7d8a8f4a6">S2LPPktBasicFilterOnCrc</a>(S_DISABLE);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  }</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="group__PktBasic__Exported__Macros.html#gac9a0e309f9013a209b9ee4d7d8a8f4a6">S2LPPktBasicFilterOnCrc</a>(S_ENABLE);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  }</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  </div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="comment">/* Constellation map setting */</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#a27e8d27b247880a5a8ada2f4921e1269">MOD1_ADDR</a>, 1, tmpBuffer);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  tmpBuffer[0] &= ~G4FSK_CONST_MAP_REGMASK;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  S2LPSpiWriteRegisters(<a class="code" href="S2LP__Regs_8h.html#a27e8d27b247880a5a8ada2f4921e1269">MOD1_ADDR</a>, 1, tmpBuffer); </div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="group__PktBasic__Private__Functions.html#ga63290e9d9a3b302e5ffe0771ec33442e"> 174</a></span> <span class="keywordtype">void</span> <a class="code" href="group__PktBasic__Private__Functions.html#ga63290e9d9a3b302e5ffe0771ec33442e">S2LPPktBasicGetInfo</a>(<a class="code" href="structPktBasicInit.html">PktBasicInit</a>* pxPktBasicInit)</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> {</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  uint8_t tmpBuffer[6];</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#a7e2f7127f4de96c63d3f0b8f1f37cc4a">PCKTCTRL6_ADDR</a>, 6, tmpBuffer);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="comment">/* Sync length */</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  pxPktBasicInit-><a class="code" href="structPktBasicInit.html#a46eb49f1ff0f11e4e1ec981e4470b842">xSyncLength</a> = ((tmpBuffer[0] & SYNC_LEN_REGMASK)>>2);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  </div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="comment">/* Preamble length */</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  pxPktBasicInit-><a class="code" href="structPktBasicInit.html#a77a555ffcdff73b0f7c7f700b0154c83">xPreambleLength</a> = (((uint16_t)(tmpBuffer[0] & PREAMBLE_LEN_9_8_REGMASK))<<8) | ((uint16_t)tmpBuffer[1]);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="comment">/* Length width */</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  pxPktBasicInit-><a class="code" href="structPktBasicInit.html#aba4d30a664db44ce75b6973da4c63214">cExtendedPktLenField</a> = (<a class="code" href="group__Types__Exported__Types.html#gaf4cbf41d3c8f611d12adae5d2c29c3c2">SFunctionalState</a>)((tmpBuffer[2] & LEN_WID_REGMASK)>>7);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  </div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="comment">/* Address field */</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  pxPktBasicInit-><a class="code" href="structPktBasicInit.html#afee225929d000d47bbacdc87c96dec2a">xAddressField</a> = (<a class="code" href="group__Types__Exported__Types.html#gaf4cbf41d3c8f611d12adae5d2c29c3c2">SFunctionalState</a>)((tmpBuffer[2] & ADDRESS_LEN_REGMASK)>>3);</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="comment">/* FIX or VAR bit */</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  pxPktBasicInit-><a class="code" href="structPktBasicInit.html#ac6b85bcb16a4b86629eec7de89c55853">xFixVarLength</a> = (<a class="code" href="group__Types__Exported__Types.html#gaf4cbf41d3c8f611d12adae5d2c29c3c2">SFunctionalState</a>)(tmpBuffer[4] & FIX_VAR_LEN_REGMASK);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="comment">/* CRC mode */</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  pxPktBasicInit-><a class="code" href="structPktBasicInit.html#a3eb86c556d15f95562f59c64c2d7c658">xCrcMode</a> = (<a class="code" href="group__PktBasic__Exported__Types.html#gae179b0f59c7a037c1da547b17ce7abeb">BasicCrcMode</a>)(tmpBuffer[5] & CRC_MODE_REGMASK);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  </div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="comment">/* Whitening */</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  pxPktBasicInit-><a class="code" href="structPktBasicInit.html#a2ec5d683892de5cad062b22feb0c43b4">xDataWhitening</a> = (<a class="code" href="group__Types__Exported__Types.html#gaf4cbf41d3c8f611d12adae5d2c29c3c2">SFunctionalState</a>)((tmpBuffer[5] & WHIT_EN_REGMASK)>> 4);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="comment">/* FEC */</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  pxPktBasicInit-><a class="code" href="structPktBasicInit.html#abe17bc0f2beed96909468cc02bc752ac">xFec</a> = (<a class="code" href="group__Types__Exported__Types.html#gaf4cbf41d3c8f611d12adae5d2c29c3c2">SFunctionalState</a>)(tmpBuffer[5] & FEC_EN_REGMASK);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <a class="code" href="group__Types__Exported__Variables.html#gab5ab2dc69a49b1d46acd243849558706">g_xStatus</a> = S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#abf6ff84f41fb073f55ce95b6d6573f78">SYNC3_ADDR</a>, 4, tmpBuffer);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="comment">/* SYNC word */</span></div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  pxPktBasicInit-><a class="code" href="structPktBasicInit.html#aa00318a5d0d3235e952285a1b3ec84a2">lSyncWords</a> = 0;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">for</span>(uint8_t i=0 ; i<4 ; i++) {</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  pxPktBasicInit-><a class="code" href="structPktBasicInit.html#aa00318a5d0d3235e952285a1b3ec84a2">lSyncWords</a> |= ((uint32_t)tmpBuffer[i])<<(8*i);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  }</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="group__PktBasic__Private__Functions.html#ga98886defa086a2b67da178fe55d34ca4"> 221</a></span> <span class="keywordtype">void</span> <a class="code" href="group__PktBasic__Private__Functions.html#ga98886defa086a2b67da178fe55d34ca4">S2LPPktBasicAddressesInit</a>(<a class="code" href="structPktBasicAddressesInit.html">PktBasicAddressesInit</a>* pxPktBasicAddresses)</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> {</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  uint8_t tmpBuffer[3];</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  s_assert_param(IS_SFUNCTIONAL_STATE(pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#ae1f8c5d841dc792e751f34303f67dd6f">xFilterOnMyAddress</a>));</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  s_assert_param(IS_SFUNCTIONAL_STATE(pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#ab5c7450eed03af5dbba76b62384f5bdc">xFilterOnMulticastAddress</a>));</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  s_assert_param(IS_SFUNCTIONAL_STATE(pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#a36762ad49a4c421bff895e73d1e2bc02">xFilterOnBroadcastAddress</a>));</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="comment">/* Reads the PCKT_FLT_OPTIONS ragister */</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#ae49cf4626ed318fa60ef3e8dbda4aefb">PCKT_FLT_OPTIONS_ADDR</a>, 1, &tmpBuffer[0]);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  </div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="comment">/* Enables or disables filtering on my address */</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">if</span>(pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#ae1f8c5d841dc792e751f34303f67dd6f">xFilterOnMyAddress</a> == S_ENABLE) {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  tmpBuffer[0] |= DEST_VS_SOURCE_ADDR_REGMASK;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  }</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  tmpBuffer[0] &= ~DEST_VS_SOURCE_ADDR_REGMASK;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  }</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  </div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="comment">/* Enables or disables filtering on multicast address */</span></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">if</span>(pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#ab5c7450eed03af5dbba76b62384f5bdc">xFilterOnMulticastAddress</a> == S_ENABLE) {</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  tmpBuffer[0] |= DEST_VS_MULTICAST_ADDR_REGMASK;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  }</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  tmpBuffer[0] &= ~DEST_VS_MULTICAST_ADDR_REGMASK;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  }</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  </div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="comment">/* Enables or disables filtering on broadcast address */</span></div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">if</span>(pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#a36762ad49a4c421bff895e73d1e2bc02">xFilterOnBroadcastAddress</a> == S_ENABLE) {</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  tmpBuffer[0] |= DEST_VS_BROADCAST_ADDR_REGMASK;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  tmpBuffer[0] &= ~DEST_VS_BROADCAST_ADDR_REGMASK;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  }</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  </div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  S2LPSpiWriteRegisters(<a class="code" href="S2LP__Regs_8h.html#ae49cf4626ed318fa60ef3e8dbda4aefb">PCKT_FLT_OPTIONS_ADDR</a>, 1, &tmpBuffer[0]);</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  </div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="comment">/* Fills the array with the addresses passed in the structure */</span></div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  tmpBuffer[2] = pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#a52b5f55e1193bcb4609cd4089d106ac8">cMyAddress</a>;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  tmpBuffer[0] = pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#ac41be1b96d03207f5827000809a2b26f">cBroadcastAddress</a>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  tmpBuffer[1] = pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#a79c86a35c692f0ae9b0efea8a74e9b3e">cMulticastAddress</a>;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <a class="code" href="group__Types__Exported__Variables.html#gab5ab2dc69a49b1d46acd243849558706">g_xStatus</a> = S2LPSpiWriteRegisters(<a class="code" href="S2LP__Regs_8h.html#a6a54fe327205e10c2d16deba3364214d">PCKT_FLT_GOALS2_ADDR</a>, 3, tmpBuffer);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div><div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="group__PktBasic__Private__Functions.html#ga078b4f9bcf8f21e1627424823d3744a9"> 272</a></span> <span class="keywordtype">void</span> <a class="code" href="group__PktBasic__Private__Functions.html#ga078b4f9bcf8f21e1627424823d3744a9">S2LPPktBasicGetAddressesInfo</a>(<a class="code" href="structPktBasicAddressesInit.html">PktBasicAddressesInit</a>* pxPktBasicAddresses)</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> {</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  uint8_t tmpBuffer[3];</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#a1303c5dc208bdf77da84d123b0d9559e">PCKT_FLT_GOALS3_ADDR</a>, 3, tmpBuffer);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#a52b5f55e1193bcb4609cd4089d106ac8">cMyAddress</a> = tmpBuffer[0];</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#ac41be1b96d03207f5827000809a2b26f">cBroadcastAddress</a> = tmpBuffer[1];</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#a79c86a35c692f0ae9b0efea8a74e9b3e">cMulticastAddress</a> = tmpBuffer[2];</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  </div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <a class="code" href="group__Types__Exported__Variables.html#gab5ab2dc69a49b1d46acd243849558706">g_xStatus</a> = S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#ae49cf4626ed318fa60ef3e8dbda4aefb">PCKT_FLT_OPTIONS_ADDR</a>, 1, &tmpBuffer[0]);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#a36762ad49a4c421bff895e73d1e2bc02">xFilterOnBroadcastAddress</a> = (<a class="code" href="group__Types__Exported__Types.html#gaf4cbf41d3c8f611d12adae5d2c29c3c2">SFunctionalState</a>)((tmpBuffer[0] & DEST_VS_BROADCAST_ADDR_REGMASK) >> 3);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#ab5c7450eed03af5dbba76b62384f5bdc">xFilterOnMulticastAddress</a> = (<a class="code" href="group__Types__Exported__Types.html#gaf4cbf41d3c8f611d12adae5d2c29c3c2">SFunctionalState</a>)((tmpBuffer[0] & DEST_VS_MULTICAST_ADDR_REGMASK) >> 2);</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  pxPktBasicAddresses-><a class="code" href="structPktBasicAddressesInit.html#ae1f8c5d841dc792e751f34303f67dd6f">xFilterOnMyAddress</a> = (<a class="code" href="group__Types__Exported__Types.html#gaf4cbf41d3c8f611d12adae5d2c29c3c2">SFunctionalState</a>)((tmpBuffer[0] & DEST_VS_SOURCE_ADDR_REGMASK) >> 1);</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> }</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div><div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="group__PktBasic__Private__Functions.html#ga4f5505df0003ffb96a9233408be9fdd3"> 293</a></span> <span class="keywordtype">void</span> <a class="code" href="group__PktBasic__Private__Functions.html#ga4f5505df0003ffb96a9233408be9fdd3">S2LPPktBasicSetFormat</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  uint8_t tmp;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  </div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#ac2d2aa6f9eb2e0c59d60ecddd4c6fc56">PCKTCTRL3_ADDR</a>, 1, &tmp);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  </div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="comment">/* Build the new value. Also set to 0 the direct RX mode bits */</span></div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  tmp &= ~(PCKT_FRMT_REGMASK | RX_MODE_REGMASK);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  tmp |= PKT_FORMAT_BASIC_CODE;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  S2LPSpiWriteRegisters(<a class="code" href="S2LP__Regs_8h.html#ac2d2aa6f9eb2e0c59d60ecddd4c6fc56">PCKTCTRL3_ADDR</a>, 1, &tmp);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#adf6eba8796306b2ae2fdbf9ded43193b">PCKTCTRL1_ADDR</a>, 1, &tmp);</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  </div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="comment">/* Set to 0 the direct TX mode bits */</span></div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  tmp &= ~TXSOURCE_REGMASK;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <a class="code" href="group__Types__Exported__Variables.html#gab5ab2dc69a49b1d46acd243849558706">g_xStatus</a> = S2LPSpiWriteRegisters(<a class="code" href="S2LP__Regs_8h.html#adf6eba8796306b2ae2fdbf9ded43193b">PCKTCTRL1_ADDR</a>, 1, &tmp);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <a class="code" href="group__PktWMbus__Exported__Functions.html#ga64e1f2d6c265e9597d7cc27d4d5312f9">S2LPPktWMbusSetSubmode</a>(<a class="code" href="group__PktWMbus__Exported__Types.html#ggad308048c42a57b190919f1e151e226aca80d597d688aa88af1dfb6b9d3c891891">WMBUS_SUBMODE_NOT_CONFIGURED</a>);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> }</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div><div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="group__PktBasic__Private__Functions.html#ga27f4f62ec19052c28a244e37eed17424"> 320</a></span> <span class="keywordtype">void</span> <a class="code" href="group__PktBasic__Private__Functions.html#ga27f4f62ec19052c28a244e37eed17424">S2LPPktBasicAddressField</a>(<a class="code" href="group__Types__Exported__Types.html#gaf4cbf41d3c8f611d12adae5d2c29c3c2">SFunctionalState</a> xAddressField)</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> {</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  uint8_t tmp;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  s_assert_param(IS_SFUNCTIONAL_STATE(xAddressField));</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#a3fd70e6cc0d13ef3fef97b7a58b3af9a">PCKTCTRL4_ADDR</a>, 1, &tmp);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">if</span>(xAddressField==S_ENABLE) {</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  tmp |= ADDRESS_LEN_REGMASK;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  }</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  tmp &= ADDRESS_LEN_REGMASK;</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  }</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <a class="code" href="group__Types__Exported__Variables.html#gab5ab2dc69a49b1d46acd243849558706">g_xStatus</a> = S2LPSpiWriteRegisters(<a class="code" href="S2LP__Regs_8h.html#a3fd70e6cc0d13ef3fef97b7a58b3af9a">PCKTCTRL4_ADDR</a>, 1, &tmp);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> }</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div><div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="group__PktBasic__Private__Functions.html#ga6bac74183427b69074beacd1fc6b45ef"> 342</a></span> <a class="code" href="group__Types__Exported__Types.html#gaf4cbf41d3c8f611d12adae5d2c29c3c2">SFunctionalState</a> <a class="code" href="group__PktBasic__Private__Functions.html#ga6bac74183427b69074beacd1fc6b45ef">S2LPPktBasicGetAddressField</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span> {</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  uint8_t tmp;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <a class="code" href="group__Types__Exported__Variables.html#gab5ab2dc69a49b1d46acd243849558706">g_xStatus</a> = S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#a3fd70e6cc0d13ef3fef97b7a58b3af9a">PCKTCTRL4_ADDR</a>, 1, &tmp);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">if</span>(tmp & ADDRESS_LEN_REGMASK) {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">return</span> S_ENABLE;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  }</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">return</span> S_DISABLE;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span> }</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div><div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="group__PktBasic__Private__Functions.html#ga14890a011c1e940b5672b04b5fc9e1c6"> 366</a></span> <span class="keywordtype">void</span> <a class="code" href="group__PktBasic__Private__Functions.html#ga14890a011c1e940b5672b04b5fc9e1c6">S2LPPktBasicSetPayloadLength</a>(uint16_t nPayloadLength)</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span> {</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  uint8_t tmpBuffer[2];</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  </div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">if</span>(<a class="code" href="group__PktBasic__Private__Functions.html#ga6bac74183427b69074beacd1fc6b45ef">S2LPPktBasicGetAddressField</a>()) {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  nPayloadLength++;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  }</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  tmpBuffer[0] = (uint8_t)(nPayloadLength>>8);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  tmpBuffer[1] = (uint8_t)nPayloadLength;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <a class="code" href="group__Types__Exported__Variables.html#gab5ab2dc69a49b1d46acd243849558706">g_xStatus</a> = S2LPSpiWriteRegisters(<a class="code" href="S2LP__Regs_8h.html#aad6b4ee52f42bc877cfcc2df8826bfc9">PCKTLEN1_ADDR</a>, 2, tmpBuffer);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span> }</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div><div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="group__PktBasic__Private__Functions.html#gaf6489b77d2124c9d625a436856a4550b"> 388</a></span> uint16_t <a class="code" href="group__PktBasic__Private__Functions.html#gaf6489b77d2124c9d625a436856a4550b">S2LPPktBasicGetPayloadLength</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span> {</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  uint8_t tmpBuffer[2];</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  uint16_t nPayloadLength;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <a class="code" href="group__Types__Exported__Variables.html#gab5ab2dc69a49b1d46acd243849558706">g_xStatus</a> = S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#aad6b4ee52f42bc877cfcc2df8826bfc9">PCKTLEN1_ADDR</a>, 2, tmpBuffer);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  nPayloadLength = (((uint16_t)tmpBuffer[0])<<8) | ((uint16_t)tmpBuffer[1]);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  </div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">if</span>(<a class="code" href="group__PktBasic__Private__Functions.html#ga6bac74183427b69074beacd1fc6b45ef">S2LPPktBasicGetAddressField</a>()) {</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  nPayloadLength--;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  }</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keywordflow">return</span> nPayloadLength;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> }</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div><div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="group__PktBasic__Private__Functions.html#gaeba5c6e4c137732d43eefca40cba2c23"> 407</a></span> uint16_t <a class="code" href="group__PktBasic__Private__Functions.html#gaeba5c6e4c137732d43eefca40cba2c23">S2LPPktBasicGetReceivedPktLength</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span> {</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  uint8_t tmpBuffer[2];</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  uint16_t nPayloadLength;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <a class="code" href="group__Types__Exported__Variables.html#gab5ab2dc69a49b1d46acd243849558706">g_xStatus</a> = S2LPSpiReadRegisters(<a class="code" href="S2LP__Regs_8h.html#a84d1b30718e0bea0fb3c753137395108">RX_PCKT_LEN1_ADDR</a>, 2, tmpBuffer);</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  nPayloadLength = (((uint16_t)tmpBuffer[0])<<8) | ((uint16_t)tmpBuffer[1]);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  </div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">if</span>(<a class="code" href="group__PktBasic__Private__Functions.html#ga6bac74183427b69074beacd1fc6b45ef">S2LPPktBasicGetAddressField</a>()) {</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  nPayloadLength--;</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  }</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordflow">return</span> nPayloadLength;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span> }</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="comment">/******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/</span></div><div class="ttc" id="structPktBasicInit_html_afee225929d000d47bbacdc87c96dec2a"><div class="ttname"><a href="structPktBasicInit.html#afee225929d000d47bbacdc87c96dec2a">PktBasicInit::xAddressField</a></div><div class="ttdeci">SFunctionalState xAddressField</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00126">S2LP_PktBasic.h:126</a></div></div>
<div class="ttc" id="structPktBasicInit_html_aba4d30a664db44ce75b6973da4c63214"><div class="ttname"><a href="structPktBasicInit.html#aba4d30a664db44ce75b6973da4c63214">PktBasicInit::cExtendedPktLenField</a></div><div class="ttdeci">SFunctionalState cExtendedPktLenField</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00124">S2LP_PktBasic.h:124</a></div></div>
<div class="ttc" id="structPktBasicInit_html_a2ec5d683892de5cad062b22feb0c43b4"><div class="ttname"><a href="structPktBasicInit.html#a2ec5d683892de5cad062b22feb0c43b4">PktBasicInit::xDataWhitening</a></div><div class="ttdeci">SFunctionalState xDataWhitening</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00128">S2LP_PktBasic.h:128</a></div></div>
<div class="ttc" id="structPktBasicAddressesInit_html_ae1f8c5d841dc792e751f34303f67dd6f"><div class="ttname"><a href="structPktBasicAddressesInit.html#ae1f8c5d841dc792e751f34303f67dd6f">PktBasicAddressesInit::xFilterOnMyAddress</a></div><div class="ttdeci">SFunctionalState xFilterOnMyAddress</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00137">S2LP_PktBasic.h:137</a></div></div>
<div class="ttc" id="group__PktWMbus__Exported__Types_html_ggad308048c42a57b190919f1e151e226aca80d597d688aa88af1dfb6b9d3c891891"><div class="ttname"><a href="group__PktWMbus__Exported__Types.html#ggad308048c42a57b190919f1e151e226aca80d597d688aa88af1dfb6b9d3c891891">WMBUS_SUBMODE_NOT_CONFIGURED</a></div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktWMbus_8h_source.html#l00093">S2LP_PktWMbus.h:93</a></div></div>
<div class="ttc" id="group__PktBasic__Private__Functions_html_gaeba5c6e4c137732d43eefca40cba2c23"><div class="ttname"><a href="group__PktBasic__Private__Functions.html#gaeba5c6e4c137732d43eefca40cba2c23">S2LPPktBasicGetReceivedPktLength</a></div><div class="ttdeci">uint16_t S2LPPktBasicGetReceivedPktLength(void)</div><div class="ttdoc">Return the packet length field of the received packet.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8c_source.html#l00407">S2LP_PktBasic.c:407</a></div></div>
<div class="ttc" id="S2LP__Regs_8h_html_a27e8d27b247880a5a8ada2f4921e1269"><div class="ttname"><a href="S2LP__Regs_8h.html#a27e8d27b247880a5a8ada2f4921e1269">MOD1_ADDR</a></div><div class="ttdeci">#define MOD1_ADDR</div><div class="ttdoc">MOD1 register.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Regs_8h_source.html#l00263">S2LP_Regs.h:263</a></div></div>
<div class="ttc" id="structPktBasicAddressesInit_html_a52b5f55e1193bcb4609cd4089d106ac8"><div class="ttname"><a href="structPktBasicAddressesInit.html#a52b5f55e1193bcb4609cd4089d106ac8">PktBasicAddressesInit::cMyAddress</a></div><div class="ttdeci">uint8_t cMyAddress</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00138">S2LP_PktBasic.h:138</a></div></div>
<div class="ttc" id="group__Types__Exported__Types_html_gaf4cbf41d3c8f611d12adae5d2c29c3c2"><div class="ttname"><a href="group__Types__Exported__Types.html#gaf4cbf41d3c8f611d12adae5d2c29c3c2">SFunctionalState</a></div><div class="ttdeci">SFunctionalState</div><div class="ttdoc">S2LP Functional state. Used to enable or disable a specific option.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Types_8h_source.html#l00067">S2LP_Types.h:67</a></div></div>
<div class="ttc" id="structPktBasicInit_html_a77a555ffcdff73b0f7c7f700b0154c83"><div class="ttname"><a href="structPktBasicInit.html#a77a555ffcdff73b0f7c7f700b0154c83">PktBasicInit::xPreambleLength</a></div><div class="ttdeci">uint16_t xPreambleLength</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00120">S2LP_PktBasic.h:120</a></div></div>
<div class="ttc" id="S2LP__Regs_8h_html_a52940c0ecba2884ead739af87de5330a"><div class="ttname"><a href="S2LP__Regs_8h.html#a52940c0ecba2884ead739af87de5330a">PROTOCOL1_ADDR</a></div><div class="ttdeci">#define PROTOCOL1_ADDR</div><div class="ttdoc">PROTOCOL1 register.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Regs_8h_source.html#l00685">S2LP_Regs.h:685</a></div></div>
<div class="ttc" id="group__PktCommon__Exported__Types_html_gga2592690ce789502289a5420e09f781d3a52340bba7c637cbbd44e273ba015f36b"><div class="ttname"><a href="group__PktCommon__Exported__Types.html#gga2592690ce789502289a5420e09f781d3a52340bba7c637cbbd44e273ba015f36b">PKT_NO_CRC</a></div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PacketHandler_8h_source.html#l00081">S2LP_PacketHandler.h:81</a></div></div>
<div class="ttc" id="group__PktBasic__Private__Functions_html_ga078b4f9bcf8f21e1627424823d3744a9"><div class="ttname"><a href="group__PktBasic__Private__Functions.html#ga078b4f9bcf8f21e1627424823d3744a9">S2LPPktBasicGetAddressesInfo</a></div><div class="ttdeci">void S2LPPktBasicGetAddressesInfo(PktBasicAddressesInit *pxPktBasicAddresses)</div><div class="ttdoc">Return the S2LP Basic packet addresses structure according to the specified parameters in the registe...</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8c_source.html#l00272">S2LP_PktBasic.c:272</a></div></div>
<div class="ttc" id="structPktBasicInit_html"><div class="ttname"><a href="structPktBasicInit.html">PktBasicInit</a></div><div class="ttdoc">S2LP Basic Packet Init structure definition.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00119">S2LP_PktBasic.h:119</a></div></div>
<div class="ttc" id="group__PktBasic__Private__Functions_html_ga4f5505df0003ffb96a9233408be9fdd3"><div class="ttname"><a href="group__PktBasic__Private__Functions.html#ga4f5505df0003ffb96a9233408be9fdd3">S2LPPktBasicSetFormat</a></div><div class="ttdeci">void S2LPPktBasicSetFormat(void)</div><div class="ttdoc">Configure the Basic packet format as packet used by S2LP.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8c_source.html#l00293">S2LP_PktBasic.c:293</a></div></div>
<div class="ttc" id="S2LP__Regs_8h_html_a7e2f7127f4de96c63d3f0b8f1f37cc4a"><div class="ttname"><a href="S2LP__Regs_8h.html#a7e2f7127f4de96c63d3f0b8f1f37cc4a">PCKTCTRL6_ADDR</a></div><div class="ttdeci">#define PCKTCTRL6_ADDR</div><div class="ttdoc">PCKTCTRL6 register.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Regs_8h_source.html#l00437">S2LP_Regs.h:437</a></div></div>
<div class="ttc" id="structPktBasicAddressesInit_html_a36762ad49a4c421bff895e73d1e2bc02"><div class="ttname"><a href="structPktBasicAddressesInit.html#a36762ad49a4c421bff895e73d1e2bc02">PktBasicAddressesInit::xFilterOnBroadcastAddress</a></div><div class="ttdeci">SFunctionalState xFilterOnBroadcastAddress</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00141">S2LP_PktBasic.h:141</a></div></div>
<div class="ttc" id="S2LP__Regs_8h_html_a3fd70e6cc0d13ef3fef97b7a58b3af9a"><div class="ttname"><a href="S2LP__Regs_8h.html#a3fd70e6cc0d13ef3fef97b7a58b3af9a">PCKTCTRL4_ADDR</a></div><div class="ttdeci">#define PCKTCTRL4_ADDR</div><div class="ttdoc">PCKTCTRL4 register.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Regs_8h_source.html#l00467">S2LP_Regs.h:467</a></div></div>
<div class="ttc" id="structPktBasicAddressesInit_html_a79c86a35c692f0ae9b0efea8a74e9b3e"><div class="ttname"><a href="structPktBasicAddressesInit.html#a79c86a35c692f0ae9b0efea8a74e9b3e">PktBasicAddressesInit::cMulticastAddress</a></div><div class="ttdeci">uint8_t cMulticastAddress</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00140">S2LP_PktBasic.h:140</a></div></div>
<div class="ttc" id="S2LP__Regs_8h_html_a9651469641dbbabc53190d2dbb69d526"><div class="ttname"><a href="S2LP__Regs_8h.html#a9651469641dbbabc53190d2dbb69d526">PCKTCTRL2_ADDR</a></div><div class="ttdeci">#define PCKTCTRL2_ADDR</div><div class="ttdoc">PCKTCTRL2 register.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Regs_8h_source.html#l00508">S2LP_Regs.h:508</a></div></div>
<div class="ttc" id="structPktBasicAddressesInit_html_ab5c7450eed03af5dbba76b62384f5bdc"><div class="ttname"><a href="structPktBasicAddressesInit.html#ab5c7450eed03af5dbba76b62384f5bdc">PktBasicAddressesInit::xFilterOnMulticastAddress</a></div><div class="ttdeci">SFunctionalState xFilterOnMulticastAddress</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00139">S2LP_PktBasic.h:139</a></div></div>
<div class="ttc" id="structPktBasicAddressesInit_html"><div class="ttname"><a href="structPktBasicAddressesInit.html">PktBasicAddressesInit</a></div><div class="ttdoc">S2LP Basic packet address structure definition. This structure allows users to specify the node/multi...</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00136">S2LP_PktBasic.h:136</a></div></div>
<div class="ttc" id="S2LP__Regs_8h_html_abf6ff84f41fb073f55ce95b6d6573f78"><div class="ttname"><a href="S2LP__Regs_8h.html#abf6ff84f41fb073f55ce95b6d6573f78">SYNC3_ADDR</a></div><div class="ttdeci">#define SYNC3_ADDR</div><div class="ttdoc">SYNC3 register.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Regs_8h_source.html#l00573">S2LP_Regs.h:573</a></div></div>
<div class="ttc" id="S2LP__PktBasic_8h_html"><div class="ttname"><a href="S2LP__PktBasic_8h.html">S2LP_PktBasic.h</a></div><div class="ttdoc">Configuration and management of S2-LP Basic packets.</div></div>
<div class="ttc" id="group__PktBasic__Private__Functions_html_ga63290e9d9a3b302e5ffe0771ec33442e"><div class="ttname"><a href="group__PktBasic__Private__Functions.html#ga63290e9d9a3b302e5ffe0771ec33442e">S2LPPktBasicGetInfo</a></div><div class="ttdeci">void S2LPPktBasicGetInfo(PktBasicInit *pxPktBasicInit)</div><div class="ttdoc">Return the S2LP Basic packet structure according to the specified parameters in the registers.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8c_source.html#l00174">S2LP_PktBasic.c:174</a></div></div>
<div class="ttc" id="group__PktBasic__Private__Functions_html_ga27f4f62ec19052c28a244e37eed17424"><div class="ttname"><a href="group__PktBasic__Private__Functions.html#ga27f4f62ec19052c28a244e37eed17424">S2LPPktBasicAddressField</a></div><div class="ttdeci">void S2LPPktBasicAddressField(SFunctionalState xAddressField)</div><div class="ttdoc">Set the address length for S2LP Basic packets.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8c_source.html#l00320">S2LP_PktBasic.c:320</a></div></div>
<div class="ttc" id="S2LP__PktWMbus_8h_html"><div class="ttname"><a href="S2LP__PktWMbus_8h.html">S2LP_PktWMbus.h</a></div><div class="ttdoc">Configuration and management of S2-LP WMbus packets.</div></div>
<div class="ttc" id="structPktBasicInit_html_aa00318a5d0d3235e952285a1b3ec84a2"><div class="ttname"><a href="structPktBasicInit.html#aa00318a5d0d3235e952285a1b3ec84a2">PktBasicInit::lSyncWords</a></div><div class="ttdeci">uint32_t lSyncWords</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00122">S2LP_PktBasic.h:122</a></div></div>
<div class="ttc" id="S2LP__Regs_8h_html_adf6eba8796306b2ae2fdbf9ded43193b"><div class="ttname"><a href="S2LP__Regs_8h.html#adf6eba8796306b2ae2fdbf9ded43193b">PCKTCTRL1_ADDR</a></div><div class="ttdeci">#define PCKTCTRL1_ADDR</div><div class="ttdoc">PCKTCTRL1 register.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Regs_8h_source.html#l00530">S2LP_Regs.h:530</a></div></div>
<div class="ttc" id="structPktBasicInit_html_ac6b85bcb16a4b86629eec7de89c55853"><div class="ttname"><a href="structPktBasicInit.html#ac6b85bcb16a4b86629eec7de89c55853">PktBasicInit::xFixVarLength</a></div><div class="ttdeci">SFunctionalState xFixVarLength</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00123">S2LP_PktBasic.h:123</a></div></div>
<div class="ttc" id="group__PktBasic__Private__Functions_html_ga98886defa086a2b67da178fe55d34ca4"><div class="ttname"><a href="group__PktBasic__Private__Functions.html#ga98886defa086a2b67da178fe55d34ca4">S2LPPktBasicAddressesInit</a></div><div class="ttdeci">void S2LPPktBasicAddressesInit(PktBasicAddressesInit *pxPktBasicAddresses)</div><div class="ttdoc">Initialize the S2LP Basic packet addresses according to the specified parameters in the PktBasicAddre...</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8c_source.html#l00221">S2LP_PktBasic.c:221</a></div></div>
<div class="ttc" id="S2LP__Regs_8h_html_aad6b4ee52f42bc877cfcc2df8826bfc9"><div class="ttname"><a href="S2LP__Regs_8h.html#aad6b4ee52f42bc877cfcc2df8826bfc9">PCKTLEN1_ADDR</a></div><div class="ttdeci">#define PCKTLEN1_ADDR</div><div class="ttdoc">PCKTLEN1 register.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Regs_8h_source.html#l00547">S2LP_Regs.h:547</a></div></div>
<div class="ttc" id="group__PktWMbus__Exported__Functions_html_ga64e1f2d6c265e9597d7cc27d4d5312f9"><div class="ttname"><a href="group__PktWMbus__Exported__Functions.html#ga64e1f2d6c265e9597d7cc27d4d5312f9">S2LPPktWMbusSetSubmode</a></div><div class="ttdeci">void S2LPPktWMbusSetSubmode(WMbusSubmode xWMbusSubmode)</div><div class="ttdoc">Set the W-MBus submode.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktWMbus_8c_source.html#l00287">S2LP_PktWMbus.c:287</a></div></div>
<div class="ttc" id="structPktBasicInit_html_a46eb49f1ff0f11e4e1ec981e4470b842"><div class="ttname"><a href="structPktBasicInit.html#a46eb49f1ff0f11e4e1ec981e4470b842">PktBasicInit::xSyncLength</a></div><div class="ttdeci">uint8_t xSyncLength</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00121">S2LP_PktBasic.h:121</a></div></div>
<div class="ttc" id="S2LP__Regs_8h_html_a84d1b30718e0bea0fb3c753137395108"><div class="ttname"><a href="S2LP__Regs_8h.html#a84d1b30718e0bea0fb3c753137395108">RX_PCKT_LEN1_ADDR</a></div><div class="ttdeci">#define RX_PCKT_LEN1_ADDR</div><div class="ttdoc">RX_PCKT_LEN1 register.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Regs_8h_source.html#l01669">S2LP_Regs.h:1669</a></div></div>
<div class="ttc" id="structPktBasicInit_html_a3eb86c556d15f95562f59c64c2d7c658"><div class="ttname"><a href="structPktBasicInit.html#a3eb86c556d15f95562f59c64c2d7c658">PktBasicInit::xCrcMode</a></div><div class="ttdeci">PktCrcMode xCrcMode</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00125">S2LP_PktBasic.h:125</a></div></div>
<div class="ttc" id="group__Types__Exported__Variables_html_gab5ab2dc69a49b1d46acd243849558706"><div class="ttname"><a href="group__Types__Exported__Variables.html#gab5ab2dc69a49b1d46acd243849558706">g_xStatus</a></div><div class="ttdeci">volatile S2LPStatus g_xStatus</div><div class="ttdoc">S2LP Status global variable. This global variable of S2LPStatus type is updated on every SPI transact...</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Types_8c_source.html#l00082">S2LP_Types.c:82</a></div></div>
<div class="ttc" id="S2LP__Regs_8h_html_ac2d2aa6f9eb2e0c59d60ecddd4c6fc56"><div class="ttname"><a href="S2LP__Regs_8h.html#ac2d2aa6f9eb2e0c59d60ecddd4c6fc56">PCKTCTRL3_ADDR</a></div><div class="ttdeci">#define PCKTCTRL3_ADDR</div><div class="ttdoc">PCKTCTRL3 register.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Regs_8h_source.html#l00485">S2LP_Regs.h:485</a></div></div>
<div class="ttc" id="S2LP__Regs_8h_html_a1303c5dc208bdf77da84d123b0d9559e"><div class="ttname"><a href="S2LP__Regs_8h.html#a1303c5dc208bdf77da84d123b0d9559e">PCKT_FLT_GOALS3_ADDR</a></div><div class="ttdeci">#define PCKT_FLT_GOALS3_ADDR</div><div class="ttdoc">PCKT_FLT_GOALS3 register.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Regs_8h_source.html#l00819">S2LP_Regs.h:819</a></div></div>
<div class="ttc" id="S2LP__Regs_8h_html_a6a54fe327205e10c2d16deba3364214d"><div class="ttname"><a href="S2LP__Regs_8h.html#a6a54fe327205e10c2d16deba3364214d">PCKT_FLT_GOALS2_ADDR</a></div><div class="ttdeci">#define PCKT_FLT_GOALS2_ADDR</div><div class="ttdoc">PCKT_FLT_GOALS2 register.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Regs_8h_source.html#l00832">S2LP_Regs.h:832</a></div></div>
<div class="ttc" id="group__PktBasic__Private__Functions_html_ga091d9fee473f7eeee0b6b9ca8e268387"><div class="ttname"><a href="group__PktBasic__Private__Functions.html#ga091d9fee473f7eeee0b6b9ca8e268387">S2LPPktBasicInit</a></div><div class="ttdeci">void S2LPPktBasicInit(PktBasicInit *pxPktBasicInit)</div><div class="ttdoc">Initialize the S2LP Basic packet according to the specified parameters in the PktBasicInit struct....</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8c_source.html#l00083">S2LP_PktBasic.c:83</a></div></div>
<div class="ttc" id="group__PktBasic__Exported__Macros_html_gac9a0e309f9013a209b9ee4d7d8a8f4a6"><div class="ttname"><a href="group__PktBasic__Exported__Macros.html#gac9a0e309f9013a209b9ee4d7d8a8f4a6">S2LPPktBasicFilterOnCrc</a></div><div class="ttdeci">#define S2LPPktBasicFilterOnCrc(xNewState)</div><div class="ttdoc">Enables or Disables the CRC filtering.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00196">S2LP_PktBasic.h:196</a></div></div>
<div class="ttc" id="S2LP__Regs_8h_html_ae49cf4626ed318fa60ef3e8dbda4aefb"><div class="ttname"><a href="S2LP__Regs_8h.html#ae49cf4626ed318fa60ef3e8dbda4aefb">PCKT_FLT_OPTIONS_ADDR</a></div><div class="ttdeci">#define PCKT_FLT_OPTIONS_ADDR</div><div class="ttdoc">PCKT_FLT_OPTIONS register.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__Regs_8h_source.html#l00788">S2LP_Regs.h:788</a></div></div>
<div class="ttc" id="structPktBasicAddressesInit_html_ac41be1b96d03207f5827000809a2b26f"><div class="ttname"><a href="structPktBasicAddressesInit.html#ac41be1b96d03207f5827000809a2b26f">PktBasicAddressesInit::cBroadcastAddress</a></div><div class="ttdeci">uint8_t cBroadcastAddress</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00142">S2LP_PktBasic.h:142</a></div></div>
<div class="ttc" id="structPktBasicInit_html_abe17bc0f2beed96909468cc02bc752ac"><div class="ttname"><a href="structPktBasicInit.html#abe17bc0f2beed96909468cc02bc752ac">PktBasicInit::xFec</a></div><div class="ttdeci">SFunctionalState xFec</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00127">S2LP_PktBasic.h:127</a></div></div>
<div class="ttc" id="MCU__Interface_8h_html"><div class="ttname"><a href="MCU__Interface_8h.html">MCU_Interface.h</a></div><div class="ttdoc">Header file for low level S2LP SPI driver.</div></div>
<div class="ttc" id="group__PktBasic__Private__Functions_html_ga14890a011c1e940b5672b04b5fc9e1c6"><div class="ttname"><a href="group__PktBasic__Private__Functions.html#ga14890a011c1e940b5672b04b5fc9e1c6">S2LPPktBasicSetPayloadLength</a></div><div class="ttdeci">void S2LPPktBasicSetPayloadLength(uint16_t nPayloadLength)</div><div class="ttdoc">Set the payload length for S2LP Basic packets. Since the packet length depends from the address and t...</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8c_source.html#l00366">S2LP_PktBasic.c:366</a></div></div>
<div class="ttc" id="group__PktBasic__Private__Functions_html_ga6bac74183427b69074beacd1fc6b45ef"><div class="ttname"><a href="group__PktBasic__Private__Functions.html#ga6bac74183427b69074beacd1fc6b45ef">S2LPPktBasicGetAddressField</a></div><div class="ttdeci">SFunctionalState S2LPPktBasicGetAddressField(void)</div><div class="ttdoc">Specify if the Address field for S2LP Basic packets is enabled or disabled.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8c_source.html#l00342">S2LP_PktBasic.c:342</a></div></div>
<div class="ttc" id="group__PktBasic__Private__Functions_html_gaf6489b77d2124c9d625a436856a4550b"><div class="ttname"><a href="group__PktBasic__Private__Functions.html#gaf6489b77d2124c9d625a436856a4550b">S2LPPktBasicGetPayloadLength</a></div><div class="ttdeci">uint16_t S2LPPktBasicGetPayloadLength(void)</div><div class="ttdoc">Return the payload length for S2LP Basic packets. Since the packet length depends from the address an...</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8c_source.html#l00388">S2LP_PktBasic.c:388</a></div></div>
<div class="ttc" id="group__PktBasic__Exported__Types_html_gae179b0f59c7a037c1da547b17ce7abeb"><div class="ttname"><a href="group__PktBasic__Exported__Types.html#gae179b0f59c7a037c1da547b17ce7abeb">BasicCrcMode</a></div><div class="ttdeci">PktCrcMode BasicCrcMode</div><div class="ttdoc">CRC length in bytes enumeration.</div><div class="ttdef"><b>Definition:</b> <a href="S2LP__PktBasic_8h_source.html#l00112">S2LP_PktBasic.h:112</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>