From d8926568cdb98e69ce6639426815dcc7daff2333 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Sat, 22 Aug 2020 08:30:47 +0000 Subject: [PATCH] Deploy jgromes/RadioLib to github.com/jgromes/RadioLib.git:gh-pages --- _a_f_s_k_8h_source.html | 133 ++ _a_x25_8h_source.html | 146 ++ _build_opt_8h_source.html | 123 ++ _c_c1101_8h_source.html | 167 ++ _e_s_p8266_8h_source.html | 135 ++ _h_c05_8h_source.html | 128 ++ _h_t_t_p_8h_source.html | 127 ++ _hellschreiber_8h_source.html | 129 ++ _i_serial_8h_source.html | 125 ++ _j_d_y08_8h_source.html | 128 ++ _m_q_t_t_8h_source.html | 133 ++ _module_8h_source.html | 166 ++ _morse_8h_source.html | 129 ++ _physical_layer_8h_source.html | 137 ++ _r_f69_8h_source.html | 173 ++ _r_f_m22_8h_source.html | 125 ++ _r_f_m23_8h_source.html | 125 ++ _r_f_m95_8h_source.html | 129 ++ _r_f_m96_8h_source.html | 130 ++ _r_f_m97_8h_source.html | 128 ++ _r_t_t_y_8h_source.html | 131 ++ _radio_lib_8h_source.html | 124 ++ _s_s_t_v_8h_source.html | 136 ++ _s_x1231_8h_source.html | 128 ++ _s_x1261_8h_source.html | 128 ++ _s_x1262_8h_source.html | 131 ++ _s_x1268_8h_source.html | 131 ++ _s_x126x_8h_source.html | 182 ++ _s_x1272_8h_source.html | 142 ++ _s_x1273_8h_source.html | 129 ++ _s_x1276_8h_source.html | 130 ++ _s_x1277_8h_source.html | 131 ++ _s_x1278_8h_source.html | 142 ++ _s_x1279_8h_source.html | 130 ++ _s_x127x_8h_source.html | 171 ++ _s_x1280_8h_source.html | 130 ++ _s_x1281_8h_source.html | 127 ++ _s_x1282_8h_source.html | 127 ++ _s_x128x_8h_source.html | 170 ++ _si4430_8h_source.html | 130 ++ _si4431_8h_source.html | 129 ++ _si4432_8h_source.html | 130 ++ _si443x_8h_source.html | 154 ++ _transport_layer_8h_source.html | 129 ++ _type_def_8h_source.html | 123 ++ _x_bee_8h_source.html | 132 ++ annotated.html | 179 ++ annotated_dup.js | 53 + arrowdown.png | Bin 0 -> 246 bytes arrowright.png | Bin 0 -> 229 bytes bc_s.png | Bin 0 -> 676 bytes bdwn.png | Bin 0 -> 147 bytes class_a_f_s_k_client-members.html | 136 ++ class_a_f_s_k_client.html | 263 +++ class_a_f_s_k_client.js | 11 + class_a_x25_client-members.html | 133 ++ class_a_x25_client.html | 336 ++++ class_a_x25_client.js | 8 + class_a_x25_frame-members.html | 150 ++ class_a_x25_frame.html | 572 ++++++ class_a_x25_frame.js | 25 + class_c_c1101-members.html | 175 ++ class_c_c1101.html | 1441 +++++++++++++++ class_c_c1101.js | 41 + class_c_c1101.png | Bin 0 -> 423 bytes class_e_s_p8266-members.html | 138 ++ class_e_s_p8266.html | 555 ++++++ class_e_s_p8266.js | 13 + class_e_s_p8266.png | Bin 0 -> 472 bytes class_h_c05-members.html | 160 ++ class_h_c05.html | 303 ++++ class_h_c05.js | 5 + class_h_c05.png | Bin 0 -> 332 bytes class_h_t_t_p_client-members.html | 132 ++ class_h_t_t_p_client.html | 323 ++++ class_h_t_t_p_client.js | 7 + class_hell_client-members.html | 156 ++ class_hell_client.html | 353 ++++ class_hell_client.js | 31 + class_i_serial-members.html | 159 ++ class_i_serial.html | 248 +++ class_i_serial.js | 34 + class_i_serial.png | Bin 0 -> 669 bytes class_i_t_a2_string-members.html | 133 ++ class_i_t_a2_string.html | 262 +++ class_i_t_a2_string.js | 8 + class_j_d_y08-members.html | 160 ++ class_j_d_y08.html | 303 ++++ class_j_d_y08.js | 5 + class_j_d_y08.png | Bin 0 -> 330 bytes class_m_q_t_t_client-members.html | 137 ++ class_m_q_t_t_client.html | 471 +++++ class_m_q_t_t_client.js | 12 + class_module-members.html | 176 ++ class_module.html | 1736 ++++++++++++++++++ class_module.js | 39 + class_morse_client-members.html | 156 ++ class_morse_client.html | 348 ++++ class_morse_client.js | 31 + class_physical_layer-members.html | 148 ++ class_physical_layer.html | 972 ++++++++++ class_physical_layer.js | 23 + class_physical_layer.png | Bin 0 -> 6207 bytes class_r_f69-members.html | 180 ++ class_r_f69.html | 1462 ++++++++++++++++ class_r_f69.js | 46 + class_r_f69.png | Bin 0 -> 595 bytes class_r_f_m22.html | 136 ++ class_r_f_m23.html | 136 ++ class_r_f_m95-members.html | 195 +++ class_r_f_m95.html | 498 ++++++ class_r_f_m95.js | 6 + class_r_f_m95.png | Bin 0 -> 930 bytes class_r_f_m96-members.html | 195 +++ class_r_f_m96.html | 497 ++++++ class_r_f_m96.js | 6 + class_r_f_m96.png | Bin 0 -> 779 bytes class_r_f_m97-members.html | 196 +++ class_r_f_m97.html | 427 +++++ class_r_f_m97.js | 5 + class_r_f_m97.png | Bin 0 -> 927 bytes class_r_f_m98.html | 136 ++ class_r_t_t_y_client-members.html | 158 ++ class_r_t_t_y_client.html | 358 ++++ class_r_t_t_y_client.js | 33 + class_s_s_t_v_client-members.html | 136 ++ class_s_s_t_v_client.html | 357 ++++ class_s_s_t_v_client.js | 11 + class_s_x1231-members.html | 181 ++ class_s_x1231.html | 412 +++++ class_s_x1231.js | 5 + class_s_x1231.png | Bin 0 -> 588 bytes class_s_x1261-members.html | 197 +++ class_s_x1261.html | 421 +++++ class_s_x1261.js | 5 + class_s_x1261.png | Bin 0 -> 791 bytes class_s_x1262-members.html | 196 +++ class_s_x1262.html | 617 +++++++ class_s_x1262.js | 8 + class_s_x1262.png | Bin 0 -> 798 bytes class_s_x1268-members.html | 196 +++ class_s_x1268.html | 617 +++++++ class_s_x1268.js | 8 + class_s_x1268.png | Bin 0 -> 623 bytes class_s_x126x-members.html | 191 ++ class_s_x126x.html | 1946 +++++++++++++++++++++ class_s_x126x.js | 57 + class_s_x126x.png | Bin 0 -> 1060 bytes class_s_x1272-members.html | 194 ++ class_s_x1272.html | 829 +++++++++ class_s_x1272.js | 19 + class_s_x1272.png | Bin 0 -> 808 bytes class_s_x1273-members.html | 195 +++ class_s_x1273.html | 497 ++++++ class_s_x1273.js | 6 + class_s_x1273.png | Bin 0 -> 804 bytes class_s_x1276-members.html | 195 +++ class_s_x1276.html | 571 ++++++ class_s_x1276.js | 7 + class_s_x1276.png | Bin 0 -> 793 bytes class_s_x1277-members.html | 195 +++ class_s_x1277.html | 599 +++++++ class_s_x1277.js | 8 + class_s_x1277.png | Bin 0 -> 783 bytes class_s_x1278-members.html | 194 ++ class_s_x1278.html | 834 +++++++++ class_s_x1278.js | 19 + class_s_x1278.png | Bin 0 -> 1965 bytes class_s_x1279-members.html | 195 +++ class_s_x1279.html | 571 ++++++ class_s_x1279.js | 7 + class_s_x1279.png | Bin 0 -> 789 bytes class_s_x127x-members.html | 180 ++ class_s_x127x.html | 1478 ++++++++++++++++ class_s_x127x.js | 45 + class_s_x127x.png | Bin 0 -> 2429 bytes class_s_x1280-members.html | 182 ++ class_s_x1280.html | 438 +++++ class_s_x1280.js | 7 + class_s_x1280.png | Bin 0 -> 932 bytes class_s_x1281-members.html | 178 ++ class_s_x1281.html | 334 ++++ class_s_x1281.js | 4 + class_s_x1281.png | Bin 0 -> 936 bytes class_s_x1282-members.html | 183 ++ class_s_x1282.html | 352 ++++ class_s_x1282.js | 4 + class_s_x1282.png | Bin 0 -> 932 bytes class_s_x128x-members.html | 177 ++ class_s_x128x.html | 1605 +++++++++++++++++ class_s_x128x.js | 43 + class_s_x128x.png | Bin 0 -> 942 bytes class_si4430-members.html | 166 ++ class_si4430.html | 423 +++++ class_si4430.js | 7 + class_si4430.png | Bin 0 -> 773 bytes class_si4431-members.html | 166 ++ class_si4431.html | 395 +++++ class_si4431.js | 6 + class_si4431.png | Bin 0 -> 774 bytes class_si4432-members.html | 165 ++ class_si4432.html | 411 +++++ class_si4432.js | 7 + class_si4432.png | Bin 0 -> 1033 bytes class_si443x-members.html | 161 ++ class_si443x.html | 996 +++++++++++ class_si443x.js | 27 + class_si443x.png | Bin 0 -> 1037 bytes class_transport_layer-members.html | 134 ++ class_transport_layer.html | 439 +++++ class_transport_layer.js | 9 + class_transport_layer.png | Bin 0 -> 479 bytes class_x_bee-members.html | 137 ++ class_x_bee.html | 392 +++++ class_x_bee.js | 12 + class_x_bee_serial-members.html | 163 ++ class_x_bee_serial.html | 374 ++++ class_x_bee_serial.js | 8 + class_x_bee_serial.png | Bin 0 -> 417 bytes classes.html | 162 ++ classn_r_f24-members.html | 166 ++ classn_r_f24.html | 1184 +++++++++++++ classn_r_f24.js | 32 + classn_r_f24.png | Bin 0 -> 447 bytes closed.png | Bin 0 -> 132 bytes dir_022d1f7e87f0a3cd97fb9c4aa339f7b1.html | 127 ++ dir_022d1f7e87f0a3cd97fb9c4aa339f7b1.js | 4 + dir_1496c164e9c77875dd570f4157f3157f.html | 127 ++ dir_1496c164e9c77875dd570f4157f3157f.js | 5 + dir_2cdd3c47e80335731aa10f67042c391a.html | 127 ++ dir_2cdd3c47e80335731aa10f67042c391a.js | 4 + dir_2d04440730a0443b949b3f3ffedccfc3.html | 127 ++ dir_2d04440730a0443b949b3f3ffedccfc3.js | 4 + dir_31c953e8b112b915d208fa745d66f12e.html | 127 ++ dir_31c953e8b112b915d208fa745d66f12e.js | 4 + dir_3a277ada553fbb989028f9b071a02542.html | 127 ++ dir_3a277ada553fbb989028f9b071a02542.js | 4 + dir_47c60a953c7c148861b9fe25d51850eb.html | 127 ++ dir_47c60a953c7c148861b9fe25d51850eb.js | 4 + dir_620e20826520c01cf981aa9c981ff885.html | 127 ++ dir_620e20826520c01cf981aa9c981ff885.js | 4 + dir_66baa0cb3ce3b01929266fe63d8714ed.html | 127 ++ dir_66baa0cb3ce3b01929266fe63d8714ed.js | 4 + dir_66ce0d8112a82c480b60d648cf9cb1ca.html | 127 ++ dir_66ce0d8112a82c480b60d648cf9cb1ca.js | 4 + dir_68267d1309a1af8e8297ef4c3efbcdba.html | 130 ++ dir_68267d1309a1af8e8297ef4c3efbcdba.js | 10 + dir_6baa7f88a31cf8c1ad1b651eaa1fd5b9.html | 127 ++ dir_6baa7f88a31cf8c1ad1b651eaa1fd5b9.js | 6 + dir_70c194bd40717a4946dbd8bc35f09b17.html | 127 ++ dir_70c194bd40717a4946dbd8bc35f09b17.js | 4 + dir_747c20e84f9dfe1cc835713177129efc.html | 127 ++ dir_747c20e84f9dfe1cc835713177129efc.js | 7 + dir_79690749eba542503bb1a9a3dbb495e1.html | 127 ++ dir_79690749eba542503bb1a9a3dbb495e1.js | 13 + dir_7b8feacc70eb38d5fd56f060c649a59c.html | 127 ++ dir_7b8feacc70eb38d5fd56f060c649a59c.js | 4 + dir_8d5439df06ea2679013aa8390703d116.html | 127 ++ dir_8d5439df06ea2679013aa8390703d116.js | 4 + dir_a6b6d785787649e9a3efd5036a39108c.html | 127 ++ dir_a6b6d785787649e9a3efd5036a39108c.js | 4 + dir_a758e8e29d8436beff5e1f16d5ed2d65.html | 127 ++ dir_a758e8e29d8436beff5e1f16d5ed2d65.js | 4 + dir_c14921ab4918e015c91d11c846a1924a.html | 127 ++ dir_c14921ab4918e015c91d11c846a1924a.js | 4 + dir_d916eb25599dc82f14db514c97a6ae6d.html | 127 ++ dir_d916eb25599dc82f14db514c97a6ae6d.js | 4 + dir_ddb4d7e95cc2d6c8e1ade10a20d7247d.html | 127 ++ dir_ddb4d7e95cc2d6c8e1ade10a20d7247d.js | 17 + dir_e2961291c878e1b3ab9447d79b865c81.html | 127 ++ dir_e2961291c878e1b3ab9447d79b865c81.js | 7 + dir_e824c1032eaf58988755f8ba9735594b.html | 127 ++ dir_e824c1032eaf58988755f8ba9735594b.js | 4 + dir_ec8372b468150f98f42c73cf97f51298.html | 127 ++ dir_ec8372b468150f98f42c73cf97f51298.js | 4 + dir_ed12d23d857ca7061030f8751e72e77c.html | 127 ++ dir_ed12d23d857ca7061030f8751e72e77c.js | 7 + dir_f980efad9544c0545d0fa50a84ff12f2.html | 127 ++ dir_f980efad9544c0545d0fa50a84ff12f2.js | 10 + doc.png | Bin 0 -> 746 bytes doxygen.css | 1475 ++++++++++++++++ doxygen.png | Bin 0 -> 3779 bytes dynsections.js | 97 + files.html | 200 +++ files.js | 4 + folderclosed.png | Bin 0 -> 616 bytes folderopen.png | Bin 0 -> 597 bytes functions.html | 195 +++ functions_0x7e.html | 166 ++ functions_b.html | 219 +++ functions_c.html | 195 +++ functions_d.html | 200 +++ functions_dup.js | 27 + functions_e.html | 174 ++ functions_f.html | 174 ++ functions_func.html | 191 ++ functions_func.js | 26 + functions_func_0x7e.html | 165 ++ functions_func_b.html | 215 +++ functions_func_c.html | 191 ++ functions_func_d.html | 193 ++ functions_func_e.html | 173 ++ functions_func_f.html | 170 ++ functions_func_g.html | 260 +++ functions_func_h.html | 168 ++ functions_func_i.html | 176 ++ functions_func_j.html | 165 ++ functions_func_l.html | 162 ++ functions_func_m.html | 174 ++ functions_func_n.html | 166 ++ functions_func_o.html | 167 ++ functions_func_p.html | 183 ++ functions_func_r.html | 221 +++ functions_func_s.html | 563 ++++++ functions_func_t.html | 188 ++ functions_func_u.html | 162 ++ functions_func_v.html | 165 ++ functions_func_x.html | 165 ++ functions_func_y.html | 162 ++ functions_g.html | 261 +++ functions_h.html | 172 ++ functions_i.html | 183 ++ functions_j.html | 166 ++ functions_l.html | 166 ++ functions_m.html | 178 ++ functions_n.html | 173 ++ functions_o.html | 168 ++ functions_p.html | 187 ++ functions_r.html | 231 +++ functions_s.html | 582 ++++++ functions_t.html | 195 +++ functions_u.html | 163 ++ functions_v.html | 169 ++ functions_vars.html | 211 +++ functions_w.html | 163 ++ functions_x.html | 166 ++ functions_y.html | 163 ++ group__config__encoding.html | 136 ++ group__config__encoding.js | 6 + group__config__shaping.html | 144 ++ group__config__shaping.js | 8 + group__shield__config.html | 136 ++ group__shield__config.js | 6 + group__status__codes.html | 479 +++++ group__status__codes.js | 74 + group__uart__config.html | 164 ++ group__uart__config.js | 13 + hierarchy.html | 179 ++ hierarchy.js | 68 + index.html | 154 ++ jquery.js | 68 + modules.html | 126 ++ modules.js | 8 + n_r_f24_8h_source.html | 157 ++ nav_f.png | Bin 0 -> 153 bytes nav_g.png | Bin 0 -> 95 bytes nav_h.png | Bin 0 -> 98 bytes navtree.css | 143 ++ navtree.js | 523 ++++++ navtreedata.js | 32 + navtreeindex0.js | 253 +++ navtreeindex1.js | 253 +++ navtreeindex2.js | 253 +++ navtreeindex3.js | 171 ++ open.png | Bin 0 -> 123 bytes pages.html | 122 ++ resize.js | 97 + search/all_0.html | 26 + search/all_0.js | 14 + search/all_1.html | 26 + search/all_1.js | 10 + search/all_10.html | 26 + search/all_10.js | 102 ++ search/all_11.html | 26 + search/all_11.js | 12 + search/all_12.html | 26 + search/all_12.js | 5 + search/all_13.html | 26 + search/all_13.js | 5 + search/all_14.html | 26 + search/all_14.js | 4 + search/all_15.html | 26 + search/all_15.js | 5 + search/all_16.html | 26 + search/all_16.js | 4 + search/all_17.html | 26 + search/all_17.js | 5 + search/all_2.html | 26 + search/all_2.js | 14 + search/all_3.html | 26 + search/all_3.js | 16 + search/all_4.html | 26 + search/all_4.js | 73 + search/all_5.html | 26 + search/all_5.js | 6 + search/all_6.html | 26 + search/all_6.js | 31 + search/all_7.html | 26 + search/all_7.js | 7 + search/all_8.html | 26 + search/all_8.js | 11 + search/all_9.html | 26 + search/all_9.js | 5 + search/all_a.html | 26 + search/all_a.js | 6 + search/all_b.html | 26 + search/all_b.js | 12 + search/all_c.html | 26 + search/all_c.js | 7 + search/all_d.html | 26 + search/all_d.js | 5 + search/all_e.html | 26 + search/all_e.js | 12 + search/all_f.html | 26 + search/all_f.js | 41 + search/classes_0.html | 26 + search/classes_0.js | 6 + search/classes_1.html | 26 + search/classes_1.js | 4 + search/classes_2.html | 26 + search/classes_2.js | 4 + search/classes_3.html | 26 + search/classes_3.js | 6 + search/classes_4.html | 26 + search/classes_4.js | 5 + search/classes_5.html | 26 + search/classes_5.js | 4 + search/classes_6.html | 26 + search/classes_6.js | 6 + search/classes_7.html | 26 + search/classes_7.js | 4 + search/classes_8.html | 26 + search/classes_8.js | 4 + search/classes_9.html | 26 + search/classes_9.js | 11 + search/classes_a.html | 26 + search/classes_a.js | 25 + search/classes_b.html | 26 + search/classes_b.js | 5 + search/classes_c.html | 26 + search/classes_c.js | 5 + search/close.png | Bin 0 -> 273 bytes search/functions_0.html | 26 + search/functions_0.js | 13 + search/functions_1.html | 26 + search/functions_1.js | 9 + search/functions_10.html | 26 + search/functions_10.js | 93 + search/functions_11.html | 26 + search/functions_11.js | 7 + search/functions_12.html | 26 + search/functions_12.js | 4 + search/functions_13.html | 26 + search/functions_13.js | 4 + search/functions_14.html | 26 + search/functions_14.js | 5 + search/functions_15.html | 26 + search/functions_15.js | 4 + search/functions_16.html | 26 + search/functions_16.js | 5 + search/functions_2.html | 26 + search/functions_2.js | 12 + search/functions_3.html | 26 + search/functions_3.js | 13 + search/functions_4.html | 26 + search/functions_4.js | 7 + search/functions_5.html | 26 + search/functions_5.js | 5 + search/functions_6.html | 26 + search/functions_6.js | 31 + search/functions_7.html | 26 + search/functions_7.js | 6 + search/functions_8.html | 26 + search/functions_8.js | 8 + search/functions_9.html | 26 + search/functions_9.js | 5 + search/functions_a.html | 26 + search/functions_a.js | 4 + search/functions_b.html | 26 + search/functions_b.js | 8 + search/functions_c.html | 26 + search/functions_c.js | 5 + search/functions_d.html | 26 + search/functions_d.js | 5 + search/functions_e.html | 26 + search/functions_e.js | 10 + search/functions_f.html | 26 + search/functions_f.js | 13 + search/groups_0.html | 26 + search/groups_0.js | 4 + search/groups_1.html | 26 + search/groups_1.js | 4 + search/groups_2.html | 26 + search/groups_2.js | 5 + search/groups_3.html | 26 + search/groups_3.js | 4 + search/mag_sel.png | Bin 0 -> 563 bytes search/nomatches.html | 12 + search/pages_0.html | 26 + search/pages_0.js | 4 + search/pages_1.html | 26 + search/pages_1.js | 4 + search/search.css | 271 +++ search/search.js | 791 +++++++++ search/search_l.png | Bin 0 -> 604 bytes search/search_m.png | Bin 0 -> 158 bytes search/search_r.png | Bin 0 -> 612 bytes search/searchdata.js | 30 + search/variables_0.html | 26 + search/variables_0.js | 4 + search/variables_1.html | 26 + search/variables_1.js | 4 + search/variables_2.html | 26 + search/variables_2.js | 4 + search/variables_3.html | 26 + search/variables_3.js | 5 + search/variables_4.html | 26 + search/variables_4.js | 4 + search/variables_5.html | 26 + search/variables_5.js | 4 + search/variables_6.html | 26 + search/variables_6.js | 5 + search/variables_7.html | 26 + search/variables_7.js | 4 + search/variables_8.html | 26 + search/variables_8.js | 4 + search/variables_9.html | 26 + search/variables_9.js | 5 + search/variables_a.html | 26 + search/variables_a.js | 4 + search/variables_b.html | 26 + search/variables_b.js | 6 + search/variables_c.html | 26 + search/variables_c.js | 9 + search/variables_d.html | 26 + search/variables_d.js | 5 + search/variables_e.html | 26 + search/variables_e.js | 4 + search/variables_f.html | 26 + search/variables_f.js | 4 + splitbar.png | Bin 0 -> 314 bytes struct_s_s_t_v_mode__t-members.html | 134 ++ struct_s_s_t_v_mode__t.html | 167 ++ struct_s_s_t_v_mode__t.js | 9 + structtone__t-members.html | 135 ++ structtone__t.html | 166 ++ structtone__t.js | 10 + sync_off.png | Bin 0 -> 853 bytes sync_on.png | Bin 0 -> 845 bytes tab_a.png | Bin 0 -> 142 bytes tab_b.png | Bin 0 -> 169 bytes tab_h.png | Bin 0 -> 177 bytes tab_s.png | Bin 0 -> 184 bytes tabs.css | 60 + todo.html | 151 ++ 555 files changed, 67939 insertions(+) create mode 100644 _a_f_s_k_8h_source.html create mode 100644 _a_x25_8h_source.html create mode 100644 _build_opt_8h_source.html create mode 100644 _c_c1101_8h_source.html create mode 100644 _e_s_p8266_8h_source.html create mode 100644 _h_c05_8h_source.html create mode 100644 _h_t_t_p_8h_source.html create mode 100644 _hellschreiber_8h_source.html create mode 100644 _i_serial_8h_source.html create mode 100644 _j_d_y08_8h_source.html create mode 100644 _m_q_t_t_8h_source.html create mode 100644 _module_8h_source.html create mode 100644 _morse_8h_source.html create mode 100644 _physical_layer_8h_source.html create mode 100644 _r_f69_8h_source.html create mode 100644 _r_f_m22_8h_source.html create mode 100644 _r_f_m23_8h_source.html create mode 100644 _r_f_m95_8h_source.html create mode 100644 _r_f_m96_8h_source.html create mode 100644 _r_f_m97_8h_source.html create mode 100644 _r_t_t_y_8h_source.html create mode 100644 _radio_lib_8h_source.html create mode 100644 _s_s_t_v_8h_source.html create mode 100644 _s_x1231_8h_source.html create mode 100644 _s_x1261_8h_source.html create mode 100644 _s_x1262_8h_source.html create mode 100644 _s_x1268_8h_source.html create mode 100644 _s_x126x_8h_source.html create mode 100644 _s_x1272_8h_source.html create mode 100644 _s_x1273_8h_source.html create mode 100644 _s_x1276_8h_source.html create mode 100644 _s_x1277_8h_source.html create mode 100644 _s_x1278_8h_source.html create mode 100644 _s_x1279_8h_source.html create mode 100644 _s_x127x_8h_source.html create mode 100644 _s_x1280_8h_source.html create mode 100644 _s_x1281_8h_source.html create mode 100644 _s_x1282_8h_source.html create mode 100644 _s_x128x_8h_source.html create mode 100644 _si4430_8h_source.html create mode 100644 _si4431_8h_source.html create mode 100644 _si4432_8h_source.html create mode 100644 _si443x_8h_source.html create mode 100644 _transport_layer_8h_source.html create mode 100644 _type_def_8h_source.html create mode 100644 _x_bee_8h_source.html create mode 100644 annotated.html create mode 100644 annotated_dup.js create mode 100644 arrowdown.png create mode 100644 arrowright.png create mode 100644 bc_s.png create mode 100644 bdwn.png create mode 100644 class_a_f_s_k_client-members.html create mode 100644 class_a_f_s_k_client.html create mode 100644 class_a_f_s_k_client.js create mode 100644 class_a_x25_client-members.html create mode 100644 class_a_x25_client.html create mode 100644 class_a_x25_client.js create mode 100644 class_a_x25_frame-members.html create mode 100644 class_a_x25_frame.html create mode 100644 class_a_x25_frame.js create mode 100644 class_c_c1101-members.html create mode 100644 class_c_c1101.html create mode 100644 class_c_c1101.js create mode 100644 class_c_c1101.png create mode 100644 class_e_s_p8266-members.html create mode 100644 class_e_s_p8266.html create mode 100644 class_e_s_p8266.js create mode 100644 class_e_s_p8266.png create mode 100644 class_h_c05-members.html create mode 100644 class_h_c05.html create mode 100644 class_h_c05.js create mode 100644 class_h_c05.png create mode 100644 class_h_t_t_p_client-members.html create mode 100644 class_h_t_t_p_client.html create mode 100644 class_h_t_t_p_client.js create mode 100644 class_hell_client-members.html create mode 100644 class_hell_client.html create mode 100644 class_hell_client.js create mode 100644 class_i_serial-members.html create mode 100644 class_i_serial.html create mode 100644 class_i_serial.js create mode 100644 class_i_serial.png create mode 100644 class_i_t_a2_string-members.html create mode 100644 class_i_t_a2_string.html create mode 100644 class_i_t_a2_string.js create mode 100644 class_j_d_y08-members.html create mode 100644 class_j_d_y08.html create mode 100644 class_j_d_y08.js create mode 100644 class_j_d_y08.png create mode 100644 class_m_q_t_t_client-members.html create mode 100644 class_m_q_t_t_client.html create mode 100644 class_m_q_t_t_client.js create mode 100644 class_module-members.html create mode 100644 class_module.html create mode 100644 class_module.js create mode 100644 class_morse_client-members.html create mode 100644 class_morse_client.html create mode 100644 class_morse_client.js create mode 100644 class_physical_layer-members.html create mode 100644 class_physical_layer.html create mode 100644 class_physical_layer.js create mode 100644 class_physical_layer.png create mode 100644 class_r_f69-members.html create mode 100644 class_r_f69.html create mode 100644 class_r_f69.js create mode 100644 class_r_f69.png create mode 100644 class_r_f_m22.html create mode 100644 class_r_f_m23.html create mode 100644 class_r_f_m95-members.html create mode 100644 class_r_f_m95.html create mode 100644 class_r_f_m95.js create mode 100644 class_r_f_m95.png create mode 100644 class_r_f_m96-members.html create mode 100644 class_r_f_m96.html create mode 100644 class_r_f_m96.js create mode 100644 class_r_f_m96.png create mode 100644 class_r_f_m97-members.html create mode 100644 class_r_f_m97.html create mode 100644 class_r_f_m97.js create mode 100644 class_r_f_m97.png create mode 100644 class_r_f_m98.html create mode 100644 class_r_t_t_y_client-members.html create mode 100644 class_r_t_t_y_client.html create mode 100644 class_r_t_t_y_client.js create mode 100644 class_s_s_t_v_client-members.html create mode 100644 class_s_s_t_v_client.html create mode 100644 class_s_s_t_v_client.js create mode 100644 class_s_x1231-members.html create mode 100644 class_s_x1231.html create mode 100644 class_s_x1231.js create mode 100644 class_s_x1231.png create mode 100644 class_s_x1261-members.html create mode 100644 class_s_x1261.html create mode 100644 class_s_x1261.js create mode 100644 class_s_x1261.png create mode 100644 class_s_x1262-members.html create mode 100644 class_s_x1262.html create mode 100644 class_s_x1262.js create mode 100644 class_s_x1262.png create mode 100644 class_s_x1268-members.html create mode 100644 class_s_x1268.html create mode 100644 class_s_x1268.js create mode 100644 class_s_x1268.png create mode 100644 class_s_x126x-members.html create mode 100644 class_s_x126x.html create mode 100644 class_s_x126x.js create mode 100644 class_s_x126x.png create mode 100644 class_s_x1272-members.html create mode 100644 class_s_x1272.html create mode 100644 class_s_x1272.js create mode 100644 class_s_x1272.png create mode 100644 class_s_x1273-members.html create mode 100644 class_s_x1273.html create mode 100644 class_s_x1273.js create mode 100644 class_s_x1273.png create mode 100644 class_s_x1276-members.html create mode 100644 class_s_x1276.html create mode 100644 class_s_x1276.js create mode 100644 class_s_x1276.png create mode 100644 class_s_x1277-members.html create mode 100644 class_s_x1277.html create mode 100644 class_s_x1277.js create mode 100644 class_s_x1277.png create mode 100644 class_s_x1278-members.html create mode 100644 class_s_x1278.html create mode 100644 class_s_x1278.js create mode 100644 class_s_x1278.png create mode 100644 class_s_x1279-members.html create mode 100644 class_s_x1279.html create mode 100644 class_s_x1279.js create mode 100644 class_s_x1279.png create mode 100644 class_s_x127x-members.html create mode 100644 class_s_x127x.html create mode 100644 class_s_x127x.js create mode 100644 class_s_x127x.png create mode 100644 class_s_x1280-members.html create mode 100644 class_s_x1280.html create mode 100644 class_s_x1280.js create mode 100644 class_s_x1280.png create mode 100644 class_s_x1281-members.html create mode 100644 class_s_x1281.html create mode 100644 class_s_x1281.js create mode 100644 class_s_x1281.png create mode 100644 class_s_x1282-members.html create mode 100644 class_s_x1282.html create mode 100644 class_s_x1282.js create mode 100644 class_s_x1282.png create mode 100644 class_s_x128x-members.html create mode 100644 class_s_x128x.html create mode 100644 class_s_x128x.js create mode 100644 class_s_x128x.png create mode 100644 class_si4430-members.html create mode 100644 class_si4430.html create mode 100644 class_si4430.js create mode 100644 class_si4430.png create mode 100644 class_si4431-members.html create mode 100644 class_si4431.html create mode 100644 class_si4431.js create mode 100644 class_si4431.png create mode 100644 class_si4432-members.html create mode 100644 class_si4432.html create mode 100644 class_si4432.js create mode 100644 class_si4432.png create mode 100644 class_si443x-members.html create mode 100644 class_si443x.html create mode 100644 class_si443x.js create mode 100644 class_si443x.png create mode 100644 class_transport_layer-members.html create mode 100644 class_transport_layer.html create mode 100644 class_transport_layer.js create mode 100644 class_transport_layer.png create mode 100644 class_x_bee-members.html create mode 100644 class_x_bee.html create mode 100644 class_x_bee.js create mode 100644 class_x_bee_serial-members.html create mode 100644 class_x_bee_serial.html create mode 100644 class_x_bee_serial.js create mode 100644 class_x_bee_serial.png create mode 100644 classes.html create mode 100644 classn_r_f24-members.html create mode 100644 classn_r_f24.html create mode 100644 classn_r_f24.js create mode 100644 classn_r_f24.png create mode 100644 closed.png create mode 100644 dir_022d1f7e87f0a3cd97fb9c4aa339f7b1.html create mode 100644 dir_022d1f7e87f0a3cd97fb9c4aa339f7b1.js create mode 100644 dir_1496c164e9c77875dd570f4157f3157f.html create mode 100644 dir_1496c164e9c77875dd570f4157f3157f.js create mode 100644 dir_2cdd3c47e80335731aa10f67042c391a.html create mode 100644 dir_2cdd3c47e80335731aa10f67042c391a.js create mode 100644 dir_2d04440730a0443b949b3f3ffedccfc3.html create mode 100644 dir_2d04440730a0443b949b3f3ffedccfc3.js create mode 100644 dir_31c953e8b112b915d208fa745d66f12e.html create mode 100644 dir_31c953e8b112b915d208fa745d66f12e.js create mode 100644 dir_3a277ada553fbb989028f9b071a02542.html create mode 100644 dir_3a277ada553fbb989028f9b071a02542.js create mode 100644 dir_47c60a953c7c148861b9fe25d51850eb.html create mode 100644 dir_47c60a953c7c148861b9fe25d51850eb.js create mode 100644 dir_620e20826520c01cf981aa9c981ff885.html create mode 100644 dir_620e20826520c01cf981aa9c981ff885.js create mode 100644 dir_66baa0cb3ce3b01929266fe63d8714ed.html create mode 100644 dir_66baa0cb3ce3b01929266fe63d8714ed.js create mode 100644 dir_66ce0d8112a82c480b60d648cf9cb1ca.html create mode 100644 dir_66ce0d8112a82c480b60d648cf9cb1ca.js create mode 100644 dir_68267d1309a1af8e8297ef4c3efbcdba.html create mode 100644 dir_68267d1309a1af8e8297ef4c3efbcdba.js create mode 100644 dir_6baa7f88a31cf8c1ad1b651eaa1fd5b9.html create mode 100644 dir_6baa7f88a31cf8c1ad1b651eaa1fd5b9.js create mode 100644 dir_70c194bd40717a4946dbd8bc35f09b17.html create mode 100644 dir_70c194bd40717a4946dbd8bc35f09b17.js create mode 100644 dir_747c20e84f9dfe1cc835713177129efc.html create mode 100644 dir_747c20e84f9dfe1cc835713177129efc.js create mode 100644 dir_79690749eba542503bb1a9a3dbb495e1.html create mode 100644 dir_79690749eba542503bb1a9a3dbb495e1.js create mode 100644 dir_7b8feacc70eb38d5fd56f060c649a59c.html create mode 100644 dir_7b8feacc70eb38d5fd56f060c649a59c.js create mode 100644 dir_8d5439df06ea2679013aa8390703d116.html create mode 100644 dir_8d5439df06ea2679013aa8390703d116.js create mode 100644 dir_a6b6d785787649e9a3efd5036a39108c.html create mode 100644 dir_a6b6d785787649e9a3efd5036a39108c.js create mode 100644 dir_a758e8e29d8436beff5e1f16d5ed2d65.html create mode 100644 dir_a758e8e29d8436beff5e1f16d5ed2d65.js create mode 100644 dir_c14921ab4918e015c91d11c846a1924a.html create mode 100644 dir_c14921ab4918e015c91d11c846a1924a.js create mode 100644 dir_d916eb25599dc82f14db514c97a6ae6d.html create mode 100644 dir_d916eb25599dc82f14db514c97a6ae6d.js create mode 100644 dir_ddb4d7e95cc2d6c8e1ade10a20d7247d.html create mode 100644 dir_ddb4d7e95cc2d6c8e1ade10a20d7247d.js create mode 100644 dir_e2961291c878e1b3ab9447d79b865c81.html create mode 100644 dir_e2961291c878e1b3ab9447d79b865c81.js create mode 100644 dir_e824c1032eaf58988755f8ba9735594b.html create mode 100644 dir_e824c1032eaf58988755f8ba9735594b.js create mode 100644 dir_ec8372b468150f98f42c73cf97f51298.html create mode 100644 dir_ec8372b468150f98f42c73cf97f51298.js create mode 100644 dir_ed12d23d857ca7061030f8751e72e77c.html create mode 100644 dir_ed12d23d857ca7061030f8751e72e77c.js create mode 100644 dir_f980efad9544c0545d0fa50a84ff12f2.html create mode 100644 dir_f980efad9544c0545d0fa50a84ff12f2.js create mode 100644 doc.png create mode 100644 doxygen.css create mode 100644 doxygen.png create mode 100644 dynsections.js create mode 100644 files.html create mode 100644 files.js create mode 100644 folderclosed.png create mode 100644 folderopen.png create mode 100644 functions.html create mode 100644 functions_0x7e.html create mode 100644 functions_b.html create mode 100644 functions_c.html create mode 100644 functions_d.html create mode 100644 functions_dup.js create mode 100644 functions_e.html create mode 100644 functions_f.html create mode 100644 functions_func.html create mode 100644 functions_func.js create mode 100644 functions_func_0x7e.html create mode 100644 functions_func_b.html create mode 100644 functions_func_c.html create mode 100644 functions_func_d.html create mode 100644 functions_func_e.html create mode 100644 functions_func_f.html create mode 100644 functions_func_g.html create mode 100644 functions_func_h.html create mode 100644 functions_func_i.html create mode 100644 functions_func_j.html create mode 100644 functions_func_l.html create mode 100644 functions_func_m.html create mode 100644 functions_func_n.html create mode 100644 functions_func_o.html create mode 100644 functions_func_p.html create mode 100644 functions_func_r.html create mode 100644 functions_func_s.html create mode 100644 functions_func_t.html create mode 100644 functions_func_u.html create mode 100644 functions_func_v.html create mode 100644 functions_func_x.html create mode 100644 functions_func_y.html create mode 100644 functions_g.html create mode 100644 functions_h.html create mode 100644 functions_i.html create mode 100644 functions_j.html create mode 100644 functions_l.html create mode 100644 functions_m.html create mode 100644 functions_n.html create mode 100644 functions_o.html create mode 100644 functions_p.html create mode 100644 functions_r.html create mode 100644 functions_s.html create mode 100644 functions_t.html create mode 100644 functions_u.html create mode 100644 functions_v.html create mode 100644 functions_vars.html create mode 100644 functions_w.html create mode 100644 functions_x.html create mode 100644 functions_y.html create mode 100644 group__config__encoding.html create mode 100644 group__config__encoding.js create mode 100644 group__config__shaping.html create mode 100644 group__config__shaping.js create mode 100644 group__shield__config.html create mode 100644 group__shield__config.js create mode 100644 group__status__codes.html create mode 100644 group__status__codes.js create mode 100644 group__uart__config.html create mode 100644 group__uart__config.js create mode 100644 hierarchy.html create mode 100644 hierarchy.js create mode 100644 index.html create mode 100644 jquery.js create mode 100644 modules.html create mode 100644 modules.js create mode 100644 n_r_f24_8h_source.html create mode 100644 nav_f.png create mode 100644 nav_g.png create mode 100644 nav_h.png create mode 100644 navtree.css create mode 100644 navtree.js create mode 100644 navtreedata.js create mode 100644 navtreeindex0.js create mode 100644 navtreeindex1.js create mode 100644 navtreeindex2.js create mode 100644 navtreeindex3.js create mode 100644 open.png create mode 100644 pages.html create mode 100644 resize.js create mode 100644 search/all_0.html create mode 100644 search/all_0.js create mode 100644 search/all_1.html create mode 100644 search/all_1.js create mode 100644 search/all_10.html create mode 100644 search/all_10.js create mode 100644 search/all_11.html create mode 100644 search/all_11.js create mode 100644 search/all_12.html create mode 100644 search/all_12.js create mode 100644 search/all_13.html create mode 100644 search/all_13.js create mode 100644 search/all_14.html create mode 100644 search/all_14.js create mode 100644 search/all_15.html create mode 100644 search/all_15.js create mode 100644 search/all_16.html create mode 100644 search/all_16.js create mode 100644 search/all_17.html create mode 100644 search/all_17.js create mode 100644 search/all_2.html create mode 100644 search/all_2.js create mode 100644 search/all_3.html create mode 100644 search/all_3.js create mode 100644 search/all_4.html create mode 100644 search/all_4.js create mode 100644 search/all_5.html create mode 100644 search/all_5.js create mode 100644 search/all_6.html create mode 100644 search/all_6.js create mode 100644 search/all_7.html create mode 100644 search/all_7.js create mode 100644 search/all_8.html create mode 100644 search/all_8.js create mode 100644 search/all_9.html create mode 100644 search/all_9.js create mode 100644 search/all_a.html create mode 100644 search/all_a.js create mode 100644 search/all_b.html create mode 100644 search/all_b.js create mode 100644 search/all_c.html create mode 100644 search/all_c.js create mode 100644 search/all_d.html create mode 100644 search/all_d.js create mode 100644 search/all_e.html create mode 100644 search/all_e.js create mode 100644 search/all_f.html create mode 100644 search/all_f.js create mode 100644 search/classes_0.html create mode 100644 search/classes_0.js create mode 100644 search/classes_1.html create mode 100644 search/classes_1.js create mode 100644 search/classes_2.html create mode 100644 search/classes_2.js create mode 100644 search/classes_3.html create mode 100644 search/classes_3.js create mode 100644 search/classes_4.html create mode 100644 search/classes_4.js create mode 100644 search/classes_5.html create mode 100644 search/classes_5.js create mode 100644 search/classes_6.html create mode 100644 search/classes_6.js create mode 100644 search/classes_7.html create mode 100644 search/classes_7.js create mode 100644 search/classes_8.html create mode 100644 search/classes_8.js create mode 100644 search/classes_9.html create mode 100644 search/classes_9.js create mode 100644 search/classes_a.html create mode 100644 search/classes_a.js create mode 100644 search/classes_b.html create mode 100644 search/classes_b.js create mode 100644 search/classes_c.html create mode 100644 search/classes_c.js create mode 100644 search/close.png create mode 100644 search/functions_0.html create mode 100644 search/functions_0.js create mode 100644 search/functions_1.html create mode 100644 search/functions_1.js create mode 100644 search/functions_10.html create mode 100644 search/functions_10.js create mode 100644 search/functions_11.html create mode 100644 search/functions_11.js create mode 100644 search/functions_12.html create mode 100644 search/functions_12.js create mode 100644 search/functions_13.html create mode 100644 search/functions_13.js create mode 100644 search/functions_14.html create mode 100644 search/functions_14.js create mode 100644 search/functions_15.html create mode 100644 search/functions_15.js create mode 100644 search/functions_16.html create mode 100644 search/functions_16.js create mode 100644 search/functions_2.html create mode 100644 search/functions_2.js create mode 100644 search/functions_3.html create mode 100644 search/functions_3.js create mode 100644 search/functions_4.html create mode 100644 search/functions_4.js create mode 100644 search/functions_5.html create mode 100644 search/functions_5.js create mode 100644 search/functions_6.html create mode 100644 search/functions_6.js create mode 100644 search/functions_7.html create mode 100644 search/functions_7.js create mode 100644 search/functions_8.html create mode 100644 search/functions_8.js create mode 100644 search/functions_9.html create mode 100644 search/functions_9.js create mode 100644 search/functions_a.html create mode 100644 search/functions_a.js create mode 100644 search/functions_b.html create mode 100644 search/functions_b.js create mode 100644 search/functions_c.html create mode 100644 search/functions_c.js create mode 100644 search/functions_d.html create mode 100644 search/functions_d.js create mode 100644 search/functions_e.html create mode 100644 search/functions_e.js create mode 100644 search/functions_f.html create mode 100644 search/functions_f.js create mode 100644 search/groups_0.html create mode 100644 search/groups_0.js create mode 100644 search/groups_1.html create mode 100644 search/groups_1.js create mode 100644 search/groups_2.html create mode 100644 search/groups_2.js create mode 100644 search/groups_3.html create mode 100644 search/groups_3.js create mode 100644 search/mag_sel.png create mode 100644 search/nomatches.html create mode 100644 search/pages_0.html create mode 100644 search/pages_0.js create mode 100644 search/pages_1.html create mode 100644 search/pages_1.js create mode 100644 search/search.css create mode 100644 search/search.js create mode 100644 search/search_l.png create mode 100644 search/search_m.png create mode 100644 search/search_r.png create mode 100644 search/searchdata.js create mode 100644 search/variables_0.html create mode 100644 search/variables_0.js create mode 100644 search/variables_1.html create mode 100644 search/variables_1.js create mode 100644 search/variables_2.html create mode 100644 search/variables_2.js create mode 100644 search/variables_3.html create mode 100644 search/variables_3.js create mode 100644 search/variables_4.html create mode 100644 search/variables_4.js create mode 100644 search/variables_5.html create mode 100644 search/variables_5.js create mode 100644 search/variables_6.html create mode 100644 search/variables_6.js create mode 100644 search/variables_7.html create mode 100644 search/variables_7.js create mode 100644 search/variables_8.html create mode 100644 search/variables_8.js create mode 100644 search/variables_9.html create mode 100644 search/variables_9.js create mode 100644 search/variables_a.html create mode 100644 search/variables_a.js create mode 100644 search/variables_b.html create mode 100644 search/variables_b.js create mode 100644 search/variables_c.html create mode 100644 search/variables_c.js create mode 100644 search/variables_d.html create mode 100644 search/variables_d.js create mode 100644 search/variables_e.html create mode 100644 search/variables_e.js create mode 100644 search/variables_f.html create mode 100644 search/variables_f.js create mode 100644 splitbar.png create mode 100644 struct_s_s_t_v_mode__t-members.html create mode 100644 struct_s_s_t_v_mode__t.html create mode 100644 struct_s_s_t_v_mode__t.js create mode 100644 structtone__t-members.html create mode 100644 structtone__t.html create mode 100644 structtone__t.js create mode 100644 sync_off.png create mode 100644 sync_on.png create mode 100644 tab_a.png create mode 100644 tab_b.png create mode 100644 tab_h.png create mode 100644 tab_s.png create mode 100644 tabs.css create mode 100644 todo.html diff --git a/_a_f_s_k_8h_source.html b/_a_f_s_k_8h_source.html new file mode 100644 index 00000000..e9674452 --- /dev/null +++ b/_a_f_s_k_8h_source.html @@ -0,0 +1,133 @@ + + + + + + +RadioLib: src/protocols/AFSK/AFSK.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
AFSK.h
+
+
+
1 #if !defined(_RADIOLIB_AFSK_H)
2 #define _RADIOLIB_AFSK_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_AFSK)
7 
8 #include "../../Module.h"
9 
10 #include "../PhysicalLayer/PhysicalLayer.h"
11 
17 class AFSKClient {
18  public:
26  AFSKClient(PhysicalLayer* phy, RADIOLIB_PIN_TYPE pin);
27 
37  int16_t tone(uint16_t freq, bool autoStart = true);
38 
44  int16_t noTone();
45 
46 #ifndef RADIOLIB_GODMODE
47  private:
48 #endif
49  PhysicalLayer* _phy;
50  RADIOLIB_PIN_TYPE _pin;
51 
52  // allow specific classes access the private PhysicalLayer pointer
53  friend class RTTYClient;
54  friend class MorseClient;
55  friend class HellClient;
56  friend class SSTVClient;
57  friend class AX25Client;
58 };
59 
60 #endif
61 
62 #endif
Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direc...
Definition: AFSK.h:17
+
int16_t noTone()
Stops transmitting audio tone.
Definition: AFSK.cpp:22
+
Client for Hellschreiber transmissions.
Definition: Hellschreiber.h:89
+
AFSKClient(PhysicalLayer *phy, RADIOLIB_PIN_TYPE pin)
Default contructor.
Definition: AFSK.cpp:4
+
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
+
Client for RTTY communication. The public interface is the same as Arduino Serial.
Definition: RTTY.h:88
+
Client for SSTV transmissions.
Definition: SSTV.h:120
+
Client for AX25 communication.
Definition: AX25.h:279
+
Client for Morse Code communication. The public interface is the same as Arduino Serial.
Definition: Morse.h:89
+
int16_t tone(uint16_t freq, bool autoStart=true)
Start transmitting audio tone.
Definition: AFSK.cpp:8
+
+
+ + + + diff --git a/_a_x25_8h_source.html b/_a_x25_8h_source.html new file mode 100644 index 00000000..7d91a913 --- /dev/null +++ b/_a_x25_8h_source.html @@ -0,0 +1,146 @@ + + + + + + +RadioLib: src/protocols/AX25/AX25.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
AX25.h
+
+
+
1 #if !defined(_RADIOLIB_AX25_H)
2 #define _RADIOLIB_AX25_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_AX25)
7 
8 #include "../PhysicalLayer/PhysicalLayer.h"
9 #include "../AFSK/AFSK.h"
10 
11 // macros to access bits in byte array, from http://www.mathcs.emory.edu/~cheung/Courses/255/Syllabus/1-C-intro/bit-array.html
12 #define SET_BIT_IN_ARRAY(A, k) ( A[(k/8)] |= (1 << (k%8)) )
13 #define CLEAR_BIT_IN_ARRAY(A, k) ( A[(k/8)] &= ~(1 << (k%8)) )
14 #define TEST_BIT_IN_ARRAY(A, k) ( A[(k/8)] & (1 << (k%8)) )
15 #define GET_BIT_IN_ARRAY(A, k) ( (A[(k/8)] & (1 << (k%8))) ? 1 : 0 )
16 
17 // CRC-CCITT calculation macros
18 #define XOR(A, B) ( ((A) || (B)) && !((A) && (B)) )
19 #define CRC_CCITT_POLY 0x1021 // generator polynomial
20 #define CRC_CCITT_POLY_REVERSED 0x8408 // CRC_CCITT_POLY in reversed bit order
21 #define CRC_CCITT_INIT 0xFFFF // initial value
22 
23 // maximum callsign length in bytes
24 #define AX25_MAX_CALLSIGN_LEN 6
25 
26 // flag field MSB LSB DESCRIPTION
27 #define AX25_FLAG 0b01111110 // 7 0 AX.25 frame start/end flag
28 
29 // address field
30 #define AX25_SSID_COMMAND_DEST 0b10000000 // 7 7 frame type: command (set in destination SSID)
31 #define AX25_SSID_COMMAND_SOURCE 0b00000000 // 7 7 command (set in source SSID)
32 #define AX25_SSID_RESPONSE_DEST 0b00000000 // 7 7 response (set in destination SSID)
33 #define AX25_SSID_RESPONSE_SOURCE 0b10000000 // 7 7 response (set in source SSID)
34 #define AX25_SSID_HAS_NOT_BEEN_REPEATED 0b00000000 // 7 7 not repeated yet (set in repeater SSID)
35 #define AX25_SSID_HAS_BEEN_REPEATED 0b10000000 // 7 7 repeated (set in repeater SSID)
36 #define AX25_SSID_RESERVED_BITS 0b01100000 // 6 5 reserved bits in SSID
37 #define AX25_SSID_HDLC_EXTENSION_CONTINUE 0b00000000 // 0 0 HDLC extension bit: next octet contains more address information
38 #define AX25_SSID_HDLC_EXTENSION_END 0b00000001 // 0 0 address field end
39 
40 // control field
41 #define AX25_CONTROL_U_SET_ASYNC_BAL_MODE 0b01101100 // 7 2 U frame type: set asynchronous balanced mode (connect request)
42 #define AX25_CONTROL_U_SET_ASYNC_BAL_MODE_EXT 0b00101100 // 7 2 set asynchronous balanced mode extended (connect request with module 128)
43 #define AX25_CONTROL_U_DISCONNECT 0b01000000 // 7 2 disconnect request
44 #define AX25_CONTROL_U_DISCONNECT_MODE 0b00001100 // 7 2 disconnect mode (system busy or disconnected)
45 #define AX25_CONTROL_U_UNNUMBERED_ACK 0b01100000 // 7 2 unnumbered acknowledge
46 #define AX25_CONTROL_U_FRAME_REJECT 0b10000100 // 7 2 frame reject
47 #define AX25_CONTROL_U_UNNUMBERED_INFORMATION 0b00000000 // 7 2 unnumbered information
48 #define AX25_CONTROL_U_EXHANGE_IDENTIFICATION 0b10101100 // 7 2 exchange ID
49 #define AX25_CONTROL_U_TEST 0b11100000 // 7 2 test
50 #define AX25_CONTROL_POLL_FINAL_ENABLED 0b00010000 // 4 4 control field poll/final bit: enabled
51 #define AX25_CONTROL_POLL_FINAL_DISABLED 0b00000000 // 4 4 disabled
52 #define AX25_CONTROL_S_RECEIVE_READY 0b00000000 // 3 2 S frame type: receive ready (system ready to receive)
53 #define AX25_CONTROL_S_RECEIVE_NOT_READY 0b00000100 // 3 2 receive not ready (TNC buffer full)
54 #define AX25_CONTROL_S_REJECT 0b00001000 // 3 2 reject (out of sequence or duplicate)
55 #define AX25_CONTROL_S_SELECTIVE_REJECT 0b00001100 // 3 2 selective reject (single frame repeat request)
56 #define AX25_CONTROL_INFORMATION_FRAME 0b00000000 // 0 0 frame type: information (I frame)
57 #define AX25_CONTROL_SUPERVISORY_FRAME 0b00000001 // 1 0 supervisory (S frame)
58 #define AX25_CONTROL_UNNUMBERED_FRAME 0b00000011 // 1 0 unnumbered (U frame)
59 
60 // protocol identifier field
61 #define AX25_PID_ISO_8208 0x01
62 #define AX25_PID_TCP_IP_COMPRESSED 0x06
63 #define AX25_PID_TCP_IP_UNCOMPRESSED 0x07
64 #define AX25_PID_SEGMENTATION_FRAGMENT 0x08
65 #define AX25_PID_TEXNET_DATAGRAM_PROTOCOL 0xC3
66 #define AX25_PID_LINK_QUALITY_PROTOCOL 0xC4
67 #define AX25_PID_APPLETALK 0xCA
68 #define AX25_PID_APPLETALK_ARP 0xCB
69 #define AX25_PID_ARPA_INTERNET_PROTOCOL 0xCC
70 #define AX25_PID_ARPA_ADDRESS_RESOLUTION 0xCD
71 #define AX25_PID_FLEXNET 0xCE
72 #define AX25_PID_NET_ROM 0xCF
73 #define AX25_PID_NO_LAYER_3 0xF0
74 #define AX25_PID_ESCAPE_CHARACTER 0xFF
75 
76 // AFSK tones in Hz
77 #define AX25_AFSK_MARK 1200
78 #define AX25_AFSK_SPACE 2200
79 
80 // tone duration in us (for 1200 baud AFSK)
81 #define AX25_AFSK_TONE_DURATION 833
82 
88 class AX25Frame {
89  public:
93  char destCallsign[AX25_MAX_CALLSIGN_LEN + 1];
94 
98  uint8_t destSSID;
99 
103  char srcCallsign[AX25_MAX_CALLSIGN_LEN + 1];
104 
108  uint8_t srcSSID;
109 
113  uint8_t numRepeaters;
114 
118  uint8_t control;
119 
123  uint8_t protocolID;
124 
128  uint16_t infoLen;
129 
133  uint8_t rcvSeqNumber;
134 
138  uint16_t sendSeqNumber;
139 
140  #ifndef RADIOLIB_STATIC_ONLY
141 
144  uint8_t* info;
145 
150 
154  uint8_t* repeaterSSIDs;
155  #else
156 
159  uint8_t info[RADIOLIB_STATIC_ARRAY_SIZE];
160 
164  char repeaterCallsigns[8][AX25_MAX_CALLSIGN_LEN + 1];
165 
169  uint8_t repeaterSSIDs[8];
170  #endif
171 
185  AX25Frame(const char* destCallsign, uint8_t destSSID, const char* srcCallsign, uint8_t srcSSID, uint8_t control);
186 
204  AX25Frame(const char* destCallsign, uint8_t destSSID, const char* srcCallsign, uint8_t srcSSID, uint8_t control, uint8_t protocolID, const char* info);
205 
225  AX25Frame(const char* destCallsign, uint8_t destSSID, const char* srcCallsign, uint8_t srcSSID, uint8_t control, uint8_t protocolID, uint8_t* info, uint16_t infoLen);
226 
232  AX25Frame(const AX25Frame& frame);
233 
237  ~AX25Frame();
238 
244  AX25Frame& operator=(const AX25Frame& frame);
245 
257  int16_t setRepeaters(char** repeaterCallsigns, uint8_t* repeaterSSIDs, uint8_t numRepeaters);
258 
264  void setRecvSequence(uint8_t seqNumber);
265 
271  void setSendSequence(uint8_t seqNumber);
272 };
273 
279 class AX25Client {
280  public:
286  explicit AX25Client(PhysicalLayer* phy);
287 
288  #if !defined(RADIOLIB_EXCLUDE_AFSK)
289 
294  explicit AX25Client(AFSKClient* audio);
295  #endif
296 
297  // basic methods
298 
310  int16_t begin(const char* srcCallsign, uint8_t srcSSID = 0x00, uint8_t preambleLen = 8);
311 
323  int16_t transmit(const char* str, const char* destCallsign, uint8_t destSSID = 0x00);
324 
332  int16_t sendFrame(AX25Frame* frame);
333 
334 #ifndef RADIOLIB_GODMODE
335  private:
336 #endif
337  PhysicalLayer* _phy;
338  #if !defined(RADIOLIB_EXCLUDE_AFSK)
339  AFSKClient* _audio;
340  #endif
341 
342  char _srcCallsign[AX25_MAX_CALLSIGN_LEN + 1] = {0, 0, 0, 0, 0, 0, 0};
343  uint8_t _srcSSID = 0;
344  uint16_t _preambleLen = 0;
345 
346  static uint16_t getFrameCheckSequence(uint8_t* buff, size_t len);
347  static uint8_t flipBits(uint8_t b);
348  static uint16_t flipBits16(uint16_t i);
349 };
350 
351 #endif
352 
353 #endif
~AX25Frame()
Default destructor.
Definition: AX25.cpp:56
+
AX25Frame & operator=(const AX25Frame &frame)
Overload for assignment operator.
Definition: AX25.cpp:74
+
Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direc...
Definition: AFSK.h:17
+
char ** repeaterCallsigns
Array of repeater callsigns.
Definition: AX25.h:149
+
uint8_t numRepeaters
Number of repeaters to be used.
Definition: AX25.h:113
+
int16_t setRepeaters(char **repeaterCallsigns, uint8_t *repeaterSSIDs, uint8_t numRepeaters)
Method to set the repeater callsigns and SSIDs.
Definition: AX25.cpp:109
+
uint8_t protocolID
The protocol identifier (PID) field.
Definition: AX25.h:123
+
uint16_t infoLen
Number of bytes in the information field.
Definition: AX25.h:128
+
void setRecvSequence(uint8_t seqNumber)
Method to set receive sequence number.
Definition: AX25.cpp:144
+
Abstraction of AX.25 frame format.
Definition: AX25.h:88
+
uint8_t destSSID
SSID of the destination station.
Definition: AX25.h:98
+
uint8_t * info
The info field.
Definition: AX25.h:144
+
uint8_t control
The control field.
Definition: AX25.h:118
+
uint8_t srcSSID
SSID of the source station.
Definition: AX25.h:108
+
char srcCallsign[AX25_MAX_CALLSIGN_LEN+1]
Callsign of the source station.
Definition: AX25.h:103
+
char destCallsign[AX25_MAX_CALLSIGN_LEN+1]
Callsign of the destination station.
Definition: AX25.h:93
+
uint16_t sendSeqNumber
Send sequence number.
Definition: AX25.h:138
+
AX25Frame(const char *destCallsign, uint8_t destSSID, const char *srcCallsign, uint8_t srcSSID, uint8_t control)
Overloaded constructor, for frames without info field.
Definition: AX25.cpp:4
+
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
+
uint8_t * repeaterSSIDs
Array of repeater SSIDs.
Definition: AX25.h:154
+
void setSendSequence(uint8_t seqNumber)
Method to set send sequence number.
Definition: AX25.cpp:148
+
uint8_t rcvSeqNumber
Receive sequence number.
Definition: AX25.h:133
+
Client for AX25 communication.
Definition: AX25.h:279
+
+
+ + + + diff --git a/_build_opt_8h_source.html b/_build_opt_8h_source.html new file mode 100644 index 00000000..643f70d9 --- /dev/null +++ b/_build_opt_8h_source.html @@ -0,0 +1,123 @@ + + + + + + +RadioLib: src/BuildOpt.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
BuildOpt.h
+
+
+
1 #ifndef _RADIOLIB_BUILD_OPTIONS_H
2 #define _RADIOLIB_BUILD_OPTIONS_H
3 
4 #if ARDUINO >= 100
5  #include "Arduino.h"
6 #else
7  #error "Unsupported Arduino version (< 1.0.0)"
8 #endif
9 
10 /*
11  * Platform-specific configuration.
12  *
13  * RADIOLIB_PLATFORM - platform name, used in debugging to quickly check the correct platform is detected.
14  * RADIOLIB_PIN_TYPE - which type should be used for pin numbers in functions like digitalRead().
15  * RADIOLIB_PIN_MODE - which type should be used for pin modes in functions like pinMode().
16  * RADIOLIB_PIN_STATUS - which type should be used for pin values in functions like digitalWrite().
17  * RADIOLIB_INTERRUPT_STATUS - which type should be used for pin changes in functions like attachInterrupt().
18  * RADIOLIB_DIGITAL_PIN_TO_INTERRUPT - function/macro to be used to convert digital pin number to interrupt pin number.
19  * RADIOLIB_NC - alias for unused pin, usually the largest possible value of RADIOLIB_PIN_TYPE.
20  * RADIOLIB_DEFAULT_SPI - default SPIClass instance to use.
21  * RADIOLIB_PROGMEM - macro to place variable into program storage (usually Flash).
22  * RADIOLIB_PROGMEM_READ_BYTE - function/macro to read variables saved in program storage (usually Flash).
23  * RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED - defined if the specific platform does not support SoftwareSerial.
24  * RADIOLIB_HARDWARE_SERIAL_PORT - which hardware serial port should be used on platform that do not have SoftwareSerial support.
25  * RADIOLIB_TONE_UNSUPPORTED - some platforms do not have tone()/noTone(), which is required for AFSK.
26  *
27  * In addition, some platforms may require RadioLib to disable specific drivers (such as ESP8266).
28  *
29  * Users may also specify their own configuration by uncommenting the RADIOLIB_CUSTOM_PLATFORM,
30  * and then specifying all platform parameters in the section below. This will override automatic
31  * platform detection.
32  */
33 
34 // uncomment to enable custom platform definition
35 //#define RADIOLIB_CUSTOM_PLATFORM
36 
37 #if defined(RADIOLIB_CUSTOM_PLATFORM)
38  // name for your platform
39  #define RADIOLIB_PLATFORM "Custom"
40 
41  // the following parameters must always be defined
42  #define RADIOLIB_PIN_TYPE uint8_t
43  #define RADIOLIB_PIN_MODE uint8_t
44  #define RADIOLIB_PIN_STATUS uint8_t
45  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
46  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
47  #define RADIOLIB_NC (0xFF)
48  #define RADIOLIB_DEFAULT_SPI SPI
49  #define RADIOLIB_PROGMEM PROGMEM
50  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
51 
52  // the following must be defined if the Arduino core does not support SoftwareSerial library
53  //#define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
54  //#define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
55 
56  // the following must be defined if the Arduino core does not support tone function
57  //#define RADIOLIB_TONE_UNSUPPORTED
58 
59  // some of RadioLib drivers may be excluded, to prevent collisions with platforms (or to speed up build process)
60  // the following is a complete list of all possible exclusion macros, uncomment any of them to disable that driver
61  // NOTE: Some of the exclusion macros are dependent on each other. For example, it is not possible to exclude RF69
62  // while keeping SX1231 (because RF69 is the base class for SX1231). The dependency is always uni-directional,
63  // so excluding SX1231 and keeping RF69 is valid.
64  //#define RADIOLIB_EXCLUDE_CC1101
65  //#define RADIOLIB_EXCLUDE_ESP8266
66  //#define RADIOLIB_EXCLUDE_HC05
67  //#define RADIOLIB_EXCLUDE_JDY08
68  //#define RADIOLIB_EXCLUDE_NRF24
69  //#define RADIOLIB_EXCLUDE_RF69
70  //#define RADIOLIB_EXCLUDE_SX1231 // dependent on RADIOLIB_EXCLUDE_RF69
71  //#define RADIOLIB_EXCLUDE_SI443X
72  //#define RADIOLIB_EXCLUDE_RFM2X // dependent on RADIOLIB_EXCLUDE_SI443X
73  //#define RADIOLIB_EXCLUDE_SX127X
74  //#define RADIOLIB_EXCLUDE_RFM9X // dependent on RADIOLIB_EXCLUDE_SX127X
75  //#define RADIOLIB_EXCLUDE_SX126X
76  //#define RADIOLIB_EXCLUDE_SX128X
77  //#define RADIOLIB_EXCLUDE_XBEE
78  //#define RADIOLIB_EXCLUDE_AFSK
79  //#define RADIOLIB_EXCLUDE_AX25
80  //#define RADIOLIB_EXCLUDE_HELLSCHREIBER
81  //#define RADIOLIB_EXCLUDE_HTTP
82  //#define RADIOLIB_EXCLUDE_MORSE
83  //#define RADIOLIB_EXCLUDE_MQTT
84  //#define RADIOLIB_EXCLUDE_RTTY
85  //#define RADIOLIB_EXCLUDE_SSTV
86 
87 #else
88  #if defined(__AVR__) && !(defined(ARDUINO_AVR_UNO_WIFI_REV2) || defined(ARDUINO_AVR_NANO_EVERY))
89  // Arduino AVR boards (except for megaAVR) - Uno, Mega etc.
90  #define RADIOLIB_PLATFORM "Arduino AVR"
91  #define RADIOLIB_PIN_TYPE uint8_t
92  #define RADIOLIB_PIN_MODE uint8_t
93  #define RADIOLIB_PIN_STATUS uint8_t
94  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
95  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
96  #define RADIOLIB_NC (0xFF)
97  #define RADIOLIB_DEFAULT_SPI SPI
98  #define RADIOLIB_PROGMEM PROGMEM
99  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
100 
101  #elif defined(ESP8266)
102  // ESP8266 boards
103  #define RADIOLIB_PLATFORM "ESP8266"
104  #define RADIOLIB_PIN_TYPE uint8_t
105  #define RADIOLIB_PIN_MODE uint8_t
106  #define RADIOLIB_PIN_STATUS uint8_t
107  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
108  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
109  #define RADIOLIB_NC (0xFF)
110  #define RADIOLIB_DEFAULT_SPI SPI
111  #define RADIOLIB_PROGMEM PROGMEM
112  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
113 
114  // RadioLib has ESP8266 driver, this must be disabled to use ESP8266 as platform
115  #define RADIOLIB_EXCLUDE_ESP8266
116 
117  #elif defined(ESP32)
118  // ESP32 boards
119  #define RADIOLIB_PLATFORM "ESP32"
120  #define RADIOLIB_PIN_TYPE uint8_t
121  #define RADIOLIB_PIN_MODE uint8_t
122  #define RADIOLIB_PIN_STATUS uint8_t
123  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
124  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
125  #define RADIOLIB_NC (0xFF)
126  #define RADIOLIB_DEFAULT_SPI SPI
127  #define RADIOLIB_PROGMEM PROGMEM
128  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
129  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
130  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
131  #define RADIOLIB_TONE_UNSUPPORTED
132 
133  #elif defined(ARDUINO_ARCH_STM32)
134  // official STM32 Arduino core (https://github.com/stm32duino/Arduino_Core_STM32)
135  #define RADIOLIB_PLATFORM "Arduino STM32 (official)"
136  #define RADIOLIB_PIN_TYPE uint32_t
137  #define RADIOLIB_PIN_MODE uint32_t
138  #define RADIOLIB_PIN_STATUS uint32_t
139  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
140  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(digitalPinToPinName(p))
141  #define RADIOLIB_NC (0xFFFFFFFF)
142  #define RADIOLIB_DEFAULT_SPI SPI
143  #define RADIOLIB_PROGMEM PROGMEM
144  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
145  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
146  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
147 
148  #elif defined(SAMD_SERIES)
149  // Arduino SAMD (Zero, MKR, etc.) and Adafruit SAMD boards (M0 and M4)
150  #define RADIOLIB_PLATFORM "Arduino/Adafruit SAMD"
151  #define RADIOLIB_PIN_TYPE uint32_t
152  #define RADIOLIB_PIN_MODE uint32_t
153  #define RADIOLIB_PIN_STATUS uint32_t
154  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
155  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
156  #define RADIOLIB_NC (0xFFFFFFFF)
157  #define RADIOLIB_DEFAULT_SPI SPI
158  #define RADIOLIB_PROGMEM PROGMEM
159  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
160  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
161  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
162 
163  #elif defined(__SAM3X8E__)
164  // Arduino Due
165  #define RADIOLIB_PLATFORM "Arduino Due"
166  #define RADIOLIB_PIN_TYPE uint32_t
167  #define RADIOLIB_PIN_MODE uint32_t
168  #define RADIOLIB_PIN_STATUS uint32_t
169  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
170  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
171  #define RADIOLIB_NC (0xFFFFFFFF)
172  #define RADIOLIB_DEFAULT_SPI SPI
173  #define RADIOLIB_PROGMEM PROGMEM
174  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
175  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
176  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
177  #define RADIOLIB_TONE_UNSUPPORTED
178 
179  #elif (defined(NRF52832_XXAA) || defined(NRF52840_XXAA)) && !defined(ARDUINO_ARDUINO_NANO33BLE)
180  // Adafruit nRF52 boards
181  #define RADIOLIB_PLATFORM "Adafruit nRF52"
182  #define RADIOLIB_PIN_TYPE uint32_t
183  #define RADIOLIB_PIN_MODE uint32_t
184  #define RADIOLIB_PIN_STATUS uint32_t
185  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
186  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
187  #define RADIOLIB_NC (0xFFFFFFFF)
188  #define RADIOLIB_DEFAULT_SPI SPI
189  #define RADIOLIB_PROGMEM PROGMEM
190  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
191 
192  #elif defined(ARDUINO_ARC32_TOOLS)
193  // Intel Curie
194  #define RADIOLIB_PLATFORM "Intel Curie"
195  #define RADIOLIB_PIN_TYPE uint8_t
196  #define RADIOLIB_PIN_MODE uint8_t
197  #define RADIOLIB_PIN_STATUS uint8_t
198  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
199  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
200  #define RADIOLIB_NC (0xFF)
201  #define RADIOLIB_DEFAULT_SPI SPI
202  #define RADIOLIB_PROGMEM PROGMEM
203  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
204 
205  #elif defined(ARDUINO_AVR_UNO_WIFI_REV2) || defined(ARDUINO_AVR_NANO_EVERY)
206  // Arduino megaAVR boards - Uno Wifi Rev.2, Nano Every
207  #define RADIOLIB_PLATFORM "Arduino megaAVR"
208  #define RADIOLIB_PIN_TYPE uint8_t
209  #define RADIOLIB_PIN_MODE PinMode
210  #define RADIOLIB_PIN_STATUS PinStatus
211  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
212  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
213  #define RADIOLIB_NC (0xFF)
214  #define RADIOLIB_DEFAULT_SPI SPI
215  #define RADIOLIB_PROGMEM PROGMEM
216  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
217 
218  #elif defined(AM_PART_APOLLO3)
219  // Sparkfun Artemis boards
220  #define RADIOLIB_PLATFORM "Sparkfun Artemis"
221  #define RADIOLIB_PIN_TYPE uint8_t
222  #define RADIOLIB_PIN_MODE uint8_t
223  #define RADIOLIB_PIN_STATUS uint8_t
224  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
225  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
226  #define RADIOLIB_NC (0xFF)
227  #define RADIOLIB_DEFAULT_SPI SPI
228  #define RADIOLIB_PROGMEM PROGMEM
229  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
230  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
231  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
232  #define RADIOLIB_TONE_UNSUPPORTED
233 
234  #elif defined(ARDUINO_ARDUINO_NANO33BLE)
235  // Arduino Nano 33 BLE
236  #define RADIOLIB_PLATFORM "Arduino Nano 33 BLE"
237  #define RADIOLIB_PIN_TYPE pin_size_t
238  #define RADIOLIB_PIN_MODE PinMode
239  #define RADIOLIB_PIN_STATUS PinStatus
240  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
241  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
242  #define RADIOLIB_NC (0xFF)
243  #define RADIOLIB_DEFAULT_SPI SPI
244  #define RADIOLIB_PROGMEM PROGMEM
245  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
246  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
247  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
248 
249  // Nano 33 BLE uses mbed libraries, which already contain ESP8266 driver
250  #define RADIOLIB_EXCLUDE_ESP8266
251 
252  #elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4)
253  // Arduino Portenta H7
254  #define RADIOLIB_PLATFORM "Portenta H7"
255  #define RADIOLIB_PIN_TYPE pin_size_t
256  #define RADIOLIB_PIN_MODE PinMode
257  #define RADIOLIB_PIN_STATUS PinStatus
258  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
259  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
260  #define RADIOLIB_NC (0xFF)
261  #define RADIOLIB_DEFAULT_SPI SPI
262  #define RADIOLIB_PROGMEM PROGMEM
263  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
264  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
265  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
266 
267  // Arduino Portenta H7 uses mbed libraries, which already contain ESP8266 driver
268  #define RADIOLIB_EXCLUDE_ESP8266
269 
270  #elif defined(__STM32F4__) || defined(__STM32F1__)
271  // Arduino STM32 core by Roger Clark (https://github.com/rogerclarkmelbourne/Arduino_STM32)
272  #define RADIOLIB_PLATFORM "STM32duino (unofficial)"
273  #define RADIOLIB_PIN_TYPE uint8_t
274  #define RADIOLIB_PIN_MODE WiringPinMode
275  #define RADIOLIB_PIN_STATUS uint8_t
276  #define RADIOLIB_INTERRUPT_STATUS ExtIntTriggerMode
277  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
278  #define RADIOLIB_NC (0xFF)
279  #define RADIOLIB_DEFAULT_SPI SPI
280  #define RADIOLIB_PROGMEM PROGMEM
281  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
282  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
283  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
284  #define RADIOLIB_TONE_UNSUPPORTED
285 
286  #else
287  // other platforms not covered by the above list - this may or may not work
288  #define RADIOLIB_PLATFORM "Unknown"
289  #define RADIOLIB_UNKNOWN_PLATFORM
290  #define RADIOLIB_PIN_TYPE uint8_t
291  #define RADIOLIB_PIN_MODE uint8_t
292  #define RADIOLIB_PIN_STATUS uint8_t
293  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
294  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
295  #define RADIOLIB_NC (0xFF)
296  #define RADIOLIB_DEFAULT_SPI SPI
297  #define RADIOLIB_PROGMEM PROGMEM
298  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
299 
300  #endif
301 #endif
302 
303 /*
304  * Uncomment to enable debug output.
305  * Warning: Debug output will slow down the whole system significantly.
306  * Also, it will result in larger compiled binary.
307  * Levels: debug - only main info
308  * verbose - full transcript of all SPI/UART communication
309  */
310 
311 //#define RADIOLIB_DEBUG
312 //#define RADIOLIB_VERBOSE
313 
314 // set which Serial port should be used for debug output
315 #define RADIOLIB_DEBUG_PORT Serial
316 
317 #if defined(RADIOLIB_DEBUG)
318  #define RADIOLIB_DEBUG_PRINT(...) { RADIOLIB_DEBUG_PORT.print(__VA_ARGS__); }
319  #define RADIOLIB_DEBUG_PRINTLN(...) { RADIOLIB_DEBUG_PORT.println(__VA_ARGS__); }
320 #else
321  #define RADIOLIB_DEBUG_PRINT(...) {}
322  #define RADIOLIB_DEBUG_PRINTLN(...) {}
323 #endif
324 
325 #if defined(RADIOLIB_VERBOSE)
326  #define RADIOLIB_VERBOSE_PRINT(...) { RADIOLIB_DEBUG_PORT.print(__VA_ARGS__); }
327  #define RADIOLIB_VERBOSE_PRINTLN(...) { RADIOLIB_DEBUG_PORT.println(__VA_ARGS__); }
328 #else
329  #define RADIOLIB_VERBOSE_PRINT(...) {}
330  #define RADIOLIB_VERBOSE_PRINTLN(...) {}
331 #endif
332 
333 /*
334  * Uncomment to enable god mode - all methods and member variables in all classes will be made public, thus making them accessible from Arduino code.
335  * Warning: Come on, it's called GOD mode - obviously only use this if you know what you're doing.
336  * Failure to heed the above warning may result in bricked module.
337  */
338 //#define RADIOLIB_GODMODE
339 
340 /*
341  * Uncomment to enable pre-defined modules when using RadioShield.
342  */
343 //#define RADIOLIB_RADIOSHIELD
344 
345 /*
346  * Uncomment to enable static-only memory management: no dynamic allocation will be performed.
347  * Warning: Large static arrays will be created in some methods. It is not advised to send large packets in this mode.
348  */
349 
350 //#define RADIOLIB_STATIC_ONLY
351 
352 // set the size of static arrays to use
353 #if !defined(RADIOLIB_STATIC_ARRAY_SIZE)
354 #define RADIOLIB_STATIC_ARRAY_SIZE 256
355 #endif
356 
360 #define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != ERR_NONE) { return(STATEVAR); } }
361 
365 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) { if(!(((VAR) >= (MIN)) && ((VAR) <= (MAX)))) { return(ERR); } }
366 
367 
368 // version definitions
369 #define RADIOLIB_VERSION_MAJOR (0x04)
370 #define RADIOLIB_VERSION_MINOR (0x00)
371 #define RADIOLIB_VERSION_PATCH (0x02)
372 #define RADIOLIB_VERSION_EXTRA (0x00)
373 
374 #define RADIOLIB_VERSION ((RADIOLIB_VERSION_MAJOR << 24) | (RADIOLIB_VERSION_MINOR << 16) | (RADIOLIB_VERSION_PATCH << 8) | (RADIOLIB_VERSION_EXTRA))
375 
376 #endif
+
+ + + + diff --git a/_c_c1101_8h_source.html b/_c_c1101_8h_source.html new file mode 100644 index 00000000..8d6ef65a --- /dev/null +++ b/_c_c1101_8h_source.html @@ -0,0 +1,167 @@ + + + + + + +RadioLib: src/modules/CC1101/CC1101.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
CC1101.h
+
+
+
1 #if !defined(_RADIOLIB_CC1101_H) && !defined(RADIOLIB_EXCLUDE_CC1101)
2 #define _RADIOLIB_CC1101_H
3 
4 #include "../../TypeDef.h"
5 #include "../../Module.h"
6 
7 #include "../../protocols/PhysicalLayer/PhysicalLayer.h"
8 
9 // CC1101 physical layer properties
10 #define CC1101_FREQUENCY_STEP_SIZE 396.7285156
11 #define CC1101_MAX_PACKET_LENGTH 63
12 #define CC1101_CRYSTAL_FREQ 26.0
13 #define CC1101_DIV_EXPONENT 16
14 
15 // CC1101 SPI commands
16 #define CC1101_CMD_READ 0b10000000
17 #define CC1101_CMD_WRITE 0b00000000
18 #define CC1101_CMD_BURST 0b01000000
19 #define CC1101_CMD_ACCESS_STATUS_REG 0b01000000
20 #define CC1101_CMD_FIFO_RX 0b10000000
21 #define CC1101_CMD_FIFO_TX 0b00000000
22 #define CC1101_CMD_RESET 0x30
23 #define CC1101_CMD_FSTXON 0x31
24 #define CC1101_CMD_XOFF 0x32
25 #define CC1101_CMD_CAL 0x33
26 #define CC1101_CMD_RX 0x34
27 #define CC1101_CMD_TX 0x35
28 #define CC1101_CMD_IDLE 0x36
29 #define CC1101_CMD_WOR 0x38
30 #define CC1101_CMD_POWER_DOWN 0x39
31 #define CC1101_CMD_FLUSH_RX 0x3A
32 #define CC1101_CMD_FLUSH_TX 0x3B
33 #define CC1101_CMD_WOR_RESET 0x3C
34 #define CC1101_CMD_NOP 0x3D
35 
36 // CC1101 register map
37 #define CC1101_REG_IOCFG2 0x00
38 #define CC1101_REG_IOCFG1 0x01
39 #define CC1101_REG_IOCFG0 0x02
40 #define CC1101_REG_FIFOTHR 0x03
41 #define CC1101_REG_SYNC1 0x04
42 #define CC1101_REG_SYNC0 0x05
43 #define CC1101_REG_PKTLEN 0x06
44 #define CC1101_REG_PKTCTRL1 0x07
45 #define CC1101_REG_PKTCTRL0 0x08
46 #define CC1101_REG_ADDR 0x09
47 #define CC1101_REG_CHANNR 0x0A
48 #define CC1101_REG_FSCTRL1 0x0B
49 #define CC1101_REG_FSCTRL0 0x0C
50 #define CC1101_REG_FREQ2 0x0D
51 #define CC1101_REG_FREQ1 0x0E
52 #define CC1101_REG_FREQ0 0x0F
53 #define CC1101_REG_MDMCFG4 0x10
54 #define CC1101_REG_MDMCFG3 0x11
55 #define CC1101_REG_MDMCFG2 0x12
56 #define CC1101_REG_MDMCFG1 0x13
57 #define CC1101_REG_MDMCFG0 0x14
58 #define CC1101_REG_DEVIATN 0x15
59 #define CC1101_REG_MCSM2 0x16
60 #define CC1101_REG_MCSM1 0x17
61 #define CC1101_REG_MCSM0 0x18
62 #define CC1101_REG_FOCCFG 0x19
63 #define CC1101_REG_BSCFG 0x1A
64 #define CC1101_REG_AGCCTRL2 0x1B
65 #define CC1101_REG_AGCCTRL1 0x1C
66 #define CC1101_REG_AGCCTRL0 0x1D
67 #define CC1101_REG_WOREVT1 0x1E
68 #define CC1101_REG_WOREVT0 0x1F
69 #define CC1101_REG_WORCTRL 0x20
70 #define CC1101_REG_FREND1 0x21
71 #define CC1101_REG_FREND0 0x22
72 #define CC1101_REG_FSCAL3 0x23
73 #define CC1101_REG_FSCAL2 0x24
74 #define CC1101_REG_FSCAL1 0x25
75 #define CC1101_REG_FSCAL0 0x26
76 #define CC1101_REG_RCCTRL1 0x27
77 #define CC1101_REG_RCCTRL0 0x28
78 #define CC1101_REG_FSTEST 0x29
79 #define CC1101_REG_PTEST 0x2A
80 #define CC1101_REG_AGCTEST 0x2B
81 #define CC1101_REG_TEST2 0x2C
82 #define CC1101_REG_TEST1 0x2D
83 #define CC1101_REG_TEST0 0x2E
84 #define CC1101_REG_PARTNUM 0x30
85 #define CC1101_REG_VERSION 0x31
86 #define CC1101_REG_FREQEST 0x32
87 #define CC1101_REG_LQI 0x33
88 #define CC1101_REG_RSSI 0x34
89 #define CC1101_REG_MARCSTATE 0x35
90 #define CC1101_REG_WORTIME1 0x36
91 #define CC1101_REG_WORTIME0 0x37
92 #define CC1101_REG_PKTSTATUS 0x38
93 #define CC1101_REG_VCO_VC_DAC 0x39
94 #define CC1101_REG_TXBYTES 0x3A
95 #define CC1101_REG_RXBYTES 0x3B
96 #define CC1101_REG_RCCTRL1_STATUS 0x3C
97 #define CC1101_REG_RCCTRL0_STATUS 0x3D
98 #define CC1101_REG_PATABLE 0x3E
99 #define CC1101_REG_FIFO 0x3F
100 
101 // CC1101_REG_IOCFG2 MSB LSB DESCRIPTION
102 #define CC1101_GDO2_NORM 0b00000000 // 6 6 GDO2 output: active high (default)
103 #define CC1101_GDO2_INV 0b01000000 // 6 6 active low
104 
105 // CC1101_REG_IOCFG1
106 #define CC1101_GDO1_DS_LOW 0b00000000 // 7 7 GDO1 output drive strength: low (default)
107 #define CC1101_GDO1_DS_HIGH 0b10000000 // 7 7 high
108 #define CC1101_GDO1_NORM 0b00000000 // 6 6 GDO1 output: active high (default)
109 #define CC1101_GDO1_INV 0b01000000 // 6 6 active low
110 
111 // CC1101_REG_IOCFG0
112 #define CC1101_GDO0_TEMP_SENSOR_OFF 0b00000000 // 7 7 analog temperature sensor output: disabled (default)
113 #define CC1101_GDO0_TEMP_SENSOR_ON 0b10000000 // 7 0 enabled
114 #define CC1101_GDO0_NORM 0b00000000 // 6 6 GDO0 output: active high (default)
115 #define CC1101_GDO0_INV 0b01000000 // 6 6 active low
116 
117 // CC1101_REG_IOCFG2 + REG_IOCFG1 + REG_IOCFG0
118 #define CC1101_GDOX_RX_FIFO_FULL 0x00 // 5 0 Rx FIFO full or above threshold
119 #define CC1101_GDOX_RX_FIFO_FULL_OR_PKT_END 0x01 // 5 0 Rx FIFO full or above threshold or reached packet end
120 #define CC1101_GDOX_TX_FIFO_ABOVE_THR 0x02 // 5 0 Tx FIFO above threshold
121 #define CC1101_GDOX_TX_FIFO_FULL 0x03 // 5 0 Tx FIFO full
122 #define CC1101_GDOX_RX_FIFO_OVERFLOW 0x04 // 5 0 Rx FIFO overflowed
123 #define CC1101_GDOX_TX_FIFO_UNDERFLOW 0x05 // 5 0 Tx FIFO underflowed
124 #define CC1101_GDOX_SYNC_WORD_SENT_OR_RECEIVED 0x06 // 5 0 sync word was sent or received
125 #define CC1101_GDOX_PKT_RECEIVED_CRC_OK 0x07 // 5 0 packet received and CRC check passed
126 #define CC1101_GDOX_PREAMBLE_QUALITY_REACHED 0x08 // 5 0 received preamble quality is above threshold
127 #define CC1101_GDOX_CHANNEL_CLEAR 0x09 // 5 0 RSSI level below threshold (channel is clear)
128 #define CC1101_GDOX_PLL_LOCKED 0x0A // 5 0 PLL is locked
129 #define CC1101_GDOX_SERIAL_CLOCK 0x0B // 5 0 serial data clock
130 #define CC1101_GDOX_SERIAL_DATA_SYNC 0x0C // 5 0 serial data output in: synchronous mode
131 #define CC1101_GDOX_SERIAL_DATA_ASYNC 0x0D // 5 0 asynchronous mode
132 #define CC1101_GDOX_CARRIER_SENSE 0x0E // 5 0 RSSI above threshold
133 #define CC1101_GDOX_CRC_OK 0x0F // 5 0 CRC check passed
134 #define CC1101_GDOX_RX_HARD_DATA1 0x16 // 5 0 direct access to demodulated data
135 #define CC1101_GDOX_RX_HARD_DATA0 0x17 // 5 0 direct access to demodulated data
136 #define CC1101_GDOX_PA_PD 0x1B // 5 0 power amplifier circuit is powered down
137 #define CC1101_GDOX_LNA_PD 0x1C // 5 0 low-noise amplifier circuit is powered down
138 #define CC1101_GDOX_RX_SYMBOL_TICK 0x1D // 5 0 direct access to symbol tick of received data
139 #define CC1101_GDOX_WOR_EVNT0 0x24 // 5 0 wake-on-radio event 0
140 #define CC1101_GDOX_WOR_EVNT1 0x25 // 5 0 wake-on-radio event 1
141 #define CC1101_GDOX_CLK_256 0x26 // 5 0 256 Hz clock
142 #define CC1101_GDOX_CLK_32K 0x27 // 5 0 32 kHz clock
143 #define CC1101_GDOX_CHIP_RDYN 0x29 // 5 0 (default for GDO2)
144 #define CC1101_GDOX_XOSC_STABLE 0x2B // 5 0
145 #define CC1101_GDOX_HIGH_Z 0x2E // 5 0 high impedance state (default for GDO1)
146 #define CC1101_GDOX_HW_TO_0 0x2F // 5 0
147 #define CC1101_GDOX_CLOCK_XOSC_1 0x30 // 5 0 crystal oscillator clock: f = f(XOSC)/1
148 #define CC1101_GDOX_CLOCK_XOSC_1_5 0x31 // 5 0 f = f(XOSC)/1.5
149 #define CC1101_GDOX_CLOCK_XOSC_2 0x32 // 5 0 f = f(XOSC)/2
150 #define CC1101_GDOX_CLOCK_XOSC_3 0x33 // 5 0 f = f(XOSC)/3
151 #define CC1101_GDOX_CLOCK_XOSC_4 0x34 // 5 0 f = f(XOSC)/4
152 #define CC1101_GDOX_CLOCK_XOSC_6 0x35 // 5 0 f = f(XOSC)/6
153 #define CC1101_GDOX_CLOCK_XOSC_8 0x36 // 5 0 f = f(XOSC)/8
154 #define CC1101_GDOX_CLOCK_XOSC_12 0x37 // 5 0 f = f(XOSC)/12
155 #define CC1101_GDOX_CLOCK_XOSC_16 0x38 // 5 0 f = f(XOSC)/16
156 #define CC1101_GDOX_CLOCK_XOSC_24 0x39 // 5 0 f = f(XOSC)/24
157 #define CC1101_GDOX_CLOCK_XOSC_32 0x3A // 5 0 f = f(XOSC)/32
158 #define CC1101_GDOX_CLOCK_XOSC_48 0x3B // 5 0 f = f(XOSC)/48
159 #define CC1101_GDOX_CLOCK_XOSC_64 0x3C // 5 0 f = f(XOSC)/64
160 #define CC1101_GDOX_CLOCK_XOSC_96 0x3D // 5 0 f = f(XOSC)/96
161 #define CC1101_GDOX_CLOCK_XOSC_128 0x3E // 5 0 f = f(XOSC)/128
162 #define CC1101_GDOX_CLOCK_XOSC_192 0x3F // 5 0 f = f(XOSC)/192 (default for GDO0)
163 
164 // CC1101_REG_FIFOTHR
165 #define CC1101_ADC_RETENTION_OFF 0b00000000 // 6 6 do not retain ADC settings in sleep mode (default)
166 #define CC1101_ADC_RETENTION_ON 0b01000000 // 6 6 retain ADC settings in sleep mode
167 #define CC1101_RX_ATTEN_0_DB 0b00000000 // 5 4 Rx attenuation: 0 dB (default)
168 #define CC1101_RX_ATTEN_6_DB 0b00010000 // 5 4 6 dB
169 #define CC1101_RX_ATTEN_12_DB 0b00100000 // 5 4 12 dB
170 #define CC1101_RX_ATTEN_18_DB 0b00110000 // 5 4 18 dB
171 #define CC1101_FIFO_THR 0b00000111 // 5 4 Rx FIFO threshold [bytes] = CC1101_FIFO_THR * 4; Tx FIFO threshold [bytes] = 65 - (CC1101_FIFO_THR * 4)
172 
173 // CC1101_REG_SYNC1
174 #define CC1101_SYNC_WORD_MSB 0xD3 // 7 0 sync word MSB
175 
176 // CC1101_REG_SYNC0
177 #define CC1101_SYNC_WORD_LSB 0x91 // 7 0 sync word LSB
178 
179 // CC1101_REG_PKTLEN
180 #define CC1101_PACKET_LENGTH 0xFF // 7 0 packet length in bytes
181 
182 // CC1101_REG_PKTCTRL1
183 #define CC1101_PQT 0x00 // 7 5 preamble quality threshold
184 #define CC1101_CRC_AUTOFLUSH_OFF 0b00000000 // 3 3 automatic Rx FIFO flush on CRC check fail: disabled (default)
185 #define CC1101_CRC_AUTOFLUSH_ON 0b00001000 // 3 3 enabled
186 #define CC1101_APPEND_STATUS_OFF 0b00000000 // 2 2 append 2 status bytes to packet: disabled
187 #define CC1101_APPEND_STATUS_ON 0b00000100 // 2 2 enabled (default)
188 #define CC1101_ADR_CHK_NONE 0b00000000 // 1 0 address check: none (default)
189 #define CC1101_ADR_CHK_NO_BROADCAST 0b00000001 // 1 0 without broadcast
190 #define CC1101_ADR_CHK_SINGLE_BROADCAST 0b00000010 // 1 0 broadcast address 0x00
191 #define CC1101_ADR_CHK_DOUBLE_BROADCAST 0b00000011 // 1 0 broadcast addresses 0x00 and 0xFF
192 
193 // CC1101_REG_PKTCTRL0
194 #define CC1101_WHITE_DATA_OFF 0b00000000 // 6 6 data whitening: disabled
195 #define CC1101_WHITE_DATA_ON 0b01000000 // 6 6 enabled (default)
196 #define CC1101_PKT_FORMAT_NORMAL 0b00000000 // 5 4 packet format: normal (FIFOs)
197 #define CC1101_PKT_FORMAT_SYNCHRONOUS 0b00010000 // 5 4 synchronous serial
198 #define CC1101_PKT_FORMAT_RANDOM 0b00100000 // 5 4 random transmissions
199 #define CC1101_PKT_FORMAT_ASYNCHRONOUS 0b00110000 // 5 4 asynchronous serial
200 #define CC1101_CRC_OFF 0b00000000 // 2 2 CRC disabled
201 #define CC1101_CRC_ON 0b00000100 // 2 2 CRC enabled (default)
202 #define CC1101_LENGTH_CONFIG_FIXED 0b00000000 // 1 0 packet length: fixed
203 #define CC1101_LENGTH_CONFIG_VARIABLE 0b00000001 // 1 0 variable (default)
204 #define CC1101_LENGTH_CONFIG_INFINITE 0b00000010 // 1 0 infinite
205 
206 // CC1101_REG_ADDR
207 #define CC1101_DEVICE_ADDR 0x00 // 7 0 device address
208 
209 // CC1101_REG_CHANNR
210 #define CC1101_CHAN 0x00 // 7 0 channel number
211 
212 // CC1101_REG_FSCTRL1
213 #define CC1101_FREQ_IF 0x0F // 4 0 IF frequency setting; f_IF = (f(XOSC) / 2^10) * CC1101_FREQ_IF
214 
215 // CC1101_REG_FSCTRL0
216 #define CC1101_FREQOFF 0x00 // 7 0 base frequency offset (2s-compliment)
217 
218 // CC1101_REG_FREQ2 + REG_FREQ1 + REG_FREQ0
219 #define CC1101_FREQ_MSB 0x1E // 5 0 base frequency setting: f_carrier = (f(XOSC) / 2^16) * FREQ
220 #define CC1101_FREQ_MID 0xC4 // 7 0 where f(XOSC) = 26 MHz
221 #define CC1101_FREQ_LSB 0xEC // 7 0 FREQ = 3-byte value of FREQ registers
222 
223 // CC1101_REG_MDMCFG4
224 #define CC1101_CHANBW_E 0b10000000 // 7 6 channel bandwidth: BW_channel = f(XOSC) / (8 * (4 + CHANBW_M)*2^CHANBW_E) [Hz]
225 #define CC1101_CHANBW_M 0b00000000 // 5 4 default value for 26 MHz crystal: 203 125 Hz
226 #define CC1101_DRATE_E 0x0C // 3 0 symbol rate: R_data = (((256 + DRATE_M) * 2^DRATE_E) / 2^28) * f(XOSC) [Baud]
227 
228 // CC1101_REG_MDMCFG3
229 #define CC1101_DRATE_M 0x22 // 7 0 default value for 26 MHz crystal: 115 051 Baud
230 
231 // CC1101_REG_MDMCFG2
232 #define CC1101_DEM_DCFILT_OFF 0b10000000 // 7 7 digital DC filter: disabled
233 #define CC1101_DEM_DCFILT_ON 0b00000000 // 7 7 enabled - only for data rates above 250 kBaud (default)
234 #define CC1101_MOD_FORMAT_2_FSK 0b00000000 // 6 4 modulation format: 2-FSK (default)
235 #define CC1101_MOD_FORMAT_GFSK 0b00010000 // 6 4 GFSK
236 #define CC1101_MOD_FORMAT_ASK_OOK 0b00110000 // 6 4 ASK/OOK
237 #define CC1101_MOD_FORMAT_4_FSK 0b01000000 // 6 4 4-FSK
238 #define CC1101_MOD_FORMAT_MFSK 0b01110000 // 6 4 MFSK - only for data rates above 26 kBaud
239 #define CC1101_MANCHESTER_EN_OFF 0b00000000 // 3 3 Manchester encoding: disabled (default)
240 #define CC1101_MANCHESTER_EN_ON 0b00001000 // 3 3 enabled
241 #define CC1101_SYNC_MODE_NONE 0b00000000 // 2 0 synchronization: no preamble/sync
242 #define CC1101_SYNC_MODE_15_16 0b00000001 // 2 0 15/16 sync word bits
243 #define CC1101_SYNC_MODE_16_16 0b00000010 // 2 0 16/16 sync word bits (default)
244 #define CC1101_SYNC_MODE_30_32 0b00000011 // 2 0 30/32 sync word bits
245 #define CC1101_SYNC_MODE_NONE_THR 0b00000100 // 2 0 no preamble sync, carrier sense above threshold
246 #define CC1101_SYNC_MODE_15_16_THR 0b00000101 // 2 0 15/16 sync word bits, carrier sense above threshold
247 #define CC1101_SYNC_MODE_16_16_THR 0b00000110 // 2 0 16/16 sync word bits, carrier sense above threshold
248 #define CC1101_SYNC_MODE_30_32_THR 0b00000111 // 2 0 30/32 sync word bits, carrier sense above threshold
249 
250 // CC1101_REG_MDMCFG1
251 #define CC1101_FEC_OFF 0b00000000 // 7 7 forward error correction: disabled (default)
252 #define CC1101_FEC_ON 0b10000000 // 7 7 enabled - only for fixed packet length
253 #define CC1101_NUM_PREAMBLE_2 0b00000000 // 6 4 number of preamble bytes: 2
254 #define CC1101_NUM_PREAMBLE_3 0b00010000 // 6 4 3
255 #define CC1101_NUM_PREAMBLE_4 0b00100000 // 6 4 4 (default)
256 #define CC1101_NUM_PREAMBLE_6 0b00110000 // 6 4 6
257 #define CC1101_NUM_PREAMBLE_8 0b01000000 // 6 4 8
258 #define CC1101_NUM_PREAMBLE_12 0b01010000 // 6 4 12
259 #define CC1101_NUM_PREAMBLE_16 0b01100000 // 6 4 16
260 #define CC1101_NUM_PREAMBLE_24 0b01110000 // 6 4 24
261 #define CC1101_CHANSPC_E 0x02 // 1 0 channel spacing: df_channel = (f(XOSC) / 2^18) * (256 + CHANSPC_M) * 2^CHANSPC_E [Hz]
262 
263 // CC1101_REG_MDMCFG0
264 #define CC1101_CHANSPC_M 0xF8 // 7 0 default value for 26 MHz crystal: 199 951 kHz
265 
266 // CC1101_REG_DEVIATN
267 #define CC1101_DEVIATION_E 0b01000000 // 6 4 frequency deviation: f_dev = (f(XOSC) / 2^17) * (8 + DEVIATION_M) * 2^DEVIATION_E [Hz]
268 #define CC1101_DEVIATION_M 0b00000111 // 2 0 default value for 26 MHz crystal: +- 47 607 Hz
269 #define CC1101_MSK_PHASE_CHANGE_PERIOD 0x07 // 2 0 phase change symbol period fraction: 1 / (MSK_PHASE_CHANGE_PERIOD + 1)
270 
271 // CC1101_REG_MCSM2
272 #define CC1101_RX_TIMEOUT_RSSI_OFF 0b00000000 // 4 4 Rx timeout based on RSSI value: disabled (default)
273 #define CC1101_RX_TIMEOUT_RSSI_ON 0b00010000 // 4 4 enabled
274 #define CC1101_RX_TIMEOUT_QUAL_OFF 0b00000000 // 3 3 check for sync word on Rx timeout
275 #define CC1101_RX_TIMEOUT_QUAL_ON 0b00001000 // 3 3 check for PQI set on Rx timeout
276 #define CC1101_RX_TIMEOUT_OFF 0b00000111 // 2 0 Rx timeout: disabled (default)
277 #define CC1101_RX_TIMEOUT_MAX 0b00000000 // 2 0 max value (actual value depends on WOR_RES, EVENT0 and f(XOSC))
278 
279 // CC1101_REG_MCSM1
280 #define CC1101_CCA_MODE_ALWAYS 0b00000000 // 5 4 clear channel indication: always
281 #define CC1101_CCA_MODE_RSSI_THR 0b00010000 // 5 4 RSSI below threshold
282 #define CC1101_CCA_MODE_RX_PKT 0b00100000 // 5 4 unless receiving packet
283 #define CC1101_CCA_MODE_RSSI_THR_RX_PKT 0b00110000 // 5 4 RSSI below threshold unless receiving packet (default)
284 #define CC1101_RXOFF_IDLE 0b00000000 // 3 2 next mode after packet reception: idle (default)
285 #define CC1101_RXOFF_FSTXON 0b00000100 // 3 2 FSTxOn
286 #define CC1101_RXOFF_TX 0b00001000 // 3 2 Tx
287 #define CC1101_RXOFF_RX 0b00001100 // 3 2 Rx
288 #define CC1101_TXOFF_IDLE 0b00000000 // 1 0 next mode after packet transmission: idle (default)
289 #define CC1101_TXOFF_FSTXON 0b00000001 // 1 0 FSTxOn
290 #define CC1101_TXOFF_TX 0b00000010 // 1 0 Tx
291 #define CC1101_TXOFF_RX 0b00000011 // 1 0 Rx
292 
293 // CC1101_REG_MCSM0
294 #define CC1101_FS_AUTOCAL_NEVER 0b00000000 // 5 4 automatic calibration: never (default)
295 #define CC1101_FS_AUTOCAL_IDLE_TO_RXTX 0b00010000 // 5 4 every transition from idle to Rx/Tx
296 #define CC1101_FS_AUTOCAL_RXTX_TO_IDLE 0b00100000 // 5 4 every transition from Rx/Tx to idle
297 #define CC1101_FS_AUTOCAL_RXTX_TO_IDLE_4TH 0b00110000 // 5 4 every 4th transition from Rx/Tx to idle
298 #define CC1101_PO_TIMEOUT_COUNT_1 0b00000000 // 3 2 number of counter expirations before CHP_RDYN goes low: 1 (default)
299 #define CC1101_PO_TIMEOUT_COUNT_16 0b00000100 // 3 2 16
300 #define CC1101_PO_TIMEOUT_COUNT_64 0b00001000 // 3 2 64
301 #define CC1101_PO_TIMEOUT_COUNT_256 0b00001100 // 3 2 256
302 #define CC1101_PIN_CTRL_OFF 0b00000000 // 1 1 pin radio control: disabled (default)
303 #define CC1101_PIN_CTRL_ON 0b00000010 // 1 1 enabled
304 #define CC1101_XOSC_FORCE_OFF 0b00000000 // 0 0 do not force XOSC to remain on in sleep (default)
305 #define CC1101_XOSC_FORCE_ON 0b00000001 // 0 0 force XOSC to remain on in sleep
306 
307 // CC1101_REG_FOCCFG
308 #define CC1101_FOC_BS_CS_GATE_OFF 0b00000000 // 5 5 do not freeze frequency compensation until CS goes high
309 #define CC1101_FOC_BS_CS_GATE_ON 0b00100000 // 5 5 freeze frequency compensation until CS goes high (default)
310 #define CC1101_FOC_PRE_K 0b00000000 // 4 3 frequency compensation loop gain before sync word: K
311 #define CC1101_FOC_PRE_2K 0b00001000 // 4 3 2K
312 #define CC1101_FOC_PRE_3K 0b00010000 // 4 3 3K (default)
313 #define CC1101_FOC_PRE_4K 0b00011000 // 4 3 4K
314 #define CC1101_FOC_POST_K 0b00000000 // 2 2 frequency compensation loop gain after sync word: same as FOC_PRE
315 #define CC1101_FOC_POST_K_2 0b00000100 // 2 2 K/2 (default)
316 #define CC1101_FOC_LIMIT_NO_COMPENSATION 0b00000000 // 1 0 frequency compensation saturation point: no compensation - required for ASK/OOK
317 #define CC1101_FOC_LIMIT_BW_CHAN_8 0b00000001 // 1 0 +- BW_chan/8
318 #define CC1101_FOC_LIMIT_BW_CHAN_4 0b00000010 // 1 0 +- BW_chan/4 (default)
319 #define CC1101_FOC_LIMIT_BW_CHAN_2 0b00000011 // 1 0 +- BW_chan/2
320 
321 // CC1101_REG_BSCFG
322 #define CC1101_BS_PRE_KI 0b00000000 // 7 6 clock recovery integral gain before sync word: Ki
323 #define CC1101_BS_PRE_2KI 0b01000000 // 7 6 2Ki (default)
324 #define CC1101_BS_PRE_3KI 0b10000000 // 7 6 3Ki
325 #define CC1101_BS_PRE_4KI 0b11000000 // 7 6 4Ki
326 #define CC1101_BS_PRE_KP 0b00000000 // 5 4 clock recovery proportional gain before sync word: Kp
327 #define CC1101_BS_PRE_2KP 0b00010000 // 5 4 2Kp
328 #define CC1101_BS_PRE_3KP 0b00100000 // 5 4 3Kp (default)
329 #define CC1101_BS_PRE_4KP 0b00110000 // 5 4 4Kp
330 #define CC1101_BS_POST_KI 0b00000000 // 3 3 clock recovery integral gain after sync word: same as BS_PRE
331 #define CC1101_BS_POST_KI_2 0b00001000 // 3 3 Ki/2 (default)
332 #define CC1101_BS_POST_KP 0b00000000 // 2 2 clock recovery proportional gain after sync word: same as BS_PRE
333 #define CC1101_BS_POST_KP_1 0b00000100 // 2 2 Kp (default)
334 #define CC1101_BS_LIMIT_NO_COMPENSATION 0b00000000 // 1 0 data rate compensation saturation point: no compensation
335 #define CC1101_BS_LIMIT_3_125 0b00000001 // 1 0 +- 3.125 %
336 #define CC1101_BS_LIMIT_6_25 0b00000010 // 1 0 +- 6.25 %
337 #define CC1101_BS_LIMIT_12_5 0b00000011 // 1 0 +- 12.5 %
338 
339 // CC1101_REG_AGCCTRL2
340 #define CC1101_MAX_DVGA_GAIN_0 0b00000000 // 7 6 reduce maximum available DVGA gain: no reduction (default)
341 #define CC1101_MAX_DVGA_GAIN_1 0b01000000 // 7 6 disable top gain setting
342 #define CC1101_MAX_DVGA_GAIN_2 0b10000000 // 7 6 disable top two gain setting
343 #define CC1101_MAX_DVGA_GAIN_3 0b11000000 // 7 6 disable top three gain setting
344 #define CC1101_LNA_GAIN_REDUCE_0_DB 0b00000000 // 5 3 reduce maximum LNA gain by: 0 dB (default)
345 #define CC1101_LNA_GAIN_REDUCE_2_6_DB 0b00001000 // 5 3 2.6 dB
346 #define CC1101_LNA_GAIN_REDUCE_6_1_DB 0b00010000 // 5 3 6.1 dB
347 #define CC1101_LNA_GAIN_REDUCE_7_4_DB 0b00011000 // 5 3 7.4 dB
348 #define CC1101_LNA_GAIN_REDUCE_9_2_DB 0b00100000 // 5 3 9.2 dB
349 #define CC1101_LNA_GAIN_REDUCE_11_5_DB 0b00101000 // 5 3 11.5 dB
350 #define CC1101_LNA_GAIN_REDUCE_14_6_DB 0b00110000 // 5 3 14.6 dB
351 #define CC1101_LNA_GAIN_REDUCE_17_1_DB 0b00111000 // 5 3 17.1 dB
352 #define CC1101_MAGN_TARGET_24_DB 0b00000000 // 2 0 average amplitude target for filter: 24 dB
353 #define CC1101_MAGN_TARGET_27_DB 0b00000001 // 2 0 27 dB
354 #define CC1101_MAGN_TARGET_30_DB 0b00000010 // 2 0 30 dB
355 #define CC1101_MAGN_TARGET_33_DB 0b00000011 // 2 0 33 dB (default)
356 #define CC1101_MAGN_TARGET_36_DB 0b00000100 // 2 0 36 dB
357 #define CC1101_MAGN_TARGET_38_DB 0b00000101 // 2 0 38 dB
358 #define CC1101_MAGN_TARGET_40_DB 0b00000110 // 2 0 40 dB
359 #define CC1101_MAGN_TARGET_42_DB 0b00000111 // 2 0 42 dB
360 
361 // CC1101_REG_AGCCTRL1
362 #define CC1101_AGC_LNA_PRIORITY_LNA2 0b00000000 // 6 6 LNA priority setting: LNA2 first
363 #define CC1101_AGC_LNA_PRIORITY_LNA 0b01000000 // 6 6 LNA first (default)
364 #define CC1101_CARRIER_SENSE_REL_THR_OFF 0b00000000 // 5 4 RSSI relative change to assert carrier sense: disabled (default)
365 #define CC1101_CARRIER_SENSE_REL_THR_6_DB 0b00010000 // 5 4 6 dB
366 #define CC1101_CARRIER_SENSE_REL_THR_10_DB 0b00100000 // 5 4 10 dB
367 #define CC1101_CARRIER_SENSE_REL_THR_14_DB 0b00110000 // 5 4 14 dB
368 #define CC1101_CARRIER_SENSE_ABS_THR 0x00 // 3 0 RSSI threshold to assert carrier sense in 2s compliment, Thr = MAGN_TARGET + CARRIER_SENSE_ABS_TH [dB]
369 
370 // CC1101_REG_AGCCTRL0
371 #define CC1101_HYST_LEVEL_NONE 0b00000000 // 7 6 AGC hysteresis level: none
372 #define CC1101_HYST_LEVEL_LOW 0b01000000 // 7 6 low
373 #define CC1101_HYST_LEVEL_MEDIUM 0b10000000 // 7 6 medium (default)
374 #define CC1101_HYST_LEVEL_HIGH 0b11000000 // 7 6 high
375 #define CC1101_WAIT_TIME_8_SAMPLES 0b00000000 // 5 4 AGC wait time: 8 samples
376 #define CC1101_WAIT_TIME_16_SAMPLES 0b00010000 // 5 4 16 samples (default)
377 #define CC1101_WAIT_TIME_24_SAMPLES 0b00100000 // 5 4 24 samples
378 #define CC1101_WAIT_TIME_32_SAMPLES 0b00110000 // 5 4 32 samples
379 #define CC1101_AGC_FREEZE_NEVER 0b00000000 // 3 2 freeze AGC gain: never (default)
380 #define CC1101_AGC_FREEZE_SYNC_WORD 0b00000100 // 3 2 when sync word is found
381 #define CC1101_AGC_FREEZE_MANUAL_A 0b00001000 // 3 2 manually freeze analog control
382 #define CC1101_AGC_FREEZE_MANUAL_AD 0b00001100 // 3 2 manually freeze analog and digital control
383 #define CC1101_FILTER_LENGTH_8 0b00000000 // 1 0 averaging length for channel filter: 8 samples
384 #define CC1101_FILTER_LENGTH_16 0b00000001 // 1 0 16 samples (default)
385 #define CC1101_FILTER_LENGTH_32 0b00000010 // 1 0 32 samples
386 #define CC1101_FILTER_LENGTH_64 0b00000011 // 1 0 64 samples
387 #define CC1101_ASK_OOK_BOUNDARY_4_DB 0b00000000 // 1 0 ASK/OOK decision boundary: 4 dB
388 #define CC1101_ASK_OOK_BOUNDARY_8_DB 0b00000001 // 1 0 8 dB (default)
389 #define CC1101_ASK_OOK_BOUNDARY_12_DB 0b00000010 // 1 0 12 dB
390 #define CC1101_ASK_OOK_BOUNDARY_16_DB 0b00000011 // 1 0 16 dB
391 
392 // CC1101_REG_WOREVT1 + REG_WOREVT0
393 #define CC1101_EVENT0_TIMEOUT_MSB 0x87 // 7 0 EVENT0 timeout: t_event0 = (750 / f(XOSC)) * EVENT0_TIMEOUT * 2^(5 * WOR_RES) [s]
394 #define CC1101_EVENT0_TIMEOUT_LSB 0x6B // 7 0 default value for 26 MHz crystal: 1.0 s
395 
396 // CC1101_REG_WORCTRL
397 #define CC1101_RC_POWER_UP 0b00000000 // 7 7 power up RC oscillator
398 #define CC1101_RC_POWER_DOWN 0b10000000 // 7 7 power down RC oscillator
399 #define CC1101_EVENT1_TIMEOUT_4 0b00000000 // 6 4 EVENT1 timeout: 4 RC periods
400 #define CC1101_EVENT1_TIMEOUT_6 0b00010000 // 6 4 6 RC periods
401 #define CC1101_EVENT1_TIMEOUT_8 0b00100000 // 6 4 8 RC periods
402 #define CC1101_EVENT1_TIMEOUT_12 0b00110000 // 6 4 12 RC periods
403 #define CC1101_EVENT1_TIMEOUT_16 0b01000000 // 6 4 16 RC periods
404 #define CC1101_EVENT1_TIMEOUT_24 0b01010000 // 6 4 24 RC periods
405 #define CC1101_EVENT1_TIMEOUT_32 0b01100000 // 6 4 32 RC periods
406 #define CC1101_EVENT1_TIMEOUT_48 0b01110000 // 6 4 48 RC periods (default)
407 #define CC1101_RC_CAL_OFF 0b00000000 // 3 3 disable RC oscillator calibration
408 #define CC1101_RC_CAL_ON 0b00001000 // 3 3 enable RC oscillator calibration (default)
409 #define CC1101_WOR_RES_1 0b00000000 // 1 0 EVENT0 resolution: 1 period (default)
410 #define CC1101_WOR_RES_2_5 0b00000001 // 1 0 2^5 periods
411 #define CC1101_WOR_RES_2_10 0b00000010 // 1 0 2^10 periods
412 #define CC1101_WOR_RES_2_15 0b00000011 // 1 0 2^15 periods
413 
414 // CC1101_REG_FREND1
415 #define CC1101_LNA_CURRENT 0x01 // 7 6 front-end LNA PTAT current output adjustment
416 #define CC1101_LNA2MIX_CURRENT 0x01 // 5 4 front-end PTAT output adjustment
417 #define CC1101_LODIV_BUF_CURRENT_RX 0x01 // 3 2 Rx LO buffer current adjustment
418 #define CC1101_MIX_CURRENT 0x02 // 1 0 mixer current adjustment
419 
420 // CC1101_REG_FREND0
421 #define CC1101_LODIV_BUF_CURRENT_TX 0x01 // 5 4 Tx LO buffer current adjustment
422 #define CC1101_PA_POWER 0x00 // 2 0 set power amplifier power according to PATABLE
423 
424 // CC1101_REG_FSCAL3
425 #define CC1101_CHP_CURR_CAL_OFF 0b00000000 // 5 4 disable charge pump calibration
426 #define CC1101_CHP_CURR_CAL_ON 0b00100000 // 5 4 enable charge pump calibration (default)
427 #define CC1101_FSCAL3 0x09 // 3 0 charge pump output current: I_out = I_0 * 2^(FSCAL3/4) [A]
428 
429 // CC1101_REG_FSCAL2
430 #define CC1101_VCO_CORE_LOW 0b00000000 // 5 5 VCO: low (default)
431 #define CC1101_VCO_CORE_HIGH 0b00100000 // 5 5 high
432 #define CC1101_FSCAL2 0x0A // 4 0 VCO current result/override
433 
434 // CC1101_REG_FSCAL1
435 #define CC1101_FSCAL1 0x20 // 5 0 capacitor array setting for coarse VCO tuning
436 
437 // CC1101_REG_FSCAL0
438 #define CC1101_FSCAL0 0x0D // 6 0 frequency synthesizer calibration setting
439 
440 // CC1101_REG_RCCTRL1
441 #define CC1101_RCCTRL1 0x41 // 6 0 RC oscillator configuration
442 
443 // CC1101_REG_RCCTRL0
444 #define CC1101_RCCTRL0 0x00 // 6 0 RC oscillator configuration
445 
446 // CC1101_REG_PTEST
447 #define CC1101_TEMP_SENS_IDLE_OFF 0x7F // 7 0 temperature sensor will not be available in idle mode (default)
448 #define CC1101_TEMP_SENS_IDLE_ON 0xBF // 7 0 temperature sensor will be available in idle mode
449 
450 // CC1101_REG_TEST0
451 #define CC1101_VCO_SEL_CAL_OFF 0b00000000 // 1 1 disable VCO selection calibration stage
452 #define CC1101_VCO_SEL_CAL_ON 0b00000010 // 1 1 enable VCO selection calibration stage
453 
454 // CC1101_REG_PARTNUM
455 #define CC1101_PARTNUM 0x00
456 
457 // CC1101_REG_VERSION
458 #define CC1101_VERSION 0x14
459 
460 // CC1101_REG_MARCSTATE
461 #define CC1101_MARC_STATE_SLEEP 0x00 // 4 0 main radio control state: sleep
462 #define CC1101_MARC_STATE_IDLE 0x01 // 4 0 idle
463 #define CC1101_MARC_STATE_XOFF 0x02 // 4 0 XOFF
464 #define CC1101_MARC_STATE_VCOON_MC 0x03 // 4 0 VCOON_MC
465 #define CC1101_MARC_STATE_REGON_MC 0x04 // 4 0 REGON_MC
466 #define CC1101_MARC_STATE_MANCAL 0x05 // 4 0 MANCAL
467 #define CC1101_MARC_STATE_VCOON 0x06 // 4 0 VCOON
468 #define CC1101_MARC_STATE_REGON 0x07 // 4 0 REGON
469 #define CC1101_MARC_STATE_STARTCAL 0x08 // 4 0 STARTCAL
470 #define CC1101_MARC_STATE_BWBOOST 0x09 // 4 0 BWBOOST
471 #define CC1101_MARC_STATE_FS_LOCK 0x0A // 4 0 FS_LOCK
472 #define CC1101_MARC_STATE_IFADCON 0x0B // 4 0 IFADCON
473 #define CC1101_MARC_STATE_ENDCAL 0x0C // 4 0 ENDCAL
474 #define CC1101_MARC_STATE_RX 0x0D // 4 0 RX
475 #define CC1101_MARC_STATE_RX_END 0x0E // 4 0 RX_END
476 #define CC1101_MARC_STATE_RX_RST 0x0F // 4 0 RX_RST
477 #define CC1101_MARC_STATE_TXRX_SWITCH 0x10 // 4 0 TXRX_SWITCH
478 #define CC1101_MARC_STATE_RXFIFO_OVERFLOW 0x11 // 4 0 RXFIFO_OVERFLOW
479 #define CC1101_MARC_STATE_FSTXON 0x12 // 4 0 FSTXON
480 #define CC1101_MARC_STATE_TX 0x13 // 4 0 TX
481 #define CC1101_MARC_STATE_TX_END 0x14 // 4 0 TX_END
482 #define CC1101_MARC_STATE_RXTX_SWITCH 0x15 // 4 0 RXTX_SWITCH
483 #define CC1101_MARC_STATE_TXFIFO_UNDERFLOW 0x16 // 4 0 TXFIFO_UNDERFLOW
484 
485 // CC1101_REG_WORTIME1 + REG_WORTIME0
486 #define CC1101_WORTIME_MSB 0x00 // 7 0 WOR timer value
487 #define CC1101_WORTIME_LSB 0x00 // 7 0
488 
489 // CC1101_REG_PKTSTATUS
490 #define CC1101_CRC_OK 0b10000000 // 7 7 CRC check passed
491 #define CC1101_CRC_ERROR 0b00000000 // 7 7 CRC check failed
492 #define CC1101_CS 0b01000000 // 6 6 carrier sense
493 #define CC1101_PQT_REACHED 0b00100000 // 5 5 preamble quality reached
494 #define CC1101_CCA 0b00010000 // 4 4 channel clear
495 #define CC1101_SFD 0b00001000 // 3 3 start of frame delimiter - sync word received
496 #define CC1101_GDO2_ACTIVE 0b00000100 // 2 2 GDO2 is active/asserted
497 #define CC1101_GDO0_ACTIVE 0b00000001 // 0 0 GDO0 is active/asserted
498 
504 class CC1101: public PhysicalLayer {
505  public:
506  // introduce PhysicalLayer overloads
511 
517  CC1101(Module* module);
518 
519  // basic methods
520 
538  int16_t begin(float freq = 434.0, float br = 48.0, float freqDev = 48.0, float rxBw = 135.0, int8_t power = 10, uint8_t preambleLength = 16);
539 
552  int16_t transmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
553 
564  int16_t receive(uint8_t* data, size_t len) override;
565 
571  int16_t standby() override;
572 
580  int16_t transmitDirect(uint32_t frf = 0) override;
581 
587  int16_t receiveDirect() override;
588 
592  int16_t packetMode();
593 
594  // interrupt methods
595 
603  void setGdo0Action(void (*func)(void), RADIOLIB_INTERRUPT_STATUS dir = FALLING);
604 
608  void clearGdo0Action();
609 
617  void setGdo2Action(void (*func)(void), RADIOLIB_INTERRUPT_STATUS dir = FALLING);
618 
622  void clearGdo2Action();
623 
636  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
637 
643  int16_t startReceive();
644 
654  int16_t readData(uint8_t* data, size_t len) override;
655 
656  // configuration methods
657 
665  int16_t setFrequency(float freq);
666 
674  int16_t setBitRate(float br);
675 
683  int16_t setRxBandwidth(float rxBw);
684 
692  int16_t setFrequencyDeviation(float freqDev) override;
693 
701  int16_t setOutputPower(int8_t power);
702 
716  int16_t setSyncWord(uint8_t syncH, uint8_t syncL, uint8_t maxErrBits = 0, bool requireCarrierSense = false);
717 
731  int16_t setSyncWord(uint8_t* syncWord, uint8_t len, uint8_t maxErrBits = 0, bool requireCarrierSense = false);
732 
740  int16_t setPreambleLength(uint8_t preambleLength);
741 
751  int16_t setNodeAddress(uint8_t nodeAddr, uint8_t numBroadcastAddrs = 0);
752 
758  int16_t disableAddressFiltering();
759 
767  int16_t setOOK(bool enableOOK);
768 
774  float getRSSI() const;
775 
781  uint8_t getLQI() const;
782 
790  size_t getPacketLength(bool update = true) override;
791 
799  int16_t fixedPacketLengthMode(uint8_t len = CC1101_MAX_PACKET_LENGTH);
800 
808  int16_t variablePacketLengthMode(uint8_t maxLen = CC1101_MAX_PACKET_LENGTH);
809 
819  int16_t enableSyncWordFiltering(uint8_t maxErrBits = 0, bool requireCarrierSense = false);
820 
828  int16_t disableSyncWordFiltering(bool requireCarrierSense = false);
829 
837  int16_t setCrcFiltering(bool crcOn = true);
838 
846  int16_t setPromiscuousMode(bool promiscuous = true);
847 
856  int16_t setDataShaping(uint8_t sh) override;
857 
865  int16_t setEncoding(uint8_t encoding) override;
866 
875  void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);
876 
877 #ifndef RADIOLIB_GODMODE
878  private:
879 #endif
880  Module* _mod;
881 
882  float _freq = 0;
883  uint8_t _rawRSSI = 0;
884  uint8_t _rawLQI = 0;
885  uint8_t _modulation = CC1101_MOD_FORMAT_2_FSK;
886 
887  size_t _packetLength = 0;
888  bool _packetLengthQueried = false;
889  uint8_t _packetLengthConfig = CC1101_LENGTH_CONFIG_VARIABLE;
890 
891  bool _promiscuous = false;
892  bool _crcOn = true;
893 
894  uint8_t _syncWordLength = 2;
895  int8_t _power = 0;
896 
897  int16_t config();
898  int16_t directMode();
899  static void getExpMant(float target, uint16_t mantOffset, uint8_t divExp, uint8_t expMax, uint8_t& exp, uint8_t& mant);
900  int16_t setPacketMode(uint8_t mode, uint8_t len);
901 
902  // SPI read overrides to set bit for burst write and status registers access
903  int16_t SPIgetRegValue(uint8_t reg, uint8_t msb = 7, uint8_t lsb = 0);
904  int16_t SPIsetRegValue(uint8_t reg, uint8_t value, uint8_t msb = 7, uint8_t lsb = 0, uint8_t checkInterval = 2);
905  void SPIreadRegisterBurst(uint8_t reg, uint8_t numBytes, uint8_t* inBytes);
906  uint8_t SPIreadRegister(uint8_t reg);
907  void SPIwriteRegisterBurst(uint8_t reg, uint8_t* data, size_t len);
908  void SPIwriteRegister(uint8_t reg, uint8_t data);
909 
910  void SPIsendCommand(uint8_t cmd);
911 };
912 
913 #endif
int16_t packetMode()
Stops direct mode. It is required to call this method to switch from direct transmissions to packet-b...
Definition: CC1101.cpp:185
+
int16_t begin(float freq=434.0, float br=48.0, float freqDev=48.0, float rxBw=135.0, int8_t power=10, uint8_t preambleLength=16)
Initialization method.
Definition: CC1101.cpp:8
+
int16_t startTransmit(String &str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes.
Definition: PhysicalLayer.cpp:49
+
int16_t enableSyncWordFiltering(uint8_t maxErrBits=0, bool requireCarrierSense=false)
Enable sync word filtering and generation.
Definition: CC1101.cpp:632
+
int16_t startReceive()
Interrupt-driven receive method. GDO0 will be activated when full packet is received.
Definition: CC1101.cpp:254
+
int16_t disableSyncWordFiltering(bool requireCarrierSense=false)
Disable preamble and sync word filtering and generation.
Definition: CC1101.cpp:647
+
void setGdo0Action(void(*func)(void), RADIOLIB_INTERRUPT_STATUS dir=FALLING)
Sets interrupt service routine to call when GDO0 activates.
Definition: CC1101.cpp:192
+
int16_t variablePacketLengthMode(uint8_t maxLen=CC1101_MAX_PACKET_LENGTH)
Set modem in variable packet length mode.
Definition: CC1101.cpp:628
+
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: CC1101.cpp:610
+
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Allowed values are RADIOLIB_ENCODING_NRZ and RADIOLIB_ENCODING_WHITENING...
Definition: CC1101.cpp:707
+
void clearGdo0Action()
Clears interrupt service routine to call when GDO0 activates.
Definition: CC1101.cpp:196
+
Control class for CC1101 module.
Definition: CC1101.h:504
+
int16_t disableAddressFiltering()
Disables address filtering. Calling this method will also erase previously set addresses.
Definition: CC1101.cpp:555
+
void setGdo2Action(void(*func)(void), RADIOLIB_INTERRUPT_STATUS dir=FALLING)
Sets interrupt service routine to call when GDO2 activates.
Definition: CC1101.cpp:200
+
int16_t setRxBandwidth(float rxBw)
Sets receiver bandwidth. Allowed values range from 58.0 to 812.0 kHz.
Definition: CC1101.cpp:357
+
int16_t setOutputPower(int8_t power)
Sets output power. Allowed values are -30, -20, -15, -10, 0, 5, 7 or 10 dBm.
Definition: CC1101.cpp:401
+
int16_t startTransmit(uint8_t *data, size_t len, uint8_t addr=0) override
Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in ...
Definition: CC1101.cpp:215
+
int16_t standby() override
Sets the module to standby mode.
Definition: CC1101.cpp:141
+
void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
Some modules contain external RF switch controlled by two pins. This function gives RadioLib control ...
Definition: CC1101.cpp:731
+
int16_t fixedPacketLengthMode(uint8_t len=CC1101_MAX_PACKET_LENGTH)
Set modem in fixed packet length mode.
Definition: CC1101.cpp:624
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)
Arduino Flash String transmit method.
Definition: PhysicalLayer.cpp:8
+
int16_t readData(uint8_t *data, size_t len) override
Reads data received after calling startReceive method.
Definition: CC1101.cpp:274
+
void clearGdo2Action()
Clears interrupt service routine to call when GDO0 activates.
Definition: CC1101.cpp:208
+
float getRSSI() const
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: CC1101.cpp:596
+
int16_t setSyncWord(uint8_t syncH, uint8_t syncL, uint8_t maxErrBits=0, bool requireCarrierSense=false)
Sets 16-bit sync word as a two byte value.
Definition: CC1101.cpp:502
+
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:98
+
int16_t transmit(uint8_t *data, size_t len, uint8_t addr=0) override
Blocking binary transmit method. Overloads for string-based transmissions are implemented in Physical...
Definition: CC1101.cpp:98
+
int16_t receive(uint8_t *data, size_t len) override
Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalL...
Definition: CC1101.cpp:122
+
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values are in bands 300.0 to 348.0 MHz, 387.0 to 464.0 MHz and 779.0 to 928.0 MHz.
Definition: CC1101.cpp:314
+
int16_t setFrequencyDeviation(float freqDev) override
Sets frequency deviation. Allowed values range from 1.587 to 380.8 kHz.
Definition: CC1101.cpp:377
+
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
+
int16_t setNodeAddress(uint8_t nodeAddr, uint8_t numBroadcastAddrs=0)
Sets node and broadcast addresses. Calling this method will also enable address filtering.
Definition: CC1101.cpp:544
+
CC1101(Module *module)
Default constructor.
Definition: CC1101.cpp:4
+
int16_t transmitDirect(uint32_t frf=0) override
Starts direct mode transmission.
Definition: CC1101.cpp:150
+
uint8_t getLQI() const
Gets LQI (Link Quality Indicator) of the last received packet.
Definition: CC1101.cpp:606
+
int16_t setBitRate(float br)
Sets bit rate. Allowed values range from 0.025 to 600.0 kbps.
Definition: CC1101.cpp:340
+
int16_t setPromiscuousMode(bool promiscuous=true)
Set modem in "sniff" mode: no packet filtering (e.g., no preamble, sync word, address, CRC).
Definition: CC1101.cpp:662
+
int16_t setCrcFiltering(bool crcOn=true)
Enable CRC filtering and generation.
Definition: CC1101.cpp:652
+
int16_t setOOK(bool enableOOK)
Enables/disables OOK modulation instead of FSK.
Definition: CC1101.cpp:565
+
int16_t setPreambleLength(uint8_t preambleLength)
Sets preamble length.
Definition: CC1101.cpp:507
+
int16_t receiveDirect() override
Starts direct mode reception.
Definition: CC1101.cpp:172
+
int16_t setDataShaping(uint8_t sh) override
Sets Gaussian filter bandwidth-time product that will be used for data shaping. Allowed value is RADI...
Definition: CC1101.cpp:688
+
int16_t readData(String &str, size_t len=0)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:57
+
+
+ + + + diff --git a/_e_s_p8266_8h_source.html b/_e_s_p8266_8h_source.html new file mode 100644 index 00000000..1893ebda --- /dev/null +++ b/_e_s_p8266_8h_source.html @@ -0,0 +1,135 @@ + + + + + + +RadioLib: src/modules/ESP8266/ESP8266.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ESP8266.h
+
+
+
1 #if !defined(_RADIOLIB_ESP8266_H) && !defined(RADIOLIB_EXCLUDE_ESP8266) && !defined(ESP8266)
2 #define _RADIOLIB_ESP8266_H
3 
4 #include "../../TypeDef.h"
5 #include "../../Module.h"
6 
7 #include "../../protocols/TransportLayer/TransportLayer.h"
8 
14 class ESP8266: public TransportLayer {
15  public:
21  ESP8266(Module* module);
22 
23  // basic methods
24 
32  int16_t begin(long speed);
33 
39  int16_t reset();
40 
48  int16_t join(const char* ssid, const char* password);
49 
50  // transport layer methods (implementations of purely virtual methods in TransportLayer class)
51  int16_t openTransportConnection(const char* host, const char* protocol, uint16_t port, uint16_t tcpKeepAlive = 0) override;
52  int16_t closeTransportConnection() override;
53  int16_t send(const char* data) override;
54  int16_t send(uint8_t* data, size_t len) override;
55  size_t receive(uint8_t* data, size_t len, uint32_t timeout = 10000) override;
56  size_t getNumBytes(uint32_t timeout = 10000, size_t minBytes = 10) override;
57 
58 #ifndef RADIOLIB_GODMODE
59  private:
60 #endif
61  Module* _mod;
62 };
63 
64 #endif
Provides common interface for protocols that run on modules with Internet connectivity, such as HTTP or MQTT. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class.
Definition: TransportLayer.h:12
+
int16_t send(const char *data) override
Send string-based data.
Definition: ESP8266.cpp:133
+
ESP8266(Module *module)
Default constructor.
Definition: ESP8266.cpp:4
+
size_t receive(uint8_t *data, size_t len, uint32_t timeout=10000) override
Receive data.
Definition: ESP8266.cpp:193
+
int16_t openTransportConnection(const char *host, const char *protocol, uint16_t port, uint16_t tcpKeepAlive=0) override
Open transport layer connection.
Definition: ESP8266.cpp:85
+
size_t getNumBytes(uint32_t timeout=10000, size_t minBytes=10) override
Get number of received bytes.
Definition: ESP8266.cpp:210
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t reset()
Resets module using AT command.
Definition: ESP8266.cpp:26
+
int16_t begin(long speed)
Initialization method.
Definition: ESP8266.cpp:8
+
int16_t closeTransportConnection() override
Close transport layer connection.
Definition: ESP8266.cpp:125
+
int16_t join(const char *ssid, const char *password)
Joins access point.
Definition: ESP8266.cpp:48
+
Control class for ESP8266 module. Implements TransportLayer methods.
Definition: ESP8266.h:14
+
+
+ + + + diff --git a/_h_c05_8h_source.html b/_h_c05_8h_source.html new file mode 100644 index 00000000..16140c3e --- /dev/null +++ b/_h_c05_8h_source.html @@ -0,0 +1,128 @@ + + + + + + +RadioLib: src/modules/HC05/HC05.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
HC05.h
+
+
+
1 #if !defined(_RADIOLIB_HC05_H) && !defined(RADIOLIB_EXCLUDE_HC05)
2 #define _RADIOLIB_HC05_H
3 
4 #include "../../ISerial.h"
5 
12 class HC05: public ISerial {
13  public:
19  HC05(Module* mod);
20 
26  void begin(long speed);
27 };
28 
29 #endif
HC05(Module *mod)
Default constructor.
Definition: HC05.cpp:4
+
void begin(long speed)
Initialization method.
Definition: HC05.cpp:8
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
Interface class for Arduino Serial. Only calls the appropriate methods for the active UART interface...
Definition: ISerial.h:16
+
Control class for HC05 module. Most methods supported by this module are implemented in ISerial inter...
Definition: HC05.h:12
+
+
+ + + + diff --git a/_h_t_t_p_8h_source.html b/_h_t_t_p_8h_source.html new file mode 100644 index 00000000..4dbf809c --- /dev/null +++ b/_h_t_t_p_8h_source.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/protocols/HTTP/HTTP.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
HTTP.h
+
+
+
1 #if !defined(_RADIOLIB_HTTP_H)
2 #define _RADIOLIB_HTTP_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_HTTP)
7 
8 #include "../TransportLayer/TransportLayer.h"
9 
15 class HTTPClient {
16  public:
24  explicit HTTPClient(TransportLayer* tl, uint16_t port = 80);
25 
35  int16_t get(String& url, String& response);
36 
46  int16_t get(const char* url, String& response);
47 
61  int16_t post(const char* url, const char* content, String& response, const char* contentType = "text/plain");
62 
63 #ifndef RADIOLIB_GODMODE
64  private:
65 #endif
66  TransportLayer* _tl;
67 
68  uint16_t _port;
69 };
70 
71 #endif
72 
73 #endif
Provides common interface for protocols that run on modules with Internet connectivity, such as HTTP or MQTT. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class.
Definition: TransportLayer.h:12
+
int16_t post(const char *url, const char *content, String &response, const char *contentType="text/plain")
Sends HTTP POST request.
Definition: HTTP.cpp:112
+
HTTPClient(TransportLayer *tl, uint16_t port=80)
Default constructor.
Definition: HTTP.cpp:4
+
Client for simple HTTP communication.
Definition: HTTP.h:15
+
+
+ + + + diff --git a/_hellschreiber_8h_source.html b/_hellschreiber_8h_source.html new file mode 100644 index 00000000..055efecd --- /dev/null +++ b/_hellschreiber_8h_source.html @@ -0,0 +1,129 @@ + + + + + + +RadioLib: src/protocols/Hellschreiber/Hellschreiber.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Hellschreiber.h
+
+
+
1 #if !defined(_RADIOLIB_HELLSCHREIBER_H)
2 #define _RADIOLIB_HELLSCHREIBER_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_HELLSCHREIBER)
7 
8 #include "../PhysicalLayer/PhysicalLayer.h"
9 #include "../AFSK/AFSK.h"
10 
11 #define HELL_FONT_WIDTH 7
12 #define HELL_FONT_HEIGHT 7
13 
14 // font definition: characters are stored in rows,
15 // least significant byte of each character is the first row
16 // Hellschreiber use 7x7 characters, but this simplified font uses only 5x5 - the extra bytes aren't stored
17 static const uint8_t HellFont[64][HELL_FONT_WIDTH - 2] RADIOLIB_PROGMEM = {
18  { 0b0000000, 0b0000000, 0b0000000, 0b0000000, 0b0000000 }, // space
19  { 0b0001000, 0b0001000, 0b0001000, 0b0000000, 0b0001000 }, // !
20  { 0b0010100, 0b0010100, 0b0000000, 0b0000000, 0b0000000 }, // "
21  { 0b0010100, 0b0111110, 0b0010100, 0b0111110, 0b0010100 }, // #
22  { 0b0111110, 0b0101000, 0b0111110, 0b0001010, 0b0111110 }, // $
23  { 0b0110010, 0b0110100, 0b0001000, 0b0010110, 0b0100110 }, // %
24  { 0b0010000, 0b0101000, 0b0010000, 0b0101000, 0b0110100 }, // &
25  { 0b0001000, 0b0001000, 0b0000000, 0b0000000, 0b0000000 }, // '
26  { 0b0000100, 0b0001000, 0b0001000, 0b0001000, 0b0000100 }, // (
27  { 0b0010000, 0b0001000, 0b0001000, 0b0001000, 0b0010000 }, // )
28  { 0b0010100, 0b0001000, 0b0010100, 0b0000000, 0b0000000 }, // *
29  { 0b0001000, 0b0001000, 0b0111110, 0b0001000, 0b0001000 }, // +
30  { 0b0001000, 0b0010000, 0b0000000, 0b0000000, 0b0000000 }, // ´
31  { 0b0000000, 0b0000000, 0b0111110, 0b0000000, 0b0000000 }, // -
32  { 0b0000000, 0b0000000, 0b0000000, 0b0000000, 0b0001000 }, // .
33  { 0b0000010, 0b0000100, 0b0001000, 0b0010000, 0b0100000 }, // /
34  { 0b0011100, 0b0100110, 0b0101010, 0b0110010, 0b0011100 }, // 0
35  { 0b0011000, 0b0001000, 0b0001000, 0b0001000, 0b0001000 }, // 1
36  { 0b0011000, 0b0100100, 0b0001000, 0b0010000, 0b0111100 }, // 2
37  { 0b0111100, 0b0000100, 0b0011100, 0b0000100, 0b0111100 }, // 3
38  { 0b0100100, 0b0100100, 0b0111100, 0b0000100, 0b0000100 }, // 4
39  { 0b0011100, 0b0100000, 0b0111100, 0b0000100, 0b0111100 }, // 5
40  { 0b0111100, 0b0100000, 0b0111100, 0b0100100, 0b0111100 }, // 6
41  { 0b0111100, 0b0000100, 0b0001000, 0b0010000, 0b0100000 }, // 7
42  { 0b0111100, 0b0100100, 0b0011000, 0b0100100, 0b0111100 }, // 8
43  { 0b0111100, 0b0100100, 0b0111100, 0b0000100, 0b0111100 }, // 9
44  { 0b0000000, 0b0001000, 0b0000000, 0b0000000, 0b0001000 }, // :
45  { 0b0000000, 0b0001000, 0b0000000, 0b0001000, 0b0001000 }, // ;
46  { 0b0000100, 0b0001000, 0b0010000, 0b0001000, 0b0000100 }, // <
47  { 0b0000000, 0b0111110, 0b0000000, 0b0111110, 0b0000000 }, // =
48  { 0b0010000, 0b0001000, 0b0000100, 0b0001000, 0b0010000 }, // >
49  { 0b0011100, 0b0000100, 0b0001000, 0b0000000, 0b0001000 }, // ?
50  { 0b0011100, 0b0100010, 0b0101110, 0b0101010, 0b0001100 }, // @
51  { 0b0111110, 0b0100010, 0b0111110, 0b0100010, 0b0100010 }, // A
52  { 0b0111100, 0b0010010, 0b0011110, 0b0010010, 0b0111100 }, // B
53  { 0b0011110, 0b0110000, 0b0100000, 0b0110000, 0b0011110 }, // C
54  { 0b0111100, 0b0100010, 0b0100010, 0b0100010, 0b0111100 }, // D
55  { 0b0111110, 0b0100000, 0b0111100, 0b0100000, 0b0111110 }, // E
56  { 0b0111110, 0b0100000, 0b0111100, 0b0100000, 0b0100000 }, // F
57  { 0b0111110, 0b0100000, 0b0101110, 0b0100010, 0b0111110 }, // G
58  { 0b0100010, 0b0100010, 0b0111110, 0b0100010, 0b0100010 }, // H
59  { 0b0011100, 0b0001000, 0b0001000, 0b0001000, 0b0011100 }, // I
60  { 0b0111100, 0b0001000, 0b0001000, 0b0101000, 0b0111000 }, // J
61  { 0b0100100, 0b0101000, 0b0110000, 0b0101000, 0b0100100 }, // K
62  { 0b0100000, 0b0100000, 0b0100000, 0b0100000, 0b0111100 }, // L
63  { 0b0100010, 0b0110110, 0b0101010, 0b0100010, 0b0100010 }, // M
64  { 0b0100010, 0b0110010, 0b0101010, 0b0100110, 0b0100010 }, // N
65  { 0b0011100, 0b0100010, 0b0100010, 0b0100010, 0b0011100 }, // O
66  { 0b0111110, 0b0100010, 0b0111110, 0b0100000, 0b0100000 }, // P
67  { 0b0111110, 0b0100010, 0b0100010, 0b0100110, 0b0111110 }, // Q
68  { 0b0111110, 0b0100010, 0b0111110, 0b0100100, 0b0100010 }, // R
69  { 0b0111110, 0b0100000, 0b0111110, 0b0000010, 0b0111110 }, // S
70  { 0b0111110, 0b0001000, 0b0001000, 0b0001000, 0b0001000 }, // T
71  { 0b0100010, 0b0100010, 0b0100010, 0b0100010, 0b0111110 }, // U
72  { 0b0100010, 0b0100010, 0b0010100, 0b0010100, 0b0001000 }, // V
73  { 0b0100010, 0b0100010, 0b0101010, 0b0110110, 0b0100010 }, // W
74  { 0b0100010, 0b0010100, 0b0001000, 0b0010100, 0b0100010 }, // X
75  { 0b0100010, 0b0010100, 0b0001000, 0b0001000, 0b0001000 }, // Y
76  { 0b0111110, 0b0000100, 0b0001000, 0b0010000, 0b0111110 }, // Z
77  { 0b0001100, 0b0001000, 0b0001000, 0b0001000, 0b0001100 }, // [
78  { 0b0100000, 0b0010000, 0b0001000, 0b0000100, 0b0000010 }, // backslash
79  { 0b0011000, 0b0001000, 0b0001000, 0b0001000, 0b0011000 }, // ]
80  { 0b0001000, 0b0010100, 0b0000000, 0b0000000, 0b0000000 }, // ^
81  { 0b0000000, 0b0000000, 0b0000000, 0b0000000, 0b0111110 } // _
82 };
83 
89 class HellClient {
90  public:
96  explicit HellClient(PhysicalLayer* phy);
97 
98  #if !defined(RADIOLIB_EXCLUDE_AFSK)
99 
104  explicit HellClient(AFSKClient* audio);
105  #endif
106 
107  // basic methods
108 
116  int16_t begin(float base, float rate = 122.5);
117 
123  size_t printGlyph(uint8_t* buff);
124 
125  size_t write(const char* str);
126  size_t write(uint8_t* buff, size_t len);
127  size_t write(uint8_t b);
128 
129  size_t print(__FlashStringHelper*);
130  size_t print(const String &);
131  size_t print(const char[]);
132  size_t print(char);
133  size_t print(unsigned char, int = DEC);
134  size_t print(int, int = DEC);
135  size_t print(unsigned int, int = DEC);
136  size_t print(long, int = DEC);
137  size_t print(unsigned long, int = DEC);
138  size_t print(double, int = 2);
139 
140  size_t println(void);
141  size_t println(__FlashStringHelper*);
142  size_t println(const String &);
143  size_t println(const char[]);
144  size_t println(char);
145  size_t println(unsigned char, int = DEC);
146  size_t println(int, int = DEC);
147  size_t println(unsigned int, int = DEC);
148  size_t println(long, int = DEC);
149  size_t println(unsigned long, int = DEC);
150  size_t println(double, int = 2);
151 
152 #ifndef RADIOLIB_GODMODE
153  private:
154 #endif
155  PhysicalLayer* _phy;
156  #if !defined(RADIOLIB_EXCLUDE_AFSK)
157  AFSKClient* _audio;
158  #endif
159 
160  uint32_t _base = 0, _baseHz = 0;
161  uint32_t _pixelDuration = 0;
162 
163  size_t printNumber(unsigned long, uint8_t);
164  size_t printFloat(double, uint8_t);
165 
166  int16_t transmitDirect(uint32_t freq = 0, uint32_t freqHz = 0);
167  int16_t standby();
168 };
169 
170 #endif
171 
172 #endif
Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direc...
Definition: AFSK.h:17
+
HellClient(PhysicalLayer *phy)
Constructor for 2-FSK mode.
Definition: Hellschreiber.cpp:4
+
Client for Hellschreiber transmissions.
Definition: Hellschreiber.h:89
+
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
+
int16_t begin(float base, float rate=122.5)
Initialization method.
Definition: Hellschreiber.cpp:19
+
size_t printGlyph(uint8_t *buff)
Method to "print" a buffer of pixels, this is exposed to allow users to send custom characters...
Definition: Hellschreiber.cpp:38
+
+
+ + + + diff --git a/_i_serial_8h_source.html b/_i_serial_8h_source.html new file mode 100644 index 00000000..80fb6dec --- /dev/null +++ b/_i_serial_8h_source.html @@ -0,0 +1,125 @@ + + + + + + +RadioLib: src/ISerial.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ISerial.h
+
+
+
1 #ifndef _RADIOLIB_ISERIAL_H
2 #define _RADIOLIB_ISERIAL_H
3 
4 #include "Module.h"
5 
6 #include <stdio.h>
7 
8 #include "WString.h"
9 #include "Printable.h"
10 
16 class ISerial {
17  public:
18  explicit ISerial(Module* mod);
19 
20  void begin(long);
21  void end();
22  int peek();
23  size_t write(uint8_t);
24  int read();
25  int available();
26  void flush();
27 
28  size_t print(const __FlashStringHelper *);
29  size_t print(const String &);
30  size_t print(const char[]);
31  size_t print(char);
32  size_t print(unsigned char, int = DEC);
33  size_t print(int, int = DEC);
34  size_t print(unsigned int, int = DEC);
35  size_t print(long, int = DEC);
36  size_t print(unsigned long, int = DEC);
37  size_t print(double, int = 2);
38  size_t print(const Printable&);
39 
40  size_t println(const __FlashStringHelper *);
41  size_t println(const String &s);
42  size_t println(const char[]);
43  size_t println(char);
44  size_t println(unsigned char, int = DEC);
45  size_t println(int, int = DEC);
46  size_t println(unsigned int, int = DEC);
47  size_t println(long, int = DEC);
48  size_t println(unsigned long, int = DEC);
49  size_t println(double, int = 2);
50  size_t println(const Printable&);
51  size_t println(void);
52 
53 #ifndef RADIOLIB_GODMODE
54  protected:
55 #endif
56  Module* _mod;
57 };
58 
59 #endif
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
Interface class for Arduino Serial. Only calls the appropriate methods for the active UART interface...
Definition: ISerial.h:16
+
+
+ + + + diff --git a/_j_d_y08_8h_source.html b/_j_d_y08_8h_source.html new file mode 100644 index 00000000..f69effa3 --- /dev/null +++ b/_j_d_y08_8h_source.html @@ -0,0 +1,128 @@ + + + + + + +RadioLib: src/modules/JDY08/JDY08.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
JDY08.h
+
+
+
1 #if !defined(_RADIOLIB_JDY08_H) && !defined(RADIOLIB_EXCLUDE_JDY08)
2 #define _RADIOLIB_JDY08_H
3 
4 #include "../../ISerial.h"
5 
12 class JDY08: public ISerial {
13  public:
19  JDY08(Module* mod);
20 
26  void begin(long speed);
27 };
28 
29 #endif
Control class for JDY08 module. Most methods supported by this module are implemented in ISerial inte...
Definition: JDY08.h:12
+
void begin(long speed)
Initialization method.
Definition: JDY08.cpp:8
+
JDY08(Module *mod)
Default constructor.
Definition: JDY08.cpp:4
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
Interface class for Arduino Serial. Only calls the appropriate methods for the active UART interface...
Definition: ISerial.h:16
+
+
+ + + + diff --git a/_m_q_t_t_8h_source.html b/_m_q_t_t_8h_source.html new file mode 100644 index 00000000..0469ed69 --- /dev/null +++ b/_m_q_t_t_8h_source.html @@ -0,0 +1,133 @@ + + + + + + +RadioLib: src/protocols/MQTT/MQTT.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
MQTT.h
+
+
+
1 #if !defined(_RADIOLIB_MQTT_H)
2 #define _RADIOLIB_MQTT_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_MQTT)
7 
8 #include "../TransportLayer/TransportLayer.h"
9 
10 // MQTT packet types
11 #define MQTT_CONNECT 0x01
12 #define MQTT_CONNACK 0x02
13 #define MQTT_PUBLISH 0x03
14 #define MQTT_PUBACK 0x04
15 #define MQTT_PUBREC 0x05
16 #define MQTT_PUBREL 0x06
17 #define MQTT_PUBCOMP 0x07
18 #define MQTT_SUBSCRIBE 0x08
19 #define MQTT_SUBACK 0x09
20 #define MQTT_UNSUBSCRIBE 0x0A
21 #define MQTT_UNSUBACK 0x0B
22 #define MQTT_PINGREQ 0x0C
23 #define MQTT_PINGRESP 0x0D
24 #define MQTT_DISCONNECT 0x0E
25 
26 // MQTT CONNECT flags
27 #define MQTT_CONNECT_USER_NAME_FLAG 0b10000000
28 #define MQTT_CONNECT_PASSWORD_FLAG 0b01000000
29 #define MQTT_CONNECT_WILL_RETAIN 0b00100000
30 #define MQTT_CONNECT_WILL_FLAG 0b00000100
31 #define MQTT_CONNECT_CLEAN_SESSION 0b00000010
32 
38 class MQTTClient {
39  public:
45  explicit MQTTClient(TransportLayer* tl, uint16_t port = 1883);
46 
47  // basic methods
48 
70  int16_t connect(const char* host, const char* clientId, const char* userName = "", const char* password = "", uint16_t keepAlive = 60, bool cleanSession = true, const char* willTopic = "", const char* willMessage = "");
71 
77  int16_t disconnect();
78 
88  int16_t publish(String& topic, String& message);
89 
99  int16_t publish(const char* topic, const char* message);
100 
108  int16_t subscribe(const char* topicFilter);
109 
117  int16_t unsubscribe(const char* topicFilter);
118 
124  int16_t ping();
125 
131  int16_t check(void (*func)(const char*, const char*));
132 
133 #ifndef RADIOLIB_GODMODE
134  private:
135 #endif
136  TransportLayer* _tl;
137 
138  uint16_t _port;
139  uint16_t _packetId;
140 
141  static size_t encodeLength(uint32_t len, uint8_t* encoded);
142  static uint32_t decodeLength(uint8_t* encoded, uint8_t& numBytes);
143 };
144 
145 #endif
146 
147 #endif
int16_t subscribe(const char *topicFilter)
Subscribe to MQTT topic.
Definition: MQTT.cpp:211
+
Provides common interface for protocols that run on modules with Internet connectivity, such as HTTP or MQTT. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class.
Definition: TransportLayer.h:12
+
int16_t ping()
Ping MQTT broker. This method can be used to keep connection open.
Definition: MQTT.cpp:356
+
int16_t disconnect()
Disconnect from MQTT broker.
Definition: MQTT.cpp:146
+
MQTTClient(TransportLayer *tl, uint16_t port=1883)
Default constructor.
Definition: MQTT.cpp:4
+
int16_t connect(const char *host, const char *clientId, const char *userName="", const char *password="", uint16_t keepAlive=60, bool cleanSession=true, const char *willTopic="", const char *willMessage="")
Connects to MQTT broker (/server).
Definition: MQTT.cpp:10
+
int16_t publish(String &topic, String &message)
Publish MQTT message.
Definition: MQTT.cpp:164
+
int16_t check(void(*func)(const char *, const char *))
Set function to be called when checking new messages in subscribed topics.
Definition: MQTT.cpp:396
+
int16_t unsubscribe(const char *topicFilter)
Unsubscribe from MQTT topic.
Definition: MQTT.cpp:285
+
Client for simple MQTT communication.
Definition: MQTT.h:38
+
+
+ + + + diff --git a/_module_8h_source.html b/_module_8h_source.html new file mode 100644 index 00000000..accde406 --- /dev/null +++ b/_module_8h_source.html @@ -0,0 +1,166 @@ + + + + + + +RadioLib: src/Module.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Module.h
+
+
+
1 #ifndef _RADIOLIB_MODULE_H
2 #define _RADIOLIB_MODULE_H
3 
4 #include "TypeDef.h"
5 
6 #include <SPI.h>
7 #ifndef RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
8 #include <SoftwareSerial.h>
9 #endif
10 
17 class Module {
18  public:
19 
31 #ifdef RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
32  Module(RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, HardwareSerial* serial = &RADIOLIB_HARDWARE_SERIAL_PORT, RADIOLIB_PIN_TYPE rst = RADIOLIB_NC);
33 #else
34  Module(RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, HardwareSerial* serial = nullptr, RADIOLIB_PIN_TYPE rst = RADIOLIB_NC);
35 #endif
36 
46  Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst);
47 
59  Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE gpio);
60 
74  Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, SPIClass& spi, SPISettings spiSettings);
75 
91  Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE gpio, SPIClass& spi, SPISettings spiSettings);
92 
112 #ifdef RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
113  Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, SPIClass& spi = RADIOLIB_DEFAULT_SPI, SPISettings spiSettings = SPISettings(2000000, MSBFIRST, SPI_MODE0), HardwareSerial* serial = &RADIOLIB_HARDWARE_SERIAL_PORT);
114 #else
115  Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, SPIClass& spi = RADIOLIB_DEFAULT_SPI, SPISettings spiSettings = SPISettings(2000000, MSBFIRST, SPI_MODE0), HardwareSerial* serial = nullptr);
116 #endif
117 
123  Module(const Module& mod);
124 
130  Module& operator=(const Module& mod);
131 
132  // public member variables
133 
137 #ifdef RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
138  HardwareSerial* ModuleSerial;
139 #else
140  SoftwareSerial* ModuleSerial;
141 #endif
142 
146  uint32_t baudrate = 9600;
147 
151  char AtLineFeed[3] = {'\r', '\n'};
152 
156  uint8_t SPIreadCommand = 0b00000000;
157 
161  uint8_t SPIwriteCommand = 0b10000000;
162 
163  // basic methods
164 
170  void init(uint8_t interface);
171 
177  void term(uint8_t interface);
178 
179  // AT methods
180 
184  void ATemptyBuffer();
185 
191  bool ATgetResponse();
192 
200  bool ATsendCommand(const char* cmd);
201 
211  bool ATsendData(uint8_t* data, uint32_t len);
212 
213  // SPI methods
214 
226  int16_t SPIgetRegValue(uint8_t reg, uint8_t msb = 7, uint8_t lsb = 0);
227 
243  int16_t SPIsetRegValue(uint8_t reg, uint8_t value, uint8_t msb = 7, uint8_t lsb = 0, uint8_t checkInterval = 2);
244 
254  void SPIreadRegisterBurst(uint8_t reg, uint8_t numBytes, uint8_t* inBytes);
255 
263  uint8_t SPIreadRegister(uint8_t reg);
264 
274  void SPIwriteRegisterBurst(uint8_t reg, uint8_t* data, uint8_t numBytes);
275 
283  void SPIwriteRegister(uint8_t reg, uint8_t data);
284 
298  void SPItransfer(uint8_t cmd, uint8_t reg, uint8_t* dataOut, uint8_t* dataIn, uint8_t numBytes);
299 
300  // pin number access methods
301 
307  RADIOLIB_PIN_TYPE getCs() const { return(_cs); }
308 
314  RADIOLIB_PIN_TYPE getIrq() const { return(_irq); }
315 
321  RADIOLIB_PIN_TYPE getRst() const { return(_rst); }
322 
328  RADIOLIB_PIN_TYPE getGpio() const { return(_rx); }
329 
335  RADIOLIB_PIN_TYPE getRx() const { return(_rx); }
336 
342  RADIOLIB_PIN_TYPE getTx() const { return(_tx); }
343 
349  SPIClass* getSpi() const { return(_spi); }
350 
356  SPISettings getSpiSettings() const { return(_spiSettings); }
357 
366  void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);
367 
375  void setRfSwitchState(RADIOLIB_PIN_STATUS rxPinState, RADIOLIB_PIN_STATUS txPinState);
376 
377  // Arduino core overrides
378 
386  static void pinMode(RADIOLIB_PIN_TYPE pin, RADIOLIB_PIN_MODE mode);
387 
395  static void digitalWrite(RADIOLIB_PIN_TYPE pin, RADIOLIB_PIN_STATUS value);
396 
404  static RADIOLIB_PIN_STATUS digitalRead(RADIOLIB_PIN_TYPE pin);
405 
413  static void tone(RADIOLIB_PIN_TYPE pin, uint16_t value);
414 
420  static void noTone(RADIOLIB_PIN_TYPE pin);
421 
431  static void attachInterrupt(RADIOLIB_PIN_TYPE interruptNum, void (*userFunc)(void), RADIOLIB_INTERRUPT_STATUS mode);
432 
438  static void detachInterrupt(RADIOLIB_PIN_TYPE interruptNum);
439 
443  static void yield();
444 
450  static void delay(uint32_t ms);
451 
457  static void delayMicroseconds(uint32_t us);
458 
462  static uint32_t millis();
463 
467  static uint32_t micros();
468 
469 #ifndef RADIOLIB_GODMODE
470  private:
471 #endif
472  RADIOLIB_PIN_TYPE _cs = RADIOLIB_NC;
473  RADIOLIB_PIN_TYPE _irq = RADIOLIB_NC;
474  RADIOLIB_PIN_TYPE _rst = RADIOLIB_NC;
475  RADIOLIB_PIN_TYPE _rx = RADIOLIB_NC;
476  RADIOLIB_PIN_TYPE _tx = RADIOLIB_NC;
477 
478  SPISettings _spiSettings = SPISettings(2000000, MSBFIRST, SPI_MODE0);
479 
480  bool _initInterface = false;
481  SPIClass* _spi = NULL;
482 
483  bool _useRfSwitch = false;
484  RADIOLIB_PIN_TYPE _rxEn = RADIOLIB_NC, _txEn = RADIOLIB_NC;
485 
486  uint32_t _ATtimeout = 15000;
487 };
488 
489 #endif
static void pinMode(RADIOLIB_PIN_TYPE pin, RADIOLIB_PIN_MODE mode)
Arduino core pinMode override that checks RADIOLIB_NC as alias for unused pin.
Definition: Module.cpp:319
+
RADIOLIB_PIN_TYPE getTx() const
Access method to get the pin number of UART Rx.
Definition: Module.h:342
+
char AtLineFeed[3]
Line feed to be used when sending AT commands. Defaults to CR+LF.
Definition: Module.h:151
+
Module & operator=(const Module &mod)
Overload for assignment operator.
Definition: Module.cpp:96
+
void SPIwriteRegisterBurst(uint8_t reg, uint8_t *data, uint8_t numBytes)
SPI burst write method.
Definition: Module.cpp:264
+
static RADIOLIB_PIN_STATUS digitalRead(RADIOLIB_PIN_TYPE pin)
Arduino core digitalWrite override that checks RADIOLIB_NC as alias for unused pin.
Definition: Module.cpp:331
+
SoftwareSerial * ModuleSerial
Internal SoftwareSerial instance.
Definition: Module.h:140
+
void SPItransfer(uint8_t cmd, uint8_t reg, uint8_t *dataOut, uint8_t *dataIn, uint8_t numBytes)
SPI single transfer method.
Definition: Module.cpp:272
+
static void delay(uint32_t ms)
Arduino core delay override.
Definition: Module.cpp:368
+
static void yield()
Arduino core yield override.
Definition: Module.cpp:364
+
static void digitalWrite(RADIOLIB_PIN_TYPE pin, RADIOLIB_PIN_STATUS value)
Arduino core digitalWrite override that checks RADIOLIB_NC as alias for unused pin.
Definition: Module.cpp:325
+
RADIOLIB_PIN_TYPE getRx() const
Access method to get the pin number of UART Rx.
Definition: Module.h:335
+
RADIOLIB_PIN_TYPE getIrq() const
Access method to get the pin number of interrupt/GPIO.
Definition: Module.h:314
+
uint8_t SPIreadCommand
Basic SPI read command. Defaults to 0x00.
Definition: Module.h:156
+
uint32_t baudrate
Baud rate of SoftwareSerial UART communication. Defaults to 9600 baud.
Definition: Module.h:146
+
void term(uint8_t interface)
Terminate low-level module control.
Definition: Module.cpp:137
+
static void delayMicroseconds(uint32_t us)
Arduino core delayMicroseconds override.
Definition: Module.cpp:372
+
RADIOLIB_PIN_TYPE getGpio() const
Access method to get the pin number of second interrupt/GPIO.
Definition: Module.h:328
+
void init(uint8_t interface)
Initialize low-level module control.
Definition: Module.cpp:113
+
void ATemptyBuffer()
Empty internal AT buffer.
Definition: Module.cpp:152
+
static void tone(RADIOLIB_PIN_TYPE pin, uint16_t value)
Arduino core tone override that checks RADIOLIB_NC as alias for unused pin and RADIOLIB_TONE_UNSUPPOR...
Definition: Module.cpp:338
+
void setRfSwitchState(RADIOLIB_PIN_STATUS rxPinState, RADIOLIB_PIN_STATUS txPinState)
Set RF switch state.
Definition: Module.cpp:392
+
bool ATgetResponse()
Get response after sending AT command.
Definition: Module.cpp:175
+
RADIOLIB_PIN_TYPE getRst() const
Access method to get the pin number of hardware reset pin.
Definition: Module.h:321
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
SPISettings getSpiSettings() const
Access method to get the SPI interface settings.
Definition: Module.h:356
+
bool ATsendData(uint8_t *data, uint32_t len)
Send raw AT data. Will also call ATgetResponse.
Definition: Module.cpp:165
+
int16_t SPIgetRegValue(uint8_t reg, uint8_t msb=7, uint8_t lsb=0)
SPI read method that automatically masks unused bits. This method is the preferred SPI read mechanism...
Definition: Module.cpp:199
+
static uint32_t millis()
Arduino core millis override.
Definition: Module.cpp:376
+
RADIOLIB_PIN_TYPE getCs() const
Access method to get the pin number of SPI chip select.
Definition: Module.h:307
+
void SPIwriteRegister(uint8_t reg, uint8_t data)
SPI basic write method. Use of this method is reserved for special cases, SPIsetRegValue should be us...
Definition: Module.cpp:268
+
uint8_t SPIreadRegister(uint8_t reg)
SPI basic read method. Use of this method is reserved for special cases, SPIgetRegValue should be use...
Definition: Module.cpp:258
+
static void noTone(RADIOLIB_PIN_TYPE pin)
Arduino core noTone override that checks RADIOLIB_NC as alias for unused pin and RADIOLIB_TONE_UNSUPP...
Definition: Module.cpp:347
+
Module(RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, HardwareSerial *serial=nullptr, RADIOLIB_PIN_TYPE rst=RADIOLIB_NC)
UART-based module constructor.
Definition: Module.cpp:29
+
static void detachInterrupt(RADIOLIB_PIN_TYPE interruptNum)
Arduino core detachInterrupt override.
Definition: Module.cpp:360
+
bool ATsendCommand(const char *cmd)
Send AT command. Will also call ATgetResponse.
Definition: Module.cpp:158
+
static void attachInterrupt(RADIOLIB_PIN_TYPE interruptNum, void(*userFunc)(void), RADIOLIB_INTERRUPT_STATUS mode)
Arduino core attachInterrupt override.
Definition: Module.cpp:356
+
uint8_t SPIwriteCommand
Basic SPI write command. Defaults to 0x80.
Definition: Module.h:161
+
void SPIreadRegisterBurst(uint8_t reg, uint8_t numBytes, uint8_t *inBytes)
SPI burst read method.
Definition: Module.cpp:254
+
SPIClass * getSpi() const
Access method to get the SPI interface.
Definition: Module.h:349
+
int16_t SPIsetRegValue(uint8_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2)
Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism...
Definition: Module.cpp:209
+
static uint32_t micros()
Arduino core micros override.
Definition: Module.cpp:380
+
void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
Some modules contain external RF switch controlled by two pins. This function gives RadioLib control ...
Definition: Module.cpp:384
+
+
+ + + + diff --git a/_morse_8h_source.html b/_morse_8h_source.html new file mode 100644 index 00000000..d1d1c008 --- /dev/null +++ b/_morse_8h_source.html @@ -0,0 +1,129 @@ + + + + + + +RadioLib: src/protocols/Morse/Morse.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Morse.h
+
+
+
1 #if !defined(_RADIOLIB_MORSE_H) && !defined(RADIOLIB_EXCLUDE_MORSE)
2 #define _RADIOLIB_MORSE_H
3 
4 #include "../../TypeDef.h"
5 #include "../PhysicalLayer/PhysicalLayer.h"
6 #include "../AFSK/AFSK.h"
7 
8 #define MORSE_DOT 0b0
9 #define MORSE_DASH 0b1
10 #define MORSE_GUARDBIT 0b1
11 #define MORSE_UNSUPORTED 0xFF
12 
13 // Morse character table: - using codes defined in ITU-R M.1677-1
14 // - Morse code representation is saved LSb first, using additional bit as guard
15 // - position in array corresponds ASCII code minus MORSE_ASCII_OFFSET
16 // - ASCII characters marked MORSE_UNSUPORTED do not have ITU-R M.1677-1 equivalent
17 static const uint8_t MorseTable[] RADIOLIB_PROGMEM = {
18  0b00, // space
19  0b110101, // ! (unsupported)
20  0b1010010, // "
21  MORSE_UNSUPORTED, // # (unsupported)
22  MORSE_UNSUPORTED, // $ (unsupported)
23  MORSE_UNSUPORTED, // % (unsupported)
24  MORSE_UNSUPORTED, // & (unsupported)
25  0b1011110, // '
26  0b101101, // (
27  0b1101101, // )
28  MORSE_UNSUPORTED, // * (unsupported)
29  0b101010, // +
30  0b1110011, // ,
31  0b1100001, // -
32  0b1101010, // .
33  0b101001, // /
34  0b111111, // 0
35  0b111110, // 1
36  0b111100, // 2
37  0b111000, // 3
38  0b110000, // 4
39  0b100000, // 5
40  0b100001, // 6
41  0b100011, // 7
42  0b100111, // 8
43  0b101111, // 9
44  0b1000111, // :
45  MORSE_UNSUPORTED, // ; (unsupported)
46  MORSE_UNSUPORTED, // < (unsupported)
47  0b110001, // =
48  MORSE_UNSUPORTED, // > (unsupported)
49  0b1001100, // ?
50  0b1010110, // @
51  0b110, // A
52  0b10001, // B
53  0b10101, // C
54  0b1001, // D
55  0b10, // E
56  0b10100, // F
57  0b1011, // G
58  0b10000, // H
59  0b100, // I
60  0b11110, // J
61  0b1101, // K
62  0b10010, // L
63  0b111, // M
64  0b101, // N
65  0b1111, // O
66  0b10110, // P
67  0b11011, // Q
68  0b1010, // R
69  0b1000, // S
70  0b11, // T
71  0b1100, // U
72  0b11000, // V
73  0b1110, // W
74  0b11001, // X
75  0b11101, // Y
76  0b10011, // Z
77  MORSE_UNSUPORTED, // [ (unsupported)
78  MORSE_UNSUPORTED, // \ (unsupported)
79  MORSE_UNSUPORTED, // ] (unsupported)
80  0b1101000, // ^ (unsupported, used as alias for end of work)
81  0b110101 // _ (unsupported, used as alias for starting signal)
82 };
83 
89 class MorseClient {
90  public:
96  explicit MorseClient(PhysicalLayer* phy);
97 
98  #if !defined(RADIOLIB_EXCLUDE_AFSK)
99 
104  explicit MorseClient(AFSKClient* audio);
105  #endif
106 
107  // basic methods
108 
118  int16_t begin(float base, uint8_t speed = 20);
119 
125  size_t startSignal();
126 
127  size_t write(const char* str);
128  size_t write(uint8_t* buff, size_t len);
129  size_t write(uint8_t b);
130 
131  size_t print(__FlashStringHelper*);
132  size_t print(const String &);
133  size_t print(const char[]);
134  size_t print(char);
135  size_t print(unsigned char, int = DEC);
136  size_t print(int, int = DEC);
137  size_t print(unsigned int, int = DEC);
138  size_t print(long, int = DEC);
139  size_t print(unsigned long, int = DEC);
140  size_t print(double, int = 2);
141 
142  size_t println(void);
143  size_t println(__FlashStringHelper*);
144  size_t println(const String &);
145  size_t println(const char[]);
146  size_t println(char);
147  size_t println(unsigned char, int = DEC);
148  size_t println(int, int = DEC);
149  size_t println(unsigned int, int = DEC);
150  size_t println(long, int = DEC);
151  size_t println(unsigned long, int = DEC);
152  size_t println(double, int = 2);
153 
154 #ifndef RADIOLIB_GODMODE
155  private:
156 #endif
157  PhysicalLayer* _phy;
158  #if !defined(RADIOLIB_EXCLUDE_AFSK)
159  AFSKClient* _audio;
160  #endif
161 
162  uint32_t _base = 0, _baseHz = 0;
163  uint16_t _dotLength = 0;
164 
165  size_t printNumber(unsigned long, uint8_t);
166  size_t printFloat(double, uint8_t);
167 
168  int16_t transmitDirect(uint32_t freq = 0, uint32_t freqHz = 0);
169  int16_t standby();
170 };
171 
172 #endif
Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direc...
Definition: AFSK.h:17
+
int16_t begin(float base, uint8_t speed=20)
Initialization method.
Definition: Morse.cpp:18
+
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
+
MorseClient(PhysicalLayer *phy)
Constructor for 2-FSK mode.
Definition: Morse.cpp:4
+
size_t startSignal()
Send start signal.
Definition: Morse.cpp:37
+
Client for Morse Code communication. The public interface is the same as Arduino Serial.
Definition: Morse.h:89
+
+
+ + + + diff --git a/_physical_layer_8h_source.html b/_physical_layer_8h_source.html new file mode 100644 index 00000000..adb6dc0d --- /dev/null +++ b/_physical_layer_8h_source.html @@ -0,0 +1,137 @@ + + + + + + +RadioLib: src/protocols/PhysicalLayer/PhysicalLayer.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
PhysicalLayer.h
+
+
+
1 #ifndef _RADIOLIB_PHYSICAL_LAYER_H
2 #define _RADIOLIB_PHYSICAL_LAYER_H
3 
4 #include "../../TypeDef.h"
5 
14  public:
15 
16  // constructor
17 
25  PhysicalLayer(float freqStep, size_t maxPacketLength);
26 
27  // basic methods
28 
38  int16_t transmit(__FlashStringHelper* fstr, uint8_t addr = 0);
39 
49  int16_t transmit(String& str, uint8_t addr = 0);
50 
60  int16_t transmit(const char* str, uint8_t addr = 0);
61 
73  virtual int16_t transmit(uint8_t* data, size_t len, uint8_t addr = 0) = 0;
74 
84  int16_t receive(String& str, size_t len = 0);
85 
91  virtual int16_t standby() = 0;
92 
102  virtual int16_t receive(uint8_t* data, size_t len) = 0;
103 
114  int16_t startTransmit(String& str, uint8_t addr = 0);
115 
126  int16_t startTransmit(const char* str, uint8_t addr = 0);
127 
139  virtual int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) = 0;
140 
150  int16_t readData(String& str, size_t len = 0);
151 
161  virtual int16_t readData(uint8_t* data, size_t len) = 0;
162 
171  virtual int16_t transmitDirect(uint32_t frf = 0) = 0;
172 
179  virtual int16_t receiveDirect() = 0;
180 
181  // configuration methods
182 
191  virtual int16_t setFrequencyDeviation(float freqDev) = 0;
192 
200  virtual int16_t setDataShaping(uint8_t sh) = 0;
201 
209  virtual int16_t setEncoding(uint8_t encoding) = 0;
210 
216  float getFreqStep() const;
217 
225  virtual size_t getPacketLength(bool update = true) = 0;
226 
227 #ifndef RADIOLIB_GODMODE
228  private:
229 #endif
230  float _freqStep;
231  size_t _maxPacketLength;
232 };
233 
234 #endif
virtual int16_t setEncoding(uint8_t encoding)=0
Sets FSK data encoding. Only available in FSK mode. Must be implemented in module class...
+
float getFreqStep() const
Gets the module frequency step size that was set in constructor.
Definition: PhysicalLayer.cpp:143
+
int16_t startTransmit(String &str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes.
Definition: PhysicalLayer.cpp:49
+
virtual size_t getPacketLength(bool update=true)=0
Query modem for the packet length of received payload.
+
virtual int16_t transmitDirect(uint32_t frf=0)=0
Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). Must be implemented in module ...
+
virtual int16_t receiveDirect()=0
Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). Must be implemented in module cla...
+
PhysicalLayer(float freqStep, size_t maxPacketLength)
Default constructor.
Definition: PhysicalLayer.cpp:3
+
virtual int16_t setDataShaping(uint8_t sh)=0
Sets GFSK data shaping. Only available in FSK mode. Must be implemented in module class...
+
virtual int16_t standby()=0
Sets module to standby.
+
int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)
Arduino Flash String transmit method.
Definition: PhysicalLayer.cpp:8
+
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:98
+
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
+
virtual int16_t setFrequencyDeviation(float freqDev)=0
Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and mu...
+
int16_t readData(String &str, size_t len=0)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:57
+
+
+ + + + diff --git a/_r_f69_8h_source.html b/_r_f69_8h_source.html new file mode 100644 index 00000000..93a00bcd --- /dev/null +++ b/_r_f69_8h_source.html @@ -0,0 +1,173 @@ + + + + + + +RadioLib: src/modules/RF69/RF69.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RF69.h
+
+
+
1 #if !defined(_RADIOLIB_RF69_H)
2 #define _RADIOLIB_RF69_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_RF69)
7 
8 #include "../../Module.h"
9 
10 #include "../../protocols/PhysicalLayer/PhysicalLayer.h"
11 
12 // RF69 physical layer properties
13 #define RF69_FREQUENCY_STEP_SIZE 61.03515625
14 #define RF69_MAX_PACKET_LENGTH 64
15 #define RF69_CRYSTAL_FREQ 32.0
16 #define RF69_DIV_EXPONENT 19
17 
18 // RF69 register map
19 #define RF69_REG_FIFO 0x00
20 #define RF69_REG_OP_MODE 0x01
21 #define RF69_REG_DATA_MODUL 0x02
22 #define RF69_REG_BITRATE_MSB 0x03
23 #define RF69_REG_BITRATE_LSB 0x04
24 #define RF69_REG_FDEV_MSB 0x05
25 #define RF69_REG_FDEV_LSB 0x06
26 #define RF69_REG_FRF_MSB 0x07
27 #define RF69_REG_FRF_MID 0x08
28 #define RF69_REG_FRF_LSB 0x09
29 #define RF69_REG_OSC_1 0x0A
30 #define RF69_REG_AFC_CTRL 0x0B
31 #define RF69_REG_LISTEN_1 0x0D
32 #define RF69_REG_LISTEN_2 0x0E
33 #define RF69_REG_LISTEN_3 0x0F
34 #define RF69_REG_VERSION 0x10
35 #define RF69_REG_PA_LEVEL 0x11
36 #define RF69_REG_PA_RAMP 0x12
37 #define RF69_REG_OCP 0x13
38 #define RF69_REG_LNA 0x18
39 #define RF69_REG_RX_BW 0x19
40 #define RF69_REG_AFC_BW 0x1A
41 #define RF69_REG_OOK_PEAK 0x1B
42 #define RF69_REG_OOK_AVG 0x1C
43 #define RF69_REG_OOK_FIX 0x1D
44 #define RF69_REG_AFC_FEI 0x1E
45 #define RF69_REG_AFC_MSB 0x1F
46 #define RF69_REG_AFC_LSB 0x20
47 #define RF69_REG_FEI_MSB 0x21
48 #define RF69_REG_FEI_LSB 0x22
49 #define RF69_REG_RSSI_CONFIG 0x23
50 #define RF69_REG_RSSI_VALUE 0x24
51 #define RF69_REG_DIO_MAPPING_1 0x25
52 #define RF69_REG_DIO_MAPPING_2 0x26
53 #define RF69_REG_IRQ_FLAGS_1 0x27
54 #define RF69_REG_IRQ_FLAGS_2 0x28
55 #define RF69_REG_RSSI_THRESH 0x29
56 #define RF69_REG_RX_TIMEOUT_1 0x2A
57 #define RF69_REG_RX_TIMEOUT_2 0x2B
58 #define RF69_REG_PREAMBLE_MSB 0x2C
59 #define RF69_REG_PREAMBLE_LSB 0x2D
60 #define RF69_REG_SYNC_CONFIG 0x2E
61 #define RF69_REG_SYNC_VALUE_1 0x2F
62 #define RF69_REG_SYNC_VALUE_2 0x30
63 #define RF69_REG_SYNC_VALUE_3 0x31
64 #define RF69_REG_SYNC_VALUE_4 0x32
65 #define RF69_REG_SYNC_VALUE_5 0x33
66 #define RF69_REG_SYNC_VALUE_6 0x34
67 #define RF69_REG_SYNC_VALUE_7 0x35
68 #define RF69_REG_SYNC_VALUE_8 0x36
69 #define RF69_REG_PACKET_CONFIG_1 0x37
70 #define RF69_REG_PAYLOAD_LENGTH 0x38
71 #define RF69_REG_NODE_ADRS 0x39
72 #define RF69_REG_BROADCAST_ADRS 0x3A
73 #define RF69_REG_AUTO_MODES 0x3B
74 #define RF69_REG_FIFO_THRESH 0x3C
75 #define RF69_REG_PACKET_CONFIG_2 0x3D
76 #define RF69_REG_AES_KEY_1 0x3E
77 #define RF69_REG_AES_KEY_2 0x3F
78 #define RF69_REG_AES_KEY_3 0x40
79 #define RF69_REG_AES_KEY_4 0x41
80 #define RF69_REG_AES_KEY_5 0x42
81 #define RF69_REG_AES_KEY_6 0x43
82 #define RF69_REG_AES_KEY_7 0x44
83 #define RF69_REG_AES_KEY_8 0x45
84 #define RF69_REG_AES_KEY_9 0x46
85 #define RF69_REG_AES_KEY_10 0x47
86 #define RF69_REG_AES_KEY_11 0x48
87 #define RF69_REG_AES_KEY_12 0x49
88 #define RF69_REG_AES_KEY_13 0x4A
89 #define RF69_REG_AES_KEY_14 0x4B
90 #define RF69_REG_AES_KEY_15 0x4C
91 #define RF69_REG_AES_KEY_16 0x4D
92 #define RF69_REG_TEMP_1 0x4E
93 #define RF69_REG_TEMP_2 0x4F
94 #define RF69_REG_TEST_PA1 0x5A
95 #define RF69_REG_TEST_PA2 0x5C
96 #define RF69_REG_TEST_DAGC 0x6F
97 
98 // RF69 modem settings
99 // RF69_REG_OP_MODE MSB LSB DESCRIPTION
100 #define RF69_SEQUENCER_OFF 0b00000000 // 7 7 disable automatic sequencer
101 #define RF69_SEQUENCER_ON 0b10000000 // 7 7 enable automatic sequencer
102 #define RF69_LISTEN_OFF 0b00000000 // 6 6 disable Listen mode
103 #define RF69_LISTEN_ON 0b01000000 // 6 6 enable Listen mode
104 #define RF69_LISTEN_ABORT 0b00100000 // 5 5 abort Listen mode (has to be set together with RF69_LISTEN_OFF)
105 #define RF69_SLEEP 0b00000000 // 4 2 sleep
106 #define RF69_STANDBY 0b00000100 // 4 2 standby
107 #define RF69_FS 0b00001000 // 4 2 frequency synthesis
108 #define RF69_TX 0b00001100 // 4 2 transmit
109 #define RF69_RX 0b00010000 // 4 2 receive
110 
111 // RF69_REG_DATA_MODUL
112 #define RF69_PACKET_MODE 0b00000000 // 6 5 packet mode (default)
113 #define RF69_CONTINUOUS_MODE_WITH_SYNC 0b01000000 // 6 5 continuous mode with bit synchronizer
114 #define RF69_CONTINUOUS_MODE 0b01100000 // 6 5 continuous mode without bit synchronizer
115 #define RF69_FSK 0b00000000 // 4 3 modulation: FSK (default)
116 #define RF69_OOK 0b00001000 // 4 3 OOK
117 #define RF69_NO_SHAPING 0b00000000 // 1 0 modulation shaping: no shaping (default)
118 #define RF69_FSK_GAUSSIAN_1_0 0b00000001 // 1 0 FSK modulation Gaussian filter, BT = 1.0
119 #define RF69_FSK_GAUSSIAN_0_5 0b00000010 // 1 0 FSK modulation Gaussian filter, BT = 0.5
120 #define RF69_FSK_GAUSSIAN_0_3 0b00000011 // 1 0 FSK modulation Gaussian filter, BT = 0.3
121 #define RF69_OOK_FILTER_BR 0b00000001 // 1 0 OOK modulation filter, f_cutoff = BR
122 #define RF69_OOK_FILTER_2BR 0b00000010 // 1 0 OOK modulation filter, f_cutoff = 2*BR
123 
124 // RF69_REG_BITRATE_MSB + REG_BITRATE_LSB
125 #define RF69_BITRATE_MSB 0x1A // 7 0 bit rate setting: rate = F(XOSC) / BITRATE
126 #define RF69_BITRATE_LSB 0x0B // 7 0 default value: 4.8 kbps 0x40 // 7 0
127 
128 // RF69_REG_FDEV_MSB + REG_FDEV_LSB
129 #define RF69_FDEV_MSB 0x00 // 5 0 frequency deviation: f_dev = f_step * FDEV
130 #define RF69_FDEV_LSB 0x52 // 7 0 default value: 5 kHz
131 
132 // RF69_REG_FRF_MSB + REG_FRF_MID + REG_FRF_LSB
133 #define RF69_FRF_MSB 0xE4 // 7 0 carrier frequency setting: f_RF = (F(XOSC) * FRF)/2^19
134 #define RF69_FRF_MID 0xC0 // 7 0 where F(XOSC) = 32 MHz
135 #define RF69_FRF_LSB 0x00 // 7 0 default value: 915 MHz
136 
137 // RF69_REG_OSC_1
138 #define RF69_RC_CAL_START 0b10000000 // 7 7 force RC oscillator calibration
139 #define RF69_RC_CAL_RUNNING 0b00000000 // 6 6 RC oscillator calibration is still running
140 #define RF69_RC_CAL_DONE 0b00000000 // 5 5 RC oscillator calibration has finished
141 
142 // RF69_REG_AFC_CTRL
143 #define RF69_AFC_LOW_BETA_OFF 0b00000000 // 5 5 standard AFC routine
144 #define RF69_AFC_LOW_BETA_ON 0b00100000 // 5 5 improved AFC routine for signals with modulation index less than 2
145 
146 // RF69_REG_LISTEN_1
147 #define RF69_LISTEN_RES_IDLE_64_US 0b01000000 // 7 6 resolution of Listen mode idle time: 64 us
148 #define RF69_LISTEN_RES_IDLE_4_1_MS 0b10000000 // 7 6 4.1 ms (default)
149 #define RF69_LISTEN_RES_IDLE_262_MS 0b11000000 // 7 6 262 ms
150 #define RF69_LISTEN_RES_RX_64_US 0b00010000 // 5 4 resolution of Listen mode rx time: 64 us (default)
151 #define RF69_LISTEN_RES_RX_4_1_MS 0b00100000 // 5 4 4.1 ms
152 #define RF69_LISTEN_RES_RX_262_MS 0b00110000 // 5 4 262 ms
153 #define RF69_LISTEN_ACCEPT_ABOVE_RSSI_THRESH 0b00000000 // 3 3 packet acceptance criteria: RSSI above threshold
154 #define RF69_LISTEN_ACCEPT_MATCH_SYNC_ADDRESS 0b00001000 // 3 3 RSSI above threshold AND sync address matched
155 #define RF69_LISTEN_END_KEEP_RX 0b00000000 // 2 1 action after packet acceptance: stay in Rx mode
156 #define RF69_LISTEN_END_KEEP_RX_TIMEOUT 0b00000010 // 2 1 stay in Rx mode until timeout (default)
157 #define RF69_LISTEN_END_KEEP_RX_TIMEOUT_RESUME 0b00000100 // 2 1 stay in Rx mode until timeout, Listen mode will resume
158 
159 // RF69_REG_LISTEN_2
160 #define RF69_LISTEN_COEF_IDLE 0xF5 // 7 0 duration of idle phase in Listen mode
161 
162 // RF69_REG_LISTEN_3
163 #define RF69_LISTEN_COEF_RX 0x20 // 7 0 duration of Rx phase in Listen mode
164 
165 // RF69_REG_PA_LEVEL
166 #define RF69_PA0_OFF 0b00000000 // 7 7 PA0 disabled
167 #define RF69_PA0_ON 0b10000000 // 7 7 PA0 enabled (default)
168 #define RF69_PA1_OFF 0b00000000 // 6 6 PA1 disabled (default)
169 #define RF69_PA1_ON 0b01000000 // 6 6 PA1 enabled
170 #define RF69_PA2_OFF 0b00000000 // 5 5 PA2 disabled (default)
171 #define RF69_PA2_ON 0b00100000 // 5 5 PA2 enabled
172 #define RF69_OUTPUT_POWER 0b00011111 // 4 0 output power: P_out = -18 + OUTPUT_POWER
173 
174 // RF69_REG_PA_RAMP
175 #define RF69_PA_RAMP_3_4_MS 0b00000000 // 3 0 PA ramp rise/fall time: 3.4 ms
176 #define RF69_PA_RAMP_2_MS 0b00000001 // 3 0 2 ms
177 #define RF69_PA_RAMP_1_MS 0b00000010 // 3 0 1 ms
178 #define RF69_PA_RAMP_500_US 0b00000011 // 3 0 500 us
179 #define RF69_PA_RAMP_250_US 0b00000100 // 3 0 250 us
180 #define RF69_PA_RAMP_125_US 0b00000101 // 3 0 125 us
181 #define RF69_PA_RAMP_100_US 0b00000110 // 3 0 100 us
182 #define RF69_PA_RAMP_62_US 0b00000111 // 3 0 62 us
183 #define RF69_PA_RAMP_50_US 0b00001000 // 3 0 50 us
184 #define RF69_PA_RAMP_40_US 0b00001001 // 3 0 40 us (default)
185 #define RF69_PA_RAMP_31_US 0b00001010 // 3 0 31 us
186 #define RF69_PA_RAMP_25_US 0b00001011 // 3 0 25 us
187 #define RF69_PA_RAMP_20_US 0b00001100 // 3 0 20 us
188 #define RF69_PA_RAMP_15_US 0b00001101 // 3 0 15 us
189 #define RF69_PA_RAMP_12_US 0b00001110 // 3 0 12 us
190 #define RF69_PA_RAMP_10_US 0b00001111 // 3 0 10 us
191 
192 // RF69_REG_OCP
193 #define RF69_OCP_OFF 0b00000000 // 4 4 PA overload current protection disabled
194 #define RF69_OCP_ON 0b00010000 // 4 4 PA overload current protection enabled
195 #define RF69_OCP_TRIM 0b00001010 // 3 0 OCP current: I_max(OCP_TRIM = 0b1010) = 95 mA
196 
197 // RF69_REG_LNA
198 #define RF69_LNA_Z_IN_50_OHM 0b00000000 // 7 7 LNA input impedance: 50 ohm
199 #define RF69_LNA_Z_IN_200_OHM 0b10000000 // 7 7 200 ohm
200 #define RF69_LNA_CURRENT_GAIN 0b00001000 // 5 3 manually set LNA current gain
201 #define RF69_LNA_GAIN_AUTO 0b00000000 // 2 0 LNA gain setting: set automatically by AGC
202 #define RF69_LNA_GAIN_MAX 0b00000001 // 2 0 max gain
203 #define RF69_LNA_GAIN_MAX_6_DB 0b00000010 // 2 0 max gain - 6 dB
204 #define RF69_LNA_GAIN_MAX_12_DB 0b00000011 // 2 0 max gain - 12 dB
205 #define RF69_LNA_GAIN_MAX_24_DB 0b00000100 // 2 0 max gain - 24 dB
206 #define RF69_LNA_GAIN_MAX_36_DB 0b00000101 // 2 0 max gain - 36 dB
207 #define RF69_LNA_GAIN_MAX_48_DB 0b00000110 // 2 0 max gain - 48 dB
208 
209 // RF69_REG_RX_BW
210 #define RF69_DCC_FREQ 0b01000000 // 7 5 DC offset canceller cutoff frequency (4% Rx BW by default)
211 #define RF69_RX_BW_MANT_16 0b00000000 // 4 3 Channel filter bandwidth FSK: RxBw = F(XOSC)/(RxBwMant * 2^(RxBwExp + 2))
212 #define RF69_RX_BW_MANT_20 0b00001000 // 4 3 OOK: RxBw = F(XOSC)/(RxBwMant * 2^(RxBwExp + 3))
213 #define RF69_RX_BW_MANT_24 0b00010000 // 4 3
214 #define RF69_RX_BW_EXP 0b00000101 // 2 0 default RxBwExp value = 5
215 
216 // RF69_REG_AFC_BW
217 #define RF69_DCC_FREQ_AFC 0b10000000 // 7 5 default DccFreq parameter for AFC
218 #define RF69_DCC_RX_BW_MANT_AFC 0b00001000 // 4 3 default RxBwMant parameter for AFC
219 #define RF69_DCC_RX_BW_EXP_AFC 0b00000011 // 2 0 default RxBwExp parameter for AFC
220 
221 // RF69_REG_OOK_PEAK
222 #define RF69_OOK_THRESH_FIXED 0b00000000 // 7 6 OOK threshold type: fixed
223 #define RF69_OOK_THRESH_PEAK 0b01000000 // 7 6 peak (default)
224 #define RF69_OOK_THRESH_AVERAGE 0b10000000 // 7 6 average
225 #define RF69_OOK_PEAK_THRESH_STEP_0_5_DB 0b00000000 // 5 3 OOK demodulator step size: 0.5 dB (default)
226 #define RF69_OOK_PEAK_THRESH_STEP_1_0_DB 0b00001000 // 5 3 1.0 dB
227 #define RF69_OOK_PEAK_THRESH_STEP_1_5_DB 0b00010000 // 5 3 1.5 dB
228 #define RF69_OOK_PEAK_THRESH_STEP_2_0_DB 0b00011000 // 5 3 2.0 dB
229 #define RF69_OOK_PEAK_THRESH_STEP_3_0_DB 0b00100000 // 5 3 3.0 dB
230 #define RF69_OOK_PEAK_THRESH_STEP_4_0_DB 0b00101000 // 5 3 4.0 dB
231 #define RF69_OOK_PEAK_THRESH_STEP_5_0_DB 0b00110000 // 5 3 5.0 dB
232 #define RF69_OOK_PEAK_THRESH_STEP_6_0_DB 0b00111000 // 5 3 6.0 dB
233 #define RF69_OOK_PEAK_THRESH_DEC_1_1_CHIP 0b00000000 // 2 0 OOK demodulator step period: once per chip (default)
234 #define RF69_OOK_PEAK_THRESH_DEC_1_2_CHIP 0b00000001 // 2 0 once every 2 chips
235 #define RF69_OOK_PEAK_THRESH_DEC_1_4_CHIP 0b00000010 // 2 0 once every 4 chips
236 #define RF69_OOK_PEAK_THRESH_DEC_1_8_CHIP 0b00000011 // 2 0 once every 8 chips
237 #define RF69_OOK_PEAK_THRESH_DEC_2_1_CHIP 0b00000100 // 2 0 2 times per chip
238 #define RF69_OOK_PEAK_THRESH_DEC_4_1_CHIP 0b00000101 // 2 0 4 times per chip
239 #define RF69_OOK_PEAK_THRESH_DEC_8_1_CHIP 0b00000110 // 2 0 8 times per chip
240 #define RF69_OOK_PEAK_THRESH_DEC_16_1_CHIP 0b00000111 // 2 0 16 times per chip
241 
242 // RF69_REG_OOK_AVG
243 #define RF69_OOK_AVG_THRESH_FILT_32_PI 0b00000000 // 7 6 OOK average filter coefficient: chip rate / 32*pi
244 #define RF69_OOK_AVG_THRESH_FILT_8_PI 0b01000000 // 7 6 chip rate / 8*pi
245 #define RF69_OOK_AVG_THRESH_FILT_4_PI 0b10000000 // 7 6 chip rate / 4*pi (default)
246 #define RF69_OOK_AVG_THRESH_FILT_2_PI 0b11000000 // 7 6 chip rate / 2*pi
247 
248 // RF69_REG_OOK_FIX
249 #define RF69_OOK_FIXED_THRESH 0b00000110 // 7 0 default OOK fixed threshold (6 dB)
250 
251 // RF69_REG_AFC_FEI
252 #define RF69_FEI_RUNNING 0b00000000 // 6 6 FEI status: on-going
253 #define RF69_FEI_DONE 0b01000000 // 6 6 done
254 #define RF69_FEI_START 0b00100000 // 5 5 force new FEI measurement
255 #define RF69_AFC_RUNNING 0b00000000 // 4 4 AFC status: on-going
256 #define RF69_AFC_DONE 0b00010000 // 4 4 done
257 #define RF69_AFC_AUTOCLEAR_OFF 0b00000000 // 3 3 AFC register autoclear disabled
258 #define RF69_AFC_AUTOCLEAR_ON 0b00001000 // 3 3 AFC register autoclear enabled
259 #define RF69_AFC_AUTO_OFF 0b00000000 // 2 2 perform AFC only manually
260 #define RF69_AFC_AUTO_ON 0b00000100 // 2 2 perform AFC each time Rx mode is started
261 #define RF69_AFC_CLEAR 0b00000010 // 1 1 clear AFC register
262 #define RF69_AFC_START 0b00000001 // 0 0 start AFC
263 
264 // RF69_REG_RSSI_CONFIG
265 #define RF69_RSSI_RUNNING 0b00000000 // 1 1 RSSI status: on-going
266 #define RF69_RSSI_DONE 0b00000010 // 1 1 done
267 #define RF69_RSSI_START 0b00000001 // 0 0 start RSSI measurement
268 
269 // RF69_REG_DIO_MAPPING_1
270 #define RF69_DIO0_CONT_MODE_READY 0b11000000 // 7 6
271 #define RF69_DIO0_CONT_PLL_LOCK 0b00000000 // 7 6
272 #define RF69_DIO0_CONT_SYNC_ADDRESS 0b00000000 // 7 6
273 #define RF69_DIO0_CONT_TIMEOUT 0b01000000 // 7 6
274 #define RF69_DIO0_CONT_RSSI 0b10000000 // 7 6
275 #define RF69_DIO0_CONT_TX_READY 0b01000000 // 7 6
276 #define RF69_DIO0_PACK_PLL_LOCK 0b11000000 // 7 6
277 #define RF69_DIO0_PACK_CRC_OK 0b00000000 // 7 6
278 #define RF69_DIO0_PACK_PAYLOAD_READY 0b01000000 // 7 6
279 #define RF69_DIO0_PACK_SYNC_ADDRESS 0b10000000 // 7 6
280 #define RF69_DIO0_PACK_RSSI 0b11000000 // 7 6
281 #define RF69_DIO0_PACK_PACKET_SENT 0b00000000 // 7 6
282 #define RF69_DIO0_PACK_TX_READY 0b01000000 // 7 6
283 #define RF69_DIO1_CONT_PLL_LOCK 0b00110000 // 5 4
284 #define RF69_DIO1_CONT_DCLK 0b00000000 // 5 4
285 #define RF69_DIO1_CONT_RX_READY 0b00010000 // 5 4
286 #define RF69_DIO1_CONT_SYNC_ADDRESS 0b00110000 // 5 4
287 #define RF69_DIO1_CONT_TX_READY 0b00010000 // 5 4
288 #define RF69_DIO1_PACK_FIFO_LEVEL 0b00000000 // 5 4
289 #define RF69_DIO1_PACK_FIFO_FULL 0b00010000 // 5 4
290 #define RF69_DIO1_PACK_FIFO_NOT_EMPTY 0b00100000 // 5 4
291 #define RF69_DIO1_PACK_PLL_LOCK 0b00110000 // 5 4
292 #define RF69_DIO1_PACK_TIMEOUT 0b00110000 // 5 4
293 #define RF69_DIO2_CONT_DATA 0b00000000 // 3 2
294 
295 // RF69_REG_DIO_MAPPING_2
296 #define RF69_CLK_OUT_FXOSC 0b00000000 // 2 0 ClkOut frequency: F(XOSC)
297 #define RF69_CLK_OUT_FXOSC_2 0b00000001 // 2 0 F(XOSC) / 2
298 #define RF69_CLK_OUT_FXOSC_4 0b00000010 // 2 0 F(XOSC) / 4
299 #define RF69_CLK_OUT_FXOSC_8 0b00000011 // 2 0 F(XOSC) / 8
300 #define RF69_CLK_OUT_FXOSC_16 0b00000100 // 2 0 F(XOSC) / 16
301 #define RF69_CLK_OUT_FXOSC_32 0b00000101 // 2 0 F(XOSC) / 31
302 #define RF69_CLK_OUT_RC 0b00000110 // 2 0 RC
303 #define RF69_CLK_OUT_OFF 0b00000111 // 2 0 disabled (default)
304 
305 // RF69_REG_IRQ_FLAGS_1
306 #define RF69_IRQ_MODE_READY 0b10000000 // 7 7 requested mode was set
307 #define RF69_IRQ_RX_READY 0b01000000 // 6 6 Rx mode ready
308 #define RF69_IRQ_TX_READY 0b00100000 // 5 5 Tx mode ready
309 #define RF69_IRQ_PLL_LOCK 0b00010000 // 4 4 PLL is locked
310 #define RF69_IRQ_RSSI 0b00001000 // 3 3 RSSI value exceeded RssiThreshold
311 #define RF69_IRQ_TIMEOUT 0b00000100 // 2 2 timeout occurred
312 #define RF69_IRQ_AUTO_MODE 0b00000010 // 1 1 entered intermediate mode
313 #define RF69_SYNC_ADDRESS_MATCH 0b00000001 // 0 0 sync address detected
314 
315 // RF69_REG_IRQ_FLAGS_2
316 #define RF69_IRQ_FIFO_FULL 0b10000000 // 7 7 FIFO is full
317 #define RF69_IRQ_FIFO_NOT_EMPTY 0b01000000 // 6 6 FIFO contains at least 1 byte
318 #define RF69_IRQ_FIFO_LEVEL 0b00100000 // 5 5 FIFO contains more than FifoThreshold bytes
319 #define RF69_IRQ_FIFO_OVERRUN 0b00010000 // 4 4 FIFO overrun occurred
320 #define RF69_IRQ_PACKET_SENT 0b00001000 // 3 3 packet was sent
321 #define RF69_IRQ_PAYLOAD_READY 0b00000100 // 2 2 last payload byte received and CRC check passed
322 #define RF69_IRQ_CRC_OK 0b00000010 // 1 1 CRC check passed
323 
324 // RF69_REG_RSSI_THRESH
325 #define RF69_RSSI_THRESHOLD 0xE4 // 7 0 RSSI threshold level (2 dB by default)
326 
327 // RF69_REG_RX_TIMEOUT_1
328 #define RF69_TIMEOUT_RX_START_OFF 0x00 // 7 0 RSSI interrupt timeout disabled (default)
329 #define RF69_TIMEOUT_RX_START 0xFF // 7 0 timeout will occur if RSSI interrupt is not received
330 
331 // RF69_REG_RX_TIMEOUT_2
332 #define RF69_TIMEOUT_RSSI_THRESH_OFF 0x00 // 7 0 PayloadReady interrupt timeout disabled (default)
333 #define RF69_TIMEOUT_RSSI_THRESH 0xFF // 7 0 timeout will occur if PayloadReady interrupt is not received
334 
335 // RF69_REG_PREAMBLE_MSB + REG_PREAMBLE_MSB
336 #define RF69_PREAMBLE_MSB 0x00 // 7 0 2-byte preamble size value
337 #define RF69_PREAMBLE_LSB 0x03 // 7 0
338 
339 // RF69_REG_SYNC_CONFIG
340 #define RF69_SYNC_OFF 0b00000000 // 7 7 sync word detection off
341 #define RF69_SYNC_ON 0b10000000 // 7 7 sync word detection on (default)
342 #define RF69_FIFO_FILL_CONDITION_SYNC 0b00000000 // 6 6 FIFO fill condition: on SyncAddress interrupt (default)
343 #define RF69_FIFO_FILL_CONDITION 0b01000000 // 6 6 as long as the bit is set
344 #define RF69_SYNC_SIZE 0b00001000 // 5 3 size of sync word: SyncSize + 1 bytes
345 #define RF69_SYNC_TOL 0b00000000 // 2 0 number of tolerated errors in sync word
346 
347 // RF69_REG_SYNC_VALUE_1 - SYNC_VALUE_8
348 #define RF69_SYNC_BYTE_1 0x01 // 7 0 sync word: 1st byte (MSB)
349 #define RF69_SYNC_BYTE_2 0x01 // 7 0 2nd byte
350 #define RF69_SYNC_BYTE_3 0x01 // 7 0 3rd byte
351 #define RF69_SYNC_BYTE_4 0x01 // 7 0 4th byte
352 #define RF69_SYNC_BYTE_5 0x01 // 7 0 5th byte
353 #define RF69_SYNC_BYTE_6 0x01 // 7 0 6th byte
354 #define RF69_SYNC_BYTE_7 0x01 // 7 0 7th byte
355 #define RF69_SYNC_BYTE_8 0x01 // 7 0 8th byte (LSB)
356 
357 // RF69_REG_PACKET_CONFIG_1
358 #define RF69_PACKET_FORMAT_FIXED 0b00000000 // 7 7 fixed packet length (default)
359 #define RF69_PACKET_FORMAT_VARIABLE 0b10000000 // 7 7 variable packet length
360 #define RF69_DC_FREE_NONE 0b00000000 // 6 5 DC-free encoding: none (default)
361 #define RF69_DC_FREE_MANCHESTER 0b00100000 // 6 5 Manchester
362 #define RF69_DC_FREE_WHITENING 0b01000000 // 6 5 Whitening
363 #define RF69_CRC_OFF 0b00000000 // 4 4 CRC disabled
364 #define RF69_CRC_ON 0b00010000 // 4 4 CRC enabled (default)
365 #define RF69_CRC_AUTOCLEAR_ON 0b00000000 // 3 3 discard packet when CRC check fails (default)
366 #define RF69_CRC_AUTOCLEAR_OFF 0b00001000 // 3 3 keep packet when CRC check fails
367 #define RF69_ADDRESS_FILTERING_OFF 0b00000000 // 2 1 address filtering: none (default)
368 #define RF69_ADDRESS_FILTERING_NODE 0b00000010 // 2 1 node
369 #define RF69_ADDRESS_FILTERING_NODE_BROADCAST 0b00000100 // 2 1 node or broadcast
370 
371 // RF69_REG_PAYLOAD_LENGTH
372 #define RF69_PAYLOAD_LENGTH 0xFF // 7 0 payload length
373 
374 // RF69_REG_AUTO_MODES
375 #define RF69_ENTER_COND_NONE 0b00000000 // 7 5 condition for entering intermediate mode: none, AutoModes disabled (default)
376 #define RF69_ENTER_COND_FIFO_NOT_EMPTY 0b00100000 // 7 5 FifoNotEmpty rising edge
377 #define RF69_ENTER_COND_FIFO_LEVEL 0b01000000 // 7 5 FifoLevel rising edge
378 #define RF69_ENTER_COND_CRC_OK 0b01100000 // 7 5 CrcOk rising edge
379 #define RF69_ENTER_COND_PAYLOAD_READY 0b10000000 // 7 5 PayloadReady rising edge
380 #define RF69_ENTER_COND_SYNC_ADDRESS 0b10100000 // 7 5 SyncAddress rising edge
381 #define RF69_ENTER_COND_PACKET_SENT 0b11000000 // 7 5 PacketSent rising edge
382 #define RF69_ENTER_COND_FIFO_EMPTY 0b11100000 // 7 5 FifoNotEmpty falling edge
383 #define RF69_EXIT_COND_NONE 0b00000000 // 4 2 condition for exiting intermediate mode: none, AutoModes disabled (default)
384 #define RF69_EXIT_COND_FIFO_EMPTY 0b00100000 // 4 2 FifoNotEmpty falling edge
385 #define RF69_EXIT_COND_FIFO_LEVEL 0b01000000 // 4 2 FifoLevel rising edge
386 #define RF69_EXIT_COND_CRC_OK 0b01100000 // 4 2 CrcOk rising edge
387 #define RF69_EXIT_COND_PAYLOAD_READY 0b10000000 // 4 2 PayloadReady rising edge
388 #define RF69_EXIT_COND_SYNC_ADDRESS 0b10100000 // 4 2 SyncAddress rising edge
389 #define RF69_EXIT_COND_PACKET_SENT 0b11000000 // 4 2 PacketSent rising edge
390 #define RF69_EXIT_COND_TIMEOUT 0b11100000 // 4 2 timeout rising edge
391 #define RF69_INTER_MODE_SLEEP 0b00000000 // 1 0 intermediate mode: sleep (default)
392 #define RF69_INTER_MODE_STANDBY 0b00000001 // 1 0 standby
393 #define RF69_INTER_MODE_RX 0b00000010 // 1 0 Rx
394 #define RF69_INTER_MODE_TX 0b00000011 // 1 0 Tx
395 
396 // RF69_REG_FIFO_THRESH
397 #define RF69_TX_START_CONDITION_FIFO_LEVEL 0b00000000 // 7 7 packet transmission start condition: FifoLevel
398 #define RF69_TX_START_CONDITION_FIFO_NOT_EMPTY 0b10000000 // 7 7 FifoNotEmpty (default)
399 #define RF69_FIFO_THRESHOLD 0b00001111 // 6 0 default threshold to trigger FifoLevel interrupt
400 
401 // RF69_REG_PACKET_CONFIG_2
402 #define RF69_INTER_PACKET_RX_DELAY 0b00000000 // 7 4 delay between FIFO empty and start of new RSSI phase
403 #define RF69_RESTART_RX 0b00000100 // 2 2 force receiver into wait mode
404 #define RF69_AUTO_RX_RESTART_OFF 0b00000000 // 1 1 auto Rx restart disabled
405 #define RF69_AUTO_RX_RESTART_ON 0b00000010 // 1 1 auto Rx restart enabled (default)
406 #define RF69_AES_OFF 0b00000000 // 0 0 AES encryption disabled (default)
407 #define RF69_AES_ON 0b00000001 // 0 0 AES encryption enabled, payload size limited to 66 bytes
408 
409 // RF69_REG_TEMP_1
410 #define RF69_TEMP_MEAS_START 0b00001000 // 3 3 trigger temperature measurement
411 #define RF69_TEMP_MEAS_RUNNING 0b00000100 // 2 2 temperature measurement status: on-going
412 #define RF69_TEMP_MEAS_DONE 0b00000000 // 2 2 done
413 
414 // RF69_REG_TEST_DAGC
415 #define RF69_CONTINUOUS_DAGC_NORMAL 0x00 // 7 0 fading margin improvement: normal mode
416 #define RF69_CONTINUOUS_DAGC_LOW_BETA_ON 0x20 // 7 0 improved mode for AfcLowBetaOn
417 #define RF69_CONTINUOUS_DAGC_LOW_BETA_OFF 0x30 // 7 0 improved mode for AfcLowBetaOff (default)
418 
419 // RF69_REG_TEST_PA1
420 #define RF69_PA1_NORMAL 0x55 // 7 0 PA_BOOST: none
421 #define RF69_PA1_20_DBM 0x5D // 7 0 +20 dBm
422 
423 // RF69_REG_TEST_PA2
424 #define RF69_PA2_NORMAL 0x70 // 7 0 PA_BOOST: none
425 #define RF69_PA2_20_DBM 0x7C // 7 0 +20 dBm
426 
432 class RF69: public PhysicalLayer {
433  public:
434  // introduce PhysicalLayer overloads
439 
445  RF69(Module* module);
446 
447  // basic methods
448 
466  int16_t begin(float freq = 434.0, float br = 48.0, float freqDev = 50.0, float rxBw = 125.0, int8_t power = 10, uint8_t preambleLen = 16);
467 
471  void reset();
472 
485  int16_t transmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
486 
497  int16_t receive(uint8_t* data, size_t len) override;
498 
504  int16_t sleep();
505 
511  int16_t standby() override;
512 
520  int16_t transmitDirect(uint32_t frf = 0) override;
521 
527  int16_t receiveDirect() override;
528 
532  int16_t packetMode();
533 
534  // hardware AES support
535 
541  void setAESKey(uint8_t* key);
542 
548  int16_t enableAES();
549 
555  int16_t disableAES();
556 
557  // interrupt methods
558 
564  void setDio0Action(void (*func)(void));
565 
569  void clearDio0Action();
570 
576  void setDio1Action(void (*func)(void));
577 
581  void clearDio1Action();
582 
595  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
596 
602  int16_t startReceive();
603 
613  int16_t readData(uint8_t* data, size_t len) override;
614 
615  // configuration methods
616 
624  int16_t setFrequency(float freq);
625 
633  int16_t setBitRate(float br);
634 
642  int16_t setRxBandwidth(float rxBw);
643 
651  int16_t setFrequencyDeviation(float freqDev) override;
652 
662  int16_t setOutputPower(int8_t power, bool highPower = false);
663 
673  int16_t setSyncWord(uint8_t* syncWord, size_t len, uint8_t maxErrBits = 0);
674 
682  int16_t setPreambleLength(uint8_t preambleLen);
683 
691  int16_t setNodeAddress(uint8_t nodeAddr);
692 
700  int16_t setBroadcastAddress(uint8_t broadAddr);
701 
707  int16_t disableAddressFiltering();
708 
709  // measurement methods
710 
716  void setAmbientTemperature(int16_t tempAmbient);
717 
723  int16_t getTemperature();
724 
732  size_t getPacketLength(bool update = true) override;
733 
741  int16_t fixedPacketLengthMode(uint8_t len = RF69_MAX_PACKET_LENGTH);
742 
750  int16_t variablePacketLengthMode(uint8_t maxLen = RF69_MAX_PACKET_LENGTH);
751 
759  int16_t enableSyncWordFiltering(uint8_t maxErrBits = 0);
760 
766  int16_t disableSyncWordFiltering();
767 
775  int16_t setCrcFiltering(bool crcOn = true);
776 
784  int16_t setPromiscuousMode(bool promiscuous = true);
785 
794  int16_t setDataShaping(uint8_t sh) override;
795 
804  int16_t setEncoding(uint8_t encoding) override;
805 
811  float getRSSI();
812 
821  void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);
822 
823 #ifndef RADIOLIB_GODMODE
824  protected:
825 #endif
826  Module* _mod;
827 
828  float _br = 0;
829  float _rxBw = 0;
830  int16_t _tempOffset = 0;
831  int8_t _power = 0;
832 
833  size_t _packetLength = 0;
834  bool _packetLengthQueried = false;
835  uint8_t _packetLengthConfig = RF69_PACKET_FORMAT_VARIABLE;
836 
837  bool _promiscuous = false;
838 
839  uint8_t _syncWordLength = 2;
840 
841  int16_t config();
842  int16_t directMode();
843  int16_t setPacketMode(uint8_t mode, uint8_t len);
844 
845 #ifndef RADIOLIB_GODMODE
846  private:
847 #endif
848  int16_t setMode(uint8_t mode);
849  void clearIRQFlags();
850 };
851 
852 #endif
853 
854 #endif
int16_t setFrequencyDeviation(float freqDev) override
Sets frequency deviation.
Definition: RF69.cpp:507
+
int16_t disableAddressFiltering()
Disables address filtering. Calling this method will also erase previously set addresses.
Definition: RF69.cpp:615
+
int16_t setSyncWord(uint8_t *syncWord, size_t len, uint8_t maxErrBits=0)
Sets sync word. Up to 8 bytes can be set as sync word.
Definition: RF69.cpp:563
+
int16_t setPromiscuousMode(bool promiscuous=true)
Set modem in "sniff" mode: no packet filtering (e.g., no preamble, sync word, address, CRC).
Definition: RF69.cpp:695
+
int16_t standby() override
Sets the module to standby mode.
Definition: RF69.cpp:171
+
int16_t disableSyncWordFiltering()
Disable preamble and sync word filtering and generation.
Definition: RF69.cpp:675
+
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: RF69.cpp:649
+
int16_t startTransmit(String &str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes.
Definition: PhysicalLayer.cpp:49
+
int16_t startReceive()
Interrupt-driven receive method. GDO0 will be activated when full packet is received.
Definition: RF69.cpp:241
+
int16_t setNodeAddress(uint8_t nodeAddr)
Sets node address. Calling this method will also enable address filtering for node address only...
Definition: RF69.cpp:597
+
void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
Some modules contain external RF switch controlled by two pins. This function gives RadioLib control ...
Definition: RF69.cpp:763
+
int16_t setBitRate(float br)
Sets bit rate. Allowed values range from 1.2 to 300.0 kbps.
Definition: RF69.cpp:391
+
int16_t receive(uint8_t *data, size_t len) override
Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalL...
Definition: RF69.cpp:139
+
void clearDio0Action()
Clears interrupt service routine to call when DIO0 activates.
Definition: RF69.cpp:273
+
void setAmbientTemperature(int16_t tempAmbient)
Sets ambient temperature. Required to correct values from on-board temperature sensor.
Definition: RF69.cpp:628
+
int16_t transmitDirect(uint32_t frf=0) override
Starts direct mode transmission.
Definition: RF69.cpp:179
+
int16_t setPreambleLength(uint8_t preambleLen)
Sets preamble length.
Definition: RF69.cpp:586
+
int16_t sleep()
Sets the module to sleep mode.
Definition: RF69.cpp:163
+
int16_t disableAES()
Disables AES encryption.
Definition: RF69.cpp:237
+
int16_t variablePacketLengthMode(uint8_t maxLen=RF69_MAX_PACKET_LENGTH)
Set modem in variable packet length mode.
Definition: RF69.cpp:666
+
Control class for RF69 module. Also serves as base class for SX1231.
Definition: RF69.h:432
+
int16_t transmit(uint8_t *data, size_t len, uint8_t addr=0) override
Blocking binary transmit method. Overloads for string-based transmissions are implemented in Physical...
Definition: RF69.cpp:110
+
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: RF69.cpp:285
+
int16_t setDataShaping(uint8_t sh) override
Sets Gaussian filter bandwidth-time product that will be used for data shaping. Allowed values are RA...
Definition: RF69.cpp:721
+
int16_t setCrcFiltering(bool crcOn=true)
Enable CRC filtering and generation.
Definition: RF69.cpp:687
+
int16_t begin(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint8_t preambleLen=16)
Initialization method.
Definition: RF69.cpp:8
+
void setDio0Action(void(*func)(void))
Sets interrupt service routine to call when DIO0 activates.
Definition: RF69.cpp:269
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)
Arduino Flash String transmit method.
Definition: PhysicalLayer.cpp:8
+
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER an...
Definition: RF69.cpp:741
+
int16_t setBroadcastAddress(uint8_t broadAddr)
Sets broadcast address. Calling this method will also enable address filtering for node and broadcast...
Definition: RF69.cpp:606
+
void setDio1Action(void(*func)(void))
Sets interrupt service routine to call when DIO1 activates.
Definition: RF69.cpp:277
+
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:98
+
int16_t readData(uint8_t *data, size_t len) override
Reads data received after calling startReceive method.
Definition: RF69.cpp:343
+
float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: RF69.cpp:759
+
int16_t enableAES()
Enables AES encryption.
Definition: RF69.cpp:233
+
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values are in bands 290.0 to 340.0 MHz, 431.0 to 510.0 MHz and 862.0 to 1020.0 MHz.
Definition: RF69.cpp:372
+
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
+
int16_t fixedPacketLengthMode(uint8_t len=RF69_MAX_PACKET_LENGTH)
Set modem in fixed packet length mode.
Definition: RF69.cpp:662
+
void setAESKey(uint8_t *key)
Sets AES key.
Definition: RF69.cpp:229
+
int16_t setRxBandwidth(float rxBw)
Sets receiver bandwidth. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25.0, 31.3, 41.7, 50.0, 62.5, 83.3, 100.0, 125.0, 166.7, 200.0, 250.0, 333.3, 400.0 and 500.0 kHz.
Definition: RF69.cpp:412
+
void reset()
Reset method. Will reset the chip to the default state using RST pin.
Definition: RF69.cpp:102
+
int16_t setOutputPower(int8_t power, bool highPower=false)
Sets output power. Allowed values range from -18 to 13 dBm for low power modules (RF69C/CW) or -2 to ...
Definition: RF69.cpp:525
+
int16_t packetMode()
Stops direct mode. It is required to call this method to switch from direct transmissions to packet-b...
Definition: RF69.cpp:225
+
RF69(Module *module)
Default constructor.
Definition: RF69.cpp:4
+
int16_t receiveDirect() override
Starts direct mode reception.
Definition: RF69.cpp:200
+
int16_t readData(String &str, size_t len=0)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:57
+
int16_t enableSyncWordFiltering(uint8_t maxErrBits=0)
Enable sync word filtering and generation.
Definition: RF69.cpp:670
+
int16_t startTransmit(uint8_t *data, size_t len, uint8_t addr=0) override
Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in ...
Definition: RF69.cpp:292
+
int16_t getTemperature()
Measures temperature.
Definition: RF69.cpp:632
+
+
+ + + + diff --git a/_r_f_m22_8h_source.html b/_r_f_m22_8h_source.html new file mode 100644 index 00000000..0af01f47 --- /dev/null +++ b/_r_f_m22_8h_source.html @@ -0,0 +1,125 @@ + + + + + + +RadioLib: src/modules/RFM2x/RFM22.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RFM22.h
+
+
+
1 #if !defined(_RADIOLIB_RFM22_H)
2 #define _RADIOLIB_RFM22_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_RFM2X)
7 
8 #include "../../Module.h"
9 #include "../Si443x/Si443x.h"
10 #include "../Si443x/Si4432.h"
11 
17 using RFM22 = Si4432;
18 
19 #endif
20 
21 #endif
Only exists as alias for Si4432, since there seems to be no difference between RFM22 and Si4432 modul...
+
Derived class for Si4432 modules.
Definition: Si4432.h:16
+
+
+ + + + diff --git a/_r_f_m23_8h_source.html b/_r_f_m23_8h_source.html new file mode 100644 index 00000000..2ecc1c20 --- /dev/null +++ b/_r_f_m23_8h_source.html @@ -0,0 +1,125 @@ + + + + + + +RadioLib: src/modules/RFM2x/RFM23.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RFM23.h
+
+
+
1 #if !defined(_RADIOLIB_RFM23_H)
2 #define _RADIOLIB_RFM23_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_RFM2X)
7 
8 #include "../../Module.h"
9 #include "../Si443x/Si443x.h"
10 #include "../Si443x/Si4431.h"
11 
17 using RFM23 = Si4431;
18 
19 #endif
20 
21 #endif
Derived class for Si4431 modules.
Definition: Si4431.h:16
+
Only exists as alias for Si4431, since there seems to be no difference between RFM23 and Si4431 modul...
+
+
+ + + + diff --git a/_r_f_m95_8h_source.html b/_r_f_m95_8h_source.html new file mode 100644 index 00000000..db93ca8e --- /dev/null +++ b/_r_f_m95_8h_source.html @@ -0,0 +1,129 @@ + + + + + + +RadioLib: src/modules/RFM9x/RFM95.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RFM95.h
+
+
+
1 #if !defined(_RADIOLIB_RFM95_H)
2 #define _RADIOLIB_RFM95_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_RFM9X)
7 
8 #include "../../Module.h"
9 #include "../SX127x/SX127x.h"
10 #include "../SX127x/SX1278.h"
11 
12 // SX127X_REG_VERSION
13 #define RFM9X_CHIP_VERSION_OFFICIAL 0x11
14 #define RFM9X_CHIP_VERSION_UNOFFICIAL 0x12 // according to datasheet, only 0x11 should be possible, but some modules seem to have 0x12
15 
21 class RFM95: public SX1278 {
22  public:
23 
24  // constructor
25 
31  RFM95(Module* mod);
32 
33  // basic methods
34 
58  int16_t begin(float freq = 915.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
59 
60  // configuration methods
61 
69  int16_t setFrequency(float freq);
70 
71 #ifndef RADIOLIB_GODMODE
72  private:
73 #endif
74 
75 };
76 
77 #endif
78 
79 #endif
int16_t begin(float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: RFM95.cpp:8
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names).
Definition: SX1278.h:104
+
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 868.0 MHz to 915.0 MHz.
Definition: RFM95.cpp:45
+
RFM95(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: RFM95.cpp:4
+
Derived class for RFM95 modules. Overrides some methods from SX1278 due to different parameter ranges...
Definition: RFM95.h:21
+
+
+ + + + diff --git a/_r_f_m96_8h_source.html b/_r_f_m96_8h_source.html new file mode 100644 index 00000000..a8da4b66 --- /dev/null +++ b/_r_f_m96_8h_source.html @@ -0,0 +1,130 @@ + + + + + + +RadioLib: src/modules/RFM9x/RFM96.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RFM96.h
+
+
+
1 #if !defined(_RADIOLIB_RFM96_H)
2 #define _RADIOLIB_RFM96_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_RFM9X)
7 
8 #include "../../Module.h"
9 #include "../SX127x/SX127x.h"
10 #include "../SX127x/SX1278.h"
11 
12 // SX127X_REG_VERSION
13 #define RFM9X_CHIP_VERSION_OFFICIAL 0x11
14 #define RFM9X_CHIP_VERSION_UNOFFICIAL 0x12 // according to datasheet, only 0x11 should be possible, but some modules seem to have 0x12
15 
21 class RFM96: public SX1278 {
22  public:
23 
24  // constructor
25 
31  RFM96(Module* mod);
32 
33  // basic methods
34 
58  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
59 
60  // configuration methods
61 
69  int16_t setFrequency(float freq);
70 
71 #ifndef RADIOLIB_GODMODE
72  private:
73 #endif
74 
75 };
76 
82 using RFM98 = RFM96;
83 
84 #endif
85 
86 #endif
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 433.0 MHz to 470.0 MHz.
Definition: RFM96.cpp:46
+
Only exists as alias for RFM96, since there seems to be no difference between RFM96 and RFM98 modules...
+
RFM96(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: RFM96.cpp:4
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: RFM96.cpp:8
+
Derived class for RFM96 modules. Overrides some methods from SX1278 due to different parameter ranges...
Definition: RFM96.h:21
+
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names).
Definition: SX1278.h:104
+
+
+ + + + diff --git a/_r_f_m97_8h_source.html b/_r_f_m97_8h_source.html new file mode 100644 index 00000000..7f3ec7ef --- /dev/null +++ b/_r_f_m97_8h_source.html @@ -0,0 +1,128 @@ + + + + + + +RadioLib: src/modules/RFM9x/RFM97.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RFM97.h
+
+
+
1 #if !defined(_RADIOLIB_RFM97_H)
2 #define _RADIOLIB_RFM97_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_RFM9X)
7 
8 #include "../../Module.h"
9 #include "../SX127x/SX127x.h"
10 #include "../SX127x/SX1278.h"
11 #include "RFM95.h"
12 
18 class RFM97: public RFM95 {
19  public:
20 
21  // constructor
22 
28  RFM97(Module* mod);
29 
30  // configuration methods
31 
39  int16_t setSpreadingFactor(uint8_t sf);
40 
41 #ifndef RADIOLIB_GODMODE
42  private:
43 #endif
44 
45 };
46 
47 #endif
48 
49 #endif
RFM97(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: RFM97.cpp:4
+
Derived class for RFM97 modules. Overrides some methods from RFM95 due to different parameter ranges...
Definition: RFM97.h:18
+
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa link spreading factor. Allowed values range from 6 to 9. Only available in LoRa mode...
Definition: RFM97.cpp:8
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
Derived class for RFM95 modules. Overrides some methods from SX1278 due to different parameter ranges...
Definition: RFM95.h:21
+
+
+ + + + diff --git a/_r_t_t_y_8h_source.html b/_r_t_t_y_8h_source.html new file mode 100644 index 00000000..c75e8b1e --- /dev/null +++ b/_r_t_t_y_8h_source.html @@ -0,0 +1,131 @@ + + + + + + +RadioLib: src/protocols/RTTY/RTTY.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RTTY.h
+
+
+
1 #if !defined(_RADIOLIB_RTTY_H)
2 #define _RADIOLIB_RTTY_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_RTTY)
7 
8 #include "../PhysicalLayer/PhysicalLayer.h"
9 #include "../AFSK/AFSK.h"
10 
11 #define ITA2_FIGS 0x1B
12 #define ITA2_LTRS 0x1F
13 #define ITA2_LENGTH 32
14 
15 // ITA2 character table: - position in array corresponds to 5-bit ITA2 code
16 // - characters to the left are in letters shift, characters to the right in figures shift
17 // - characters marked 0x7F do not have ASCII equivalent
18 static const char ITA2Table[ITA2_LENGTH][2] RADIOLIB_PROGMEM = {{'\0', '\0'}, {'E', '3'}, {'\n', '\n'}, {'A', '-'}, {' ', ' '}, {'S', '\''}, {'I', '8'}, {'U', '7'},
19  {'\r', '\r'}, {'D', 0x05}, {'R', '4'}, {'J', '\a'}, {'N', ','}, {'F', '!'}, {'C', ':'}, {'K', '('},
20  {'T', '5'}, {'Z', '+'}, {'L', ')'}, {'W', '2'}, {'H', 0x7F}, {'Y', '6'}, {'P', '0'}, {'Q', '1'},
21  {'O', '9'}, {'B', '?'}, {'G', '&'}, {0x7F, 0x7F}, {'M', '.'}, {'X', '/'}, {'V', ';'}, {0x7F, 0x7F}};
22 
28 class ITA2String {
29  public:
35  explicit ITA2String(char c);
36 
42  explicit ITA2String(const char* str);
43 
47  ~ITA2String();
48 
54  size_t length();
55 
62  uint8_t* byteArr();
63 
64 #ifndef RADIOLIB_GODMODE
65  private:
66 #endif
67  #ifdef RADIOLIB_STATIC_ONLY
68  char _str[RADIOLIB_STATIC_ARRAY_SIZE];
69  #else
70  char* _str = new char[1];
71  #endif
72  size_t _len;
73  size_t _ita2Len;
74 
75  static uint16_t getBits(char c);
76 };
77 
78 // supported encoding schemes
79 #define ASCII 0
80 #define ASCII_EXTENDED 1
81 #define ITA2 2
82 
88 class RTTYClient {
89  public:
95  explicit RTTYClient(PhysicalLayer* phy);
96 
97  #if !defined(RADIOLIB_EXCLUDE_AFSK)
98 
103  explicit RTTYClient(AFSKClient* audio);
104  #endif
105 
106  // basic methods
107 
123  int16_t begin(float base, uint32_t shift, uint16_t rate, uint8_t encoding = ASCII, uint8_t stopBits = 1);
124 
128  void idle();
129 
130  size_t write(const char* str);
131  size_t write(uint8_t* buff, size_t len);
132  size_t write(uint8_t b);
133 
134  size_t print(__FlashStringHelper*);
135  size_t print(ITA2String &);
136  size_t print(const String &);
137  size_t print(const char[]);
138  size_t print(char);
139  size_t print(unsigned char, int = DEC);
140  size_t print(int, int = DEC);
141  size_t print(unsigned int, int = DEC);
142  size_t print(long, int = DEC);
143  size_t print(unsigned long, int = DEC);
144  size_t print(double, int = 2);
145 
146  size_t println(void);
147  size_t println(__FlashStringHelper*);
148  size_t println(ITA2String &);
149  size_t println(const String &);
150  size_t println(const char[]);
151  size_t println(char);
152  size_t println(unsigned char, int = DEC);
153  size_t println(int, int = DEC);
154  size_t println(unsigned int, int = DEC);
155  size_t println(long, int = DEC);
156  size_t println(unsigned long, int = DEC);
157  size_t println(double, int = 2);
158 
159 #ifndef RADIOLIB_GODMODE
160  private:
161 #endif
162  PhysicalLayer* _phy;
163  #if !defined(RADIOLIB_EXCLUDE_AFSK)
164  AFSKClient* _audio;
165  #endif
166 
167  uint8_t _encoding = ASCII;
168  uint32_t _base = 0, _baseHz = 0;
169  uint32_t _shift = 0, _shiftHz = 0;
170  uint32_t _bitDuration = 0;
171  uint8_t _dataBits = 0;
172  uint8_t _stopBits = 0;
173 
174  void mark();
175  void space();
176 
177  size_t printNumber(unsigned long, uint8_t);
178  size_t printFloat(double, uint8_t);
179 
180  int16_t transmitDirect(uint32_t freq = 0, uint32_t freqHz = 0);
181  int16_t standby();
182 };
183 
184 #endif
185 
186 #endif
Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direc...
Definition: AFSK.h:17
+
ITA2String(char c)
Default single-character constructor.
Definition: RTTY.cpp:4
+
size_t length()
Gets the length of the ITA2 string. This number is not the same as the length of ASCII-encoded string...
Definition: RTTY.cpp:22
+
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
+
Client for RTTY communication. The public interface is the same as Arduino Serial.
Definition: RTTY.h:88
+
~ITA2String()
Default destructor.
Definition: RTTY.cpp:16
+
uint8_t * byteArr()
Gets the ITA2 representation of the ASCII string set in constructor.
Definition: RTTY.cpp:34
+
ITA2-encoded string.
Definition: RTTY.h:28
+
+
+ + + + diff --git a/_radio_lib_8h_source.html b/_radio_lib_8h_source.html new file mode 100644 index 00000000..56318ff6 --- /dev/null +++ b/_radio_lib_8h_source.html @@ -0,0 +1,124 @@ + + + + + + +RadioLib: src/RadioLib.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RadioLib.h
+
+
+
1 #ifndef _RADIOLIB_H
2 #define _RADIOLIB_H
3 
43 #include "TypeDef.h"
44 #include "Module.h"
45 
46 // warnings are printed in this file since BuildOpt.h is compiled in multiple places
47 
48 // check God mode
49 #ifdef RADIOLIB_GODMODE
50  #warning "God mode active, I hope it was intentional. Buckle up, lads."
51 #endif
52 
53 // print debug info
54 #ifdef RADIOLIB_DEBUG
55  #pragma message "RADIOLIB_PLATFORM: " RADIOLIB_PLATFORM
56 #endif
57 
58 // check unknown/unsupported platform
59 #ifdef RADIOLIB_UNKNOWN_PLATFORM
60  #warning "RadioLib might not be compatible with this Arduino board - check supported platforms at https://github.com/jgromes/RadioLib!"
61 #endif
62 
63 #include "modules/CC1101/CC1101.h"
64 #include "modules/ESP8266/ESP8266.h"
65 #include "modules/HC05/HC05.h"
66 #include "modules/JDY08/JDY08.h"
67 #include "modules/nRF24/nRF24.h"
68 #include "modules/RF69/RF69.h"
69 #include "modules/RFM2x/RFM22.h"
70 #include "modules/RFM2x/RFM23.h"
71 #include "modules/RFM9x/RFM95.h"
72 #include "modules/RFM9x/RFM96.h"
73 #include "modules/RFM9x/RFM97.h"
74 #include "modules/Si443x/Si4430.h"
75 #include "modules/Si443x/Si4431.h"
76 #include "modules/Si443x/Si4432.h"
77 #include "modules/SX1231/SX1231.h"
78 #include "modules/SX126x/SX1261.h"
79 #include "modules/SX126x/SX1262.h"
80 #include "modules/SX126x/SX1268.h"
81 #include "modules/SX127x/SX1272.h"
82 #include "modules/SX127x/SX1273.h"
83 #include "modules/SX127x/SX1276.h"
84 #include "modules/SX127x/SX1277.h"
85 #include "modules/SX127x/SX1278.h"
86 #include "modules/SX127x/SX1279.h"
87 #include "modules/SX128x/SX1280.h"
88 #include "modules/SX128x/SX1281.h"
89 #include "modules/SX128x/SX1282.h"
90 #include "modules/XBee/XBee.h"
91 
92 // physical layer protocols
93 #include "protocols/PhysicalLayer/PhysicalLayer.h"
94 #include "protocols/AFSK/AFSK.h"
95 #include "protocols/AX25/AX25.h"
96 #include "protocols/Hellschreiber/Hellschreiber.h"
97 #include "protocols/Morse/Morse.h"
98 #include "protocols/RTTY/RTTY.h"
99 #include "protocols/SSTV/SSTV.h"
100 
101 // transport layer protocols
102 #include "protocols/TransportLayer/TransportLayer.h"
103 #include "protocols/HTTP/HTTP.h"
104 #include "protocols/MQTT/MQTT.h"
105 
106 // only create Radio class when using RadioShield
107 #ifdef RADIOLIB_RADIOSHIELD
108 
109 // RadioShield pin definitions
110 #define RADIOSHIELD_CS_A 10
111 #define RADIOSHIELD_RX_A 9
112 #define RADIOSHIELD_TX_A 8
113 #define RADIOSHIELD_CS_B 5
114 #define RADIOSHIELD_RX_B 7
115 #define RADIOSHIELD_TX_B 6
116 #define RADIOSHIELD_INT_0 2
117 #define RADIOSHIELD_INT_1 3
118 
125 class Radio {
126  public:
127 
128  Module* ModuleA;
129  Module* ModuleB;
130 
134  Radio() {
135  ModuleA = new Module(RADIOSHIELD_CS_A, RADIOSHIELD_INT_0, RADIOSHIELD_INT_1, RADIOSHIELD_RX_A, RADIOSHIELD_TX_A, SPI, SPISettings(2000000, MSBFIRST, SPI_MODE0), nullptr);
136  ModuleB = new Module(RADIOSHIELD_CS_B, RADIOSHIELD_INT_0, RADIOSHIELD_INT_1, RADIOSHIELD_RX_B, RADIOSHIELD_TX_B, SPI, SPISettings(2000000, MSBFIRST, SPI_MODE0), nullptr);
137  }
138 
139 #ifndef RADIOLIB_GODMODE
140  private:
141 #endif
142 
143 };
144 
145 Radio RadioShield;
146 #endif
147 
148 #endif
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
+
+ + + + diff --git a/_s_s_t_v_8h_source.html b/_s_s_t_v_8h_source.html new file mode 100644 index 00000000..af9e24d0 --- /dev/null +++ b/_s_s_t_v_8h_source.html @@ -0,0 +1,136 @@ + + + + + + +RadioLib: src/protocols/SSTV/SSTV.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SSTV.h
+
+
+
1 #if !defined(_RADIOLIB_SSTV_H)
2 #define _RADIOLIB_SSTV_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SSTV)
7 
8 #include "../PhysicalLayer/PhysicalLayer.h"
9 #include "../AFSK/AFSK.h"
10 
11 // the following implementation is based on information from
12 // http://www.barberdsp.com/downloads/Dayton%20Paper.pdf
13 
14 // VIS codes
15 #define SSTV_SCOTTIE_1 60
16 #define SSTV_SCOTTIE_2 56
17 #define SSTV_SCOTTIE_DX 76
18 #define SSTV_MARTIN_1 44
19 #define SSTV_MARTIN_2 40
20 #define SSTV_WRASSE_SC2_180 55
21 #define SSTV_PASOKON_P3 113
22 #define SSTV_PASOKON_P5 114
23 #define SSTV_PASOKON_P7 115
24 
25 // SSTV tones in Hz
26 #define SSTV_TONE_LEADER 1900
27 #define SSTV_TONE_BREAK 1200
28 #define SSTV_TONE_VIS_1 1100
29 #define SSTV_TONE_VIS_0 1300
30 #define SSTV_TONE_BRIGHTNESS_MIN 1500
31 #define SSTV_TONE_BRIGHTNESS_MAX 2300
32 
33 // calibration header timing in us
34 #define SSTV_HEADER_LEADER_LENGTH 300000
35 #define SSTV_HEADER_BREAK_LENGTH 10000
36 #define SSTV_HEADER_BIT_LENGTH 30000
37 
43 struct tone_t {
44 
48  enum {
49  GENERIC = 0,
50  SCAN_GREEN,
51  SCAN_BLUE,
52  SCAN_RED
53  } type;
54 
58  uint32_t len;
59 
63  uint16_t freq;
64 };
65 
71 struct SSTVMode_t {
72 
76  uint8_t visCode;
77 
81  uint16_t width;
82 
86  uint16_t height;
87 
91  uint16_t scanPixelLen;
92 
96  uint8_t numTones;
97 
101  tone_t tones[8];
102 };
103 
104 // all currently supported SSTV modes
105 extern const SSTVMode_t Scottie1;
106 extern const SSTVMode_t Scottie2;
107 extern const SSTVMode_t ScottieDX;
108 extern const SSTVMode_t Martin1;
109 extern const SSTVMode_t Martin2;
110 extern const SSTVMode_t Wrasse;
111 extern const SSTVMode_t PasokonP3;
112 extern const SSTVMode_t PasokonP5;
113 extern const SSTVMode_t PasokonP7;
114 
120 class SSTVClient {
121  public:
127  explicit SSTVClient(PhysicalLayer* phy);
128 
129  #if !defined(RADIOLIB_EXCLUDE_AFSK)
130 
135  explicit SSTVClient(AFSKClient* audio);
136  #endif
137 
138  // basic methods
139 
151  int16_t begin(float base, const SSTVMode_t& mode, float correction = 1.0);
152 
153  #if !defined(RADIOLIB_EXCLUDE_AFSK)
154 
163  int16_t begin(const SSTVMode_t& mode, float correction = 1.0);
164  #endif
165 
169  void idle();
170 
174  void sendHeader();
175 
181  void sendLine(uint32_t* imgLine);
182 
188  uint16_t getPictureHeight() const;
189 
190 #ifndef RADIOLIB_GODMODE
191  private:
192 #endif
193  PhysicalLayer* _phy;
194  #if !defined(RADIOLIB_EXCLUDE_AFSK)
195  AFSKClient* _audio;
196  #endif
197 
198  uint32_t _base = 0;
199  SSTVMode_t _mode = Scottie1;
200  bool _firstLine = true;
201 
202  void tone(float freq, uint32_t len = 0);
203 };
204 
205 #endif
206 
207 #endif
uint8_t visCode
Unique VIS code of the SSTV mode.
Definition: SSTV.h:76
+
uint16_t width
Picture width in pixels.
Definition: SSTV.h:81
+
uint16_t freq
Frequency of tone in Hz, set to 0 for picture scan tones.
Definition: SSTV.h:63
+
Structure to save data about tone.
Definition: SSTV.h:43
+
Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direc...
Definition: AFSK.h:17
+
uint16_t height
Picture height in pixels.
Definition: SSTV.h:86
+
Structure to save data about supported SSTV modes.
Definition: SSTV.h:71
+
enum tone_t::@0 type
Tone type: GENERIC for sync and porch tones, SCAN_GREEN, SCAN_BLUE and SCAN_RED for scan lines...
+
uint16_t scanPixelLen
Pixel scan length in us.
Definition: SSTV.h:91
+
uint8_t numTones
Number of tones in each transmission line. Picture scan data is considered single tone...
Definition: SSTV.h:96
+
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
+
Client for SSTV transmissions.
Definition: SSTV.h:120
+
uint32_t len
Length of tone in us, set to 0 for picture scan tones.
Definition: SSTV.h:58
+
+
+ + + + diff --git a/_s_x1231_8h_source.html b/_s_x1231_8h_source.html new file mode 100644 index 00000000..8cee39a1 --- /dev/null +++ b/_s_x1231_8h_source.html @@ -0,0 +1,128 @@ + + + + + + +RadioLib: src/modules/SX1231/SX1231.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1231.h
+
+
+
1 #if !defined(_RADIOLIB_SX1231_H)
2 #define _RADIOLIB_SX1231_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX1231)
7 
8 #include "../../Module.h"
9 #include "../RF69/RF69.h"
10 
11 #define SX1231_CHIP_REVISION_2_A 0x21
12 #define SX1231_CHIP_REVISION_2_B 0x22
13 #define SX1231_CHIP_REVISION_2_C 0x23
14 
15 //SX1231 specific register map
16 #define SX1231_REG_TEST_OOK 0x6E
17 
18 //SX1231_REG_TEST_OOK
19 #define SX1231_OOK_DELTA_THRESHOLD 0x0C
20 
26 class SX1231: public RF69 {
27  public:
33  SX1231(Module* mod);
34 
52  int16_t begin(float freq = 434.0, float br = 48.0, float rxBw = 125.0, float freqDev = 50.0, int8_t power = 10, uint8_t preambleLen = 16);
53 
54 #ifndef RADIOLIB_GODMODE
55  private:
56 #endif
57  uint8_t _chipRevision = 0;
58 };
59 
60 #endif
61 
62 #endif
Control class for RF69 module. Also serves as base class for SX1231.
Definition: RF69.h:432
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
Control class for SX1231 module. Overrides some methods from RF69 due to different register values...
Definition: SX1231.h:26
+
int16_t begin(float freq=434.0, float br=48.0, float rxBw=125.0, float freqDev=50.0, int8_t power=10, uint8_t preambleLen=16)
Initialization method.
Definition: SX1231.cpp:8
+
SX1231(Module *mod)
Default constructor.
Definition: SX1231.cpp:4
+
+
+ + + + diff --git a/_s_x1261_8h_source.html b/_s_x1261_8h_source.html new file mode 100644 index 00000000..8aa6a8b5 --- /dev/null +++ b/_s_x1261_8h_source.html @@ -0,0 +1,128 @@ + + + + + + +RadioLib: src/modules/SX126x/SX1261.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1261.h
+
+
+
1 #if !defined(_RADIOLIB_SX1261_H)
2 #define _RADIOLIB_SX1261_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX126X)
7 
8 #include "../../Module.h"
9 #include "SX126x.h"
10 #include "SX1262.h"
11 
12 //SX126X_CMD_SET_PA_CONFIG
13 #define SX126X_PA_CONFIG_SX1261 0x01
14 
20 class SX1261 : public SX1262 {
21  public:
27  SX1261(Module* mod);
28 
36  int16_t setOutputPower(int8_t power);
37 
38 #ifndef RADIOLIB_GODMODE
39  private:
40 #endif
41 
42 };
43 
44 #endif
45 
46 #endif
Derived class for SX1261 modules.
Definition: SX1261.h:20
+
SX1261(Module *mod)
Default constructor.
Definition: SX1261.cpp:4
+
Derived class for SX1262 modules.
Definition: SX1262.h:19
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t setOutputPower(int8_t power)
Sets output power. Allowed values are in range from -17 to 14 dBm.
Definition: SX1261.cpp:8
+
+
+ + + + diff --git a/_s_x1262_8h_source.html b/_s_x1262_8h_source.html new file mode 100644 index 00000000..a1566dbf --- /dev/null +++ b/_s_x1262_8h_source.html @@ -0,0 +1,131 @@ + + + + + + +RadioLib: src/modules/SX126x/SX1262.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1262.h
+
+
+
1 #if !defined(_RADIOLIB_SX1262_H)
2 #define _RADIOLIB_SX1262_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX126X)
7 
8 #include "../../Module.h"
9 #include "SX126x.h"
10 
11 //SX126X_CMD_SET_PA_CONFIG
12 #define SX126X_PA_CONFIG_SX1262 0x00
13 
19 class SX1262: public SX126x {
20  public:
26  SX1262(Module* mod);
27 
28  // basic methods
29 
51  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = SX126X_SYNC_WORD_PRIVATE, int8_t power = 10, uint16_t preambleLength = 8, float tcxoVoltage = 1.6, bool useRegulatorLDO = false);
52 
74  int16_t beginFSK(float freq = 434.0, float br = 48.0, float freqDev = 50.0, float rxBw = 156.2, int8_t power = 10, uint16_t preambleLength = 16, float tcxoVoltage = 1.6, bool useRegulatorLDO = false);
75 
76  // configuration methods
77 
87  int16_t setFrequency(float freq, bool calibrate = true);
88 
96  int16_t setOutputPower(int8_t power);
97 
98 #ifndef RADIOLIB_GODMODE
99  private:
100 #endif
101 
102 };
103 
104 #endif
105 
106 #endif
int16_t beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=156.2, int8_t power=10, uint16_t preambleLength=16, float tcxoVoltage=1.6, bool useRegulatorLDO=false)
Initialization method for FSK modem.
Definition: SX1262.cpp:26
+
int16_t setFrequency(float freq, bool calibrate=true)
Sets carrier frequency. Allowed values are in range from 150.0 to 960.0 MHz.
Definition: SX1262.cpp:44
+
Derived class for SX1262 modules.
Definition: SX1262.h:19
+
Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:342
+
int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX126X_SYNC_WORD_PRIVATE, int8_t power=10, uint16_t preambleLength=8, float tcxoVoltage=1.6, bool useRegulatorLDO=false)
Initialization method for LoRa modem.
Definition: SX1262.cpp:8
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
SX1262(Module *mod)
Default constructor.
Definition: SX1262.cpp:4
+
int16_t setOutputPower(int8_t power)
Sets output power. Allowed values are in range from -17 to 22 dBm.
Definition: SX1262.cpp:74
+
+
+ + + + diff --git a/_s_x1268_8h_source.html b/_s_x1268_8h_source.html new file mode 100644 index 00000000..efcd9c63 --- /dev/null +++ b/_s_x1268_8h_source.html @@ -0,0 +1,131 @@ + + + + + + +RadioLib: src/modules/SX126x/SX1268.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1268.h
+
+
+
1 #if !defined(_RADIOLIB_SX1268_H)
2 #define _RADIOLIB_SX1268_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX126X)
7 
8 #include "../../Module.h"
9 #include "SX126x.h"
10 
11 //SX126X_CMD_SET_PA_CONFIG
12 #define SX126X_PA_CONFIG_SX1268 0x00
13 
19 class SX1268: public SX126x {
20  public:
26  SX1268(Module* mod);
27 
28  // basic methods
29 
51  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = SX126X_SYNC_WORD_PRIVATE, int8_t power = 10, uint16_t preambleLength = 8, float tcxoVoltage = 1.6, bool useRegulatorLDO = false);
52 
74  int16_t beginFSK(float freq = 434.0, float br = 48.0, float freqDev = 50.0, float rxBw = 156.2, int8_t power = 10, uint16_t preambleLength = 16, float tcxoVoltage = 1.6, bool useRegulatorLDO = false);
75 
76  // configuration methods
77 
87  int16_t setFrequency(float freq, bool calibrate = true);
88 
96  int16_t setOutputPower(int8_t power);
97 
98 #ifndef RADIOLIB_GODMODE
99  private:
100 #endif
101 
102 };
103 
104 #endif
105 
106 #endif
int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX126X_SYNC_WORD_PRIVATE, int8_t power=10, uint16_t preambleLength=8, float tcxoVoltage=1.6, bool useRegulatorLDO=false)
Initialization method for LoRa modem.
Definition: SX1268.cpp:8
+
Derived class for SX1268 modules.
Definition: SX1268.h:19
+
int16_t setOutputPower(int8_t power)
Sets output power. Allowed values are in range from -9 to 22 dBm.
Definition: SX1268.cpp:69
+
Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:342
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t setFrequency(float freq, bool calibrate=true)
Sets carrier frequency. Allowed values are in range from 410.0 to 810.0 MHz.
Definition: SX1268.cpp:45
+
SX1268(Module *mod)
Default constructor.
Definition: SX1268.cpp:4
+
int16_t beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=156.2, int8_t power=10, uint16_t preambleLength=16, float tcxoVoltage=1.6, bool useRegulatorLDO=false)
Initialization method for FSK modem.
Definition: SX1268.cpp:26
+
+
+ + + + diff --git a/_s_x126x_8h_source.html b/_s_x126x_8h_source.html new file mode 100644 index 00000000..d0008908 --- /dev/null +++ b/_s_x126x_8h_source.html @@ -0,0 +1,182 @@ + + + + + + +RadioLib: src/modules/SX126x/SX126x.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX126x.h
+
+
+
1 #if !defined(_RADIOLIB_SX126X_H)
2 #define _RADIOLIB_SX126X_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX126X)
7 
8 #include "../../Module.h"
9 
10 #include "../../protocols/PhysicalLayer/PhysicalLayer.h"
11 
12 // SX126X physical layer properties
13 #define SX126X_FREQUENCY_STEP_SIZE 0.9536743164
14 #define SX126X_MAX_PACKET_LENGTH 255
15 #define SX126X_CRYSTAL_FREQ 32.0
16 #define SX126X_DIV_EXPONENT 25
17 
18 // SX126X SPI commands
19 // operational modes commands
20 #define SX126X_CMD_NOP 0x00
21 #define SX126X_CMD_SET_SLEEP 0x84
22 #define SX126X_CMD_SET_STANDBY 0x80
23 #define SX126X_CMD_SET_FS 0xC1
24 #define SX126X_CMD_SET_TX 0x83
25 #define SX126X_CMD_SET_RX 0x82
26 #define SX126X_CMD_STOP_TIMER_ON_PREAMBLE 0x9F
27 #define SX126X_CMD_SET_RX_DUTY_CYCLE 0x94
28 #define SX126X_CMD_SET_CAD 0xC5
29 #define SX126X_CMD_SET_TX_CONTINUOUS_WAVE 0xD1
30 #define SX126X_CMD_SET_TX_INFINITE_PREAMBLE 0xD2
31 #define SX126X_CMD_SET_REGULATOR_MODE 0x96
32 #define SX126X_CMD_CALIBRATE 0x89
33 #define SX126X_CMD_CALIBRATE_IMAGE 0x98
34 #define SX126X_CMD_SET_PA_CONFIG 0x95
35 #define SX126X_CMD_SET_RX_TX_FALLBACK_MODE 0x93
36 
37 // register and buffer access commands
38 #define SX126X_CMD_WRITE_REGISTER 0x0D
39 #define SX126X_CMD_READ_REGISTER 0x1D
40 #define SX126X_CMD_WRITE_BUFFER 0x0E
41 #define SX126X_CMD_READ_BUFFER 0x1E
42 
43 // DIO and IRQ control
44 #define SX126X_CMD_SET_DIO_IRQ_PARAMS 0x08
45 #define SX126X_CMD_GET_IRQ_STATUS 0x12
46 #define SX126X_CMD_CLEAR_IRQ_STATUS 0x02
47 #define SX126X_CMD_SET_DIO2_AS_RF_SWITCH_CTRL 0x9D
48 #define SX126X_CMD_SET_DIO3_AS_TCXO_CTRL 0x97
49 
50 // RF, modulation and packet commands
51 #define SX126X_CMD_SET_RF_FREQUENCY 0x86
52 #define SX126X_CMD_SET_PACKET_TYPE 0x8A
53 #define SX126X_CMD_GET_PACKET_TYPE 0x11
54 #define SX126X_CMD_SET_TX_PARAMS 0x8E
55 #define SX126X_CMD_SET_MODULATION_PARAMS 0x8B
56 #define SX126X_CMD_SET_PACKET_PARAMS 0x8C
57 #define SX126X_CMD_SET_CAD_PARAMS 0x88
58 #define SX126X_CMD_SET_BUFFER_BASE_ADDRESS 0x8F
59 #define SX126X_CMD_SET_LORA_SYMB_NUM_TIMEOUT 0x0A
60 
61 // status commands
62 #define SX126X_CMD_GET_STATUS 0xC0
63 #define SX126X_CMD_GET_RSSI_INST 0x15
64 #define SX126X_CMD_GET_RX_BUFFER_STATUS 0x13
65 #define SX126X_CMD_GET_PACKET_STATUS 0x14
66 #define SX126X_CMD_GET_DEVICE_ERRORS 0x17
67 #define SX126X_CMD_CLEAR_DEVICE_ERRORS 0x07
68 #define SX126X_CMD_GET_STATS 0x10
69 #define SX126X_CMD_RESET_STATS 0x00
70 
71 
72 // SX126X register map
73 #define SX126X_REG_WHITENING_INITIAL_MSB 0x06B8
74 #define SX126X_REG_WHITENING_INITIAL_LSB 0x06B9
75 #define SX126X_REG_CRC_INITIAL_MSB 0x06BC
76 #define SX126X_REG_CRC_INITIAL_LSB 0x06BD
77 #define SX126X_REG_CRC_POLYNOMIAL_MSB 0x06BE
78 #define SX126X_REG_CRC_POLYNOMIAL_LSB 0x06BF
79 #define SX126X_REG_SYNC_WORD_0 0x06C0
80 #define SX126X_REG_SYNC_WORD_1 0x06C1
81 #define SX126X_REG_SYNC_WORD_2 0x06C2
82 #define SX126X_REG_SYNC_WORD_3 0x06C3
83 #define SX126X_REG_SYNC_WORD_4 0x06C4
84 #define SX126X_REG_SYNC_WORD_5 0x06C5
85 #define SX126X_REG_SYNC_WORD_6 0x06C6
86 #define SX126X_REG_SYNC_WORD_7 0x06C7
87 #define SX126X_REG_NODE_ADDRESS 0x06CD
88 #define SX126X_REG_BROADCAST_ADDRESS 0x06CE
89 #define SX126X_REG_LORA_SYNC_WORD_MSB 0x0740
90 #define SX126X_REG_LORA_SYNC_WORD_LSB 0x0741
91 #define SX126X_REG_RANDOM_NUMBER_0 0x0819
92 #define SX126X_REG_RANDOM_NUMBER_1 0x081A
93 #define SX126X_REG_RANDOM_NUMBER_2 0x081B
94 #define SX126X_REG_RANDOM_NUMBER_3 0x081C
95 #define SX126X_REG_RX_GAIN 0x08AC
96 #define SX126X_REG_OCP_CONFIGURATION 0x08E7
97 #define SX126X_REG_XTA_TRIM 0x0911
98 #define SX126X_REG_XTB_TRIM 0x0912
99 
100 // undocumented registers
101 #define SX126X_REG_SENSITIVITY_CONFIG 0x0889 // SX1268 datasheet v1.1, section 15.1
102 #define SX126X_REG_TX_CLAMP_CONFIG 0x08D8 // SX1268 datasheet v1.1, section 15.2
103 #define SX126X_REG_RTC_STOP 0x0920 // SX1268 datasheet v1.1, section 15.3
104 #define SX126X_REG_RTC_EVENT 0x0944 // SX1268 datasheet v1.1, section 15.3
105 #define SX126X_REG_IQ_CONFIG 0x0736 // SX1268 datasheet v1.1, section 15.4
106 #define SX126X_REG_RX_GAIN_RETENTION_0 0x029F // SX1268 datasheet v1.1, section 9.6
107 #define SX126X_REG_RX_GAIN_RETENTION_1 0x02A0 // SX1268 datasheet v1.1, section 9.6
108 #define SX126X_REG_RX_GAIN_RETENTION_2 0x02A1 // SX1268 datasheet v1.1, section 9.6
109 
110 
111 // SX126X SPI command variables
112 //SX126X_CMD_SET_SLEEP MSB LSB DESCRIPTION
113 #define SX126X_SLEEP_START_COLD 0b00000000 // 2 2 sleep mode: cold start, configuration is lost (default)
114 #define SX126X_SLEEP_START_WARM 0b00000100 // 2 2 warm start, configuration is retained
115 #define SX126X_SLEEP_RTC_OFF 0b00000000 // 0 0 wake on RTC timeout: disabled
116 #define SX126X_SLEEP_RTC_ON 0b00000001 // 0 0 enabled
117 
118 //SX126X_CMD_SET_STANDBY
119 #define SX126X_STANDBY_RC 0x00 // 7 0 standby mode: 13 MHz RC oscillator
120 #define SX126X_STANDBY_XOSC 0x01 // 7 0 32 MHz crystal oscillator
121 
122 //SX126X_CMD_SET_RX
123 #define SX126X_RX_TIMEOUT_NONE 0x000000 // 23 0 Rx timeout duration: no timeout (Rx single mode)
124 #define SX126X_RX_TIMEOUT_INF 0xFFFFFF // 23 0 infinite (Rx continuous mode)
125 
126 //SX126X_CMD_SET_TX
127 #define SX126X_TX_TIMEOUT_NONE 0x000000 // 23 0 Tx timeout duration: no timeout (Tx single mode)
128 
129 //SX126X_CMD_STOP_TIMER_ON_PREAMBLE
130 #define SX126X_STOP_ON_PREAMBLE_OFF 0x00 // 7 0 stop timer on: sync word or header (default)
131 #define SX126X_STOP_ON_PREAMBLE_ON 0x01 // 7 0 preamble detection
132 
133 //SX126X_CMD_SET_REGULATOR_MODE
134 #define SX126X_REGULATOR_LDO 0x00 // 7 0 set regulator mode: LDO (default)
135 #define SX126X_REGULATOR_DC_DC 0x01 // 7 0 DC-DC
136 
137 //SX126X_CMD_CALIBRATE
138 #define SX126X_CALIBRATE_IMAGE_OFF 0b00000000 // 6 6 image calibration: disabled
139 #define SX126X_CALIBRATE_IMAGE_ON 0b01000000 // 6 6 enabled
140 #define SX126X_CALIBRATE_ADC_BULK_P_OFF 0b00000000 // 5 5 ADC bulk P calibration: disabled
141 #define SX126X_CALIBRATE_ADC_BULK_P_ON 0b00100000 // 5 5 enabled
142 #define SX126X_CALIBRATE_ADC_BULK_N_OFF 0b00000000 // 4 4 ADC bulk N calibration: disabled
143 #define SX126X_CALIBRATE_ADC_BULK_N_ON 0b00010000 // 4 4 enabled
144 #define SX126X_CALIBRATE_ADC_PULSE_OFF 0b00000000 // 3 3 ADC pulse calibration: disabled
145 #define SX126X_CALIBRATE_ADC_PULSE_ON 0b00001000 // 3 3 enabled
146 #define SX126X_CALIBRATE_PLL_OFF 0b00000000 // 2 2 PLL calibration: disabled
147 #define SX126X_CALIBRATE_PLL_ON 0b00000100 // 2 2 enabled
148 #define SX126X_CALIBRATE_RC13M_OFF 0b00000000 // 1 1 13 MHz RC osc. calibration: disabled
149 #define SX126X_CALIBRATE_RC13M_ON 0b00000010 // 1 1 enabled
150 #define SX126X_CALIBRATE_RC64K_OFF 0b00000000 // 0 0 64 kHz RC osc. calibration: disabled
151 #define SX126X_CALIBRATE_RC64K_ON 0b00000001 // 0 0 enabled
152 #define SX126X_CALIBRATE_ALL 0b01111111 // 6 0 calibrate all blocks
153 
154 //SX126X_CMD_CALIBRATE_IMAGE
155 #define SX126X_CAL_IMG_430_MHZ_1 0x6B
156 #define SX126X_CAL_IMG_430_MHZ_2 0x6F
157 #define SX126X_CAL_IMG_470_MHZ_1 0x75
158 #define SX126X_CAL_IMG_470_MHZ_2 0x81
159 #define SX126X_CAL_IMG_779_MHZ_1 0xC1
160 #define SX126X_CAL_IMG_779_MHZ_2 0xC5
161 #define SX126X_CAL_IMG_863_MHZ_1 0xD7
162 #define SX126X_CAL_IMG_863_MHZ_2 0xDB
163 #define SX126X_CAL_IMG_902_MHZ_1 0xE1
164 #define SX126X_CAL_IMG_902_MHZ_2 0xE9
165 
166 //SX126X_CMD_SET_PA_CONFIG
167 #define SX126X_PA_CONFIG_HP_MAX 0x07
168 #define SX126X_PA_CONFIG_PA_LUT 0x01
169 #define SX126X_PA_CONFIG_SX1262_8 0x00
170 
171 //SX126X_CMD_SET_RX_TX_FALLBACK_MODE
172 #define SX126X_RX_TX_FALLBACK_MODE_FS 0x40 // 7 0 after Rx/Tx go to: FS mode
173 #define SX126X_RX_TX_FALLBACK_MODE_STDBY_XOSC 0x30 // 7 0 standby with crystal oscillator
174 #define SX126X_RX_TX_FALLBACK_MODE_STDBY_RC 0x20 // 7 0 standby with RC oscillator (default)
175 
176 //SX126X_CMD_SET_DIO_IRQ_PARAMS
177 #define SX126X_IRQ_TIMEOUT 0b1000000000 // 9 9 Rx or Tx timeout
178 #define SX126X_IRQ_CAD_DETECTED 0b0100000000 // 8 8 channel activity detected
179 #define SX126X_IRQ_CAD_DONE 0b0010000000 // 7 7 channel activity detection finished
180 #define SX126X_IRQ_CRC_ERR 0b0001000000 // 6 6 wrong CRC received
181 #define SX126X_IRQ_HEADER_ERR 0b0000100000 // 5 5 LoRa header CRC error
182 #define SX126X_IRQ_HEADER_VALID 0b0000010000 // 4 4 valid LoRa header received
183 #define SX126X_IRQ_SYNC_WORD_VALID 0b0000001000 // 3 3 valid sync word detected
184 #define SX126X_IRQ_PREAMBLE_DETECTED 0b0000000100 // 2 2 preamble detected
185 #define SX126X_IRQ_RX_DONE 0b0000000010 // 1 1 packet received
186 #define SX126X_IRQ_TX_DONE 0b0000000001 // 0 0 packet transmission completed
187 #define SX126X_IRQ_ALL 0b1111111111 // 9 0 all interrupts
188 #define SX126X_IRQ_NONE 0b0000000000 // 9 0 no interrupts
189 
190 //SX126X_CMD_SET_DIO2_AS_RF_SWITCH_CTRL
191 #define SX126X_DIO2_AS_IRQ 0x00 // 7 0 DIO2 configuration: IRQ
192 #define SX126X_DIO2_AS_RF_SWITCH 0x01 // 7 0 RF switch control
193 
194 //SX126X_CMD_SET_DIO3_AS_TCXO_CTRL
195 #define SX126X_DIO3_OUTPUT_1_6 0x00 // 7 0 DIO3 voltage output for TCXO: 1.6 V
196 #define SX126X_DIO3_OUTPUT_1_7 0x01 // 7 0 1.7 V
197 #define SX126X_DIO3_OUTPUT_1_8 0x02 // 7 0 1.8 V
198 #define SX126X_DIO3_OUTPUT_2_2 0x03 // 7 0 2.2 V
199 #define SX126X_DIO3_OUTPUT_2_4 0x04 // 7 0 2.4 V
200 #define SX126X_DIO3_OUTPUT_2_7 0x05 // 7 0 2.7 V
201 #define SX126X_DIO3_OUTPUT_3_0 0x06 // 7 0 3.0 V
202 #define SX126X_DIO3_OUTPUT_3_3 0x07 // 7 0 3.3 V
203 
204 //SX126X_CMD_SET_PACKET_TYPE
205 #define SX126X_PACKET_TYPE_GFSK 0x00 // 7 0 packet type: GFSK
206 #define SX126X_PACKET_TYPE_LORA 0x01 // 7 0 LoRa
207 
208 //SX126X_CMD_SET_TX_PARAMS
209 #define SX126X_PA_RAMP_10U 0x00 // 7 0 ramp time: 10 us
210 #define SX126X_PA_RAMP_20U 0x01 // 7 0 20 us
211 #define SX126X_PA_RAMP_40U 0x02 // 7 0 40 us
212 #define SX126X_PA_RAMP_80U 0x03 // 7 0 80 us
213 #define SX126X_PA_RAMP_200U 0x04 // 7 0 200 us
214 #define SX126X_PA_RAMP_800U 0x05 // 7 0 800 us
215 #define SX126X_PA_RAMP_1700U 0x06 // 7 0 1700 us
216 #define SX126X_PA_RAMP_3400U 0x07 // 7 0 3400 us
217 
218 //SX126X_CMD_SET_MODULATION_PARAMS
219 #define SX126X_GFSK_FILTER_NONE 0x00 // 7 0 GFSK filter: none
220 #define SX126X_GFSK_FILTER_GAUSS_0_3 0x08 // 7 0 Gaussian, BT = 0.3
221 #define SX126X_GFSK_FILTER_GAUSS_0_5 0x09 // 7 0 Gaussian, BT = 0.5
222 #define SX126X_GFSK_FILTER_GAUSS_0_7 0x0A // 7 0 Gaussian, BT = 0.7
223 #define SX126X_GFSK_FILTER_GAUSS_1 0x0B // 7 0 Gaussian, BT = 1
224 #define SX126X_GFSK_RX_BW_4_8 0x1F // 7 0 GFSK Rx bandwidth: 4.8 kHz
225 #define SX126X_GFSK_RX_BW_5_8 0x17 // 7 0 5.8 kHz
226 #define SX126X_GFSK_RX_BW_7_3 0x0F // 7 0 7.3 kHz
227 #define SX126X_GFSK_RX_BW_9_7 0x1E // 7 0 9.7 kHz
228 #define SX126X_GFSK_RX_BW_11_7 0x16 // 7 0 11.7 kHz
229 #define SX126X_GFSK_RX_BW_14_6 0x0E // 7 0 14.6 kHz
230 #define SX126X_GFSK_RX_BW_19_5 0x1D // 7 0 19.5 kHz
231 #define SX126X_GFSK_RX_BW_23_4 0x15 // 7 0 23.4 kHz
232 #define SX126X_GFSK_RX_BW_29_3 0x0D // 7 0 29.3 kHz
233 #define SX126X_GFSK_RX_BW_39_0 0x1C // 7 0 39.0 kHz
234 #define SX126X_GFSK_RX_BW_46_9 0x14 // 7 0 46.9 kHz
235 #define SX126X_GFSK_RX_BW_58_6 0x0C // 7 0 58.6 kHz
236 #define SX126X_GFSK_RX_BW_78_2 0x1B // 7 0 78.2 kHz
237 #define SX126X_GFSK_RX_BW_93_8 0x13 // 7 0 93.8 kHz
238 #define SX126X_GFSK_RX_BW_117_3 0x0B // 7 0 117.3 kHz
239 #define SX126X_GFSK_RX_BW_156_2 0x1A // 7 0 156.2 kHz
240 #define SX126X_GFSK_RX_BW_187_2 0x12 // 7 0 187.2 kHz
241 #define SX126X_GFSK_RX_BW_234_3 0x0A // 7 0 234.3 kHz
242 #define SX126X_GFSK_RX_BW_312_0 0x19 // 7 0 312.0 kHz
243 #define SX126X_GFSK_RX_BW_373_6 0x11 // 7 0 373.6 kHz
244 #define SX126X_GFSK_RX_BW_467_0 0x09 // 7 0 467.0 kHz
245 #define SX126X_LORA_BW_7_8 0x00 // 7 0 LoRa bandwidth: 7.8 kHz
246 #define SX126X_LORA_BW_10_4 0x08 // 7 0 10.4 kHz
247 #define SX126X_LORA_BW_15_6 0x01 // 7 0 15.6 kHz
248 #define SX126X_LORA_BW_20_8 0x09 // 7 0 20.8 kHz
249 #define SX126X_LORA_BW_31_25 0x02 // 7 0 31.25 kHz
250 #define SX126X_LORA_BW_41_7 0x0A // 7 0 41.7 kHz
251 #define SX126X_LORA_BW_62_5 0x03 // 7 0 62.5 kHz
252 #define SX126X_LORA_BW_125_0 0x04 // 7 0 125.0 kHz
253 #define SX126X_LORA_BW_250_0 0x05 // 7 0 250.0 kHz
254 #define SX126X_LORA_BW_500_0 0x06 // 7 0 500.0 kHz
255 #define SX126X_LORA_CR_4_5 0x01 // 7 0 LoRa coding rate: 4/5
256 #define SX126X_LORA_CR_4_6 0x02 // 7 0 4/6
257 #define SX126X_LORA_CR_4_7 0x03 // 7 0 4/7
258 #define SX126X_LORA_CR_4_8 0x04 // 7 0 4/8
259 #define SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_OFF 0x00 // 7 0 LoRa low data rate optimization: disabled
260 #define SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_ON 0x01 // 7 0 enabled
261 
262 //SX126X_CMD_SET_PACKET_PARAMS
263 #define SX126X_GFSK_PREAMBLE_DETECT_OFF 0x00 // 7 0 GFSK minimum preamble length before reception starts: detector disabled
264 #define SX126X_GFSK_PREAMBLE_DETECT_8 0x04 // 7 0 8 bits
265 #define SX126X_GFSK_PREAMBLE_DETECT_16 0x05 // 7 0 16 bits
266 #define SX126X_GFSK_PREAMBLE_DETECT_24 0x06 // 7 0 24 bits
267 #define SX126X_GFSK_PREAMBLE_DETECT_32 0x07 // 7 0 32 bits
268 #define SX126X_GFSK_ADDRESS_FILT_OFF 0x00 // 7 0 GFSK address filtering: disabled
269 #define SX126X_GFSK_ADDRESS_FILT_NODE 0x01 // 7 0 node only
270 #define SX126X_GFSK_ADDRESS_FILT_NODE_BROADCAST 0x02 // 7 0 node and broadcast
271 #define SX126X_GFSK_PACKET_FIXED 0x00 // 7 0 GFSK packet type: fixed (payload length known in advance to both sides)
272 #define SX126X_GFSK_PACKET_VARIABLE 0x01 // 7 0 variable (payload length added to packet)
273 #define SX126X_GFSK_CRC_OFF 0x01 // 7 0 GFSK packet CRC: disabled
274 #define SX126X_GFSK_CRC_1_BYTE 0x00 // 7 0 1 byte
275 #define SX126X_GFSK_CRC_2_BYTE 0x02 // 7 0 2 byte
276 #define SX126X_GFSK_CRC_1_BYTE_INV 0x04 // 7 0 1 byte, inverted
277 #define SX126X_GFSK_CRC_2_BYTE_INV 0x06 // 7 0 2 byte, inverted
278 #define SX126X_GFSK_WHITENING_OFF 0x00 // 7 0 GFSK data whitening: disabled
279 #define SX126X_GFSK_WHITENING_ON 0x01 // 7 0 enabled
280 #define SX126X_LORA_HEADER_EXPLICIT 0x00 // 7 0 LoRa header mode: explicit
281 #define SX126X_LORA_HEADER_IMPLICIT 0x01 // 7 0 implicit
282 #define SX126X_LORA_CRC_OFF 0x00 // 7 0 LoRa CRC mode: disabled
283 #define SX126X_LORA_CRC_ON 0x01 // 7 0 enabled
284 #define SX126X_LORA_IQ_STANDARD 0x00 // 7 0 LoRa IQ setup: standard
285 #define SX126X_LORA_IQ_INVERTED 0x01 // 7 0 inverted
286 
287 //SX126X_CMD_SET_CAD_PARAMS
288 #define SX126X_CAD_ON_1_SYMB 0x00 // 7 0 number of symbols used for CAD: 1
289 #define SX126X_CAD_ON_2_SYMB 0x01 // 7 0 2
290 #define SX126X_CAD_ON_4_SYMB 0x02 // 7 0 4
291 #define SX126X_CAD_ON_8_SYMB 0x03 // 7 0 8
292 #define SX126X_CAD_ON_16_SYMB 0x04 // 7 0 16
293 #define SX126X_CAD_GOTO_STDBY 0x00 // 7 0 after CAD is done, always go to STDBY_RC mode
294 #define SX126X_CAD_GOTO_RX 0x01 // 7 0 after CAD is done, go to Rx mode if activity is detected
295 
296 //SX126X_CMD_GET_STATUS
297 #define SX126X_STATUS_MODE_STDBY_RC 0b00100000 // 6 4 current chip mode: STDBY_RC
298 #define SX126X_STATUS_MODE_STDBY_XOSC 0b00110000 // 6 4 STDBY_XOSC
299 #define SX126X_STATUS_MODE_FS 0b01000000 // 6 4 FS
300 #define SX126X_STATUS_MODE_RX 0b01010000 // 6 4 RX
301 #define SX126X_STATUS_MODE_TX 0b01100000 // 6 4 TX
302 #define SX126X_STATUS_DATA_AVAILABLE 0b00000100 // 3 1 command status: packet received and data can be retrieved
303 #define SX126X_STATUS_CMD_TIMEOUT 0b00000110 // 3 1 SPI command timed out
304 #define SX126X_STATUS_CMD_INVALID 0b00001000 // 3 1 invalid SPI command
305 #define SX126X_STATUS_CMD_FAILED 0b00001010 // 3 1 SPI command failed to execute
306 #define SX126X_STATUS_TX_DONE 0b00001100 // 3 1 packet transmission done
307 #define SX126X_STATUS_SPI_FAILED 0b11111111 // 7 0 SPI transaction failed
308 
309 //SX126X_CMD_GET_PACKET_STATUS
310 #define SX126X_GFSK_RX_STATUS_PREAMBLE_ERR 0b10000000 // 7 7 GFSK Rx status: preamble error
311 #define SX126X_GFSK_RX_STATUS_SYNC_ERR 0b01000000 // 6 6 sync word error
312 #define SX126X_GFSK_RX_STATUS_ADRS_ERR 0b00100000 // 5 5 address error
313 #define SX126X_GFSK_RX_STATUS_CRC_ERR 0b00010000 // 4 4 CRC error
314 #define SX126X_GFSK_RX_STATUS_LENGTH_ERR 0b00001000 // 3 3 length error
315 #define SX126X_GFSK_RX_STATUS_ABORT_ERR 0b00000100 // 2 2 abort error
316 #define SX126X_GFSK_RX_STATUS_PACKET_RECEIVED 0b00000010 // 2 2 packet received
317 #define SX126X_GFSK_RX_STATUS_PACKET_SENT 0b00000001 // 2 2 packet sent
318 
319 //SX126X_CMD_GET_DEVICE_ERRORS
320 #define SX126X_PA_RAMP_ERR 0b100000000 // 8 8 device errors: PA ramping failed
321 #define SX126X_PLL_LOCK_ERR 0b001000000 // 6 6 PLL failed to lock
322 #define SX126X_XOSC_START_ERR 0b000100000 // 5 5 crystal oscillator failed to start
323 #define SX126X_IMG_CALIB_ERR 0b000010000 // 4 4 image calibration failed
324 #define SX126X_ADC_CALIB_ERR 0b000001000 // 3 3 ADC calibration failed
325 #define SX126X_PLL_CALIB_ERR 0b000000100 // 2 2 PLL calibration failed
326 #define SX126X_RC13M_CALIB_ERR 0b000000010 // 1 1 RC13M calibration failed
327 #define SX126X_RC64K_CALIB_ERR 0b000000001 // 0 0 RC64K calibration failed
328 
329 
330 // SX126X SPI register variables
331 //SX126X_REG_LORA_SYNC_WORD_MSB + LSB
332 #define SX126X_SYNC_WORD_PUBLIC 0x34 // actually 0x3444 NOTE: The low nibbles in each byte (0x_4_4) are masked out since apparently, they're reserved.
333 #define SX126X_SYNC_WORD_PRIVATE 0x12 // actually 0x1424 You couldn't make this up if you tried.
334 
335 
342 class SX126x: public PhysicalLayer {
343  public:
344  // introduce PhysicalLayer overloads
349 
355  SX126x(Module* mod);
356 
357  // basic methods
358 
378  int16_t begin(float bw, uint8_t sf, uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO = false);
379 
397  int16_t beginFSK(float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO = false);
398 
407  int16_t reset(bool verify = true);
408 
421  int16_t transmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
422 
433  int16_t receive(uint8_t* data, size_t len) override;
434 
442  int16_t transmitDirect(uint32_t frf = 0) override;
443 
450  int16_t receiveDirect() override;
451 
457  int16_t scanChannel();
458 
466  int16_t sleep(bool retainConfig = true);
467 
473  int16_t standby() override;
474 
482  int16_t standby(uint8_t mode);
483 
484  // interrupt methods
485 
491  void setDio1Action(void (*func)(void));
492 
496  void clearDio1Action();
497 
510  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
511 
519  int16_t startReceive(uint32_t timeout = SX126X_RX_TIMEOUT_INF);
520 
531  int16_t startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod);
532 
544  int16_t startReceiveDutyCycleAuto(uint16_t senderPreambleLength = 0, uint16_t minSymbols = 8);
545 
555  int16_t readData(uint8_t* data, size_t len) override;
556 
557  // configuration methods
558 
566  int16_t setBandwidth(float bw);
567 
575  int16_t setSpreadingFactor(uint8_t sf);
576 
584  int16_t setCodingRate(uint8_t cr);
585 
595  int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits = 0x44);
596 
604  int16_t setCurrentLimit(float currentLimit);
605 
611  float getCurrentLimit();
612 
620  int16_t setPreambleLength(uint16_t preambleLength);
621 
629  int16_t setFrequencyDeviation(float freqDev) override;
630 
638  int16_t setBitRate(float br);
639 
647  int16_t setRxBandwidth(float rxBw);
648 
658  int16_t setDataShaping(uint8_t sh) override;
659 
669  int16_t setSyncWord(uint8_t* syncWord, uint8_t len);
670 
680  int16_t setSyncBits(uint8_t *syncWord, uint8_t bitsLen);
681 
689  int16_t setNodeAddress(uint8_t nodeAddr);
690 
698  int16_t setBroadcastAddress(uint8_t broadAddr);
699 
705  int16_t disableAddressFiltering();
706 
720  int16_t setCRC(uint8_t len, uint16_t initial = 0x1D0F, uint16_t polynomial = 0x1021, bool inverted = true);
721 
731  int16_t setWhitening(bool enabled, uint16_t initial = 0x0100);
732 
740  int16_t setTCXO(float voltage, uint32_t delay = 5000);
741 
747  int16_t setDio2AsRfSwitch(bool enable = true);
748 
754  float getDataRate() const;
755 
761  float getRSSI();
762 
768  float getSNR();
769 
777  size_t getPacketLength(bool update = true) override;
778 
786  int16_t fixedPacketLengthMode(uint8_t len = SX126X_MAX_PACKET_LENGTH);
787 
795  int16_t variablePacketLengthMode(uint8_t maxLen = SX126X_MAX_PACKET_LENGTH);
796 
804  uint32_t getTimeOnAir(size_t len);
805 
811  int16_t implicitHeader(size_t len);
812 
820  int16_t explicitHeader();
821 
827  int16_t setRegulatorLDO();
828 
834  int16_t setRegulatorDCDC();
835 
843  int16_t setEncoding(uint8_t encoding) override;
844 
853  void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);
854 
863  int16_t forceLDRO(bool enable);
864 
871  int16_t autoLDRO();
872 
873 #ifndef RADIOLIB_GODMODE
874  protected:
875 #endif
876  // SX126x SPI command implementations
877  int16_t setTx(uint32_t timeout = 0);
878  int16_t setRx(uint32_t timeout);
879  int16_t setCad();
880  int16_t setPaConfig(uint8_t paDutyCycle, uint8_t deviceSel, uint8_t hpMax = SX126X_PA_CONFIG_HP_MAX, uint8_t paLut = SX126X_PA_CONFIG_PA_LUT);
881  int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
882  int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
883  int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
884  int16_t readBuffer(uint8_t* data, uint8_t numBytes);
885  int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = SX126X_IRQ_NONE, uint16_t dio3Mask = SX126X_IRQ_NONE);
886  uint16_t getIrqStatus();
887  int16_t clearIrqStatus(uint16_t clearIrqParams = SX126X_IRQ_ALL);
888  int16_t setRfFrequency(uint32_t frf);
889  int16_t calibrateImage(uint8_t* data);
890  uint8_t getPacketType();
891  int16_t setTxParams(uint8_t power, uint8_t rampTime = SX126X_PA_RAMP_200U);
892  int16_t setModulationParams(uint8_t sf, uint8_t bw, uint8_t cr, uint8_t ldro);
893  int16_t setModulationParamsFSK(uint32_t br, uint8_t pulseShape, uint8_t rxBw, uint32_t freqDev);
894  int16_t setPacketParams(uint16_t preambleLength, uint8_t crcType, uint8_t payloadLength, uint8_t headerType, uint8_t invertIQ = SX126X_LORA_IQ_STANDARD);
895  int16_t setPacketParamsFSK(uint16_t preambleLength, uint8_t crcType, uint8_t syncWordLength, uint8_t addrComp, uint8_t whitening, uint8_t packetType = SX126X_GFSK_PACKET_VARIABLE, uint8_t payloadLength = 0xFF, uint8_t preambleDetectorLength = SX126X_GFSK_PREAMBLE_DETECT_16);
896  int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);
897  int16_t setRegulatorMode(uint8_t mode);
898  uint8_t getStatus();
899  uint32_t getPacketStatus();
900  uint16_t getDeviceErrors();
901  int16_t clearDeviceErrors();
902 
903  int16_t startReceiveCommon();
904  int16_t setFrequencyRaw(float freq);
905  int16_t setPacketMode(uint8_t mode, uint8_t len);
906  int16_t setHeaderType(uint8_t headerType, size_t len = 0xFF);
907 
908  // fixes to errata
909  int16_t fixSensitivity();
910  int16_t fixPaClamping();
911  int16_t fixImplicitTimeout();
912  int16_t fixInvertedIQ(uint8_t iqConfig);
913 
914 #ifndef RADIOLIB_GODMODE
915  private:
916 #endif
917  Module* _mod;
918 
919  uint8_t _bw = 0, _sf = 0, _cr = 0, _ldro = 0, _crcType = 0, _headerType = 0;
920  uint16_t _preambleLength = 0;
921  float _bwKhz = 0;
922  bool _ldroAuto = true;
923 
924  uint32_t _br = 0, _freqDev = 0;
925  uint8_t _rxBw = 0, _pulseShape = 0, _crcTypeFSK = 0, _syncWordLength = 0, _addrComp = 0, _whitening = 0, _packetType = 0;
926  uint16_t _preambleLengthFSK = 0;
927  float _rxBwKhz = 0;
928 
929  float _dataRate = 0;
930 
931  uint32_t _tcxoDelay = 0;
932 
933  size_t _implicitLen = 0;
934 
935  int16_t config(uint8_t modem);
936 
937  // common low-level SPI interface
938  int16_t SPIwriteCommand(uint8_t cmd, uint8_t* data, uint8_t numBytes, bool waitForBusy = true);
939  int16_t SPIwriteCommand(uint8_t* cmd, uint8_t cmdLen, uint8_t* data, uint8_t numBytes, bool waitForBusy = true);
940  int16_t SPIreadCommand(uint8_t cmd, uint8_t* data, uint8_t numBytes, bool waitForBusy = true);
941  int16_t SPIreadCommand(uint8_t* cmd, uint8_t cmdLen, uint8_t* data, uint8_t numBytes, bool waitForBusy = true);
942  int16_t SPItransfer(uint8_t* cmd, uint8_t cmdLen, bool write, uint8_t* dataOut, uint8_t* dataIn, uint8_t numBytes, bool waitForBusy, uint32_t timeout = 5000);
943 };
944 
945 #endif
946 
947 #endif
void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
Some modules contain external RF switch controlled by two pins. This function gives RadioLib control ...
Definition: SX126x.cpp:1151
+
int16_t setBroadcastAddress(uint8_t broadAddr)
Sets broadcast address. Calling this method will also enable address filtering for node and broadcast...
Definition: SX126x.cpp:930
+
int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)
Sets LoRa sync word.
Definition: SX126x.cpp:682
+
float getCurrentLimit()
Reads current protection limit.
Definition: SX126x.cpp:706
+
int16_t startTransmit(String &str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes.
Definition: PhysicalLayer.cpp:49
+
int16_t startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod)
Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen...
Definition: SX126x.cpp:486
+
SX126x(Module *mod)
Default constructor.
Definition: SX126x.cpp:4
+
int16_t setSyncBits(uint8_t *syncWord, uint8_t bitsLen)
Sets FSK sync word in the form of array of up to 8 bytes.
Definition: SX126x.cpp:886
+
int16_t readData(uint8_t *data, size_t len) override
Reads data received after calling startReceive method.
Definition: SX126x.cpp:574
+
int16_t setDio2AsRfSwitch(bool enable=true)
Set DIO2 to function as RF switch (default in Semtech example designs).
Definition: SX126x.cpp:1219
+
int16_t setDataShaping(uint8_t sh) override
Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPI...
Definition: SX126x.cpp:833
+
int16_t explicitHeader()
Set explicit header mode for future reception/transmission.
Definition: SX126x.cpp:1135
+
int16_t setBitRate(float br)
Sets FSK bit rate. Allowed values range from 0.6 to 300.0 kbps.
Definition: SX126x.cpp:749
+
int16_t startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8)
Calls startReceiveDutyCycle with rxPeriod and sleepPeriod set so the unit shouldn&#39;t miss any messages...
Definition: SX126x.cpp:513
+
int16_t standby() override
Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator)...
Definition: SX126x.cpp:392
+
int16_t scanChannel()
Performs scan for LoRa transmission in the current channel. Detects both preamble and payload...
Definition: SX126x.cpp:331
+
int16_t variablePacketLengthMode(uint8_t maxLen=SX126X_MAX_PACKET_LENGTH)
Set modem in variable packet length mode. Available in FSK mode only.
Definition: SX126x.cpp:1092
+
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX126x.cpp:408
+
int16_t startTransmit(uint8_t *data, size_t len, uint8_t addr=0) override
Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in ...
Definition: SX126x.cpp:412
+
int16_t reset(bool verify=true)
Reset method. Will reset the chip to the default state using RST pin.
Definition: SX126x.cpp:158
+
int16_t beginFSK(float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)
Initialization method for FSK modem.
Definition: SX126x.cpp:78
+
int16_t begin(float bw, uint8_t sf, uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)
Initialization method for LoRa modem.
Definition: SX126x.cpp:8
+
Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:342
+
int16_t setWhitening(bool enabled, uint16_t initial=0x0100)
Sets FSK whitening parameters.
Definition: SX126x.cpp:1017
+
int16_t startReceive(uint32_t timeout=SX126X_RX_TIMEOUT_INF)
Interrupt-driven receive method. DIO1 will be activated when full packet is received.
Definition: SX126x.cpp:473
+
int16_t transmit(uint8_t *data, size_t len, uint8_t addr=0) override
Blocking binary transmit method. Overloads for string-based transmissions are implemented in Physical...
Definition: SX126x.cpp:191
+
float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: SX126x.cpp:1058
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)
Arduino Flash String transmit method.
Definition: PhysicalLayer.cpp:8
+
float getSNR()
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem...
Definition: SX126x.cpp:1065
+
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation. Allowed values range from 0.0 to 200.0 kHz.
Definition: SX126x.cpp:728
+
int16_t setCurrentLimit(float currentLimit)
Sets current protection limit. Can be set in 0.25 mA steps.
Definition: SX126x.cpp:693
+
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:98
+
int16_t setRxBandwidth(float rxBw)
Sets FSK receiver bandwidth. Allowed values are 4.8, 5.8, 7.3, 9.7, 11.7, 14.6, 19.5, 23.4, 29.3, 39.0, 46.9, 58.6, 78.2, 93.8, 117.3, 156.2, 187.2, 234.3, 312.0, 373.6 and 467.0 kHz.
Definition: SX126x.cpp:770
+
void setDio1Action(void(*func)(void))
Sets interrupt service routine to call when DIO1 activates.
Definition: SX126x.cpp:404
+
int16_t autoLDRO()
Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method...
Definition: SX126x.cpp:1167
+
int16_t setCodingRate(uint8_t cr)
Sets LoRa coding rate denominator. Allowed values range from 5 to 8.
Definition: SX126x.cpp:669
+
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Available in FSK mode only. Serves only as alias for PhysicalLayer compat...
Definition: SX126x.cpp:1147
+
float getDataRate() const
Gets effective data rate for the last transmitted packet. The value is calculated only for payload by...
Definition: SX126x.cpp:1054
+
int16_t transmitDirect(uint32_t frf=0) override
Starts direct mode transmission.
Definition: SX126x.cpp:307
+
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
+
uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX126x.cpp:1096
+
int16_t setBandwidth(float bw)
Sets LoRa bandwidth. Allowed values are 7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125...
Definition: SX126x.cpp:605
+
int16_t fixedPacketLengthMode(uint8_t len=SX126X_MAX_PACKET_LENGTH)
Set modem in fixed packet length mode. Available in FSK mode only.
Definition: SX126x.cpp:1088
+
int16_t setRegulatorDCDC()
Set regulator mode to DC-DC.
Definition: SX126x.cpp:1143
+
int16_t setNodeAddress(uint8_t nodeAddr)
Sets node address. Calling this method will also enable address filtering for node address only...
Definition: SX126x.cpp:913
+
int16_t receiveDirect() override
Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX126x series does...
Definition: SX126x.cpp:323
+
int16_t setRegulatorLDO()
Set regulator mode to LDO.
Definition: SX126x.cpp:1139
+
int16_t setCRC(uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)
Sets CRC configuration.
Definition: SX126x.cpp:958
+
int16_t setPreambleLength(uint16_t preambleLength)
Sets preamble length for LoRa or FSK modem. Allowed values range from 1 to 65535. ...
Definition: SX126x.cpp:715
+
int16_t implicitHeader(size_t len)
Set implicit header mode for future reception/transmission.
Definition: SX126x.cpp:1131
+
int16_t sleep(bool retainConfig=true)
Sets the module to sleep mode.
Definition: SX126x.cpp:376
+
int16_t disableAddressFiltering()
Disables address filtering. Calling this method will also erase previously set addresses.
Definition: SX126x.cpp:947
+
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa spreading factor. Allowed values range from 5 to 12.
Definition: SX126x.cpp:656
+
int16_t setTCXO(float voltage, uint32_t delay=5000)
Sets TCXO (Temperature Compensated Crystal Oscillator) configuration.
Definition: SX126x.cpp:1176
+
int16_t receive(uint8_t *data, size_t len) override
Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalL...
Definition: SX126x.cpp:250
+
int16_t forceLDRO(bool enable)
Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method...
Definition: SX126x.cpp:1155
+
int16_t readData(String &str, size_t len=0)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:57
+
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX126x.cpp:1081
+
+
+ + + + diff --git a/_s_x1272_8h_source.html b/_s_x1272_8h_source.html new file mode 100644 index 00000000..c3b69d62 --- /dev/null +++ b/_s_x1272_8h_source.html @@ -0,0 +1,142 @@ + + + + + + +RadioLib: src/modules/SX127x/SX1272.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1272.h
+
+
+
1 #if !defined(_RADIOLIB_SX1272_H)
2 #define _RADIOLIB_SX1272_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX127X)
7 
8 #include "../../Module.h"
9 #include "SX127x.h"
10 
11 // SX1272 specific register map
12 #define SX1272_REG_AGC_REF 0x43
13 #define SX1272_REG_AGC_THRESH_1 0x44
14 #define SX1272_REG_AGC_THRESH_2 0x45
15 #define SX1272_REG_AGC_THRESH_3 0x46
16 #define SX1272_REG_PLL_HOP 0x4B
17 #define SX1272_REG_TCXO 0x58
18 #define SX1272_REG_PA_DAC 0x5A
19 #define SX1272_REG_PLL 0x5C
20 #define SX1272_REG_PLL_LOW_PN 0x5E
21 #define SX1272_REG_FORMER_TEMP 0x6C
22 #define SX1272_REG_BIT_RATE_FRAC 0x70
23 
24 // SX1272 LoRa modem settings
25 // SX1272_REG_FRF_MSB + REG_FRF_MID + REG_FRF_LSB
26 #define SX1272_FRF_MSB 0xE4 // 7 0 carrier frequency setting: f_RF = (F(XOSC) * FRF)/2^19
27 #define SX1272_FRF_MID 0xC0 // 7 0 where F(XOSC) = 32 MHz
28 #define SX1272_FRF_LSB 0x00 // 7 0 FRF = 3 byte value of FRF registers
29 
30 // SX1272_REG_MODEM_CONFIG_1
31 #define SX1272_BW_125_00_KHZ 0b00000000 // 7 6 bandwidth: 125 kHz
32 #define SX1272_BW_250_00_KHZ 0b01000000 // 7 6 250 kHz
33 #define SX1272_BW_500_00_KHZ 0b10000000 // 7 6 500 kHz
34 #define SX1272_CR_4_5 0b00001000 // 5 3 error coding rate: 4/5
35 #define SX1272_CR_4_6 0b00010000 // 5 3 4/6
36 #define SX1272_CR_4_7 0b00011000 // 5 3 4/7
37 #define SX1272_CR_4_8 0b00100000 // 5 3 4/8
38 #define SX1272_HEADER_EXPL_MODE 0b00000000 // 2 2 explicit header mode
39 #define SX1272_HEADER_IMPL_MODE 0b00000100 // 2 2 implicit header mode
40 #define SX1272_RX_CRC_MODE_OFF 0b00000000 // 1 1 CRC disabled
41 #define SX1272_RX_CRC_MODE_ON 0b00000010 // 1 1 CRC enabled
42 #define SX1272_LOW_DATA_RATE_OPT_OFF 0b00000000 // 0 0 low data rate optimization disabled
43 #define SX1272_LOW_DATA_RATE_OPT_ON 0b00000001 // 0 0 low data rate optimization enabled, mandatory for SF 11 and 12 with BW 125 kHz
44 
45 // SX1272_REG_MODEM_CONFIG_2
46 #define SX1272_AGC_AUTO_OFF 0b00000000 // 2 2 LNA gain set by REG_LNA
47 #define SX1272_AGC_AUTO_ON 0b00000100 // 2 2 LNA gain set by internal AGC loop
48 
49 // SX127X_REG_VERSION
50 #define SX1272_CHIP_VERSION 0x22
51 
52 // SX1272 FSK modem settings
53 // SX127X_REG_OP_MODE
54 #define SX1272_NO_SHAPING 0b00000000 // 4 3 data shaping: no shaping (default)
55 #define SX1272_FSK_GAUSSIAN_1_0 0b00001000 // 4 3 FSK modulation Gaussian filter, BT = 1.0
56 #define SX1272_FSK_GAUSSIAN_0_5 0b00010000 // 4 3 FSK modulation Gaussian filter, BT = 0.5
57 #define SX1272_FSK_GAUSSIAN_0_3 0b00011000 // 4 3 FSK modulation Gaussian filter, BT = 0.3
58 #define SX1272_OOK_FILTER_BR 0b00001000 // 4 3 OOK modulation filter, f_cutoff = BR
59 #define SX1272_OOK_FILTER_2BR 0b00010000 // 4 3 OOK modulation filter, f_cutoff = 2*BR
60 
61 // SX127X_REG_PA_RAMP
62 #define SX1272_LOW_PN_TX_PLL_OFF 0b00010000 // 4 4 use standard PLL in transmit mode (default)
63 #define SX1272_LOW_PN_TX_PLL_ON 0b00000000 // 4 4 use lower phase noise PLL in transmit mode
64 
65 // SX127X_REG_SYNC_CONFIG
66 #define SX1272_FIFO_FILL_CONDITION_SYNC_ADDRESS 0b00000000 // 3 3 FIFO will be filled when sync address interrupt occurs (default)
67 #define SX1272_FIFO_FILL_CONDITION_ALWAYS 0b00001000 // 3 3 FIFO will be filled as long as this bit is set
68 
69 // SX1272_REG_AGC_REF
70 #define SX1272_AGC_REFERENCE_LEVEL 0x13 // 5 0 floor reference for AGC thresholds: AgcRef = -174 + 10*log(2*RxBw) + 8 + AGC_REFERENCE_LEVEL [dBm]
71 
72 // SX1272_REG_AGC_THRESH_1
73 #define SX1272_AGC_STEP_1 0x0E // 4 0 1st AGC threshold
74 
75 // SX1272_REG_AGC_THRESH_2
76 #define SX1272_AGC_STEP_2 0x50 // 7 4 2nd AGC threshold
77 #define SX1272_AGC_STEP_3 0x0B // 4 0 3rd AGC threshold
78 
79 // SX1272_REG_AGC_THRESH_3
80 #define SX1272_AGC_STEP_4 0xD0 // 7 4 4th AGC threshold
81 #define SX1272_AGC_STEP_5 0x0B // 4 0 5th AGC threshold
82 
83 // SX1272_REG_PLL_LOW_PN
84 #define SX1272_PLL_LOW_PN_BANDWIDTH_75_KHZ 0b00000000 // 7 6 low phase noise PLL bandwidth: 75 kHz
85 #define SX1272_PLL_LOW_PN_BANDWIDTH_150_KHZ 0b01000000 // 7 6 150 kHz
86 #define SX1272_PLL_LOW_PN_BANDWIDTH_225_KHZ 0b10000000 // 7 6 225 kHz
87 #define SX1272_PLL_LOW_PN_BANDWIDTH_300_KHZ 0b11000000 // 7 6 300 kHz (default)
88 
95 class SX1272: public SX127x {
96  public:
97 
98  // constructor
99 
105  SX1272(Module* mod);
106 
107  // basic methods
108 
133  int16_t begin(float freq = 915.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
134 
155  int16_t beginFSK(float freq = 915.0, float br = 48.0, float rxBw = 125.0, float freqDev = 50.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
156 
160  void reset() override;
161 
162  // configuration methods
163 
171  int16_t setFrequency(float freq);
172 
180  int16_t setBandwidth(float bw);
181 
189  int16_t setSpreadingFactor(uint8_t sf);
190 
198  int16_t setCodingRate(uint8_t cr);
199 
207  int16_t setOutputPower(int8_t power);
208 
217  int16_t setGain(uint8_t gain);
218 
227  int16_t setDataShaping(uint8_t sh) override;
228 
238  int16_t setDataShapingOOK(uint8_t sh);
239 
245  float getRSSI();
246 
254  int16_t setCRC(bool enableCRC);
255 
264  int16_t forceLDRO(bool enable);
265 
272  int16_t autoLDRO();
273 
274 #ifndef RADIOLIB_GODMODE
275  protected:
276 #endif
277  int16_t setBandwidthRaw(uint8_t newBandwidth);
278  int16_t setSpreadingFactorRaw(uint8_t newSpreadingFactor);
279  int16_t setCodingRateRaw(uint8_t newCodingRate);
280 
281  int16_t configFSK();
282 
283 #ifndef RADIOLIB_GODMODE
284  private:
285 #endif
286  bool _ldroAuto = true;
287  bool _ldroEnabled = false;
288 
289 };
290 
291 #endif
292 
293 #endif
Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic...
Definition: SX1272.h:95
+
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 860.0 MHz to 1020.0 MHz.
Definition: SX1272.cpp:74
+
Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from thi...
Definition: SX127x.h:536
+
int16_t autoLDRO()
Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method...
Definition: SX1272.cpp:392
+
int16_t setGain(uint8_t gain)
Sets gain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is...
Definition: SX1272.cpp:244
+
int16_t begin(float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: SX1272.cpp:8
+
int16_t setDataShapingOOK(uint8_t sh)
Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency e...
Definition: SX1272.cpp:299
+
int16_t setBandwidth(float bw)
Sets LoRa link bandwidth. Allowed values are 125, 250 and 500 kHz. Only available in LoRa mode...
Definition: SX1272.cpp:85
+
int16_t beginFSK(float freq=915.0, float br=48.0, float rxBw=125.0, float freqDev=50.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the m...
Definition: SX1272.cpp:44
+
float getRSSI()
Gets recorded signal strength indicator of the latest received packet for LoRa modem, or current RSSI level for FSK modem.
Definition: SX1272.cpp:332
+
int16_t setOutputPower(int8_t power)
Sets transmission output power. Allowed values range from 2 to 17 dBm.
Definition: SX1272.cpp:215
+
SX1272(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: SX1272.cpp:4
+
int16_t setCRC(bool enableCRC)
Enables/disables CRC check of received packets.
Definition: SX1272.cpp:361
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t setCodingRate(uint8_t cr)
Sets LoRa link coding rate denominator. Allowed values range from 5 to 8. Only available in LoRa mode...
Definition: SX1272.cpp:181
+
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode...
Definition: SX1272.cpp:125
+
int16_t setDataShaping(uint8_t sh) override
Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK...
Definition: SX1272.cpp:269
+
int16_t forceLDRO(bool enable)
Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method...
Definition: SX1272.cpp:379
+
void reset() override
Reset method. Will reset the chip to the default state using RST pin.
Definition: SX1272.cpp:66
+
+
+ + + + diff --git a/_s_x1273_8h_source.html b/_s_x1273_8h_source.html new file mode 100644 index 00000000..2180ae1d --- /dev/null +++ b/_s_x1273_8h_source.html @@ -0,0 +1,129 @@ + + + + + + +RadioLib: src/modules/SX127x/SX1273.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1273.h
+
+
+
1 #if !defined(_RADIOLIB_SX1273_H)
2 #define _RADIOLIB_SX1273_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX127X)
7 
8 #include "SX1272.h"
9 
15 class SX1273: public SX1272 {
16  public:
17 
18  // constructor
19 
25  SX1273(Module* mod);
26 
27  // basic methods
28 
52  int16_t begin(float freq = 915.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
53 
54  // configuration methods
55 
63  int16_t setSpreadingFactor(uint8_t sf);
64 
65 #ifndef RADIOLIB_GODMODE
66  private:
67 #endif
68 
69 };
70 
71 #endif
72 
73 #endif
Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic...
Definition: SX1272.h:95
+
Derived class for SX1273 modules. Overrides some methods from SX1272 due to different parameter range...
Definition: SX1273.h:15
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t begin(float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: SX1273.cpp:8
+
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa link spreading factor. Allowed values range from 6 to 9. Only available in LoRa mode...
Definition: SX1273.cpp:44
+
SX1273(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: SX1273.cpp:4
+
+
+ + + + diff --git a/_s_x1276_8h_source.html b/_s_x1276_8h_source.html new file mode 100644 index 00000000..e598a3f3 --- /dev/null +++ b/_s_x1276_8h_source.html @@ -0,0 +1,130 @@ + + + + + + +RadioLib: src/modules/SX127x/SX1276.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1276.h
+
+
+
1 #if !defined(_RADIOLIB_SX1276_H)
2 #define _RADIOLIB_SX1276_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX127X)
7 
8 #include "SX1278.h"
9 
15 class SX1276: public SX1278 {
16  public:
17 
18  // constructor
19 
25  SX1276(Module* mod);
26 
27  // basic methods
28 
52  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
53 
74  int16_t beginFSK(float freq = 434.0, float br = 48.0, float freqDev = 50.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
75 
76  // configuration methods
77 
85  int16_t setFrequency(float freq);
86 
87 #ifndef RADIOLIB_GODMODE
88  private:
89 #endif
90 
91 };
92 
93 #endif
94 
95 #endif
Derived class for SX1276 modules. Overrides some methods from SX1278 due to different parameter range...
Definition: SX1276.h:15
+
SX1276(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: SX1276.cpp:4
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: SX1276.cpp:8
+
int16_t beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the m...
Definition: SX1276.cpp:39
+
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 137.0 MHz to 1020.0 MHz.
Definition: SX1276.cpp:61
+
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names).
Definition: SX1278.h:104
+
+
+ + + + diff --git a/_s_x1277_8h_source.html b/_s_x1277_8h_source.html new file mode 100644 index 00000000..f9b6acb4 --- /dev/null +++ b/_s_x1277_8h_source.html @@ -0,0 +1,131 @@ + + + + + + +RadioLib: src/modules/SX127x/SX1277.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1277.h
+
+
+
1 #if !defined(_RADIOLIB_SX1277_H)
2 #define _RADIOLIB_SX1277_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX127X)
7 
8 #include "SX1278.h"
9 
15 class SX1277: public SX1278 {
16  public:
17 
18  // constructor
19 
25  SX1277(Module* mod);
26 
27  // basic methods
28 
52  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
53 
74  int16_t beginFSK(float freq = 434.0, float br = 48.0, float freqDev = 50.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
75 
76  // configuration methods
77 
85  int16_t setFrequency(float freq);
86 
94  int16_t setSpreadingFactor(uint8_t sf);
95 
96 #ifndef RADIOLIB_GODMODE
97  private:
98 #endif
99 
100 };
101 
102 #endif
103 
104 #endif
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 137.0 MHz to 1020.0 MHz.
Definition: SX1277.cpp:61
+
int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: SX1277.cpp:8
+
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa link spreading factor. Allowed values range from 6 to 9. Only available in LoRa mode...
Definition: SX1277.cpp:131
+
int16_t beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the m...
Definition: SX1277.cpp:39
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
Derived class for SX1277 modules. Overrides some methods from SX1278 due to different parameter range...
Definition: SX1277.h:15
+
SX1277(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: SX1277.cpp:4
+
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names).
Definition: SX1278.h:104
+
+
+ + + + diff --git a/_s_x1278_8h_source.html b/_s_x1278_8h_source.html new file mode 100644 index 00000000..418a9977 --- /dev/null +++ b/_s_x1278_8h_source.html @@ -0,0 +1,142 @@ + + + + + + +RadioLib: src/modules/SX127x/SX1278.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1278.h
+
+
+
1 #if !defined(_RADIOLIB_SX1278_H)
2 #define _RADIOLIB_SX1278_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX127X)
7 
8 #include "../../Module.h"
9 #include "SX127x.h"
10 
11 // SX1278 specific register map
12 #define SX1278_REG_MODEM_CONFIG_3 0x26
13 #define SX1278_REG_PLL_HOP 0x44
14 #define SX1278_REG_TCXO 0x4B
15 #define SX1278_REG_PA_DAC 0x4D
16 #define SX1278_REG_FORMER_TEMP 0x5B
17 #define SX1278_REG_REG_BIT_RATE_FRAC 0x5D
18 #define SX1278_REG_AGC_REF 0x61
19 #define SX1278_REG_AGC_THRESH_1 0x62
20 #define SX1278_REG_AGC_THRESH_2 0x63
21 #define SX1278_REG_AGC_THRESH_3 0x64
22 #define SX1278_REG_PLL 0x70
23 
24 // SX1278 LoRa modem settings
25 // SX1278_REG_OP_MODE MSB LSB DESCRIPTION
26 #define SX1278_HIGH_FREQ 0b00000000 // 3 3 access HF test registers
27 #define SX1278_LOW_FREQ 0b00001000 // 3 3 access LF test registers
28 
29 // SX1278_REG_FRF_MSB + REG_FRF_MID + REG_FRF_LSB
30 #define SX1278_FRF_MSB 0x6C // 7 0 carrier frequency setting: f_RF = (F(XOSC) * FRF)/2^19
31 #define SX1278_FRF_MID 0x80 // 7 0 where F(XOSC) = 32 MHz
32 #define SX1278_FRF_LSB 0x00 // 7 0 FRF = 3 byte value of FRF registers
33 
34 // SX1278_REG_PA_CONFIG
35 #define SX1278_MAX_POWER 0b01110000 // 6 4 max power: P_max = 10.8 + 0.6*MAX_POWER [dBm]; P_max(MAX_POWER = 0b111) = 15 dBm
36 #define SX1278_LOW_POWER 0b00100000 // 6 4
37 
38 // SX1278_REG_LNA
39 #define SX1278_LNA_BOOST_LF_OFF 0b00000000 // 4 3 default LNA current
40 
41 // SX1278_REG_MODEM_CONFIG_1
42 #define SX1278_BW_7_80_KHZ 0b00000000 // 7 4 bandwidth: 7.80 kHz
43 #define SX1278_BW_10_40_KHZ 0b00010000 // 7 4 10.40 kHz
44 #define SX1278_BW_15_60_KHZ 0b00100000 // 7 4 15.60 kHz
45 #define SX1278_BW_20_80_KHZ 0b00110000 // 7 4 20.80 kHz
46 #define SX1278_BW_31_25_KHZ 0b01000000 // 7 4 31.25 kHz
47 #define SX1278_BW_41_70_KHZ 0b01010000 // 7 4 41.70 kHz
48 #define SX1278_BW_62_50_KHZ 0b01100000 // 7 4 62.50 kHz
49 #define SX1278_BW_125_00_KHZ 0b01110000 // 7 4 125.00 kHz
50 #define SX1278_BW_250_00_KHZ 0b10000000 // 7 4 250.00 kHz
51 #define SX1278_BW_500_00_KHZ 0b10010000 // 7 4 500.00 kHz
52 #define SX1278_CR_4_5 0b00000010 // 3 1 error coding rate: 4/5
53 #define SX1278_CR_4_6 0b00000100 // 3 1 4/6
54 #define SX1278_CR_4_7 0b00000110 // 3 1 4/7
55 #define SX1278_CR_4_8 0b00001000 // 3 1 4/8
56 #define SX1278_HEADER_EXPL_MODE 0b00000000 // 0 0 explicit header mode
57 #define SX1278_HEADER_IMPL_MODE 0b00000001 // 0 0 implicit header mode
58 
59 // SX1278_REG_MODEM_CONFIG_2
60 #define SX1278_RX_CRC_MODE_OFF 0b00000000 // 2 2 CRC disabled
61 #define SX1278_RX_CRC_MODE_ON 0b00000100 // 2 2 CRC enabled
62 
63 // SX1278_REG_MODEM_CONFIG_3
64 #define SX1278_LOW_DATA_RATE_OPT_OFF 0b00000000 // 3 3 low data rate optimization disabled
65 #define SX1278_LOW_DATA_RATE_OPT_ON 0b00001000 // 3 3 low data rate optimization enabled
66 #define SX1278_AGC_AUTO_OFF 0b00000000 // 2 2 LNA gain set by REG_LNA
67 #define SX1278_AGC_AUTO_ON 0b00000100 // 2 2 LNA gain set by internal AGC loop
68 
69 // SX127X_REG_VERSION
70 #define SX1278_CHIP_VERSION 0x12
71 
72 // SX1278 FSK modem settings
73 // SX127X_REG_PA_RAMP
74 #define SX1278_NO_SHAPING 0b00000000 // 6 5 data shaping: no shaping (default)
75 #define SX1278_FSK_GAUSSIAN_1_0 0b00100000 // 6 5 FSK modulation Gaussian filter, BT = 1.0
76 #define SX1278_FSK_GAUSSIAN_0_5 0b01000000 // 6 5 FSK modulation Gaussian filter, BT = 0.5
77 #define SX1278_FSK_GAUSSIAN_0_3 0b01100000 // 6 5 FSK modulation Gaussian filter, BT = 0.3
78 #define SX1278_OOK_FILTER_BR 0b00100000 // 6 5 OOK modulation filter, f_cutoff = BR
79 #define SX1278_OOK_FILTER_2BR 0b01000000 // 6 5 OOK modulation filter, f_cutoff = 2*BR
80 
81 // SX1278_REG_AGC_REF
82 #define SX1278_AGC_REFERENCE_LEVEL_LF 0x19 // 5 0 floor reference for AGC thresholds: AgcRef = -174 + 10*log(2*RxBw) + 8 + AGC_REFERENCE_LEVEL [dBm]: below 525 MHz
83 #define SX1278_AGC_REFERENCE_LEVEL_HF 0x1C // 5 0 above 779 MHz
84 
85 // SX1278_REG_AGC_THRESH_1
86 #define SX1278_AGC_STEP_1_LF 0x0C // 4 0 1st AGC threshold: below 525 MHz
87 #define SX1278_AGC_STEP_1_HF 0x0E // 4 0 above 779 MHz
88 
89 // SX1278_REG_AGC_THRESH_2
90 #define SX1278_AGC_STEP_2_LF 0x40 // 7 4 2nd AGC threshold: below 525 MHz
91 #define SX1278_AGC_STEP_2_HF 0x50 // 7 4 above 779 MHz
92 #define SX1278_AGC_STEP_3 0x0B // 3 0 3rd AGC threshold
93 
94 // SX1278_REG_AGC_THRESH_3
95 #define SX1278_AGC_STEP_4 0xC0 // 7 4 4th AGC threshold
96 #define SX1278_AGC_STEP_5 0x0C // 4 0 5th AGC threshold
97 
104 class SX1278: public SX127x {
105  public:
106 
107  // constructor
108 
114  SX1278(Module* mod);
115 
116  // basic methods
117 
141  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
142 
163  int16_t beginFSK(float freq = 434.0, float br = 48.0, float freqDev = 50.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
164 
168  void reset() override;
169 
170  // configuration methods
171 
179  int16_t setFrequency(float freq);
180 
188  int16_t setBandwidth(float bw);
189 
197  int16_t setSpreadingFactor(uint8_t sf);
198 
206  int16_t setCodingRate(uint8_t cr);
207 
215  int16_t setOutputPower(int8_t power);
216 
225  int16_t setGain(uint8_t gain);
226 
235  int16_t setDataShaping(uint8_t sh) override;
236 
246  int16_t setDataShapingOOK(uint8_t sh);
247 
253  float getRSSI();
254 
262  int16_t setCRC(bool enableCRC);
263 
272  int16_t forceLDRO(bool enable);
273 
280  int16_t autoLDRO();
281 
282 #ifndef RADIOLIB_GODMODE
283  protected:
284 #endif
285  int16_t setBandwidthRaw(uint8_t newBandwidth);
286  int16_t setSpreadingFactorRaw(uint8_t newSpreadingFactor);
287  int16_t setCodingRateRaw(uint8_t newCodingRate);
288 
289  int16_t configFSK();
290 
291 #ifndef RADIOLIB_GODMODE
292  private:
293 #endif
294  bool _ldroAuto = true;
295  bool _ldroEnabled = false;
296 
297 };
298 
299 #endif
300 
301 #endif
Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from thi...
Definition: SX127x.h:536
+
int16_t setDataShaping(uint8_t sh) override
Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK...
Definition: SX1278.cpp:341
+
float getRSSI()
Gets recorded signal strength indicator of the latest received packet for LoRa modem, or current RSSI level for FSK modem.
Definition: SX1278.cpp:403
+
int16_t forceLDRO(bool enable)
Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method...
Definition: SX1278.cpp:457
+
int16_t setGain(uint8_t gain)
Sets gain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is...
Definition: SX1278.cpp:316
+
int16_t autoLDRO()
Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method...
Definition: SX1278.cpp:470
+
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 137.0 MHz to 525.0 MHz.
Definition: SX1278.cpp:69
+
int16_t setCRC(bool enableCRC)
Enables/disables CRC check of received packets.
Definition: SX1278.cpp:439
+
int16_t beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the m...
Definition: SX1278.cpp:39
+
int16_t setDataShapingOOK(uint8_t sh)
Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency e...
Definition: SX1278.cpp:371
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
void reset() override
Reset method. Will reset the chip to the default state using RST pin.
Definition: SX1278.cpp:61
+
SX1278(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: SX1278.cpp:4
+
int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: SX1278.cpp:8
+
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode...
Definition: SX1278.cpp:197
+
int16_t setBandwidth(float bw)
Sets LoRa link bandwidth. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125...
Definition: SX1278.cpp:143
+
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names).
Definition: SX1278.h:104
+
int16_t setOutputPower(int8_t power)
Sets transmission output power. Allowed values range from 2 to 17 dBm.
Definition: SX1278.cpp:287
+
int16_t setCodingRate(uint8_t cr)
Sets LoRa link coding rate denominator. Allowed values range from 5 to 8. Only available in LoRa mode...
Definition: SX1278.cpp:253
+
+
+ + + + diff --git a/_s_x1279_8h_source.html b/_s_x1279_8h_source.html new file mode 100644 index 00000000..fcfe2831 --- /dev/null +++ b/_s_x1279_8h_source.html @@ -0,0 +1,130 @@ + + + + + + +RadioLib: src/modules/SX127x/SX1279.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1279.h
+
+
+
1 #if !defined(_RADIOLIB_SX1279_H)
2 #define _RADIOLIB_SX1279_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX127X)
7 
8 #include "SX1278.h"
9 
15 class SX1279: public SX1278 {
16  public:
17 
18  // constructor
19 
25  SX1279(Module* mod);
26 
27  // basic methods
28 
52  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
53 
74  int16_t beginFSK(float freq = 434.0, float br = 48.0, float freqDev = 50.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
75 
76  // configuration methods
77 
85  int16_t setFrequency(float freq);
86 
87 #ifndef RADIOLIB_GODMODE
88  private:
89 #endif
90 
91 };
92 
93 #endif
94 
95 #endif
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 137.0 MHz to 960.0 MHz.
Definition: SX1279.cpp:61
+
Derived class for SX1279 modules. Overrides some methods from SX1278 due to different parameter range...
Definition: SX1279.h:15
+
SX1279(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: SX1279.cpp:4
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the m...
Definition: SX1279.cpp:39
+
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names).
Definition: SX1278.h:104
+
int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: SX1279.cpp:8
+
+
+ + + + diff --git a/_s_x127x_8h_source.html b/_s_x127x_8h_source.html new file mode 100644 index 00000000..d5ea7796 --- /dev/null +++ b/_s_x127x_8h_source.html @@ -0,0 +1,171 @@ + + + + + + +RadioLib: src/modules/SX127x/SX127x.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX127x.h
+
+
+
1 #if !defined(_RADIOLIB_SX127X_H)
2 #define _RADIOLIB_SX127X_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX127X)
7 
8 #include "../../Module.h"
9 
10 #include "../../protocols/PhysicalLayer/PhysicalLayer.h"
11 
12 // SX127x physical layer properties
13 #define SX127X_FREQUENCY_STEP_SIZE 61.03515625
14 #define SX127X_MAX_PACKET_LENGTH 255
15 #define SX127X_MAX_PACKET_LENGTH_FSK 64
16 #define SX127X_CRYSTAL_FREQ 32.0
17 #define SX127X_DIV_EXPONENT 19
18 
19 // SX127x series common LoRa registers
20 #define SX127X_REG_FIFO 0x00
21 #define SX127X_REG_OP_MODE 0x01
22 #define SX127X_REG_FRF_MSB 0x06
23 #define SX127X_REG_FRF_MID 0x07
24 #define SX127X_REG_FRF_LSB 0x08
25 #define SX127X_REG_PA_CONFIG 0x09
26 #define SX127X_REG_PA_RAMP 0x0A
27 #define SX127X_REG_OCP 0x0B
28 #define SX127X_REG_LNA 0x0C
29 #define SX127X_REG_FIFO_ADDR_PTR 0x0D
30 #define SX127X_REG_FIFO_TX_BASE_ADDR 0x0E
31 #define SX127X_REG_FIFO_RX_BASE_ADDR 0x0F
32 #define SX127X_REG_FIFO_RX_CURRENT_ADDR 0x10
33 #define SX127X_REG_IRQ_FLAGS_MASK 0x11
34 #define SX127X_REG_IRQ_FLAGS 0x12
35 #define SX127X_REG_RX_NB_BYTES 0x13
36 #define SX127X_REG_RX_HEADER_CNT_VALUE_MSB 0x14
37 #define SX127X_REG_RX_HEADER_CNT_VALUE_LSB 0x15
38 #define SX127X_REG_RX_PACKET_CNT_VALUE_MSB 0x16
39 #define SX127X_REG_RX_PACKET_CNT_VALUE_LSB 0x17
40 #define SX127X_REG_MODEM_STAT 0x18
41 #define SX127X_REG_PKT_SNR_VALUE 0x19
42 #define SX127X_REG_PKT_RSSI_VALUE 0x1A
43 #define SX127X_REG_RSSI_VALUE 0x1B
44 #define SX127X_REG_HOP_CHANNEL 0x1C
45 #define SX127X_REG_MODEM_CONFIG_1 0x1D
46 #define SX127X_REG_MODEM_CONFIG_2 0x1E
47 #define SX127X_REG_SYMB_TIMEOUT_LSB 0x1F
48 #define SX127X_REG_PREAMBLE_MSB 0x20
49 #define SX127X_REG_PREAMBLE_LSB 0x21
50 #define SX127X_REG_PAYLOAD_LENGTH 0x22
51 #define SX127X_REG_MAX_PAYLOAD_LENGTH 0x23
52 #define SX127X_REG_HOP_PERIOD 0x24
53 #define SX127X_REG_FIFO_RX_BYTE_ADDR 0x25
54 #define SX127X_REG_FEI_MSB 0x28
55 #define SX127X_REG_FEI_MID 0x29
56 #define SX127X_REG_FEI_LSB 0x2A
57 #define SX127X_REG_RSSI_WIDEBAND 0x2C
58 #define SX127X_REG_DETECT_OPTIMIZE 0x31
59 #define SX127X_REG_INVERT_IQ 0x33
60 #define SX127X_REG_DETECTION_THRESHOLD 0x37
61 #define SX127X_REG_SYNC_WORD 0x39
62 #define SX127X_REG_DIO_MAPPING_1 0x40
63 #define SX127X_REG_DIO_MAPPING_2 0x41
64 #define SX127X_REG_VERSION 0x42
65 
66 // SX127x common LoRa modem settings
67 // SX127X_REG_OP_MODE MSB LSB DESCRIPTION
68 #define SX127X_FSK_OOK 0b00000000 // 7 7 FSK/OOK mode
69 #define SX127X_LORA 0b10000000 // 7 7 LoRa mode
70 #define SX127X_ACCESS_SHARED_REG_OFF 0b00000000 // 6 6 access LoRa registers (0x0D:0x3F) in LoRa mode
71 #define SX127X_ACCESS_SHARED_REG_ON 0b01000000 // 6 6 access FSK registers (0x0D:0x3F) in LoRa mode
72 #define SX127X_SLEEP 0b00000000 // 2 0 sleep
73 #define SX127X_STANDBY 0b00000001 // 2 0 standby
74 #define SX127X_FSTX 0b00000010 // 2 0 frequency synthesis TX
75 #define SX127X_TX 0b00000011 // 2 0 transmit
76 #define SX127X_FSRX 0b00000100 // 2 0 frequency synthesis RX
77 #define SX127X_RXCONTINUOUS 0b00000101 // 2 0 receive continuous
78 #define SX127X_RXSINGLE 0b00000110 // 2 0 receive single
79 #define SX127X_CAD 0b00000111 // 2 0 channel activity detection
80 
81 // SX127X_REG_PA_CONFIG
82 #define SX127X_PA_SELECT_RFO 0b00000000 // 7 7 RFO pin output, power limited to +14 dBm
83 #define SX127X_PA_SELECT_BOOST 0b10000000 // 7 7 PA_BOOST pin output, power limited to +20 dBm
84 #define SX127X_OUTPUT_POWER 0b00001111 // 3 0 output power: P_out = 2 + OUTPUT_POWER [dBm] for PA_SELECT_BOOST
85  // P_out = -1 + OUTPUT_POWER [dBm] for PA_SELECT_RFO
86 
87 // SX127X_REG_OCP
88 #define SX127X_OCP_OFF 0b00000000 // 5 5 PA overload current protection disabled
89 #define SX127X_OCP_ON 0b00100000 // 5 5 PA overload current protection enabled
90 #define SX127X_OCP_TRIM 0b00001011 // 4 0 OCP current: I_max(OCP_TRIM = 0b1011) = 100 mA
91 
92 // SX127X_REG_LNA
93 #define SX127X_LNA_GAIN_1 0b00100000 // 7 5 LNA gain setting: max gain
94 #define SX127X_LNA_GAIN_2 0b01000000 // 7 5 .
95 #define SX127X_LNA_GAIN_3 0b01100000 // 7 5 .
96 #define SX127X_LNA_GAIN_4 0b10000000 // 7 5 .
97 #define SX127X_LNA_GAIN_5 0b10100000 // 7 5 .
98 #define SX127X_LNA_GAIN_6 0b11000000 // 7 5 min gain
99 #define SX127X_LNA_BOOST_OFF 0b00000000 // 1 0 default LNA current
100 #define SX127X_LNA_BOOST_ON 0b00000011 // 1 0 150% LNA current
101 
102 // SX127X_REG_MODEM_CONFIG_2
103 #define SX127X_SF_6 0b01100000 // 7 4 spreading factor: 64 chips/bit
104 #define SX127X_SF_7 0b01110000 // 7 4 128 chips/bit
105 #define SX127X_SF_8 0b10000000 // 7 4 256 chips/bit
106 #define SX127X_SF_9 0b10010000 // 7 4 512 chips/bit
107 #define SX127X_SF_10 0b10100000 // 7 4 1024 chips/bit
108 #define SX127X_SF_11 0b10110000 // 7 4 2048 chips/bit
109 #define SX127X_SF_12 0b11000000 // 7 4 4096 chips/bit
110 #define SX127X_TX_MODE_SINGLE 0b00000000 // 3 3 single TX
111 #define SX127X_TX_MODE_CONT 0b00001000 // 3 3 continuous TX
112 #define SX127X_RX_TIMEOUT_MSB 0b00000000 // 1 0
113 
114 // SX127X_REG_SYMB_TIMEOUT_LSB
115 #define SX127X_RX_TIMEOUT_LSB 0b01100100 // 7 0 10 bit RX operation timeout
116 
117 // SX127X_REG_PREAMBLE_MSB + REG_PREAMBLE_LSB
118 #define SX127X_PREAMBLE_LENGTH_MSB 0b00000000 // 7 0 2 byte preamble length setting: l_P = PREAMBLE_LENGTH + 4.25
119 #define SX127X_PREAMBLE_LENGTH_LSB 0b00001000 // 7 0 where l_p = preamble length
120 
121 // SX127X_REG_DETECT_OPTIMIZE
122 #define SX127X_DETECT_OPTIMIZE_SF_6 0b00000101 // 2 0 SF6 detection optimization
123 #define SX127X_DETECT_OPTIMIZE_SF_7_12 0b00000011 // 2 0 SF7 to SF12 detection optimization
124 
125 // SX127X_REG_DETECTION_THRESHOLD
126 #define SX127X_DETECTION_THRESHOLD_SF_6 0b00001100 // 7 0 SF6 detection threshold
127 #define SX127X_DETECTION_THRESHOLD_SF_7_12 0b00001010 // 7 0 SF7 to SF12 detection threshold
128 
129 // SX127X_REG_PA_DAC
130 #define SX127X_PA_BOOST_OFF 0b00000100 // 2 0 PA_BOOST disabled
131 #define SX127X_PA_BOOST_ON 0b00000111 // 2 0 +20 dBm on PA_BOOST when OUTPUT_POWER = 0b1111
132 
133 // SX127X_REG_HOP_PERIOD
134 #define SX127X_HOP_PERIOD_OFF 0b00000000 // 7 0 number of periods between frequency hops; 0 = disabled
135 #define SX127X_HOP_PERIOD_MAX 0b11111111 // 7 0
136 
137 // SX127X_REG_DIO_MAPPING_1
138 #define SX127X_DIO0_RX_DONE 0b00000000 // 7 6
139 #define SX127X_DIO0_TX_DONE 0b01000000 // 7 6
140 #define SX127X_DIO0_CAD_DONE 0b10000000 // 7 6
141 #define SX127X_DIO1_RX_TIMEOUT 0b00000000 // 5 4
142 #define SX127X_DIO1_FHSS_CHANGE_CHANNEL 0b00010000 // 5 4
143 #define SX127X_DIO1_CAD_DETECTED 0b00100000 // 5 4
144 
145 // SX127X_REG_IRQ_FLAGS
146 #define SX127X_CLEAR_IRQ_FLAG_RX_TIMEOUT 0b10000000 // 7 7 timeout
147 #define SX127X_CLEAR_IRQ_FLAG_RX_DONE 0b01000000 // 6 6 packet reception complete
148 #define SX127X_CLEAR_IRQ_FLAG_PAYLOAD_CRC_ERROR 0b00100000 // 5 5 payload CRC error
149 #define SX127X_CLEAR_IRQ_FLAG_VALID_HEADER 0b00010000 // 4 4 valid header received
150 #define SX127X_CLEAR_IRQ_FLAG_TX_DONE 0b00001000 // 3 3 payload transmission complete
151 #define SX127X_CLEAR_IRQ_FLAG_CAD_DONE 0b00000100 // 2 2 CAD complete
152 #define SX127X_CLEAR_IRQ_FLAG_FHSS_CHANGE_CHANNEL 0b00000010 // 1 1 FHSS change channel
153 #define SX127X_CLEAR_IRQ_FLAG_CAD_DETECTED 0b00000001 // 0 0 valid LoRa signal detected during CAD operation
154 
155 // SX127X_REG_IRQ_FLAGS_MASK
156 #define SX127X_MASK_IRQ_FLAG_RX_TIMEOUT 0b01111111 // 7 7 timeout
157 #define SX127X_MASK_IRQ_FLAG_RX_DONE 0b10111111 // 6 6 packet reception complete
158 #define SX127X_MASK_IRQ_FLAG_PAYLOAD_CRC_ERROR 0b11011111 // 5 5 payload CRC error
159 #define SX127X_MASK_IRQ_FLAG_VALID_HEADER 0b11101111 // 4 4 valid header received
160 #define SX127X_MASK_IRQ_FLAG_TX_DONE 0b11110111 // 3 3 payload transmission complete
161 #define SX127X_MASK_IRQ_FLAG_CAD_DONE 0b11111011 // 2 2 CAD complete
162 #define SX127X_MASK_IRQ_FLAG_FHSS_CHANGE_CHANNEL 0b11111101 // 1 1 FHSS change channel
163 #define SX127X_MASK_IRQ_FLAG_CAD_DETECTED 0b11111110 // 0 0 valid LoRa signal detected during CAD operation
164 
165 // SX127X_REG_FIFO_TX_BASE_ADDR
166 #define SX127X_FIFO_TX_BASE_ADDR_MAX 0b00000000 // 7 0 allocate the entire FIFO buffer for TX only
167 
168 // SX127X_REG_FIFO_RX_BASE_ADDR
169 #define SX127X_FIFO_RX_BASE_ADDR_MAX 0b00000000 // 7 0 allocate the entire FIFO buffer for RX only
170 
171 // SX127X_REG_SYNC_WORD
172 #define SX127X_SYNC_WORD 0x12 // 7 0 default LoRa sync word
173 #define SX127X_SYNC_WORD_LORAWAN 0x34 // 7 0 sync word reserved for LoRaWAN networks
174 
175 // SX127x series common FSK registers
176 // NOTE: FSK register names that are conflicting with LoRa registers are marked with "_FSK" suffix
177 #define SX127X_REG_BITRATE_MSB 0x02
178 #define SX127X_REG_BITRATE_LSB 0x03
179 #define SX127X_REG_FDEV_MSB 0x04
180 #define SX127X_REG_FDEV_LSB 0x05
181 #define SX127X_REG_RX_CONFIG 0x0D
182 #define SX127X_REG_RSSI_CONFIG 0x0E
183 #define SX127X_REG_RSSI_COLLISION 0x0F
184 #define SX127X_REG_RSSI_THRESH 0x10
185 #define SX127X_REG_RSSI_VALUE_FSK 0x11
186 #define SX127X_REG_RX_BW 0x12
187 #define SX127X_REG_AFC_BW 0x13
188 #define SX127X_REG_OOK_PEAK 0x14
189 #define SX127X_REG_OOK_FIX 0x15
190 #define SX127X_REG_OOK_AVG 0x16
191 #define SX127X_REG_AFC_FEI 0x1A
192 #define SX127X_REG_AFC_MSB 0x1B
193 #define SX127X_REG_AFC_LSB 0x1C
194 #define SX127X_REG_FEI_MSB_FSK 0x1D
195 #define SX127X_REG_FEI_LSB_FSK 0x1E
196 #define SX127X_REG_PREAMBLE_DETECT 0x1F
197 #define SX127X_REG_RX_TIMEOUT_1 0x20
198 #define SX127X_REG_RX_TIMEOUT_2 0x21
199 #define SX127X_REG_RX_TIMEOUT_3 0x22
200 #define SX127X_REG_RX_DELAY 0x23
201 #define SX127X_REG_OSC 0x24
202 #define SX127X_REG_PREAMBLE_MSB_FSK 0x25
203 #define SX127X_REG_PREAMBLE_LSB_FSK 0x26
204 #define SX127X_REG_SYNC_CONFIG 0x27
205 #define SX127X_REG_SYNC_VALUE_1 0x28
206 #define SX127X_REG_SYNC_VALUE_2 0x29
207 #define SX127X_REG_SYNC_VALUE_3 0x2A
208 #define SX127X_REG_SYNC_VALUE_4 0x2B
209 #define SX127X_REG_SYNC_VALUE_5 0x2C
210 #define SX127X_REG_SYNC_VALUE_6 0x2D
211 #define SX127X_REG_SYNC_VALUE_7 0x2E
212 #define SX127X_REG_SYNC_VALUE_8 0x2F
213 #define SX127X_REG_PACKET_CONFIG_1 0x30
214 #define SX127X_REG_PACKET_CONFIG_2 0x31
215 #define SX127X_REG_PAYLOAD_LENGTH_FSK 0x32
216 #define SX127X_REG_NODE_ADRS 0x33
217 #define SX127X_REG_BROADCAST_ADRS 0x34
218 #define SX127X_REG_FIFO_THRESH 0x35
219 #define SX127X_REG_SEQ_CONFIG_1 0x36
220 #define SX127X_REG_SEQ_CONFIG_2 0x37
221 #define SX127X_REG_TIMER_RESOL 0x38
222 #define SX127X_REG_TIMER1_COEF 0x39
223 #define SX127X_REG_TIMER2_COEF 0x3A
224 #define SX127X_REG_IMAGE_CAL 0x3B
225 #define SX127X_REG_TEMP 0x3C
226 #define SX127X_REG_LOW_BAT 0x3D
227 #define SX127X_REG_IRQ_FLAGS_1 0x3E
228 #define SX127X_REG_IRQ_FLAGS_2 0x3F
229 
230 // SX127x common FSK modem settings
231 // SX127X_REG_OP_MODE
232 #define SX127X_MODULATION_FSK 0b00000000 // 6 5 FSK modulation scheme
233 #define SX127X_MODULATION_OOK 0b00100000 // 6 5 OOK modulation scheme
234 #define SX127X_RX 0b00000101 // 2 0 receiver mode
235 
236 // SX127X_REG_BITRATE_MSB + SX127X_REG_BITRATE_LSB
237 #define SX127X_BITRATE_MSB 0x1A // 7 0 bit rate setting: BitRate = F(XOSC)/(BITRATE + BITRATE_FRAC/16)
238 #define SX127X_BITRATE_LSB 0x0B // 7 0 default value: 4.8 kbps
239 
240 // SX127X_REG_FDEV_MSB + SX127X_REG_FDEV_LSB
241 #define SX127X_FDEV_MSB 0x00 // 5 0 frequency deviation: Fdev = Fstep * FDEV
242 #define SX127X_FDEV_LSB 0x52 // 7 0 default value: 5 kHz
243 
244 // SX127X_REG_RX_CONFIG
245 #define SX127X_RESTART_RX_ON_COLLISION_OFF 0b00000000 // 7 7 automatic receiver restart disabled (default)
246 #define SX127X_RESTART_RX_ON_COLLISION_ON 0b10000000 // 7 7 automatically restart receiver if it gets saturated or on packet collision
247 #define SX127X_RESTART_RX_WITHOUT_PLL_LOCK 0b01000000 // 6 6 manually restart receiver without frequency change
248 #define SX127X_RESTART_RX_WITH_PLL_LOCK 0b00100000 // 5 5 manually restart receiver with frequency change
249 #define SX127X_AFC_AUTO_OFF 0b00000000 // 4 4 no AFC performed (default)
250 #define SX127X_AFC_AUTO_ON 0b00010000 // 4 4 AFC performed at each receiver startup
251 #define SX127X_AGC_AUTO_OFF 0b00000000 // 3 3 LNA gain set manually by register
252 #define SX127X_AGC_AUTO_ON 0b00001000 // 3 3 LNA gain controlled by AGC
253 #define SX127X_RX_TRIGGER_NONE 0b00000000 // 2 0 receiver startup at: none
254 #define SX127X_RX_TRIGGER_RSSI_INTERRUPT 0b00000001 // 2 0 RSSI interrupt
255 #define SX127X_RX_TRIGGER_PREAMBLE_DETECT 0b00000110 // 2 0 preamble detected
256 #define SX127X_RX_TRIGGER_BOTH 0b00000111 // 2 0 RSSI interrupt and preamble detected
257 
258 // SX127X_REG_RSSI_CONFIG
259 #define SX127X_RSSI_SMOOTHING_SAMPLES_2 0b00000000 // 2 0 number of samples for RSSI average: 2
260 #define SX127X_RSSI_SMOOTHING_SAMPLES_4 0b00000001 // 2 0 4
261 #define SX127X_RSSI_SMOOTHING_SAMPLES_8 0b00000010 // 2 0 8 (default)
262 #define SX127X_RSSI_SMOOTHING_SAMPLES_16 0b00000011 // 2 0 16
263 #define SX127X_RSSI_SMOOTHING_SAMPLES_32 0b00000100 // 2 0 32
264 #define SX127X_RSSI_SMOOTHING_SAMPLES_64 0b00000101 // 2 0 64
265 #define SX127X_RSSI_SMOOTHING_SAMPLES_128 0b00000110 // 2 0 128
266 #define SX127X_RSSI_SMOOTHING_SAMPLES_256 0b00000111 // 2 0 256
267 
268 // SX127X_REG_RSSI_COLLISION
269 #define SX127X_RSSI_COLLISION_THRESHOLD 0x0A // 7 0 RSSI threshold in dB that will be considered a collision, default value: 10 dB
270 
271 // SX127X_REG_RSSI_THRESH
272 #define SX127X_RSSI_THRESHOLD 0xFF // 7 0 RSSI threshold that will trigger RSSI interrupt, RssiThreshold = RSSI_THRESHOLD / 2 [dBm]
273 
274 // SX127X_REG_RX_BW
275 #define SX127X_RX_BW_MANT_16 0b00000000 // 4 3 channel filter bandwidth: RxBw = F(XOSC) / (RxBwMant * 2^(RxBwExp + 2)) [kHz]
276 #define SX127X_RX_BW_MANT_20 0b00001000 // 4 3
277 #define SX127X_RX_BW_MANT_24 0b00010000 // 4 3 default RxBwMant parameter
278 #define SX127X_RX_BW_EXP 0b00000101 // 2 0 default RxBwExp parameter
279 
280 // SX127X_REG_AFC_BW
281 #define SX127X_RX_BW_MANT_AFC 0b00001000 // 4 3 default RxBwMant parameter used during AFC
282 #define SX127X_RX_BW_EXP_AFC 0b00000011 // 2 0 default RxBwExp parameter used during AFC
283 
284 // SX127X_REG_OOK_PEAK
285 #define SX127X_BIT_SYNC_OFF 0b00000000 // 5 5 bit synchronizer disabled (not allowed in packet mode)
286 #define SX127X_BIT_SYNC_ON 0b00100000 // 5 5 bit synchronizer enabled (default)
287 #define SX127X_OOK_THRESH_FIXED 0b00000000 // 4 3 OOK threshold type: fixed value
288 #define SX127X_OOK_THRESH_PEAK 0b00001000 // 4 3 peak mode (default)
289 #define SX127X_OOK_THRESH_AVERAGE 0b00010000 // 4 3 average mode
290 #define SX127X_OOK_PEAK_THRESH_STEP_0_5_DB 0b00000000 // 2 0 OOK demodulator step size: 0.5 dB (default)
291 #define SX127X_OOK_PEAK_THRESH_STEP_1_0_DB 0b00000001 // 2 0 1.0 dB
292 #define SX127X_OOK_PEAK_THRESH_STEP_1_5_DB 0b00000010 // 2 0 1.5 dB
293 #define SX127X_OOK_PEAK_THRESH_STEP_2_0_DB 0b00000011 // 2 0 2.0 dB
294 #define SX127X_OOK_PEAK_THRESH_STEP_3_0_DB 0b00000100 // 2 0 3.0 dB
295 #define SX127X_OOK_PEAK_THRESH_STEP_4_0_DB 0b00000101 // 2 0 4.0 dB
296 #define SX127X_OOK_PEAK_THRESH_STEP_5_0_DB 0b00000110 // 2 0 5.0 dB
297 #define SX127X_OOK_PEAK_THRESH_STEP_6_0_DB 0b00000111 // 2 0 6.0 dB
298 
299 // SX127X_REG_OOK_FIX
300 #define SX127X_OOK_FIXED_THRESHOLD 0x0C // 7 0 default fixed threshold for OOK data slicer
301 
302 // SX127X_REG_OOK_AVG
303 #define SX127X_OOK_PEAK_THRESH_DEC_1_1_CHIP 0b00000000 // 7 5 OOK demodulator step period: once per chip (default)
304 #define SX127X_OOK_PEAK_THRESH_DEC_1_2_CHIP 0b00100000 // 7 5 once every 2 chips
305 #define SX127X_OOK_PEAK_THRESH_DEC_1_4_CHIP 0b01000000 // 7 5 once every 4 chips
306 #define SX127X_OOK_PEAK_THRESH_DEC_1_8_CHIP 0b01100000 // 7 5 once every 8 chips
307 #define SX127X_OOK_PEAK_THRESH_DEC_2_1_CHIP 0b10000000 // 7 5 2 times per chip
308 #define SX127X_OOK_PEAK_THRESH_DEC_4_1_CHIP 0b10100000 // 7 5 4 times per chip
309 #define SX127X_OOK_PEAK_THRESH_DEC_8_1_CHIP 0b11000000 // 7 5 8 times per chip
310 #define SX127X_OOK_PEAK_THRESH_DEC_16_1_CHIP 0b11100000 // 7 5 16 times per chip
311 #define SX127X_OOK_AVERAGE_OFFSET_0_DB 0b00000000 // 3 2 OOK average threshold offset: 0.0 dB (default)
312 #define SX127X_OOK_AVERAGE_OFFSET_2_DB 0b00000100 // 3 2 2.0 dB
313 #define SX127X_OOK_AVERAGE_OFFSET_4_DB 0b00001000 // 3 2 4.0 dB
314 #define SX127X_OOK_AVERAGE_OFFSET_6_DB 0b00001100 // 3 2 6.0 dB
315 #define SX127X_OOK_AVG_THRESH_FILT_32_PI 0b00000000 // 1 0 OOK average filter coefficient: chip rate / 32*pi
316 #define SX127X_OOK_AVG_THRESH_FILT_8_PI 0b00000001 // 1 0 chip rate / 8*pi
317 #define SX127X_OOK_AVG_THRESH_FILT_4_PI 0b00000010 // 1 0 chip rate / 4*pi (default)
318 #define SX127X_OOK_AVG_THRESH_FILT_2_PI 0b00000011 // 1 0 chip rate / 2*pi
319 
320 // SX127X_REG_AFC_FEI
321 #define SX127X_AGC_START 0b00010000 // 4 4 manually start AGC sequence
322 #define SX127X_AFC_CLEAR 0b00000010 // 1 1 manually clear AFC register
323 #define SX127X_AFC_AUTO_CLEAR_OFF 0b00000000 // 0 0 AFC register will not be cleared at the start of AFC (default)
324 #define SX127X_AFC_AUTO_CLEAR_ON 0b00000001 // 0 0 AFC register will be cleared at the start of AFC
325 
326 // SX127X_REG_PREAMBLE_DETECT
327 #define SX127X_PREAMBLE_DETECTOR_OFF 0b00000000 // 7 7 preamble detection disabled
328 #define SX127X_PREAMBLE_DETECTOR_ON 0b10000000 // 7 7 preamble detection enabled (default)
329 #define SX127X_PREAMBLE_DETECTOR_1_BYTE 0b00000000 // 6 5 preamble detection size: 1 byte (default)
330 #define SX127X_PREAMBLE_DETECTOR_2_BYTE 0b00100000 // 6 5 2 bytes
331 #define SX127X_PREAMBLE_DETECTOR_3_BYTE 0b01000000 // 6 5 3 bytes
332 #define SX127X_PREAMBLE_DETECTOR_TOL 0x0A // 4 0 default number of tolerated errors per chip (4 chips per bit)
333 
334 // SX127X_REG_RX_TIMEOUT_1
335 #define SX127X_TIMEOUT_RX_RSSI_OFF 0x00 // 7 0 disable receiver timeout when RSSI interrupt doesn't occur (default)
336 
337 // SX127X_REG_RX_TIMEOUT_2
338 #define SX127X_TIMEOUT_RX_PREAMBLE_OFF 0x00 // 7 0 disable receiver timeout when preamble interrupt doesn't occur (default)
339 
340 // SX127X_REG_RX_TIMEOUT_3
341 #define SX127X_TIMEOUT_SIGNAL_SYNC_OFF 0x00 // 7 0 disable receiver timeout when sync address interrupt doesn't occur (default)
342 
343 // SX127X_REG_OSC
344 #define SX127X_RC_CAL_START 0b00000000 // 3 3 manually start RC oscillator calibration
345 #define SX127X_CLK_OUT_FXOSC 0b00000000 // 2 0 ClkOut frequency: F(XOSC)
346 #define SX127X_CLK_OUT_FXOSC_2 0b00000001 // 2 0 F(XOSC) / 2
347 #define SX127X_CLK_OUT_FXOSC_4 0b00000010 // 2 0 F(XOSC) / 4
348 #define SX127X_CLK_OUT_FXOSC_8 0b00000011 // 2 0 F(XOSC) / 8
349 #define SX127X_CLK_OUT_FXOSC_16 0b00000100 // 2 0 F(XOSC) / 16
350 #define SX127X_CLK_OUT_FXOSC_32 0b00000101 // 2 0 F(XOSC) / 32
351 #define SX127X_CLK_OUT_RC 0b00000110 // 2 0 RC
352 #define SX127X_CLK_OUT_OFF 0b00000111 // 2 0 disabled (default)
353 
354 // SX127X_REG_PREAMBLE_MSB_FSK + SX127X_REG_PREAMBLE_LSB_FSK
355 #define SX127X_PREAMBLE_SIZE_MSB 0x00 // 7 0 preamble size in bytes
356 #define SX127X_PREAMBLE_SIZE_LSB 0x03 // 7 0 default value: 3 bytes
357 
358 // SX127X_REG_SYNC_CONFIG
359 #define SX127X_AUTO_RESTART_RX_MODE_OFF 0b00000000 // 7 6 Rx mode restart after packet reception: disabled
360 #define SX127X_AUTO_RESTART_RX_MODE_NO_PLL 0b01000000 // 7 6 enabled, don't wait for PLL lock
361 #define SX127X_AUTO_RESTART_RX_MODE_PLL 0b10000000 // 7 6 enabled, wait for PLL lock (default)
362 #define SX127X_PREAMBLE_POLARITY_AA 0b00000000 // 5 5 preamble polarity: 0xAA = 0b10101010 (default)
363 #define SX127X_PREAMBLE_POLARITY_55 0b00100000 // 5 5 0x55 = 0b01010101
364 #define SX127X_SYNC_OFF 0b00000000 // 4 4 sync word disabled
365 #define SX127X_SYNC_ON 0b00010000 // 4 4 sync word enabled (default)
366 #define SX127X_SYNC_SIZE 0x03 // 2 0 sync word size in bytes, SyncSize = SYNC_SIZE + 1 bytes
367 
368 // SX127X_REG_SYNC_VALUE_1 - SX127X_REG_SYNC_VALUE_8
369 #define SX127X_SYNC_VALUE_1 0x01 // 7 0 sync word: 1st byte (MSB)
370 #define SX127X_SYNC_VALUE_2 0x01 // 7 0 2nd byte
371 #define SX127X_SYNC_VALUE_3 0x01 // 7 0 3rd byte
372 #define SX127X_SYNC_VALUE_4 0x01 // 7 0 4th byte
373 #define SX127X_SYNC_VALUE_5 0x01 // 7 0 5th byte
374 #define SX127X_SYNC_VALUE_6 0x01 // 7 0 6th byte
375 #define SX127X_SYNC_VALUE_7 0x01 // 7 0 7th byte
376 #define SX127X_SYNC_VALUE_8 0x01 // 7 0 8th byte (LSB)
377 
378 // SX127X_REG_PACKET_CONFIG_1
379 #define SX127X_PACKET_FIXED 0b00000000 // 7 7 packet format: fixed length
380 #define SX127X_PACKET_VARIABLE 0b10000000 // 7 7 variable length (default)
381 #define SX127X_DC_FREE_NONE 0b00000000 // 6 5 DC-free encoding: disabled (default)
382 #define SX127X_DC_FREE_MANCHESTER 0b00100000 // 6 5 Manchester
383 #define SX127X_DC_FREE_WHITENING 0b01000000 // 6 5 Whitening
384 #define SX127X_CRC_OFF 0b00000000 // 4 4 CRC disabled
385 #define SX127X_CRC_ON 0b00010000 // 4 4 CRC enabled (default)
386 #define SX127X_CRC_AUTOCLEAR_OFF 0b00001000 // 3 3 keep FIFO on CRC mismatch, issue payload ready interrupt
387 #define SX127X_CRC_AUTOCLEAR_ON 0b00000000 // 3 3 clear FIFO on CRC mismatch, do not issue payload ready interrupt
388 #define SX127X_ADDRESS_FILTERING_OFF 0b00000000 // 2 1 address filtering: none (default)
389 #define SX127X_ADDRESS_FILTERING_NODE 0b00000010 // 2 1 node
390 #define SX127X_ADDRESS_FILTERING_NODE_BROADCAST 0b00000100 // 2 1 node or broadcast
391 #define SX127X_CRC_WHITENING_TYPE_CCITT 0b00000000 // 0 0 CRC and whitening algorithms: CCITT CRC with standard whitening (default)
392 #define SX127X_CRC_WHITENING_TYPE_IBM 0b00000001 // 0 0 IBM CRC with alternate whitening
393 
394 // SX127X_REG_PACKET_CONFIG_2
395 #define SX127X_DATA_MODE_PACKET 0b01000000 // 6 6 data mode: packet (default)
396 #define SX127X_DATA_MODE_CONTINUOUS 0b00000000 // 6 6 continuous
397 #define SX127X_IO_HOME_OFF 0b00000000 // 5 5 io-homecontrol compatibility disabled (default)
398 #define SX127X_IO_HOME_ON 0b00100000 // 5 5 io-homecontrol compatibility enabled
399 
400 // SX127X_REG_FIFO_THRESH
401 #define SX127X_TX_START_FIFO_LEVEL 0b00000000 // 7 7 start packet transmission when: number of bytes in FIFO exceeds FIFO_THRESHOLD
402 #define SX127X_TX_START_FIFO_NOT_EMPTY 0b10000000 // 7 7 at least one byte in FIFO (default)
403 #define SX127X_FIFO_THRESH 0x0F // 5 0 FIFO level threshold
404 
405 // SX127X_REG_SEQ_CONFIG_1
406 #define SX127X_SEQUENCER_START 0b10000000 // 7 7 manually start sequencer
407 #define SX127X_SEQUENCER_STOP 0b01000000 // 6 6 manually stop sequencer
408 #define SX127X_IDLE_MODE_STANDBY 0b00000000 // 5 5 chip mode during sequencer idle mode: standby (default)
409 #define SX127X_IDLE_MODE_SLEEP 0b00100000 // 5 5 sleep
410 #define SX127X_FROM_START_LP_SELECTION 0b00000000 // 4 3 mode that will be set after starting sequencer: low power selection (default)
411 #define SX127X_FROM_START_RECEIVE 0b00001000 // 4 3 receive
412 #define SX127X_FROM_START_TRANSMIT 0b00010000 // 4 3 transmit
413 #define SX127X_FROM_START_TRANSMIT_FIFO_LEVEL 0b00011000 // 4 3 transmit on a FIFO level interrupt
414 #define SX127X_LP_SELECTION_SEQ_OFF 0b00000000 // 2 2 mode that will be set after exiting low power selection: sequencer off (default)
415 #define SX127X_LP_SELECTION_IDLE 0b00000100 // 2 2 idle state
416 #define SX127X_FROM_IDLE_TRANSMIT 0b00000000 // 1 1 mode that will be set after exiting idle mode: transmit (default)
417 #define SX127X_FROM_IDLE_RECEIVE 0b00000010 // 1 1 receive
418 #define SX127X_FROM_TRANSMIT_LP_SELECTION 0b00000000 // 0 0 mode that will be set after exiting transmit mode: low power selection (default)
419 #define SX127X_FROM_TRANSMIT_RECEIVE 0b00000001 // 0 0 receive
420 
421 // SX127X_REG_SEQ_CONFIG_2
422 #define SX127X_FROM_RECEIVE_PACKET_RECEIVED_PAYLOAD 0b00100000 // 7 5 mode that will be set after exiting receive mode: packet received on payload ready interrupt (default)
423 #define SX127X_FROM_RECEIVE_LP_SELECTION 0b01000000 // 7 5 low power selection
424 #define SX127X_FROM_RECEIVE_PACKET_RECEIVED_CRC_OK 0b01100000 // 7 5 packet received on CRC OK interrupt
425 #define SX127X_FROM_RECEIVE_SEQ_OFF_RSSI 0b10000000 // 7 5 sequencer off on RSSI interrupt
426 #define SX127X_FROM_RECEIVE_SEQ_OFF_SYNC_ADDR 0b10100000 // 7 5 sequencer off on sync address interrupt
427 #define SX127X_FROM_RECEIVE_SEQ_OFF_PREAMBLE_DETECT 0b11000000 // 7 5 sequencer off on preamble detect interrupt
428 #define SX127X_FROM_RX_TIMEOUT_RECEIVE 0b00000000 // 4 3 mode that will be set after Rx timeout: receive (default)
429 #define SX127X_FROM_RX_TIMEOUT_TRANSMIT 0b00001000 // 4 3 transmit
430 #define SX127X_FROM_RX_TIMEOUT_LP_SELECTION 0b00010000 // 4 3 low power selection
431 #define SX127X_FROM_RX_TIMEOUT_SEQ_OFF 0b00011000 // 4 3 sequencer off
432 #define SX127X_FROM_PACKET_RECEIVED_SEQ_OFF 0b00000000 // 2 0 mode that will be set after packet received: sequencer off (default)
433 #define SX127X_FROM_PACKET_RECEIVED_TRANSMIT 0b00000001 // 2 0 transmit
434 #define SX127X_FROM_PACKET_RECEIVED_LP_SELECTION 0b00000010 // 2 0 low power selection
435 #define SX127X_FROM_PACKET_RECEIVED_RECEIVE_FS 0b00000011 // 2 0 receive via FS
436 #define SX127X_FROM_PACKET_RECEIVED_RECEIVE 0b00000100 // 2 0 receive
437 
438 // SX127X_REG_TIMER_RESOL
439 #define SX127X_TIMER1_OFF 0b00000000 // 3 2 timer 1 resolution: disabled (default)
440 #define SX127X_TIMER1_RESOLUTION_64_US 0b00000100 // 3 2 64 us
441 #define SX127X_TIMER1_RESOLUTION_4_1_MS 0b00001000 // 3 2 4.1 ms
442 #define SX127X_TIMER1_RESOLUTION_262_MS 0b00001100 // 3 2 262 ms
443 #define SX127X_TIMER2_OFF 0b00000000 // 3 2 timer 2 resolution: disabled (default)
444 #define SX127X_TIMER2_RESOLUTION_64_US 0b00000001 // 3 2 64 us
445 #define SX127X_TIMER2_RESOLUTION_4_1_MS 0b00000010 // 3 2 4.1 ms
446 #define SX127X_TIMER2_RESOLUTION_262_MS 0b00000011 // 3 2 262 ms
447 
448 // SX127X_REG_TIMER1_COEF
449 #define SX127X_TIMER1_COEFFICIENT 0xF5 // 7 0 multiplication coefficient for timer 1
450 
451 // SX127X_REG_TIMER2_COEF
452 #define SX127X_TIMER2_COEFFICIENT 0x20 // 7 0 multiplication coefficient for timer 2
453 
454 // SX127X_REG_IMAGE_CAL
455 #define SX127X_AUTO_IMAGE_CAL_OFF 0b00000000 // 7 7 temperature calibration disabled (default)
456 #define SX127X_AUTO_IMAGE_CAL_ON 0b10000000 // 7 7 temperature calibration enabled
457 #define SX127X_IMAGE_CAL_START 0b01000000 // 6 6 start temperature calibration
458 #define SX127X_IMAGE_CAL_RUNNING 0b00100000 // 5 5 temperature calibration is on-going
459 #define SX127X_IMAGE_CAL_COMPLETE 0b00000000 // 5 5 temperature calibration finished
460 #define SX127X_TEMP_CHANGED 0b00001000 // 3 3 temperature changed more than TEMP_THRESHOLD since last calibration
461 #define SX127X_TEMP_THRESHOLD_5_DEG_C 0b00000000 // 2 1 temperature change threshold: 5 deg. C
462 #define SX127X_TEMP_THRESHOLD_10_DEG_C 0b00000010 // 2 1 10 deg. C (default)
463 #define SX127X_TEMP_THRESHOLD_15_DEG_C 0b00000100 // 2 1 15 deg. C
464 #define SX127X_TEMP_THRESHOLD_20_DEG_C 0b00000110 // 2 1 20 deg. C
465 #define SX127X_TEMP_MONITOR_ON 0b00000000 // 0 0 temperature monitoring enabled (default)
466 #define SX127X_TEMP_MONITOR_OFF 0b00000001 // 0 0 temperature monitoring disabled
467 
468 // SX127X_REG_LOW_BAT
469 #define SX127X_LOW_BAT_OFF 0b00000000 // 3 3 low battery detector disabled
470 #define SX127X_LOW_BAT_ON 0b00001000 // 3 3 low battery detector enabled
471 #define SX127X_LOW_BAT_TRIM_1_695_V 0b00000000 // 2 0 battery voltage threshold: 1.695 V
472 #define SX127X_LOW_BAT_TRIM_1_764_V 0b00000001 // 2 0 1.764 V
473 #define SX127X_LOW_BAT_TRIM_1_835_V 0b00000010 // 2 0 1.835 V (default)
474 #define SX127X_LOW_BAT_TRIM_1_905_V 0b00000011 // 2 0 1.905 V
475 #define SX127X_LOW_BAT_TRIM_1_976_V 0b00000100 // 2 0 1.976 V
476 #define SX127X_LOW_BAT_TRIM_2_045_V 0b00000101 // 2 0 2.045 V
477 #define SX127X_LOW_BAT_TRIM_2_116_V 0b00000110 // 2 0 2.116 V
478 #define SX127X_LOW_BAT_TRIM_2_185_V 0b00000111 // 2 0 2.185 V
479 
480 // SX127X_REG_IRQ_FLAGS_1
481 #define SX127X_FLAG_MODE_READY 0b10000000 // 7 7 requested mode is ready
482 #define SX127X_FLAG_RX_READY 0b01000000 // 6 6 reception ready (after RSSI, AGC, AFC)
483 #define SX127X_FLAG_TX_READY 0b00100000 // 5 5 transmission ready (after PA ramp-up)
484 #define SX127X_FLAG_PLL_LOCK 0b00010000 // 4 4 PLL locked
485 #define SX127X_FLAG_RSSI 0b00001000 // 3 3 RSSI value exceeds RSSI threshold
486 #define SX127X_FLAG_TIMEOUT 0b00000100 // 2 2 timeout occurred
487 #define SX127X_FLAG_PREAMBLE_DETECT 0b00000010 // 1 1 valid preamble was detected
488 #define SX127X_FLAG_SYNC_ADDRESS_MATCH 0b00000001 // 0 0 sync address matched
489 
490 // SX127X_REG_IRQ_FLAGS_2
491 #define SX127X_FLAG_FIFO_FULL 0b10000000 // 7 7 FIFO is full
492 #define SX127X_FLAG_FIFO_EMPTY 0b01000000 // 6 6 FIFO is empty
493 #define SX127X_FLAG_FIFO_LEVEL 0b00100000 // 5 5 number of bytes in FIFO exceeds FIFO_THRESHOLD
494 #define SX127X_FLAG_FIFO_OVERRUN 0b00010000 // 4 4 FIFO overrun occurred
495 #define SX127X_FLAG_PACKET_SENT 0b00001000 // 3 3 packet was successfully sent
496 #define SX127X_FLAG_PAYLOAD_READY 0b00000100 // 2 2 packet was successfully received
497 #define SX127X_FLAG_CRC_OK 0b00000010 // 1 1 CRC check passed
498 #define SX127X_FLAG_LOW_BAT 0b00000001 // 0 0 battery voltage dropped below threshold
499 
500 // SX127X_REG_DIO_MAPPING_1
501 #define SX127X_DIO0_CONT_SYNC_ADDRESS 0b00000000 // 7 6
502 #define SX127X_DIO0_CONT_TX_READY 0b00000000 // 7 6
503 #define SX127X_DIO0_CONT_RSSI_PREAMBLE_DETECTED 0b01000000 // 7 6
504 #define SX127X_DIO0_CONT_RX_READY 0b10000000 // 7 6
505 #define SX127X_DIO0_PACK_PAYLOAD_READY 0b00000000 // 7 6
506 #define SX127X_DIO0_PACK_PACKET_SENT 0b00000000 // 7 6
507 #define SX127X_DIO0_PACK_CRC_OK 0b01000000 // 7 6
508 #define SX127X_DIO0_PACK_TEMP_CHANGE_LOW_BAT 0b11000000 // 7 6
509 #define SX127X_DIO1_CONT_DCLK 0b00000000 // 5 4
510 #define SX127X_DIO1_CONT_RSSI_PREAMBLE_DETECTED 0b00010000 // 5 4
511 #define SX127X_DIO1_PACK_FIFO_LEVEL 0b00000000 // 5 4
512 #define SX127X_DIO1_PACK_FIFO_EMPTY 0b00010000 // 5 4
513 #define SX127X_DIO1_PACK_FIFO_FULL 0b00100000 // 5 4
514 #define SX127X_DIO2_CONT_DATA 0b00000000 // 3 2
515 
516 // SX1272_REG_PLL_HOP + SX1278_REG_PLL_HOP
517 #define SX127X_FAST_HOP_OFF 0b00000000 // 7 7 carrier frequency validated when FRF registers are written
518 #define SX127X_FAST_HOP_ON 0b10000000 // 7 7 carrier frequency validated when FS modes are requested
519 
520 // SX1272_REG_TCXO + SX1278_REG_TCXO
521 #define SX127X_TCXO_INPUT_EXTERNAL 0b00000000 // 4 4 use external crystal oscillator
522 #define SX127X_TCXO_INPUT_EXTERNAL_CLIPPED 0b00010000 // 4 4 use external crystal oscillator clipped sine connected to XTA pin
523 
524 // SX1272_REG_PLL + SX1278_REG_PLL
525 #define SX127X_PLL_BANDWIDTH_75_KHZ 0b00000000 // 7 6 PLL bandwidth: 75 kHz
526 #define SX127X_PLL_BANDWIDTH_150_KHZ 0b01000000 // 7 6 150 kHz
527 #define SX127X_PLL_BANDWIDTH_225_KHZ 0b10000000 // 7 6 225 kHz
528 #define SX127X_PLL_BANDWIDTH_300_KHZ 0b11000000 // 7 6 300 kHz (default)
529 
536 class SX127x: public PhysicalLayer {
537  public:
538  // introduce PhysicalLayer overloads
543 
544  // constructor
545 
551  SX127x(Module* mod);
552 
553  // basic methods
554 
566  int16_t begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength);
567 
571  virtual void reset() = 0;
572 
590  int16_t beginFSK(uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK);
591 
604  int16_t transmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
605 
616  int16_t receive(uint8_t* data, size_t len) override;
617 
623  int16_t scanChannel();
624 
631  int16_t sleep();
632 
638  int16_t standby() override;
639 
648  int16_t transmitDirect(uint32_t frf = 0) override;
649 
656  int16_t receiveDirect() override;
657 
663  int16_t packetMode();
664 
665  // interrupt methods
666 
672  void setDio0Action(void (*func)(void));
673 
677  void clearDio0Action();
678 
684  void setDio1Action(void (*func)(void));
685 
689  void clearDio1Action();
690 
702  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
703 
713  int16_t startReceive(uint8_t len = 0, uint8_t mode = SX127X_RXCONTINUOUS);
714 
724  int16_t readData(uint8_t* data, size_t len) override;
725 
726 
727  // configuration methods
728 
736  int16_t setSyncWord(uint8_t syncWord);
737 
745  int16_t setCurrentLimit(uint8_t currentLimit);
746 
754  int16_t setPreambleLength(uint16_t preambleLength);
755 
763  float getFrequencyError(bool autoCorrect = false);
764 
770  float getSNR();
771 
777  float getDataRate() const;
778 
786  int16_t setBitRate(float br);
787 
795  int16_t setFrequencyDeviation(float freqDev) override;
796 
804  int16_t setRxBandwidth(float rxBw);
805 
815  int16_t setSyncWord(uint8_t* syncWord, size_t len);
816 
824  int16_t setNodeAddress(uint8_t nodeAddr);
825 
833  int16_t setBroadcastAddress(uint8_t broadAddr);
834 
840  int16_t disableAddressFiltering();
841 
849  int16_t setOOK(bool enableOOK);
850 
858  size_t getPacketLength(bool update = true) override;
859 
867  int16_t fixedPacketLengthMode(uint8_t len = SX127X_MAX_PACKET_LENGTH_FSK);
868 
876  int16_t variablePacketLengthMode(uint8_t maxLen = SX127X_MAX_PACKET_LENGTH_FSK);
877 
888  int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset = 0);
889 
898  int16_t setEncoding(uint8_t encoding) override;
899 
907  uint16_t getIRQFlags();
908 
914  uint8_t getModemStatus();
915 
922  int8_t getTempRaw();
923 
932  void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);
933 
934 #ifndef RADIOLIB_GODMODE
935  protected:
936 #endif
937  Module* _mod;
938 
939  float _freq = 0;
940  float _bw = 0;
941  uint8_t _sf = 0;
942  uint8_t _cr = 0;
943  float _br = 0;
944  float _rxBw = 0;
945  bool _ook = false;
946 
947  int16_t setFrequencyRaw(float newFreq);
948  int16_t config();
949  int16_t configFSK();
950  int16_t getActiveModem();
951  int16_t directMode();
952  int16_t setPacketMode(uint8_t mode, uint8_t len);
953 
954 #ifndef RADIOLIB_GODMODE
955  private:
956 #endif
957  float _dataRate = 0;
958  size_t _packetLength = 0;
959  bool _packetLengthQueried = false; // FSK packet length is the first byte in FIFO, length can only be queried once
960  uint8_t _packetLengthConfig = SX127X_PACKET_VARIABLE;
961 
962  bool findChip(uint8_t ver);
963  int16_t setMode(uint8_t mode);
964  int16_t setActiveModem(uint8_t modem);
965  void clearIRQFlags();
966  void clearFIFO(size_t count); // used mostly to clear remaining bytes in FIFO after a packet read
967 };
968 
969 #endif
970 
971 #endif
float getDataRate() const
Get data rate of the latest transmitted packet.
Definition: SX127x.cpp:659
+
int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)
Sets RSSI measurement configuration in FSK mode.
Definition: SX127x.cpp:890
+
Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from thi...
Definition: SX127x.h:536
+
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX127x.cpp:854
+
int16_t readData(uint8_t *data, size_t len) override
Reads data that was received after calling startReceive method. This method reads len characters...
Definition: SX127x.cpp:480
+
int16_t transmitDirect(uint32_t frf=0) override
Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode...
Definition: SX127x.cpp:288
+
int16_t startTransmit(String &str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes.
Definition: PhysicalLayer.cpp:49
+
void clearDio0Action()
Clears interrupt service routine to call when DIO0 activates.
Definition: SX127x.cpp:401
+
virtual void reset()=0
Reset method. Will reset the chip to the default state using RST pin. Declared pure virtual since SX1...
+
int16_t setNodeAddress(uint8_t nodeAddr)
Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode...
Definition: SX127x.cpp:774
+
int16_t receive(uint8_t *data, size_t len) override
Binary receive method. Will attempt to receive arbitrary binary data up to 255 bytes long using LoRa ...
Definition: SX127x.cpp:188
+
int16_t transmit(uint8_t *data, size_t len, uint8_t addr=0) override
Binary transmit method. Will transmit arbitrary binary data up to 255 bytes long using LoRa or up to ...
Definition: SX127x.cpp:121
+
float getSNR()
Gets signal-to-noise ratio of the latest received packet.
Definition: SX127x.cpp:648
+
int16_t setSyncWord(uint8_t syncWord)
Sets LoRa sync word. Only available in LoRa mode.
Definition: SX127x.cpp:530
+
int16_t setBitRate(float br)
Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode...
Definition: SX127x.cpp:663
+
int16_t setOOK(bool enableOOK)
Enables/disables OOK modulation instead of FSK.
Definition: SX127x.cpp:820
+
float getFrequencyError(bool autoCorrect=false)
Gets frequency error of the latest received packet.
Definition: SX127x.cpp:595
+
int16_t startTransmit(uint8_t *data, size_t len, uint8_t addr=0) override
Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 255 byte...
Definition: SX127x.cpp:419
+
uint8_t getModemStatus()
Reads modem status. Only available in LoRa mode.
Definition: SX127x.cpp:947
+
int16_t setCurrentLimit(uint8_t currentLimit)
Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45...
Definition: SX127x.cpp:543
+
int16_t sleep()
Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data ...
Definition: SX127x.cpp:272
+
int16_t startReceive(uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)
Interrupt-driven receive method. DIO0 will be activated when full valid packet is received...
Definition: SX127x.cpp:353
+
void setDio0Action(void(*func)(void))
Set interrupt service routine function to call when DIO0 activates.
Definition: SX127x.cpp:397
+
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX127x.cpp:412
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)
Arduino Flash String transmit method.
Definition: PhysicalLayer.cpp:8
+
int16_t receiveDirect() override
Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode...
Definition: SX127x.cpp:314
+
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING.
Definition: SX127x.cpp:913
+
int16_t variablePacketLengthMode(uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)
Set modem in variable packet length mode. Available in FSK mode only.
Definition: SX127x.cpp:886
+
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and mu...
Definition: SX127x.cpp:692
+
int16_t standby() override
Sets the LoRa module to standby.
Definition: SX127x.cpp:280
+
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:98
+
int16_t setRxBandwidth(float rxBw)
Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode...
Definition: SX127x.cpp:715
+
int16_t beginFSK(uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)
Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK init...
Definition: SX127x.cpp:52
+
uint16_t getIRQFlags()
Reads currently active IRQ flags, can be used to check which event caused an interrupt. In LoRa mode, this is the content of SX127X_REG_IRQ_FLAGS register. In FSK mode, this is the contents of SX127X_REG_IRQ_FLAGS_2 (MSB) and SX127X_REG_IRQ_FLAGS_1 (LSB) registers.
Definition: SX127x.cpp:932
+
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
+
int8_t getTempRaw()
Reads uncalibrated temperature value. This function will change operating mode and should not be call...
Definition: SX127x.cpp:961
+
int16_t scanChannel()
Performs scan for valid LoRa preamble in the current channel.
Definition: SX127x.cpp:233
+
void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
Some modules contain external RF switch controlled by two pins. This function gives RadioLib control ...
Definition: SX127x.cpp:957
+
int16_t packetMode()
Disables direct mode and enables packet mode, allowing the module to receive packets. Can only be activated in FSK mode.
Definition: SX127x.cpp:344
+
int16_t disableAddressFiltering()
Disables FSK address filtering.
Definition: SX127x.cpp:802
+
int16_t setBroadcastAddress(uint8_t broadAddr)
Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK ...
Definition: SX127x.cpp:788
+
void setDio1Action(void(*func)(void))
Set interrupt service routine function to call when DIO1 activates.
Definition: SX127x.cpp:405
+
SX127x(Module *mod)
Default constructor. Called internally when creating new LoRa instance.
Definition: SX127x.cpp:4
+
int16_t fixedPacketLengthMode(uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)
Set modem in fixed packet length mode. Available in FSK mode only.
Definition: SX127x.cpp:882
+
int16_t begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)
Initialization method. Will be called with appropriate parameters when calling initialization method ...
Definition: SX127x.cpp:8
+
int16_t readData(String &str, size_t len=0)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:57
+
int16_t setPreambleLength(uint16_t preambleLength)
Sets LoRa preamble length. Allowed values range from 6 to 65535. Only available in LoRa mode...
Definition: SX127x.cpp:567
+
+
+ + + + diff --git a/_s_x1280_8h_source.html b/_s_x1280_8h_source.html new file mode 100644 index 00000000..e37f96ea --- /dev/null +++ b/_s_x1280_8h_source.html @@ -0,0 +1,130 @@ + + + + + + +RadioLib: src/modules/SX128x/SX1280.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1280.h
+
+
+
1 #if !defined(_RADIOLIB_SX1280_H)
2 #define _RADIOLIB_SX1280_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX128X)
7 
8 #include "../../Module.h"
9 #include "SX128x.h"
10 #include "SX1281.h"
11 
17 class SX1280: public SX1281 {
18  public:
24  SX1280(Module* mod);
25 
35  int16_t range(bool master, uint32_t addr);
36 
46  int16_t startRanging(bool master, uint32_t addr);
47 
53  float getRangingResult();
54 
55 #ifndef RADIOLIB_GODMODE
56  private:
57 #endif
58 
59 };
60 
61 #endif
62 
63 #endif
Derived class for SX1280 modules.
Definition: SX1280.h:17
+
int16_t range(bool master, uint32_t addr)
Blocking ranging method.
Definition: SX1280.cpp:8
+
int16_t startRanging(bool master, uint32_t addr)
Interrupt-driven ranging method.
Definition: SX1280.cpp:34
+
Derived class for SX1281 modules.
Definition: SX1281.h:16
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
float getRangingResult()
Gets ranging result of the last ranging exchange.
Definition: SX1280.cpp:104
+
SX1280(Module *mod)
Default constructor.
Definition: SX1280.cpp:4
+
+
+ + + + diff --git a/_s_x1281_8h_source.html b/_s_x1281_8h_source.html new file mode 100644 index 00000000..0a4abd40 --- /dev/null +++ b/_s_x1281_8h_source.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/SX128x/SX1281.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1281.h
+
+
+
1 #if !defined(_RADIOLIB_SX1281_H)
2 #define _RADIOLIB_SX1281_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX128X)
7 
8 #include "../../Module.h"
9 #include "SX128x.h"
10 
16 class SX1281: public SX128x {
17  public:
23  SX1281(Module* mod);
24 
25 #ifndef RADIOLIB_GODMODE
26  private:
27 #endif
28 
29 };
30 
31 #endif
32 
33 #endif
Derived class for SX1281 modules.
Definition: SX1281.h:16
+
SX1281(Module *mod)
Default constructor.
Definition: SX1281.cpp:4
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
Base class for SX128x series. All derived classes for SX128x (e.g. SX1280 or SX1281) inherit from thi...
Definition: SX128x.h:339
+
+
+ + + + diff --git a/_s_x1282_8h_source.html b/_s_x1282_8h_source.html new file mode 100644 index 00000000..30270f1c --- /dev/null +++ b/_s_x1282_8h_source.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/SX128x/SX1282.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1282.h
+
+
+
1 #if !defined(_RADIOLIB_SX1282_H)
2 #define _RADIOLIB_SX1282_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX128X)
7 
8 #include "../../Module.h"
9 #include "SX128x.h"
10 #include "SX1280.h"
11 
17 class SX1282: public SX1280 {
18  public:
24  SX1282(Module* mod);
25 
26 #ifndef RADIOLIB_GODMODE
27  private:
28 #endif
29 
30 };
31 
32 #endif
33 
34 #endif
Derived class for SX1280 modules.
Definition: SX1280.h:17
+
SX1282(Module *mod)
Default constructor.
Definition: SX1282.cpp:5
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
Derived class for SX1282 modules.
Definition: SX1282.h:17
+
+
+ + + + diff --git a/_s_x128x_8h_source.html b/_s_x128x_8h_source.html new file mode 100644 index 00000000..ed7f620f --- /dev/null +++ b/_s_x128x_8h_source.html @@ -0,0 +1,170 @@ + + + + + + +RadioLib: src/modules/SX128x/SX128x.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX128x.h
+
+
+
1 #if !defined(_RADIOLIB_SX128X_H)
2 #define _RADIOLIB_SX128X_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SX128X)
7 
8 #include "../../Module.h"
9 
10 #include "../../protocols/PhysicalLayer/PhysicalLayer.h"
11 
12 // SX128X physical layer properties
13 #define SX128X_FREQUENCY_STEP_SIZE 198.3642578
14 #define SX128X_MAX_PACKET_LENGTH 255
15 #define SX128X_CRYSTAL_FREQ 52.0
16 #define SX128X_DIV_EXPONENT 18
17 
18 // SX128X SPI commands
19 #define SX128X_CMD_NOP 0x00
20 #define SX128X_CMD_GET_STATUS 0xC0
21 #define SX128X_CMD_WRITE_REGISTER 0x18
22 #define SX128X_CMD_READ_REGISTER 0x19
23 #define SX128X_CMD_WRITE_BUFFER 0x1A
24 #define SX128X_CMD_READ_BUFFER 0x1B
25 #define SX128X_CMD_SET_SLEEP 0x84
26 #define SX128X_CMD_SET_STANDBY 0x80
27 #define SX128X_CMD_SET_FS 0xC1
28 #define SX128X_CMD_SET_TX 0x83
29 #define SX128X_CMD_SET_RX 0x82
30 #define SX128X_CMD_SET_RX_DUTY_CYCLE 0x94
31 #define SX128X_CMD_SET_CAD 0xC5
32 #define SX128X_CMD_SET_TX_CONTINUOUS_WAVE 0xD1
33 #define SX128X_CMD_SET_TX_CONTINUOUS_PREAMBLE 0xD2
34 #define SX128X_CMD_SET_PACKET_TYPE 0x8A
35 #define SX128X_CMD_GET_PACKET_TYPE 0x03
36 #define SX128X_CMD_SET_RF_FREQUENCY 0x86
37 #define SX128X_CMD_SET_TX_PARAMS 0x8E
38 #define SX128X_CMD_SET_CAD_PARAMS 0x88
39 #define SX128X_CMD_SET_BUFFER_BASE_ADDRESS 0x8F
40 #define SX128X_CMD_SET_MODULATION_PARAMS 0x8B
41 #define SX128X_CMD_SET_PACKET_PARAMS 0x8C
42 #define SX128X_CMD_GET_RX_BUFFER_STATUS 0x17
43 #define SX128X_CMD_GET_PACKET_STATUS 0x1D
44 #define SX128X_CMD_GET_RSSI_INST 0x1F
45 #define SX128X_CMD_SET_DIO_IRQ_PARAMS 0x8D
46 #define SX128X_CMD_GET_IRQ_STATUS 0x15
47 #define SX128X_CMD_CLEAR_IRQ_STATUS 0x97
48 #define SX128X_CMD_SET_REGULATOR_MODE 0x96
49 #define SX128X_CMD_SET_SAVE_CONTEXT 0xD5
50 #define SX128X_CMD_SET_AUTO_TX 0x98
51 #define SX128X_CMD_SET_AUTO_FS 0x9E
52 #define SX128X_CMD_SET_PERF_COUNTER_MODE 0x9C
53 #define SX128X_CMD_SET_LONG_PREAMBLE 0x9B
54 #define SX128X_CMD_SET_UART_SPEED 0x9D
55 #define SX128X_CMD_SET_RANGING_ROLE 0xA3
56 #define SX128X_CMD_SET_ADVANCED_RANGING 0x9A
57 
58 // SX128X register map
59 #define SX128X_REG_SYNC_WORD_1_BYTE_4 0x09CE
60 #define SX128X_REG_SYNC_WORD_1_BYTE_3 0x09CF
61 #define SX128X_REG_SYNC_WORD_1_BYTE_2 0x09D0
62 #define SX128X_REG_SYNC_WORD_1_BYTE_1 0x09D1
63 #define SX128X_REG_SYNC_WORD_1_BYTE_0 0x09D2
64 #define SX128X_REG_SYNC_WORD_2_BYTE_4 0x09D3
65 #define SX128X_REG_SYNC_WORD_2_BYTE_3 0x09D4
66 #define SX128X_REG_SYNC_WORD_2_BYTE_2 0x09D5
67 #define SX128X_REG_SYNC_WORD_2_BYTE_1 0x09D6
68 #define SX128X_REG_SYNC_WORD_2_BYTE_0 0x09D7
69 #define SX128X_REG_SYNC_WORD_3_BYTE_4 0x09D8
70 #define SX128X_REG_SYNC_WORD_3_BYTE_3 0x09D9
71 #define SX128X_REG_SYNC_WORD_3_BYTE_2 0x09DA
72 #define SX128X_REG_SYNC_WORD_3_BYTE_1 0x09DB
73 #define SX128X_REG_SYNC_WORD_3_BYTE_0 0x09DC
74 #define SX128X_REG_CRC_INITIAL_MSB 0x09C8
75 #define SX128X_REG_CRC_INITIAL_LSB 0x09C9
76 #define SX128X_REG_CRC_POLYNOMIAL_MSB 0x09C6
77 #define SX128X_REG_CRC_POLYNOMIAL_LSB 0x09C7
78 #define SX128X_REG_ACCESS_ADDRESS_BYTE_3 (SX128X_REG_SYNC_WORD_1_BYTE_3)
79 #define SX128X_REG_ACCESS_ADDRESS_BYTE_2 (SX128X_REG_SYNC_WORD_1_BYTE_2)
80 #define SX128X_REG_ACCESS_ADDRESS_BYTE_1 (SX128X_REG_SYNC_WORD_1_BYTE_1)
81 #define SX128X_REG_ACCESS_ADDRESS_BYTE_0 (SX128X_REG_SYNC_WORD_1_BYTE_0)
82 #define SX128X_REG_BLE_CRC_INITIAL_MSB 0x09C7
83 #define SX128X_REG_BLE_CRC_INITIAL_MID (SX128X_REG_CRC_INITIAL_MSB)
84 #define SX128X_REG_BLE_CRC_INITIAL_LSB (SX128X_REG_CRC_INITIAL_LSB)
85 #define SX128X_REG_SLAVE_RANGING_ADDRESS_BYTE_3 0x0916
86 #define SX128X_REG_SLAVE_RANGING_ADDRESS_BYTE_2 0x0917
87 #define SX128X_REG_SLAVE_RANGING_ADDRESS_BYTE_1 0x0918
88 #define SX128X_REG_SLAVE_RANGING_ADDRESS_BYTE_0 0x0919
89 #define SX128X_REG_SLAVE_RANGING_ADDRESS_WIDTH 0x0931
90 #define SX128X_REG_MASTER_RANGING_ADDRESS_BYTE_3 0x0912
91 #define SX128X_REG_MASTER_RANGING_ADDRESS_BYTE_2 0x0913
92 #define SX128X_REG_MASTER_RANGING_ADDRESS_BYTE_1 0x0914
93 #define SX128X_REG_MASTER_RANGING_ADDRESS_BYTE_0 0x0915
94 #define SX128X_REG_RANGING_CALIBRATION_MSB 0x092C
95 #define SX128X_REG_RANGING_CALIBRATION_LSB 0x092D
96 #define SX128X_REG_RANGING_RESULT_MSB 0x0961
97 #define SX128X_REG_RANGING_RESULT_MID 0x0962
98 #define SX128X_REG_RANGING_RESULT_LSB 0x0963
99 #define SX128X_REG_MANUAL_GAIN_CONTROL_ENABLE_1 0x089F
100 #define SX128X_REG_MANUAL_GAIN_CONTROL_ENABLE_2 0x0895
101 #define SX128X_REG_MANUAL_GAIN_SETTING 0x089E
102 #define SX128X_REG_GAIN_MODE 0x0891
103 #define SX128X_REG_LORA_FIXED_PAYLOAD_LENGTH 0x0901
104 #define SX128X_REG_LORA_SF_CONFIG 0x0925
105 #define SX128X_REG_FEI_MSB 0x0954
106 #define SX128X_REG_FEI_MID 0x0955
107 #define SX128X_REG_FEI_LSB 0x0956
108 #define SX128X_REG_RANGING_FILTER_WINDOW_SIZE 0x091E
109 #define SX128X_REG_RANGING_FILTER_RSSI_OFFSET 0x0953
110 #define SX128X_REG_RANGING_FILTER_RESET 0x0923
111 #define SX128X_REG_RANGING_LORA_CLOCK_ENABLE 0x097F
112 #define SX128X_REG_RANGING_TYPE 0x0924
113 #define SX128X_REG_RANGING_ADDRESS_SWITCH 0x0927
114 #define SX128X_REG_RANGING_ADDRESS_MSB 0x095F
115 #define SX128X_REG_RANGING_ADDRESS_LSB 0x0960
116 
117 
118 // SX128X SPI command variables
119 //SX128X_CMD_GET_STATUS MSB LSB DESCRIPTION
120 #define SX128X_STATUS_MODE_STDBY_RC 0b01000000 // 7 5 current chip mode: STDBY_RC
121 #define SX128X_STATUS_MODE_STDBY_XOSC 0b01100000 // 7 5 STDBY_XOSC
122 #define SX128X_STATUS_MODE_FS 0b10000000 // 7 5 FS
123 #define SX128X_STATUS_MODE_RX 0b10100000 // 7 5 Rx
124 #define SX128X_STATUS_MODE_TX 0b11000000 // 7 5 Tx
125 #define SX128X_STATUS_CMD_PROCESSED 0b00000100 // 4 2 command status: processing OK
126 #define SX128X_STATUS_DATA_AVAILABLE 0b00001000 // 4 2 data available
127 #define SX128X_STATUS_CMD_TIMEOUT 0b00001100 // 4 2 timeout
128 #define SX128X_STATUS_CMD_ERROR 0b00010000 // 4 2 processing error
129 #define SX128X_STATUS_CMD_FAILED 0b00010100 // 4 2 failed to execute
130 #define SX128X_STATUS_TX_DONE 0b00011000 // 4 2 transmission finished
131 #define SX128X_STATUS_BUSY 0b00000001 // 0 0 chip busy
132 #define SX128X_STATUS_SPI_FAILED 0b11111111 // 7 0 SPI transaction failed
133 
134 //SX128X_CMD_SET_SLEEP
135 #define SX128X_SLEEP_DATA_BUFFER_FLUSH 0b00000000 // 1 1 data buffer behavior in sleep mode: flush
136 #define SX128X_SLEEP_DATA_BUFFER_RETAIN 0b00000010 // 1 1 retain
137 #define SX128X_SLEEP_DATA_RAM_FLUSH 0b00000000 // 0 0 data RAM (configuration) behavior in sleep mode: flush
138 #define SX128X_SLEEP_DATA_RAM_RETAIN 0b00000001 // 0 0 retain
139 
140 //SX128X_CMD_SET_STANDBY
141 #define SX128X_STANDBY_RC 0x00 // 7 0 standby mode: 13 MHz RC oscillator
142 #define SX128X_STANDBY_XOSC 0x01 // 7 0 52 MHz crystal oscillator
143 
144 //SX128X_CMD_SET_TX + SX128X_CMD_SET_RX + SX128X_CMD_SET_RX_DUTY_CYCLE
145 #define SX128X_PERIOD_BASE_15_625_US 0x00 // 7 0 time period step: 15.625 us
146 #define SX128X_PERIOD_BASE_62_5_US 0x01 // 7 0 62.5 us
147 #define SX128X_PERIOD_BASE_1_MS 0x02 // 7 0 1 ms
148 #define SX128X_PERIOD_BASE_4_MS 0x03 // 7 0 4 ms
149 
150 //SX128X_CMD_SET_TX
151 #define SX128X_TX_TIMEOUT_NONE 0x0000 // 15 0 Tx timeout duration: no timeout (Tx single mode)
152 
153 //SX128X_CMD_SET_RX
154 #define SX128X_RX_TIMEOUT_NONE 0x0000 // 15 0 Rx timeout duration: no timeout (Rx single mode)
155 #define SX128X_RX_TIMEOUT_INF 0xFFFF // 15 0 infinite (Rx continuous mode)
156 
157 //SX128X_CMD_SET_PACKET_TYPE
158 #define SX128X_PACKET_TYPE_GFSK 0x00 // 7 0 packet type: (G)FSK
159 #define SX128X_PACKET_TYPE_LORA 0x01 // 7 0 LoRa
160 #define SX128X_PACKET_TYPE_RANGING 0x02 // 7 0 ranging engine
161 #define SX128X_PACKET_TYPE_FLRC 0x03 // 7 0 FLRC
162 #define SX128X_PACKET_TYPE_BLE 0x04 // 7 0 BLE
163 
164 //SX128X_CMD_SET_TX_PARAMS
165 #define SX128X_PA_RAMP_02_US 0x00 // 7 0 PA ramp time: 2 us
166 #define SX128X_PA_RAMP_04_US 0x20 // 7 0 4 us
167 #define SX128X_PA_RAMP_06_US 0x40 // 7 0 6 us
168 #define SX128X_PA_RAMP_08_US 0x60 // 7 0 8 us
169 #define SX128X_PA_RAMP_10_US 0x80 // 7 0 10 us
170 #define SX128X_PA_RAMP_12_US 0xA0 // 7 0 12 us
171 #define SX128X_PA_RAMP_16_US 0xC0 // 7 0 16 us
172 #define SX128X_PA_RAMP_20_US 0xE0 // 7 0 20 us
173 
174 //SX128X_CMD_SET_CAD_PARAMS
175 #define SX128X_CAD_ON_1_SYMB 0x00 // 7 0 number of symbols used for CAD: 1
176 #define SX128X_CAD_ON_2_SYMB 0x20 // 7 0 2
177 #define SX128X_CAD_ON_4_SYMB 0x40 // 7 0 4
178 #define SX128X_CAD_ON_8_SYMB 0x60 // 7 0 8
179 #define SX128X_CAD_ON_16_SYMB 0x80 // 7 0 16
180 
181 //SX128X_CMD_SET_MODULATION_PARAMS
182 #define SX128X_BLE_GFSK_BR_2_000_BW_2_4 0x04 // 7 0 GFSK/BLE bit rate and bandwidth setting: 2.0 Mbps 2.4 MHz
183 #define SX128X_BLE_GFSK_BR_1_600_BW_2_4 0x28 // 7 0 1.6 Mbps 2.4 MHz
184 #define SX128X_BLE_GFSK_BR_1_000_BW_2_4 0x4C // 7 0 1.0 Mbps 2.4 MHz
185 #define SX128X_BLE_GFSK_BR_1_000_BW_1_2 0x45 // 7 0 1.0 Mbps 1.2 MHz
186 #define SX128X_BLE_GFSK_BR_0_800_BW_2_4 0x70 // 7 0 0.8 Mbps 2.4 MHz
187 #define SX128X_BLE_GFSK_BR_0_800_BW_1_2 0x69 // 7 0 0.8 Mbps 1.2 MHz
188 #define SX128X_BLE_GFSK_BR_0_500_BW_1_2 0x8D // 7 0 0.5 Mbps 1.2 MHz
189 #define SX128X_BLE_GFSK_BR_0_500_BW_0_6 0x86 // 7 0 0.5 Mbps 0.6 MHz
190 #define SX128X_BLE_GFSK_BR_0_400_BW_1_2 0xB1 // 7 0 0.4 Mbps 1.2 MHz
191 #define SX128X_BLE_GFSK_BR_0_400_BW_0_6 0xAA // 7 0 0.4 Mbps 0.6 MHz
192 #define SX128X_BLE_GFSK_BR_0_250_BW_0_6 0xCE // 7 0 0.25 Mbps 0.6 MHz
193 #define SX128X_BLE_GFSK_BR_0_250_BW_0_3 0xC7 // 7 0 0.25 Mbps 0.3 MHz
194 #define SX128X_BLE_GFSK_BR_0_125_BW_0_3 0xEF // 7 0 0.125 Mbps 0.3 MHz
195 #define SX128X_BLE_GFSK_MOD_IND_0_35 0x00 // 7 0 GFSK/BLE modulation index: 0.35
196 #define SX128X_BLE_GFSK_MOD_IND_0_50 0x01 // 7 0 0.50
197 #define SX128X_BLE_GFSK_MOD_IND_0_75 0x02 // 7 0 0.75
198 #define SX128X_BLE_GFSK_MOD_IND_1_00 0x03 // 7 0 1.00
199 #define SX128X_BLE_GFSK_MOD_IND_1_25 0x04 // 7 0 1.25
200 #define SX128X_BLE_GFSK_MOD_IND_1_50 0x05 // 7 0 1.50
201 #define SX128X_BLE_GFSK_MOD_IND_1_75 0x06 // 7 0 1.75
202 #define SX128X_BLE_GFSK_MOD_IND_2_00 0x07 // 7 0 2.00
203 #define SX128X_BLE_GFSK_MOD_IND_2_25 0x08 // 7 0 2.25
204 #define SX128X_BLE_GFSK_MOD_IND_2_50 0x09 // 7 0 2.50
205 #define SX128X_BLE_GFSK_MOD_IND_2_75 0x0A // 7 0 2.75
206 #define SX128X_BLE_GFSK_MOD_IND_3_00 0x0B // 7 0 3.00
207 #define SX128X_BLE_GFSK_MOD_IND_3_25 0x0C // 7 0 3.25
208 #define SX128X_BLE_GFSK_MOD_IND_3_50 0x0D // 7 0 3.50
209 #define SX128X_BLE_GFSK_MOD_IND_3_75 0x0E // 7 0 3.75
210 #define SX128X_BLE_GFSK_MOD_IND_4_00 0x0F // 7 0 4.00
211 #define SX128X_BLE_GFSK_BT_OFF 0x00 // 7 0 GFSK Gaussian filter BT product: filter disabled
212 #define SX128X_BLE_GFSK_BT_1_0 0x10 // 7 0 1.0
213 #define SX128X_BLE_GFSK_BT_0_5 0x20 // 7 0 0.5
214 #define SX128X_FLRC_BR_1_300_BW_1_2 0x45 // 7 0 FLRC bit rate and bandwidth setting: 1.3 Mbps 1.2 MHz
215 #define SX128X_FLRC_BR_1_000_BW_1_2 0x69 // 7 0 1.04 Mbps 1.2 MHz
216 #define SX128X_FLRC_BR_0_650_BW_0_6 0x86 // 7 0 0.65 Mbps 0.6 MHz
217 #define SX128X_FLRC_BR_0_520_BW_0_6 0xAA // 7 0 0.52 Mbps 0.6 MHz
218 #define SX128X_FLRC_BR_0_325_BW_0_3 0xC7 // 7 0 0.325 Mbps 0.3 MHz
219 #define SX128X_FLRC_BR_0_260_BW_0_3 0xEB // 7 0 0.260 Mbps 0.3 MHz
220 #define SX128X_FLRC_CR_1_2 0x00 // 7 0 FLRC coding rate: 1/2
221 #define SX128X_FLRC_CR_3_4 0x02 // 7 0 3/4
222 #define SX128X_FLRC_CR_1_0 0x04 // 7 0 1/1
223 #define SX128X_FLRC_BT_OFF 0x00 // 7 0 FLRC Gaussian filter BT product: filter disabled
224 #define SX128X_FLRC_BT_1_0 0x10 // 7 0 1.0
225 #define SX128X_FLRC_BT_0_5 0x20 // 7 0 0.5
226 #define SX128X_LORA_SF_5 0x50 // 7 0 LoRa spreading factor: 5
227 #define SX128X_LORA_SF_6 0x60 // 7 0 6
228 #define SX128X_LORA_SF_7 0x70 // 7 0 7
229 #define SX128X_LORA_SF_8 0x80 // 7 0 8
230 #define SX128X_LORA_SF_9 0x90 // 7 0 9
231 #define SX128X_LORA_SF_10 0xA0 // 7 0 10
232 #define SX128X_LORA_SF_11 0xB0 // 7 0 11
233 #define SX128X_LORA_SF_12 0xC0 // 7 0 12
234 #define SX128X_LORA_BW_1625_00 0x0A // 7 0 LoRa bandwidth: 1625.0 kHz
235 #define SX128X_LORA_BW_812_50 0x18 // 7 0 812.5 kHz
236 #define SX128X_LORA_BW_406_25 0x26 // 7 0 406.25 kHz
237 #define SX128X_LORA_BW_203_125 0x34 // 7 0 203.125 kHz
238 #define SX128X_LORA_CR_4_5 0x01 // 7 0 LoRa coding rate: 4/5
239 #define SX128X_LORA_CR_4_6 0x02 // 7 0 4/6
240 #define SX128X_LORA_CR_4_7 0x03 // 7 0 4/7
241 #define SX128X_LORA_CR_4_8 0x04 // 7 0 4/8
242 #define SX128X_LORA_CR_4_5_LI 0x05 // 7 0 4/5, long interleaving
243 #define SX128X_LORA_CR_4_6_LI 0x06 // 7 0 4/6, long interleaving
244 #define SX128X_LORA_CR_4_7_LI 0x07 // 7 0 4/7, long interleaving
245 
246 //SX128X_CMD_SET_PACKET_PARAMS
247 #define SX128X_GFSK_FLRC_SYNC_WORD_OFF 0x00 // 7 0 GFSK/FLRC sync word used: none
248 #define SX128X_GFSK_FLRC_SYNC_WORD_1 0x10 // 7 0 sync word 1
249 #define SX128X_GFSK_FLRC_SYNC_WORD_2 0x20 // 7 0 sync word 2
250 #define SX128X_GFSK_FLRC_SYNC_WORD_1_2 0x30 // 7 0 sync words 1 and 2
251 #define SX128X_GFSK_FLRC_SYNC_WORD_3 0x40 // 7 0 sync word 3
252 #define SX128X_GFSK_FLRC_SYNC_WORD_1_3 0x50 // 7 0 sync words 1 and 3
253 #define SX128X_GFSK_FLRC_SYNC_WORD_2_3 0x60 // 7 0 sync words 2 and 3
254 #define SX128X_GFSK_FLRC_SYNC_WORD_1_2_3 0x70 // 7 0 sync words 1, 2 and 3
255 #define SX128X_GFSK_FLRC_PACKET_FIXED 0x00 // 7 0 GFSK/FLRC packet length mode: fixed
256 #define SX128X_GFSK_FLRC_PACKET_VARIABLE 0x20 // 7 0 variable
257 #define SX128X_GFSK_FLRC_CRC_OFF 0x00 // 7 0 GFSK/FLRC packet CRC: none
258 #define SX128X_GFSK_FLRC_CRC_1_BYTE 0x10 // 7 0 1 byte
259 #define SX128X_GFSK_FLRC_CRC_2_BYTE 0x20 // 7 0 2 bytes
260 #define SX128X_GFSK_FLRC_CRC_3_BYTE 0x30 // 7 0 3 bytes (FLRC only)
261 #define SX128X_GFSK_BLE_WHITENING_ON 0x00 // 7 0 GFSK/BLE whitening: enabled
262 #define SX128X_GFSK_BLE_WHITENING_OFF 0x08 // 7 0 disabled
263 #define SX128X_BLE_PAYLOAD_LENGTH_MAX_31 0x00 // 7 0 BLE maximum payload length: 31 bytes
264 #define SX128X_BLE_PAYLOAD_LENGTH_MAX_37 0x20 // 7 0 37 bytes
265 #define SX128X_BLE_PAYLOAD_LENGTH_TEST 0x40 // 7 0 63 bytes (test mode)
266 #define SX128X_BLE_PAYLOAD_LENGTH_MAX_255 0x80 // 7 0 255 bytes (Bluetooth 4.2 and above)
267 #define SX128X_BLE_CRC_OFF 0x00 // 7 0 BLE packet CRC: none
268 #define SX128X_BLE_CRC_3_BYTE 0x10 // 7 0 3 byte
269 #define SX128X_BLE_PRBS_9 0x00 // 7 0 BLE test payload contents: PRNG sequence using x^9 + x^5 + x
270 #define SX128X_BLE_EYELONG 0x04 // 7 0 repeated 0xF0
271 #define SX128X_BLE_EYESHORT 0x08 // 7 0 repeated 0xAA
272 #define SX128X_BLE_PRBS_15 0x0C // 7 0 PRNG sequence using x^15 + x^14 + x^13 + x^12 + x^2 + x + 1
273 #define SX128X_BLE_ALL_1 0x10 // 7 0 repeated 0xFF
274 #define SX128X_BLE_ALL_0 0x14 // 7 0 repeated 0x00
275 #define SX128X_BLE_EYELONG_INV 0x18 // 7 0 repeated 0x0F
276 #define SX128X_BLE_EYESHORT_INV 0x1C // 7 0 repeated 0x55
277 #define SX128X_FLRC_SYNC_WORD_OFF 0x00 // 7 0 FLRC sync word: disabled
278 #define SX128X_FLRC_SYNC_WORD_ON 0x04 // 7 0 enabled
279 #define SX128X_LORA_HEADER_EXPLICIT 0x00 // 7 0 LoRa header mode: explicit
280 #define SX128X_LORA_HEADER_IMPLICIT 0x80 // 7 0 implicit
281 #define SX128X_LORA_CRC_OFF 0x00 // 7 0 LoRa packet CRC: disabled
282 #define SX128X_LORA_CRC_ON 0x20 // 7 0 enabled
283 #define SX128X_LORA_IQ_STANDARD 0x40 // 7 0 LoRa IQ: standard
284 #define SX128X_LORA_IQ_INVERTED 0x00 // 7 0 inverted
285 
286 //SX128X_CMD_GET_PACKET_STATUS
287 #define SX128X_PACKET_STATUS_SYNC_ERROR 0b01000000 // 6 6 packet status errors byte: sync word error
288 #define SX128X_PACKET_STATUS_LENGTH_ERROR 0b00100000 // 5 5 packet length error
289 #define SX128X_PACKET_STATUS_CRC_ERROR 0b00010000 // 4 4 CRC error
290 #define SX128X_PACKET_STATUS_ABORT_ERROR 0b00001000 // 3 3 packet reception aborted
291 #define SX128X_PACKET_STATUS_HEADER_RECEIVED 0b00000100 // 2 2 header received
292 #define SX128X_PACKET_STATUS_PACKET_RECEIVED 0b00000010 // 1 1 packet received
293 #define SX128X_PACKET_STATUS_PACKET_CTRL_BUSY 0b00000001 // 0 0 packet controller is busy
294 #define SX128X_PACKET_STATUS_RX_PID 0b11000000 // 7 6 packet status status byte: PID field of the received packet
295 #define SX128X_PACKET_STATUS_NO_ACK 0b00100000 // 5 5 NO_ACK field of the received packet
296 #define SX128X_PACKET_STATUS_RX_PID_ERROR 0b00010000 // 4 4 PID field error
297 #define SX128X_PACKET_STATUS_PACKET_SENT 0b00000001 // 0 0 packet sent
298 #define SX128X_PACKET_STATUS_SYNC_DET_ERROR 0b00000000 // 2 0 packet status sync byte: sync word detection error
299 #define SX128X_PACKET_STATUS_SYNC_DET_1 0b00000001 // 2 0 detected sync word 1
300 #define SX128X_PACKET_STATUS_SYNC_DET_2 0b00000010 // 2 0 detected sync word 2
301 #define SX128X_PACKET_STATUS_SYNC_DET_3 0b00000100 // 2 0 detected sync word 3
302 
303 //SX128X_CMD_SET_DIO_IRQ_PARAMS
304 #define SX128X_IRQ_PREAMBLE_DETECTED 0x8000 // 15 15 interrupt source: preamble detected
305 #define SX128X_IRQ_ADVANCED_RANGING_DONE 0x8000 // 15 15 advanced ranging done
306 #define SX128X_IRQ_RX_TX_TIMEOUT 0x4000 // 14 14 Rx or Tx timeout
307 #define SX128X_IRQ_CAD_DETECTED 0x2000 // 13 13 channel activity detected
308 #define SX128X_IRQ_CAD_DONE 0x1000 // 12 12 CAD finished
309 #define SX128X_IRQ_RANGING_SLAVE_REQ_VALID 0x0800 // 11 11 ranging request valid (slave)
310 #define SX128X_IRQ_RANGING_MASTER_TIMEOUT 0x0400 // 10 10 ranging timeout (master)
311 #define SX128X_IRQ_RANGING_MASTER_RES_VALID 0x0200 // 9 9 ranging result valid (master)
312 #define SX128X_IRQ_RANGING_SLAVE_REQ_DISCARD 0x0100 // 8 8 ranging result valid (master)
313 #define SX128X_IRQ_RANGING_SLAVE_RESP_DONE 0x0080 // 7 7 ranging response complete (slave)
314 #define SX128X_IRQ_CRC_ERROR 0x0040 // 6 6 CRC error
315 #define SX128X_IRQ_HEADER_ERROR 0x0020 // 5 5 header error
316 #define SX128X_IRQ_HEADER_VALID 0x0010 // 4 4 header valid
317 #define SX128X_IRQ_SYNC_WORD_ERROR 0x0008 // 3 3 sync word error
318 #define SX128X_IRQ_SYNC_WORD_VALID 0x0004 // 2 2 sync word valid
319 #define SX128X_IRQ_RX_DONE 0x0002 // 1 1 Rx done
320 #define SX128X_IRQ_TX_DONE 0x0001 // 0 0 Tx done
321 #define SX128X_IRQ_NONE 0x0000 // 15 0 none
322 #define SX128X_IRQ_ALL 0xFFFF // 15 0 all
323 
324 //SX128X_CMD_SET_REGULATOR_MODE
325 #define SX128X_REGULATOR_LDO 0x00 // 7 0 set regulator mode: LDO (default)
326 #define SX128X_REGULATOR_DC_DC 0x01 // 7 0 DC-DC
327 
328 //SX128X_CMD_SET_RANGING_ROLE
329 #define SX128X_RANGING_ROLE_MASTER 0x01 // 7 0 ranging role: master
330 #define SX128X_RANGING_ROLE_SLAVE 0x00 // 7 0 slave
331 
332 
339 class SX128x: public PhysicalLayer {
340  public:
341  // introduce PhysicalLayer overloads
346 
352  SX128x(Module* mod);
353 
354  // basic methods
355 
373  int16_t begin(float freq = 2400.0, float bw = 812.5, uint8_t sf = 9, uint8_t cr = 7, int8_t power = 10, uint16_t preambleLength = 12);
374 
390  int16_t beginGFSK(float freq = 2400.0, uint16_t br = 800, float freqDev = 400.0, int8_t power = 10, uint16_t preambleLength = 16);
391 
407  int16_t beginBLE(float freq = 2400.0, uint16_t br = 800, float freqDev = 400.0, int8_t power = 10, uint8_t dataShaping = RADIOLIB_SHAPING_0_5);
408 
426  int16_t beginFLRC(float freq = 2400.0, uint16_t br = 650, uint8_t cr = 3, int8_t power = 10, uint16_t preambleLength = 16, uint8_t dataShaping = RADIOLIB_SHAPING_0_5);
427 
436  int16_t reset(bool verify = true);
437 
450  int16_t transmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
451 
462  int16_t receive(uint8_t* data, size_t len) override;
463 
471  int16_t transmitDirect(uint32_t frf = 0) override;
472 
479  int16_t receiveDirect() override;
480 
486  int16_t scanChannel();
487 
495  int16_t sleep(bool retainConfig = true);
496 
502  int16_t standby() override;
503 
511  int16_t standby(uint8_t mode);
512 
513  // interrupt methods
514 
520  void setDio1Action(void (*func)(void));
521 
525  void clearDio1Action();
526 
539  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
540 
548  int16_t startReceive(uint16_t timeout = SX128X_RX_TIMEOUT_INF);
549 
559  int16_t readData(uint8_t* data, size_t len) override;
560 
561  // configuration methods
562 
570  int16_t setFrequency(float freq);
571 
579  int16_t setBandwidth(float bw);
580 
588  int16_t setSpreadingFactor(uint8_t sf);
589 
599  int16_t setCodingRate(uint8_t cr, bool longInterleaving = false);
600 
608  int16_t setOutputPower(int8_t power);
609 
617  int16_t setPreambleLength(uint32_t preambleLength);
618 
626  int16_t setBitRate(uint16_t br);
627 
635  int16_t setFrequencyDeviation(float freqDev) override;
636 
645  int16_t setDataShaping(uint8_t sh) override;
646 
656  int16_t setSyncWord(uint8_t* syncWord, uint8_t len);
657 
669  int16_t setCRC(uint8_t len, uint32_t initial = 0x1D0F, uint16_t polynomial = 0x1021);
670 
678  int16_t setWhitening(bool enabled);
679 
687  int16_t setAccessAddress(uint32_t addr);
688 
694  float getRSSI();
695 
701  float getSNR();
702 
710  size_t getPacketLength(bool update = true) override;
711 
719  uint32_t getTimeOnAir(size_t len);
720 
726  int16_t implicitHeader(size_t len);
727 
735  int16_t explicitHeader();
736 
744  int16_t setEncoding(uint8_t encoding) override;
745 
754  void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);
755 
756 #ifndef RADIOLIB_GODMODE
757  protected:
758 #endif
759  Module* _mod;
760 
761  // cached LoRa parameters
762  float _bwKhz = 0;
763  uint8_t _bw = 0, _sf = 0, _cr = 0;
764  uint8_t _preambleLengthLoRa = 0, _headerType = 0, _payloadLen = 0, _crcLoRa = 0;
765 
766  // SX128x SPI command implementations
767  uint8_t getStatus();
768  int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
769  int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
770  int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
771  int16_t readBuffer(uint8_t* data, uint8_t numBytes);
772  int16_t setTx(uint16_t periodBaseCount = SX128X_TX_TIMEOUT_NONE, uint8_t periodBase = SX128X_PERIOD_BASE_15_625_US);
773  int16_t setRx(uint16_t periodBaseCount, uint8_t periodBase = SX128X_PERIOD_BASE_15_625_US);
774  int16_t setCad();
775  uint8_t getPacketType();
776  int16_t setRfFrequency(uint32_t frf);
777  int16_t setTxParams(uint8_t power, uint8_t rampTime = SX128X_PA_RAMP_10_US);
778  int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);
779  int16_t setModulationParams(uint8_t modParam1, uint8_t modParam2, uint8_t modParam3);
780  int16_t setPacketParamsGFSK(uint8_t preambleLen, uint8_t syncWordLen, uint8_t syncWordMatch, uint8_t crcLen, uint8_t whitening, uint8_t payloadLen = 0xFF, uint8_t headerType = SX128X_GFSK_FLRC_PACKET_VARIABLE);
781  int16_t setPacketParamsBLE(uint8_t connState, uint8_t crcLen, uint8_t bleTestPayload, uint8_t whitening);
782  int16_t setPacketParamsLoRa(uint8_t preambleLen, uint8_t headerType, uint8_t payloadLen, uint8_t crc, uint8_t invertIQ = SX128X_LORA_IQ_STANDARD);
783  int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = SX128X_IRQ_NONE, uint16_t dio3Mask = SX128X_IRQ_NONE);
784  uint16_t getIrqStatus();
785  int16_t clearIrqStatus(uint16_t clearIrqParams = SX128X_IRQ_ALL);
786  int16_t setRangingRole(uint8_t role);
787  int16_t setPacketType(uint8_t type);
788 
789  int16_t setHeaderType(uint8_t headerType, size_t len = 0xFF);
790 
791 #ifndef RADIOLIB_GODMODE
792  private:
793 #endif
794  // common parameters
795  uint8_t _pwr = 0;
796 
797  // cached GFSK parameters
798  float _modIndexReal = 0;
799  uint16_t _brKbps = 0;
800  uint8_t _br = 0, _modIndex = 0, _shaping = 0;
801  uint8_t _preambleLengthGFSK = 0, _syncWordLen = 0, _syncWordMatch = 0, _crcGFSK = 0, _whitening = 0;
802 
803  // cached FLRC parameters
804  uint8_t _crFLRC = 0;
805 
806  // cached BLE parameters
807  uint8_t _connectionState = 0, _crcBLE = 0, _bleTestPayload = 0;
808 
809  int16_t config(uint8_t modem);
810 
811  // common low-level SPI interface
812  int16_t SPIwriteCommand(uint8_t cmd, uint8_t* data, uint8_t numBytes, bool waitForBusy = true);
813  int16_t SPIwriteCommand(uint8_t* cmd, uint8_t cmdLen, uint8_t* data, uint8_t numBytes, bool waitForBusy = true);
814  int16_t SPIreadCommand(uint8_t cmd, uint8_t* data, uint8_t numBytes, bool waitForBusy = true);
815  int16_t SPIreadCommand(uint8_t* cmd, uint8_t cmdLen, uint8_t* data, uint8_t numBytes, bool waitForBusy = true);
816  int16_t SPItransfer(uint8_t* cmd, uint8_t cmdLen, bool write, uint8_t* dataOut, uint8_t* dataIn, uint8_t numBytes, bool waitForBusy, uint32_t timeout = 5000);
817 };
818 
819 #endif
820 
821 #endif
int16_t explicitHeader()
Set explicit header mode for future reception/transmission.
Definition: SX128x.cpp:1113
+
int16_t setAccessAddress(uint32_t addr)
Sets BLE access address.
Definition: SX128x.cpp:983
+
int16_t receive(uint8_t *data, size_t len) override
Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalL...
Definition: SX128x.cpp:308
+
int16_t standby() override
Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator)...
Definition: SX128x.cpp:430
+
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX128x.cpp:446
+
int16_t startTransmit(String &str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes.
Definition: PhysicalLayer.cpp:49
+
#define RADIOLIB_SHAPING_0_5
Gaussin shaping filter, BT = 0.5.
Definition: TypeDef.h:110
+
int16_t sleep(bool retainConfig=true)
Sets the module to sleep mode.
Definition: SX128x.cpp:414
+
int16_t implicitHeader(size_t len)
Set implicit header mode for future reception/transmission.
Definition: SX128x.cpp:1109
+
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Serves only as alias for PhysicalLayer compatibility. ...
Definition: SX128x.cpp:1117
+
int16_t reset(bool verify=true)
Reset method. Will reset the chip to the default state using RST pin.
Definition: SX128x.cpp:227
+
int16_t setSyncWord(uint8_t *syncWord, uint8_t len)
Sets FSK/FLRC sync word in the form of array of up to 5 bytes (FSK). For FLRC modem, the sync word must be exactly 4 bytes long.
Definition: SX128x.cpp:851
+
int16_t transmit(uint8_t *data, size_t len, uint8_t addr=0) override
Blocking binary transmit method. Overloads for string-based transmissions are implemented in Physical...
Definition: SX128x.cpp:260
+
float getSNR()
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa or ranging mode...
Definition: SX128x.cpp:1018
+
int16_t setBitRate(uint16_t br)
Sets FSK or FLRC bit rate. Allowed values are 125, 250, 400, 500, 800, 1000, 1600 and 2000 kbps (for ...
Definition: SX128x.cpp:737
+
uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX128x.cpp:1045
+
int16_t beginGFSK(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint16_t preambleLength=16)
Initialization method for GFSK modem.
Definition: SX128x.cpp:59
+
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX128x.cpp:1038
+
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa spreading factor. Allowed values range from 5 to 12.
Definition: SX128x.cpp:621
+
int16_t setWhitening(bool enabled)
Sets whitening parameters, not available for LoRa or FLRC modem.
Definition: SX128x.cpp:963
+
int16_t setBandwidth(float bw)
Sets LoRa bandwidth. Allowed values are 203.125, 406.25, 812.5 and 1625.0 kHz.
Definition: SX128x.cpp:591
+
int16_t setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021)
Sets CRC configuration.
Definition: SX128x.cpp:899
+
int16_t receiveDirect() override
Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX128x series does...
Definition: SX128x.cpp:361
+
void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
Some modules contain external RF switch controlled by two pins. This function gives RadioLib control ...
Definition: SX128x.cpp:1121
+
void setDio1Action(void(*func)(void))
Sets interrupt service routine to call when DIO1 activates.
Definition: SX128x.cpp:442
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)
Arduino Flash String transmit method.
Definition: PhysicalLayer.cpp:8
+
Base class for SX128x series. All derived classes for SX128x (e.g. SX1280 or SX1281) inherit from thi...
Definition: SX128x.h:339
+
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:98
+
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values are in range from 2400.0 to 2500.0 MHz.
Definition: SX128x.cpp:583
+
int16_t beginBLE(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)
Initialization method for BLE modem.
Definition: SX128x.cpp:121
+
int16_t readData(uint8_t *data, size_t len) override
Reads data received after calling startReceive method.
Definition: SX128x.cpp:547
+
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
+
int16_t scanChannel()
Performs scan for LoRa transmission in the current channel. Detects both preamble and payload...
Definition: SX128x.cpp:369
+
SX128x(Module *mod)
Default constructor.
Definition: SX128x.cpp:4
+
float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: SX128x.cpp:994
+
int16_t setPreambleLength(uint32_t preambleLength)
Sets preamble length for currently active modem. Allowed values range from 1 to 65535.
Definition: SX128x.cpp:689
+
int16_t setCodingRate(uint8_t cr, bool longInterleaving=false)
Sets LoRa coding rate denominator. Allowed values range from 5 to 8.
Definition: SX128x.cpp:655
+
int16_t beginFLRC(float freq=2400.0, uint16_t br=650, uint8_t cr=3, int8_t power=10, uint16_t preambleLength=16, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)
Initialization method for FLRC modem.
Definition: SX128x.cpp:169
+
int16_t begin(float freq=2400.0, float bw=812.5, uint8_t sf=9, uint8_t cr=7, int8_t power=10, uint16_t preambleLength=12)
Initialization method for LoRa modem.
Definition: SX128x.cpp:8
+
int16_t startReceive(uint16_t timeout=SX128X_RX_TIMEOUT_INF)
Interrupt-driven receive method. DIO1 will be activated when full packet is received.
Definition: SX128x.cpp:514
+
int16_t setDataShaping(uint8_t sh) override
Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPI...
Definition: SX128x.cpp:821
+
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation. Allowed values range from 0.0 to 3200.0 kHz.
Definition: SX128x.cpp:794
+
int16_t transmitDirect(uint32_t frf=0) override
Starts direct mode transmission.
Definition: SX128x.cpp:346
+
int16_t setOutputPower(int8_t power)
Sets output power. Allowed values are in range from -18 to 13 dBm.
Definition: SX128x.cpp:683
+
int16_t readData(String &str, size_t len=0)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:57
+
int16_t startTransmit(uint8_t *data, size_t len, uint8_t addr=0) override
Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in ...
Definition: SX128x.cpp:450
+
+
+ + + + diff --git a/_si4430_8h_source.html b/_si4430_8h_source.html new file mode 100644 index 00000000..eeb9ad21 --- /dev/null +++ b/_si4430_8h_source.html @@ -0,0 +1,130 @@ + + + + + + +RadioLib: src/modules/Si443x/Si4430.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Si4430.h
+
+
+
1 #if !defined(_RADIOLIB_SI4430_H)
2 #define _RADIOLIB_SI4430_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SI443X)
7 
8 #include "../../Module.h"
9 #include "Si4432.h"
10 
16 class Si4430: public Si4432 {
17  public:
18 
19  // constructor
20 
26  Si4430(Module* mod);
27 
28  // basic methods
29 
47  int16_t begin(float freq = 434.0, float br = 48.0, float freqDev = 50.0, float rxBw = 181.1, int8_t power = 10, uint8_t preambleLen = 16);
48 
49  // configuration methods
50 
58  int16_t setFrequency(float freq);
59 
67  int16_t setOutputPower(int8_t power);
68 
69 
70 #ifndef RADIOLIB_GODMODE
71  protected:
72 #endif
73 
74 #ifndef RADIOLIB_GODMODE
75  private:
76 #endif
77 };
78 
79 #endif
80 
81 #endif
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 900.0 MHz to 960.0 MHz.
Definition: Si4430.cpp:23
+
int16_t begin(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=181.1, int8_t power=10, uint8_t preambleLen=16)
Initialization method. Must be called at least once from Arduino sketch to initialize the module...
Definition: Si4430.cpp:8
+
Derived class for Si4432 modules.
Definition: Si4432.h:16
+
Si4430(Module *mod)
Default constructor.
Definition: Si4430.cpp:4
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t setOutputPower(int8_t power)
Sets output power. Allowed values range from -8 to 13 dBm in 3 dBm steps.
Definition: Si4430.cpp:30
+
Derived class for Si4430 modules.
Definition: Si4430.h:16
+
+
+ + + + diff --git a/_si4431_8h_source.html b/_si4431_8h_source.html new file mode 100644 index 00000000..a755c2d4 --- /dev/null +++ b/_si4431_8h_source.html @@ -0,0 +1,129 @@ + + + + + + +RadioLib: src/modules/Si443x/Si4431.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Si4431.h
+
+
+
1 #if !defined(_RADIOLIB_SI4431_H)
2 #define _RADIOLIB_SI4431_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SI443X)
7 
8 #include "../../Module.h"
9 #include "Si4432.h"
10 
16 class Si4431: public Si4432 {
17  public:
18 
19  // constructor
20 
26  Si4431(Module* mod);
27 
28  // basic methods
29 
47  int16_t begin(float freq = 434.0, float br = 48.0, float freqDev = 50.0, float rxBw = 181.1, int8_t power = 10, uint8_t preambleLen = 16);
48 
49  // configuration methods
50 
58  int16_t setOutputPower(int8_t power);
59 
60 
61 #ifndef RADIOLIB_GODMODE
62  protected:
63 #endif
64 
65 #ifndef RADIOLIB_GODMODE
66  private:
67 #endif
68 };
69 
70 #endif
71 
72 #endif
Derived class for Si4432 modules.
Definition: Si4432.h:16
+
int16_t setOutputPower(int8_t power)
Sets output power. Allowed values range from -8 to 13 dBm in 3 dBm steps.
Definition: Si4431.cpp:23
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
Derived class for Si4431 modules.
Definition: Si4431.h:16
+
int16_t begin(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=181.1, int8_t power=10, uint8_t preambleLen=16)
Initialization method. Must be called at least once from Arduino sketch to initialize the module...
Definition: Si4431.cpp:8
+
Si4431(Module *mod)
Default constructor.
Definition: Si4431.cpp:4
+
+
+ + + + diff --git a/_si4432_8h_source.html b/_si4432_8h_source.html new file mode 100644 index 00000000..bf55b668 --- /dev/null +++ b/_si4432_8h_source.html @@ -0,0 +1,130 @@ + + + + + + +RadioLib: src/modules/Si443x/Si4432.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Si4432.h
+
+
+
1 #if !defined(_RADIOLIB_SI4432_H)
2 #define _RADIOLIB_SI4432_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SI443X)
7 
8 #include "../../Module.h"
9 #include "Si443x.h"
10 
16 class Si4432: public Si443x {
17  public:
18 
19  // constructor
20 
26  Si4432(Module* mod);
27 
28  // basic methods
29 
47  int16_t begin(float freq = 434.0, float br = 48.0, float freqDev = 50.0, float rxBw = 181.1, int8_t power = 10, uint8_t preambleLen = 16);
48 
49  // configuration methods
50 
58  int16_t setFrequency(float freq);
59 
67  int16_t setOutputPower(int8_t power);
68 
69 
70 #ifndef RADIOLIB_GODMODE
71  protected:
72 #endif
73 
74 #ifndef RADIOLIB_GODMODE
75  private:
76 #endif
77 };
78 
79 #endif
80 
81 #endif
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 240.0 MHz to 930.0 MHz.
Definition: Si4432.cpp:23
+
Derived class for Si4432 modules.
Definition: Si4432.h:16
+
int16_t begin(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=181.1, int8_t power=10, uint8_t preambleLen=16)
Initialization method. Must be called at least once from Arduino sketch to initialize the module...
Definition: Si4432.cpp:8
+
Base class for Si443x series. All derived classes for Si443x (e.g. Si4431 or Si4432) inherit from thi...
Definition: Si443x.h:554
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t setOutputPower(int8_t power)
Sets output power. Allowed values range from -1 to 20 dBm in 3 dBm steps.
Definition: Si4432.cpp:30
+
Si4432(Module *mod)
Default constructor.
Definition: Si4432.cpp:4
+
+
+ + + + diff --git a/_si443x_8h_source.html b/_si443x_8h_source.html new file mode 100644 index 00000000..960f370e --- /dev/null +++ b/_si443x_8h_source.html @@ -0,0 +1,154 @@ + + + + + + +RadioLib: src/modules/Si443x/Si443x.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Si443x.h
+
+
+
1 #if !defined(_RADIOLIB_SI443X_H)
2 #define _RADIOLIB_SI443X_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_SI443X)
7 
8 #include "../../Module.h"
9 
10 #include "../../protocols/PhysicalLayer/PhysicalLayer.h"
11 
12 // Si443x physical layer properties
13 #define SI443X_FREQUENCY_STEP_SIZE 156.25
14 #define SI443X_MAX_PACKET_LENGTH 64
15 
16 // Si443x series common registers
17 #define SI443X_REG_DEVICE_TYPE 0x00
18 #define SI443X_REG_DEVICE_VERSION 0x01
19 #define SI443X_REG_DEVICE_STATUS 0x02
20 #define SI443X_REG_INTERRUPT_STATUS_1 0x03
21 #define SI443X_REG_INTERRUPT_STATUS_2 0x04
22 #define SI443X_REG_INTERRUPT_ENABLE_1 0x05
23 #define SI443X_REG_INTERRUPT_ENABLE_2 0x06
24 #define SI443X_REG_OP_FUNC_CONTROL_1 0x07
25 #define SI443X_REG_OP_FUNC_CONTROL_2 0x08
26 #define SI443X_REG_XOSC_LOAD_CAPACITANCE 0x09
27 #define SI443X_REG_MCU_OUTPUT_CLOCK 0x0A
28 #define SI443X_REG_GPIO0_CONFIG 0x0B
29 #define SI443X_REG_GPIO1_CONFIG 0x0C
30 #define SI443X_REG_GPIO2_CONFIG 0x0D
31 #define SI443X_REG_IO_PORT_CONFIG 0x0E
32 #define SI443X_REG_ADC_CONFIG 0x0F
33 #define SI443X_REG_ADC_SENSOR_AMP_OFFSET 0x10
34 #define SI443X_REG_ADC_VALUE 0x11
35 #define SI443X_REG_TEMP_SENSOR_CONTROL 0x12
36 #define SI443X_REG_TEMP_VALUE_OFFSET 0x13
37 #define SI443X_REG_WAKEUP_TIMER_PERIOD_1 0x14
38 #define SI443X_REG_WAKEUP_TIMER_PERIOD_2 0x15
39 #define SI443X_REG_WAKEUP_TIMER_PERIOD_3 0x16
40 #define SI443X_REG_WAKEUP_TIMER_VALUE_1 0x17
41 #define SI443X_REG_WAKEUP_TIMER_VALUE_2 0x18
42 #define SI443X_REG_LOW_DC_MODE_DURATION 0x19
43 #define SI443X_REG_LOW_BATT_DET_THRESHOLD 0x1A
44 #define SI443X_REG_BATT_VOLTAGE_LEVEL 0x1B
45 #define SI443X_REG_IF_FILTER_BANDWIDTH 0x1C
46 #define SI443X_REG_AFC_LOOP_GEARSHIFT_OVERRIDE 0x1D
47 #define SI443X_REG_AFC_TIMING_CONTROL 0x1E
48 #define SI443X_REG_CLOCK_REC_GEARSHIFT_OVERRIDE 0x1F
49 #define SI443X_REG_CLOCK_REC_OVERSAMP_RATIO 0x20
50 #define SI443X_REG_CLOCK_REC_OFFSET_2 0x21
51 #define SI443X_REG_CLOCK_REC_OFFSET_1 0x22
52 #define SI443X_REG_CLOCK_REC_OFFSET_0 0x23
53 #define SI443X_REG_CLOCK_REC_TIMING_LOOP_GAIN_1 0x24
54 #define SI443X_REG_CLOCK_REC_TIMING_LOOP_GAIN_0 0x25
55 #define SI443X_REG_RSSI 0x26
56 #define SI443X_REG_RSSI_CLEAR_CHANNEL_THRESHOLD 0x27
57 #define SI443X_REG_ANTENNA_DIVERSITY_1 0x28
58 #define SI443X_REG_ANTENNA_DIVERSITY_2 0x29
59 #define SI443X_REG_AFC_LIMITER 0x2A
60 #define SI443X_REG_AFC_CORRECTION 0x2B
61 #define SI443X_REG_OOK_COUNTER_1 0x2C
62 #define SI443X_REG_OOK_COUNTER_2 0x2D
63 #define SI443X_REG_SLICER_PEAK_HOLD 0x2E
64 #define SI443X_REG_DATA_ACCESS_CONTROL 0x30
65 #define SI443X_REG_EZMAC_STATUS 0x31
66 #define SI443X_REG_HEADER_CONTROL_1 0x32
67 #define SI443X_REG_HEADER_CONTROL_2 0x33
68 #define SI443X_REG_PREAMBLE_LENGTH 0x34
69 #define SI443X_REG_PREAMBLE_DET_CONTROL 0x35
70 #define SI443X_REG_SYNC_WORD_3 0x36
71 #define SI443X_REG_SYNC_WORD_2 0x37
72 #define SI443X_REG_SYNC_WORD_1 0x38
73 #define SI443X_REG_SYNC_WORD_0 0x39
74 #define SI443X_REG_TRANSMIT_HEADER_3 0x3A
75 #define SI443X_REG_TRANSMIT_HEADER_2 0x3B
76 #define SI443X_REG_TRANSMIT_HEADER_1 0x3C
77 #define SI443X_REG_TRANSMIT_HEADER_0 0x3D
78 #define SI443X_REG_TRANSMIT_PACKET_LENGTH 0x3E
79 #define SI443X_REG_CHECK_HEADER_3 0x3F
80 #define SI443X_REG_CHECK_HEADER_2 0x40
81 #define SI443X_REG_CHECK_HEADER_1 0x41
82 #define SI443X_REG_CHECK_HEADER_0 0x42
83 #define SI443X_REG_HEADER_ENABLE_3 0x43
84 #define SI443X_REG_HEADER_ENABLE_2 0x44
85 #define SI443X_REG_HEADER_ENABLE_1 0x45
86 #define SI443X_REG_HEADER_ENABLE_0 0x46
87 #define SI443X_REG_RECEIVED_HEADER_3 0x47
88 #define SI443X_REG_RECEIVED_HEADER_2 0x48
89 #define SI443X_REG_RECEIVED_HEADER_1 0x49
90 #define SI443X_REG_RECEIVED_HEADER_0 0x4A
91 #define SI443X_REG_RECEIVED_PACKET_LENGTH 0x4B
92 #define SI443X_REG_ADC8_CONTROL 0x4F
93 #define SI443X_REG_CHANNEL_FILTER_COEFF 0x60
94 #define SI443X_REG_XOSC_CONTROL_TEST 0x62
95 #define SI443X_REG_AGC_OVERRIDE_1 0x69
96 #define SI443X_REG_TX_POWER 0x6D
97 #define SI443X_REG_TX_DATA_RATE_1 0x6E
98 #define SI443X_REG_TX_DATA_RATE_0 0x6F
99 #define SI443X_REG_MODULATION_MODE_CONTROL_1 0x70
100 #define SI443X_REG_MODULATION_MODE_CONTROL_2 0x71
101 #define SI443X_REG_FREQUENCY_DEVIATION 0x72
102 #define SI443X_REG_FREQUENCY_OFFSET_1 0x73
103 #define SI443X_REG_FREQUENCY_OFFSET_2 0x74
104 #define SI443X_REG_FREQUENCY_BAND_SELECT 0x75
105 #define SI443X_REG_NOM_CARRIER_FREQUENCY_1 0x76
106 #define SI443X_REG_NOM_CARRIER_FREQUENCY_0 0x77
107 #define SI443X_REG_FREQUENCY_HOPPING_CHANNEL_SEL 0x79
108 #define SI443X_REG_FREQUENCY_HOPPING_STEP_SIZE 0x7A
109 #define SI443X_REG_TX_FIFO_CONTROL_1 0x7C
110 #define SI443X_REG_TX_FIFO_CONTROL_2 0x7D
111 #define SI443X_REG_RX_FIFO_CONTROL 0x7E
112 #define SI443X_REG_FIFO_ACCESS 0x7F
113 
114 // SI443X_REG_DEVICE_TYPE MSB LSB DESCRIPTION
115 #define SI443X_DEVICE_TYPE 0x08 // 4 0 device identification register
116 
117 // SI443X_REG_DEVICE_VERSION
118 #define SI443X_DEVICE_VERSION 0x06 // 4 0 chip version register
119 
120 // SI443X_REG_DEVICE_STATUS
121 #define SI443X_RX_TX_FIFO_OVERFLOW 0b10000000 // 7 7 Rx/Tx FIFO overflow flag
122 #define SI443X_RX_TX_FIFO_UNDERFLOW 0b01000000 // 6 6 Rx/Tx FIFO underflow flag
123 #define SI443X_RX_FIFO_EMPTY 0b00100000 // 5 5 Rx FIFO empty flag
124 #define SI443X_HEADER_ERROR 0b00010000 // 4 4 header error flag
125 #define SI443X_FREQUENCY_ERROR 0b00001000 // 3 3 frequency error flag (frequency outside allowed range)
126 #define SI443X_TX 0b00000010 // 1 0 power state: Tx
127 #define SI443X_RX 0b00000001 // 1 0 Rx
128 #define SI443X_IDLE 0b00000000 // 1 0 idle
129 
130 // SI443X_REG_INTERRUPT_STATUS_1
131 #define SI443X_FIFO_LEVEL_ERROR_INTERRUPT 0b10000000 // 7 7 Tx/Rx FIFO overflow or underflow
132 #define SI443X_TX_FIFO_ALMOST_FULL_INTERRUPT 0b01000000 // 6 6 Tx FIFO almost full
133 #define SI443X_TX_FIFO_ALMOST_EMPTY_INTERRUPT 0b00100000 // 5 5 Tx FIFO almost empty
134 #define SI443X_RX_FIFO_ALMOST_FULL_INTERRUPT 0b00010000 // 4 4 Rx FIFO almost full
135 #define SI443X_EXTERNAL_INTERRUPT 0b00001000 // 3 3 external interrupt occurred on GPIOx
136 #define SI443X_PACKET_SENT_INTERRUPT 0b00000100 // 2 2 packet transmission done
137 #define SI443X_VALID_PACKET_RECEIVED_INTERRUPT 0b00000010 // 1 1 valid packet has been received
138 #define SI443X_CRC_ERROR_INTERRUPT 0b00000001 // 0 0 CRC failed
139 
140 // SI443X_REG_INTERRUPT_STATUS_2
141 #define SI443X_SYNC_WORD_DETECTED_INTERRUPT 0b10000000 // 7 7 sync word has been detected
142 #define SI443X_VALID_PREAMBLE_DETECTED_INTERRUPT 0b01000000 // 6 6 valid preamble has been detected
143 #define SI443X_INVALID_PREAMBLE_DETECTED_INTERRUPT 0b00100000 // 5 5 invalid preamble has been detected
144 #define SI443X_RSSI_INTERRUPT 0b00010000 // 4 4 RSSI exceeded programmed threshold
145 #define SI443X_WAKEUP_TIMER_INTERRUPT 0b00001000 // 3 3 wake-up timer expired
146 #define SI443X_LOW_BATTERY_INTERRUPT 0b00000100 // 2 2 low battery detected
147 #define SI443X_CHIP_READY_INTERRUPT 0b00000010 // 1 1 chip ready event detected
148 #define SI443X_POWER_ON_RESET_INTERRUPT 0b00000001 // 0 0 power-on-reset detected
149 
150 // SI443X_REG_INTERRUPT_ENABLE_1
151 #define SI443X_FIFO_LEVEL_ERROR_ENABLED 0b10000000 // 7 7 Tx/Rx FIFO overflow or underflow interrupt enabled
152 #define SI443X_TX_FIFO_ALMOST_FULL_ENABLED 0b01000000 // 6 6 Tx FIFO almost full interrupt enabled
153 #define SI443X_TX_FIFO_ALMOST_EMPTY_ENABLED 0b00100000 // 5 5 Tx FIFO almost empty interrupt enabled
154 #define SI443X_RX_FIFO_ALMOST_FULL_ENABLED 0b00010000 // 4 4 Rx FIFO almost full interrupt enabled
155 #define SI443X_EXTERNAL_ENABLED 0b00001000 // 3 3 external interrupt interrupt enabled
156 #define SI443X_PACKET_SENT_ENABLED 0b00000100 // 2 2 packet transmission done interrupt enabled
157 #define SI443X_VALID_PACKET_RECEIVED_ENABLED 0b00000010 // 1 1 valid packet received interrupt enabled
158 #define SI443X_CRC_ERROR_ENABLED 0b00000001 // 0 0 CRC failed interrupt enabled
159 
160 // SI443X_REG_INTERRUPT_ENABLE_2
161 #define SI443X_SYNC_WORD_DETECTED_ENABLED 0b10000000 // 7 7 sync word interrupt enabled
162 #define SI443X_VALID_PREAMBLE_DETECTED_ENABLED 0b01000000 // 6 6 valid preamble interrupt enabled
163 #define SI443X_INVALID_PREAMBLE_DETECTED_ENABLED 0b00100000 // 5 5 invalid preamble interrupt enabled
164 #define SI443X_RSSI_ENABLED 0b00010000 // 4 4 RSSI exceeded programmed threshold interrupt enabled
165 #define SI443X_WAKEUP_TIMER_ENABLED 0b00001000 // 3 3 wake-up timer interrupt enabled
166 #define SI443X_LOW_BATTERY_ENABLED 0b00000100 // 2 2 low battery interrupt enabled
167 #define SI443X_CHIP_READY_ENABLED 0b00000010 // 1 1 chip ready event interrupt enabled
168 #define SI443X_POWER_ON_RESET_ENABLED 0b00000001 // 0 0 power-on-reset interrupt enabled
169 
170 // SI443X_REG_OP_FUNC_CONTROL_1
171 #define SI443X_SOFTWARE_RESET 0b10000000 // 7 7 reset all registers to default values
172 #define SI443X_ENABLE_LOW_BATTERY_DETECT 0b01000000 // 6 6 enable low battery detection
173 #define SI443X_ENABLE_WAKEUP_TIMER 0b00100000 // 5 5 enable wakeup timer
174 #define SI443X_32_KHZ_RC 0b00000000 // 4 4 32.768 kHz source: RC oscillator (default)
175 #define SI443X_32_KHZ_XOSC 0b00010000 // 4 4 crystal oscillator
176 #define SI443X_TX_ON 0b00001000 // 3 3 Tx on in manual transmit mode
177 #define SI443X_RX_ON 0b00000100 // 2 2 Rx on in manual receive mode
178 #define SI443X_PLL_ON 0b00000010 // 1 1 PLL on (tune mode)
179 #define SI443X_XTAL_OFF 0b00000000 // 0 0 crystal oscillator: off (standby mode)
180 #define SI443X_XTAL_ON 0b00000001 // 0 0 on (ready mode)
181 
182 // SI443X_REG_OP_FUNC_CONTROL_2
183 #define SI443X_ANT_DIV_TR_HL_IDLE_L 0b00000000 // 7 5 GPIO1/2 states: Tx/Rx GPIO1 H, GPIO2 L; idle low (default)
184 #define SI443X_ANT_DIV_TR_LH_IDLE_L 0b00100000 // 7 5 Tx/Rx GPIO1 L, GPIO2 H; idle low
185 #define SI443X_ANT_DIV_TR_HL_IDLE_H 0b01000000 // 7 5 Tx/Rx GPIO1 H, GPIO2 L; idle high
186 #define SI443X_ANT_DIV_TR_LH_IDLE_H 0b01100000 // 7 5 Tx/Rx GPIO1 L, GPIO2 H; idle high
187 #define SI443X_ANT_DIV_TR_ALG_IDLE_L 0b10000000 // 7 5 Tx/Rx diversity algorithm; idle low
188 #define SI443X_ANT_DIV_TR_ALG_IDLE_H 0b10100000 // 7 5 Tx/Rx diversity algorithm; idle high
189 #define SI443X_ANT_DIV_TR_ALG_BEACON_IDLE_L 0b11000000 // 7 5 Tx/Rx diversity algorithm (beacon); idle low
190 #define SI443X_ANT_DIV_TR_ALG_BEACON_IDLE_H 0b11100000 // 7 5 Tx/Rx diversity algorithm (beacon); idle high
191 #define SI443X_RX_MULTIPACKET_OFF 0b00000000 // 4 4 Rx multipacket: disabled (default)
192 #define SI443X_RX_MULTIPACKET_ON 0b00010000 // 4 4 enabled
193 #define SI443X_AUTO_TX_OFF 0b00000000 // 3 3 Tx autotransmit on FIFO almost full: disabled (default)
194 #define SI443X_AUTO_TX_ON 0b00001000 // 3 3 enabled
195 #define SI443X_LOW_DUTY_CYCLE_OFF 0b00000000 // 2 2 low duty cycle mode: disabled (default)
196 #define SI443X_LOW_DUTY_CYCLE_ON 0b00000100 // 2 2 enabled
197 #define SI443X_RX_FIFO_RESET 0b00000010 // 1 1 Rx FIFO reset/clear: reset (call first)
198 #define SI443X_RX_FIFO_CLEAR 0b00000000 // 1 1 clear (call second)
199 #define SI443X_TX_FIFO_RESET 0b00000001 // 0 0 Tx FIFO reset/clear: reset (call first)
200 #define SI443X_TX_FIFO_CLEAR 0b00000000 // 0 0 clear (call second)
201 
202 // SI443X_REG_XOSC_LOAD_CAPACITANCE
203 #define SI443X_XTAL_SHIFT 0b00000000 // 7 7 crystal capacitance configuration:
204 #define SI443X_XTAL_LOAD_CAPACITANCE 0b01111111 // 6 0 C_int = 1.8 pF + 0.085 pF * SI443X_XTAL_LOAD_CAPACITANCE + 3.7 pF * SI443X_XTAL_SHIFT
205 
206 // SI443X_REG_MCU_OUTPUT_CLOCK
207 #define SI443X_CLOCK_TAIL_CYCLES_OFF 0b00000000 // 5 4 additional clock cycles: none (default)
208 #define SI443X_CLOCK_TAIL_CYCLES_128 0b00010000 // 5 4 128
209 #define SI443X_CLOCK_TAIL_CYCLES_256 0b00100000 // 5 4 256
210 #define SI443X_CLOCK_TAIL_CYCLES_512 0b00110000 // 5 4 512
211 #define SI443X_LOW_FREQ_CLOCK_OFF 0b00000000 // 3 3 32.768 kHz clock output: disabled (default)
212 #define SI443X_LOW_FREQ_CLOCK_ON 0b00001000 // 3 3 enabled
213 #define SI443X_MCU_CLOCK_30_MHZ 0b00000000 // 2 0 GPIO clock output: 30 MHz
214 #define SI443X_MCU_CLOCK_15_MHZ 0b00000001 // 2 0 15 MHz
215 #define SI443X_MCU_CLOCK_10_MHZ 0b00000010 // 2 0 10 MHz
216 #define SI443X_MCU_CLOCK_4_MHZ 0b00000011 // 2 0 4 MHz
217 #define SI443X_MCU_CLOCK_3_MHZ 0b00000100 // 2 0 3 MHz
218 #define SI443X_MCU_CLOCK_2_MHZ 0b00000101 // 2 0 2 MHz
219 #define SI443X_MCU_CLOCK_1_MHZ 0b00000110 // 2 0 1 MHz (default)
220 #define SI443X_MCU_CLOCK_32_KHZ 0b00000111 // 2 0 32.768 kHz
221 
222 // SI443X_REG_GPIO0_CONFIG + SI443X_REG_GPIO1_CONFIG + SI443X_REG_GPIO2_CONFIG
223 #define SI443X_GPIOX_DRIVE_STRENGTH 0b00000000 // 7 6 GPIOx drive strength (higher number = stronger drive)
224 #define SI443X_GPIOX_PULLUP_OFF 0b00000000 // 5 5 GPIOx internal 200k pullup: disabled (default)
225 #define SI443X_GPIOX_PULLUP_ON 0b00100000 // 5 5 enabled
226 #define SI443X_GPIO0_POWER_ON_RESET_OUT 0b00000000 // 4 0 GPIOx function: power-on-reset output (GPIO0 only, default)
227 #define SI443X_GPIO1_POWER_ON_RESET_INV_OUT 0b00000000 // 4 0 inverted power-on-reset output (GPIO1 only, default)
228 #define SI443X_GPIO2_MCU_CLOCK_OUT 0b00000000 // 4 0 MCU clock output (GPIO2 only, default)
229 #define SI443X_GPIOX_WAKEUP_OUT 0b00000001 // 4 0 wakeup timer expired output
230 #define SI443X_GPIOX_LOW_BATTERY_OUT 0b00000010 // 4 0 low battery detect output
231 #define SI443X_GPIOX_DIGITAL_OUT 0b00000011 // 4 0 direct digital output
232 #define SI443X_GPIOX_EXT_INT_FALLING_IN 0b00000100 // 4 0 external interrupt, falling edge
233 #define SI443X_GPIOX_EXT_INT_RISING_IN 0b00000101 // 4 0 external interrupt, rising edge
234 #define SI443X_GPIOX_EXT_INT_CHANGE_IN 0b00000110 // 4 0 external interrupt, state change
235 #define SI443X_GPIOX_ADC_IN 0b00000111 // 4 0 ADC analog input
236 #define SI443X_GPIOX_ANALOG_TEST_N_IN 0b00001000 // 4 0 analog test N input
237 #define SI443X_GPIOX_ANALOG_TEST_P_IN 0b00001001 // 4 0 analog test P input
238 #define SI443X_GPIOX_DIGITAL_IN 0b00001010 // 4 0 direct digital input
239 #define SI443X_GPIOX_DIGITAL_TEST_OUT 0b00001011 // 4 0 digital test output
240 #define SI443X_GPIOX_ANALOG_TEST_N_OUT 0b00001100 // 4 0 analog test N output
241 #define SI443X_GPIOX_ANALOG_TEST_P_OUT 0b00001101 // 4 0 analog test P output
242 #define SI443X_GPIOX_REFERENCE_VOLTAGE_OUT 0b00001110 // 4 0 reference voltage output
243 #define SI443X_GPIOX_TX_RX_DATA_CLK_OUT 0b00001111 // 4 0 Tx/Rx clock output in direct mode
244 #define SI443X_GPIOX_TX_DATA_IN 0b00010000 // 4 0 Tx data input direct mode
245 #define SI443X_GPIOX_EXT_RETRANSMIT_REQUEST_IN 0b00010001 // 4 0 external retransmission request input
246 #define SI443X_GPIOX_TX_STATE_OUT 0b00010010 // 4 0 Tx state output
247 #define SI443X_GPIOX_TX_FIFO_ALMOST_FULL_OUT 0b00010011 // 4 0 Tx FIFO almost full output
248 #define SI443X_GPIOX_RX_DATA_OUT 0b00010100 // 4 0 Rx data output
249 #define SI443X_GPIOX_RX_STATE_OUT 0b00010101 // 4 0 Rx state output
250 #define SI443X_GPIOX_RX_FIFO_ALMOST_FULL_OUT 0b00010110 // 4 0 Rx FIFO almost full output
251 #define SI443X_GPIOX_ANT_DIV_1_OUT 0b00010111 // 4 0 antenna diversity output 1
252 #define SI443X_GPIOX_ANT_DIV_2_OUT 0b00011000 // 4 0 antenna diversity output 2
253 #define SI443X_GPIOX_VALID_PREAMBLE_OUT 0b00011001 // 4 0 valid preamble detected output
254 #define SI443X_GPIOX_INVALID_PREAMBLE_OUT 0b00011010 // 4 0 invalid preamble detected output
255 #define SI443X_GPIOX_SYNC_WORD_DETECTED_OUT 0b00011011 // 4 0 sync word detected output
256 #define SI443X_GPIOX_CLEAR_CHANNEL_OUT 0b00011100 // 4 0 clear channel assessment output
257 #define SI443X_GPIOX_VDD 0b00011101 // 4 0 VDD
258 #define SI443X_GPIOX_GND 0b00011110 // 4 0 GND
259 
260 // SI443X_REG_IO_PORT_CONFIG
261 #define SI443X_GPIO2_EXT_INT_STATE_MASK 0b01000000 // 6 6 external interrupt state mask for: GPIO2
262 #define SI443X_GPIO1_EXT_INT_STATE_MASK 0b00100000 // 5 5 GPIO1
263 #define SI443X_GPIO0_EXT_INT_STATE_MASK 0b00010000 // 4 4 GPIO0
264 #define SI443X_IRQ_BY_SDO_OFF 0b00000000 // 3 3 output IRQ state on SDO pin: disabled (default)
265 #define SI443X_IRQ_BY_SDO_ON 0b00001000 // 3 3 enabled
266 #define SI443X_GPIO2_DIGITAL_STATE_MASK 0b00000100 // 2 2 digital state mask for: GPIO2
267 #define SI443X_GPIO1_DIGITAL_STATE_MASK 0b00000010 // 1 1 GPIO1
268 #define SI443X_GPIO0_DIGITAL_STATE_MASK 0b00000001 // 0 0 GPIO0
269 
270 // SI443X_REG_ADC_CONFIG
271 #define SI443X_ADC_START 0b10000000 // 7 7 ADC control: start measurement
272 #define SI443X_ADC_RUNNING 0b00000000 // 7 7 measurement in progress
273 #define SI443X_ADC_DONE 0b10000000 // 7 7 done
274 #define SI443X_ADC_SOURCE_TEMPERATURE 0b00000000 // 6 4 ADC source: internal temperature sensor (default)
275 #define SI443X_ADC_SOURCE_GPIO0_SINGLE 0b00010000 // 6 4 single-ended on GPIO0
276 #define SI443X_ADC_SOURCE_GPIO1_SINGLE 0b00100000 // 6 4 single-ended on GPIO1
277 #define SI443X_ADC_SOURCE_GPIO2_SINGLE 0b00110000 // 6 4 single-ended on GPIO2
278 #define SI443X_ADC_SOURCE_GPIO01_DIFF 0b01000000 // 6 4 differential on GPIO0 (+) and GPIO1 (-)
279 #define SI443X_ADC_SOURCE_GPIO12_DIFF 0b01010000 // 6 4 differential on GPIO1 (+) and GPIO2 (-)
280 #define SI443X_ADC_SOURCE_GPIO02_DIFF 0b01100000 // 6 4 differential on GPIO0 (+) and GPIO2 (-)
281 #define SI443X_ADC_SOURCE_GND 0b01110000 // 6 4 GND
282 #define SI443X_ADC_REFERNCE_BAND_GAP 0b00000000 // 3 2 ADC reference: internal bandgap 1.2 V (default)
283 #define SI443X_ADC_REFERNCE_VDD_3 0b00001000 // 3 2 VDD/3
284 #define SI443X_ADC_REFERNCE_VDD_2 0b00001100 // 3 2 VDD/2
285 #define SI443X_ADC_GAIN 0b00000000 // 1 0 ADC amplifier gain
286 
287 // SI443X_REG_ADC_SENSOR_AMP_OFFSET
288 #define SI443X_ADC_OFFSET 0b00000000 // 3 0 ADC offset
289 
290 // SI443X_REG_TEMP_SENSOR_CONTROL
291 #define SI443X_TEMP_SENSOR_RANGE_64_TO_64_C 0b00000000 // 7 6 temperature sensor range: -64 to 64 deg. C, 0.5 deg. C resolution (default)
292 #define SI443X_TEMP_SENSOR_RANGE_64_TO_192_C 0b01000000 // 7 6 -64 to 192 deg. C, 1.0 deg. C resolution
293 #define SI443X_TEMP_SENSOR_RANGE_0_TO_128_C 0b11000000 // 7 6 0 to 128 deg. C, 0.5 deg. C resolution
294 #define SI443X_TEMP_SENSOR_RANGE_40_TO_216_F 0b10000000 // 7 6 -40 to 216 deg. F, 1.0 deg. F resolution
295 #define SI443X_TEMP_SENSOR_KELVIN_TO_CELSIUS_OFF 0b00000000 // 5 5 Kelvin to Celsius offset: disabled
296 #define SI443X_TEMP_SENSOR_KELVIN_TO_CELSIUS_ON 0b00100000 // 5 5 enabled (default)
297 #define SI443X_TEMP_SENSOR_TRIM_OFF 0b00000000 // 4 4 temperature sensor trim: disabled (default)
298 #define SI443X_TEMP_SENSOR_TRIM_ON 0b00010000 // 4 4 enabled
299 #define SI443X_TEMP_SENSOR_TRIM_VALUE 0b00000000 // 3 0 temperature sensor trim value
300 
301 // SI443X_REG_WAKEUP_TIMER_PERIOD_1
302 #define SI443X_WAKEUP_TIMER_EXPONENT 0b00000011 // 4 0 wakeup timer value exponent
303 
304 // SI443X_REG_WAKEUP_TIMER_PERIOD_2 + SI443X_REG_WAKEUP_TIMER_PERIOD_3
305 #define SI443X_WAKEUP_TIMER_MANTISSA_MSB 0x00 // 7 0 wakeup timer value:
306 #define SI443X_WAKEUP_TIMER_MANTISSA_LSB 0x01 // 7 0 T = (4 * SI443X_WAKEUP_TIMER_MANTISSA * 2 ^ SI443X_WAKEUP_TIMER_EXPONENT) / 32.768 ms
307 
308 // SI443X_REG_LOW_DC_MODE_DURATION
309 #define SI443X_LOW_DC_MODE_DURATION_MANTISSA 0x01 // 7 0 low duty cycle mode duration: T = (4 * SI443X_LOW_DC_MODE_DURATION_MANTISSA * 2 ^ SI443X_WAKEUP_TIMER_EXPONENT) / 32.768 ms
310 
311 // SI443X_REG_LOW_BATT_DET_THRESHOLD
312 #define SI443X_LOW_BATT_DET_THRESHOLD 0b00010100 // 4 0 low battery detection threshold: Vth = 1.7 + SI443X_LOW_BATT_DET_THRESHOLD * 0.05 V (defaults to 2.7 V)
313 
314 // SI443X_REG_IF_FILTER_BANDWIDTH
315 #define SI443X_BYPASS_DEC_BY_3_OFF 0b00000000 // 7 7 bypass decimate-by-3 stage: disabled (default)
316 #define SI443X_BYPASS_DEC_BY_3_ON 0b10000000 // 7 7 enabled
317 #define SI443X_IF_FILTER_DEC_RATE 0b00000000 // 6 4 IF filter decimation rate
318 #define SI443X_IF_FILTER_COEFF_SET 0b00000001 // 3 0 IF filter coefficient set selection
319 
320 // SI443X_REG_AFC_LOOP_GEARSHIFT_OVERRIDE
321 #define SI443X_AFC_WIDEBAND_OFF 0b00000000 // 7 7 AFC wideband: disabled (default)
322 #define SI443X_AFC_WIDEBAND_ON 0b10000000 // 7 7 enabled
323 #define SI443X_AFC_OFF 0b00000000 // 6 6 AFC: disabled
324 #define SI443X_AFC_ON 0b01000000 // 6 6 enabled (default)
325 #define SI443X_AFC_HIGH_GEAR_SETTING 0b00000000 // 5 3 AFC high gear setting
326 #define SI443X_SECOND_PHASE_BIAS_0_DB 0b00000100 // 2 2 second phase antenna selection bias: 0 dB (default)
327 #define SI443X_SECOND_PHASE_BIAS_1_5_DB 0b00000000 // 2 2 1.5 dB
328 #define SI443X_MOVING_AVERAGE_TAP_8 0b00000010 // 1 1 moving average filter tap length: 8*Tb
329 #define SI443X_MOVING_AVERAGE_TAP_4 0b00000000 // 1 1 4*Tb after first preamble (default)
330 #define SI443X_ZERO_PHASE_RESET_5 0b00000000 // 0 0 reset preamble detector after: 5 zero phases (default)
331 #define SI443X_ZERO_PHASE_RESET_2 0b00000001 // 0 0 3 zero phases
332 
333 // SI443X_REG_AFC_TIMING_CONTROL
334 #define SI443X_SW_ANT_TIMER 0b00000000 // 7 6 number of periods to wait for RSSI to stabilize during antenna switching
335 #define SI443X_SHORT_WAIT 0b00001000 // 5 3 period to wait after AFC correction
336 #define SI443X_ANTENNA_SWITCH_WAIT 0b00000010 // 2 0 antenna switching wait time
337 
338 // SI443X_REG_CLOCK_REC_GEARSHIFT_OVERRIDE
339 #define SI443X_CLOCK_RECOVER_FAST_GEARSHIFT 0b00000000 // 5 3 clock recovery fast gearshift value
340 #define SI443X_CLOCK_RECOVER_SLOW_GEARSHIFT 0b00000011 // 2 0 clock recovery slow gearshift value
341 
342 // SI443X_REG_CLOCK_REC_OVERSAMP_RATIO
343 #define SI443X_CLOCK_REC_OVERSAMP_RATIO_LSB 0b01100100 // 7 0 oversampling rate LSB, defaults to 12.5 clock cycles per bit
344 
345 // SI443X_REG_CLOCK_REC_OFFSET_2
346 #define SI443X_CLOCK_REC_OVERSAMP_RATIO_MSB 0b00000000 // 7 5 oversampling rate MSB, defaults to 12.5 clock cycles per bit
347 #define SI443X_SECOND_PHASE_SKIP_THRESHOLD 0b00000000 // 4 4 skip seconds phase antenna diversity threshold
348 #define SI443X_NCO_OFFSET_MSB 0b00000001 // 3 0 NCO offset MSB
349 
350 // SI443X_REG_CLOCK_REC_OFFSET_1
351 #define SI443X_NCO_OFFSET_MID 0b01000111 // 7 0 NCO offset MID
352 
353 // SI443X_REG_CLOCK_REC_OFFSET_0
354 #define SI443X_NCO_OFFSET_LSB 0b10101110 // 7 0 NCO offset LSB
355 
356 // SI443X_REG_CLOCK_REC_TIMING_LOOP_GAIN_1
357 #define SI443X_RX_COMPENSATION_OFF 0b00000000 // 4 4 Rx compensation for high data rate: disabled (default)
358 #define SI443X_RX_COMPENSATION_ON 0b00010000 // 4 4 enabled
359 #define SI443X_CLOCK_REC_GAIN_DOUBLE_OFF 0b00000000 // 3 3 clock recovery gain doubling: disabled (default)
360 #define SI443X_CLOCK_REC_GAIN_DOUBLE_ON 0b00001000 // 3 3 enabled
361 #define SI443X_CLOCK_REC_LOOP_GAIN_MSB 0b00000010 // 2 0 clock recovery timing loop gain MSB
362 
363 // SI443X_REG_CLOCK_REC_TIMING_LOOP_GAIN_0
364 #define SI443X_CLOCK_REC_LOOP_GAIN_LSB 0b10001111 // 7 0 clock recovery timing loop gain LSB
365 
366 // SI443X_REG_RSSI_CLEAR_CHANNEL_THRESHOLD
367 #define SI443X_RSSI_CLEAR_CHANNEL_THRESHOLD 0b00011110 // 7 0 RSSI clear channel interrupt threshold
368 
369 // SI443X_REG_AFC_LIMITER
370 #define SI443X_AFC_LIMITER 0x00 // 7 0 AFC limiter value
371 
372 // SI443X_REG_OOK_COUNTER_1
373 #define SI443X_OOK_FREEZE_OFF 0b00000000 // 5 5 OOK moving average detector freeze: disabled (default)
374 #define SI443X_OOK_FREEZE_ON 0b00100000 // 5 5 enabled
375 #define SI443X_PEAK_DETECTOR_OFF 0b00000000 // 4 4 peak detector: disabled
376 #define SI443X_PEAK_DETECTOR_ON 0b00010000 // 4 4 enabled (default)
377 #define SI443X_OOK_MOVING_AVERAGE_OFF 0b00000000 // 3 3 OOK moving average: disabled
378 #define SI443X_OOK_MOVING_AVERAGE_ON 0b00001000 // 3 3 enabled (default)
379 #define SI443X_OOK_COUNTER_MSB 0b00000000 // 2 0 OOK counter MSB
380 
381 // SI443X_REG_OOK_COUNTER_2
382 #define SI443X_OOK_COUNTER_LSB 0b10111100 // 7 0 OOK counter LSB
383 
384 // SI443X_REG_SLICER_PEAK_HOLD
385 #define SI443X_PEAK_DETECTOR_ATTACK 0b00010000 // 6 4 OOK peak detector attach time
386 #define SI443X_PEAK_DETECTOR_DECAY 0b00001100 // 3 0 OOK peak detector decay time
387 
388 // SI443X_REG_DATA_ACCESS_CONTROL
389 #define SI443X_PACKET_RX_HANDLING_OFF 0b00000000 // 7 7 packet Rx handling: disabled
390 #define SI443X_PACKET_RX_HANDLING_ON 0b10000000 // 7 7 enabled (default)
391 #define SI443X_LSB_FIRST_OFF 0b00000000 // 6 6 LSB first transmission: disabled (default)
392 #define SI443X_LSB_FIRST_ON 0b01000000 // 6 6 enabled
393 #define SI443X_CRC_DATA_ONLY_OFF 0b00000000 // 5 5 CRC calculated only from data fields: disabled (default)
394 #define SI443X_CRC_DATA_ONLY_ON 0b00100000 // 5 5 enabled
395 #define SI443X_SKIP_SECOND_PHASE_PREAMBLE_DET_OFF 0b00000000 // 4 4 skip second phase of preamble detection: disabled (default)
396 #define SI443X_SKIP_SECOND_PHASE_PREAMBLE_DET_ON 0b00010000 // 4 4 enabled
397 #define SI443X_PACKET_TX_HANDLING_OFF 0b00000000 // 3 3 packet Tx handling: disabled
398 #define SI443X_PACKET_TX_HANDLING_ON 0b00001000 // 3 3 enabled (default)
399 #define SI443X_CRC_OFF 0b00000000 // 2 2 CRC: disabled
400 #define SI443X_CRC_ON 0b00000100 // 2 2 enabled (default)
401 #define SI443X_CRC_CCITT 0b00000000 // 1 0 CRC type: CCITT
402 #define SI443X_CRC_IBM_CRC16 0b00000001 // 1 0 IBM CRC-16 (default)
403 #define SI443X_CRC_IEC16 0b00000010 // 1 0 IEC-16
404 #define SI443X_CRC_BIACHEVA 0b00000011 // 1 0 Biacheva
405 
406 // SI443X_REG_EZMAC_STATUS
407 #define SI443X_CRC_ALL_ONE 0b01000000 // 6 6 last received CRC was all ones
408 #define SI443X_PACKET_SEARCHING 0b00100000 // 5 5 radio is searching for a valid packet
409 #define SI443X_PACKET_RECEIVING 0b00010000 // 4 4 radio is currently receiving packet
410 #define SI443X_VALID_PACKET_RECEIVED 0b00001000 // 3 3 valid packet was received
411 #define SI443X_CRC_ERROR 0b00000100 // 2 2 CRC check failed
412 #define SI443X_PACKET_TRANSMITTING 0b00000010 // 1 1 radio is currently transmitting packet
413 #define SI443X_PACKET_SENT 0b00000001 // 0 0 packet sent
414 
415 // SI443X_REG_HEADER_CONTROL_1
416 #define SI443X_BROADCAST_ADDR_CHECK_NONE 0b00000000 // 7 4 broadcast address check: none (default)
417 #define SI443X_BROADCAST_ADDR_CHECK_BYTE0 0b00010000 // 7 4 on byte 0
418 #define SI443X_BROADCAST_ADDR_CHECK_BYTE1 0b00100000 // 7 4 on byte 1
419 #define SI443X_BROADCAST_ADDR_CHECK_BYTE2 0b01000000 // 7 4 on byte 2
420 #define SI443X_BROADCAST_ADDR_CHECK_BYTE3 0b10000000 // 7 4 on byte 3
421 #define SI443X_RECEIVED_HEADER_CHECK_NONE 0b00000000 // 3 0 received header check: none
422 #define SI443X_RECEIVED_HEADER_CHECK_BYTE0 0b00000001 // 3 0 on byte 0
423 #define SI443X_RECEIVED_HEADER_CHECK_BYTE1 0b00000010 // 3 0 on byte 1
424 #define SI443X_RECEIVED_HEADER_CHECK_BYTE2 0b00000100 // 3 0 on byte 2 (default)
425 #define SI443X_RECEIVED_HEADER_CHECK_BYTE3 0b00001000 // 3 0 on byte 3 (default)
426 
427 // SI443X_REG_HEADER_CONTROL_2
428 #define SI443X_SYNC_WORD_TIMEOUT_OFF 0b00000000 // 7 7 ignore timeout period when searching for sync word: disabled (default)
429 #define SI443X_SYNC_WORD_TIMEOUT_ON 0b10000000 // 7 7 enabled
430 #define SI443X_HEADER_LENGTH_HEADER_NONE 0b00000000 // 6 4 header length: none
431 #define SI443X_HEADER_LENGTH_HEADER_3 0b00010000 // 6 4 header 3
432 #define SI443X_HEADER_LENGTH_HEADER_32 0b00100000 // 6 4 header 3 and 2
433 #define SI443X_HEADER_LENGTH_HEADER_321 0b00110000 // 6 4 header 3, 2 and 1 (default)
434 #define SI443X_HEADER_LENGTH_HEADER_3210 0b01000000 // 6 4 header 3, 2, 1, and 0
435 #define SI443X_FIXED_PACKET_LENGTH_OFF 0b00000000 // 3 3 fixed packet length mode: disabled (default)
436 #define SI443X_FIXED_PACKET_LENGTH_ON 0b00001000 // 3 3 enabled
437 #define SI443X_SYNC_LENGTH_SYNC_3 0b00000000 // 2 1 sync word length: sync 3
438 #define SI443X_SYNC_LENGTH_SYNC_32 0b00000010 // 2 1 sync 3 and 2 (default)
439 #define SI443X_SYNC_LENGTH_SYNC_321 0b00000100 // 2 1 sync 3, 2 and 1
440 #define SI443X_SYNC_LENGTH_SYNC_3210 0b00000110 // 2 1 sync 3, 2, 1 and 0
441 #define SI443X_PREAMBLE_LENGTH_MSB 0b00000000 // 0 0 preamble length MSB
442 
443 // SI443X_REG_PREAMBLE_LENGTH
444 #define SI443X_PREAMBLE_LENGTH_LSB 0b00001000 // 0 0 preamble length LSB, defaults to 32 bits
445 
446 // SI443X_REG_PREAMBLE_DET_CONTROL
447 #define SI443X_PREAMBLE_DET_THRESHOLD 0b00101000 // 7 3 number of 4-bit nibbles in valid preamble, defaults to 20 bits
448 #define SI443X_RSSI_OFFSET 0b00000010 // 2 0 RSSI calculation offset, defaults to +8 dB
449 
450 // SI443X_REG_SYNC_WORD_3 - SI443X_REG_SYNC_WORD_0
451 #define SI443X_SYNC_WORD_3 0x2D // 7 0 sync word: 4th byte (MSB)
452 #define SI443X_SYNC_WORD_2 0xD4 // 7 0 3rd byte
453 #define SI443X_SYNC_WORD_1 0x00 // 7 0 2nd byte
454 #define SI443X_SYNC_WORD_0 0x00 // 7 0 1st byte (LSB)
455 
456 // SI443X_REG_CHANNEL_FILTER_COEFF
457 #define SI443X_INVALID_PREAMBLE_THRESHOLD 0b00000000 // 7 4 invalid preamble threshold in nibbles
458 
459 // SI443X_REG_XOSC_CONTROL_TEST
460 #define SI443X_STATE_LOW_POWER 0b00000000 // 7 5 chip power state: low power
461 #define SI443X_STATE_READY 0b00100000 // 7 5 ready
462 #define SI443X_STATE_TUNE 0b01100000 // 7 5 tune
463 #define SI443X_STATE_TX 0b01000000 // 7 5 Tx
464 #define SI443X_STATE_RX 0b11100000 // 7 5 Rx
465 
466 // SI443X_REG_AGC_OVERRIDE_1
467 #define SI443X_AGC_GAIN_INCREASE_OFF 0b00000000 // 6 6 AGC gain increase override: disabled (default)
468 #define SI443X_AGC_GAIN_INCREASE_ON 0b01000000 // 6 6 enabled
469 #define SI443X_AGC_OFF 0b00000000 // 5 5 AGC loop: disabled
470 #define SI443X_AGC_ON 0b00100000 // 5 5 enabled (default)
471 #define SI443X_LNA_GAIN_MIN 0b00000000 // 4 4 LNA gain select: 5 dB (default)
472 #define SI443X_LNA_GAIN_MAX 0b00010000 // 4 4 25 dB
473 #define SI443X_PGA_GAIN_OVERRIDE 0b00000000 // 3 0 PGA gain override, gain = SI443X_PGA_GAIN_OVERRIDE * 3 dB
474 
475 // SI443X_REG_TX_POWER
476 #define SI443X_LNA_SWITCH_OFF 0b00000000 // 3 3 LNA switch control: disabled
477 #define SI443X_LNA_SWITCH_ON 0b00001000 // 3 3 enabled (default)
478 #define SI443X_OUTPUT_POWER 0b00000000 // 2 0 output power in 3 dB steps, 0 is chip min, 7 is chip max
479 
480 // SI443X_REG_TX_DATA_RATE_1 + SI443X_REG_TX_DATA_RATE_0
481 #define SI443X_DATA_RATE_MSB 0x0A // 7 0 data rate: DR = 10^6 * (SI443X_DATA_RATE / 2^16) in high data rate mode or
482 #define SI443X_DATA_RATE_LSB 0x3D // 7 0 DR = 10^6 * (SI443X_DATA_RATE / 2^21) in low data rate mode (defaults to 40 kbps)
483 
484 // SI443X_REG_MODULATION_MODE_CONTROL_1
485 #define SI443X_HIGH_DATA_RATE_MODE 0b00000000 // 5 5 data rate: above 30 kbps (default)
486 #define SI443X_LOW_DATA_RATE_MODE 0b00100000 // 5 5 below 30 kbps
487 #define SI443X_PACKET_HANDLER_POWER_DOWN_OFF 0b00000000 // 4 4 power off packet handler in low power mode: disabled (default)
488 #define SI443X_PACKET_HANDLER_POWER_DOWN_ON 0b00010000 // 4 4 enabled
489 #define SI443X_MANCHESTER_PREAMBLE_POL_LOW 0b00000000 // 3 3 preamble polarity in Manchester mode: low
490 #define SI443X_MANCHESTER_PREAMBLE_POL_HIGH 0b00001000 // 3 3 high (default)
491 #define SI443X_MANCHESTER_INVERTED_OFF 0b00000000 // 2 2 inverted Manchester encoding: disabled
492 #define SI443X_MANCHESTER_INVERTED_ON 0b00000100 // 2 2 enabled (default)
493 #define SI443X_MANCHESTER_OFF 0b00000000 // 1 1 Manchester encoding: disabled (default)
494 #define SI443X_MANCHESTER_ON 0b00000010 // 1 1 enabled
495 #define SI443X_WHITENING_OFF 0b00000000 // 0 0 data whitening: disabled (default)
496 #define SI443X_WHITENING_ON 0b00000001 // 0 0 enabled
497 
498 // SI443X_REG_MODULATION_MODE_CONTROL_2
499 #define SI443X_TX_DATA_CLOCK_NONE 0b00000000 // 7 6 Tx data clock: disabled (default)
500 #define SI443X_TX_DATA_CLOCK_GPIO 0b01000000 // 7 6 GPIO pin
501 #define SI443X_TX_DATA_CLOCK_SDI 0b10000000 // 7 6 SDI pin
502 #define SI443X_TX_DATA_CLOCK_NIRQ 0b11000000 // 7 6 nIRQ pin
503 #define SI443X_TX_DATA_SOURCE_GPIO 0b00000000 // 5 4 Tx data source in direct mode: GPIO pin (default)
504 #define SI443X_TX_DATA_SOURCE_SDI 0b00010000 // 5 4 SDI pin
505 #define SI443X_TX_DATA_SOURCE_FIFO 0b00100000 // 5 4 FIFO
506 #define SI443X_TX_DATA_SOURCE_PN9 0b00110000 // 5 4 PN9 internal
507 #define SI443X_TX_RX_INVERTED_OFF 0b00000000 // 3 3 Tx/Rx data inverted: disabled (default)
508 #define SI443X_TX_RX_INVERTED_ON 0b00001000 // 3 3 enabled
509 #define SI443X_FREQUENCY_DEVIATION_MSB 0b00000000 // 2 2 frequency deviation MSB
510 #define SI443X_MODULATION_NONE 0b00000000 // 1 0 modulation type: unmodulated carrier (default)
511 #define SI443X_MODULATION_OOK 0b00000001 // 1 0 OOK
512 #define SI443X_MODULATION_FSK 0b00000010 // 1 0 FSK
513 #define SI443X_MODULATION_GFSK 0b00000011 // 1 0 GFSK
514 
515 // SI443X_REG_FREQUENCY_DEVIATION
516 #define SI443X_FREQUENCY_DEVIATION_LSB 0b00100000 // 7 0 frequency deviation LSB, Fd = 625 Hz * SI443X_FREQUENCY_DEVIATION, defaults to 20 kHz
517 
518 // SI443X_REG_FREQUENCY_OFFSET_1 + SI443X_REG_FREQUENCY_OFFSET_2
519 #define SI443X_FREQUENCY_OFFSET_MSB 0x00 // 7 0 frequency offset:
520 #define SI443X_FREQUENCY_OFFSET_LSB 0x00 // 1 0 Foff = 156.25 Hz * (SI443X_BAND_SELECT + 1) * SI443X_FREQUENCY_OFFSET, defaults to 156.25 Hz
521 
522 // SI443X_REG_FREQUENCY_BAND_SELECT
523 #define SI443X_SIDE_BAND_SELECT_LOW 0b00000000 // 6 6 Rx LO tuning: below channel frequency (default)
524 #define SI443X_SIDE_BAND_SELECT_HIGH 0b01000000 // 6 6 above channel frequency
525 #define SI443X_BAND_SELECT_LOW 0b00000000 // 5 5 band select: low, 240 - 479.9 MHz
526 #define SI443X_BAND_SELECT_HIGH 0b00100000 // 5 5 high, 480 - 960 MHz (default)
527 #define SI443X_FREQUENCY_BAND_SELECT 0b00010101 // 4 0 frequency band select
528 
529 // SI443X_REG_NOM_CARRIER_FREQUENCY_1 + SI443X_REG_NOM_CARRIER_FREQUENCY_0
530 #define SI443X_NOM_CARRIER_FREQUENCY_MSB 0b10111011 // 7 0 nominal carrier frequency:
531 #define SI443X_NOM_CARRIER_FREQUENCY_LSB 0b10000000 // 7 0 Fc = (SI443X_BAND_SELECT + 1)*10*(SI443X_FREQUENCY_BAND_SELECT + 24) + (SI443X_NOM_CARRIER_FREQUENCY - SI443X_FREQUENCY_OFFSET)/6400 [MHz]
532 
533 // SI443X_REG_FREQUENCY_HOPPING_CHANNEL_SEL
534 #define SI443X_FREQUENCY_HOPPING_CHANNEL 0x00 // 7 0 frequency hopping channel number
535 
536 // SI443X_REG_FREQUENCY_HOPPING_STEP_SIZE
537 #define SI443X_FREQUENCY_HOPPING_STEP_SIZE 0x00 // 7 0 frequency hopping step size
538 
539 // SI443X_REG_TX_FIFO_CONTROL_1
540 #define SI443X_TX_FIFO_ALMOST_FULL_THRESHOLD 0x37 // 5 0 Tx FIFO almost full threshold
541 
542 // SI443X_REG_TX_FIFO_CONTROL_2
543 #define SI443X_TX_FIFO_ALMOST_EMPTY_THRESHOLD 0x04 // 5 0 Tx FIFO almost full threshold
544 
545 // SI443X_REG_RX_FIFO_CONTROL
546 #define SI443X_RX_FIFO_ALMOST_FULL_THRESHOLD 0x37 // 5 0 Rx FIFO almost full threshold
547 
554 class Si443x: public PhysicalLayer {
555  public:
556  // introduce PhysicalLayer overloads
561 
562  // constructor
563 
569  Si443x(Module* mod);
570 
571  // basic methods
572 
586  int16_t begin(float br, float freqDev, float rxBw, uint8_t preambleLen);
587 
591  void reset();
592 
605  int16_t transmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
606 
617  int16_t receive(uint8_t* data, size_t len) override;
618 
625  int16_t sleep();
626 
632  int16_t standby() override;
633 
641  int16_t transmitDirect(uint32_t frf = 0) override;
642 
648  int16_t receiveDirect() override;
649 
655  int16_t packetMode();
656 
657  // interrupt methods
658 
664  void setIrqAction(void (*func)(void));
665 
669  void clearIrqAction();
670 
682  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
683 
689  int16_t startReceive();
690 
700  int16_t readData(uint8_t* data, size_t len) override;
701 
702  // configuration methods
703 
711  int16_t setBitRate(float br);
712 
720  int16_t setFrequencyDeviation(float freqDev) override;
721 
729  int16_t setRxBandwidth(float rxBw);
730 
738  int16_t setSyncWord(uint8_t* syncWord, size_t len);
739 
747  int16_t setPreambleLength(uint8_t preambleLen);
748 
756  size_t getPacketLength(bool update = true) override;
757 
766  int16_t setEncoding(uint8_t encoding) override;
767 
776  int16_t setDataShaping(uint8_t sh) override;
777 
786  void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);
787 
788 #ifndef RADIOLIB_GODMODE
789  protected:
790 #endif
791  Module* _mod;
792 
793  float _br = 0;
794  float _freqDev = 0;
795  float _freq = 0;
796 
797  size_t _packetLength = 0;
798  bool _packetLengthQueried = false;
799 
800  int16_t setFrequencyRaw(float newFreq);
801 
802 #ifndef RADIOLIB_GODMODE
803  private:
804 #endif
805  bool findChip();
806  void clearIRQFlags();
807  int16_t config();
808  int16_t updateClockRecovery();
809  int16_t directMode();
810 };
811 
812 #endif
813 
814 #endif
int16_t setRxBandwidth(float rxBw)
Sets receiver bandwidth. Allowed values range from 2.6 to 620.7 kHz.
Definition: Si443x.cpp:364
+
int16_t startReceive()
Interrupt-driven receive method. IRQ will be activated when full valid packet is received.
Definition: Si443x.cpp:254
+
int16_t setDataShaping(uint8_t sh) override
Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK...
Definition: Si443x.cpp:533
+
int16_t startTransmit(String &str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes.
Definition: PhysicalLayer.cpp:49
+
void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
Some modules contain external RF switch controlled by two pins. This function gives RadioLib control ...
Definition: Si443x.cpp:552
+
int16_t setSyncWord(uint8_t *syncWord, size_t len)
Sets sync word. Up to 4 bytes can be set as sync word.
Definition: Si443x.cpp:471
+
int16_t receiveDirect() override
Enables direct reception mode. While in direct mode, the module will not be able to transmit or recei...
Definition: Si443x.cpp:189
+
int16_t packetMode()
Disables direct mode and enables packet mode, allowing the module to receive packets.
Definition: Si443x.cpp:202
+
int16_t readData(uint8_t *data, size_t len) override
Reads data that was received after calling startReceive method. This method reads len characters...
Definition: Si443x.cpp:279
+
Si443x(Module *mod)
Default constructor.
Definition: Si443x.cpp:4
+
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING.
Definition: Si443x.cpp:514
+
void reset()
Reset method. Will reset the chip to the default state using SDN pin.
Definition: Si443x.cpp:60
+
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: Si443x.cpp:504
+
int16_t standby() override
Sets the module to standby.
Definition: Si443x.cpp:139
+
int16_t receive(uint8_t *data, size_t len) override
Binary receive method. Will attempt to receive arbitrary binary data up to 64 bytes long...
Definition: Si443x.cpp:101
+
int16_t transmit(uint8_t *data, size_t len, uint8_t addr=0) override
Binary transmit method. Will transmit arbitrary binary data up to 64 bytes long. For overloads to tra...
Definition: Si443x.cpp:68
+
Base class for Si443x series. All derived classes for Si443x (e.g. Si4431 or Si4432) inherit from thi...
Definition: Si443x.h:554
+
int16_t begin(float br, float freqDev, float rxBw, uint8_t preambleLen)
Initialization method.
Definition: Si443x.cpp:8
+
void clearIrqAction()
Clears interrupt service routine to call when IRQ activates.
Definition: Si443x.cpp:210
+
int16_t setBitRate(float br)
Sets FSK bit rate. Allowed values range from 0.123 to 256.0 kbps.
Definition: Si443x.cpp:305
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)
Arduino Flash String transmit method.
Definition: PhysicalLayer.cpp:8
+
void setIrqAction(void(*func)(void))
Sets interrupt service routine to call when IRQ activates.
Definition: Si443x.cpp:206
+
int16_t setPreambleLength(uint8_t preambleLen)
Sets preamble length.
Definition: Si443x.cpp:488
+
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:98
+
int16_t transmitDirect(uint32_t frf=0) override
Enables direct transmission mode. While in direct mode, the module will not be able to transmit or re...
Definition: Si443x.cpp:147
+
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation from carrier frequency. Allowed values range from 0.625 to 320...
Definition: Si443x.cpp:336
+
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
+
int16_t sleep()
Sets the module to sleep to save power. Module will not be able to transmit or receive any data while...
Definition: Si443x.cpp:123
+
int16_t startTransmit(uint8_t *data, size_t len, uint8_t addr=0) override
Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 64 bytes...
Definition: Si443x.cpp:214
+
int16_t readData(String &str, size_t len=0)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:57
+
+
+ + + + diff --git a/_transport_layer_8h_source.html b/_transport_layer_8h_source.html new file mode 100644 index 00000000..b2f01065 --- /dev/null +++ b/_transport_layer_8h_source.html @@ -0,0 +1,129 @@ + + + + + + +RadioLib: src/protocols/TransportLayer/TransportLayer.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
TransportLayer.h
+
+
+
1 #ifndef _RADIOLIB_TRANSPORT_LAYER_H
2 #define _RADIOLIB_TRANSPORT_LAYER_H
3 
4 #include "../../TypeDef.h"
5 
13  public:
14  // constructor
15  // this class is purely virtual and does not require explicit constructor
16 
17  // basic methods
18 
32  virtual int16_t openTransportConnection(const char* host, const char* protocol, uint16_t port, uint16_t tcpKeepAlive = 0) = 0;
33 
39  virtual int16_t closeTransportConnection() = 0;
40 
48  virtual int16_t send(const char* data) = 0;
49 
59  virtual int16_t send(uint8_t* data, size_t len) = 0;
60 
72  virtual size_t receive(uint8_t* data, size_t len, uint32_t timeout = 10000) = 0;
73 
83  virtual size_t getNumBytes(uint32_t timeout = 10000, size_t minBytes = 10) = 0;
84 };
85 
86 #endif
Provides common interface for protocols that run on modules with Internet connectivity, such as HTTP or MQTT. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class.
Definition: TransportLayer.h:12
+
virtual size_t getNumBytes(uint32_t timeout=10000, size_t minBytes=10)=0
Get number of received bytes.
+
virtual size_t receive(uint8_t *data, size_t len, uint32_t timeout=10000)=0
Receive data.
+
virtual int16_t openTransportConnection(const char *host, const char *protocol, uint16_t port, uint16_t tcpKeepAlive=0)=0
Open transport layer connection.
+
virtual int16_t send(const char *data)=0
Send string-based data.
+
virtual int16_t closeTransportConnection()=0
Close transport layer connection.
+
+
+ + + + diff --git a/_type_def_8h_source.html b/_type_def_8h_source.html new file mode 100644 index 00000000..8ab07fea --- /dev/null +++ b/_type_def_8h_source.html @@ -0,0 +1,123 @@ + + + + + + +RadioLib: src/TypeDef.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
TypeDef.h
+
+
+
1 #ifndef _RADIOLIB_TYPES_H
2 #define _RADIOLIB_TYPES_H
3 
4 #include "BuildOpt.h"
5 
15 #define RADIOLIB_USE_SPI 0x00
16 
20 #define RADIOLIB_USE_UART 0x01
21 
25 #define RADIOLIB_USE_I2C 0x02
26 
40 #define RADIOLIB_UART_STOPBIT_1 0x01
41 
45 #define RADIOLIB_UART_STOPBIT_1_5 0x02
46 
50 #define RADIOLIB_UART_STOPBIT_2 0x03
51 
55 #define RADIOLIB_UART_PARITY_NONE 0x00
56 
60 #define RADIOLIB_UART_PARITY_ODD 0x01
61 
65 #define RADIOLIB_UART_PARITY_EVEN 0x02
66 
70 #define RADIOLIB_UART_FLOW_NONE 0x00
71 
75 #define RADIOLIB_UART_FLOW_RTS 0x01
76 
80 #define RADIOLIB_UART_FLOW_CTS 0x02
81 
85 #define RADIOLIB_UART_FLOW_BOTH 0x03
86 
100 #define RADIOLIB_SHAPING_NONE 0x00
101 
105 #define RADIOLIB_SHAPING_0_3 0x01
106 
110 #define RADIOLIB_SHAPING_0_5 0x02
111 
115 #define RADIOLIB_SHAPING_0_7 0x03
116 
120 #define RADIOLIB_SHAPING_1_0 0x04
121 
135 #define RADIOLIB_ENCODING_NRZ 0x00
136 
140 #define RADIOLIB_ENCODING_MANCHESTER 0x01
141 
145 #define RADIOLIB_ENCODING_WHITENING 0x02
146 
157 // common status codes
158 
162 #define ERR_NONE 0
163 
168 #define ERR_UNKNOWN -1
169 
170 // SX127x/RFM9x status codes
171 
176 #define ERR_CHIP_NOT_FOUND -2
177 
181 #define ERR_MEMORY_ALLOCATION_FAILED -3
182 
186 #define ERR_PACKET_TOO_LONG -4
187 
191 #define ERR_TX_TIMEOUT -5
192 
196 #define ERR_RX_TIMEOUT -6
197 
202 #define ERR_CRC_MISMATCH -7
203 
207 #define ERR_INVALID_BANDWIDTH -8
208 
212 #define ERR_INVALID_SPREADING_FACTOR -9
213 
217 #define ERR_INVALID_CODING_RATE -10
218 
222 #define ERR_INVALID_BIT_RANGE -11
223 
227 #define ERR_INVALID_FREQUENCY -12
228 
232 #define ERR_INVALID_OUTPUT_POWER -13
233 
238 #define PREAMBLE_DETECTED -14
239 
243 #define CHANNEL_FREE -15
244 
248 #define ERR_SPI_WRITE_FAILED -16
249 
253 #define ERR_INVALID_CURRENT_LIMIT -17
254 
258 #define ERR_INVALID_PREAMBLE_LENGTH -18
259 
263 #define ERR_INVALID_GAIN -19
264 
269 #define ERR_WRONG_MODEM -20
270 
274 #define ERR_INVALID_NUM_SAMPLES -21
275 
279 #define ERR_INVALID_RSSI_OFFSET -22
280 
284 #define ERR_INVALID_ENCODING -23
285 
286 // RF69-specific status codes
287 
291 #define ERR_INVALID_BIT_RATE -101
292 
296 #define ERR_INVALID_FREQUENCY_DEVIATION -102
297 
301 #define ERR_INVALID_BIT_RATE_BW_RATIO -103
302 
306 #define ERR_INVALID_RX_BANDWIDTH -104
307 
311 #define ERR_INVALID_SYNC_WORD -105
312 
316 #define ERR_INVALID_DATA_SHAPING -106
317 
321 #define ERR_INVALID_MODULATION -107
322 
323 // ESP8266 status codes
324 
328 #define ERR_AT_FAILED -201
329 
333 #define ERR_URL_MALFORMED -202
334 
338 #define ERR_RESPONSE_MALFORMED_AT -203
339 
343 #define ERR_RESPONSE_MALFORMED -204
344 
348 #define ERR_MQTT_CONN_VERSION_REJECTED -205
349 
353 #define ERR_MQTT_CONN_ID_REJECTED -206
354 
358 #define ERR_MQTT_CONN_SERVER_UNAVAILABLE -207
359 
363 #define ERR_MQTT_CONN_BAD_USERNAME_PASSWORD -208
364 
368 #define ERR_MQTT_CONN_NOT_AUTHORIZED -208
369 
373 #define ERR_MQTT_UNEXPECTED_PACKET_ID -209
374 
378 #define ERR_MQTT_NO_NEW_PACKET_AVAILABLE -210
379 
383 #define MQTT_SUBS_SUCCESS_QOS_0 0x00
384 
388 #define MQTT_SUBS_SUCCESS_QOS_1 0x01
389 
393 #define MQTT_SUBS_SUCCESS_QOS_2 0x02
394 
398 #define ERR_MQTT_SUBS_FAILED 0x80
399 
400 // XBee status codes
401 
405 #define ERR_CMD_MODE_FAILED -301
406 
410 #define ERR_FRAME_MALFORMED -302
411 
415 #define ERR_FRAME_INCORRECT_CHECKSUM -303
416 
420 #define ERR_FRAME_UNEXPECTED_ID -304
421 
425 #define ERR_FRAME_NO_RESPONSE -305
426 
427 // RTTY status codes
428 
432 #define ERR_INVALID_RTTY_SHIFT -401
433 
437 #define ERR_UNSUPPORTED_ENCODING -402
438 
439 // nRF24-specific status codes
440 
444 #define ERR_INVALID_DATA_RATE -501
445 
449 #define ERR_INVALID_ADDRESS_WIDTH -502
450 
454 #define ERR_INVALID_PIPE_NUMBER -503
455 
459 #define ERR_ACK_NOT_RECEIVED -504
460 
461 // CC1101-specific status codes
462 
466 #define ERR_INVALID_NUM_BROAD_ADDRS -601
467 
468 // SX126x-specific status codes
469 
473 #define ERR_INVALID_CRC_CONFIGURATION -701
474 
478 #define LORA_DETECTED -702
479 
483 #define ERR_INVALID_TCXO_VOLTAGE -703
484 
488 #define ERR_INVALID_MODULATION_PARAMETERS -704
489 
493 #define ERR_SPI_CMD_TIMEOUT -705
494 
498 #define ERR_SPI_CMD_INVALID -706
499 
503 #define ERR_SPI_CMD_FAILED -707
504 
511 #define ERR_INVALID_SLEEP_PERIOD -708
512 
518 #define ERR_INVALID_RX_PERIOD -709
519 
520 // AX.25-specific status codes
521 
527 #define ERR_INVALID_CALLSIGN -801
528 
534 #define ERR_INVALID_NUM_REPEATERS -802
535 
541 #define ERR_INVALID_REPEATER_CALLSIGN -803
542 
543 // SX128x-specific status codes
544 
548 #define ERR_RANGING_TIMEOUT -901
549 
554 #endif
+
+ + + + diff --git a/_x_bee_8h_source.html b/_x_bee_8h_source.html new file mode 100644 index 00000000..8d41e5a4 --- /dev/null +++ b/_x_bee_8h_source.html @@ -0,0 +1,132 @@ + + + + + + +RadioLib: src/modules/XBee/XBee.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
XBee.h
+
+
+
1 #if !defined(_RADIOLIB_XBEE_H) && !defined(RADIOLIB_EXCLUDE_XBEE)
2 #define _RADIOLIB_XBEE_H
3 
4 #include "../../ISerial.h"
5 #include "../../TypeDef.h"
6 
7 // API reserved characters
8 #define XBEE_API_START 0x7E
9 #define XBEE_API_ESCAPE 0x7D
10 #define XBEE_API_XON 0x11
11 #define XBEE_API_XOFF 0x13
12 
13 // API frame IDs
14 #define XBEE_API_FRAME_AT_COMMAND 0x08
15 #define XBEE_API_FRAME_AT_COMMAND_QUEUE 0x09
16 #define XBEE_API_FRAME_ZIGBEE_TRANSMIT_REQUEST 0x10
17 #define XBEE_API_FRAME_ZIGBEE_ADDRESS_EXPLICIT 0x11
18 #define XBEE_API_FRAME_REMOTE_COMMAND 0x17
19 #define XBEE_API_FRAME_CREATE_SOURCE_ROUTE 0x21
20 #define XBEE_API_FRAME_AT_COMMAND_RESPONSE 0x88
21 #define XBEE_API_FRAME_MODEM_STATUS 0x8A
22 #define XBEE_API_FRAME_ZIGBEE_TRANSMIT_STATUS 0x8B
23 #define XBEE_API_FRAME_ZIGBEE_RECEIVE_PACKET 0x90
24 #define XBEE_API_FRAME_ZIGBEE_EXPLICIT_RX 0x91
25 #define XBEE_API_FRAME_ZIGBEE_IO_DATA_SAMPLE_RX 0x92
26 #define XBEE_API_FRAME_SENSOR_READ 0x94
27 #define XBEE_API_FRAME_NODE_ID 0x95
28 #define XBEE_API_FRAME_REMOTE_COMMAND_RESPONSE 0x97
29 #define XBEE_API_FRAME_EXTENDED_MODEM_STATUS 0x98
30 #define XBEE_API_FRAME_OTA_FW_UPDATE_STATUS 0xA0
31 #define XBEE_API_FRAME_ROUTE_RECORD 0xA1
32 #define XBEE_API_FRAME_MANY_TO_ONE_ROUTE_REQUEST 0xA3
33 
39 class XBeeSerial: public ISerial {
40  public:
46  XBeeSerial(Module* mod);
47 
48  // basic methods
49 
57  int16_t begin(long speed);
58 
62  void reset();
63 
64  // configuration methods
65 
75  int16_t setDestinationAddress(const char* destinationAddressHigh, const char* destinationAddressLow);
76 
82  int16_t setPanId(const char* panId);
83 
84 #ifndef RADIOLIB_GODMODE
85  private:
86 #endif
87  bool enterCmdMode();
88 
89 };
90 
96 class XBee {
97  public:
103  XBee(Module* mod);
104 
105  // basic methods
106 
114  int16_t begin(long speed);
115 
119  void reset();
120 
130  int16_t transmit(uint8_t* dest, const char* payload, uint8_t radius = 1);
131 
143  int16_t transmit(uint8_t* dest, uint8_t* destNetwork, const char* payload, uint8_t radius = 1);
144 
150  size_t available();
151 
157  String getPacketSource();
158 
164  String getPacketData();
165 
166  // configuration methods
167 
173  int16_t setPanId(uint8_t* panId);
174 
175 #ifndef RADIOLIB_GODMODE
176  private:
177 #endif
178  Module* _mod;
179  uint8_t _frameID = 0x01;
180  size_t _frameLength = 0;
181  bool _frameHeaderProcessed = false;
182 
183  #ifdef RADIOLIB_STATIC_ONLY
184  char _packetData[RADIOLIB_STATIC_ARRAY_SIZE];
185  #else
186  char* _packetData = new char[0];
187  #endif
188  uint8_t _packetSource[8] = {0, 0, 0, 0, 0, 0, 0, 0};
189 
190  int16_t confirmChanges();
191 
192  void sendApiFrame(uint8_t type, uint8_t id, const char* data);
193  void sendApiFrame(uint8_t type, uint8_t id, uint8_t* data, uint16_t length);
194  int16_t readApiFrame(uint8_t frameID, uint8_t codePos, uint16_t timeout = 5000);
195 
196  uint16_t getNumBytes(uint32_t timeout = 10000, size_t minBytes = 10);
197 };
198 
199 #endif
int16_t setPanId(const char *panId)
Sets PAN (Personal Area Network) ID. Both XBees must be in the same PAN in order to use transparent m...
Definition: XBee.cpp:276
+
int16_t setDestinationAddress(const char *destinationAddressHigh, const char *destinationAddressLow)
Sets destination XBee address.
Definition: XBee.cpp:226
+
XBee Serial interface. This class is used for XBees in transparent mode, i.e. when two XBees act as a...
Definition: XBee.h:39
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
Interface class for Arduino Serial. Only calls the appropriate methods for the active UART interface...
Definition: ISerial.h:16
+
XBeeSerial(Module *mod)
Default constructor.
Definition: XBee.cpp:180
+
Control class for XBee modules.
Definition: XBee.h:96
+
void reset()
Resets module using interrupt/GPIO pin 1.
Definition: XBee.cpp:218
+
int16_t begin(long speed)
Initialization method.
Definition: XBee.cpp:184
+
+
+ + + + diff --git a/annotated.html b/annotated.html new file mode 100644 index 00000000..8653a92d --- /dev/null +++ b/annotated.html @@ -0,0 +1,179 @@ + + + + + + +RadioLib: Class List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 CAFSKClientClient for audio-based transmissions. Requires Arduino tone() function, and a module capable of direct mode transmission using DIO pins
 CAX25ClientClient for AX25 communication
 CAX25FrameAbstraction of AX.25 frame format
 CCC1101Control class for CC1101 module
 CESP8266Control class for ESP8266 module. Implements TransportLayer methods
 CHC05Control class for HC05 module. Most methods supported by this module are implemented in ISerial interface
 CHellClientClient for Hellschreiber transmissions
 CHTTPClientClient for simple HTTP communication
 CISerialInterface class for Arduino Serial. Only calls the appropriate methods for the active UART interface
 CITA2StringITA2-encoded string
 CJDY08Control class for JDY08 module. Most methods supported by this module are implemented in ISerial interface
 CModuleImplements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class
 CMorseClientClient for Morse Code communication. The public interface is the same as Arduino Serial
 CMQTTClientClient for simple MQTT communication
 CnRF24Control class for nRF24 module
 CPhysicalLayerProvides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN. Also extracts some common module-independent methods. Using this interface class allows to use the protocols on various modules without much code duplicity. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class
 CRF69Control class for RF69 module. Also serves as base class for SX1231
 CRFM22Only exists as alias for Si4432, since there seems to be no difference between RFM22 and Si4432 modules
 CRFM23Only exists as alias for Si4431, since there seems to be no difference between RFM23 and Si4431 modules
 CRFM95Derived class for RFM95 modules. Overrides some methods from SX1278 due to different parameter ranges
 CRFM96Derived class for RFM96 modules. Overrides some methods from SX1278 due to different parameter ranges
 CRFM97Derived class for RFM97 modules. Overrides some methods from RFM95 due to different parameter ranges
 CRFM98Only exists as alias for RFM96, since there seems to be no difference between RFM96 and RFM98 modules
 CRTTYClientClient for RTTY communication. The public interface is the same as Arduino Serial
 CSi4430Derived class for Si4430 modules
 CSi4431Derived class for Si4431 modules
 CSi4432Derived class for Si4432 modules
 CSi443xBase class for Si443x series. All derived classes for Si443x (e.g. Si4431 or Si4432) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes
 CSSTVClientClient for SSTV transmissions
 CSSTVMode_tStructure to save data about supported SSTV modes
 CSX1231Control class for SX1231 module. Overrides some methods from RF69 due to different register values
 CSX1261Derived class for SX1261 modules
 CSX1262Derived class for SX1262 modules
 CSX1268Derived class for SX1268 modules
 CSX126xBase class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes
 CSX1272Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic hardware and only differ in parameter ranges
 CSX1273Derived class for SX1273 modules. Overrides some methods from SX1272 due to different parameter ranges
 CSX1276Derived class for SX1276 modules. Overrides some methods from SX1278 due to different parameter ranges
 CSX1277Derived class for SX1277 modules. Overrides some methods from SX1278 due to different parameter ranges
 CSX1278Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names)
 CSX1279Derived class for SX1279 modules. Overrides some methods from SX1278 due to different parameter ranges
 CSX127xBase class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes
 CSX1280Derived class for SX1280 modules
 CSX1281Derived class for SX1281 modules
 CSX1282Derived class for SX1282 modules
 CSX128xBase class for SX128x series. All derived classes for SX128x (e.g. SX1280 or SX1281) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes
 Ctone_tStructure to save data about tone
 CTransportLayerProvides common interface for protocols that run on modules with Internet connectivity, such as HTTP or MQTT. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class
 CXBeeControl class for XBee modules
 CXBeeSerialXBee Serial interface. This class is used for XBees in transparent mode, i.e. when two XBees act as a "wireless UART"
+
+
+
+ + + + diff --git a/annotated_dup.js b/annotated_dup.js new file mode 100644 index 00000000..f3226073 --- /dev/null +++ b/annotated_dup.js @@ -0,0 +1,53 @@ +var annotated_dup = +[ + [ "AFSKClient", "class_a_f_s_k_client.html", "class_a_f_s_k_client" ], + [ "AX25Client", "class_a_x25_client.html", "class_a_x25_client" ], + [ "AX25Frame", "class_a_x25_frame.html", "class_a_x25_frame" ], + [ "CC1101", "class_c_c1101.html", "class_c_c1101" ], + [ "ESP8266", "class_e_s_p8266.html", "class_e_s_p8266" ], + [ "HC05", "class_h_c05.html", "class_h_c05" ], + [ "HellClient", "class_hell_client.html", "class_hell_client" ], + [ "HTTPClient", "class_h_t_t_p_client.html", "class_h_t_t_p_client" ], + [ "ISerial", "class_i_serial.html", "class_i_serial" ], + [ "ITA2String", "class_i_t_a2_string.html", "class_i_t_a2_string" ], + [ "JDY08", "class_j_d_y08.html", "class_j_d_y08" ], + [ "Module", "class_module.html", "class_module" ], + [ "MorseClient", "class_morse_client.html", "class_morse_client" ], + [ "MQTTClient", "class_m_q_t_t_client.html", "class_m_q_t_t_client" ], + [ "nRF24", "classn_r_f24.html", "classn_r_f24" ], + [ "PhysicalLayer", "class_physical_layer.html", "class_physical_layer" ], + [ "RF69", "class_r_f69.html", "class_r_f69" ], + [ "RFM22", "class_r_f_m22.html", null ], + [ "RFM23", "class_r_f_m23.html", null ], + [ "RFM95", "class_r_f_m95.html", "class_r_f_m95" ], + [ "RFM96", "class_r_f_m96.html", "class_r_f_m96" ], + [ "RFM97", "class_r_f_m97.html", "class_r_f_m97" ], + [ "RFM98", "class_r_f_m98.html", null ], + [ "RTTYClient", "class_r_t_t_y_client.html", "class_r_t_t_y_client" ], + [ "Si4430", "class_si4430.html", "class_si4430" ], + [ "Si4431", "class_si4431.html", "class_si4431" ], + [ "Si4432", "class_si4432.html", "class_si4432" ], + [ "Si443x", "class_si443x.html", "class_si443x" ], + [ "SSTVClient", "class_s_s_t_v_client.html", "class_s_s_t_v_client" ], + [ "SSTVMode_t", "struct_s_s_t_v_mode__t.html", "struct_s_s_t_v_mode__t" ], + [ "SX1231", "class_s_x1231.html", "class_s_x1231" ], + [ "SX1261", "class_s_x1261.html", "class_s_x1261" ], + [ "SX1262", "class_s_x1262.html", "class_s_x1262" ], + [ "SX1268", "class_s_x1268.html", "class_s_x1268" ], + [ "SX126x", "class_s_x126x.html", "class_s_x126x" ], + [ "SX1272", "class_s_x1272.html", "class_s_x1272" ], + [ "SX1273", "class_s_x1273.html", "class_s_x1273" ], + [ "SX1276", "class_s_x1276.html", "class_s_x1276" ], + [ "SX1277", "class_s_x1277.html", "class_s_x1277" ], + [ "SX1278", "class_s_x1278.html", "class_s_x1278" ], + [ "SX1279", "class_s_x1279.html", "class_s_x1279" ], + [ "SX127x", "class_s_x127x.html", "class_s_x127x" ], + [ "SX1280", "class_s_x1280.html", "class_s_x1280" ], + [ "SX1281", "class_s_x1281.html", "class_s_x1281" ], + [ "SX1282", "class_s_x1282.html", "class_s_x1282" ], + [ "SX128x", "class_s_x128x.html", "class_s_x128x" ], + [ "tone_t", "structtone__t.html", "structtone__t" ], + [ "TransportLayer", "class_transport_layer.html", "class_transport_layer" ], + [ "XBee", "class_x_bee.html", "class_x_bee" ], + [ "XBeeSerial", "class_x_bee_serial.html", "class_x_bee_serial" ] +]; \ No newline at end of file diff --git a/arrowdown.png b/arrowdown.png new file mode 100644 index 0000000000000000000000000000000000000000..0b63f6d38c4b9ec907b820192ebe9724ed6eca22 GIT binary patch literal 246 zcmVkw!R34#Lv2LOS^S2tZA31X++9RY}n zChwn@Z)Wz*WWHH{)HDtJnq&A2hk$b-y(>?@z0iHr41EKCGp#T5?07*qoM6N<$f(V3Pvj6}9 literal 0 HcmV?d00001 diff --git a/arrowright.png b/arrowright.png new file mode 100644 index 0000000000000000000000000000000000000000..c6ee22f937a07d1dbfc27c669d11f8ed13e2f152 GIT binary patch literal 229 zcmV^P)R?RzRoKvklcaQ%HF6%rK2&ZgO(-ihJ_C zzrKgp4jgO( fd_(yg|3PpEQb#9`a?Pz_00000NkvXXu0mjftR`5K literal 0 HcmV?d00001 diff --git a/bc_s.png b/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/bdwn.png b/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
AFSKClient Member List
+
+
+ +

This is the complete list of members for AFSKClient, including all inherited members.

+ + + + + + + + + +
AFSKClient(PhysicalLayer *phy, RADIOLIB_PIN_TYPE pin)AFSKClient
AX25Client (defined in AFSKClient)AFSKClientfriend
HellClient (defined in AFSKClient)AFSKClientfriend
MorseClient (defined in AFSKClient)AFSKClientfriend
noTone()AFSKClient
RTTYClient (defined in AFSKClient)AFSKClientfriend
SSTVClient (defined in AFSKClient)AFSKClientfriend
tone(uint16_t freq, bool autoStart=true)AFSKClient
+
+ + + + diff --git a/class_a_f_s_k_client.html b/class_a_f_s_k_client.html new file mode 100644 index 00000000..68b29e37 --- /dev/null +++ b/class_a_f_s_k_client.html @@ -0,0 +1,263 @@ + + + + + + +RadioLib: AFSKClient Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
AFSKClient Class Reference
+
+
+ +

Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direct mode transmission using DIO pins. + More...

+ +

#include <AFSK.h>

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

+Public Member Functions

 AFSKClient (PhysicalLayer *phy, RADIOLIB_PIN_TYPE pin)
 Default contructor. More...
 
int16_t tone (uint16_t freq, bool autoStart=true)
 Start transmitting audio tone. More...
 
int16_t noTone ()
 Stops transmitting audio tone. More...
 
+ + + + + + + + + + + +

+Friends

+class RTTYClient
 
+class MorseClient
 
+class HellClient
 
+class SSTVClient
 
+class AX25Client
 
+

Detailed Description

+

Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direct mode transmission using DIO pins.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
AFSKClient::AFSKClient (PhysicalLayerphy,
RADIOLIB_PIN_TYPE pin 
)
+
+ +

Default contructor.

+
Parameters
+ + + +
phyPointer to the wireless module providing PhysicalLayer communication.
pinThe pin that will be used for audio output.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
int16_t AFSKClient::noTone ()
+
+ +

Stops transmitting audio tone.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t AFSKClient::tone (uint16_t freq,
bool autoStart = true 
)
+
+ +

Start transmitting audio tone.

+
Parameters
+ + + +
freqFrequency of the tone in Hz.
autoStartWhether to automatically enter transmission mode. Defaults to true.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/protocols/AFSK/AFSK.h
  • +
  • src/protocols/AFSK/AFSK.cpp
  • +
+
+
+ + + + diff --git a/class_a_f_s_k_client.js b/class_a_f_s_k_client.js new file mode 100644 index 00000000..b18893c1 --- /dev/null +++ b/class_a_f_s_k_client.js @@ -0,0 +1,11 @@ +var class_a_f_s_k_client = +[ + [ "AFSKClient", "class_a_f_s_k_client.html#acfe53917bcba7f79611e01865c42fefd", null ], + [ "noTone", "class_a_f_s_k_client.html#ade91356bb158bbc820d28855dd5818d1", null ], + [ "tone", "class_a_f_s_k_client.html#a6d2341901c83e45f853c077e60f1fa33", null ], + [ "AX25Client", "class_a_f_s_k_client.html#a0012621c1414f4c7573e961b57884a5b", null ], + [ "HellClient", "class_a_f_s_k_client.html#afeb005bab389f137def61f1acc3714d3", null ], + [ "MorseClient", "class_a_f_s_k_client.html#ae5c5757c553100373984a416b6c3690a", null ], + [ "RTTYClient", "class_a_f_s_k_client.html#a018393f703a257e39cd263cccf4ffad5", null ], + [ "SSTVClient", "class_a_f_s_k_client.html#ae8dd4f2f60ef4fd1fa1868a7a630ab20", null ] +]; \ No newline at end of file diff --git a/class_a_x25_client-members.html b/class_a_x25_client-members.html new file mode 100644 index 00000000..7f64bf15 --- /dev/null +++ b/class_a_x25_client-members.html @@ -0,0 +1,133 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
AX25Client Member List
+
+
+ +

This is the complete list of members for AX25Client, including all inherited members.

+ + + + + + +
AX25Client(PhysicalLayer *phy)AX25Clientexplicit
AX25Client(AFSKClient *audio)AX25Clientexplicit
begin(const char *srcCallsign, uint8_t srcSSID=0x00, uint8_t preambleLen=8)AX25Client
sendFrame(AX25Frame *frame)AX25Client
transmit(const char *str, const char *destCallsign, uint8_t destSSID=0x00)AX25Client
+
+ + + + diff --git a/class_a_x25_client.html b/class_a_x25_client.html new file mode 100644 index 00000000..c4df5863 --- /dev/null +++ b/class_a_x25_client.html @@ -0,0 +1,336 @@ + + + + + + +RadioLib: AX25Client Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
AX25Client Class Reference
+
+
+ +

Client for AX25 communication. + More...

+ +

#include <AX25.h>

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

+Public Member Functions

 AX25Client (PhysicalLayer *phy)
 Constructor for 2-FSK mode. More...
 
 AX25Client (AFSKClient *audio)
 Constructor for AFSK mode. More...
 
int16_t begin (const char *srcCallsign, uint8_t srcSSID=0x00, uint8_t preambleLen=8)
 Initialization method. More...
 
int16_t transmit (const char *str, const char *destCallsign, uint8_t destSSID=0x00)
 Transmit unnumbered information (UI) frame. More...
 
int16_t sendFrame (AX25Frame *frame)
 Transmit arbitrary AX.25 frame. More...
 
+

Detailed Description

+

Client for AX25 communication.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
AX25Client::AX25Client (PhysicalLayerphy)
+
+explicit
+
+ +

Constructor for 2-FSK mode.

+
Parameters
+ + +
phyPointer to the wireless module providing PhysicalLayer communication.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
AX25Client::AX25Client (AFSKClientaudio)
+
+explicit
+
+ +

Constructor for AFSK mode.

+
Parameters
+ + +
audioPointer to the AFSK instance providing audio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t AX25Client::begin (const char * srcCallsign,
uint8_t srcSSID = 0x00,
uint8_t preambleLen = 8 
)
+
+ +

Initialization method.

+
Parameters
+ + + + +
srcCallsignCallsign of the source station.
srcSSID4-bit SSID of the source station (in case there are more stations with the same callsign). Defaults to 0.
preambleLenNumber of "preamble" bytes (AX25_FLAG) sent ahead of the actual AX.25 frame. Does not include the first AX25_FLAG byte, which is considered part of the frame. Defaults to 8.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t AX25Client::sendFrame (AX25Frameframe)
+
+ +

Transmit arbitrary AX.25 frame.

+
Parameters
+ + +
frameFrame to be sent.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t AX25Client::transmit (const char * str,
const char * destCallsign,
uint8_t destSSID = 0x00 
)
+
+ +

Transmit unnumbered information (UI) frame.

+
Parameters
+ + + + +
strData to be sent.
destCallsignCallsign of the destination station.
destSSID4-bit SSID of the destination station (in case there are more stations with the same callsign). Defaults to 0.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/protocols/AX25/AX25.h
  • +
  • src/protocols/AX25/AX25.cpp
  • +
+
+
+ + + + diff --git a/class_a_x25_client.js b/class_a_x25_client.js new file mode 100644 index 00000000..6e93eca5 --- /dev/null +++ b/class_a_x25_client.js @@ -0,0 +1,8 @@ +var class_a_x25_client = +[ + [ "AX25Client", "class_a_x25_client.html#ab074563d4d22a42d5ea9ad1693d6f373", null ], + [ "AX25Client", "class_a_x25_client.html#a6e81e629817cdf1b377e4b4f7e4d6520", null ], + [ "begin", "class_a_x25_client.html#a38be2b9385e4804339b3e4b57b90c2ca", null ], + [ "sendFrame", "class_a_x25_client.html#a341db993853c6817a8f6c7087ead0ba6", null ], + [ "transmit", "class_a_x25_client.html#a985790943f3f3e06a2dfdd36977d0b98", null ] +]; \ No newline at end of file diff --git a/class_a_x25_frame-members.html b/class_a_x25_frame-members.html new file mode 100644 index 00000000..6dc9f888 --- /dev/null +++ b/class_a_x25_frame-members.html @@ -0,0 +1,150 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
AX25Frame Member List
+
+
+ +

This is the complete list of members for AX25Frame, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + +
AX25Frame(const char *destCallsign, uint8_t destSSID, const char *srcCallsign, uint8_t srcSSID, uint8_t control)AX25Frame
AX25Frame(const char *destCallsign, uint8_t destSSID, const char *srcCallsign, uint8_t srcSSID, uint8_t control, uint8_t protocolID, const char *info)AX25Frame
AX25Frame(const char *destCallsign, uint8_t destSSID, const char *srcCallsign, uint8_t srcSSID, uint8_t control, uint8_t protocolID, uint8_t *info, uint16_t infoLen)AX25Frame
AX25Frame(const AX25Frame &frame)AX25Frame
controlAX25Frame
destCallsignAX25Frame
destSSIDAX25Frame
infoAX25Frame
infoLenAX25Frame
numRepeatersAX25Frame
operator=(const AX25Frame &frame)AX25Frame
protocolIDAX25Frame
rcvSeqNumberAX25Frame
repeaterCallsignsAX25Frame
repeaterSSIDsAX25Frame
sendSeqNumberAX25Frame
setRecvSequence(uint8_t seqNumber)AX25Frame
setRepeaters(char **repeaterCallsigns, uint8_t *repeaterSSIDs, uint8_t numRepeaters)AX25Frame
setSendSequence(uint8_t seqNumber)AX25Frame
srcCallsignAX25Frame
srcSSIDAX25Frame
~AX25Frame()AX25Frame
+
+ + + + diff --git a/class_a_x25_frame.html b/class_a_x25_frame.html new file mode 100644 index 00000000..cf6b7433 --- /dev/null +++ b/class_a_x25_frame.html @@ -0,0 +1,572 @@ + + + + + + +RadioLib: AX25Frame Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
AX25Frame Class Reference
+
+
+ +

Abstraction of AX.25 frame format. + More...

+ +

#include <AX25.h>

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

+Public Member Functions

 AX25Frame (const char *destCallsign, uint8_t destSSID, const char *srcCallsign, uint8_t srcSSID, uint8_t control)
 Overloaded constructor, for frames without info field. More...
 
 AX25Frame (const char *destCallsign, uint8_t destSSID, const char *srcCallsign, uint8_t srcSSID, uint8_t control, uint8_t protocolID, const char *info)
 Overloaded constructor, for frames with C-string info field. More...
 
 AX25Frame (const char *destCallsign, uint8_t destSSID, const char *srcCallsign, uint8_t srcSSID, uint8_t control, uint8_t protocolID, uint8_t *info, uint16_t infoLen)
 Default constructor. More...
 
 AX25Frame (const AX25Frame &frame)
 Copy constructor. More...
 
~AX25Frame ()
 Default destructor.
 
AX25Frameoperator= (const AX25Frame &frame)
 Overload for assignment operator. More...
 
int16_t setRepeaters (char **repeaterCallsigns, uint8_t *repeaterSSIDs, uint8_t numRepeaters)
 Method to set the repeater callsigns and SSIDs. More...
 
void setRecvSequence (uint8_t seqNumber)
 Method to set receive sequence number. More...
 
void setSendSequence (uint8_t seqNumber)
 Method to set send sequence number. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+char destCallsign [AX25_MAX_CALLSIGN_LEN+1]
 Callsign of the destination station.
 
+uint8_t destSSID
 SSID of the destination station.
 
+char srcCallsign [AX25_MAX_CALLSIGN_LEN+1]
 Callsign of the source station.
 
+uint8_t srcSSID
 SSID of the source station.
 
+uint8_t numRepeaters
 Number of repeaters to be used.
 
+uint8_t control
 The control field.
 
+uint8_t protocolID
 The protocol identifier (PID) field.
 
+uint16_t infoLen
 Number of bytes in the information field.
 
+uint8_t rcvSeqNumber
 Receive sequence number.
 
+uint16_t sendSeqNumber
 Send sequence number.
 
+uint8_t * info
 The info field.
 
+char ** repeaterCallsigns
 Array of repeater callsigns.
 
+uint8_t * repeaterSSIDs
 Array of repeater SSIDs.
 
+

Detailed Description

+

Abstraction of AX.25 frame format.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AX25Frame::AX25Frame (const char * destCallsign,
uint8_t destSSID,
const char * srcCallsign,
uint8_t srcSSID,
uint8_t control 
)
+
+ +

Overloaded constructor, for frames without info field.

+
Parameters
+ + + + + + +
destCallsignCallsign of the destination station.
destSSIDSSID of the destination station.
srcCallsignCallsign of the source station.
srcSSIDSSID of the source station.
controlThe control field.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AX25Frame::AX25Frame (const char * destCallsign,
uint8_t destSSID,
const char * srcCallsign,
uint8_t srcSSID,
uint8_t control,
uint8_t protocolID,
const char * info 
)
+
+ +

Overloaded constructor, for frames with C-string info field.

+
Parameters
+ + + + + + + + +
destCallsignCallsign of the destination station.
destSSIDSSID of the destination station.
srcCallsignCallsign of the source station.
srcSSIDSSID of the source station.
controlThe control field.
protocolIDThe protocol identifier (PID) field. Set to zero if the frame doesn't have this field.
infoInformation field, in the form of null-terminated C-string.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AX25Frame::AX25Frame (const char * destCallsign,
uint8_t destSSID,
const char * srcCallsign,
uint8_t srcSSID,
uint8_t control,
uint8_t protocolID,
uint8_t * info,
uint16_t infoLen 
)
+
+ +

Default constructor.

+
Parameters
+ + + + + + + + + +
destCallsignCallsign of the destination station.
destSSIDSSID of the destination station.
srcCallsignCallsign of the source station.
srcSSIDSSID of the source station.
controlThe control field.
protocolIDThe protocol identifier (PID) field. Set to zero if the frame doesn't have this field.
infoInformation field, in the form of arbitrary binary buffer.
infoLenNumber of bytes in the information field.
+
+
+ +
+
+ +
+
+ + + + + + + + +
AX25Frame::AX25Frame (const AX25Frameframe)
+
+ +

Copy constructor.

+
Parameters
+ + +
frameAX25Frame instance to copy.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
AX25Frame & AX25Frame::operator= (const AX25Frameframe)
+
+ +

Overload for assignment operator.

+
Parameters
+ + +
framervalue AX25Frame.
+
+
+ +
+
+ +
+
+ + + + + + + + +
void AX25Frame::setRecvSequence (uint8_t seqNumber)
+
+ +

Method to set receive sequence number.

+
Parameters
+ + +
seqNumberSequence number to set, 0 to 7.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t AX25Frame::setRepeaters (char ** repeaterCallsigns,
uint8_t * repeaterSSIDs,
uint8_t numRepeaters 
)
+
+ +

Method to set the repeater callsigns and SSIDs.

+
Parameters
+ + + + +
repeaterCallsignsArray of repeater callsigns in the form of null-terminated C-strings.
repeaterSSIDsArray of repeater SSIDs.
numRepeatersNumber of repeaters, maximum is 8.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
void AX25Frame::setSendSequence (uint8_t seqNumber)
+
+ +

Method to set send sequence number.

+
Parameters
+ + +
seqNumberSequence number to set, 0 to 7.
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/protocols/AX25/AX25.h
  • +
  • src/protocols/AX25/AX25.cpp
  • +
+
+
+ + + + diff --git a/class_a_x25_frame.js b/class_a_x25_frame.js new file mode 100644 index 00000000..05d9f37e --- /dev/null +++ b/class_a_x25_frame.js @@ -0,0 +1,25 @@ +var class_a_x25_frame = +[ + [ "AX25Frame", "class_a_x25_frame.html#a138d97d90a371bef7ebd86cce1cc4979", null ], + [ "AX25Frame", "class_a_x25_frame.html#a60e1b318d6e4b9299a4eab72e40877fc", null ], + [ "AX25Frame", "class_a_x25_frame.html#a3899b8698d772b8285629d6a4f2a642a", null ], + [ "AX25Frame", "class_a_x25_frame.html#a25b83cc9c281d2758165833fe238fe0e", null ], + [ "~AX25Frame", "class_a_x25_frame.html#ab84a13f720ada37aee6201a560d9dc5a", null ], + [ "operator=", "class_a_x25_frame.html#a52e7e5f6f48c3e62544721d2a5e00640", null ], + [ "setRecvSequence", "class_a_x25_frame.html#a4696a8eede8bac85f0ee6de6fee79ea8", null ], + [ "setRepeaters", "class_a_x25_frame.html#a7f2d9f4f1ba29d0fd9f9f3f2cf03f797", null ], + [ "setSendSequence", "class_a_x25_frame.html#a026e9b96fa69018590fcf6842df8be70", null ], + [ "control", "class_a_x25_frame.html#a5b196079b539dc417ca65dd4ad622f8f", null ], + [ "destCallsign", "class_a_x25_frame.html#a78e72871e3a9370675318876f4a4b432", null ], + [ "destSSID", "class_a_x25_frame.html#af62935e56dc24bca5d2e2aeb932b63f8", null ], + [ "info", "class_a_x25_frame.html#aa82f006b84b71b9c5d036a4946a65988", null ], + [ "infoLen", "class_a_x25_frame.html#a75e8ad33c2540ede5bb130050f6ffc41", null ], + [ "numRepeaters", "class_a_x25_frame.html#ad27453a838ba90f917a1a9853358bb9a", null ], + [ "protocolID", "class_a_x25_frame.html#aa8895fea37220c82f68bd320331595c8", null ], + [ "rcvSeqNumber", "class_a_x25_frame.html#adce5294af25f09df752997d33ac0e87f", null ], + [ "repeaterCallsigns", "class_a_x25_frame.html#a29eb08c9e72bbaced8d37dcb2343ee94", null ], + [ "repeaterSSIDs", "class_a_x25_frame.html#a5b63c6b6f69e0ac47ba9230ad39c6830", null ], + [ "sendSeqNumber", "class_a_x25_frame.html#a4c0fdf148d3b779d48441d45af87add2", null ], + [ "srcCallsign", "class_a_x25_frame.html#ab76eaa8445e7953059a46bb78082dd5a", null ], + [ "srcSSID", "class_a_x25_frame.html#a50c63276facf8126f0f8555b1fc6b2c9", null ] +]; \ No newline at end of file diff --git a/class_c_c1101-members.html b/class_c_c1101-members.html new file mode 100644 index 00000000..183f34e5 --- /dev/null +++ b/class_c_c1101-members.html @@ -0,0 +1,175 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
CC1101 Member List
+
+
+ +

This is the complete list of members for CC1101, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(float freq=434.0, float br=48.0, float freqDev=48.0, float rxBw=135.0, int8_t power=10, uint8_t preambleLength=16)CC1101
CC1101(Module *module)CC1101
clearGdo0Action()CC1101
clearGdo2Action()CC1101
disableAddressFiltering()CC1101
disableSyncWordFiltering(bool requireCarrierSense=false)CC1101
enableSyncWordFiltering(uint8_t maxErrBits=0, bool requireCarrierSense=false)CC1101
fixedPacketLengthMode(uint8_t len=CC1101_MAX_PACKET_LENGTH)CC1101
getFreqStep() const PhysicalLayer
getLQI() const CC1101
getPacketLength(bool update=true) overrideCC1101virtual
getRSSI() const CC1101
packetMode()CC1101
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideCC1101virtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideCC1101virtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideCC1101virtual
setBitRate(float br)CC1101
setCrcFiltering(bool crcOn=true)CC1101
setDataShaping(uint8_t sh) overrideCC1101virtual
setEncoding(uint8_t encoding) overrideCC1101virtual
setFrequency(float freq)CC1101
setFrequencyDeviation(float freqDev) overrideCC1101virtual
setGdo0Action(void(*func)(void), RADIOLIB_INTERRUPT_STATUS dir=FALLING)CC1101
setGdo2Action(void(*func)(void), RADIOLIB_INTERRUPT_STATUS dir=FALLING)CC1101
setNodeAddress(uint8_t nodeAddr, uint8_t numBroadcastAddrs=0)CC1101
setOOK(bool enableOOK)CC1101
setOutputPower(int8_t power)CC1101
setPreambleLength(uint8_t preambleLength)CC1101
setPromiscuousMode(bool promiscuous=true)CC1101
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)CC1101
setRxBandwidth(float rxBw)CC1101
setSyncWord(uint8_t syncH, uint8_t syncL, uint8_t maxErrBits=0, bool requireCarrierSense=false)CC1101
setSyncWord(uint8_t *syncWord, uint8_t len, uint8_t maxErrBits=0, bool requireCarrierSense=false)CC1101
standby() overrideCC1101virtual
startReceive()CC1101
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideCC1101virtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideCC1101virtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideCC1101virtual
variablePacketLengthMode(uint8_t maxLen=CC1101_MAX_PACKET_LENGTH)CC1101
+
+ + + + diff --git a/class_c_c1101.html b/class_c_c1101.html new file mode 100644 index 00000000..f461977b --- /dev/null +++ b/class_c_c1101.html @@ -0,0 +1,1441 @@ + + + + + + +RadioLib: CC1101 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
CC1101 Class Reference
+
+
+ +

Control class for CC1101 module. + More...

+ +

#include <CC1101.h>

+
+Inheritance diagram for CC1101:
+
+
+ + +PhysicalLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CC1101 (Module *module)
 Default constructor. More...
 
int16_t begin (float freq=434.0, float br=48.0, float freqDev=48.0, float rxBw=135.0, int8_t power=10, uint8_t preambleLength=16)
 Initialization method. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t standby () override
 Sets the module to standby mode. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Starts direct mode transmission. More...
 
int16_t receiveDirect () override
 Starts direct mode reception. More...
 
+int16_t packetMode ()
 Stops direct mode. It is required to call this method to switch from direct transmissions to packet-based transmissions.
 
void setGdo0Action (void(*func)(void), RADIOLIB_INTERRUPT_STATUS dir=FALLING)
 Sets interrupt service routine to call when GDO0 activates. More...
 
+void clearGdo0Action ()
 Clears interrupt service routine to call when GDO0 activates.
 
void setGdo2Action (void(*func)(void), RADIOLIB_INTERRUPT_STATUS dir=FALLING)
 Sets interrupt service routine to call when GDO2 activates. More...
 
+void clearGdo2Action ()
 Clears interrupt service routine to call when GDO0 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t startReceive ()
 Interrupt-driven receive method. GDO0 will be activated when full packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data received after calling startReceive method. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values are in bands 300.0 to 348.0 MHz, 387.0 to 464.0 MHz and 779.0 to 928.0 MHz. More...
 
int16_t setBitRate (float br)
 Sets bit rate. Allowed values range from 0.025 to 600.0 kbps. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets receiver bandwidth. Allowed values range from 58.0 to 812.0 kHz. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets frequency deviation. Allowed values range from 1.587 to 380.8 kHz. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values are -30, -20, -15, -10, 0, 5, 7 or 10 dBm. More...
 
int16_t setSyncWord (uint8_t syncH, uint8_t syncL, uint8_t maxErrBits=0, bool requireCarrierSense=false)
 Sets 16-bit sync word as a two byte value. More...
 
int16_t setSyncWord (uint8_t *syncWord, uint8_t len, uint8_t maxErrBits=0, bool requireCarrierSense=false)
 Sets 1 or 2 bytes of sync word. More...
 
int16_t setPreambleLength (uint8_t preambleLength)
 Sets preamble length. More...
 
int16_t setNodeAddress (uint8_t nodeAddr, uint8_t numBroadcastAddrs=0)
 Sets node and broadcast addresses. Calling this method will also enable address filtering. More...
 
int16_t disableAddressFiltering ()
 Disables address filtering. Calling this method will also erase previously set addresses. More...
 
int16_t setOOK (bool enableOOK)
 Enables/disables OOK modulation instead of FSK. More...
 
float getRSSI () const
 Gets RSSI (Recorded Signal Strength Indicator) of the last received packet. More...
 
uint8_t getLQI () const
 Gets LQI (Link Quality Indicator) of the last received packet. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=CC1101_MAX_PACKET_LENGTH)
 Set modem in fixed packet length mode. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=CC1101_MAX_PACKET_LENGTH)
 Set modem in variable packet length mode. More...
 
int16_t enableSyncWordFiltering (uint8_t maxErrBits=0, bool requireCarrierSense=false)
 Enable sync word filtering and generation. More...
 
int16_t disableSyncWordFiltering (bool requireCarrierSense=false)
 Disable preamble and sync word filtering and generation. More...
 
int16_t setCrcFiltering (bool crcOn=true)
 Enable CRC filtering and generation. More...
 
int16_t setPromiscuousMode (bool promiscuous=true)
 Set modem in "sniff" mode: no packet filtering (e.g., no preamble, sync word, address, CRC). More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Allowed value is RADIOLIB_SHAPING_0_5. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Allowed values are RADIOLIB_ENCODING_NRZ and RADIOLIB_ENCODING_WHITENING. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Control class for CC1101 module.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CC1101::CC1101 (Modulemodule)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t CC1101::begin (float freq = 434.0,
float br = 48.0,
float freqDev = 48.0,
float rxBw = 135.0,
int8_t power = 10,
uint8_t preambleLength = 16 
)
+
+ +

Initialization method.

+
Parameters
+ + + + + + + +
freqCarrier frequency in MHz. Defaults to 434.0 MHz.
brBit rate to be used in kbps. Defaults to 48.0 kbps.
freqDevFrequency deviation from carrier frequency in kHz Defaults to 48.0 kHz.
rxBwReceiver bandwidth in kHz. Defaults to 135.0 kHz.
powerOutput power in dBm. Defaults to 10 dBm.
preambleLengthPreamble Length in bits. Defaults to 16 bits.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t CC1101::disableAddressFiltering ()
+
+ +

Disables address filtering. Calling this method will also erase previously set addresses.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t CC1101::disableSyncWordFiltering (bool requireCarrierSense = false)
+
+ +

Disable preamble and sync word filtering and generation.

+
Parameters
+ + +
requireCarrierSenseRequire carrier sense above threshold.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t CC1101::enableSyncWordFiltering (uint8_t maxErrBits = 0,
bool requireCarrierSense = false 
)
+
+ +

Enable sync word filtering and generation.

+
Parameters
+ + + +
numBitsSync word length in bits.
requireCarrierSenseRequire carrier sense above threshold in addition to sync word.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t CC1101::fixedPacketLengthMode (uint8_t len = CC1101_MAX_PACKET_LENGTH)
+
+ +

Set modem in fixed packet length mode.

+
Parameters
+ + +
lenPacket length.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
uint8_t CC1101::getLQI () const
+
+ +

Gets LQI (Link Quality Indicator) of the last received packet.

+
Returns
Last packet LQI (lower is better).
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
size_t CC1101::getPacketLength (bool update = true)
+
+overridevirtual
+
+ +

Query modem for the packet length of received payload.

+
Parameters
+ + +
updateUpdate received packet length. Will return cached value when set to false.
+
+
+
Returns
Length of last received packet in bytes.
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + +
float CC1101::getRSSI () const
+
+ +

Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.

+
Returns
Last packet RSSI in dBm.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t CC1101::readData (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Reads data received after calling startReceive method.

+
Parameters
+ + + +
dataPointer to array to save the received binary data.
lenNumber of bytes that will be received. Must be known in advance for binary transmissions.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t CC1101::receive (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + +
dataBinary data to be sent.
lenNumber of bytes to send.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t CC1101::receiveDirect ()
+
+overridevirtual
+
+ +

Starts direct mode reception.

+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t CC1101::setBitRate (float br)
+
+ +

Sets bit rate. Allowed values range from 0.025 to 600.0 kbps.

+
Parameters
+ + +
brBit rate to be set in kbps.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t CC1101::setCrcFiltering (bool crcOn = true)
+
+ +

Enable CRC filtering and generation.

+
Parameters
+ + +
crcOnSet or unset promiscuous mode.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t CC1101::setDataShaping (uint8_t sh)
+
+overridevirtual
+
+ +

Sets Gaussian filter bandwidth-time product that will be used for data shaping. Allowed value is RADIOLIB_SHAPING_0_5. Set to RADIOLIB_SHAPING_NONE to disable data shaping.

+
Parameters
+ + +
shGaussian shaping bandwidth-time product that will be used for data shaping.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t CC1101::setEncoding (uint8_t encoding)
+
+overridevirtual
+
+ +

Sets transmission encoding. Allowed values are RADIOLIB_ENCODING_NRZ and RADIOLIB_ENCODING_WHITENING.

+
Parameters
+ + +
encodingEncoding to be used.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t CC1101::setFrequency (float freq)
+
+ +

Sets carrier frequency. Allowed values are in bands 300.0 to 348.0 MHz, 387.0 to 464.0 MHz and 779.0 to 928.0 MHz.

+
Parameters
+ + +
freqCarrier frequency to be set in MHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t CC1101::setFrequencyDeviation (float freqDev)
+
+overridevirtual
+
+ +

Sets frequency deviation. Allowed values range from 1.587 to 380.8 kHz.

+
Parameters
+ + +
freqDevFrequency deviation to be set in kHz.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void CC1101::setGdo0Action (void(*)(void) func,
RADIOLIB_INTERRUPT_STATUS dir = FALLING 
)
+
+ +

Sets interrupt service routine to call when GDO0 activates.

+
Parameters
+ + + +
funcISR to call.
dirSignal change direction. Defaults to FALLING.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void CC1101::setGdo2Action (void(*)(void) func,
RADIOLIB_INTERRUPT_STATUS dir = FALLING 
)
+
+ +

Sets interrupt service routine to call when GDO2 activates.

+
Parameters
+ + + +
funcISR to call.
dirSignal change direction. Defaults to FALLING.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t CC1101::setNodeAddress (uint8_t nodeAddr,
uint8_t numBroadcastAddrs = 0 
)
+
+ +

Sets node and broadcast addresses. Calling this method will also enable address filtering.

+
Parameters
+ + + +
nodeAddrNode address to be set.
numBroadcastAddrsNumber of broadcast addresses to be used. Can be set to 0 (no broadcast), 1 (broadcast at 0x00) or 2 (broadcast at 0x00 and 0xFF).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t CC1101::setOOK (bool enableOOK)
+
+ +

Enables/disables OOK modulation instead of FSK.

+
Parameters
+ + +
enableOOKEnable (true) or disable (false) OOK.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t CC1101::setOutputPower (int8_t power)
+
+ +

Sets output power. Allowed values are -30, -20, -15, -10, 0, 5, 7 or 10 dBm.

+
Parameters
+ + +
powerOutput power to be set in dBm.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t CC1101::setPreambleLength (uint8_t preambleLength)
+
+ +

Sets preamble length.

+
Parameters
+ + +
preambleLengthPreamble length to be set (in bits), allowed values: 16, 24, 32, 48, 64, 96, 128 and 192.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t CC1101::setPromiscuousMode (bool promiscuous = true)
+
+ +

Set modem in "sniff" mode: no packet filtering (e.g., no preamble, sync word, address, CRC).

+
Parameters
+ + +
promiscuousSet or unset promiscuous mode.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void CC1101::setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn,
RADIOLIB_PIN_TYPE txEn 
)
+
+ +

Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch!

+
Parameters
+ + + +
rxEnRX enable pin.
txEnTX enable pin.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int16_t CC1101::setRxBandwidth (float rxBw)
+
+ +

Sets receiver bandwidth. Allowed values range from 58.0 to 812.0 kHz.

+
Parameters
+ + +
rxBwReceiver bandwidth to be set in kHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t CC1101::setSyncWord (uint8_t syncH,
uint8_t syncL,
uint8_t maxErrBits = 0,
bool requireCarrierSense = false 
)
+
+ +

Sets 16-bit sync word as a two byte value.

+
Parameters
+ + + + + +
syncHMSB of the sync word.
syncLLSB of the sync word.
maxErrBitsMaximum allowed number of bit errors in received sync word. Defaults to 0.
requireCarrierSenseRequire carrier sense above threshold in addition to sync word.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t CC1101::setSyncWord (uint8_t * syncWord,
uint8_t len,
uint8_t maxErrBits = 0,
bool requireCarrierSense = false 
)
+
+ +

Sets 1 or 2 bytes of sync word.

+
Parameters
+ + + + + +
syncWordPointer to the array of sync word bytes.
lenSync word length in bytes.
maxErrBitsMaximum allowed number of bit errors in received sync word. Defaults to 0.
requireCarrierSenseRequire carrier sense above threshold in addition to sync word.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t CC1101::standby ()
+
+overridevirtual
+
+ +

Sets the module to standby mode.

+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + +
int16_t CC1101::startReceive ()
+
+ +

Interrupt-driven receive method. GDO0 will be activated when full packet is received.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t CC1101::startTransmit (uint8_t * data,
size_t len,
uint8_t addr = 0 
)
+
+overridevirtual
+
+ +

Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + + +
dataBinary data to be sent.
lenNumber of bytes to send.
addrAddress to send the data to. Will only be added if address filtering was enabled.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t CC1101::transmit (uint8_t * data,
size_t len,
uint8_t addr = 0 
)
+
+overridevirtual
+
+ +

Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + + +
dataBinary data to be sent.
lenNumber of bytes to send.
addrAddress to send the data to. Will only be added if address filtering was enabled.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t CC1101::transmitDirect (uint32_t frf = 0)
+
+overridevirtual
+
+ +

Starts direct mode transmission.

+
Parameters
+ + +
frfRaw RF frequency value. Defaults to 0, required for quick frequency shifts in RTTY.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t CC1101::variablePacketLengthMode (uint8_t maxLen = CC1101_MAX_PACKET_LENGTH)
+
+ +

Set modem in variable packet length mode.

+
Parameters
+ + +
lenMaximum packet length.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/CC1101/CC1101.h
  • +
  • src/modules/CC1101/CC1101.cpp
  • +
+
+
+ + + + diff --git a/class_c_c1101.js b/class_c_c1101.js new file mode 100644 index 00000000..f9917505 --- /dev/null +++ b/class_c_c1101.js @@ -0,0 +1,41 @@ +var class_c_c1101 = +[ + [ "CC1101", "class_c_c1101.html#a6807e4254c4b55fa8d393b2bf8f2db3e", null ], + [ "begin", "class_c_c1101.html#adcf6b5c4e1a066d6b9be326a9ee04284", null ], + [ "clearGdo0Action", "class_c_c1101.html#ab5e6b3745f80cf61e1ced33303311df8", null ], + [ "clearGdo2Action", "class_c_c1101.html#ac7a8b1fe7d08dc6db20cf1569b0d37b4", null ], + [ "disableAddressFiltering", "class_c_c1101.html#a9aee5df428d30b9c80b8a8700609a883", null ], + [ "disableSyncWordFiltering", "class_c_c1101.html#a4f2dc4176b62a0636636088e31b8e85b", null ], + [ "enableSyncWordFiltering", "class_c_c1101.html#a6fe55d0217bf5218865198ef8d6fdab4", null ], + [ "fixedPacketLengthMode", "class_c_c1101.html#a9335f1d5ccab7aab2357449002203810", null ], + [ "getLQI", "class_c_c1101.html#af252f2c3c591289cb73089e51f0f967d", null ], + [ "getPacketLength", "class_c_c1101.html#a122281f6a915b77ee9dafc9926e731a0", null ], + [ "getRSSI", "class_c_c1101.html#af55b5ec0dd2d73bac6cb8a6d9862e6c1", null ], + [ "packetMode", "class_c_c1101.html#a38f6978c757b0dd73e3ef98164a735a2", null ], + [ "readData", "class_c_c1101.html#a8c79975a7bbe8a37f8214ecd1f69ba22", null ], + [ "receive", "class_c_c1101.html#aedc1067d0334bb69ed5316146014097d", null ], + [ "receiveDirect", "class_c_c1101.html#ab053c185330519d58f364790108d29ac", null ], + [ "setBitRate", "class_c_c1101.html#aa53427cabcda0778f287ed1d850bbe37", null ], + [ "setCrcFiltering", "class_c_c1101.html#aafac40359c4a1bb01aae12da6b03be26", null ], + [ "setDataShaping", "class_c_c1101.html#adf96e77f25b7e256891601bef04f35a6", null ], + [ "setEncoding", "class_c_c1101.html#ab4b98eb6af33d006306bb7514ed216ea", null ], + [ "setFrequency", "class_c_c1101.html#a9592c023556c38c2b8066a23da96ae5e", null ], + [ "setFrequencyDeviation", "class_c_c1101.html#a0d69713b9f20c9de354c13c3167b18b3", null ], + [ "setGdo0Action", "class_c_c1101.html#a6dfd6a57cdbb3196ad021b152b0c65ed", null ], + [ "setGdo2Action", "class_c_c1101.html#ac6338c2f5c937a12dac06069944ffb77", null ], + [ "setNodeAddress", "class_c_c1101.html#a6e62914790f132816134fc68c2bb5eb8", null ], + [ "setOOK", "class_c_c1101.html#afa64d1ad4789d3146b38d14437234756", null ], + [ "setOutputPower", "class_c_c1101.html#ac3ff8051af5ca50c349e02257f1a3bda", null ], + [ "setPreambleLength", "class_c_c1101.html#acbfa80f431f335d5597500319f0affa8", null ], + [ "setPromiscuousMode", "class_c_c1101.html#a2911d49d1c293542f7a374c9af60df0e", null ], + [ "setRfSwitchPins", "class_c_c1101.html#a45ab4e3f4f9db367185333d36ba21ed2", null ], + [ "setRxBandwidth", "class_c_c1101.html#a381d0059d7a0ccd8a2f54d7d3376f9b6", null ], + [ "setSyncWord", "class_c_c1101.html#a433f1a40b33be6c84d3665a1b4cd57d6", null ], + [ "setSyncWord", "class_c_c1101.html#ab89b0932dbacadc34d049a2bd2292001", null ], + [ "standby", "class_c_c1101.html#a7612bf81e48086004c62548de2682266", null ], + [ "startReceive", "class_c_c1101.html#af727750d05be0bcef4bb8ac260d110e3", null ], + [ "startTransmit", "class_c_c1101.html#a0df2938e2509a8f2746b20ae0558d4ea", null ], + [ "transmit", "class_c_c1101.html#a7cb99a9200b21829b50e3fc3878573f4", null ], + [ "transmitDirect", "class_c_c1101.html#a240eef8fa7d838d76f3c11086dc50e46", null ], + [ "variablePacketLengthMode", "class_c_c1101.html#a881122ec3457c5f95760859f8e0297c7", null ] +]; \ No newline at end of file diff --git a/class_c_c1101.png b/class_c_c1101.png new file mode 100644 index 0000000000000000000000000000000000000000..a1bb064ce6a288c7d1d703994e63897b8bba887b GIT binary patch literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^u|OQa!3-pQ3_JCKlth3}i0l9V|AEXGZ@!lHADRGU zf$@O@2Ut7r$OE|?B|(0{3_wL7aP?G(5d#CGnWu|mNCo5Dxv_nR40zbo`>yB|-!zDqPZ2di2r#o00vqK$j;6G^<(S=5}-}yd8h@ zYg_Gq4({4bVOtj5{H=a1^!BHl``*3jdz>v=vR3w*aqq9Z)BU{$Wn0(0%}ej8eSKu5 z;I+J_$5$n8e!tc$mDs#C##`^k`fsr}_2=&0dS|C`cV_+}p)W;Szu(ONda3o_(wdC@ z&URbwE1j=T5EPuQzx{etwg`j10b`3`*8F82wJZKA@?SZAYyYovOJonIzGaZhWdGn{ z-Qa$U(dH80gNbDf{r^++mrgOzU~mK~cwGGLsrUBD+cLdNISQV1)<({le=Ftk)`Kk! z>Bqj=hO_>9^Q#uD@uTMM=Q}RSRo`d4rvfpQWBc?VFA@8W`@#>_@=sh03{?hCS3j3^ HP6 + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ESP8266 Member List
+
+
+ +

This is the complete list of members for ESP8266, including all inherited members.

+ + + + + + + + + + + +
begin(long speed)ESP8266
closeTransportConnection() overrideESP8266virtual
ESP8266(Module *module)ESP8266
getNumBytes(uint32_t timeout=10000, size_t minBytes=10) overrideESP8266virtual
join(const char *ssid, const char *password)ESP8266
openTransportConnection(const char *host, const char *protocol, uint16_t port, uint16_t tcpKeepAlive=0) overrideESP8266virtual
receive(uint8_t *data, size_t len, uint32_t timeout=10000) overrideESP8266virtual
reset()ESP8266
send(const char *data) overrideESP8266virtual
send(uint8_t *data, size_t len) overrideESP8266virtual
+
+ + + + diff --git a/class_e_s_p8266.html b/class_e_s_p8266.html new file mode 100644 index 00000000..b04ea53f --- /dev/null +++ b/class_e_s_p8266.html @@ -0,0 +1,555 @@ + + + + + + +RadioLib: ESP8266 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
ESP8266 Class Reference
+
+
+ +

Control class for ESP8266 module. Implements TransportLayer methods. + More...

+ +

#include <ESP8266.h>

+
+Inheritance diagram for ESP8266:
+
+
+ + +TransportLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ESP8266 (Module *module)
 Default constructor. More...
 
int16_t begin (long speed)
 Initialization method. More...
 
int16_t reset ()
 Resets module using AT command. More...
 
int16_t join (const char *ssid, const char *password)
 Joins access point. More...
 
int16_t openTransportConnection (const char *host, const char *protocol, uint16_t port, uint16_t tcpKeepAlive=0) override
 Open transport layer connection. More...
 
int16_t closeTransportConnection () override
 Close transport layer connection. More...
 
int16_t send (const char *data) override
 Send string-based data. More...
 
int16_t send (uint8_t *data, size_t len) override
 Send arbitrary binary data. More...
 
size_t receive (uint8_t *data, size_t len, uint32_t timeout=10000) override
 Receive data. More...
 
size_t getNumBytes (uint32_t timeout=10000, size_t minBytes=10) override
 Get number of received bytes. More...
 
+

Detailed Description

+

Control class for ESP8266 module. Implements TransportLayer methods.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
ESP8266::ESP8266 (Modulemodule)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
int16_t ESP8266::begin (long speed)
+
+ +

Initialization method.

+
Parameters
+ + +
speedBaud rate to use for UART interface.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t ESP8266::closeTransportConnection ()
+
+overridevirtual
+
+ +

Close transport layer connection.

+
Returns
Status Codes
+ +

Implements TransportLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
size_t ESP8266::getNumBytes (uint32_t timeout = 10000,
size_t minBytes = 10 
)
+
+overridevirtual
+
+ +

Get number of received bytes.

+
Parameters
+ + + +
timeoutReception timeout in ms. Defaults to 10000.
minBytesMinimum required number of bytes that must be received.
+
+
+
Returns
Number of received bytes, or 0 on timeout.
+ +

Implements TransportLayer.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t ESP8266::join (const char * ssid,
const char * password 
)
+
+ +

Joins access point.

+
Parameters
+ + + +
ssidAccess point SSID.
passwordAccess point password.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t ESP8266::openTransportConnection (const char * host,
const char * protocol,
uint16_t port,
uint16_t tcpKeepAlive = 0 
)
+
+overridevirtual
+
+ +

Open transport layer connection.

+
Parameters
+ + + + + +
hostHost to connect to.
protocolTransport protocol to use. Usually "TCP" or "UDP".
portto be used for the connection.
tcpKeepAliveTCP keep alive interval. Defaults to 0.
+
+
+
Returns
Status Codes
+ +

Implements TransportLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
size_t ESP8266::receive (uint8_t * data,
size_t len,
uint32_t timeout = 10000 
)
+
+overridevirtual
+
+ +

Receive data.

+
Parameters
+ + + + +
dataPointer to array to save the received data.
lenNumber of bytes to read.
timeoutReception timeout in ms. Defaults to 10000.
+
+
+
Returns
Status Codes
+ +

Implements TransportLayer.

+ +
+
+ +
+
+ + + + + + + +
int16_t ESP8266::reset ()
+
+ +

Resets module using AT command.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t ESP8266::send (const char * data)
+
+overridevirtual
+
+ +

Send string-based data.

+
Parameters
+ + +
stringString data to be sent.
+
+
+
Returns
Status Codes
+ +

Implements TransportLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t ESP8266::send (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Send arbitrary binary data.

+
Parameters
+ + + +
dataData to be sent.
lenNumber of bytes to send.
+
+
+
Returns
Status Codes
+ +

Implements TransportLayer.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/ESP8266/ESP8266.h
  • +
  • src/modules/ESP8266/ESP8266.cpp
  • +
+
+
+ + + + diff --git a/class_e_s_p8266.js b/class_e_s_p8266.js new file mode 100644 index 00000000..10ce74c5 --- /dev/null +++ b/class_e_s_p8266.js @@ -0,0 +1,13 @@ +var class_e_s_p8266 = +[ + [ "ESP8266", "class_e_s_p8266.html#ac0adb20130a378b8b99fcb9101823636", null ], + [ "begin", "class_e_s_p8266.html#ae25a6901976a548443e2b7d49ca94d9b", null ], + [ "closeTransportConnection", "class_e_s_p8266.html#aa71846340d1a679a12ddb9b9597f8f91", null ], + [ "getNumBytes", "class_e_s_p8266.html#ac463b6a80cdc52e7db50b1f6760cec3f", null ], + [ "join", "class_e_s_p8266.html#abb39d205464bc4789c87120564258432", null ], + [ "openTransportConnection", "class_e_s_p8266.html#a535f4b7a8ef104b208753f9361568d20", null ], + [ "receive", "class_e_s_p8266.html#aa79f841de9ae9c5d6057e89a9f1721ea", null ], + [ "reset", "class_e_s_p8266.html#aee0279b476a83a55f54ab22e6d8f3904", null ], + [ "send", "class_e_s_p8266.html#a1caaa537edd52d1c2b7a0a25ef69c1c9", null ], + [ "send", "class_e_s_p8266.html#a2f34474953b7dbe4d057c8e3f65e0dc4", null ] +]; \ No newline at end of file diff --git a/class_e_s_p8266.png b/class_e_s_p8266.png new file mode 100644 index 0000000000000000000000000000000000000000..29c2f3b7b4d43fff295a55b3193def37bd48f949 GIT binary patch literal 472 zcmeAS@N?(olHy`uVBq!ia0vp^$v_;y!3-p=xUH7}DTx4|5ZC|z{{xvX-h3_XKQsZz z0^bWaz@kP61PbKmA2R^VaaSN{4}zEaYV z#p8sGX-e?(RpFl!Epis@?=(DiQoz+^*&{wdL1}-hL%#$C4L7^YwhF0?5#IBdV`cWK zjGaE`cg^1FIaA#I-GV7I8lBUp`&6zw+shaHe4@2Uuiqme7Ck;?6IT zX7hXUi*-^nWTGR(ZbzMvVZD$X!M}CN)0MR^uYNE0=3H=ef_wDTM>jU@&b0m3w=Ayy z*2Ve#uUz-qyr0A0P+h>@z+296qv8b6y5gTqJRPD=-ETN8fYHF<>FVdQ&MBb@0MeVz A)c^nh literal 0 HcmV?d00001 diff --git a/class_h_c05-members.html b/class_h_c05-members.html new file mode 100644 index 00000000..c8bc33b6 --- /dev/null +++ b/class_h_c05-members.html @@ -0,0 +1,160 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
HC05 Member List
+
+
+ +

This is the complete list of members for HC05, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
available() (defined in ISerial)ISerial
begin(long speed)HC05
end() (defined in ISerial)ISerial
flush() (defined in ISerial)ISerial
HC05(Module *mod)HC05
ISerial(Module *mod) (defined in ISerial)ISerialexplicit
peek() (defined in ISerial)ISerial
print(const __FlashStringHelper *) (defined in ISerial)ISerial
print(const String &) (defined in ISerial)ISerial
print(const char[]) (defined in ISerial)ISerial
print(char) (defined in ISerial)ISerial
print(unsigned char, int=DEC) (defined in ISerial)ISerial
print(int, int=DEC) (defined in ISerial)ISerial
print(unsigned int, int=DEC) (defined in ISerial)ISerial
print(long, int=DEC) (defined in ISerial)ISerial
print(unsigned long, int=DEC) (defined in ISerial)ISerial
print(double, int=2) (defined in ISerial)ISerial
print(const Printable &) (defined in ISerial)ISerial
println(const __FlashStringHelper *) (defined in ISerial)ISerial
println(const String &s) (defined in ISerial)ISerial
println(const char[]) (defined in ISerial)ISerial
println(char) (defined in ISerial)ISerial
println(unsigned char, int=DEC) (defined in ISerial)ISerial
println(int, int=DEC) (defined in ISerial)ISerial
println(unsigned int, int=DEC) (defined in ISerial)ISerial
println(long, int=DEC) (defined in ISerial)ISerial
println(unsigned long, int=DEC) (defined in ISerial)ISerial
println(double, int=2) (defined in ISerial)ISerial
println(const Printable &) (defined in ISerial)ISerial
println(void) (defined in ISerial)ISerial
read() (defined in ISerial)ISerial
write(uint8_t) (defined in ISerial)ISerial
+
+ + + + diff --git a/class_h_c05.html b/class_h_c05.html new file mode 100644 index 00000000..3d3975bf --- /dev/null +++ b/class_h_c05.html @@ -0,0 +1,303 @@ + + + + + + +RadioLib: HC05 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
HC05 Class Reference
+
+
+ +

Control class for HC05 module. Most methods supported by this module are implemented in ISerial interface. + More...

+ +

#include <HC05.h>

+
+Inheritance diagram for HC05:
+
+
+ + +ISerial + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 HC05 (Module *mod)
 Default constructor. More...
 
void begin (long speed)
 Initialization method. More...
 
- Public Member Functions inherited from ISerial
ISerial (Module *mod)
 
+void begin (long)
 
+void end ()
 
+int peek ()
 
+size_t write (uint8_t)
 
+int read ()
 
+int available ()
 
+void flush ()
 
+size_t print (const __FlashStringHelper *)
 
+size_t print (const String &)
 
+size_t print (const char[])
 
+size_t print (char)
 
+size_t print (unsigned char, int=DEC)
 
+size_t print (int, int=DEC)
 
+size_t print (unsigned int, int=DEC)
 
+size_t print (long, int=DEC)
 
+size_t print (unsigned long, int=DEC)
 
+size_t print (double, int=2)
 
+size_t print (const Printable &)
 
+size_t println (const __FlashStringHelper *)
 
+size_t println (const String &s)
 
+size_t println (const char[])
 
+size_t println (char)
 
+size_t println (unsigned char, int=DEC)
 
+size_t println (int, int=DEC)
 
+size_t println (unsigned int, int=DEC)
 
+size_t println (long, int=DEC)
 
+size_t println (unsigned long, int=DEC)
 
+size_t println (double, int=2)
 
+size_t println (const Printable &)
 
+size_t println (void)
 
+

Detailed Description

+

Control class for HC05 module. Most methods supported by this module are implemented in ISerial interface.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
HC05::HC05 (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
void HC05::begin (long speed)
+
+ +

Initialization method.

+
Parameters
+ + +
speedBaud rate to use for UART interface.
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/HC05/HC05.h
  • +
  • src/modules/HC05/HC05.cpp
  • +
+
+
+ + + + diff --git a/class_h_c05.js b/class_h_c05.js new file mode 100644 index 00000000..3c1a16d1 --- /dev/null +++ b/class_h_c05.js @@ -0,0 +1,5 @@ +var class_h_c05 = +[ + [ "HC05", "class_h_c05.html#a5cc3184c58de65cbff18447c6d03de18", null ], + [ "begin", "class_h_c05.html#a83cf61ee5a79c06f43861a6e5a8a15b6", null ] +]; \ No newline at end of file diff --git a/class_h_c05.png b/class_h_c05.png new file mode 100644 index 0000000000000000000000000000000000000000..e1c9725623276f43b3d35138f0fad0988d8ebdd8 GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^20$FZ!3-obG}zt)DTx4|5ZC|z{{xvX-h3_XKQsZz z0^)GV)ZdgIluuf25ZKG|JGzoS>RcAb;_WE&H?YgX{Su-`vILendjC!{@N zcrcOqKy$bS-|~l|=RVpU*8Sr=Z5x9@3O9o?kV@h%6%_o~z;I^s41wkk@|y(jTlU8) z^6h(+#_#WR`IGv>TY<_;X8%#0a#Jn5fP1R>{H6N}cDMhD`uLbx; + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
HTTPClient Member List
+
+
+ +

This is the complete list of members for HTTPClient, including all inherited members.

+ + + + + +
get(String &url, String &response)HTTPClient
get(const char *url, String &response)HTTPClient
HTTPClient(TransportLayer *tl, uint16_t port=80)HTTPClientexplicit
post(const char *url, const char *content, String &response, const char *contentType="text/plain")HTTPClient
+
+ + + + diff --git a/class_h_t_t_p_client.html b/class_h_t_t_p_client.html new file mode 100644 index 00000000..4fef7d9f --- /dev/null +++ b/class_h_t_t_p_client.html @@ -0,0 +1,323 @@ + + + + + + +RadioLib: HTTPClient Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
HTTPClient Class Reference
+
+
+ +

Client for simple HTTP communication. + More...

+ +

#include <HTTP.h>

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

+Public Member Functions

 HTTPClient (TransportLayer *tl, uint16_t port=80)
 Default constructor. More...
 
int16_t get (String &url, String &response)
 Sends HTTP GET request. More...
 
int16_t get (const char *url, String &response)
 Sends HTTP GET request. More...
 
int16_t post (const char *url, const char *content, String &response, const char *contentType="text/plain")
 Sends HTTP POST request. More...
 
+

Detailed Description

+

Client for simple HTTP communication.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
HTTPClient::HTTPClient (TransportLayertl,
uint16_t port = 80 
)
+
+explicit
+
+ +

Default constructor.

+
Parameters
+ + + +
tlPointer to the wireless module providing TransportLayer communication.
portPort to be used for HTTP. Defaults to 80.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t HTTPClient::get (String & url,
String & response 
)
+
+ +

Sends HTTP GET request.

+
Parameters
+ + + +
urlURL to send the request to.
responseArduino String object that will save the response.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t HTTPClient::get (const char * url,
String & response 
)
+
+ +

Sends HTTP GET request.

+
Parameters
+ + + +
urlURL to send the request to.
responseArduino String object that will save the response.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t HTTPClient::post (const char * url,
const char * content,
String & response,
const char * contentType = "text/plain" 
)
+
+ +

Sends HTTP POST request.

+
Parameters
+ + + + + +
urlURL to send the request to.
contentRequest content.
responseArduino String object that will save the response.
contentTypeMIME type of request content. Defaults to "text/plain".
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/protocols/HTTP/HTTP.h
  • +
  • src/protocols/HTTP/HTTP.cpp
  • +
+
+
+ + + + diff --git a/class_h_t_t_p_client.js b/class_h_t_t_p_client.js new file mode 100644 index 00000000..5367970d --- /dev/null +++ b/class_h_t_t_p_client.js @@ -0,0 +1,7 @@ +var class_h_t_t_p_client = +[ + [ "HTTPClient", "class_h_t_t_p_client.html#a7c6fdd5681e55437ebddaac785f35557", null ], + [ "get", "class_h_t_t_p_client.html#abc505d06d29fdc774d27c163e0be7ff8", null ], + [ "get", "class_h_t_t_p_client.html#a7ae493bf7db12ca2201cd6cead54c64f", null ], + [ "post", "class_h_t_t_p_client.html#ac1119b889b6fed7bd4d119d3e4842acb", null ] +]; \ No newline at end of file diff --git a/class_hell_client-members.html b/class_hell_client-members.html new file mode 100644 index 00000000..3f4a5242 --- /dev/null +++ b/class_hell_client-members.html @@ -0,0 +1,156 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
HellClient Member List
+
+
+ +

This is the complete list of members for HellClient, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(float base, float rate=122.5)HellClient
HellClient(PhysicalLayer *phy)HellClientexplicit
HellClient(AFSKClient *audio)HellClientexplicit
print(__FlashStringHelper *) (defined in HellClient)HellClient
print(const String &) (defined in HellClient)HellClient
print(const char[]) (defined in HellClient)HellClient
print(char) (defined in HellClient)HellClient
print(unsigned char, int=DEC) (defined in HellClient)HellClient
print(int, int=DEC) (defined in HellClient)HellClient
print(unsigned int, int=DEC) (defined in HellClient)HellClient
print(long, int=DEC) (defined in HellClient)HellClient
print(unsigned long, int=DEC) (defined in HellClient)HellClient
print(double, int=2) (defined in HellClient)HellClient
printGlyph(uint8_t *buff)HellClient
println(void) (defined in HellClient)HellClient
println(__FlashStringHelper *) (defined in HellClient)HellClient
println(const String &) (defined in HellClient)HellClient
println(const char[]) (defined in HellClient)HellClient
println(char) (defined in HellClient)HellClient
println(unsigned char, int=DEC) (defined in HellClient)HellClient
println(int, int=DEC) (defined in HellClient)HellClient
println(unsigned int, int=DEC) (defined in HellClient)HellClient
println(long, int=DEC) (defined in HellClient)HellClient
println(unsigned long, int=DEC) (defined in HellClient)HellClient
println(double, int=2) (defined in HellClient)HellClient
write(const char *str) (defined in HellClient)HellClient
write(uint8_t *buff, size_t len) (defined in HellClient)HellClient
write(uint8_t b) (defined in HellClient)HellClient
+
+ + + + diff --git a/class_hell_client.html b/class_hell_client.html new file mode 100644 index 00000000..4918818f --- /dev/null +++ b/class_hell_client.html @@ -0,0 +1,353 @@ + + + + + + +RadioLib: HellClient Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
HellClient Class Reference
+
+
+ +

Client for Hellschreiber transmissions. + More...

+ +

#include <Hellschreiber.h>

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

+Public Member Functions

 HellClient (PhysicalLayer *phy)
 Constructor for 2-FSK mode. More...
 
 HellClient (AFSKClient *audio)
 Constructor for AFSK mode. More...
 
int16_t begin (float base, float rate=122.5)
 Initialization method. More...
 
size_t printGlyph (uint8_t *buff)
 Method to "print" a buffer of pixels, this is exposed to allow users to send custom characters. More...
 
+size_t write (const char *str)
 
+size_t write (uint8_t *buff, size_t len)
 
+size_t write (uint8_t b)
 
+size_t print (__FlashStringHelper *)
 
+size_t print (const String &)
 
+size_t print (const char[])
 
+size_t print (char)
 
+size_t print (unsigned char, int=DEC)
 
+size_t print (int, int=DEC)
 
+size_t print (unsigned int, int=DEC)
 
+size_t print (long, int=DEC)
 
+size_t print (unsigned long, int=DEC)
 
+size_t print (double, int=2)
 
+size_t println (void)
 
+size_t println (__FlashStringHelper *)
 
+size_t println (const String &)
 
+size_t println (const char[])
 
+size_t println (char)
 
+size_t println (unsigned char, int=DEC)
 
+size_t println (int, int=DEC)
 
+size_t println (unsigned int, int=DEC)
 
+size_t println (long, int=DEC)
 
+size_t println (unsigned long, int=DEC)
 
+size_t println (double, int=2)
 
+

Detailed Description

+

Client for Hellschreiber transmissions.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
HellClient::HellClient (PhysicalLayerphy)
+
+explicit
+
+ +

Constructor for 2-FSK mode.

+
Parameters
+ + +
phyPointer to the wireless module providing PhysicalLayer communication.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
HellClient::HellClient (AFSKClientaudio)
+
+explicit
+
+ +

Constructor for AFSK mode.

+
Parameters
+ + +
audioPointer to the AFSK instance providing audio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t HellClient::begin (float base,
float rate = 122.5 
)
+
+ +

Initialization method.

+
Parameters
+ + + +
baseBase RF frequency to be used in MHz (in 2-FSK mode), or the tone frequency in Hz (in AFSK mode).
rateBaud rate to be used during transmission. Defaults to 122.5 ("Feld Hell")
+
+
+ +
+
+ +
+
+ + + + + + + + +
size_t HellClient::printGlyph (uint8_t * buff)
+
+ +

Method to "print" a buffer of pixels, this is exposed to allow users to send custom characters.

+
Parameters
+ + +
buffBuffer of pixels to send, in a 7x7 pixel array.
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/protocols/Hellschreiber/Hellschreiber.h
  • +
  • src/protocols/Hellschreiber/Hellschreiber.cpp
  • +
+
+
+ + + + diff --git a/class_hell_client.js b/class_hell_client.js new file mode 100644 index 00000000..60d06a5a --- /dev/null +++ b/class_hell_client.js @@ -0,0 +1,31 @@ +var class_hell_client = +[ + [ "HellClient", "class_hell_client.html#a6e3ed5db1904f3f9602e20c3c0d0cbd0", null ], + [ "HellClient", "class_hell_client.html#afeb347f04148700427ad40614fd057c3", null ], + [ "begin", "class_hell_client.html#a225775fe87f9ed3c3a04142697641242", null ], + [ "print", "class_hell_client.html#a0ff4b94104bc9058884f7129c629a6d3", null ], + [ "print", "class_hell_client.html#a68683a4d8c8b2f4a4d987d5c08a027d0", null ], + [ "print", "class_hell_client.html#aa6a4e522a21ffd337de213f7f5ead190", null ], + [ "print", "class_hell_client.html#a96110fc9b723c92455e0427d4fc7563f", null ], + [ "print", "class_hell_client.html#a0dcf129b97dda7cd7f343344dabfa2ec", null ], + [ "print", "class_hell_client.html#a0b47e81258fd838dc8c587daad9c75ef", null ], + [ "print", "class_hell_client.html#aed7039049b21c0ae5acf650449f6d001", null ], + [ "print", "class_hell_client.html#ac3fa4949b30186a215bcdc4eedb8ef7a", null ], + [ "print", "class_hell_client.html#a079475eb50465c6b9c8e5e568648925d", null ], + [ "print", "class_hell_client.html#a41acb11ec5afacce7217d94a038442b6", null ], + [ "printGlyph", "class_hell_client.html#ac527806ef871dc12555afe7c43a72ed9", null ], + [ "println", "class_hell_client.html#aeded114263fcd3c023a5a7b177041449", null ], + [ "println", "class_hell_client.html#aab738dbdadc60e5aec75e877d8d64143", null ], + [ "println", "class_hell_client.html#aabac8ec885594abbd85ec2e7b4e07d95", null ], + [ "println", "class_hell_client.html#a9c8af8fbfefda966f5400d06dfa10d76", null ], + [ "println", "class_hell_client.html#a3f6a25662f28c525fb8ed727358890ea", null ], + [ "println", "class_hell_client.html#afd39423e75134b2587983418a6a37682", null ], + [ "println", "class_hell_client.html#a5be90660b3fa491fcfa80609b8f29f56", null ], + [ "println", "class_hell_client.html#ac7eab91507bf0413563c097cfca5196f", null ], + [ "println", "class_hell_client.html#a236dc21d338d36fd3b7130fe2c46e85e", null ], + [ "println", "class_hell_client.html#a72ee891123decbb2d883b8c120e30c18", null ], + [ "println", "class_hell_client.html#ad929fdea641afb17dd56cfcc6e47a438", null ], + [ "write", "class_hell_client.html#ad82abc52034fafdea84c15530039a6f5", null ], + [ "write", "class_hell_client.html#a472555cea11854700db91843c335bded", null ], + [ "write", "class_hell_client.html#a5c5117dadbe33da1cda5fd4981b405eb", null ] +]; \ No newline at end of file diff --git a/class_i_serial-members.html b/class_i_serial-members.html new file mode 100644 index 00000000..342aeedd --- /dev/null +++ b/class_i_serial-members.html @@ -0,0 +1,159 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ISerial Member List
+
+
+ +

This is the complete list of members for ISerial, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
available() (defined in ISerial)ISerial
begin(long) (defined in ISerial)ISerial
end() (defined in ISerial)ISerial
flush() (defined in ISerial)ISerial
ISerial(Module *mod) (defined in ISerial)ISerialexplicit
peek() (defined in ISerial)ISerial
print(const __FlashStringHelper *) (defined in ISerial)ISerial
print(const String &) (defined in ISerial)ISerial
print(const char[]) (defined in ISerial)ISerial
print(char) (defined in ISerial)ISerial
print(unsigned char, int=DEC) (defined in ISerial)ISerial
print(int, int=DEC) (defined in ISerial)ISerial
print(unsigned int, int=DEC) (defined in ISerial)ISerial
print(long, int=DEC) (defined in ISerial)ISerial
print(unsigned long, int=DEC) (defined in ISerial)ISerial
print(double, int=2) (defined in ISerial)ISerial
print(const Printable &) (defined in ISerial)ISerial
println(const __FlashStringHelper *) (defined in ISerial)ISerial
println(const String &s) (defined in ISerial)ISerial
println(const char[]) (defined in ISerial)ISerial
println(char) (defined in ISerial)ISerial
println(unsigned char, int=DEC) (defined in ISerial)ISerial
println(int, int=DEC) (defined in ISerial)ISerial
println(unsigned int, int=DEC) (defined in ISerial)ISerial
println(long, int=DEC) (defined in ISerial)ISerial
println(unsigned long, int=DEC) (defined in ISerial)ISerial
println(double, int=2) (defined in ISerial)ISerial
println(const Printable &) (defined in ISerial)ISerial
println(void) (defined in ISerial)ISerial
read() (defined in ISerial)ISerial
write(uint8_t) (defined in ISerial)ISerial
+
+ + + + diff --git a/class_i_serial.html b/class_i_serial.html new file mode 100644 index 00000000..f5841e7a --- /dev/null +++ b/class_i_serial.html @@ -0,0 +1,248 @@ + + + + + + +RadioLib: ISerial Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
ISerial Class Reference
+
+
+ +

Interface class for Arduino Serial. Only calls the appropriate methods for the active UART interface. + More...

+ +

#include <ISerial.h>

+
+Inheritance diagram for ISerial:
+
+
+ + +HC05 +JDY08 +XBeeSerial + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ISerial (Module *mod)
 
+void begin (long)
 
+void end ()
 
+int peek ()
 
+size_t write (uint8_t)
 
+int read ()
 
+int available ()
 
+void flush ()
 
+size_t print (const __FlashStringHelper *)
 
+size_t print (const String &)
 
+size_t print (const char[])
 
+size_t print (char)
 
+size_t print (unsigned char, int=DEC)
 
+size_t print (int, int=DEC)
 
+size_t print (unsigned int, int=DEC)
 
+size_t print (long, int=DEC)
 
+size_t print (unsigned long, int=DEC)
 
+size_t print (double, int=2)
 
+size_t print (const Printable &)
 
+size_t println (const __FlashStringHelper *)
 
+size_t println (const String &s)
 
+size_t println (const char[])
 
+size_t println (char)
 
+size_t println (unsigned char, int=DEC)
 
+size_t println (int, int=DEC)
 
+size_t println (unsigned int, int=DEC)
 
+size_t println (long, int=DEC)
 
+size_t println (unsigned long, int=DEC)
 
+size_t println (double, int=2)
 
+size_t println (const Printable &)
 
+size_t println (void)
 
+

Detailed Description

+

Interface class for Arduino Serial. Only calls the appropriate methods for the active UART interface.

+

The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/class_i_serial.js b/class_i_serial.js new file mode 100644 index 00000000..147443da --- /dev/null +++ b/class_i_serial.js @@ -0,0 +1,34 @@ +var class_i_serial = +[ + [ "ISerial", "class_i_serial.html#ae40ab8688a45d252264a45fe7eeb1fec", null ], + [ "available", "class_i_serial.html#a7dfceaa2cb8f849211e64ffbb26a9ccb", null ], + [ "begin", "class_i_serial.html#ac88cbd52dd52081012c7ebc5e4877a71", null ], + [ "end", "class_i_serial.html#a9ab275543e32bbd26093936e93901a64", null ], + [ "flush", "class_i_serial.html#a5073d939918c6ae56e1eb28da4362fc8", null ], + [ "peek", "class_i_serial.html#aaec3e37c852ab96dc0cb406f25927020", null ], + [ "print", "class_i_serial.html#a71ff41667bb4cb865fae0cb392ba2480", null ], + [ "print", "class_i_serial.html#afa73455a632e6c6819a2552ad58d3e4a", null ], + [ "print", "class_i_serial.html#a50a1a3292b06f0b0283bb365e4274e74", null ], + [ "print", "class_i_serial.html#a37e78871669df20cc65ddd0b3f98eba4", null ], + [ "print", "class_i_serial.html#aa7de5539ed01b0abd7c3c5c5767b855a", null ], + [ "print", "class_i_serial.html#a6cbd12b7b47005ab0153066c34f28426", null ], + [ "print", "class_i_serial.html#a86997b02021c420e2c1bd7fdd11b1e14", null ], + [ "print", "class_i_serial.html#a8e5003afc67d7488af5c546f51c9222c", null ], + [ "print", "class_i_serial.html#a466ab09bad9fbcb514ffef6528de5d7f", null ], + [ "print", "class_i_serial.html#af66546833df21b2949b26e4771a9f9d6", null ], + [ "print", "class_i_serial.html#a54f478dbde6921d212fe5b2159f4ee93", null ], + [ "println", "class_i_serial.html#a16eaec118c2c38db031cc0e9b641b203", null ], + [ "println", "class_i_serial.html#a94f1c1b1e6a94ea418251c666b72eac5", null ], + [ "println", "class_i_serial.html#a7a91c6fc4dd9e70b438a4ebc2c62b881", null ], + [ "println", "class_i_serial.html#a0ab1d33067885e6456ab61b3b51f07b4", null ], + [ "println", "class_i_serial.html#a0b669c99851a4a36945bc7d9b26f1c15", null ], + [ "println", "class_i_serial.html#ae96f7b598e2e9bdb5f8bf5b7feb56983", null ], + [ "println", "class_i_serial.html#a85f3dff9f42387e12be59049cb020a88", null ], + [ "println", "class_i_serial.html#aaa489fda4cc41dac95ed157105f08de6", null ], + [ "println", "class_i_serial.html#ac46c8197c06b703bcb83ed3947492a4f", null ], + [ "println", "class_i_serial.html#a5e25366fa6386a413bb46dd4a62e1931", null ], + [ "println", "class_i_serial.html#a0607b2c508006f1e43d685404be50f23", null ], + [ "println", "class_i_serial.html#ab9bb40acf5dd420afed4ea80d7989a20", null ], + [ "read", "class_i_serial.html#a59bdc39fa8633f3bb6154dacb043ae10", null ], + [ "write", "class_i_serial.html#a0e3eac99b53d90cd8c725a5cc409e438", null ] +]; \ No newline at end of file diff --git a/class_i_serial.png b/class_i_serial.png new file mode 100644 index 0000000000000000000000000000000000000000..fa71c461ba6b53361d0e5e7b993260e568850d1d GIT binary patch literal 669 zcmeAS@N?(olHy`uVBq!ia0vp^KY%!ZgBeINJ9z8@QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;_@%1+f8mt)co>}ODaFsFDe!wz2F&8CG7r;{Hsl+Lg?@HF!5H`|??eDxnc z3T61dV9AH_eJehdeEhILe)+xknLiRfPJdV=(e|+J$o8j=j~s26vwsXU%qjAI>im{5 zXx`SHuHP5*hxH#-wu*Rsxwz)u)#ooa>}OW7agcdnp~hEG=_9j%Pndm&jT&D-dna>@ z-19lvtOpKDFjOrG|CspV%AW9#)63^SyW4ep9p43UHNFeN2wdRXmMD?O?4W&aHaUERaaQ6ZhOIMDg&*&C`+DzpF5COP_n(9X?p4{U=odKYRzX;Z z@bo2CK6j3&uAEk{^KP2|_o~+S22%cBL5Iq^)^k69J-y!Jk$2Fc^eaD4Iq7L{K5ZfM zR$%@np5v@9|331(qw^u^!_*a*{TEBmSRUt7y#0sF!lgUrObJ$=_bnyl=STMUR<$>wA`8IyCj@@$1WfOt-VrkXv5A=27vKfYyGFk2%wRoEOd4 zm>2fHqayBOz~U9sixaN|nm$_k$L#3ju+_rnuUAC%=a_ZJZ(SYUtv+*`;Q1?$RR1ro z_$H(O*75dQIVt_O$KM{Pp7&Tj{-nVzo5NB+mGnH_Z^k{IR5E4rqFFmst|mTG)AQUq vV@IcVkgjca_4``oMIw8@?-P9P@|U?^+Gw@B$(2LEw8Y@)>gTe~DWM4f8*Dvz literal 0 HcmV?d00001 diff --git a/class_i_t_a2_string-members.html b/class_i_t_a2_string-members.html new file mode 100644 index 00000000..ecc87df1 --- /dev/null +++ b/class_i_t_a2_string-members.html @@ -0,0 +1,133 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ITA2String Member List
+
+
+ +

This is the complete list of members for ITA2String, including all inherited members.

+ + + + + + +
byteArr()ITA2String
ITA2String(char c)ITA2Stringexplicit
ITA2String(const char *str)ITA2Stringexplicit
length()ITA2String
~ITA2String()ITA2String
+
+ + + + diff --git a/class_i_t_a2_string.html b/class_i_t_a2_string.html new file mode 100644 index 00000000..2cdfd5ca --- /dev/null +++ b/class_i_t_a2_string.html @@ -0,0 +1,262 @@ + + + + + + +RadioLib: ITA2String Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
ITA2String Class Reference
+
+
+ +

ITA2-encoded string. + More...

+ +

#include <RTTY.h>

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

+Public Member Functions

 ITA2String (char c)
 Default single-character constructor. More...
 
 ITA2String (const char *str)
 Default string constructor. More...
 
~ITA2String ()
 Default destructor.
 
size_t length ()
 Gets the length of the ITA2 string. This number is not the same as the length of ASCII-encoded string! More...
 
uint8_t * byteArr ()
 Gets the ITA2 representation of the ASCII string set in constructor. More...
 
+

Detailed Description

+

ITA2-encoded string.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
ITA2String::ITA2String (char c)
+
+explicit
+
+ +

Default single-character constructor.

+
Parameters
+ + +
cASCII-encoded character to encode as ITA2.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
ITA2String::ITA2String (const char * str)
+
+explicit
+
+ +

Default string constructor.

+
Parameters
+ + +
strASCII-encoded string to encode as ITA2.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
uint8_t * ITA2String::byteArr ()
+
+ +

Gets the ITA2 representation of the ASCII string set in constructor.

+
Returns
Pointer to dynamically allocated array, which contains ITA2-encoded bytes. It is the caller's responsibility to deallocate this memory!
+ +
+
+ +
+
+ + + + + + + +
size_t ITA2String::length ()
+
+ +

Gets the length of the ITA2 string. This number is not the same as the length of ASCII-encoded string!

+
Returns
Length of ITA2-encoded string.
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/protocols/RTTY/RTTY.h
  • +
  • src/protocols/RTTY/RTTY.cpp
  • +
+
+
+ + + + diff --git a/class_i_t_a2_string.js b/class_i_t_a2_string.js new file mode 100644 index 00000000..a9c85467 --- /dev/null +++ b/class_i_t_a2_string.js @@ -0,0 +1,8 @@ +var class_i_t_a2_string = +[ + [ "ITA2String", "class_i_t_a2_string.html#addb6c39167aa5da53fb72e9a94c9c8f5", null ], + [ "ITA2String", "class_i_t_a2_string.html#a92ca563bdc2ae4d05ee91ce9372e7a55", null ], + [ "~ITA2String", "class_i_t_a2_string.html#afde24c931997581878953660192e09a2", null ], + [ "byteArr", "class_i_t_a2_string.html#a3f42f7ad98473dbe36515e676622ed3d", null ], + [ "length", "class_i_t_a2_string.html#a79b48f6e1eab664b841f3fd20c333e8e", null ] +]; \ No newline at end of file diff --git a/class_j_d_y08-members.html b/class_j_d_y08-members.html new file mode 100644 index 00000000..aebac8bd --- /dev/null +++ b/class_j_d_y08-members.html @@ -0,0 +1,160 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
JDY08 Member List
+
+
+ +

This is the complete list of members for JDY08, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
available() (defined in ISerial)ISerial
begin(long speed)JDY08
end() (defined in ISerial)ISerial
flush() (defined in ISerial)ISerial
ISerial(Module *mod) (defined in ISerial)ISerialexplicit
JDY08(Module *mod)JDY08
peek() (defined in ISerial)ISerial
print(const __FlashStringHelper *) (defined in ISerial)ISerial
print(const String &) (defined in ISerial)ISerial
print(const char[]) (defined in ISerial)ISerial
print(char) (defined in ISerial)ISerial
print(unsigned char, int=DEC) (defined in ISerial)ISerial
print(int, int=DEC) (defined in ISerial)ISerial
print(unsigned int, int=DEC) (defined in ISerial)ISerial
print(long, int=DEC) (defined in ISerial)ISerial
print(unsigned long, int=DEC) (defined in ISerial)ISerial
print(double, int=2) (defined in ISerial)ISerial
print(const Printable &) (defined in ISerial)ISerial
println(const __FlashStringHelper *) (defined in ISerial)ISerial
println(const String &s) (defined in ISerial)ISerial
println(const char[]) (defined in ISerial)ISerial
println(char) (defined in ISerial)ISerial
println(unsigned char, int=DEC) (defined in ISerial)ISerial
println(int, int=DEC) (defined in ISerial)ISerial
println(unsigned int, int=DEC) (defined in ISerial)ISerial
println(long, int=DEC) (defined in ISerial)ISerial
println(unsigned long, int=DEC) (defined in ISerial)ISerial
println(double, int=2) (defined in ISerial)ISerial
println(const Printable &) (defined in ISerial)ISerial
println(void) (defined in ISerial)ISerial
read() (defined in ISerial)ISerial
write(uint8_t) (defined in ISerial)ISerial
+
+ + + + diff --git a/class_j_d_y08.html b/class_j_d_y08.html new file mode 100644 index 00000000..07f430e0 --- /dev/null +++ b/class_j_d_y08.html @@ -0,0 +1,303 @@ + + + + + + +RadioLib: JDY08 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
JDY08 Class Reference
+
+
+ +

Control class for JDY08 module. Most methods supported by this module are implemented in ISerial interface. + More...

+ +

#include <JDY08.h>

+
+Inheritance diagram for JDY08:
+
+
+ + +ISerial + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 JDY08 (Module *mod)
 Default constructor. More...
 
void begin (long speed)
 Initialization method. More...
 
- Public Member Functions inherited from ISerial
ISerial (Module *mod)
 
+void begin (long)
 
+void end ()
 
+int peek ()
 
+size_t write (uint8_t)
 
+int read ()
 
+int available ()
 
+void flush ()
 
+size_t print (const __FlashStringHelper *)
 
+size_t print (const String &)
 
+size_t print (const char[])
 
+size_t print (char)
 
+size_t print (unsigned char, int=DEC)
 
+size_t print (int, int=DEC)
 
+size_t print (unsigned int, int=DEC)
 
+size_t print (long, int=DEC)
 
+size_t print (unsigned long, int=DEC)
 
+size_t print (double, int=2)
 
+size_t print (const Printable &)
 
+size_t println (const __FlashStringHelper *)
 
+size_t println (const String &s)
 
+size_t println (const char[])
 
+size_t println (char)
 
+size_t println (unsigned char, int=DEC)
 
+size_t println (int, int=DEC)
 
+size_t println (unsigned int, int=DEC)
 
+size_t println (long, int=DEC)
 
+size_t println (unsigned long, int=DEC)
 
+size_t println (double, int=2)
 
+size_t println (const Printable &)
 
+size_t println (void)
 
+

Detailed Description

+

Control class for JDY08 module. Most methods supported by this module are implemented in ISerial interface.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
JDY08::JDY08 (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
void JDY08::begin (long speed)
+
+ +

Initialization method.

+
Parameters
+ + +
speedBaud rate to use for UART interface.
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/JDY08/JDY08.h
  • +
  • src/modules/JDY08/JDY08.cpp
  • +
+
+
+ + + + diff --git a/class_j_d_y08.js b/class_j_d_y08.js new file mode 100644 index 00000000..19b0395f --- /dev/null +++ b/class_j_d_y08.js @@ -0,0 +1,5 @@ +var class_j_d_y08 = +[ + [ "JDY08", "class_j_d_y08.html#a9e2895c29cbbb30bc49aa2b3b9d2c4d6", null ], + [ "begin", "class_j_d_y08.html#a6fca03bb9f163c16d193904beac6b0b1", null ] +]; \ No newline at end of file diff --git a/class_j_d_y08.png b/class_j_d_y08.png new file mode 100644 index 0000000000000000000000000000000000000000..3fa4c27007e83f9c32cd0e89b924c58749796bae GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0vp^#y}jv!3-pu<@de;QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;TNx&-b~Z~t%kHeji^hY?w?-bz_+$IC#_PUUg!PY4^;2e6`o^E@==j0H zP#eqe;0jxDY+Xh(XNUByM7h_u6Zwi~9R6eF?D9l}gCVBMRQSx5=_#+R*)Ls4KIJ97 z^6-8hj*P8`&t#nzz2!9hlZj<@&&*p%J{d95zm65zrJejx!;s+EUO7ck>C;Q*I(F`T UfBkqPfu3aWboFyt=akR{02f)0K>z>% literal 0 HcmV?d00001 diff --git a/class_m_q_t_t_client-members.html b/class_m_q_t_t_client-members.html new file mode 100644 index 00000000..2e595bb0 --- /dev/null +++ b/class_m_q_t_t_client-members.html @@ -0,0 +1,137 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
MQTTClient Member List
+
+
+ +

This is the complete list of members for MQTTClient, including all inherited members.

+ + + + + + + + + + +
check(void(*func)(const char *, const char *))MQTTClient
connect(const char *host, const char *clientId, const char *userName="", const char *password="", uint16_t keepAlive=60, bool cleanSession=true, const char *willTopic="", const char *willMessage="")MQTTClient
disconnect()MQTTClient
MQTTClient(TransportLayer *tl, uint16_t port=1883)MQTTClientexplicit
ping()MQTTClient
publish(String &topic, String &message)MQTTClient
publish(const char *topic, const char *message)MQTTClient
subscribe(const char *topicFilter)MQTTClient
unsubscribe(const char *topicFilter)MQTTClient
+
+ + + + diff --git a/class_m_q_t_t_client.html b/class_m_q_t_t_client.html new file mode 100644 index 00000000..b517f521 --- /dev/null +++ b/class_m_q_t_t_client.html @@ -0,0 +1,471 @@ + + + + + + +RadioLib: MQTTClient Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
MQTTClient Class Reference
+
+
+ +

Client for simple MQTT communication. + More...

+ +

#include <MQTT.h>

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

+Public Member Functions

 MQTTClient (TransportLayer *tl, uint16_t port=1883)
 Default constructor. More...
 
int16_t connect (const char *host, const char *clientId, const char *userName="", const char *password="", uint16_t keepAlive=60, bool cleanSession=true, const char *willTopic="", const char *willMessage="")
 Connects to MQTT broker (/server). More...
 
int16_t disconnect ()
 Disconnect from MQTT broker. More...
 
int16_t publish (String &topic, String &message)
 Publish MQTT message. More...
 
int16_t publish (const char *topic, const char *message)
 Publish MQTT message. More...
 
int16_t subscribe (const char *topicFilter)
 Subscribe to MQTT topic. More...
 
int16_t unsubscribe (const char *topicFilter)
 Unsubscribe from MQTT topic. More...
 
int16_t ping ()
 Ping MQTT broker. This method can be used to keep connection open. More...
 
int16_t check (void(*func)(const char *, const char *))
 Set function to be called when checking new messages in subscribed topics. More...
 
+

Detailed Description

+

Client for simple MQTT communication.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
MQTTClient::MQTTClient (TransportLayertl,
uint16_t port = 1883 
)
+
+explicit
+
+ +

Default constructor.

+
Parameters
+ + +
tlPointer to the wireless module providing TransportLayer communication.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
int16_t MQTTClient::check (void(*)(const char *, const char *) func)
+
+ +

Set function to be called when checking new messages in subscribed topics.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t MQTTClient::connect (const char * host,
const char * clientId,
const char * userName = "",
const char * password = "",
uint16_t keepAlive = 60,
bool cleanSession = true,
const char * willTopic = "",
const char * willMessage = "" 
)
+
+ +

Connects to MQTT broker (/server).

+
Parameters
+ + + + + + + + + +
hostURL of the MQTT broker.
clientIdID of the client.
usernameUsername to be used in the connection. Defaults to empty string (no username).
passwordPassword to be used in the connection. Defaults to empty string (no password).
keepAliveConnection keep-alive period in seconds. Defaults to 60.
cleanSessionMQTT CleanSession flag. Defaults to true.
willTopicMQTT will topic. Defaults to empty string (no will topic).
willMessageMQTT will message. Defaults to empty string (no will message).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t MQTTClient::disconnect ()
+
+ +

Disconnect from MQTT broker.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t MQTTClient::ping ()
+
+ +

Ping MQTT broker. This method can be used to keep connection open.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t MQTTClient::publish (String & topic,
String & message 
)
+
+ +

Publish MQTT message.

+
Parameters
+ + + +
topicMQTT topic to which the message will be published.
messageMessage to be published.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t MQTTClient::publish (const char * topic,
const char * message 
)
+
+ +

Publish MQTT message.

+
Parameters
+ + + +
topicMQTT topic to which the message will be published.
messageMessage to be published.
+
+
+
Returns
Status Codes
+
Todo:
implement QoS > 0 and PUBACK response checking
+ +
+
+ +
+
+ + + + + + + + +
int16_t MQTTClient::subscribe (const char * topicFilter)
+
+ +

Subscribe to MQTT topic.

+
Parameters
+ + +
topicFilterTopic to subscribe to.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t MQTTClient::unsubscribe (const char * topicFilter)
+
+ +

Unsubscribe from MQTT topic.

+
Parameters
+ + +
topicFilterTopic to unsubscribe from.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/protocols/MQTT/MQTT.h
  • +
  • src/protocols/MQTT/MQTT.cpp
  • +
+
+
+ + + + diff --git a/class_m_q_t_t_client.js b/class_m_q_t_t_client.js new file mode 100644 index 00000000..d9cb5458 --- /dev/null +++ b/class_m_q_t_t_client.js @@ -0,0 +1,12 @@ +var class_m_q_t_t_client = +[ + [ "MQTTClient", "class_m_q_t_t_client.html#a6ecdbc80b76ae32b926e84af620dacb6", null ], + [ "check", "class_m_q_t_t_client.html#a49cb16ef730ad50ba5dc472ac10d933e", null ], + [ "connect", "class_m_q_t_t_client.html#ac15b32e89df903b20b066113bf8c4a88", null ], + [ "disconnect", "class_m_q_t_t_client.html#af10176e2cf67bd652823d44f3203a96e", null ], + [ "ping", "class_m_q_t_t_client.html#aea3fb930ed43a0b3122ccc90efebb99d", null ], + [ "publish", "class_m_q_t_t_client.html#ace3ee45313dea2f853207accf20b7c87", null ], + [ "publish", "class_m_q_t_t_client.html#ab59a1174098dfdf514d8ec6d0bd9d015", null ], + [ "subscribe", "class_m_q_t_t_client.html#a9488df90534953c33d76e9183965a300", null ], + [ "unsubscribe", "class_m_q_t_t_client.html#a782158f20b289746b7b6884fd922a22c", null ] +]; \ No newline at end of file diff --git a/class_module-members.html b/class_module-members.html new file mode 100644 index 00000000..7d957dfa --- /dev/null +++ b/class_module-members.html @@ -0,0 +1,176 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Module Member List
+
+
+ +

This is the complete list of members for Module, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ATemptyBuffer()Module
ATgetResponse()Module
AtLineFeedModule
ATsendCommand(const char *cmd)Module
ATsendData(uint8_t *data, uint32_t len)Module
attachInterrupt(RADIOLIB_PIN_TYPE interruptNum, void(*userFunc)(void), RADIOLIB_INTERRUPT_STATUS mode)Modulestatic
baudrateModule
delay(uint32_t ms)Modulestatic
delayMicroseconds(uint32_t us)Modulestatic
detachInterrupt(RADIOLIB_PIN_TYPE interruptNum)Modulestatic
digitalRead(RADIOLIB_PIN_TYPE pin)Modulestatic
digitalWrite(RADIOLIB_PIN_TYPE pin, RADIOLIB_PIN_STATUS value)Modulestatic
getCs() const Moduleinline
getGpio() const Moduleinline
getIrq() const Moduleinline
getRst() const Moduleinline
getRx() const Moduleinline
getSpi() const Moduleinline
getSpiSettings() const Moduleinline
getTx() const Moduleinline
init(uint8_t interface)Module
micros()Modulestatic
millis()Modulestatic
Module(RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, HardwareSerial *serial=nullptr, RADIOLIB_PIN_TYPE rst=RADIOLIB_NC)Module
Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst)Module
Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE gpio)Module
Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, SPIClass &spi, SPISettings spiSettings)Module
Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE gpio, SPIClass &spi, SPISettings spiSettings)Module
Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, SPIClass &spi=RADIOLIB_DEFAULT_SPI, SPISettings spiSettings=SPISettings(2000000, MSBFIRST, SPI_MODE0), HardwareSerial *serial=nullptr)Module
Module(const Module &mod)Module
ModuleSerialModule
noTone(RADIOLIB_PIN_TYPE pin)Modulestatic
operator=(const Module &mod)Module
pinMode(RADIOLIB_PIN_TYPE pin, RADIOLIB_PIN_MODE mode)Modulestatic
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)Module
setRfSwitchState(RADIOLIB_PIN_STATUS rxPinState, RADIOLIB_PIN_STATUS txPinState)Module
SPIgetRegValue(uint8_t reg, uint8_t msb=7, uint8_t lsb=0)Module
SPIreadCommandModule
SPIreadRegister(uint8_t reg)Module
SPIreadRegisterBurst(uint8_t reg, uint8_t numBytes, uint8_t *inBytes)Module
SPIsetRegValue(uint8_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2)Module
SPItransfer(uint8_t cmd, uint8_t reg, uint8_t *dataOut, uint8_t *dataIn, uint8_t numBytes)Module
SPIwriteCommandModule
SPIwriteRegister(uint8_t reg, uint8_t data)Module
SPIwriteRegisterBurst(uint8_t reg, uint8_t *data, uint8_t numBytes)Module
term(uint8_t interface)Module
tone(RADIOLIB_PIN_TYPE pin, uint16_t value)Modulestatic
yield()Modulestatic
+
+ + + + diff --git a/class_module.html b/class_module.html new file mode 100644 index 00000000..c8604bc5 --- /dev/null +++ b/class_module.html @@ -0,0 +1,1736 @@ + + + + + + +RadioLib: Module Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class. + More...

+ +

#include <Module.h>

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

+Public Member Functions

 Module (RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, HardwareSerial *serial=nullptr, RADIOLIB_PIN_TYPE rst=RADIOLIB_NC)
 UART-based module constructor. More...
 
 Module (RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst)
 SPI-based module constructor. Will use the default SPI interface automatically initialize it. More...
 
 Module (RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE gpio)
 Extended SPI-based module constructor. Will use the default SPI interface automatically initialize it. More...
 
 Module (RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, SPIClass &spi, SPISettings spiSettings)
 SPI-based module constructor. More...
 
 Module (RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE gpio, SPIClass &spi, SPISettings spiSettings)
 Extended SPI-based module constructor. More...
 
 Module (RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, SPIClass &spi=RADIOLIB_DEFAULT_SPI, SPISettings spiSettings=SPISettings(2000000, MSBFIRST, SPI_MODE0), HardwareSerial *serial=nullptr)
 Generic module constructor. More...
 
 Module (const Module &mod)
 Copy constructor. More...
 
Moduleoperator= (const Module &mod)
 Overload for assignment operator. More...
 
void init (uint8_t interface)
 Initialize low-level module control. More...
 
void term (uint8_t interface)
 Terminate low-level module control. More...
 
+void ATemptyBuffer ()
 Empty internal AT buffer.
 
bool ATgetResponse ()
 Get response after sending AT command. More...
 
bool ATsendCommand (const char *cmd)
 Send AT command. Will also call ATgetResponse. More...
 
bool ATsendData (uint8_t *data, uint32_t len)
 Send raw AT data. Will also call ATgetResponse. More...
 
int16_t SPIgetRegValue (uint8_t reg, uint8_t msb=7, uint8_t lsb=0)
 SPI read method that automatically masks unused bits. This method is the preferred SPI read mechanism. More...
 
int16_t SPIsetRegValue (uint8_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2)
 Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism. More...
 
void SPIreadRegisterBurst (uint8_t reg, uint8_t numBytes, uint8_t *inBytes)
 SPI burst read method. More...
 
uint8_t SPIreadRegister (uint8_t reg)
 SPI basic read method. Use of this method is reserved for special cases, SPIgetRegValue should be used instead. More...
 
void SPIwriteRegisterBurst (uint8_t reg, uint8_t *data, uint8_t numBytes)
 SPI burst write method. More...
 
void SPIwriteRegister (uint8_t reg, uint8_t data)
 SPI basic write method. Use of this method is reserved for special cases, SPIsetRegValue should be used instead. More...
 
void SPItransfer (uint8_t cmd, uint8_t reg, uint8_t *dataOut, uint8_t *dataIn, uint8_t numBytes)
 SPI single transfer method. More...
 
RADIOLIB_PIN_TYPE getCs () const
 Access method to get the pin number of SPI chip select. More...
 
RADIOLIB_PIN_TYPE getIrq () const
 Access method to get the pin number of interrupt/GPIO. More...
 
RADIOLIB_PIN_TYPE getRst () const
 Access method to get the pin number of hardware reset pin. More...
 
RADIOLIB_PIN_TYPE getGpio () const
 Access method to get the pin number of second interrupt/GPIO. More...
 
RADIOLIB_PIN_TYPE getRx () const
 Access method to get the pin number of UART Rx. More...
 
RADIOLIB_PIN_TYPE getTx () const
 Access method to get the pin number of UART Rx. More...
 
SPIClass * getSpi () const
 Access method to get the SPI interface. More...
 
SPISettings getSpiSettings () const
 Access method to get the SPI interface settings. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
void setRfSwitchState (RADIOLIB_PIN_STATUS rxPinState, RADIOLIB_PIN_STATUS txPinState)
 Set RF switch state. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Member Functions

static void pinMode (RADIOLIB_PIN_TYPE pin, RADIOLIB_PIN_MODE mode)
 Arduino core pinMode override that checks RADIOLIB_NC as alias for unused pin. More...
 
static void digitalWrite (RADIOLIB_PIN_TYPE pin, RADIOLIB_PIN_STATUS value)
 Arduino core digitalWrite override that checks RADIOLIB_NC as alias for unused pin. More...
 
static RADIOLIB_PIN_STATUS digitalRead (RADIOLIB_PIN_TYPE pin)
 Arduino core digitalWrite override that checks RADIOLIB_NC as alias for unused pin. More...
 
static void tone (RADIOLIB_PIN_TYPE pin, uint16_t value)
 Arduino core tone override that checks RADIOLIB_NC as alias for unused pin and RADIOLIB_TONE_UNSUPPORTED to make sure the platform does support tone. More...
 
static void noTone (RADIOLIB_PIN_TYPE pin)
 Arduino core noTone override that checks RADIOLIB_NC as alias for unused pin and RADIOLIB_TONE_UNSUPPORTED to make sure the platform does support tone. More...
 
static void attachInterrupt (RADIOLIB_PIN_TYPE interruptNum, void(*userFunc)(void), RADIOLIB_INTERRUPT_STATUS mode)
 Arduino core attachInterrupt override. More...
 
static void detachInterrupt (RADIOLIB_PIN_TYPE interruptNum)
 Arduino core detachInterrupt override. More...
 
+static void yield ()
 Arduino core yield override.
 
static void delay (uint32_t ms)
 Arduino core delay override. More...
 
static void delayMicroseconds (uint32_t us)
 Arduino core delayMicroseconds override. More...
 
+static uint32_t millis ()
 Arduino core millis override.
 
+static uint32_t micros ()
 Arduino core micros override.
 
+ + + + + + + + + + + + + + + + +

+Public Attributes

+SoftwareSerial * ModuleSerial
 Internal SoftwareSerial instance.
 
+uint32_t baudrate = 9600
 Baud rate of SoftwareSerial UART communication. Defaults to 9600 baud.
 
+char AtLineFeed [3] = {'\r', '\n'}
 Line feed to be used when sending AT commands. Defaults to CR+LF.
 
+uint8_t SPIreadCommand = 0b00000000
 Basic SPI read command. Defaults to 0x00.
 
+uint8_t SPIwriteCommand = 0b10000000
 Basic SPI write command. Defaults to 0x80.
 
+

Detailed Description

+

Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Module::Module (RADIOLIB_PIN_TYPE rx,
RADIOLIB_PIN_TYPE tx,
HardwareSerial * serial = nullptr,
RADIOLIB_PIN_TYPE rst = RADIOLIB_NC 
)
+
+ +

UART-based module constructor.

+
Parameters
+ + + + + +
rxArduino pin to be used as Rx pin for SoftwareSerial communication.
txArduino pin to be used as Tx pin for SoftwareSerial communication.
serialHardwareSerial to be used on platforms that do not support SoftwareSerial. Defaults to Serial1.
rstArduino pin to be used as hardware reset for the module. Defaults to NC (unused).
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Module::Module (RADIOLIB_PIN_TYPE cs,
RADIOLIB_PIN_TYPE irq,
RADIOLIB_PIN_TYPE rst 
)
+
+ +

SPI-based module constructor. Will use the default SPI interface automatically initialize it.

+
Parameters
+ + + + +
csArduino pin to be used as chip select.
irqArduino pin to be used as interrupt/GPIO.
rstArduino pin to be used as hardware reset for the module.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Module::Module (RADIOLIB_PIN_TYPE cs,
RADIOLIB_PIN_TYPE irq,
RADIOLIB_PIN_TYPE rst,
RADIOLIB_PIN_TYPE gpio 
)
+
+ +

Extended SPI-based module constructor. Will use the default SPI interface automatically initialize it.

+
Parameters
+ + + + + +
csArduino pin to be used as chip select.
irqArduino pin to be used as interrupt/GPIO.
rstArduino pin to be used as hardware reset for the module.
gpioArduino pin to be used as additional interrupt/GPIO.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Module::Module (RADIOLIB_PIN_TYPE cs,
RADIOLIB_PIN_TYPE irq,
RADIOLIB_PIN_TYPE rst,
SPIClass & spi,
SPISettings spiSettings 
)
+
+ +

SPI-based module constructor.

+
Parameters
+ + + + + + +
csArduino pin to be used as chip select.
irqArduino pin to be used as interrupt/GPIO.
rstArduino pin to be used as hardware reset for the module.
spiSPI interface to be used, can also use software SPI implementations.
spiSettingsSPI interface settings.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Module::Module (RADIOLIB_PIN_TYPE cs,
RADIOLIB_PIN_TYPE irq,
RADIOLIB_PIN_TYPE rst,
RADIOLIB_PIN_TYPE gpio,
SPIClass & spi,
SPISettings spiSettings 
)
+
+ +

Extended SPI-based module constructor.

+
Parameters
+ + + + + + + +
csArduino pin to be used as chip select.
irqArduino pin to be used as interrupt/GPIO.
rstArduino pin to be used as hardware reset for the module.
gpioArduino pin to be used as additional interrupt/GPIO.
spiSPI interface to be used, can also use software SPI implementations.
spiSettingsSPI interface settings.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Module::Module (RADIOLIB_PIN_TYPE cs,
RADIOLIB_PIN_TYPE irq,
RADIOLIB_PIN_TYPE rst,
RADIOLIB_PIN_TYPE rx,
RADIOLIB_PIN_TYPE tx,
SPIClass & spi = RADIOLIB_DEFAULT_SPI,
SPISettings spiSettings = SPISettings(2000000, MSBFIRST, SPI_MODE0),
HardwareSerial * serial = nullptr 
)
+
+ +

Generic module constructor.

+
Parameters
+ + + + + + + + + +
csArduino pin to be used as chip select.
irqArduino pin to be used as interrupt/GPIO.
rstArduino pin to be used as hardware reset for the module.
txArduino pin to be used as Tx pin for SoftwareSerial communication.
rxArduino pin to be used as Rx pin for SoftwareSerial communication.
spiSPI interface to be used. Defaults to Arduino hardware SPI interface, can also use software SPI implementations.
spiSettingsSPI interface settings. Defaults to 2 MHz clock, MSB first, mode 0.
serialHardwareSerial to be used on ESP32 and SAMD. Defaults to 1
+
+
+ +
+
+ +
+
+ + + + + + + + +
Module::Module (const Modulemod)
+
+ +

Copy constructor.

+
Parameters
+ + +
modModule instance to copy.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
bool Module::ATgetResponse ()
+
+ +

Get response after sending AT command.

+
Returns
True if AT response contains the string "OK", false otherwise.
+ +
+
+ +
+
+ + + + + + + + +
bool Module::ATsendCommand (const char * cmd)
+
+ +

Send AT command. Will also call ATgetResponse.

+
Parameters
+ + +
cmdAT command to be sent. Line feed characters are added automatically.
+
+
+
Returns
True if AT response contains the string "OK", false otherwise.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool Module::ATsendData (uint8_t * data,
uint32_t len 
)
+
+ +

Send raw AT data. Will also call ATgetResponse.

+
Parameters
+ + + +
dataData to be sent.
lenNumber of bytes to send.
+
+
+
Returns
True if AT response contains the string "OK", false otherwise.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Module::attachInterrupt (RADIOLIB_PIN_TYPE interruptNum,
void(*)(void) userFunc,
RADIOLIB_INTERRUPT_STATUS mode 
)
+
+static
+
+ +

Arduino core attachInterrupt override.

+
Parameters
+ + + + +
interruptNumInterrupt number.
userFuncInterrupt service routine.
modePin hcange direction.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void Module::delay (uint32_t ms)
+
+static
+
+ +

Arduino core delay override.

+
Parameters
+ + +
msDelay length in milliseconds.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void Module::delayMicroseconds (uint32_t us)
+
+static
+
+ +

Arduino core delayMicroseconds override.

+
Parameters
+ + +
usDelay length in microseconds.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void Module::detachInterrupt (RADIOLIB_PIN_TYPE interruptNum)
+
+static
+
+ +

Arduino core detachInterrupt override.

+
Parameters
+ + +
interruptNumInterrupt number.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
RADIOLIB_PIN_STATUS Module::digitalRead (RADIOLIB_PIN_TYPE pin)
+
+static
+
+ +

Arduino core digitalWrite override that checks RADIOLIB_NC as alias for unused pin.

+
Parameters
+ + +
pinPin to read from.
+
+
+
Returns
Pin value.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void Module::digitalWrite (RADIOLIB_PIN_TYPE pin,
RADIOLIB_PIN_STATUS value 
)
+
+static
+
+ +

Arduino core digitalWrite override that checks RADIOLIB_NC as alias for unused pin.

+
Parameters
+ + + +
pinPin to write to.
valueWhether to set the pin high or low.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
RADIOLIB_PIN_TYPE Module::getCs () const
+
+inline
+
+ +

Access method to get the pin number of SPI chip select.

+
Returns
Pin number of SPI chip select configured in the constructor.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
RADIOLIB_PIN_TYPE Module::getGpio () const
+
+inline
+
+ +

Access method to get the pin number of second interrupt/GPIO.

+
Returns
Pin number of second interrupt/GPIO configured in the constructor.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
RADIOLIB_PIN_TYPE Module::getIrq () const
+
+inline
+
+ +

Access method to get the pin number of interrupt/GPIO.

+
Returns
Pin number of interrupt/GPIO configured in the constructor.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
RADIOLIB_PIN_TYPE Module::getRst () const
+
+inline
+
+ +

Access method to get the pin number of hardware reset pin.

+
Returns
Pin number of hardware reset pin configured in the constructor.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
RADIOLIB_PIN_TYPE Module::getRx () const
+
+inline
+
+ +

Access method to get the pin number of UART Rx.

+
Returns
Pin number of UART Rx configured in the constructor.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
SPIClass* Module::getSpi () const
+
+inline
+
+ +

Access method to get the SPI interface.

+
Returns
SPI interface configured in the constructor.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
SPISettings Module::getSpiSettings () const
+
+inline
+
+ +

Access method to get the SPI interface settings.

+
Returns
SPI interface settings configured in the constructor.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
RADIOLIB_PIN_TYPE Module::getTx () const
+
+inline
+
+ +

Access method to get the pin number of UART Rx.

+
Returns
Pin number of UART Rx configured in the constructor.
+ +
+
+ +
+
+ + + + + + + + +
void Module::init (uint8_t interface)
+
+ +

Initialize low-level module control.

+
Parameters
+ + +
interfaceInterface to be used on the module. See Shield Configuration for details.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void Module::noTone (RADIOLIB_PIN_TYPE pin)
+
+static
+
+ +

Arduino core noTone override that checks RADIOLIB_NC as alias for unused pin and RADIOLIB_TONE_UNSUPPORTED to make sure the platform does support tone.

+
Parameters
+ + +
pinPin to write to.
+
+
+ +
+
+ +
+
+ + + + + + + + +
Module & Module::operator= (const Modulemod)
+
+ +

Overload for assignment operator.

+
Parameters
+ + +
framervalue Module.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void Module::pinMode (RADIOLIB_PIN_TYPE pin,
RADIOLIB_PIN_MODE mode 
)
+
+static
+
+ +

Arduino core pinMode override that checks RADIOLIB_NC as alias for unused pin.

+
Parameters
+ + + +
pinPin to change the mode of.
modeWhich mode to set.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void Module::setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn,
RADIOLIB_PIN_TYPE txEn 
)
+
+ +

Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch!

+
Parameters
+ + + +
rxEnRX enable pin.
txEnTX enable pin.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void Module::setRfSwitchState (RADIOLIB_PIN_STATUS rxPinState,
RADIOLIB_PIN_STATUS txPinState 
)
+
+ +

Set RF switch state.

+
Parameters
+ + + +
rxPinStatePin state to set on Tx enable pin (usually high to transmit).
txPinStatePin state to set on Rx enable pin (usually high to receive).
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t Module::SPIgetRegValue (uint8_t reg,
uint8_t msb = 7,
uint8_t lsb = 0 
)
+
+ +

SPI read method that automatically masks unused bits. This method is the preferred SPI read mechanism.

+
Parameters
+ + + + +
regAddress of SPI register to read.
msbMost significant bit of the register variable. Bits above this one will be masked out.
lsbLeast significant bit of the register variable. Bits below this one will be masked out.
+
+
+
Returns
Masked register value or status code.
+ +
+
+ +
+
+ + + + + + + + +
uint8_t Module::SPIreadRegister (uint8_t reg)
+
+ +

SPI basic read method. Use of this method is reserved for special cases, SPIgetRegValue should be used instead.

+
Parameters
+ + +
regAddress of SPI register to read.
+
+
+
Returns
Value that was read from register.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Module::SPIreadRegisterBurst (uint8_t reg,
uint8_t numBytes,
uint8_t * inBytes 
)
+
+ +

SPI burst read method.

+
Parameters
+ + + + +
regAddress of SPI register to read.
numBytesNumber of bytes that will be read.
inBytesPointer to array that will hold the read data.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t Module::SPIsetRegValue (uint8_t reg,
uint8_t value,
uint8_t msb = 7,
uint8_t lsb = 0,
uint8_t checkInterval = 2 
)
+
+ +

Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism.

+
Parameters
+ + + + + + +
regAddress of SPI register to write.
valueSingle byte value that will be written to the SPI register.
msbMost significant bit of the register variable. Bits above this one will not be affected by the write operation.
lsbLeast significant bit of the register variable. Bits below this one will not be affected by the write operation.
checkIntervalNumber of milliseconds between register writing and verification reading. Some registers need up to 10ms to process the change.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void Module::SPItransfer (uint8_t cmd,
uint8_t reg,
uint8_t * dataOut,
uint8_t * dataIn,
uint8_t numBytes 
)
+
+ +

SPI single transfer method.

+
Parameters
+ + + + + + +
cmdSPI access command (read/write/burst/...).
regAddress of SPI register to transfer to/from.
dataOutData that will be transfered from master to slave.
dataInData that was transfered from slave to master.
numBytesNumber of bytes to transfer.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void Module::SPIwriteRegister (uint8_t reg,
uint8_t data 
)
+
+ +

SPI basic write method. Use of this method is reserved for special cases, SPIsetRegValue should be used instead.

+
Parameters
+ + + +
regAddress of SPI register to write.
dataValue that will be written to the register.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Module::SPIwriteRegisterBurst (uint8_t reg,
uint8_t * data,
uint8_t numBytes 
)
+
+ +

SPI burst write method.

+
Parameters
+ + + + +
regAddress of SPI register to write.
dataPointer to array that holds the data that will be written.
numBytesNumber of bytes that will be written.
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Module::term (uint8_t interface)
+
+ +

Terminate low-level module control.

+
Parameters
+ + +
interfaceInterface to be terminated. See Shield Configuration for details.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void Module::tone (RADIOLIB_PIN_TYPE pin,
uint16_t value 
)
+
+static
+
+ +

Arduino core tone override that checks RADIOLIB_NC as alias for unused pin and RADIOLIB_TONE_UNSUPPORTED to make sure the platform does support tone.

+
Parameters
+ + + +
pinPin to write to.
valueFrequency to output.
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/class_module.js b/class_module.js new file mode 100644 index 00000000..d9b1dd7d --- /dev/null +++ b/class_module.js @@ -0,0 +1,39 @@ +var class_module = +[ + [ "Module", "class_module.html#a5ea76bc25ef979ec1ff90c032e476004", null ], + [ "Module", "class_module.html#a06b2e1f1eb9e07a280e55f517f2fab38", null ], + [ "Module", "class_module.html#ae8709b81f592a23ebd72ba3fd8066b0f", null ], + [ "Module", "class_module.html#ac65f3d9e022b3284134ced1c20bcff09", null ], + [ "Module", "class_module.html#af67217bf4771f4becb0f89b2a90054c4", null ], + [ "Module", "class_module.html#a56456ade4eeffa2c566a6fc3fd098276", null ], + [ "Module", "class_module.html#a919baf2e46c357ebfcdbc1025b6c551e", null ], + [ "ATemptyBuffer", "class_module.html#ad5767216ba9340ae6d86915b12e89bd6", null ], + [ "ATgetResponse", "class_module.html#ad1aadc2b52eea2bf9d26591091eec3f1", null ], + [ "ATsendCommand", "class_module.html#a5c09c878b55f56990dd0c2972a3440c4", null ], + [ "ATsendData", "class_module.html#a623aee6405b330b7c935013ff3d01100", null ], + [ "getCs", "class_module.html#ad9e1458c0eb4f7c117d53e35450bbd76", null ], + [ "getGpio", "class_module.html#a3b1d62f6df09d175179effd04c931881", null ], + [ "getIrq", "class_module.html#a55ddb0fc8ce53db3a333b71fb798e0af", null ], + [ "getRst", "class_module.html#aa4179db40b566a336d28ca33763c6b11", null ], + [ "getRx", "class_module.html#acbffe457d532fed652664debcb3c7748", null ], + [ "getSpi", "class_module.html#a9909bad63883b996e856deceb2a2d48d", null ], + [ "getSpiSettings", "class_module.html#a2ba602f873ba747733eed9f54ca94ed1", null ], + [ "getTx", "class_module.html#a5a2b7fd8c262a01d1abc1b5f4f9c3513", null ], + [ "init", "class_module.html#adb22d89bc5f532f1d056d9a9f3a6589c", null ], + [ "operator=", "class_module.html#a4ea888758b4a7784082d513a1e7849a4", null ], + [ "setRfSwitchPins", "class_module.html#a0ecbb4e1e98094c1296b1e823dc14703", null ], + [ "setRfSwitchState", "class_module.html#a4a87d59ad2bf6bb1bb9de1856a81b824", null ], + [ "SPIgetRegValue", "class_module.html#ad7ca9ae5a22cdacdf9437ca9cd37c9b4", null ], + [ "SPIreadRegister", "class_module.html#a1d1a279cc7e1ab92e30c29c4dcca26a3", null ], + [ "SPIreadRegisterBurst", "class_module.html#a6fa5239d73379e4140f5c4f513b1b8d2", null ], + [ "SPIsetRegValue", "class_module.html#a87ca265fa2d1fe7c251b4230ef6bd6ca", null ], + [ "SPItransfer", "class_module.html#aefd955f1cd6d588b2cc229db87cb2121", null ], + [ "SPIwriteRegister", "class_module.html#ab814614ddd34b57f5a612a20f5fe4c57", null ], + [ "SPIwriteRegisterBurst", "class_module.html#a9d77a08070cbd48fd4ece62a739333e9", null ], + [ "term", "class_module.html#af0569f6930da7bee761eeca8158aed3a", null ], + [ "AtLineFeed", "class_module.html#a9d8ab2ff353bad5d0e7568d300a48ba0", null ], + [ "baudrate", "class_module.html#a128ead3f3198e3b06d39a128a5d6c777", null ], + [ "ModuleSerial", "class_module.html#a99556decb983f682b98220ae5434b004", null ], + [ "SPIreadCommand", "class_module.html#a849ad85fc1bc3a7130e660c13973ab26", null ], + [ "SPIwriteCommand", "class_module.html#ae89764d15e8df5694a6aec0e18f72d3f", null ] +]; \ No newline at end of file diff --git a/class_morse_client-members.html b/class_morse_client-members.html new file mode 100644 index 00000000..394b8183 --- /dev/null +++ b/class_morse_client-members.html @@ -0,0 +1,156 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
MorseClient Member List
+
+
+ +

This is the complete list of members for MorseClient, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(float base, uint8_t speed=20)MorseClient
MorseClient(PhysicalLayer *phy)MorseClientexplicit
MorseClient(AFSKClient *audio)MorseClientexplicit
print(__FlashStringHelper *) (defined in MorseClient)MorseClient
print(const String &) (defined in MorseClient)MorseClient
print(const char[]) (defined in MorseClient)MorseClient
print(char) (defined in MorseClient)MorseClient
print(unsigned char, int=DEC) (defined in MorseClient)MorseClient
print(int, int=DEC) (defined in MorseClient)MorseClient
print(unsigned int, int=DEC) (defined in MorseClient)MorseClient
print(long, int=DEC) (defined in MorseClient)MorseClient
print(unsigned long, int=DEC) (defined in MorseClient)MorseClient
print(double, int=2) (defined in MorseClient)MorseClient
println(void) (defined in MorseClient)MorseClient
println(__FlashStringHelper *) (defined in MorseClient)MorseClient
println(const String &) (defined in MorseClient)MorseClient
println(const char[]) (defined in MorseClient)MorseClient
println(char) (defined in MorseClient)MorseClient
println(unsigned char, int=DEC) (defined in MorseClient)MorseClient
println(int, int=DEC) (defined in MorseClient)MorseClient
println(unsigned int, int=DEC) (defined in MorseClient)MorseClient
println(long, int=DEC) (defined in MorseClient)MorseClient
println(unsigned long, int=DEC) (defined in MorseClient)MorseClient
println(double, int=2) (defined in MorseClient)MorseClient
startSignal()MorseClient
write(const char *str) (defined in MorseClient)MorseClient
write(uint8_t *buff, size_t len) (defined in MorseClient)MorseClient
write(uint8_t b) (defined in MorseClient)MorseClient
+
+ + + + diff --git a/class_morse_client.html b/class_morse_client.html new file mode 100644 index 00000000..6d299704 --- /dev/null +++ b/class_morse_client.html @@ -0,0 +1,348 @@ + + + + + + +RadioLib: MorseClient Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
MorseClient Class Reference
+
+
+ +

Client for Morse Code communication. The public interface is the same as Arduino Serial. + More...

+ +

#include <Morse.h>

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

+Public Member Functions

 MorseClient (PhysicalLayer *phy)
 Constructor for 2-FSK mode. More...
 
 MorseClient (AFSKClient *audio)
 Constructor for AFSK mode. More...
 
int16_t begin (float base, uint8_t speed=20)
 Initialization method. More...
 
size_t startSignal ()
 Send start signal. More...
 
+size_t write (const char *str)
 
+size_t write (uint8_t *buff, size_t len)
 
+size_t write (uint8_t b)
 
+size_t print (__FlashStringHelper *)
 
+size_t print (const String &)
 
+size_t print (const char[])
 
+size_t print (char)
 
+size_t print (unsigned char, int=DEC)
 
+size_t print (int, int=DEC)
 
+size_t print (unsigned int, int=DEC)
 
+size_t print (long, int=DEC)
 
+size_t print (unsigned long, int=DEC)
 
+size_t print (double, int=2)
 
+size_t println (void)
 
+size_t println (__FlashStringHelper *)
 
+size_t println (const String &)
 
+size_t println (const char[])
 
+size_t println (char)
 
+size_t println (unsigned char, int=DEC)
 
+size_t println (int, int=DEC)
 
+size_t println (unsigned int, int=DEC)
 
+size_t println (long, int=DEC)
 
+size_t println (unsigned long, int=DEC)
 
+size_t println (double, int=2)
 
+

Detailed Description

+

Client for Morse Code communication. The public interface is the same as Arduino Serial.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
MorseClient::MorseClient (PhysicalLayerphy)
+
+explicit
+
+ +

Constructor for 2-FSK mode.

+
Parameters
+ + +
phyPointer to the wireless module providing PhysicalLayer communication.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
MorseClient::MorseClient (AFSKClientaudio)
+
+explicit
+
+ +

Constructor for AFSK mode.

+
Parameters
+ + +
audioPointer to the AFSK instance providing audio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t MorseClient::begin (float base,
uint8_t speed = 20 
)
+
+ +

Initialization method.

+
Parameters
+ + + +
baseBase RF frequency to be used in MHz (in 2-FSK mode), or the tone frequency in Hz (in AFSK mode)
speedCoding speed in words per minute.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
size_t MorseClient::startSignal ()
+
+ +

Send start signal.

+
Returns
Number of bytes sent (always 0).
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/protocols/Morse/Morse.h
  • +
  • src/protocols/Morse/Morse.cpp
  • +
+
+
+ + + + diff --git a/class_morse_client.js b/class_morse_client.js new file mode 100644 index 00000000..a39c9a95 --- /dev/null +++ b/class_morse_client.js @@ -0,0 +1,31 @@ +var class_morse_client = +[ + [ "MorseClient", "class_morse_client.html#aeade3a433da40e6a9f28688f2e6e3b5a", null ], + [ "MorseClient", "class_morse_client.html#aa5c8ec6823388877b7acfa0deab689a2", null ], + [ "begin", "class_morse_client.html#a516f19bb51b87ead7f7ed149f2ca92cf", null ], + [ "print", "class_morse_client.html#a051cba718c88b0d25a0f6f6dbfeb1e46", null ], + [ "print", "class_morse_client.html#a2040051afe09bbd4fada12bdf76203b1", null ], + [ "print", "class_morse_client.html#a5e0ecaccbc92e6790f73542133c34535", null ], + [ "print", "class_morse_client.html#a1125d874d18a507b2e77675b687cce0f", null ], + [ "print", "class_morse_client.html#a8b54b926bcd4115822e4c901371f1e53", null ], + [ "print", "class_morse_client.html#a2fcdfba81f12782f44fff8fdf845ea0b", null ], + [ "print", "class_morse_client.html#a5714515867807053a63843d5ae647dd1", null ], + [ "print", "class_morse_client.html#a1b7a4467adf49a3afa062fc93bf6f80f", null ], + [ "print", "class_morse_client.html#abcbc1b964ddb20984c3d6f32f07c8cce", null ], + [ "print", "class_morse_client.html#a64e20542281e100ab92ebe5e8f915c3c", null ], + [ "println", "class_morse_client.html#ae1dd17e96858c9b6948ee7e5871c7efd", null ], + [ "println", "class_morse_client.html#a2f4433a88741564f28f673cf51486615", null ], + [ "println", "class_morse_client.html#a83a064f138d5bf55420ffbfd534dacfb", null ], + [ "println", "class_morse_client.html#a178726e7279d49d873c715371d558751", null ], + [ "println", "class_morse_client.html#aa26d803db2d9ab6f3b13f843811f923f", null ], + [ "println", "class_morse_client.html#a7eecc8f5a61115b39fa67f1f7be4747e", null ], + [ "println", "class_morse_client.html#aa930ef3852b22e973129daf2ceaf58c3", null ], + [ "println", "class_morse_client.html#a9094ea2ccb2528be5a830485575e2b5e", null ], + [ "println", "class_morse_client.html#afea22f16b6360e122116da4b7b6cc2f7", null ], + [ "println", "class_morse_client.html#a95d0edd2ab9a590668c6aaa67a893c49", null ], + [ "println", "class_morse_client.html#af466855a342b3cc70b496a79caf65232", null ], + [ "startSignal", "class_morse_client.html#a3c718208786f8fe55f30eee990ec28e3", null ], + [ "write", "class_morse_client.html#a1be826249b4936e2b0bca20311714726", null ], + [ "write", "class_morse_client.html#a9b46b2755abd59ece4abd69fab4f7808", null ], + [ "write", "class_morse_client.html#abd37869212f3338eb7c95c6f16dadbba", null ] +]; \ No newline at end of file diff --git a/class_physical_layer-members.html b/class_physical_layer-members.html new file mode 100644 index 00000000..8a9f65f7 --- /dev/null +++ b/class_physical_layer-members.html @@ -0,0 +1,148 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
PhysicalLayer Member List
+
+
+ +

This is the complete list of members for PhysicalLayer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true)=0PhysicalLayerpure virtual
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(String &str, size_t len=0)PhysicalLayer
readData(uint8_t *data, size_t len)=0PhysicalLayerpure virtual
receive(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len)=0PhysicalLayerpure virtual
receiveDirect()=0PhysicalLayerpure virtual
setDataShaping(uint8_t sh)=0PhysicalLayerpure virtual
setEncoding(uint8_t encoding)=0PhysicalLayerpure virtual
setFrequencyDeviation(float freqDev)=0PhysicalLayerpure virtual
standby()=0PhysicalLayerpure virtual
startTransmit(String &str, uint8_t addr=0)PhysicalLayer
startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
startTransmit(uint8_t *data, size_t len, uint8_t addr=0)=0PhysicalLayerpure virtual
transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
transmit(String &str, uint8_t addr=0)PhysicalLayer
transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmit(uint8_t *data, size_t len, uint8_t addr=0)=0PhysicalLayerpure virtual
transmitDirect(uint32_t frf=0)=0PhysicalLayerpure virtual
+
+ + + + diff --git a/class_physical_layer.html b/class_physical_layer.html new file mode 100644 index 00000000..05f77a34 --- /dev/null +++ b/class_physical_layer.html @@ -0,0 +1,972 @@ + + + + + + +RadioLib: PhysicalLayer Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
PhysicalLayer Class Referenceabstract
+
+
+ +

Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN. Also extracts some common module-independent methods. Using this interface class allows to use the protocols on various modules without much code duplicity. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class. + More...

+ +

#include <PhysicalLayer.h>

+
+Inheritance diagram for PhysicalLayer:
+
+
+ + +CC1101 +nRF24 +RF69 +Si443x +SX126x +SX127x +SX128x +SX1231 +Si4432 +SX1262 +SX1268 +SX1272 +SX1278 +SX1281 +Si4430 +Si4431 +SX1261 +SX1273 +RFM95 +RFM96 +SX1276 +SX1277 +SX1279 +SX1280 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
virtual int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0)=0
 Binary transmit method. Must be implemented in module class. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
virtual int16_t standby ()=0
 Sets module to standby. More...
 
virtual int16_t receive (uint8_t *data, size_t len)=0
 Binary receive method. Must be implemented in module class. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
virtual int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0)=0
 Interrupt-driven binary transmit method. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
virtual int16_t readData (uint8_t *data, size_t len)=0
 Reads data that was received after calling startReceive method. More...
 
virtual int16_t transmitDirect (uint32_t frf=0)=0
 Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). Must be implemented in module class. While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
virtual int16_t receiveDirect ()=0
 Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). Must be implemented in module class. While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
virtual int16_t setFrequencyDeviation (float freqDev)=0
 Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and must be lower than 200 kHz. Only available in FSK mode. Must be implemented in module class. More...
 
virtual int16_t setDataShaping (uint8_t sh)=0
 Sets GFSK data shaping. Only available in FSK mode. Must be implemented in module class. More...
 
virtual int16_t setEncoding (uint8_t encoding)=0
 Sets FSK data encoding. Only available in FSK mode. Must be implemented in module class. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
virtual size_t getPacketLength (bool update=true)=0
 Query modem for the packet length of received payload. More...
 
+

Detailed Description

+

Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN. Also extracts some common module-independent methods. Using this interface class allows to use the protocols on various modules without much code duplicity. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
PhysicalLayer::PhysicalLayer (float freqStep,
size_t maxPacketLength 
)
+
+ +

Default constructor.

+
Parameters
+ + + +
freqStepFrequency step of the synthesizer in Hz.
maxPacketLengthMaximum length of packet that can be received by the module-
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
float PhysicalLayer::getFreqStep () const
+
+ +

Gets the module frequency step size that was set in constructor.

+
Returns
Synthesizer frequency step size in Hz.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual size_t PhysicalLayer::getPacketLength (bool update = true)
+
+pure virtual
+
+ +

Query modem for the packet length of received payload.

+
Parameters
+ + +
updateUpdate received packet length. Will return cached value when set to false.
+
+
+
Returns
Length of last received packet in bytes.
+ +

Implemented in SX127x, CC1101, SX126x, Si443x, RF69, SX128x, and nRF24.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t PhysicalLayer::readData (String & str,
size_t len = 0 
)
+
+ +

Reads data that was received after calling startReceive method.

+
Parameters
+ + + +
strAddress of Arduino String to save the received data.
lenExpected number of characters in the message.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual int16_t PhysicalLayer::readData (uint8_t * data,
size_t len 
)
+
+pure virtual
+
+ +

Reads data that was received after calling startReceive method.

+
Parameters
+ + + +
dataPointer to array to save the received binary data.
lenNumber of bytes that will be received. Must be known in advance for binary transmissions.
+
+
+
Returns
Status Codes
+ +

Implemented in SX127x, Si443x, CC1101, RF69, SX128x, SX126x, and nRF24.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t PhysicalLayer::receive (String & str,
size_t len = 0 
)
+
+ +

Arduino String receive method.

+
Parameters
+ + + +
strAddress of Arduino String to save the received data.
lenExpected number of characters in the message. Leave as 0 if expecting a unknown size packet
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual int16_t PhysicalLayer::receive (uint8_t * data,
size_t len 
)
+
+pure virtual
+
+ +

Binary receive method. Must be implemented in module class.

+
Parameters
+ + + +
dataPointer to array to save the received binary data.
lenNumber of bytes that will be received. Must be known in advance for binary transmissions.
+
+
+
Returns
Status Codes
+ +

Implemented in Si443x, SX127x, CC1101, RF69, SX128x, SX126x, and nRF24.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual int16_t PhysicalLayer::receiveDirect ()
+
+pure virtual
+
+ +

Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). Must be implemented in module class. While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode.

+
Returns
Status Codes
+ +

Implemented in SX127x, Si443x, CC1101, RF69, SX128x, SX126x, and nRF24.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual int16_t PhysicalLayer::setDataShaping (uint8_t sh)
+
+pure virtual
+
+ +

Sets GFSK data shaping. Only available in FSK mode. Must be implemented in module class.

+
Parameters
+ + +
shShaping to be set. See Data shaping filter values aliases. for possible values.
+
+
+
Returns
Status Codes
+ +

Implemented in CC1101, RF69, Si443x, SX126x, SX128x, nRF24, SX1278, and SX1272.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual int16_t PhysicalLayer::setEncoding (uint8_t encoding)
+
+pure virtual
+
+ +

Sets FSK data encoding. Only available in FSK mode. Must be implemented in module class.

+
Parameters
+ + +
encEncoding to be used. See Encoding type aliases. for possible values.
+
+
+
Returns
Status Codes
+ +

Implemented in SX127x, CC1101, SX126x, RF69, Si443x, SX128x, and nRF24.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual int16_t PhysicalLayer::setFrequencyDeviation (float freqDev)
+
+pure virtual
+
+ +

Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and must be lower than 200 kHz. Only available in FSK mode. Must be implemented in module class.

+
Parameters
+ + +
freqDevFrequency deviation to be set (in kHz).
+
+
+
Returns
Status Codes
+ +

Implemented in SX127x, Si443x, CC1101, RF69, SX128x, SX126x, and nRF24.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual int16_t PhysicalLayer::standby ()
+
+pure virtual
+
+ +

Sets module to standby.

+
Returns
Status Codes
+ +

Implemented in SX127x, Si443x, CC1101, RF69, SX128x, SX126x, and nRF24.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t PhysicalLayer::startTransmit (String & str,
uint8_t addr = 0 
)
+
+ +

Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes.

+
Parameters
+ + + +
strAddress of Arduino String that will be transmitted.
addrNode address to transmit the packet to. Only used in FSK mode.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t PhysicalLayer::startTransmit (const char * str,
uint8_t addr = 0 
)
+
+ +

Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes.

+
Parameters
+ + + +
strC-string that will be transmitted.
addrNode address to transmit the packet to. Only used in FSK mode.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual int16_t PhysicalLayer::startTransmit (uint8_t * data,
size_t len,
uint8_t addr = 0 
)
+
+pure virtual
+
+ +

Interrupt-driven binary transmit method.

+
Parameters
+ + + + +
dataBinary data that will be transmitted.
lenLength of binary data to transmit (in bytes).
addrNode address to transmit the packet to. Only used in FSK mode.
+
+
+
Returns
Status Codes
+ +

Implemented in SX127x, Si443x, CC1101, RF69, SX128x, SX126x, and nRF24.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t PhysicalLayer::transmit (__FlashStringHelper * fstr,
uint8_t addr = 0 
)
+
+ +

Arduino Flash String transmit method.

+
Parameters
+ + + +
strPointer to Arduino Flash String that will be transmitted.
addrNode address to transmit the packet to. Only used in FSK mode.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t PhysicalLayer::transmit (String & str,
uint8_t addr = 0 
)
+
+ +

Arduino String transmit method.

+
Parameters
+ + + +
strAddress of Arduino string that will be transmitted.
addrNode address to transmit the packet to. Only used in FSK mode.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t PhysicalLayer::transmit (const char * str,
uint8_t addr = 0 
)
+
+ +

C-string transmit method.

+
Parameters
+ + + +
strC-string that will be transmitted.
addrNode address to transmit the packet to. Only used in FSK mode.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual int16_t PhysicalLayer::transmit (uint8_t * data,
size_t len,
uint8_t addr = 0 
)
+
+pure virtual
+
+ +

Binary transmit method. Must be implemented in module class.

+
Parameters
+ + + + +
dataBinary data that will be transmitted.
lenLength of binary data to transmit (in bytes).
addrNode address to transmit the packet to. Only used in FSK mode.
+
+
+
Returns
Status Codes
+ +

Implemented in Si443x, SX127x, CC1101, RF69, SX128x, SX126x, and nRF24.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual int16_t PhysicalLayer::transmitDirect (uint32_t frf = 0)
+
+pure virtual
+
+ +

Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). Must be implemented in module class. While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode.

+
Parameters
+ + +
frf24-bit raw frequency value to start transmitting at. Required for quick frequency shifts in RTTY.
+
+
+
Returns
Status Codes
+ +

Implemented in SX127x, Si443x, CC1101, RF69, SX128x, SX126x, and nRF24.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/protocols/PhysicalLayer/PhysicalLayer.h
  • +
  • src/protocols/PhysicalLayer/PhysicalLayer.cpp
  • +
+
+
+ + + + diff --git a/class_physical_layer.js b/class_physical_layer.js new file mode 100644 index 00000000..55305805 --- /dev/null +++ b/class_physical_layer.js @@ -0,0 +1,23 @@ +var class_physical_layer = +[ + [ "PhysicalLayer", "class_physical_layer.html#a5e02457f1d519cf81b1590a182321c62", null ], + [ "getFreqStep", "class_physical_layer.html#ac48339cc9fc93931379903ab0c195e40", null ], + [ "getPacketLength", "class_physical_layer.html#a0bd6046e068ef63e3f2b6bead48e02a7", null ], + [ "readData", "class_physical_layer.html#ae8eed0e888a7c8742e89d2b850977de2", null ], + [ "readData", "class_physical_layer.html#ae8b6c756eb4b92855433ca389d73c632", null ], + [ "receive", "class_physical_layer.html#afb1b090348d9091bfa3a0b5ba3d85b36", null ], + [ "receive", "class_physical_layer.html#a2ad4c6a8ac267f8ac590260414ffcda3", null ], + [ "receiveDirect", "class_physical_layer.html#a46b22145b33e97cf6065ed826799b6b4", null ], + [ "setDataShaping", "class_physical_layer.html#ab643a814dce48f71a13bf6ea23f44cbd", null ], + [ "setEncoding", "class_physical_layer.html#a7d3419227d201d6912b77784636d437d", null ], + [ "setFrequencyDeviation", "class_physical_layer.html#ab9060e8ab7a2da192b3bf53b3501553b", null ], + [ "standby", "class_physical_layer.html#a0e77da761a2cbb5c9535df0bdea993f9", null ], + [ "startTransmit", "class_physical_layer.html#af068e6e862c99e39d0261a7971dd56db", null ], + [ "startTransmit", "class_physical_layer.html#a923654706eff5118ef6e84214e837f27", null ], + [ "startTransmit", "class_physical_layer.html#a41a1de0ebffe7b65de6fd8cceb9a5123", null ], + [ "transmit", "class_physical_layer.html#ab139a34e03a6fd5a781cd54da21d308f", null ], + [ "transmit", "class_physical_layer.html#aeb62c5a521aafc1e0525c58e9364482b", null ], + [ "transmit", "class_physical_layer.html#a492b2d057dd803c3884fa1adc8e22534", null ], + [ "transmit", "class_physical_layer.html#af81565ee82ef9a7de9c5663c745f4ef7", null ], + [ "transmitDirect", "class_physical_layer.html#a4b04eb6155b06d8ef400131c647d54e7", null ] +]; \ No newline at end of file diff --git a/class_physical_layer.png b/class_physical_layer.png new file mode 100644 index 0000000000000000000000000000000000000000..82d2620c48fca085bf94bac8111aba370556b9dc GIT binary patch literal 6207 zcmeHLdsNcdzQ;&xmD=r|rW91xEU}s%8m6de+S4wTkLhJ&nigY*im3QXNwTIqoenzT zQ81s?s8d>6nuaOht?)RaSmYC5jfi1BP%=aW?*7r7n(k@NS?iuZ?m6pT)?&f_{l5FV z_x?UU-|zlh@%7$ovJ|-#27{U4|6}(-7;G^C1~VvH0tZiAocynXA2Z(rhxh1oI`H@P z_-tIpe|``C>AyT4&+tkg8Vr}j9`rs0147WJ?gB6oei3#TICq+=WMX*)~M$NubiK9)40BsPsQL9R#a3pG*aG^ibE`2dg2fYZfIy| z{SfQx>$~~juLmzUa56fB{6Id^txo+$b%p?@Ia(sCDlJLID_5@Uds~bpqdlzhQ|1=v zPf~ZeryJR(gzMrV6&12NY@x}I@-6?Xulx+_w6kw&s=+Sh z*Ha<{_t%!L<~mA`hC^qGql#FX)LH^gtCn#~bxAYYC!@(aOJ~h|k4_9NTQ+|WzDymZ z=n_Lpy#`~0cc0Sh|9aQh<~4`G$>obX$G7Wuew&_p;lhP$(Cc+(pA2LZ6B8syAnYr@ zYY7an()a~XzN2yb<3MZ3hQrYAd^fizpF)~LlS}lP?)(3>rcc!VodJ3x{&C>1zWpt! z9euJ5>=vFV@t#Sds)apc`c|5Dsn;wKNjiXnE2^=T92}xx??1ucrWcm165@5Tlb6UL zh^Z{EkT(v1Bp6wHZwaVU$aV%v4g+$0PYLTzXl!HTY~Ip_hfp zDWww$jBj&rC3HOF?B`xcOZoK;9`{nZxzWx^DVy>4Hq~$N=v2*B>k5<}c@->7?Z#u$ z$2RF3Y?_^2Bx|~AA)M?W9b4tasL|0l zq=OZsd?ZCvteYOCxiKWJ%TSbtr$hX_>~7si+V7n6NBXK#N%Qe=TW-JY^1uMulrnf1 zT{RNHX*Xi=4oE_d1UA~MyN1BMX2H}-8^O+?eT_8NyVzZ1^kSk&tu~V5rxES32MtqC~~4P z1kd@^Sp0(nC=nmi>;`f#6VpuCNcNk^qwu zKdKY)dGi2xtojXDrS#O_FiCWw((^ydeztx-iERBjXN7uCvT*~ z>TmwDJa$V1E>gvd9K00$=gc2nghn+SA~cR$Tp*7K-gXF}8ZXZR3nK(QadUG#k!a)~K1OsI5g{$n#O|cv zNT`-^T3@$)lu<$*dFYj<-jB(g|G7QR0w5WKZ?U?U_FC0w6fRKa#>cPHrTA&<1gu_nnam4!|d z!woxfafBT9-~tVuI>H%vemk_o^-o=8e`BSTVl zA3%dVio;b64xpWCWW#b=lTMwmn-EzZ>;ER=8HOFQ3yvd;QrvEQlZ%_`U8pAQ%68Gd zs0*bm+{LhEuRM!D-7}Daz|b~kBR1l-ts1Ah*05#Ux_Wp?e>+U>{39{;$>esC<7t3E zn-YQ$lfe)a1wz9wAC*BEwY@PZUha^DtMqj;S$g!j!9@~?U?@z#txYZoe^HfssgCGd z`3F<82+(qZV6L>8@{?S-hZiDNjg{n;ohVs(GEhg5Eow~xN7$?ZPs(N&D!yHl>P%z!`Z+U@57!{wl z;#i2NXei;0qcripvP&~QRLKt*xICI>JK)Vgy>E@ed@?0hSCa%n>vld**8^IQ^p{=y z1!dds`4*kdEnP=?@0Hl%ZAm|3xp}QJt9fl~O+QPt(IQf#+{>U6cuS}or^S^ZP#(k~ zDPhfBcJ~H3{!-I!;?u}}I%wYZ5(UCg%4~iuJqvu`=ht)P#x3JuT*6CW%wSlA6n}2XnK8OPkmSZq}hFtTKg;6=>h8Fi^O zrJkS*fTUF&>IPcIibnyzdeqv~KucTk$p2T5p3#)rdF!YKpy{2`09+OPTl$%)uHXvc zZ?dpwFKp@2=~07=7xs3oIDg>?*hq2Q;-cU$EH@_-Ee-TYaRPJJ%+P$5-9QupxMOz+XZ&=Fxsvse2XGploW}`z4+O`Y_6|Vr=1-Sc_VbXh1mJVQ^9X zO)*wYi!^RLiAd3w$RLRdY|{_pqZ125J|ZCCI$4-duG zV+X0jvL^oc2j!($bvD)eWyk8SlM4(93X(a3R7^Y5+|?YF+uK468yrG-@-E+kQ|5gR z^rIJ#5(PPmligen@(PCi0$M~o5l@>rL@+f!i!Kw|J6H3lR?cebgS+eNTe4X8ar00I|C z0D^x*Bm}CdzEMUrvH)uTA#USq4I5$=e4~nglb85A1j1*zjQ`C!+CJ!x(*aQ@x8{=p ze%L^Kl3O)IM=kXX12j`n@DHC1z?j9a9 z*48BIDZ{YeKR$jN%lw+{{C0nkp5{p$MrGFS@)$6+aj|p`7fg3CBzmT6Iq4EVZ$0JK zrnJ(GAQjI3{XUK$DX;$=5@7oW#Wc9d7#a$R;9{bci1`5+Nx5y)O+5)EiI=aYMG9n~ z!GI*FdeFVb%y<$SqM}~I1VMb7y#44I0HV3jS*-ja!O!w+pO9|93^WZ`P|?F7Dr)cS zC`2>uXw3S=CjZKVc?tnsYmY(($rzi0dK0}(+do6P{Sv50&j`fo;bEEL*>qvXusUI| zQ0ar8IRe>qIf+V0KjJd~$L8Cvem?jZ{fxAlg9O`KG10G;PxY$1`A%!dX^HiLU6Pp) zXqHbHH!V!Bg*;yW{~rHux%)m&|8b8ih4>gfSN#`%mji#JeL^cf}T zz;op1_K@=o$yI1otKK=jWTHL2cGn(nBRvinY;ces&Own}+#4D^7?SMwQtRnG36hCB z>zU77)L%9~qy2{OmvW{@`FW;#qTE@dBz-pHuXD(M$@ss)tbZ=!^#sr45Us^&JiOn+ SPYKw57=DlU?t43fFZ>r=pnUxR literal 0 HcmV?d00001 diff --git a/class_r_f69-members.html b/class_r_f69-members.html new file mode 100644 index 00000000..c02f7bea --- /dev/null +++ b/class_r_f69-members.html @@ -0,0 +1,180 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RF69 Member List
+
+
+ +

This is the complete list of members for RF69, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint8_t preambleLen=16)RF69
clearDio0Action()RF69
clearDio1Action()RF69
disableAddressFiltering()RF69
disableAES()RF69
disableSyncWordFiltering()RF69
enableAES()RF69
enableSyncWordFiltering(uint8_t maxErrBits=0)RF69
fixedPacketLengthMode(uint8_t len=RF69_MAX_PACKET_LENGTH)RF69
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overrideRF69virtual
getRSSI()RF69
getTemperature()RF69
packetMode()RF69
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideRF69virtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideRF69virtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideRF69virtual
reset()RF69
RF69(Module *module)RF69
setAESKey(uint8_t *key)RF69
setAmbientTemperature(int16_t tempAmbient)RF69
setBitRate(float br)RF69
setBroadcastAddress(uint8_t broadAddr)RF69
setCrcFiltering(bool crcOn=true)RF69
setDataShaping(uint8_t sh) overrideRF69virtual
setDio0Action(void(*func)(void))RF69
setDio1Action(void(*func)(void))RF69
setEncoding(uint8_t encoding) overrideRF69virtual
setFrequency(float freq)RF69
setFrequencyDeviation(float freqDev) overrideRF69virtual
setNodeAddress(uint8_t nodeAddr)RF69
setOutputPower(int8_t power, bool highPower=false)RF69
setPreambleLength(uint8_t preambleLen)RF69
setPromiscuousMode(bool promiscuous=true)RF69
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)RF69
setRxBandwidth(float rxBw)RF69
setSyncWord(uint8_t *syncWord, size_t len, uint8_t maxErrBits=0)RF69
sleep()RF69
standby() overrideRF69virtual
startReceive()RF69
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideRF69virtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideRF69virtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideRF69virtual
variablePacketLengthMode(uint8_t maxLen=RF69_MAX_PACKET_LENGTH)RF69
+
+ + + + diff --git a/class_r_f69.html b/class_r_f69.html new file mode 100644 index 00000000..bb21abd5 --- /dev/null +++ b/class_r_f69.html @@ -0,0 +1,1462 @@ + + + + + + +RadioLib: RF69 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RF69 Class Reference
+
+
+ +

Control class for RF69 module. Also serves as base class for SX1231. + More...

+ +

#include <RF69.h>

+
+Inheritance diagram for RF69:
+
+
+ + +PhysicalLayer +SX1231 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 RF69 (Module *module)
 Default constructor. More...
 
int16_t begin (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint8_t preambleLen=16)
 Initialization method. More...
 
+void reset ()
 Reset method. Will reset the chip to the default state using RST pin.
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t sleep ()
 Sets the module to sleep mode. More...
 
int16_t standby () override
 Sets the module to standby mode. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Starts direct mode transmission. More...
 
int16_t receiveDirect () override
 Starts direct mode reception. More...
 
+int16_t packetMode ()
 Stops direct mode. It is required to call this method to switch from direct transmissions to packet-based transmissions.
 
void setAESKey (uint8_t *key)
 Sets AES key. More...
 
int16_t enableAES ()
 Enables AES encryption. More...
 
int16_t disableAES ()
 Disables AES encryption. More...
 
void setDio0Action (void(*func)(void))
 Sets interrupt service routine to call when DIO0 activates. More...
 
+void clearDio0Action ()
 Clears interrupt service routine to call when DIO0 activates.
 
void setDio1Action (void(*func)(void))
 Sets interrupt service routine to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t startReceive ()
 Interrupt-driven receive method. GDO0 will be activated when full packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data received after calling startReceive method. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values are in bands 290.0 to 340.0 MHz, 431.0 to 510.0 MHz and 862.0 to 1020.0 MHz. More...
 
int16_t setBitRate (float br)
 Sets bit rate. Allowed values range from 1.2 to 300.0 kbps. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets receiver bandwidth. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25.0, 31.3, 41.7, 50.0, 62.5, 83.3, 100.0, 125.0, 166.7, 200.0, 250.0, 333.3, 400.0 and 500.0 kHz. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets frequency deviation. More...
 
int16_t setOutputPower (int8_t power, bool highPower=false)
 Sets output power. Allowed values range from -18 to 13 dBm for low power modules (RF69C/CW) or -2 to 20 dBm (RF69H/HC/HCW). More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len, uint8_t maxErrBits=0)
 Sets sync word. Up to 8 bytes can be set as sync word. More...
 
int16_t setPreambleLength (uint8_t preambleLen)
 Sets preamble length. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets node address. Calling this method will also enable address filtering for node address only. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets broadcast address. Calling this method will also enable address filtering for node and broadcast address. More...
 
int16_t disableAddressFiltering ()
 Disables address filtering. Calling this method will also erase previously set addresses. More...
 
void setAmbientTemperature (int16_t tempAmbient)
 Sets ambient temperature. Required to correct values from on-board temperature sensor. More...
 
int16_t getTemperature ()
 Measures temperature. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=RF69_MAX_PACKET_LENGTH)
 Set modem in fixed packet length mode. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=RF69_MAX_PACKET_LENGTH)
 Set modem in variable packet length mode. More...
 
int16_t enableSyncWordFiltering (uint8_t maxErrBits=0)
 Enable sync word filtering and generation. More...
 
int16_t disableSyncWordFiltering ()
 Disable preamble and sync word filtering and generation. More...
 
int16_t setCrcFiltering (bool crcOn=true)
 Enable CRC filtering and generation. More...
 
int16_t setPromiscuousMode (bool promiscuous=true)
 Set modem in "sniff" mode: no packet filtering (e.g., no preamble, sync word, address, CRC). More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
float getRSSI ()
 Gets RSSI (Recorded Signal Strength Indicator) of the last received packet. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Control class for RF69 module. Also serves as base class for SX1231.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
RF69::RF69 (Modulemodule)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t RF69::begin (float freq = 434.0,
float br = 48.0,
float freqDev = 50.0,
float rxBw = 125.0,
int8_t power = 10,
uint8_t preambleLen = 16 
)
+
+ +

Initialization method.

+
Parameters
+ + + + + + + +
freqCarrier frequency in MHz. Defaults to 434.0 MHz.
brBit rate to be used in kbps. Defaults to 48.0 kbps.
freqDevFrequency deviation from carrier frequency in kHz Defaults to 50.0 kHz.
rxBwReceiver bandwidth in kHz. Defaults to 125.0 kHz.
powerOutput power in dBm. Defaults to 10 dBm.
preambleLenPreamble Length in bits. Defaults to 16 bits.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t RF69::disableAddressFiltering ()
+
+ +

Disables address filtering. Calling this method will also erase previously set addresses.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t RF69::disableAES ()
+
+ +

Disables AES encryption.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t RF69::disableSyncWordFiltering ()
+
+ +

Disable preamble and sync word filtering and generation.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t RF69::enableAES ()
+
+ +

Enables AES encryption.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t RF69::enableSyncWordFiltering (uint8_t maxErrBits = 0)
+
+ +

Enable sync word filtering and generation.

+
Parameters
+ + +
numBitsSync word length in bits.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t RF69::fixedPacketLengthMode (uint8_t len = RF69_MAX_PACKET_LENGTH)
+
+ +

Set modem in fixed packet length mode.

+
Parameters
+ + +
lenPacket length.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
size_t RF69::getPacketLength (bool update = true)
+
+overridevirtual
+
+ +

Query modem for the packet length of received payload.

+
Parameters
+ + +
updateUpdate received packet length. Will return cached value when set to false.
+
+
+
Returns
Length of last received packet in bytes.
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + +
float RF69::getRSSI ()
+
+ +

Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.

+
Returns
Last packet RSSI in dBm.
+ +
+
+ +
+
+ + + + + + + +
int16_t RF69::getTemperature ()
+
+ +

Measures temperature.

+
Returns
Measured temperature in degrees Celsius.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t RF69::readData (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Reads data received after calling startReceive method.

+
Parameters
+ + + +
dataPointer to array to save the received binary data.
lenNumber of bytes that will be received. Must be known in advance for binary transmissions.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t RF69::receive (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + +
dataBinary data to be sent.
lenNumber of bytes to send.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t RF69::receiveDirect ()
+
+overridevirtual
+
+ +

Starts direct mode reception.

+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
void RF69::setAESKey (uint8_t * key)
+
+ +

Sets AES key.

+
Parameters
+ + +
Keyto be used for AES encryption. Must be exactly 16 bytes long.
+
+
+ +
+
+ +
+
+ + + + + + + + +
void RF69::setAmbientTemperature (int16_t tempAmbient)
+
+ +

Sets ambient temperature. Required to correct values from on-board temperature sensor.

+
Parameters
+ + +
tempAmbientAmbient temperature in degrees Celsius.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int16_t RF69::setBitRate (float br)
+
+ +

Sets bit rate. Allowed values range from 1.2 to 300.0 kbps.

+
Parameters
+ + +
brBit rate to be set in kbps.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t RF69::setBroadcastAddress (uint8_t broadAddr)
+
+ +

Sets broadcast address. Calling this method will also enable address filtering for node and broadcast address.

+
Parameters
+ + +
broadAddrNode address to be set.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t RF69::setCrcFiltering (bool crcOn = true)
+
+ +

Enable CRC filtering and generation.

+
Parameters
+ + +
crcOnSet or unset promiscuous mode.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t RF69::setDataShaping (uint8_t sh)
+
+overridevirtual
+
+ +

Sets Gaussian filter bandwidth-time product that will be used for data shaping. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping.

+
Parameters
+ + +
shGaussian shaping bandwidth-time product that will be used for data shaping
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
void RF69::setDio0Action (void(*)(void) func)
+
+ +

Sets interrupt service routine to call when DIO0 activates.

+
Parameters
+ + +
funcISR to call.
+
+
+ +
+
+ +
+
+ + + + + + + + +
void RF69::setDio1Action (void(*)(void) func)
+
+ +

Sets interrupt service routine to call when DIO1 activates.

+
Parameters
+ + +
funcISR to call.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t RF69::setEncoding (uint8_t encoding)
+
+overridevirtual
+
+ +

Sets transmission encoding. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING.

+
Parameters
+ + +
encodingEncoding to be used.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t RF69::setFrequency (float freq)
+
+ +

Sets carrier frequency. Allowed values are in bands 290.0 to 340.0 MHz, 431.0 to 510.0 MHz and 862.0 to 1020.0 MHz.

+
Parameters
+ + +
freqCarrier frequency to be set in MHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t RF69::setFrequencyDeviation (float freqDev)
+
+overridevirtual
+
+ +

Sets frequency deviation.

+
Parameters
+ + +
freqDevFrequency deviation to be set in kHz.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t RF69::setNodeAddress (uint8_t nodeAddr)
+
+ +

Sets node address. Calling this method will also enable address filtering for node address only.

+
Parameters
+ + +
nodeAddrNode address to be set.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t RF69::setOutputPower (int8_t power,
bool highPower = false 
)
+
+ +

Sets output power. Allowed values range from -18 to 13 dBm for low power modules (RF69C/CW) or -2 to 20 dBm (RF69H/HC/HCW).

+
Parameters
+ + + +
powerOutput power to be set in dBm.
highPowerSet to true when using modules high power port (RF69H/HC/HCW). Defaults to false (models without high power port - RF69C/CW).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t RF69::setPreambleLength (uint8_t preambleLen)
+
+ +

Sets preamble length.

+
Parameters
+ + +
preambleLenPreamble length to be set (in bits), allowed values: 16, 24, 32, 48, 64, 96, 128 and 192.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t RF69::setPromiscuousMode (bool promiscuous = true)
+
+ +

Set modem in "sniff" mode: no packet filtering (e.g., no preamble, sync word, address, CRC).

+
Parameters
+ + +
promiscuousSet or unset promiscuous mode.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void RF69::setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn,
RADIOLIB_PIN_TYPE txEn 
)
+
+ +

Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch!

+
Parameters
+ + + +
rxEnRX enable pin.
txEnTX enable pin.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int16_t RF69::setRxBandwidth (float rxBw)
+
+ +

Sets receiver bandwidth. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25.0, 31.3, 41.7, 50.0, 62.5, 83.3, 100.0, 125.0, 166.7, 200.0, 250.0, 333.3, 400.0 and 500.0 kHz.

+
Parameters
+ + +
rxBwReceiver bandwidth to be set in kHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t RF69::setSyncWord (uint8_t * syncWord,
size_t len,
uint8_t maxErrBits = 0 
)
+
+ +

Sets sync word. Up to 8 bytes can be set as sync word.

+
Parameters
+ + + + +
syncWordPointer to the array of sync word bytes.
lenSync word length in bytes.
maxErrBitsMaximum allowed number of bit errors in received sync word. Defaults to 0.
+
+
+ +
+
+ +
+
+ + + + + + + +
int16_t RF69::sleep ()
+
+ +

Sets the module to sleep mode.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t RF69::standby ()
+
+overridevirtual
+
+ +

Sets the module to standby mode.

+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + +
int16_t RF69::startReceive ()
+
+ +

Interrupt-driven receive method. GDO0 will be activated when full packet is received.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t RF69::startTransmit (uint8_t * data,
size_t len,
uint8_t addr = 0 
)
+
+overridevirtual
+
+ +

Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + + +
dataBinary data to be sent.
lenNumber of bytes to send.
addrAddress to send the data to. Will only be added if address filtering was enabled.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t RF69::transmit (uint8_t * data,
size_t len,
uint8_t addr = 0 
)
+
+overridevirtual
+
+ +

Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + + +
dataBinary data to be sent.
lenNumber of bytes to send.
addrAddress to send the data to. Will only be added if address filtering was enabled.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t RF69::transmitDirect (uint32_t frf = 0)
+
+overridevirtual
+
+ +

Starts direct mode transmission.

+
Parameters
+ + +
frfRaw RF frequency value. Defaults to 0, required for quick frequency shifts in RTTY.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t RF69::variablePacketLengthMode (uint8_t maxLen = RF69_MAX_PACKET_LENGTH)
+
+ +

Set modem in variable packet length mode.

+
Parameters
+ + +
lenMaximum packet length.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/RF69/RF69.h
  • +
  • src/modules/RF69/RF69.cpp
  • +
+
+
+ + + + diff --git a/class_r_f69.js b/class_r_f69.js new file mode 100644 index 00000000..f653eeb0 --- /dev/null +++ b/class_r_f69.js @@ -0,0 +1,46 @@ +var class_r_f69 = +[ + [ "RF69", "class_r_f69.html#afbc84d4f91502bcbe12ddda2fde51448", null ], + [ "begin", "class_r_f69.html#a4d0dea965aba1017a660c9478ec57560", null ], + [ "clearDio0Action", "class_r_f69.html#a9721d2a3ed9fa8dd878575d71d5a4942", null ], + [ "clearDio1Action", "class_r_f69.html#ade1f9a7a603d712c480ed5e9a8d1bf51", null ], + [ "disableAddressFiltering", "class_r_f69.html#a5996fc1751e7542baafa0d6c0a6c78ee", null ], + [ "disableAES", "class_r_f69.html#a15fafb6c24a8b5721623be447628bbaa", null ], + [ "disableSyncWordFiltering", "class_r_f69.html#a400bb57d2353b57c29cf41a6d9497c80", null ], + [ "enableAES", "class_r_f69.html#a1fd4609f419d8b0213ee39b05dd40b69", null ], + [ "enableSyncWordFiltering", "class_r_f69.html#a643a711bcb4b7771a7ab1f457e61a417", null ], + [ "fixedPacketLengthMode", "class_r_f69.html#a4c9dcbd7e44bc5e46d9f10ae276a0c5f", null ], + [ "getPacketLength", "class_r_f69.html#a86a080086c0228d23e2cb77d2b1915c1", null ], + [ "getRSSI", "class_r_f69.html#ac4fc3f2b178ef08caec3a9f548f44cd7", null ], + [ "getTemperature", "class_r_f69.html#a0526ce6ea3722fd258f96d9677a60853", null ], + [ "packetMode", "class_r_f69.html#a6a67dd698b3cc6afcaf18c3710ad5f0f", null ], + [ "readData", "class_r_f69.html#a3983b66c83818b4082805bcafc712f00", null ], + [ "receive", "class_r_f69.html#ae36e8e6042245621a182b29526fe2245", null ], + [ "receiveDirect", "class_r_f69.html#abd556b0f455f9510213b17588a4baf1b", null ], + [ "reset", "class_r_f69.html#af953ee17aca5392f1e62ea4fe690550a", null ], + [ "setAESKey", "class_r_f69.html#abe5b378d7cc274fd8b75881e7d604bf3", null ], + [ "setAmbientTemperature", "class_r_f69.html#ac37d9ddee2adcc8876a182b8ebc3e703", null ], + [ "setBitRate", "class_r_f69.html#ad7f8132912a5dbf38c5cf676ac167d13", null ], + [ "setBroadcastAddress", "class_r_f69.html#a1b7598b87ffaabdbe733c47317fa91d8", null ], + [ "setCrcFiltering", "class_r_f69.html#ac205bc487833dc4eae4bb0069c0c4d1e", null ], + [ "setDataShaping", "class_r_f69.html#a42b99e437454e92c6932c3b7acc1fc4a", null ], + [ "setDio0Action", "class_r_f69.html#a9e50a1183d13ff9984f8438a7e9e4a77", null ], + [ "setDio1Action", "class_r_f69.html#aa72ad2ac5238bd87886684064b7494cf", null ], + [ "setEncoding", "class_r_f69.html#aae828ce8dda16da4e54d2f18b1fb8af2", null ], + [ "setFrequency", "class_r_f69.html#ab467f0fc318e651d0cdfbc0399d4c34b", null ], + [ "setFrequencyDeviation", "class_r_f69.html#adb9fbfedf95f34ac537815870b98a9be", null ], + [ "setNodeAddress", "class_r_f69.html#ab9c217d5ece259950780a05c6e41f75c", null ], + [ "setOutputPower", "class_r_f69.html#a998ddd21fc152d835c6f1b8d31b02fcc", null ], + [ "setPreambleLength", "class_r_f69.html#a7c84b3f881cad6e05b0f4f68c24496d9", null ], + [ "setPromiscuousMode", "class_r_f69.html#a6d90ad1d455de045c53c5758babd876c", null ], + [ "setRfSwitchPins", "class_r_f69.html#aada7c48828b950cdfd260594d502b03d", null ], + [ "setRxBandwidth", "class_r_f69.html#a735d8f22095a7e69471d73ca021b9d1a", null ], + [ "setSyncWord", "class_r_f69.html#a26667d50ec845c28e17236c69c886561", null ], + [ "sleep", "class_r_f69.html#a472a04041551cb38d2223fb34f71d8eb", null ], + [ "standby", "class_r_f69.html#a20242499eb926ff7b7da6e3f74a9ece1", null ], + [ "startReceive", "class_r_f69.html#afae38fa64242043de34096bf497725f1", null ], + [ "startTransmit", "class_r_f69.html#a855dc194947b095b821ec1524ba6814c", null ], + [ "transmit", "class_r_f69.html#a09ba80f60ee7974011a4b4f6c18c6847", null ], + [ "transmitDirect", "class_r_f69.html#a222682569338abb49d6952430b6eebdd", null ], + [ "variablePacketLengthMode", "class_r_f69.html#af62ebde1ea34a394b9781a21ae348c39", null ] +]; \ No newline at end of file diff --git a/class_r_f69.png b/class_r_f69.png new file mode 100644 index 0000000000000000000000000000000000000000..fea8380f50a2aa50bca2117f7677964fb9ede4ab GIT binary patch literal 595 zcmeAS@N?(olHy`uVBq!ia0vp^u|V9x!3-of#fawuDTx4|5ZC|z{{xvX-h3_XKQsZz z0^N1iT@Ar*{o=f2HrHsEpfU#EKS|HSK` z1ceM_mww%ryPdYUe~hJ`uOrnro5%naj~9Ie*{0BmH}2dc0D3Rhr3Ffn$fP_D24GvAt^5!u>Pr zGV0s^T=*we`H$Iq(&_fwXU{BRsAytT=n433;PT4(t$F1FyKDb0+Dnn z%e!4W!|&C*xcs)A8lKj2H&(AVidLVNxUXI1?T>T!?j;7liuagQX5+VPS5)-m3*0A7 z{@vSE*?Rihu6>u+?Gk^pd;P83Szq;U_5b=CmnZdQ>K)aWR-jng;yuZI$K5kJUHTc1 W)gC&xXNv+;0E4HipUXO@geCx`Qy&`u literal 0 HcmV?d00001 diff --git a/class_r_f_m22.html b/class_r_f_m22.html new file mode 100644 index 00000000..610f49a3 --- /dev/null +++ b/class_r_f_m22.html @@ -0,0 +1,136 @@ + + + + + + +RadioLib: RFM22 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RFM22 Class Reference
+
+
+ +

Only exists as alias for Si4432, since there seems to be no difference between RFM22 and Si4432 modules. + More...

+ +

#include <RFM22.h>

+

Detailed Description

+

Only exists as alias for Si4432, since there seems to be no difference between RFM22 and Si4432 modules.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/class_r_f_m23.html b/class_r_f_m23.html new file mode 100644 index 00000000..1a45e550 --- /dev/null +++ b/class_r_f_m23.html @@ -0,0 +1,136 @@ + + + + + + +RadioLib: RFM23 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RFM23 Class Reference
+
+
+ +

Only exists as alias for Si4431, since there seems to be no difference between RFM23 and Si4431 modules. + More...

+ +

#include <RFM23.h>

+

Detailed Description

+

Only exists as alias for Si4431, since there seems to be no difference between RFM23 and Si4431 modules.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/class_r_f_m95-members.html b/class_r_f_m95-members.html new file mode 100644 index 00000000..2fea1a51 --- /dev/null +++ b/class_r_f_m95-members.html @@ -0,0 +1,195 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RFM95 Member List
+
+
+ +

This is the complete list of members for RFM95, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
autoLDRO()SX1278
begin(float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)RFM95
SX127x::begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)SX127x
beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)SX1278
SX127x::beginFSK(uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)SX127x
clearDio0Action()SX127x
clearDio1Action()SX127x
disableAddressFiltering()SX127x
fixedPacketLengthMode(uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
forceLDRO(bool enable)SX1278
getDataRate() const SX127x
getFreqStep() const PhysicalLayer
getFrequencyError(bool autoCorrect=false)SX127x
getIRQFlags()SX127x
getModemStatus()SX127x
getPacketLength(bool update=true) overrideSX127xvirtual
getRSSI()SX1278
getSNR()SX127x
getTempRaw()SX127x
packetMode()SX127x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX127xvirtual
reset() overrideSX1278virtual
RFM95(Module *mod)RFM95
scanChannel()SX127x
setBandwidth(float bw)SX1278
setBitRate(float br)SX127x
setBroadcastAddress(uint8_t broadAddr)SX127x
setCodingRate(uint8_t cr)SX1278
setCRC(bool enableCRC)SX1278
setCurrentLimit(uint8_t currentLimit)SX127x
setDataShaping(uint8_t sh) overrideSX1278virtual
setDataShapingOOK(uint8_t sh)SX1278
setDio0Action(void(*func)(void))SX127x
setDio1Action(void(*func)(void))SX127x
setEncoding(uint8_t encoding) overrideSX127xvirtual
setFrequency(float freq)RFM95
setFrequencyDeviation(float freqDev) overrideSX127xvirtual
setGain(uint8_t gain)SX1278
setNodeAddress(uint8_t nodeAddr)SX127x
setOOK(bool enableOOK)SX127x
setOutputPower(int8_t power)SX1278
setPreambleLength(uint16_t preambleLength)SX127x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX127x
setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)SX127x
setRxBandwidth(float rxBw)SX127x
setSpreadingFactor(uint8_t sf)SX1278
setSyncWord(uint8_t syncWord)SX127x
setSyncWord(uint8_t *syncWord, size_t len)SX127x
sleep()SX127x
standby() overrideSX127xvirtual
startReceive(uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)SX127x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1278(Module *mod)SX1278
SX127x(Module *mod)SX127x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX127xvirtual
variablePacketLengthMode(uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
+
+ + + + diff --git a/class_r_f_m95.html b/class_r_f_m95.html new file mode 100644 index 00000000..7d55595d --- /dev/null +++ b/class_r_f_m95.html @@ -0,0 +1,498 @@ + + + + + + +RadioLib: RFM95 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RFM95 Class Reference
+
+
+ +

Derived class for RFM95 modules. Overrides some methods from SX1278 due to different parameter ranges. + More...

+ +

#include <RFM95.h>

+
+Inheritance diagram for RFM95:
+
+
+ + +SX1278 +SX127x +PhysicalLayer +RFM97 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 RFM95 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 868.0 MHz to 915.0 MHz. More...
 
- Public Member Functions inherited from SX1278
 SX1278 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t beginFSK (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
 FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
+void reset () override
 Reset method. Will reset the chip to the default state using RST pin.
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 137.0 MHz to 525.0 MHz. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa link bandwidth. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz. Only available in LoRa mode. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode. More...
 
int16_t setCodingRate (uint8_t cr)
 Sets LoRa link coding rate denominator. Allowed values range from 5 to 8. Only available in LoRa mode. More...
 
int16_t setOutputPower (int8_t power)
 Sets transmission output power. Allowed values range from 2 to 17 dBm. More...
 
int16_t setGain (uint8_t gain)
 Sets gain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended). Only available in LoRa mode. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setDataShapingOOK (uint8_t sh)
 Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency equal to bit rate and 2 for frequency equal to 2x bit rate. Set to 0 to disable data shaping. Only available in FSK mode with OOK modulation. More...
 
float getRSSI ()
 Gets recorded signal strength indicator of the latest received packet for LoRa modem, or current RSSI level for FSK modem. More...
 
int16_t setCRC (bool enableCRC)
 Enables/disables CRC check of received packets. More...
 
int16_t forceLDRO (bool enable)
 Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO() More...
 
int16_t autoLDRO ()
 Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms. More...
 
- Public Member Functions inherited from SX127x
 SX127x (Module *mod)
 Default constructor. Called internally when creating new LoRa instance. More...
 
int16_t begin (uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)
 Initialization method. Will be called with appropriate parameters when calling initialization method from derived class. More...
 
int16_t beginFSK (uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)
 Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK initialization method from derived class. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Binary transmit method. Will transmit arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Binary receive method. Will attempt to receive arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to receive Arduino String, see PhysicalLayer::receive. More...
 
int16_t scanChannel ()
 Performs scan for valid LoRa preamble in the current channel. More...
 
int16_t sleep ()
 Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called. More...
 
int16_t standby () override
 Sets the LoRa module to standby. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t receiveDirect () override
 Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t packetMode ()
 Disables direct mode and enables packet mode, allowing the module to receive packets. Can only be activated in FSK mode. More...
 
void setDio0Action (void(*func)(void))
 Set interrupt service routine function to call when DIO0 activates. More...
 
+void clearDio0Action ()
 Clears interrupt service routine to call when DIO0 activates.
 
void setDio1Action (void(*func)(void))
 Set interrupt service routine function to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. More...
 
int16_t startReceive (uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)
 Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data that was received after calling startReceive method. This method reads len characters. More...
 
int16_t setSyncWord (uint8_t syncWord)
 Sets LoRa sync word. Only available in LoRa mode. More...
 
int16_t setCurrentLimit (uint8_t currentLimit)
 Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45 to 120 mA in 5 mA steps and 120 to 240 mA in 10 mA steps. More...
 
int16_t setPreambleLength (uint16_t preambleLength)
 Sets LoRa preamble length. Allowed values range from 6 to 65535. Only available in LoRa mode. More...
 
float getFrequencyError (bool autoCorrect=false)
 Gets frequency error of the latest received packet. More...
 
float getSNR ()
 Gets signal-to-noise ratio of the latest received packet. More...
 
float getDataRate () const
 Get data rate of the latest transmitted packet. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and must be lower than 200 kHz. Only available in FSK mode. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode. More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len)
 Sets FSK sync word. Allowed sync words are up to 8 bytes long and can not contain null bytes. Only available in FSK mode. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t disableAddressFiltering ()
 Disables FSK address filtering. More...
 
int16_t setOOK (bool enableOOK)
 Enables/disables OOK modulation instead of FSK. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in fixed packet length mode. Available in FSK mode only. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in variable packet length mode. Available in FSK mode only. More...
 
int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)
 Sets RSSI measurement configuration in FSK mode. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
uint16_t getIRQFlags ()
 Reads currently active IRQ flags, can be used to check which event caused an interrupt. In LoRa mode, this is the content of SX127X_REG_IRQ_FLAGS register. In FSK mode, this is the contents of SX127X_REG_IRQ_FLAGS_2 (MSB) and SX127X_REG_IRQ_FLAGS_1 (LSB) registers. More...
 
uint8_t getModemStatus ()
 Reads modem status. Only available in LoRa mode. More...
 
int8_t getTempRaw ()
 Reads uncalibrated temperature value. This function will change operating mode and should not be called during Tx, Rx or CAD. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for RFM95 modules. Overrides some methods from SX1278 due to different parameter ranges.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
RFM95::RFM95 (Modulemod)
+
+ +

Default constructor. Called from Arduino sketch when creating new LoRa instance.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the LoRa chip.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t RFM95::begin (float freq = 915.0,
float bw = 125.0,
uint8_t sf = 9,
uint8_t cr = 7,
uint8_t syncWord = SX127X_SYNC_WORD,
int8_t power = 10,
uint16_t preambleLength = 8,
uint8_t gain = 0 
)
+
+ +

LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 868.0 MHz to 915.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t RFM95::setFrequency (float freq)
+
+ +

Sets carrier frequency. Allowed values range from 868.0 MHz to 915.0 MHz.

+
Parameters
+ + +
freqCarrier frequency to be set in MHz.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/RFM9x/RFM95.h
  • +
  • src/modules/RFM9x/RFM95.cpp
  • +
+
+
+ + + + diff --git a/class_r_f_m95.js b/class_r_f_m95.js new file mode 100644 index 00000000..ac770529 --- /dev/null +++ b/class_r_f_m95.js @@ -0,0 +1,6 @@ +var class_r_f_m95 = +[ + [ "RFM95", "class_r_f_m95.html#a89dfea02aef1a2b47a3af83801c74326", null ], + [ "begin", "class_r_f_m95.html#a9fd59fdec8591334cfa02514ca7aabf6", null ], + [ "setFrequency", "class_r_f_m95.html#a9dbe60f998ddc661282ebf454dba0f87", null ] +]; \ No newline at end of file diff --git a/class_r_f_m95.png b/class_r_f_m95.png new file mode 100644 index 0000000000000000000000000000000000000000..308edbb7718a4240d6caff92302f381178ad4cc6 GIT binary patch literal 930 zcmeAS@N?(olHy`uVBq!ia0vp^u|WKTgBeKftdm*;q$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ04Lw~PLn;{G&V6`klNAr!bamr9|5fD$ zqoO(#vh4alx6NE?G9`DmTYYkx7@L}>Jr}FH*_ELPF~V?weIO^ z^Eaj3<=5IPT{uO4?|NKzw$>W2e;Ii1_ru#RCEuQvW|tdZzB%3J zjnKv0yANzLk-M4wN=|hVzs}+4lfvK9Ki|7CKdRbuXRvX3uSjN!5KgHabn|bmQg-d##a`!j$Z_mzp=C{}Pa zMdI)2tyS46b7S>-qv~st%a^_M3_3q^@AcA!by+~S&6)Ws>iVs1pTpu#`#k=>X7&}& zOMO6B^32^f`}NvA-&f{xso%Oce~rr9iiP*G7hVsX^kmY1<4I2@mU({qQMh|%qzHq! z1mhu&t^LVM?5@;JW`C9Z);`ualfA$bB@iJleXM`8JyGIN0t1H<(9Q8%&L59El_eEp zx9j*UK?c6#-=2o8{p>t*MJ4lt5A~b$FCD9!F@wAE{oCH}bN7h9GP}07=D@x5wCw!n zY&Qz7-jhq8Q@ir}B?gNp|9QaiRd>gZ=db|jVfI||?3sD&&f_dh~-H+@)fA{&2@O$oYV1{DwboFyt=akR{0IgZg_W%F@ literal 0 HcmV?d00001 diff --git a/class_r_f_m96-members.html b/class_r_f_m96-members.html new file mode 100644 index 00000000..0f73876e --- /dev/null +++ b/class_r_f_m96-members.html @@ -0,0 +1,195 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RFM96 Member List
+
+
+ +

This is the complete list of members for RFM96, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
autoLDRO()SX1278
begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)RFM96
SX127x::begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)SX127x
beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)SX1278
SX127x::beginFSK(uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)SX127x
clearDio0Action()SX127x
clearDio1Action()SX127x
disableAddressFiltering()SX127x
fixedPacketLengthMode(uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
forceLDRO(bool enable)SX1278
getDataRate() const SX127x
getFreqStep() const PhysicalLayer
getFrequencyError(bool autoCorrect=false)SX127x
getIRQFlags()SX127x
getModemStatus()SX127x
getPacketLength(bool update=true) overrideSX127xvirtual
getRSSI()SX1278
getSNR()SX127x
getTempRaw()SX127x
packetMode()SX127x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX127xvirtual
reset() overrideSX1278virtual
RFM96(Module *mod)RFM96
scanChannel()SX127x
setBandwidth(float bw)SX1278
setBitRate(float br)SX127x
setBroadcastAddress(uint8_t broadAddr)SX127x
setCodingRate(uint8_t cr)SX1278
setCRC(bool enableCRC)SX1278
setCurrentLimit(uint8_t currentLimit)SX127x
setDataShaping(uint8_t sh) overrideSX1278virtual
setDataShapingOOK(uint8_t sh)SX1278
setDio0Action(void(*func)(void))SX127x
setDio1Action(void(*func)(void))SX127x
setEncoding(uint8_t encoding) overrideSX127xvirtual
setFrequency(float freq)RFM96
setFrequencyDeviation(float freqDev) overrideSX127xvirtual
setGain(uint8_t gain)SX1278
setNodeAddress(uint8_t nodeAddr)SX127x
setOOK(bool enableOOK)SX127x
setOutputPower(int8_t power)SX1278
setPreambleLength(uint16_t preambleLength)SX127x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX127x
setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)SX127x
setRxBandwidth(float rxBw)SX127x
setSpreadingFactor(uint8_t sf)SX1278
setSyncWord(uint8_t syncWord)SX127x
setSyncWord(uint8_t *syncWord, size_t len)SX127x
sleep()SX127x
standby() overrideSX127xvirtual
startReceive(uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)SX127x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1278(Module *mod)SX1278
SX127x(Module *mod)SX127x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX127xvirtual
variablePacketLengthMode(uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
+
+ + + + diff --git a/class_r_f_m96.html b/class_r_f_m96.html new file mode 100644 index 00000000..beaa7d3b --- /dev/null +++ b/class_r_f_m96.html @@ -0,0 +1,497 @@ + + + + + + +RadioLib: RFM96 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RFM96 Class Reference
+
+
+ +

Derived class for RFM96 modules. Overrides some methods from SX1278 due to different parameter ranges. + More...

+ +

#include <RFM96.h>

+
+Inheritance diagram for RFM96:
+
+
+ + +SX1278 +SX127x +PhysicalLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 RFM96 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 433.0 MHz to 470.0 MHz. More...
 
- Public Member Functions inherited from SX1278
 SX1278 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t beginFSK (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
 FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
+void reset () override
 Reset method. Will reset the chip to the default state using RST pin.
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 137.0 MHz to 525.0 MHz. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa link bandwidth. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz. Only available in LoRa mode. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode. More...
 
int16_t setCodingRate (uint8_t cr)
 Sets LoRa link coding rate denominator. Allowed values range from 5 to 8. Only available in LoRa mode. More...
 
int16_t setOutputPower (int8_t power)
 Sets transmission output power. Allowed values range from 2 to 17 dBm. More...
 
int16_t setGain (uint8_t gain)
 Sets gain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended). Only available in LoRa mode. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setDataShapingOOK (uint8_t sh)
 Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency equal to bit rate and 2 for frequency equal to 2x bit rate. Set to 0 to disable data shaping. Only available in FSK mode with OOK modulation. More...
 
float getRSSI ()
 Gets recorded signal strength indicator of the latest received packet for LoRa modem, or current RSSI level for FSK modem. More...
 
int16_t setCRC (bool enableCRC)
 Enables/disables CRC check of received packets. More...
 
int16_t forceLDRO (bool enable)
 Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO() More...
 
int16_t autoLDRO ()
 Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms. More...
 
- Public Member Functions inherited from SX127x
 SX127x (Module *mod)
 Default constructor. Called internally when creating new LoRa instance. More...
 
int16_t begin (uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)
 Initialization method. Will be called with appropriate parameters when calling initialization method from derived class. More...
 
int16_t beginFSK (uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)
 Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK initialization method from derived class. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Binary transmit method. Will transmit arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Binary receive method. Will attempt to receive arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to receive Arduino String, see PhysicalLayer::receive. More...
 
int16_t scanChannel ()
 Performs scan for valid LoRa preamble in the current channel. More...
 
int16_t sleep ()
 Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called. More...
 
int16_t standby () override
 Sets the LoRa module to standby. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t receiveDirect () override
 Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t packetMode ()
 Disables direct mode and enables packet mode, allowing the module to receive packets. Can only be activated in FSK mode. More...
 
void setDio0Action (void(*func)(void))
 Set interrupt service routine function to call when DIO0 activates. More...
 
+void clearDio0Action ()
 Clears interrupt service routine to call when DIO0 activates.
 
void setDio1Action (void(*func)(void))
 Set interrupt service routine function to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. More...
 
int16_t startReceive (uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)
 Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data that was received after calling startReceive method. This method reads len characters. More...
 
int16_t setSyncWord (uint8_t syncWord)
 Sets LoRa sync word. Only available in LoRa mode. More...
 
int16_t setCurrentLimit (uint8_t currentLimit)
 Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45 to 120 mA in 5 mA steps and 120 to 240 mA in 10 mA steps. More...
 
int16_t setPreambleLength (uint16_t preambleLength)
 Sets LoRa preamble length. Allowed values range from 6 to 65535. Only available in LoRa mode. More...
 
float getFrequencyError (bool autoCorrect=false)
 Gets frequency error of the latest received packet. More...
 
float getSNR ()
 Gets signal-to-noise ratio of the latest received packet. More...
 
float getDataRate () const
 Get data rate of the latest transmitted packet. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and must be lower than 200 kHz. Only available in FSK mode. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode. More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len)
 Sets FSK sync word. Allowed sync words are up to 8 bytes long and can not contain null bytes. Only available in FSK mode. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t disableAddressFiltering ()
 Disables FSK address filtering. More...
 
int16_t setOOK (bool enableOOK)
 Enables/disables OOK modulation instead of FSK. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in fixed packet length mode. Available in FSK mode only. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in variable packet length mode. Available in FSK mode only. More...
 
int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)
 Sets RSSI measurement configuration in FSK mode. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
uint16_t getIRQFlags ()
 Reads currently active IRQ flags, can be used to check which event caused an interrupt. In LoRa mode, this is the content of SX127X_REG_IRQ_FLAGS register. In FSK mode, this is the contents of SX127X_REG_IRQ_FLAGS_2 (MSB) and SX127X_REG_IRQ_FLAGS_1 (LSB) registers. More...
 
uint8_t getModemStatus ()
 Reads modem status. Only available in LoRa mode. More...
 
int8_t getTempRaw ()
 Reads uncalibrated temperature value. This function will change operating mode and should not be called during Tx, Rx or CAD. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for RFM96 modules. Overrides some methods from SX1278 due to different parameter ranges.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
RFM96::RFM96 (Modulemod)
+
+ +

Default constructor. Called from Arduino sketch when creating new LoRa instance.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the LoRa chip.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t RFM96::begin (float freq = 434.0,
float bw = 125.0,
uint8_t sf = 9,
uint8_t cr = 7,
uint8_t syncWord = SX127X_SYNC_WORD,
int8_t power = 10,
uint16_t preambleLength = 8,
uint8_t gain = 0 
)
+
+ +

LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 433.0 MHz to 470.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t RFM96::setFrequency (float freq)
+
+ +

Sets carrier frequency. Allowed values range from 433.0 MHz to 470.0 MHz.

+
Parameters
+ + +
freqCarrier frequency to be set in MHz.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/RFM9x/RFM96.h
  • +
  • src/modules/RFM9x/RFM96.cpp
  • +
+
+
+ + + + diff --git a/class_r_f_m96.js b/class_r_f_m96.js new file mode 100644 index 00000000..ee15a271 --- /dev/null +++ b/class_r_f_m96.js @@ -0,0 +1,6 @@ +var class_r_f_m96 = +[ + [ "RFM96", "class_r_f_m96.html#ad139e35a7465bf7ad83aef85998b4e7a", null ], + [ "begin", "class_r_f_m96.html#a959e10f61fd3fdfc013733bd6c081335", null ], + [ "setFrequency", "class_r_f_m96.html#ae2be63ae8365648098b84cc86475fb84", null ] +]; \ No newline at end of file diff --git a/class_r_f_m96.png b/class_r_f_m96.png new file mode 100644 index 0000000000000000000000000000000000000000..993333a7a45a3250fde6a95b47d2ae073ee4654c GIT binary patch literal 779 zcmeAS@N?(olHy`uVBq!ia0vp^u|Rx)gBeH$hR@FdQW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;j7aNhQyXz?TSJ2S^G~if8F?P{kxf4n0G9ZJ)r!S zK`xX1gNJp4`z=PBOMDMLdY2h*HZbtyQhGb-$;a|Z+D~bF57b^&g(3**5o}W0j&z|YZ_<@DlL1N*z z#EvWNxAH$Z)UNrvx?1fmgC2?#CzdhvZ(*+ZGwJRb9Uh-aO&+^dD*w#gd&lmvf$yut zHRscx2TqFddvi5>rp;^F;|phc2A!X}_j>8lf7gJHvzhrS>iey}%Zv9+^LhMz&FmK{ zna4xVpK0^EefRa+JHIn#AM4!qJwI$x*`5pUw_bd$c*27a>ONrTKA!$&=@cP0R)r3bdl%MLz4ean?VjHK zZfhmy0mkRweg>?)JpHNLYla6O8Lba6p1+x%nO(0u)9m}by7g=O86Onv{BCwLb93px ymv + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RFM97 Member List
+
+
+ +

This is the complete list of members for RFM97, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
autoLDRO()SX1278
begin(float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)RFM95
SX127x::begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)SX127x
beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)SX1278
SX127x::beginFSK(uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)SX127x
clearDio0Action()SX127x
clearDio1Action()SX127x
disableAddressFiltering()SX127x
fixedPacketLengthMode(uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
forceLDRO(bool enable)SX1278
getDataRate() const SX127x
getFreqStep() const PhysicalLayer
getFrequencyError(bool autoCorrect=false)SX127x
getIRQFlags()SX127x
getModemStatus()SX127x
getPacketLength(bool update=true) overrideSX127xvirtual
getRSSI()SX1278
getSNR()SX127x
getTempRaw()SX127x
packetMode()SX127x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX127xvirtual
reset() overrideSX1278virtual
RFM95(Module *mod)RFM95
RFM97(Module *mod)RFM97
scanChannel()SX127x
setBandwidth(float bw)SX1278
setBitRate(float br)SX127x
setBroadcastAddress(uint8_t broadAddr)SX127x
setCodingRate(uint8_t cr)SX1278
setCRC(bool enableCRC)SX1278
setCurrentLimit(uint8_t currentLimit)SX127x
setDataShaping(uint8_t sh) overrideSX1278virtual
setDataShapingOOK(uint8_t sh)SX1278
setDio0Action(void(*func)(void))SX127x
setDio1Action(void(*func)(void))SX127x
setEncoding(uint8_t encoding) overrideSX127xvirtual
setFrequency(float freq)RFM95
setFrequencyDeviation(float freqDev) overrideSX127xvirtual
setGain(uint8_t gain)SX1278
setNodeAddress(uint8_t nodeAddr)SX127x
setOOK(bool enableOOK)SX127x
setOutputPower(int8_t power)SX1278
setPreambleLength(uint16_t preambleLength)SX127x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX127x
setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)SX127x
setRxBandwidth(float rxBw)SX127x
setSpreadingFactor(uint8_t sf)RFM97
setSyncWord(uint8_t syncWord)SX127x
setSyncWord(uint8_t *syncWord, size_t len)SX127x
sleep()SX127x
standby() overrideSX127xvirtual
startReceive(uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)SX127x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1278(Module *mod)SX1278
SX127x(Module *mod)SX127x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX127xvirtual
variablePacketLengthMode(uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
+
+ + + + diff --git a/class_r_f_m97.html b/class_r_f_m97.html new file mode 100644 index 00000000..785d79fb --- /dev/null +++ b/class_r_f_m97.html @@ -0,0 +1,427 @@ + + + + + + +RadioLib: RFM97 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RFM97 Class Reference
+
+
+ +

Derived class for RFM97 modules. Overrides some methods from RFM95 due to different parameter ranges. + More...

+ +

#include <RFM97.h>

+
+Inheritance diagram for RFM97:
+
+
+ + +RFM95 +SX1278 +SX127x +PhysicalLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 RFM97 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa link spreading factor. Allowed values range from 6 to 9. Only available in LoRa mode. More...
 
- Public Member Functions inherited from RFM95
 RFM95 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 868.0 MHz to 915.0 MHz. More...
 
- Public Member Functions inherited from SX1278
 SX1278 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t beginFSK (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
 FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
+void reset () override
 Reset method. Will reset the chip to the default state using RST pin.
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 137.0 MHz to 525.0 MHz. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa link bandwidth. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz. Only available in LoRa mode. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode. More...
 
int16_t setCodingRate (uint8_t cr)
 Sets LoRa link coding rate denominator. Allowed values range from 5 to 8. Only available in LoRa mode. More...
 
int16_t setOutputPower (int8_t power)
 Sets transmission output power. Allowed values range from 2 to 17 dBm. More...
 
int16_t setGain (uint8_t gain)
 Sets gain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended). Only available in LoRa mode. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setDataShapingOOK (uint8_t sh)
 Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency equal to bit rate and 2 for frequency equal to 2x bit rate. Set to 0 to disable data shaping. Only available in FSK mode with OOK modulation. More...
 
float getRSSI ()
 Gets recorded signal strength indicator of the latest received packet for LoRa modem, or current RSSI level for FSK modem. More...
 
int16_t setCRC (bool enableCRC)
 Enables/disables CRC check of received packets. More...
 
int16_t forceLDRO (bool enable)
 Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO() More...
 
int16_t autoLDRO ()
 Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms. More...
 
- Public Member Functions inherited from SX127x
 SX127x (Module *mod)
 Default constructor. Called internally when creating new LoRa instance. More...
 
int16_t begin (uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)
 Initialization method. Will be called with appropriate parameters when calling initialization method from derived class. More...
 
int16_t beginFSK (uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)
 Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK initialization method from derived class. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Binary transmit method. Will transmit arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Binary receive method. Will attempt to receive arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to receive Arduino String, see PhysicalLayer::receive. More...
 
int16_t scanChannel ()
 Performs scan for valid LoRa preamble in the current channel. More...
 
int16_t sleep ()
 Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called. More...
 
int16_t standby () override
 Sets the LoRa module to standby. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t receiveDirect () override
 Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t packetMode ()
 Disables direct mode and enables packet mode, allowing the module to receive packets. Can only be activated in FSK mode. More...
 
void setDio0Action (void(*func)(void))
 Set interrupt service routine function to call when DIO0 activates. More...
 
+void clearDio0Action ()
 Clears interrupt service routine to call when DIO0 activates.
 
void setDio1Action (void(*func)(void))
 Set interrupt service routine function to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. More...
 
int16_t startReceive (uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)
 Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data that was received after calling startReceive method. This method reads len characters. More...
 
int16_t setSyncWord (uint8_t syncWord)
 Sets LoRa sync word. Only available in LoRa mode. More...
 
int16_t setCurrentLimit (uint8_t currentLimit)
 Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45 to 120 mA in 5 mA steps and 120 to 240 mA in 10 mA steps. More...
 
int16_t setPreambleLength (uint16_t preambleLength)
 Sets LoRa preamble length. Allowed values range from 6 to 65535. Only available in LoRa mode. More...
 
float getFrequencyError (bool autoCorrect=false)
 Gets frequency error of the latest received packet. More...
 
float getSNR ()
 Gets signal-to-noise ratio of the latest received packet. More...
 
float getDataRate () const
 Get data rate of the latest transmitted packet. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and must be lower than 200 kHz. Only available in FSK mode. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode. More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len)
 Sets FSK sync word. Allowed sync words are up to 8 bytes long and can not contain null bytes. Only available in FSK mode. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t disableAddressFiltering ()
 Disables FSK address filtering. More...
 
int16_t setOOK (bool enableOOK)
 Enables/disables OOK modulation instead of FSK. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in fixed packet length mode. Available in FSK mode only. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in variable packet length mode. Available in FSK mode only. More...
 
int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)
 Sets RSSI measurement configuration in FSK mode. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
uint16_t getIRQFlags ()
 Reads currently active IRQ flags, can be used to check which event caused an interrupt. In LoRa mode, this is the content of SX127X_REG_IRQ_FLAGS register. In FSK mode, this is the contents of SX127X_REG_IRQ_FLAGS_2 (MSB) and SX127X_REG_IRQ_FLAGS_1 (LSB) registers. More...
 
uint8_t getModemStatus ()
 Reads modem status. Only available in LoRa mode. More...
 
int8_t getTempRaw ()
 Reads uncalibrated temperature value. This function will change operating mode and should not be called during Tx, Rx or CAD. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for RFM97 modules. Overrides some methods from RFM95 due to different parameter ranges.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
RFM97::RFM97 (Modulemod)
+
+ +

Default constructor. Called from Arduino sketch when creating new LoRa instance.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the LoRa chip.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
int16_t RFM97::setSpreadingFactor (uint8_t sf)
+
+ +

Sets LoRa link spreading factor. Allowed values range from 6 to 9. Only available in LoRa mode.

+
Parameters
+ + +
sfLoRa link spreading factor to be set.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/RFM9x/RFM97.h
  • +
  • src/modules/RFM9x/RFM97.cpp
  • +
+
+
+ + + + diff --git a/class_r_f_m97.js b/class_r_f_m97.js new file mode 100644 index 00000000..8cf4750a --- /dev/null +++ b/class_r_f_m97.js @@ -0,0 +1,5 @@ +var class_r_f_m97 = +[ + [ "RFM97", "class_r_f_m97.html#ab7a6b22776df24d081225dcfe177e1be", null ], + [ "setSpreadingFactor", "class_r_f_m97.html#ae8d0ead424c0c9950ad9d5b7132bdf67", null ] +]; \ No newline at end of file diff --git a/class_r_f_m97.png b/class_r_f_m97.png new file mode 100644 index 0000000000000000000000000000000000000000..a502a4f1f63cbe8eb7be0272a6c9038b9a50ea8b GIT binary patch literal 927 zcmeAS@N?(olHy`uVBq!ia0vp^u|WKTgBeKftdm*;q$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0^*mi1Ln;{G&V6`klNAr!bamr9|5fD$ zqoO(#vh4alx6NE?G9`DmTYYkx7@L}>Jr}FH*_ELPF~V?weIO^ z^Eaj3<=5IPT{uO4?|NKzw$>W2e;Ii1_ru#RCEuQvW|tdZzB%3J zjnKv0yANzLk-M4wN=|hVzs}+4lfvK9Ki|7CKdRbuXRvX3uSjN!5KgHabn|bmQg-d##a`!j$Z_mzp=C{}Pa zMdI)2tyS46b7S>-qv~st%a^_M3_3q^@AcA!by+~S&6)Ws>iVs1pTpu#`#k=>X7&}& zOMO6B^32^f`}NvA-&f{xso%Oce~rr9iiP*G7hVsX^kmY1<4I2@mU({qQMh|%qzHq! z1mhu&t^LVM?5@;JW`C9Z);`ualfA$bB@iJleXM`;?3qIcR5Uw)zC14e_HfD6Z{G}T z?>{bHBdO@gcl_Jau(h9^XRfGJ_T>Ao{#z;cO?&6g3E%JCtGIu%dSPDj-P7!EYSXrT zE6ek|RdDs5T>6~amESLUOmhBr-UA$JkI9K%`L;xkW=4e$pc`v0+R0aIuFfp@`9dz+ zjln|Z_Vnnj=lD|>smf&8pL%2ZTj}qFy=SZQ_a8s^ + + + + + +RadioLib: RFM98 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RFM98 Class Reference
+
+
+ +

Only exists as alias for RFM96, since there seems to be no difference between RFM96 and RFM98 modules. + More...

+ +

#include <RFM96.h>

+

Detailed Description

+

Only exists as alias for RFM96, since there seems to be no difference between RFM96 and RFM98 modules.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/class_r_t_t_y_client-members.html b/class_r_t_t_y_client-members.html new file mode 100644 index 00000000..f15af291 --- /dev/null +++ b/class_r_t_t_y_client-members.html @@ -0,0 +1,158 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RTTYClient Member List
+
+
+ +

This is the complete list of members for RTTYClient, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(float base, uint32_t shift, uint16_t rate, uint8_t encoding=ASCII, uint8_t stopBits=1)RTTYClient
idle()RTTYClient
print(__FlashStringHelper *) (defined in RTTYClient)RTTYClient
print(ITA2String &) (defined in RTTYClient)RTTYClient
print(const String &) (defined in RTTYClient)RTTYClient
print(const char[]) (defined in RTTYClient)RTTYClient
print(char) (defined in RTTYClient)RTTYClient
print(unsigned char, int=DEC) (defined in RTTYClient)RTTYClient
print(int, int=DEC) (defined in RTTYClient)RTTYClient
print(unsigned int, int=DEC) (defined in RTTYClient)RTTYClient
print(long, int=DEC) (defined in RTTYClient)RTTYClient
print(unsigned long, int=DEC) (defined in RTTYClient)RTTYClient
print(double, int=2) (defined in RTTYClient)RTTYClient
println(void) (defined in RTTYClient)RTTYClient
println(__FlashStringHelper *) (defined in RTTYClient)RTTYClient
println(ITA2String &) (defined in RTTYClient)RTTYClient
println(const String &) (defined in RTTYClient)RTTYClient
println(const char[]) (defined in RTTYClient)RTTYClient
println(char) (defined in RTTYClient)RTTYClient
println(unsigned char, int=DEC) (defined in RTTYClient)RTTYClient
println(int, int=DEC) (defined in RTTYClient)RTTYClient
println(unsigned int, int=DEC) (defined in RTTYClient)RTTYClient
println(long, int=DEC) (defined in RTTYClient)RTTYClient
println(unsigned long, int=DEC) (defined in RTTYClient)RTTYClient
println(double, int=2) (defined in RTTYClient)RTTYClient
RTTYClient(PhysicalLayer *phy)RTTYClientexplicit
RTTYClient(AFSKClient *audio)RTTYClientexplicit
write(const char *str) (defined in RTTYClient)RTTYClient
write(uint8_t *buff, size_t len) (defined in RTTYClient)RTTYClient
write(uint8_t b) (defined in RTTYClient)RTTYClient
+
+ + + + diff --git a/class_r_t_t_y_client.html b/class_r_t_t_y_client.html new file mode 100644 index 00000000..ab0b697f --- /dev/null +++ b/class_r_t_t_y_client.html @@ -0,0 +1,358 @@ + + + + + + +RadioLib: RTTYClient Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RTTYClient Class Reference
+
+
+ +

Client for RTTY communication. The public interface is the same as Arduino Serial. + More...

+ +

#include <RTTY.h>

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

+Public Member Functions

 RTTYClient (PhysicalLayer *phy)
 Constructor for 2-FSK mode. More...
 
 RTTYClient (AFSKClient *audio)
 Constructor for AFSK mode. More...
 
int16_t begin (float base, uint32_t shift, uint16_t rate, uint8_t encoding=ASCII, uint8_t stopBits=1)
 Initialization method. More...
 
+void idle ()
 Send out idle condition (RF tone at mark frequency).
 
+size_t write (const char *str)
 
+size_t write (uint8_t *buff, size_t len)
 
+size_t write (uint8_t b)
 
+size_t print (__FlashStringHelper *)
 
+size_t print (ITA2String &)
 
+size_t print (const String &)
 
+size_t print (const char[])
 
+size_t print (char)
 
+size_t print (unsigned char, int=DEC)
 
+size_t print (int, int=DEC)
 
+size_t print (unsigned int, int=DEC)
 
+size_t print (long, int=DEC)
 
+size_t print (unsigned long, int=DEC)
 
+size_t print (double, int=2)
 
+size_t println (void)
 
+size_t println (__FlashStringHelper *)
 
+size_t println (ITA2String &)
 
+size_t println (const String &)
 
+size_t println (const char[])
 
+size_t println (char)
 
+size_t println (unsigned char, int=DEC)
 
+size_t println (int, int=DEC)
 
+size_t println (unsigned int, int=DEC)
 
+size_t println (long, int=DEC)
 
+size_t println (unsigned long, int=DEC)
 
+size_t println (double, int=2)
 
+

Detailed Description

+

Client for RTTY communication. The public interface is the same as Arduino Serial.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
RTTYClient::RTTYClient (PhysicalLayerphy)
+
+explicit
+
+ +

Constructor for 2-FSK mode.

+
Parameters
+ + +
phyPointer to the wireless module providing PhysicalLayer communication.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
RTTYClient::RTTYClient (AFSKClientaudio)
+
+explicit
+
+ +

Constructor for AFSK mode.

+
Parameters
+ + +
audioPointer to the AFSK instance providing audio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t RTTYClient::begin (float base,
uint32_t shift,
uint16_t rate,
uint8_t encoding = ASCII,
uint8_t stopBits = 1 
)
+
+ +

Initialization method.

+
Parameters
+ + + + + + +
baseBase (space) frequency to be used in MHz (in 2-FSK mode), or the space tone frequency in Hz (in AFSK mode)
shiftFrequency shift between mark and space in Hz.
rateBaud rate to be used during transmission.
encodingEncoding to be used. Defaults to ASCII.
stopBitsNumber of stop bits to be used.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/protocols/RTTY/RTTY.h
  • +
  • src/protocols/RTTY/RTTY.cpp
  • +
+
+
+ + + + diff --git a/class_r_t_t_y_client.js b/class_r_t_t_y_client.js new file mode 100644 index 00000000..8d111395 --- /dev/null +++ b/class_r_t_t_y_client.js @@ -0,0 +1,33 @@ +var class_r_t_t_y_client = +[ + [ "RTTYClient", "class_r_t_t_y_client.html#ae6bc08fa88457ee00a992448be1d63ea", null ], + [ "RTTYClient", "class_r_t_t_y_client.html#ab0e11944c2f1e2c60fc45bcd2db18570", null ], + [ "begin", "class_r_t_t_y_client.html#ad8856bc336b9a70f8239084740c22c10", null ], + [ "idle", "class_r_t_t_y_client.html#ac477e65ea756e56bb9043d778a51b4bc", null ], + [ "print", "class_r_t_t_y_client.html#ab31265a133757ae99b1fd6de074a1824", null ], + [ "print", "class_r_t_t_y_client.html#a7f45fcc2c241a95939d34560f5631664", null ], + [ "print", "class_r_t_t_y_client.html#a0b131a635864b56e8e4ed7450d69c593", null ], + [ "print", "class_r_t_t_y_client.html#a05633ffc5007424aaa97b55f9bb4832f", null ], + [ "print", "class_r_t_t_y_client.html#a5fc5f8235ec0a330ae602b162e09c8bb", null ], + [ "print", "class_r_t_t_y_client.html#a59962fb30c431d5e975cd82fcfb0b86d", null ], + [ "print", "class_r_t_t_y_client.html#ac6b22c13d227bca5ac80ce3fa855f75a", null ], + [ "print", "class_r_t_t_y_client.html#a3854b00703118c3f024eb032216b3d6d", null ], + [ "print", "class_r_t_t_y_client.html#a523a0617c3729989e18405096e5283d5", null ], + [ "print", "class_r_t_t_y_client.html#a4dc1637ed62069b787d27779c7a5982f", null ], + [ "print", "class_r_t_t_y_client.html#a7a2c72461356b6569a2076436a14d94b", null ], + [ "println", "class_r_t_t_y_client.html#ac5d60281fe24f0724ffd727034d2851d", null ], + [ "println", "class_r_t_t_y_client.html#a7201a35a28f1c43ab16c71b69153e232", null ], + [ "println", "class_r_t_t_y_client.html#a02feea7bcdeaee42f91507d34399777d", null ], + [ "println", "class_r_t_t_y_client.html#af51f7af5ca169a1dcfab604789b466dc", null ], + [ "println", "class_r_t_t_y_client.html#a7ec7cc1dd981198972a0d4ad031dd987", null ], + [ "println", "class_r_t_t_y_client.html#a9086c57441dc8712d940a0186e3c573e", null ], + [ "println", "class_r_t_t_y_client.html#a73281624d10f9c05810527f4762fdeb9", null ], + [ "println", "class_r_t_t_y_client.html#ac1ce7543eccd14a22865c1cb7b1bc69f", null ], + [ "println", "class_r_t_t_y_client.html#a56981a884b5d76d820493dddb7d605ec", null ], + [ "println", "class_r_t_t_y_client.html#a6c005f4bf067d1bfa6ef7793ffb25d16", null ], + [ "println", "class_r_t_t_y_client.html#a4cdfebbf555f3e02e650df8eef2386b8", null ], + [ "println", "class_r_t_t_y_client.html#ae4f9506d85cde12c8265d71b5088dec6", null ], + [ "write", "class_r_t_t_y_client.html#a094aa9c3506c0620d01e9c5e04a60e3e", null ], + [ "write", "class_r_t_t_y_client.html#a49169d8cf3b4121f6930a9c70e3dc9dc", null ], + [ "write", "class_r_t_t_y_client.html#a077a21423deee0393cead0b3a239691f", null ] +]; \ No newline at end of file diff --git a/class_s_s_t_v_client-members.html b/class_s_s_t_v_client-members.html new file mode 100644 index 00000000..956c3563 --- /dev/null +++ b/class_s_s_t_v_client-members.html @@ -0,0 +1,136 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SSTVClient Member List
+
+
+ +

This is the complete list of members for SSTVClient, including all inherited members.

+ + + + + + + + + +
begin(float base, const SSTVMode_t &mode, float correction=1.0)SSTVClient
begin(const SSTVMode_t &mode, float correction=1.0)SSTVClient
getPictureHeight() const SSTVClient
idle()SSTVClient
sendHeader()SSTVClient
sendLine(uint32_t *imgLine)SSTVClient
SSTVClient(PhysicalLayer *phy)SSTVClientexplicit
SSTVClient(AFSKClient *audio)SSTVClientexplicit
+
+ + + + diff --git a/class_s_s_t_v_client.html b/class_s_s_t_v_client.html new file mode 100644 index 00000000..59b406db --- /dev/null +++ b/class_s_s_t_v_client.html @@ -0,0 +1,357 @@ + + + + + + +RadioLib: SSTVClient Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SSTVClient Class Reference
+
+
+ +

Client for SSTV transmissions. + More...

+ +

#include <SSTV.h>

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

+Public Member Functions

 SSTVClient (PhysicalLayer *phy)
 Constructor for 2-FSK mode. More...
 
 SSTVClient (AFSKClient *audio)
 Constructor for AFSK mode. More...
 
int16_t begin (float base, const SSTVMode_t &mode, float correction=1.0)
 Initialization method for 2-FSK. More...
 
int16_t begin (const SSTVMode_t &mode, float correction=1.0)
 Initialization method for AFSK. More...
 
+void idle ()
 Sends out tone at 1900 Hz.
 
+void sendHeader ()
 Sends synchronization header for the SSTV mode set in begin method.
 
void sendLine (uint32_t *imgLine)
 Sends single picture line in the currently configured SSTV mode. More...
 
uint16_t getPictureHeight () const
 Get picture height of the currently configured SSTV mode. More...
 
+

Detailed Description

+

Client for SSTV transmissions.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
SSTVClient::SSTVClient (PhysicalLayerphy)
+
+explicit
+
+ +

Constructor for 2-FSK mode.

+
Parameters
+ + +
phyPointer to the wireless module providing PhysicalLayer communication.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
SSTVClient::SSTVClient (AFSKClientaudio)
+
+explicit
+
+ +

Constructor for AFSK mode.

+
Parameters
+ + +
audioPointer to the AFSK instance providing audio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SSTVClient::begin (float base,
const SSTVMode_tmode,
float correction = 1.0 
)
+
+ +

Initialization method for 2-FSK.

+
Parameters
+ + + + +
baseBase "0 Hz tone" RF frequency to be used in MHz.
modeSSTV mode to be used. Currently supported modes are Scottie1, Scottie2, ScottieDX, Martin1, Martin2, Wrasse, PasokonP3, PasokonP5 and PasokonP7.
correctionTiming correction factor, used to adjust the length of timing pulses. Less than 1.0 leads to shorter timing pulses, defaults to 1.0 (no correction).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SSTVClient::begin (const SSTVMode_tmode,
float correction = 1.0 
)
+
+ +

Initialization method for AFSK.

+
Parameters
+ + + +
modeSSTV mode to be used. Currently supported modes are Scottie1, Scottie2, ScottieDX, Martin1, Martin2, Wrasse, PasokonP3, PasokonP5 and PasokonP7.
correctionTiming correction factor, used to adjust the length of timing pulses. Less than 1.0 leads to shorter timing pulses, defaults to 1.0 (no correction).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
uint16_t SSTVClient::getPictureHeight () const
+
+ +

Get picture height of the currently configured SSTV mode.

+
Returns
Picture height of the currently configured SSTV mode in pixels.
+ +
+
+ +
+
+ + + + + + + + +
void SSTVClient::sendLine (uint32_t * imgLine)
+
+ +

Sends single picture line in the currently configured SSTV mode.

+
Parameters
+ + +
imgLineImage line to send, in 24-bit RGB. It is up to the user to ensure that imgLine has enough pixels to send it in the current SSTV mode.
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/protocols/SSTV/SSTV.h
  • +
  • src/protocols/SSTV/SSTV.cpp
  • +
+
+
+ + + + diff --git a/class_s_s_t_v_client.js b/class_s_s_t_v_client.js new file mode 100644 index 00000000..c812cad1 --- /dev/null +++ b/class_s_s_t_v_client.js @@ -0,0 +1,11 @@ +var class_s_s_t_v_client = +[ + [ "SSTVClient", "class_s_s_t_v_client.html#af15cf501c00172270d2d2c43d7a7100a", null ], + [ "SSTVClient", "class_s_s_t_v_client.html#a99e46bec8403dfc36b9e5b102b1f7cf1", null ], + [ "begin", "class_s_s_t_v_client.html#a3d85be3941250366eec2cd9a147a4f5c", null ], + [ "begin", "class_s_s_t_v_client.html#a8606cf73f86f6f1b29cea9ae9b46c81e", null ], + [ "getPictureHeight", "class_s_s_t_v_client.html#a89cd8bd7595737d90e59548b65f0fd5b", null ], + [ "idle", "class_s_s_t_v_client.html#a0126ac04934f589b8cb04a038c342044", null ], + [ "sendHeader", "class_s_s_t_v_client.html#a30741de183c81492402187b9d6d8c11e", null ], + [ "sendLine", "class_s_s_t_v_client.html#a772bfc68ac0a5f723c1031138dc27bd0", null ] +]; \ No newline at end of file diff --git a/class_s_x1231-members.html b/class_s_x1231-members.html new file mode 100644 index 00000000..0eeb8062 --- /dev/null +++ b/class_s_x1231-members.html @@ -0,0 +1,181 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1231 Member List
+
+
+ +

This is the complete list of members for SX1231, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(float freq=434.0, float br=48.0, float rxBw=125.0, float freqDev=50.0, int8_t power=10, uint8_t preambleLen=16)SX1231
clearDio0Action()RF69
clearDio1Action()RF69
disableAddressFiltering()RF69
disableAES()RF69
disableSyncWordFiltering()RF69
enableAES()RF69
enableSyncWordFiltering(uint8_t maxErrBits=0)RF69
fixedPacketLengthMode(uint8_t len=RF69_MAX_PACKET_LENGTH)RF69
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overrideRF69virtual
getRSSI()RF69
getTemperature()RF69
packetMode()RF69
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideRF69virtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideRF69virtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideRF69virtual
reset()RF69
RF69(Module *module)RF69
setAESKey(uint8_t *key)RF69
setAmbientTemperature(int16_t tempAmbient)RF69
setBitRate(float br)RF69
setBroadcastAddress(uint8_t broadAddr)RF69
setCrcFiltering(bool crcOn=true)RF69
setDataShaping(uint8_t sh) overrideRF69virtual
setDio0Action(void(*func)(void))RF69
setDio1Action(void(*func)(void))RF69
setEncoding(uint8_t encoding) overrideRF69virtual
setFrequency(float freq)RF69
setFrequencyDeviation(float freqDev) overrideRF69virtual
setNodeAddress(uint8_t nodeAddr)RF69
setOutputPower(int8_t power, bool highPower=false)RF69
setPreambleLength(uint8_t preambleLen)RF69
setPromiscuousMode(bool promiscuous=true)RF69
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)RF69
setRxBandwidth(float rxBw)RF69
setSyncWord(uint8_t *syncWord, size_t len, uint8_t maxErrBits=0)RF69
sleep()RF69
standby() overrideRF69virtual
startReceive()RF69
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideRF69virtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1231(Module *mod)SX1231
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideRF69virtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideRF69virtual
variablePacketLengthMode(uint8_t maxLen=RF69_MAX_PACKET_LENGTH)RF69
+
+ + + + diff --git a/class_s_x1231.html b/class_s_x1231.html new file mode 100644 index 00000000..e90723d6 --- /dev/null +++ b/class_s_x1231.html @@ -0,0 +1,412 @@ + + + + + + +RadioLib: SX1231 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX1231 Class Reference
+
+
+ +

Control class for SX1231 module. Overrides some methods from RF69 due to different register values. + More...

+ +

#include <SX1231.h>

+
+Inheritance diagram for SX1231:
+
+
+ + +RF69 +PhysicalLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX1231 (Module *mod)
 Default constructor. More...
 
int16_t begin (float freq=434.0, float br=48.0, float rxBw=125.0, float freqDev=50.0, int8_t power=10, uint8_t preambleLen=16)
 Initialization method. More...
 
- Public Member Functions inherited from RF69
 RF69 (Module *module)
 Default constructor. More...
 
int16_t begin (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint8_t preambleLen=16)
 Initialization method. More...
 
+void reset ()
 Reset method. Will reset the chip to the default state using RST pin.
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t sleep ()
 Sets the module to sleep mode. More...
 
int16_t standby () override
 Sets the module to standby mode. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Starts direct mode transmission. More...
 
int16_t receiveDirect () override
 Starts direct mode reception. More...
 
+int16_t packetMode ()
 Stops direct mode. It is required to call this method to switch from direct transmissions to packet-based transmissions.
 
void setAESKey (uint8_t *key)
 Sets AES key. More...
 
int16_t enableAES ()
 Enables AES encryption. More...
 
int16_t disableAES ()
 Disables AES encryption. More...
 
void setDio0Action (void(*func)(void))
 Sets interrupt service routine to call when DIO0 activates. More...
 
+void clearDio0Action ()
 Clears interrupt service routine to call when DIO0 activates.
 
void setDio1Action (void(*func)(void))
 Sets interrupt service routine to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t startReceive ()
 Interrupt-driven receive method. GDO0 will be activated when full packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data received after calling startReceive method. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values are in bands 290.0 to 340.0 MHz, 431.0 to 510.0 MHz and 862.0 to 1020.0 MHz. More...
 
int16_t setBitRate (float br)
 Sets bit rate. Allowed values range from 1.2 to 300.0 kbps. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets receiver bandwidth. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25.0, 31.3, 41.7, 50.0, 62.5, 83.3, 100.0, 125.0, 166.7, 200.0, 250.0, 333.3, 400.0 and 500.0 kHz. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets frequency deviation. More...
 
int16_t setOutputPower (int8_t power, bool highPower=false)
 Sets output power. Allowed values range from -18 to 13 dBm for low power modules (RF69C/CW) or -2 to 20 dBm (RF69H/HC/HCW). More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len, uint8_t maxErrBits=0)
 Sets sync word. Up to 8 bytes can be set as sync word. More...
 
int16_t setPreambleLength (uint8_t preambleLen)
 Sets preamble length. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets node address. Calling this method will also enable address filtering for node address only. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets broadcast address. Calling this method will also enable address filtering for node and broadcast address. More...
 
int16_t disableAddressFiltering ()
 Disables address filtering. Calling this method will also erase previously set addresses. More...
 
void setAmbientTemperature (int16_t tempAmbient)
 Sets ambient temperature. Required to correct values from on-board temperature sensor. More...
 
int16_t getTemperature ()
 Measures temperature. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=RF69_MAX_PACKET_LENGTH)
 Set modem in fixed packet length mode. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=RF69_MAX_PACKET_LENGTH)
 Set modem in variable packet length mode. More...
 
int16_t enableSyncWordFiltering (uint8_t maxErrBits=0)
 Enable sync word filtering and generation. More...
 
int16_t disableSyncWordFiltering ()
 Disable preamble and sync word filtering and generation. More...
 
int16_t setCrcFiltering (bool crcOn=true)
 Enable CRC filtering and generation. More...
 
int16_t setPromiscuousMode (bool promiscuous=true)
 Set modem in "sniff" mode: no packet filtering (e.g., no preamble, sync word, address, CRC). More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
float getRSSI ()
 Gets RSSI (Recorded Signal Strength Indicator) of the last received packet. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Control class for SX1231 module. Overrides some methods from RF69 due to different register values.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX1231::SX1231 (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1231::begin (float freq = 434.0,
float br = 48.0,
float rxBw = 125.0,
float freqDev = 50.0,
int8_t power = 10,
uint8_t preambleLen = 16 
)
+
+ +

Initialization method.

+
Parameters
+ + + + + + + +
freqCarrier frequency in MHz. Defaults to 434.0 MHz.
brBit rate to be used in kbps. Defaults to 48.0 kbps.
rxBwReceiver bandwidth in kHz. Defaults to 125.0 kHz.
freqDevFrequency deviation from carrier frequency in kHz Defaults to 50.0 kHz.
powerOutput power in dBm. Defaults to 10 dBm.
preambleLenPreamble Length in bits. Defaults to 16 bits.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX1231/SX1231.h
  • +
  • src/modules/SX1231/SX1231.cpp
  • +
+
+
+ + + + diff --git a/class_s_x1231.js b/class_s_x1231.js new file mode 100644 index 00000000..2366a3cf --- /dev/null +++ b/class_s_x1231.js @@ -0,0 +1,5 @@ +var class_s_x1231 = +[ + [ "SX1231", "class_s_x1231.html#a9f39cd41fa0c934fe871b6cbfa7ce269", null ], + [ "begin", "class_s_x1231.html#a20d6eb4b8f18fb7f8d02967937ec6f8e", null ] +]; \ No newline at end of file diff --git a/class_s_x1231.png b/class_s_x1231.png new file mode 100644 index 0000000000000000000000000000000000000000..a27f42ac79931d206268ad585a722a5e6717ebe9 GIT binary patch literal 588 zcmeAS@N?(olHy`uVBq!ia0vp^u|V9x!3-of#fawuDTx4|5ZC|z{{xvX-h3_XKQsZz z0^+nz3tAr*{o=f2KsHsEpdxAWffUwQr0 zX)HX8#q(D`^IGoNTP)ObI{(a>LkCneJGOXFI?jLd^xtB6)y%_sW!x2&ldc55?O#)M zaNoT{9&>#py%RQGx6a%A>~!_-Et{;i?Vs&%_1oc+Ws7%xe|g)f~ihPH=ldG z;ktNx_knGueQ&Z~_HkWgfA%G;=wRK}cfEfv-JCwj+SYj1HKm@$S@+i1{$3xK^&m+ zRUWgu`rP;1ws(&$R_lxWyLIz+v)ShbyV`Fz&wEw|=OvTkS*RziUpwsAuqW L^>bP0l+XkKQa~V| literal 0 HcmV?d00001 diff --git a/class_s_x1261-members.html b/class_s_x1261-members.html new file mode 100644 index 00000000..e0aba641 --- /dev/null +++ b/class_s_x1261-members.html @@ -0,0 +1,197 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1261 Member List
+
+
+ +

This is the complete list of members for SX1261, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
autoLDRO()SX126x
begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX126X_SYNC_WORD_PRIVATE, int8_t power=10, uint16_t preambleLength=8, float tcxoVoltage=1.6, bool useRegulatorLDO=false)SX1262
SX126x::begin(float bw, uint8_t sf, uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)SX126x
beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=156.2, int8_t power=10, uint16_t preambleLength=16, float tcxoVoltage=1.6, bool useRegulatorLDO=false)SX1262
SX126x::beginFSK(float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)SX126x
clearDio1Action()SX126x
disableAddressFiltering()SX126x
explicitHeader()SX126x
fixedPacketLengthMode(uint8_t len=SX126X_MAX_PACKET_LENGTH)SX126x
forceLDRO(bool enable)SX126x
getCurrentLimit()SX126x
getDataRate() const SX126x
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overrideSX126xvirtual
getRSSI()SX126x
getSNR()SX126x
getTimeOnAir(size_t len)SX126x
implicitHeader(size_t len)SX126x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX126xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX126xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX126xvirtual
reset(bool verify=true)SX126x
scanChannel()SX126x
setBandwidth(float bw)SX126x
setBitRate(float br)SX126x
setBroadcastAddress(uint8_t broadAddr)SX126x
setCodingRate(uint8_t cr)SX126x
setCRC(uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)SX126x
setCurrentLimit(float currentLimit)SX126x
setDataShaping(uint8_t sh) overrideSX126xvirtual
setDio1Action(void(*func)(void))SX126x
setDio2AsRfSwitch(bool enable=true)SX126x
setEncoding(uint8_t encoding) overrideSX126xvirtual
setFrequency(float freq, bool calibrate=true)SX1262
setFrequencyDeviation(float freqDev) overrideSX126xvirtual
setNodeAddress(uint8_t nodeAddr)SX126x
setOutputPower(int8_t power)SX1261
setPreambleLength(uint16_t preambleLength)SX126x
setRegulatorDCDC()SX126x
setRegulatorLDO()SX126x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX126x
setRxBandwidth(float rxBw)SX126x
setSpreadingFactor(uint8_t sf)SX126x
setSyncBits(uint8_t *syncWord, uint8_t bitsLen)SX126x
setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)SX126x
setSyncWord(uint8_t *syncWord, uint8_t len)SX126x
setTCXO(float voltage, uint32_t delay=5000)SX126x
setWhitening(bool enabled, uint16_t initial=0x0100)SX126x
sleep(bool retainConfig=true)SX126x
standby() overrideSX126xvirtual
standby(uint8_t mode)SX126x
startReceive(uint32_t timeout=SX126X_RX_TIMEOUT_INF)SX126x
startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod)SX126x
startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8)SX126x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1261(Module *mod)SX1261
SX1262(Module *mod)SX1262
SX126x(Module *mod)SX126x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX126xvirtual
variablePacketLengthMode(uint8_t maxLen=SX126X_MAX_PACKET_LENGTH)SX126x
+
+ + + + diff --git a/class_s_x1261.html b/class_s_x1261.html new file mode 100644 index 00000000..db905ea6 --- /dev/null +++ b/class_s_x1261.html @@ -0,0 +1,421 @@ + + + + + + +RadioLib: SX1261 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX1261 Class Reference
+
+
+ +

Derived class for SX1261 modules. + More...

+ +

#include <SX1261.h>

+
+Inheritance diagram for SX1261:
+
+
+ + +SX1262 +SX126x +PhysicalLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX1261 (Module *mod)
 Default constructor. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values are in range from -17 to 14 dBm. More...
 
- Public Member Functions inherited from SX1262
 SX1262 (Module *mod)
 Default constructor. More...
 
int16_t begin (float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX126X_SYNC_WORD_PRIVATE, int8_t power=10, uint16_t preambleLength=8, float tcxoVoltage=1.6, bool useRegulatorLDO=false)
 Initialization method for LoRa modem. More...
 
int16_t beginFSK (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=156.2, int8_t power=10, uint16_t preambleLength=16, float tcxoVoltage=1.6, bool useRegulatorLDO=false)
 Initialization method for FSK modem. More...
 
int16_t setFrequency (float freq, bool calibrate=true)
 Sets carrier frequency. Allowed values are in range from 150.0 to 960.0 MHz. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values are in range from -17 to 22 dBm. More...
 
- Public Member Functions inherited from SX126x
 SX126x (Module *mod)
 Default constructor. More...
 
int16_t begin (float bw, uint8_t sf, uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)
 Initialization method for LoRa modem. More...
 
int16_t beginFSK (float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)
 Initialization method for FSK modem. More...
 
int16_t reset (bool verify=true)
 Reset method. Will reset the chip to the default state using RST pin. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Starts direct mode transmission. More...
 
int16_t receiveDirect () override
 Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX126x series does not support direct mode reception. Will always return ERR_UNKNOWN. More...
 
int16_t scanChannel ()
 Performs scan for LoRa transmission in the current channel. Detects both preamble and payload. More...
 
int16_t sleep (bool retainConfig=true)
 Sets the module to sleep mode. More...
 
int16_t standby () override
 Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator). More...
 
int16_t standby (uint8_t mode)
 Sets the module to standby mode. More...
 
void setDio1Action (void(*func)(void))
 Sets interrupt service routine to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t startReceive (uint32_t timeout=SX126X_RX_TIMEOUT_INF)
 Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
 
int16_t startReceiveDutyCycle (uint32_t rxPeriod, uint32_t sleepPeriod)
 Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen. Note that this function assumes the unit will take 500us + TCXO_delay to change state. See datasheet section 13.1.7, version 1.2. More...
 
int16_t startReceiveDutyCycleAuto (uint16_t senderPreambleLength=0, uint16_t minSymbols=8)
 Calls startReceiveDutyCycle with rxPeriod and sleepPeriod set so the unit shouldn't miss any messages. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data received after calling startReceive method. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa bandwidth. Allowed values are 7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125.0, 250.0 and 500.0 kHz. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa spreading factor. Allowed values range from 5 to 12. More...
 
int16_t setCodingRate (uint8_t cr)
 Sets LoRa coding rate denominator. Allowed values range from 5 to 8. More...
 
int16_t setSyncWord (uint8_t syncWord, uint8_t controlBits=0x44)
 Sets LoRa sync word. More...
 
int16_t setCurrentLimit (float currentLimit)
 Sets current protection limit. Can be set in 0.25 mA steps. More...
 
float getCurrentLimit ()
 Reads current protection limit. More...
 
int16_t setPreambleLength (uint16_t preambleLength)
 Sets preamble length for LoRa or FSK modem. Allowed values range from 1 to 65535. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation. Allowed values range from 0.0 to 200.0 kHz. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 0.6 to 300.0 kbps. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets FSK receiver bandwidth. Allowed values are 4.8, 5.8, 7.3, 9.7, 11.7, 14.6, 19.5, 23.4, 29.3, 39.0, 46.9, 58.6, 78.2, 93.8, 117.3, 156.2, 187.2, 234.3, 312.0, 373.6 and 467.0 kHz. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5, RADIOLIB_SHAPING_0_7 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setSyncWord (uint8_t *syncWord, uint8_t len)
 Sets FSK sync word in the form of array of up to 8 bytes. More...
 
int16_t setSyncBits (uint8_t *syncWord, uint8_t bitsLen)
 Sets FSK sync word in the form of array of up to 8 bytes. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets node address. Calling this method will also enable address filtering for node address only. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets broadcast address. Calling this method will also enable address filtering for node and broadcast address. More...
 
int16_t disableAddressFiltering ()
 Disables address filtering. Calling this method will also erase previously set addresses. More...
 
int16_t setCRC (uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)
 Sets CRC configuration. More...
 
int16_t setWhitening (bool enabled, uint16_t initial=0x0100)
 Sets FSK whitening parameters. More...
 
int16_t setTCXO (float voltage, uint32_t delay=5000)
 Sets TCXO (Temperature Compensated Crystal Oscillator) configuration. More...
 
int16_t setDio2AsRfSwitch (bool enable=true)
 Set DIO2 to function as RF switch (default in Semtech example designs). More...
 
float getDataRate () const
 Gets effective data rate for the last transmitted packet. The value is calculated only for payload bytes. More...
 
float getRSSI ()
 Gets RSSI (Recorded Signal Strength Indicator) of the last received packet. More...
 
float getSNR ()
 Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=SX126X_MAX_PACKET_LENGTH)
 Set modem in fixed packet length mode. Available in FSK mode only. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=SX126X_MAX_PACKET_LENGTH)
 Set modem in variable packet length mode. Available in FSK mode only. More...
 
uint32_t getTimeOnAir (size_t len)
 Get expected time-on-air for a given size of payload. More...
 
int16_t implicitHeader (size_t len)
 Set implicit header mode for future reception/transmission. More...
 
int16_t explicitHeader ()
 Set explicit header mode for future reception/transmission. More...
 
int16_t setRegulatorLDO ()
 Set regulator mode to LDO. More...
 
int16_t setRegulatorDCDC ()
 Set regulator mode to DC-DC. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Available in FSK mode only. Serves only as alias for PhysicalLayer compatibility. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
int16_t forceLDRO (bool enable)
 Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO() More...
 
int16_t autoLDRO ()
 Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms. More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for SX1261 modules.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX1261::SX1261 (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
int16_t SX1261::setOutputPower (int8_t power)
+
+ +

Sets output power. Allowed values are in range from -17 to 14 dBm.

+
Parameters
+ + +
powerOutput power to be set in dBm.
+
+
+
Returns
Status Codes
+
Todo:
power ramp time configuration
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX126x/SX1261.h
  • +
  • src/modules/SX126x/SX1261.cpp
  • +
+
+
+ + + + diff --git a/class_s_x1261.js b/class_s_x1261.js new file mode 100644 index 00000000..2020e01a --- /dev/null +++ b/class_s_x1261.js @@ -0,0 +1,5 @@ +var class_s_x1261 = +[ + [ "SX1261", "class_s_x1261.html#a7d74b8684dd49b5b3ba23baf336f1c35", null ], + [ "setOutputPower", "class_s_x1261.html#aa541f927995a1756c651b93fd24edc65", null ] +]; \ No newline at end of file diff --git a/class_s_x1261.png b/class_s_x1261.png new file mode 100644 index 0000000000000000000000000000000000000000..457363b699d6dea6d7e0dfa642a618f0c43e9ae9 GIT binary patch literal 791 zcmeAS@N?(olHy`uVBq!ia0vp^u|Rx)gBeH$hR@FdQW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;WpwG|KR?4?@&{!jMb z@sp`Z<#5LHC2k>Gc@O1DN1ilJOG`|cB;s;Q_2gsuo9!=WRe9bj?676JXW{v3#kcab zyBnta&sb@Gx3S?}s73 zb*^vuqhYLn^ZlGv(eHzIh`c!ec2Y_I7Vk;!z|c~rnnUZ}sJuJ?c4*$h_bM+>7+3Fh zlFyoAztR3%RNDG-Qv>$$K+jh@?XLd)^R2Mzx=fpjY(<#y>pyu@Z^fzoJsbS?`>i>v zRCd;!sS5+TQtZVy6;Jk0^=^}FF6nv7#pjtDcQZZUb!#widiz*nCI43YCyl=%eurQ8 zxy2X*48DnF4EQuAX^+ZP0D$Z--ZY+xCC! t-!=E9+wb4~m9Jnj)UG>rJck92)`!Vh-j)Bc6_f=SJYD@<);T3K0RS%6jjjLy literal 0 HcmV?d00001 diff --git a/class_s_x1262-members.html b/class_s_x1262-members.html new file mode 100644 index 00000000..952d3722 --- /dev/null +++ b/class_s_x1262-members.html @@ -0,0 +1,196 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1262 Member List
+
+
+ +

This is the complete list of members for SX1262, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
autoLDRO()SX126x
begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX126X_SYNC_WORD_PRIVATE, int8_t power=10, uint16_t preambleLength=8, float tcxoVoltage=1.6, bool useRegulatorLDO=false)SX1262
SX126x::begin(float bw, uint8_t sf, uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)SX126x
beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=156.2, int8_t power=10, uint16_t preambleLength=16, float tcxoVoltage=1.6, bool useRegulatorLDO=false)SX1262
SX126x::beginFSK(float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)SX126x
clearDio1Action()SX126x
disableAddressFiltering()SX126x
explicitHeader()SX126x
fixedPacketLengthMode(uint8_t len=SX126X_MAX_PACKET_LENGTH)SX126x
forceLDRO(bool enable)SX126x
getCurrentLimit()SX126x
getDataRate() const SX126x
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overrideSX126xvirtual
getRSSI()SX126x
getSNR()SX126x
getTimeOnAir(size_t len)SX126x
implicitHeader(size_t len)SX126x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX126xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX126xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX126xvirtual
reset(bool verify=true)SX126x
scanChannel()SX126x
setBandwidth(float bw)SX126x
setBitRate(float br)SX126x
setBroadcastAddress(uint8_t broadAddr)SX126x
setCodingRate(uint8_t cr)SX126x
setCRC(uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)SX126x
setCurrentLimit(float currentLimit)SX126x
setDataShaping(uint8_t sh) overrideSX126xvirtual
setDio1Action(void(*func)(void))SX126x
setDio2AsRfSwitch(bool enable=true)SX126x
setEncoding(uint8_t encoding) overrideSX126xvirtual
setFrequency(float freq, bool calibrate=true)SX1262
setFrequencyDeviation(float freqDev) overrideSX126xvirtual
setNodeAddress(uint8_t nodeAddr)SX126x
setOutputPower(int8_t power)SX1262
setPreambleLength(uint16_t preambleLength)SX126x
setRegulatorDCDC()SX126x
setRegulatorLDO()SX126x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX126x
setRxBandwidth(float rxBw)SX126x
setSpreadingFactor(uint8_t sf)SX126x
setSyncBits(uint8_t *syncWord, uint8_t bitsLen)SX126x
setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)SX126x
setSyncWord(uint8_t *syncWord, uint8_t len)SX126x
setTCXO(float voltage, uint32_t delay=5000)SX126x
setWhitening(bool enabled, uint16_t initial=0x0100)SX126x
sleep(bool retainConfig=true)SX126x
standby() overrideSX126xvirtual
standby(uint8_t mode)SX126x
startReceive(uint32_t timeout=SX126X_RX_TIMEOUT_INF)SX126x
startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod)SX126x
startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8)SX126x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1262(Module *mod)SX1262
SX126x(Module *mod)SX126x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX126xvirtual
variablePacketLengthMode(uint8_t maxLen=SX126X_MAX_PACKET_LENGTH)SX126x
+
+ + + + diff --git a/class_s_x1262.html b/class_s_x1262.html new file mode 100644 index 00000000..cd556219 --- /dev/null +++ b/class_s_x1262.html @@ -0,0 +1,617 @@ + + + + + + +RadioLib: SX1262 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX1262 Class Reference
+
+
+ +

Derived class for SX1262 modules. + More...

+ +

#include <SX1262.h>

+
+Inheritance diagram for SX1262:
+
+
+ + +SX126x +PhysicalLayer +SX1261 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX1262 (Module *mod)
 Default constructor. More...
 
int16_t begin (float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX126X_SYNC_WORD_PRIVATE, int8_t power=10, uint16_t preambleLength=8, float tcxoVoltage=1.6, bool useRegulatorLDO=false)
 Initialization method for LoRa modem. More...
 
int16_t beginFSK (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=156.2, int8_t power=10, uint16_t preambleLength=16, float tcxoVoltage=1.6, bool useRegulatorLDO=false)
 Initialization method for FSK modem. More...
 
int16_t setFrequency (float freq, bool calibrate=true)
 Sets carrier frequency. Allowed values are in range from 150.0 to 960.0 MHz. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values are in range from -17 to 22 dBm. More...
 
- Public Member Functions inherited from SX126x
 SX126x (Module *mod)
 Default constructor. More...
 
int16_t begin (float bw, uint8_t sf, uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)
 Initialization method for LoRa modem. More...
 
int16_t beginFSK (float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)
 Initialization method for FSK modem. More...
 
int16_t reset (bool verify=true)
 Reset method. Will reset the chip to the default state using RST pin. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Starts direct mode transmission. More...
 
int16_t receiveDirect () override
 Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX126x series does not support direct mode reception. Will always return ERR_UNKNOWN. More...
 
int16_t scanChannel ()
 Performs scan for LoRa transmission in the current channel. Detects both preamble and payload. More...
 
int16_t sleep (bool retainConfig=true)
 Sets the module to sleep mode. More...
 
int16_t standby () override
 Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator). More...
 
int16_t standby (uint8_t mode)
 Sets the module to standby mode. More...
 
void setDio1Action (void(*func)(void))
 Sets interrupt service routine to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t startReceive (uint32_t timeout=SX126X_RX_TIMEOUT_INF)
 Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
 
int16_t startReceiveDutyCycle (uint32_t rxPeriod, uint32_t sleepPeriod)
 Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen. Note that this function assumes the unit will take 500us + TCXO_delay to change state. See datasheet section 13.1.7, version 1.2. More...
 
int16_t startReceiveDutyCycleAuto (uint16_t senderPreambleLength=0, uint16_t minSymbols=8)
 Calls startReceiveDutyCycle with rxPeriod and sleepPeriod set so the unit shouldn't miss any messages. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data received after calling startReceive method. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa bandwidth. Allowed values are 7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125.0, 250.0 and 500.0 kHz. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa spreading factor. Allowed values range from 5 to 12. More...
 
int16_t setCodingRate (uint8_t cr)
 Sets LoRa coding rate denominator. Allowed values range from 5 to 8. More...
 
int16_t setSyncWord (uint8_t syncWord, uint8_t controlBits=0x44)
 Sets LoRa sync word. More...
 
int16_t setCurrentLimit (float currentLimit)
 Sets current protection limit. Can be set in 0.25 mA steps. More...
 
float getCurrentLimit ()
 Reads current protection limit. More...
 
int16_t setPreambleLength (uint16_t preambleLength)
 Sets preamble length for LoRa or FSK modem. Allowed values range from 1 to 65535. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation. Allowed values range from 0.0 to 200.0 kHz. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 0.6 to 300.0 kbps. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets FSK receiver bandwidth. Allowed values are 4.8, 5.8, 7.3, 9.7, 11.7, 14.6, 19.5, 23.4, 29.3, 39.0, 46.9, 58.6, 78.2, 93.8, 117.3, 156.2, 187.2, 234.3, 312.0, 373.6 and 467.0 kHz. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5, RADIOLIB_SHAPING_0_7 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setSyncWord (uint8_t *syncWord, uint8_t len)
 Sets FSK sync word in the form of array of up to 8 bytes. More...
 
int16_t setSyncBits (uint8_t *syncWord, uint8_t bitsLen)
 Sets FSK sync word in the form of array of up to 8 bytes. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets node address. Calling this method will also enable address filtering for node address only. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets broadcast address. Calling this method will also enable address filtering for node and broadcast address. More...
 
int16_t disableAddressFiltering ()
 Disables address filtering. Calling this method will also erase previously set addresses. More...
 
int16_t setCRC (uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)
 Sets CRC configuration. More...
 
int16_t setWhitening (bool enabled, uint16_t initial=0x0100)
 Sets FSK whitening parameters. More...
 
int16_t setTCXO (float voltage, uint32_t delay=5000)
 Sets TCXO (Temperature Compensated Crystal Oscillator) configuration. More...
 
int16_t setDio2AsRfSwitch (bool enable=true)
 Set DIO2 to function as RF switch (default in Semtech example designs). More...
 
float getDataRate () const
 Gets effective data rate for the last transmitted packet. The value is calculated only for payload bytes. More...
 
float getRSSI ()
 Gets RSSI (Recorded Signal Strength Indicator) of the last received packet. More...
 
float getSNR ()
 Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=SX126X_MAX_PACKET_LENGTH)
 Set modem in fixed packet length mode. Available in FSK mode only. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=SX126X_MAX_PACKET_LENGTH)
 Set modem in variable packet length mode. Available in FSK mode only. More...
 
uint32_t getTimeOnAir (size_t len)
 Get expected time-on-air for a given size of payload. More...
 
int16_t implicitHeader (size_t len)
 Set implicit header mode for future reception/transmission. More...
 
int16_t explicitHeader ()
 Set explicit header mode for future reception/transmission. More...
 
int16_t setRegulatorLDO ()
 Set regulator mode to LDO. More...
 
int16_t setRegulatorDCDC ()
 Set regulator mode to DC-DC. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Available in FSK mode only. Serves only as alias for PhysicalLayer compatibility. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
int16_t forceLDRO (bool enable)
 Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO() More...
 
int16_t autoLDRO ()
 Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms. More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for SX1262 modules.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX1262::SX1262 (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1262::begin (float freq = 434.0,
float bw = 125.0,
uint8_t sf = 9,
uint8_t cr = 7,
uint8_t syncWord = SX126X_SYNC_WORD_PRIVATE,
int8_t power = 10,
uint16_t preambleLength = 8,
float tcxoVoltage = 1.6,
bool useRegulatorLDO = false 
)
+
+ +

Initialization method for LoRa modem.

+
Parameters
+ + + + + + + + + +
freqCarrier frequency in MHz. Defaults to 434.0 MHz.
bwLoRa bandwidth in kHz. Defaults to 125.0 kHz.
sfLoRa spreading factor. Defaults to 9.
crLoRa coding rate denominator. Defaults to 7 (coding rate 4/7).
syncWord2-byte LoRa sync word. Defaults to SX126X_SYNC_WORD_PRIVATE (0x12).
powerOutput power in dBm. Defaults to 10 dBm.
preambleLengthLoRa preamble length in symbols. Defaults to 8 symbols.
tcxoVoltageTCXO reference voltage to be set on DIO3. Defaults to 1.6 V, set to 0 to skip.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1262::beginFSK (float freq = 434.0,
float br = 48.0,
float freqDev = 50.0,
float rxBw = 156.2,
int8_t power = 10,
uint16_t preambleLength = 16,
float tcxoVoltage = 1.6,
bool useRegulatorLDO = false 
)
+
+ +

Initialization method for FSK modem.

+
Parameters
+ + + + + + +
freqCarrier frequency in MHz. Defaults to 434.0 MHz.
brFSK bit rate in kbps. Defaults to 48.0 kbps.
freqDevFrequency deviation from carrier frequency in kHz. Defaults to 50.0 kHz.
rxBwReceiver bandwidth in kHz. Defaults to 156.2 kHz.
powerOutput power in dBm. Defaults to 10 dBm.
+
+
+

preambleLength FSK preamble length in bits. Defaults to 16 bits.

+
Parameters
+ + + +
tcxoVoltageTCXO reference voltage to be set on DIO3. Defaults to 1.6 V, set to 0 to skip.
useRegulatorLDOWhether to use only LDO regulator (true) or DC-DC regulator (false). Defaults to false.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX1262::setFrequency (float freq,
bool calibrate = true 
)
+
+ +

Sets carrier frequency. Allowed values are in range from 150.0 to 960.0 MHz.

+
Parameters
+ + + +
freqCarrier frequency to be set in MHz.
calibrateRun image calibration.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1262::setOutputPower (int8_t power)
+
+ +

Sets output power. Allowed values are in range from -17 to 22 dBm.

+
Parameters
+ + +
powerOutput power to be set in dBm.
+
+
+
Returns
Status Codes
+
Todo:
power ramp time configuration
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX126x/SX1262.h
  • +
  • src/modules/SX126x/SX1262.cpp
  • +
+
+
+ + + + diff --git a/class_s_x1262.js b/class_s_x1262.js new file mode 100644 index 00000000..fa049409 --- /dev/null +++ b/class_s_x1262.js @@ -0,0 +1,8 @@ +var class_s_x1262 = +[ + [ "SX1262", "class_s_x1262.html#a0da317728ec8ef23c5032d550c9acb8d", null ], + [ "begin", "class_s_x1262.html#abb79631385e5bc3ed5b39fe33b80cc2b", null ], + [ "beginFSK", "class_s_x1262.html#ac1da6cc500564bc257031527cc54c80b", null ], + [ "setFrequency", "class_s_x1262.html#a7e72da22fa1fc2d87186107a3285e846", null ], + [ "setOutputPower", "class_s_x1262.html#aa149463283dc9cddfec836ec6620d4dc", null ] +]; \ No newline at end of file diff --git a/class_s_x1262.png b/class_s_x1262.png new file mode 100644 index 0000000000000000000000000000000000000000..dee8ac37e6e91ceea170b541688f4d388630459d GIT binary patch literal 798 zcmeAS@N?(olHy`uVBq!ia0vp^u|Rx)gBeH$hR@FdQW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;E9;p+U)YBv9vEX@&9kSKEIDINq16 z%lgmxbLC(6CqMahJoV!9%#FL59&oxf7&yIsEU}V*>-{HTEOJolyzh#iiWdHEPy9~(>mcI*jFUzacI4hEG$qW%eAfPx%wIQt zTfc7R7UmrY=XqE+xZh&50lNI-^f!kMcoGd5SU`R_fAhKX{5Bot*KcL+l`^pFy*U~l zQOaG*Uhrhz-q?lwrk~?B-v72sK7_frK%Di(PP?mr|9mT~x-P?Zpt0I?^SSq7E8nJG zns0NpZvEMnOgn1M)P=o2J^y~#g4@Ce8vo2^`~bA~`1ITDi4uz#Dw+fpdIEl1xV>_I zYhJm)?%KbrrjyGUrlSNS)Sdq(-97WB(9L-B@q;Rw9YDVxfBxq1+gZDwE;I?=^YYpP z71gC+s)du9G=ZC*=zMJh?wBwx5%>DPS9+0U~H}2iPb=sWV-}N`+p1}gM z`gVP;{p# + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1268 Member List
+
+
+ +

This is the complete list of members for SX1268, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
autoLDRO()SX126x
begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX126X_SYNC_WORD_PRIVATE, int8_t power=10, uint16_t preambleLength=8, float tcxoVoltage=1.6, bool useRegulatorLDO=false)SX1268
SX126x::begin(float bw, uint8_t sf, uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)SX126x
beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=156.2, int8_t power=10, uint16_t preambleLength=16, float tcxoVoltage=1.6, bool useRegulatorLDO=false)SX1268
SX126x::beginFSK(float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)SX126x
clearDio1Action()SX126x
disableAddressFiltering()SX126x
explicitHeader()SX126x
fixedPacketLengthMode(uint8_t len=SX126X_MAX_PACKET_LENGTH)SX126x
forceLDRO(bool enable)SX126x
getCurrentLimit()SX126x
getDataRate() const SX126x
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overrideSX126xvirtual
getRSSI()SX126x
getSNR()SX126x
getTimeOnAir(size_t len)SX126x
implicitHeader(size_t len)SX126x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX126xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX126xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX126xvirtual
reset(bool verify=true)SX126x
scanChannel()SX126x
setBandwidth(float bw)SX126x
setBitRate(float br)SX126x
setBroadcastAddress(uint8_t broadAddr)SX126x
setCodingRate(uint8_t cr)SX126x
setCRC(uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)SX126x
setCurrentLimit(float currentLimit)SX126x
setDataShaping(uint8_t sh) overrideSX126xvirtual
setDio1Action(void(*func)(void))SX126x
setDio2AsRfSwitch(bool enable=true)SX126x
setEncoding(uint8_t encoding) overrideSX126xvirtual
setFrequency(float freq, bool calibrate=true)SX1268
setFrequencyDeviation(float freqDev) overrideSX126xvirtual
setNodeAddress(uint8_t nodeAddr)SX126x
setOutputPower(int8_t power)SX1268
setPreambleLength(uint16_t preambleLength)SX126x
setRegulatorDCDC()SX126x
setRegulatorLDO()SX126x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX126x
setRxBandwidth(float rxBw)SX126x
setSpreadingFactor(uint8_t sf)SX126x
setSyncBits(uint8_t *syncWord, uint8_t bitsLen)SX126x
setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)SX126x
setSyncWord(uint8_t *syncWord, uint8_t len)SX126x
setTCXO(float voltage, uint32_t delay=5000)SX126x
setWhitening(bool enabled, uint16_t initial=0x0100)SX126x
sleep(bool retainConfig=true)SX126x
standby() overrideSX126xvirtual
standby(uint8_t mode)SX126x
startReceive(uint32_t timeout=SX126X_RX_TIMEOUT_INF)SX126x
startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod)SX126x
startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8)SX126x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1268(Module *mod)SX1268
SX126x(Module *mod)SX126x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX126xvirtual
variablePacketLengthMode(uint8_t maxLen=SX126X_MAX_PACKET_LENGTH)SX126x
+
+ + + + diff --git a/class_s_x1268.html b/class_s_x1268.html new file mode 100644 index 00000000..c3ba501b --- /dev/null +++ b/class_s_x1268.html @@ -0,0 +1,617 @@ + + + + + + +RadioLib: SX1268 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX1268 Class Reference
+
+
+ +

Derived class for SX1268 modules. + More...

+ +

#include <SX1268.h>

+
+Inheritance diagram for SX1268:
+
+
+ + +SX126x +PhysicalLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX1268 (Module *mod)
 Default constructor. More...
 
int16_t begin (float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX126X_SYNC_WORD_PRIVATE, int8_t power=10, uint16_t preambleLength=8, float tcxoVoltage=1.6, bool useRegulatorLDO=false)
 Initialization method for LoRa modem. More...
 
int16_t beginFSK (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=156.2, int8_t power=10, uint16_t preambleLength=16, float tcxoVoltage=1.6, bool useRegulatorLDO=false)
 Initialization method for FSK modem. More...
 
int16_t setFrequency (float freq, bool calibrate=true)
 Sets carrier frequency. Allowed values are in range from 410.0 to 810.0 MHz. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values are in range from -9 to 22 dBm. More...
 
- Public Member Functions inherited from SX126x
 SX126x (Module *mod)
 Default constructor. More...
 
int16_t begin (float bw, uint8_t sf, uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)
 Initialization method for LoRa modem. More...
 
int16_t beginFSK (float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)
 Initialization method for FSK modem. More...
 
int16_t reset (bool verify=true)
 Reset method. Will reset the chip to the default state using RST pin. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Starts direct mode transmission. More...
 
int16_t receiveDirect () override
 Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX126x series does not support direct mode reception. Will always return ERR_UNKNOWN. More...
 
int16_t scanChannel ()
 Performs scan for LoRa transmission in the current channel. Detects both preamble and payload. More...
 
int16_t sleep (bool retainConfig=true)
 Sets the module to sleep mode. More...
 
int16_t standby () override
 Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator). More...
 
int16_t standby (uint8_t mode)
 Sets the module to standby mode. More...
 
void setDio1Action (void(*func)(void))
 Sets interrupt service routine to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t startReceive (uint32_t timeout=SX126X_RX_TIMEOUT_INF)
 Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
 
int16_t startReceiveDutyCycle (uint32_t rxPeriod, uint32_t sleepPeriod)
 Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen. Note that this function assumes the unit will take 500us + TCXO_delay to change state. See datasheet section 13.1.7, version 1.2. More...
 
int16_t startReceiveDutyCycleAuto (uint16_t senderPreambleLength=0, uint16_t minSymbols=8)
 Calls startReceiveDutyCycle with rxPeriod and sleepPeriod set so the unit shouldn't miss any messages. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data received after calling startReceive method. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa bandwidth. Allowed values are 7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125.0, 250.0 and 500.0 kHz. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa spreading factor. Allowed values range from 5 to 12. More...
 
int16_t setCodingRate (uint8_t cr)
 Sets LoRa coding rate denominator. Allowed values range from 5 to 8. More...
 
int16_t setSyncWord (uint8_t syncWord, uint8_t controlBits=0x44)
 Sets LoRa sync word. More...
 
int16_t setCurrentLimit (float currentLimit)
 Sets current protection limit. Can be set in 0.25 mA steps. More...
 
float getCurrentLimit ()
 Reads current protection limit. More...
 
int16_t setPreambleLength (uint16_t preambleLength)
 Sets preamble length for LoRa or FSK modem. Allowed values range from 1 to 65535. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation. Allowed values range from 0.0 to 200.0 kHz. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 0.6 to 300.0 kbps. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets FSK receiver bandwidth. Allowed values are 4.8, 5.8, 7.3, 9.7, 11.7, 14.6, 19.5, 23.4, 29.3, 39.0, 46.9, 58.6, 78.2, 93.8, 117.3, 156.2, 187.2, 234.3, 312.0, 373.6 and 467.0 kHz. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5, RADIOLIB_SHAPING_0_7 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setSyncWord (uint8_t *syncWord, uint8_t len)
 Sets FSK sync word in the form of array of up to 8 bytes. More...
 
int16_t setSyncBits (uint8_t *syncWord, uint8_t bitsLen)
 Sets FSK sync word in the form of array of up to 8 bytes. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets node address. Calling this method will also enable address filtering for node address only. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets broadcast address. Calling this method will also enable address filtering for node and broadcast address. More...
 
int16_t disableAddressFiltering ()
 Disables address filtering. Calling this method will also erase previously set addresses. More...
 
int16_t setCRC (uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)
 Sets CRC configuration. More...
 
int16_t setWhitening (bool enabled, uint16_t initial=0x0100)
 Sets FSK whitening parameters. More...
 
int16_t setTCXO (float voltage, uint32_t delay=5000)
 Sets TCXO (Temperature Compensated Crystal Oscillator) configuration. More...
 
int16_t setDio2AsRfSwitch (bool enable=true)
 Set DIO2 to function as RF switch (default in Semtech example designs). More...
 
float getDataRate () const
 Gets effective data rate for the last transmitted packet. The value is calculated only for payload bytes. More...
 
float getRSSI ()
 Gets RSSI (Recorded Signal Strength Indicator) of the last received packet. More...
 
float getSNR ()
 Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=SX126X_MAX_PACKET_LENGTH)
 Set modem in fixed packet length mode. Available in FSK mode only. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=SX126X_MAX_PACKET_LENGTH)
 Set modem in variable packet length mode. Available in FSK mode only. More...
 
uint32_t getTimeOnAir (size_t len)
 Get expected time-on-air for a given size of payload. More...
 
int16_t implicitHeader (size_t len)
 Set implicit header mode for future reception/transmission. More...
 
int16_t explicitHeader ()
 Set explicit header mode for future reception/transmission. More...
 
int16_t setRegulatorLDO ()
 Set regulator mode to LDO. More...
 
int16_t setRegulatorDCDC ()
 Set regulator mode to DC-DC. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Available in FSK mode only. Serves only as alias for PhysicalLayer compatibility. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
int16_t forceLDRO (bool enable)
 Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO() More...
 
int16_t autoLDRO ()
 Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms. More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for SX1268 modules.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX1268::SX1268 (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1268::begin (float freq = 434.0,
float bw = 125.0,
uint8_t sf = 9,
uint8_t cr = 7,
uint8_t syncWord = SX126X_SYNC_WORD_PRIVATE,
int8_t power = 10,
uint16_t preambleLength = 8,
float tcxoVoltage = 1.6,
bool useRegulatorLDO = false 
)
+
+ +

Initialization method for LoRa modem.

+
Parameters
+ + + + + + + + + +
freqCarrier frequency in MHz. Defaults to 434.0 MHz.
bwLoRa bandwidth in kHz. Defaults to 125.0 kHz.
sfLoRa spreading factor. Defaults to 9.
crLoRa coding rate denominator. Defaults to 7 (coding rate 4/7).
syncWord2-byte LoRa sync word. Defaults to SX126X_SYNC_WORD_PRIVATE (0x12).
powerOutput power in dBm. Defaults to 10 dBm.
preambleLengthLoRa preamble length in symbols. Defaults to 8 symbols.
tcxoVoltageTCXO reference voltage to be set on DIO3. Defaults to 1.6 V, set to 0 to skip.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1268::beginFSK (float freq = 434.0,
float br = 48.0,
float freqDev = 50.0,
float rxBw = 156.2,
int8_t power = 10,
uint16_t preambleLength = 16,
float tcxoVoltage = 1.6,
bool useRegulatorLDO = false 
)
+
+ +

Initialization method for FSK modem.

+
Parameters
+ + + + + + +
freqCarrier frequency in MHz. Defaults to 434.0 MHz.
brFSK bit rate in kbps. Defaults to 48.0 kbps.
freqDevFrequency deviation from carrier frequency in kHz. Defaults to 50.0 kHz.
rxBwReceiver bandwidth in kHz. Defaults to 156.2 kHz.
powerOutput power in dBm. Defaults to 10 dBm.
+
+
+

preambleLength FSK preamble length in bits. Defaults to 16 bits.

+
Parameters
+ + + +
tcxoVoltageTCXO reference voltage to be set on DIO3. Defaults to 1.6 V, set to 0 to skip.
useRegulatorLDOWhether to use only LDO regulator (true) or DC-DC regulator (false). Defaults to false.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX1268::setFrequency (float freq,
bool calibrate = true 
)
+
+ +

Sets carrier frequency. Allowed values are in range from 410.0 to 810.0 MHz.

+
Parameters
+ + + +
freqCarrier frequency to be set in MHz.
calibrateRun image calibration.
+
+
+
Returns
Status Codes
+
Todo:
integers only (all modules - frequency, data rate, bandwidth etc.)
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1268::setOutputPower (int8_t power)
+
+ +

Sets output power. Allowed values are in range from -9 to 22 dBm.

+
Parameters
+ + +
powerOutput power to be set in dBm.
+
+
+
Returns
Status Codes
+
Todo:
power ramp time configuration
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX126x/SX1268.h
  • +
  • src/modules/SX126x/SX1268.cpp
  • +
+
+
+ + + + diff --git a/class_s_x1268.js b/class_s_x1268.js new file mode 100644 index 00000000..82fc703d --- /dev/null +++ b/class_s_x1268.js @@ -0,0 +1,8 @@ +var class_s_x1268 = +[ + [ "SX1268", "class_s_x1268.html#a6bc50597d50fd9a2387628e452eac42f", null ], + [ "begin", "class_s_x1268.html#a19554c257984c0806ae95ee209dfa296", null ], + [ "beginFSK", "class_s_x1268.html#a6523b6928ee5ed26e205b07ee4f07b60", null ], + [ "setFrequency", "class_s_x1268.html#a6ad998275281de5c6f24f8a64db88052", null ], + [ "setOutputPower", "class_s_x1268.html#a5b0744aa46fbb4f8c738b010dfcc9b45", null ] +]; \ No newline at end of file diff --git a/class_s_x1268.png b/class_s_x1268.png new file mode 100644 index 0000000000000000000000000000000000000000..73c1025549c052fd273595d47281e48d4005b0ee GIT binary patch literal 623 zcmeAS@N?(olHy`uVBq!ia0vp^u|V9x!3-of#fawuDTx4|5ZC|z{{xvX-h3_XKQsZz z0^f1WOmAr*{o=icsH?7+ji+TZ)ne|7!q z`x+EgddkhE+_h#|EX&}VSE=@V&RqrXNy3TKRl4`5_+L(sQq4TR&`fNNo#(3+-^$lj zCFu7X1p80xTf5=rYvJv&ug|;xE=nzZv){aR)!XT*{^>ivzx}OXRsFd*+kEoNH`zk% z3RTtNH~Npw-0M;<<`N%qJNhK=@4I)Tf3Mw}KT+D)c(xZu@xpE9*W>=Ky(jfT{O$5@ z^C!%|RqrDAzftw%lhbc4pTA)}AkD*&x8qj(!Ql5<@=yD!;(v#q_qoC7bBHfNu#BO5 z19L=+>;a`W3}T7w8-DnHn^RoYtmEm|5<5xf-(1_?`I(XXrW_8*7xT1wd?>D__3EyG zd>v1-^>5zF{<`#VqDtoRQlq0==UqJ%lQYk0QeVvet7q>=oo?G+qW7rM)cEz}^756( z*}ol*ejB`QW6hK^y1yrH&pP)zM34E`&e%!w1j{@(aqL!!+;O}3+)eHVa|wn!1zY)> zm*2Z;cS`o_zHjU2&D_8|1K~an>ju{wj5=hmmJ09lwYpUx1W0+g4_O6SKEg6_P7(8A5T-G@y GGywn+eJ=k1 literal 0 HcmV?d00001 diff --git a/class_s_x126x-members.html b/class_s_x126x-members.html new file mode 100644 index 00000000..b30cf865 --- /dev/null +++ b/class_s_x126x-members.html @@ -0,0 +1,191 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX126x Member List
+
+
+ +

This is the complete list of members for SX126x, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
autoLDRO()SX126x
begin(float bw, uint8_t sf, uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)SX126x
beginFSK(float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)SX126x
clearDio1Action()SX126x
disableAddressFiltering()SX126x
explicitHeader()SX126x
fixedPacketLengthMode(uint8_t len=SX126X_MAX_PACKET_LENGTH)SX126x
forceLDRO(bool enable)SX126x
getCurrentLimit()SX126x
getDataRate() const SX126x
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overrideSX126xvirtual
getRSSI()SX126x
getSNR()SX126x
getTimeOnAir(size_t len)SX126x
implicitHeader(size_t len)SX126x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX126xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX126xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX126xvirtual
reset(bool verify=true)SX126x
scanChannel()SX126x
setBandwidth(float bw)SX126x
setBitRate(float br)SX126x
setBroadcastAddress(uint8_t broadAddr)SX126x
setCodingRate(uint8_t cr)SX126x
setCRC(uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)SX126x
setCurrentLimit(float currentLimit)SX126x
setDataShaping(uint8_t sh) overrideSX126xvirtual
setDio1Action(void(*func)(void))SX126x
setDio2AsRfSwitch(bool enable=true)SX126x
setEncoding(uint8_t encoding) overrideSX126xvirtual
setFrequencyDeviation(float freqDev) overrideSX126xvirtual
setNodeAddress(uint8_t nodeAddr)SX126x
setPreambleLength(uint16_t preambleLength)SX126x
setRegulatorDCDC()SX126x
setRegulatorLDO()SX126x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX126x
setRxBandwidth(float rxBw)SX126x
setSpreadingFactor(uint8_t sf)SX126x
setSyncBits(uint8_t *syncWord, uint8_t bitsLen)SX126x
setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)SX126x
setSyncWord(uint8_t *syncWord, uint8_t len)SX126x
setTCXO(float voltage, uint32_t delay=5000)SX126x
setWhitening(bool enabled, uint16_t initial=0x0100)SX126x
sleep(bool retainConfig=true)SX126x
standby() overrideSX126xvirtual
standby(uint8_t mode)SX126x
startReceive(uint32_t timeout=SX126X_RX_TIMEOUT_INF)SX126x
startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod)SX126x
startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8)SX126x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX126x(Module *mod)SX126x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX126xvirtual
variablePacketLengthMode(uint8_t maxLen=SX126X_MAX_PACKET_LENGTH)SX126x
+
+ + + + diff --git a/class_s_x126x.html b/class_s_x126x.html new file mode 100644 index 00000000..b5a42323 --- /dev/null +++ b/class_s_x126x.html @@ -0,0 +1,1946 @@ + + + + + + +RadioLib: SX126x Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX126x Class Reference
+
+
+ +

Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes. + More...

+ +

#include <SX126x.h>

+
+Inheritance diagram for SX126x:
+
+
+ + +PhysicalLayer +SX1262 +SX1268 +SX1261 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX126x (Module *mod)
 Default constructor. More...
 
int16_t begin (float bw, uint8_t sf, uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)
 Initialization method for LoRa modem. More...
 
int16_t beginFSK (float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)
 Initialization method for FSK modem. More...
 
int16_t reset (bool verify=true)
 Reset method. Will reset the chip to the default state using RST pin. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Starts direct mode transmission. More...
 
int16_t receiveDirect () override
 Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX126x series does not support direct mode reception. Will always return ERR_UNKNOWN. More...
 
int16_t scanChannel ()
 Performs scan for LoRa transmission in the current channel. Detects both preamble and payload. More...
 
int16_t sleep (bool retainConfig=true)
 Sets the module to sleep mode. More...
 
int16_t standby () override
 Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator). More...
 
int16_t standby (uint8_t mode)
 Sets the module to standby mode. More...
 
void setDio1Action (void(*func)(void))
 Sets interrupt service routine to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t startReceive (uint32_t timeout=SX126X_RX_TIMEOUT_INF)
 Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
 
int16_t startReceiveDutyCycle (uint32_t rxPeriod, uint32_t sleepPeriod)
 Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen. Note that this function assumes the unit will take 500us + TCXO_delay to change state. See datasheet section 13.1.7, version 1.2. More...
 
int16_t startReceiveDutyCycleAuto (uint16_t senderPreambleLength=0, uint16_t minSymbols=8)
 Calls startReceiveDutyCycle with rxPeriod and sleepPeriod set so the unit shouldn't miss any messages. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data received after calling startReceive method. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa bandwidth. Allowed values are 7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125.0, 250.0 and 500.0 kHz. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa spreading factor. Allowed values range from 5 to 12. More...
 
int16_t setCodingRate (uint8_t cr)
 Sets LoRa coding rate denominator. Allowed values range from 5 to 8. More...
 
int16_t setSyncWord (uint8_t syncWord, uint8_t controlBits=0x44)
 Sets LoRa sync word. More...
 
int16_t setCurrentLimit (float currentLimit)
 Sets current protection limit. Can be set in 0.25 mA steps. More...
 
float getCurrentLimit ()
 Reads current protection limit. More...
 
int16_t setPreambleLength (uint16_t preambleLength)
 Sets preamble length for LoRa or FSK modem. Allowed values range from 1 to 65535. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation. Allowed values range from 0.0 to 200.0 kHz. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 0.6 to 300.0 kbps. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets FSK receiver bandwidth. Allowed values are 4.8, 5.8, 7.3, 9.7, 11.7, 14.6, 19.5, 23.4, 29.3, 39.0, 46.9, 58.6, 78.2, 93.8, 117.3, 156.2, 187.2, 234.3, 312.0, 373.6 and 467.0 kHz. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5, RADIOLIB_SHAPING_0_7 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setSyncWord (uint8_t *syncWord, uint8_t len)
 Sets FSK sync word in the form of array of up to 8 bytes. More...
 
int16_t setSyncBits (uint8_t *syncWord, uint8_t bitsLen)
 Sets FSK sync word in the form of array of up to 8 bytes. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets node address. Calling this method will also enable address filtering for node address only. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets broadcast address. Calling this method will also enable address filtering for node and broadcast address. More...
 
int16_t disableAddressFiltering ()
 Disables address filtering. Calling this method will also erase previously set addresses. More...
 
int16_t setCRC (uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)
 Sets CRC configuration. More...
 
int16_t setWhitening (bool enabled, uint16_t initial=0x0100)
 Sets FSK whitening parameters. More...
 
int16_t setTCXO (float voltage, uint32_t delay=5000)
 Sets TCXO (Temperature Compensated Crystal Oscillator) configuration. More...
 
int16_t setDio2AsRfSwitch (bool enable=true)
 Set DIO2 to function as RF switch (default in Semtech example designs). More...
 
float getDataRate () const
 Gets effective data rate for the last transmitted packet. The value is calculated only for payload bytes. More...
 
float getRSSI ()
 Gets RSSI (Recorded Signal Strength Indicator) of the last received packet. More...
 
float getSNR ()
 Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=SX126X_MAX_PACKET_LENGTH)
 Set modem in fixed packet length mode. Available in FSK mode only. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=SX126X_MAX_PACKET_LENGTH)
 Set modem in variable packet length mode. Available in FSK mode only. More...
 
uint32_t getTimeOnAir (size_t len)
 Get expected time-on-air for a given size of payload. More...
 
int16_t implicitHeader (size_t len)
 Set implicit header mode for future reception/transmission. More...
 
int16_t explicitHeader ()
 Set explicit header mode for future reception/transmission. More...
 
int16_t setRegulatorLDO ()
 Set regulator mode to LDO. More...
 
int16_t setRegulatorDCDC ()
 Set regulator mode to DC-DC. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Available in FSK mode only. Serves only as alias for PhysicalLayer compatibility. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
int16_t forceLDRO (bool enable)
 Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO() More...
 
int16_t autoLDRO ()
 Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms. More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX126x::SX126x (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
int16_t SX126x::autoLDRO ()
+
+ +

Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX126x::begin (float bw,
uint8_t sf,
uint8_t cr,
uint8_t syncWord,
uint16_t preambleLength,
float tcxoVoltage,
bool useRegulatorLDO = false 
)
+
+ +

Initialization method for LoRa modem.

+
Parameters
+ + + + + + + + +
bwLoRa bandwidth in kHz. Allowed values are 7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125.0, 250.0 and 500.0 kHz.
sfLoRa spreading factor. Allowed values are in range 5 to 12.
crLoRa coding rate denominator. Allowed values range from 5 to 8.
syncWord1-byte LoRa sync word.
preambleLengthLoRa preamble length in symbols. Allowed values range from 1 to 65535.
tcxoVoltageTCXO reference voltage to be set on DIO3. Defaults to 1.6 V, set to 0 to skip.
useRegulatorLDOuse the LDO instead of DC-DC converter (default false). This is necessary for some modules such as the LAMBDA from RF solutions.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX126x::beginFSK (float br,
float freqDev,
float rxBw,
uint16_t preambleLength,
float tcxoVoltage,
bool useRegulatorLDO = false 
)
+
+ +

Initialization method for FSK modem.

+
Parameters
+ + + + + + + +
brFSK bit rate in kbps. Allowed values range from 0.6 to 300.0 kbps.
freqDevFrequency deviation from carrier frequency in kHz. Allowed values range from 0.0 to 200.0 kHz.
rxBwReceiver bandwidth in kHz. Allowed values are 4.8, 5.8, 7.3, 9.7, 11.7, 14.6, 19.5, 23.4, 29.3, 39.0, 46.9, 58.6, 78.2, 93.8, 117.3, 156.2, 187.2, 234.3, 312.0, 373.6 and 467.0 kHz.
preambleLengthFSK preamble length in bits. Allowed values range from 0 to 65535.
tcxoVoltageTCXO reference voltage to be set on DIO3. Defaults to 1.6 V, set to 0 to skip.
useRegulatorLDOuse the LDO instead of DC-DC converter (default false). This is necessary for some modules such as the LAMBDA from RF solutions.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t SX126x::disableAddressFiltering ()
+
+ +

Disables address filtering. Calling this method will also erase previously set addresses.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t SX126x::explicitHeader ()
+
+ +

Set explicit header mode for future reception/transmission.

+
Parameters
+ + +
lenPayload length in bytes.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::fixedPacketLengthMode (uint8_t len = SX126X_MAX_PACKET_LENGTH)
+
+ +

Set modem in fixed packet length mode. Available in FSK mode only.

+
Parameters
+ + +
lenPacket length.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::forceLDRO (bool enable)
+
+ +

Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO()

+
Parameters
+ + +
enableForce LDRO to be always enabled (true) or disabled (false).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
float SX126x::getCurrentLimit ()
+
+ +

Reads current protection limit.

+
Returns
Currently configured overcurrent protection limit in mA.
+ +
+
+ +
+
+ + + + + + + +
float SX126x::getDataRate () const
+
+ +

Gets effective data rate for the last transmitted packet. The value is calculated only for payload bytes.

+
Returns
Effective data rate in bps.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
size_t SX126x::getPacketLength (bool update = true)
+
+overridevirtual
+
+ +

Query modem for the packet length of received payload.

+
Parameters
+ + +
updateUpdate received packet length. Will return cached value when set to false.
+
+
+
Returns
Length of last received packet in bytes.
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + +
float SX126x::getRSSI ()
+
+ +

Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.

+
Returns
RSSI of the last received packet in dBm.
+ +
+
+ +
+
+ + + + + + + +
float SX126x::getSNR ()
+
+ +

Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem.

+
Returns
SNR of the last received packet in dB.
+ +
+
+ +
+
+ + + + + + + + +
uint32_t SX126x::getTimeOnAir (size_t len)
+
+ +

Get expected time-on-air for a given size of payload.

+
Parameters
+ + +
lenPayload length in bytes.
+
+
+
Returns
Expected time-on-air in microseconds.
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::implicitHeader (size_t len)
+
+ +

Set implicit header mode for future reception/transmission.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t SX126x::readData (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Reads data received after calling startReceive method.

+
Parameters
+ + + +
dataPointer to array to save the received binary data.
lenNumber of bytes that will be received. Must be known in advance for binary transmissions.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t SX126x::receive (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + +
dataBinary data to be sent.
lenNumber of bytes to send.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t SX126x::receiveDirect ()
+
+overridevirtual
+
+ +

Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX126x series does not support direct mode reception. Will always return ERR_UNKNOWN.

+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::reset (bool verify = true)
+
+ +

Reset method. Will reset the chip to the default state using RST pin.

+
Parameters
+ + +
verifyWhether correct module startup should be verified. When set to true, RadioLib will attempt to verify the module has started correctly by repeatedly issuing setStandby command. Enabled by default.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t SX126x::scanChannel ()
+
+ +

Performs scan for LoRa transmission in the current channel. Detects both preamble and payload.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::setBandwidth (float bw)
+
+ +

Sets LoRa bandwidth. Allowed values are 7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125.0, 250.0 and 500.0 kHz.

+
Parameters
+ + +
bwLoRa bandwidth to be set in kHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::setBitRate (float br)
+
+ +

Sets FSK bit rate. Allowed values range from 0.6 to 300.0 kbps.

+
Parameters
+ + +
brFSK bit rate to be set in kbps.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::setBroadcastAddress (uint8_t broadAddr)
+
+ +

Sets broadcast address. Calling this method will also enable address filtering for node and broadcast address.

+
Parameters
+ + +
broadAddrNode address to be set.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::setCodingRate (uint8_t cr)
+
+ +

Sets LoRa coding rate denominator. Allowed values range from 5 to 8.

+
Parameters
+ + +
crLoRa coding rate denominator to be set.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX126x::setCRC (uint8_t len,
uint16_t initial = 0x1D0F,
uint16_t polynomial = 0x1021,
bool inverted = true 
)
+
+ +

Sets CRC configuration.

+
Parameters
+ + + + + +
lenCRC length in bytes, Allowed values are 1 or 2, set to 0 to disable CRC.
initialInitial CRC value. FSK only. Defaults to 0x1D0F (CCIT CRC).
polynomialPolynomial for CRC calculation. FSK only. Defaults to 0x1021 (CCIT CRC).
invertedInvert CRC bytes. FSK only. Defaults to true (CCIT CRC).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::setCurrentLimit (float currentLimit)
+
+ +

Sets current protection limit. Can be set in 0.25 mA steps.

+
Parameters
+ + +
currentLimitcurrent protection limit to be set in mA.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t SX126x::setDataShaping (uint8_t sh)
+
+overridevirtual
+
+ +

Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5, RADIOLIB_SHAPING_0_7 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping.

+
Parameters
+ + +
shTime-bandwidth product of Gaussian filter to be set.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
void SX126x::setDio1Action (void(*)(void) func)
+
+ +

Sets interrupt service routine to call when DIO1 activates.

+
Parameters
+ + +
funcISR to call.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::setDio2AsRfSwitch (bool enable = true)
+
+ +

Set DIO2 to function as RF switch (default in Semtech example designs).

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t SX126x::setEncoding (uint8_t encoding)
+
+overridevirtual
+
+ +

Sets transmission encoding. Available in FSK mode only. Serves only as alias for PhysicalLayer compatibility.

+
Parameters
+ + +
encodingEncoding to be used. Set to 0 for NRZ, and 2 for whitening.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t SX126x::setFrequencyDeviation (float freqDev)
+
+overridevirtual
+
+ +

Sets FSK frequency deviation. Allowed values range from 0.0 to 200.0 kHz.

+
Parameters
+ + +
freqDevFSK frequency deviation to be set in kHz.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::setNodeAddress (uint8_t nodeAddr)
+
+ +

Sets node address. Calling this method will also enable address filtering for node address only.

+
Parameters
+ + +
nodeAddrNode address to be set.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::setPreambleLength (uint16_t preambleLength)
+
+ +

Sets preamble length for LoRa or FSK modem. Allowed values range from 1 to 65535.

+
Parameters
+ + +
preambleLengthPreamble length to be set in symbols (LoRa) or bits (FSK).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t SX126x::setRegulatorDCDC ()
+
+ +

Set regulator mode to DC-DC.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t SX126x::setRegulatorLDO ()
+
+ +

Set regulator mode to LDO.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void SX126x::setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn,
RADIOLIB_PIN_TYPE txEn 
)
+
+ +

Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch!

+
Parameters
+ + + +
rxEnRX enable pin.
txEnTX enable pin.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::setRxBandwidth (float rxBw)
+
+ +

Sets FSK receiver bandwidth. Allowed values are 4.8, 5.8, 7.3, 9.7, 11.7, 14.6, 19.5, 23.4, 29.3, 39.0, 46.9, 58.6, 78.2, 93.8, 117.3, 156.2, 187.2, 234.3, 312.0, 373.6 and 467.0 kHz.

+
Parameters
+ + +
FSKreceiver bandwidth to be set in kHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::setSpreadingFactor (uint8_t sf)
+
+ +

Sets LoRa spreading factor. Allowed values range from 5 to 12.

+
Parameters
+ + +
sfLoRa spreading factor to be set.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX126x::setSyncBits (uint8_t * syncWord,
uint8_t bitsLen 
)
+
+ +

Sets FSK sync word in the form of array of up to 8 bytes.

+
Parameters
+ + + +
syncWordFSK sync word to be set.
bitsLenFSK sync word length in bits. If length is not divisible by 8, least significant bits of syncWord will be ignored.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX126x::setSyncWord (uint8_t syncWord,
uint8_t controlBits = 0x44 
)
+
+ +

Sets LoRa sync word.

+
Parameters
+ + + +
syncWordLoRa sync word to be set.
controlBitsUndocumented control bits, required for compatibility purposes.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX126x::setSyncWord (uint8_t * syncWord,
uint8_t len 
)
+
+ +

Sets FSK sync word in the form of array of up to 8 bytes.

+
Parameters
+ + + +
syncWordFSK sync word to be set.
lenFSK sync word length in bytes.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX126x::setTCXO (float voltage,
uint32_t delay = 5000 
)
+
+ +

Sets TCXO (Temperature Compensated Crystal Oscillator) configuration.

+
Parameters
+ + + +
TCXOreference voltage in volts. Allowed values are 1.6, 1.7, 1.8, 2.2. 2.4, 2.7, 3.0 and 3.3 V
TCXOtimeout in us. Defaults to 5000 us.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX126x::setWhitening (bool enabled,
uint16_t initial = 0x0100 
)
+
+ +

Sets FSK whitening parameters.

+
Parameters
+ + + +
enabledTrue = Whitening enabled
initialInitial value used for the whitening LFSR in FSK mode. Defaults to 0x0100, use 0x01FF for SX127x compatibility.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::sleep (bool retainConfig = true)
+
+ +

Sets the module to sleep mode.

+
Parameters
+ + +
retainConfigSet to true to retain configuration of the currently active modem ("warm start") or to false to discard current configuration ("cold start"). Defaults to true.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t SX126x::standby ()
+
+overridevirtual
+
+ +

Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator).

+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::standby (uint8_t mode)
+
+ +

Sets the module to standby mode.

+
Parameters
+ + +
modeOscillator to be used in standby mode. Can be set to SX126X_STANDBY_RC (13 MHz RC oscillator) or SX126X_STANDBY_XOSC (32 MHz external crystal oscillator).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::startReceive (uint32_t timeout = SX126X_RX_TIMEOUT_INF)
+
+ +

Interrupt-driven receive method. DIO1 will be activated when full packet is received.

+
Parameters
+ + +
timeoutRaw timeout value, expressed as multiples of 15.625 us. Defaults to SX126X_RX_TIMEOUT_INF for infinite timeout (Rx continuous mode), set to SX126X_RX_TIMEOUT_NONE for no timeout (Rx single mode).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX126x::startReceiveDutyCycle (uint32_t rxPeriod,
uint32_t sleepPeriod 
)
+
+ +

Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen. Note that this function assumes the unit will take 500us + TCXO_delay to change state. See datasheet section 13.1.7, version 1.2.

+
Parameters
+ + + +
rxPeriodThe duration the receiver will be in Rx mode, in microseconds.
sleepPeriodThe duration the receiver will not be in Rx mode, in microseconds.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX126x::startReceiveDutyCycleAuto (uint16_t senderPreambleLength = 0,
uint16_t minSymbols = 8 
)
+
+ +

Calls startReceiveDutyCycle with rxPeriod and sleepPeriod set so the unit shouldn't miss any messages.

+
Parameters
+ + + +
senderPreambleLengthExpected preamble length of the messages to receive. If set to zero, the currently configured preamble length will be used. Defaults to zero.
minSymbolsParameters will be chosen to ensure that the unit will catch at least this many symbols of any preamble of the specified length. Defaults to 8. According to Semtech, receiver requires 8 symbols to reliably latch a preamble. This makes this method redundant when transmitter preamble length is less than 17 (2*minSymbols + 1).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX126x::startTransmit (uint8_t * data,
size_t len,
uint8_t addr = 0 
)
+
+overridevirtual
+
+ +

Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + + +
dataBinary data to be sent.
lenNumber of bytes to send.
addrAddress to send the data to. Will only be added if address filtering was enabled.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX126x::transmit (uint8_t * data,
size_t len,
uint8_t addr = 0 
)
+
+overridevirtual
+
+ +

Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + + +
dataBinary data to be sent.
lenNumber of bytes to send.
addrAddress to send the data to. Will only be added if address filtering was enabled.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t SX126x::transmitDirect (uint32_t frf = 0)
+
+overridevirtual
+
+ +

Starts direct mode transmission.

+
Parameters
+ + +
frfRaw RF frequency value. Defaults to 0, required for quick frequency shifts in RTTY.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t SX126x::variablePacketLengthMode (uint8_t maxLen = SX126X_MAX_PACKET_LENGTH)
+
+ +

Set modem in variable packet length mode. Available in FSK mode only.

+
Parameters
+ + +
lenMaximum packet length.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX126x/SX126x.h
  • +
  • src/modules/SX126x/SX126x.cpp
  • +
+
+
+ + + + diff --git a/class_s_x126x.js b/class_s_x126x.js new file mode 100644 index 00000000..0ea20428 --- /dev/null +++ b/class_s_x126x.js @@ -0,0 +1,57 @@ +var class_s_x126x = +[ + [ "SX126x", "class_s_x126x.html#aaca5a8fa8a3e634dd1b5b4c2bb5058d8", null ], + [ "autoLDRO", "class_s_x126x.html#ab9ce38cfeaa36ddcc2d82b2974d7088c", null ], + [ "begin", "class_s_x126x.html#a1b97488c6887df2e0291bba1b852605e", null ], + [ "beginFSK", "class_s_x126x.html#a2e500e5b6044ccab8f6b19af4ffa917c", null ], + [ "clearDio1Action", "class_s_x126x.html#a6848afe4c16a47edb3e0b342a86ecdfd", null ], + [ "disableAddressFiltering", "class_s_x126x.html#afc3a7a42c401b6c44e00cb6c5b9696f2", null ], + [ "explicitHeader", "class_s_x126x.html#a3765f534418d4e0540c179621c019138", null ], + [ "fixedPacketLengthMode", "class_s_x126x.html#aa768ce757a0f7ee66cdd72cab7a855fa", null ], + [ "forceLDRO", "class_s_x126x.html#a420c23bb1861646e29f44c0f4c646ee8", null ], + [ "getCurrentLimit", "class_s_x126x.html#aa668babb0bd129b2facee9fd280525ab", null ], + [ "getDataRate", "class_s_x126x.html#a247211d5d88d501effc4c886adccaec5", null ], + [ "getPacketLength", "class_s_x126x.html#ac4ef8c8751a3c09d64e431684840c987", null ], + [ "getRSSI", "class_s_x126x.html#a0e5f0032a91686b9673a48c908eb1925", null ], + [ "getSNR", "class_s_x126x.html#ae36823d3539667bdf7d2f073bd4fa1ca", null ], + [ "getTimeOnAir", "class_s_x126x.html#a7e342ddbef84cf845bef8f4448b8da10", null ], + [ "implicitHeader", "class_s_x126x.html#adec09cba71494bd927ad1da786606ca6", null ], + [ "readData", "class_s_x126x.html#a3350cbfab628956c1a456383ac7bb2b2", null ], + [ "receive", "class_s_x126x.html#ae3db6b29c482d94eef8a43cd8b5751c0", null ], + [ "receiveDirect", "class_s_x126x.html#a8a18aee2bf05793aa29b5cf6b47bb435", null ], + [ "reset", "class_s_x126x.html#a9aa6dd05dd32ef717a06cc8ba28ff71f", null ], + [ "scanChannel", "class_s_x126x.html#ae9f24414bd684434c310df54b3558f21", null ], + [ "setBandwidth", "class_s_x126x.html#a2f60df59c80241d98ce078c0417a7f08", null ], + [ "setBitRate", "class_s_x126x.html#a7deeef45d7f64a4018a3e56aaea4eb0e", null ], + [ "setBroadcastAddress", "class_s_x126x.html#abd8eea7e468db3d6064c19d4934d5034", null ], + [ "setCodingRate", "class_s_x126x.html#afd3113858966e878e9c67a1e710bd586", null ], + [ "setCRC", "class_s_x126x.html#a95007639c2648a1dbb614493224606f1", null ], + [ "setCurrentLimit", "class_s_x126x.html#a8f971dca834be7e0470a9a9f0c01854e", null ], + [ "setDataShaping", "class_s_x126x.html#a1d8f4deb555844b24c2426dd86e69676", null ], + [ "setDio1Action", "class_s_x126x.html#a0da667fe702d7b4aafaa4bf7e69ea40d", null ], + [ "setDio2AsRfSwitch", "class_s_x126x.html#ae46e08d579f4acbad029b4cd4f4fffaf", null ], + [ "setEncoding", "class_s_x126x.html#a2b3eb51117558c58384b03de4b7bfe60", null ], + [ "setFrequencyDeviation", "class_s_x126x.html#a7cd95a5f2e39ae8fb1a3040e77fa21a3", null ], + [ "setNodeAddress", "class_s_x126x.html#a514cabe74bbe3434d7e4f244c4077752", null ], + [ "setPreambleLength", "class_s_x126x.html#ab00f765bbfbfaa8c693532ea3a90c29b", null ], + [ "setRegulatorDCDC", "class_s_x126x.html#a5ae69309ca0cf5f13c60f2d162916ff8", null ], + [ "setRegulatorLDO", "class_s_x126x.html#a21c263ce1a339faa74c568d9afb81cd2", null ], + [ "setRfSwitchPins", "class_s_x126x.html#a288257242e483cb3eb6944333179dd26", null ], + [ "setRxBandwidth", "class_s_x126x.html#a59d443c02d4620cda32c63a00c6bcc22", null ], + [ "setSpreadingFactor", "class_s_x126x.html#ae5993359ace652fbdc862eb23fdd263d", null ], + [ "setSyncBits", "class_s_x126x.html#ac594fbb30c5010658c970a64654c7162", null ], + [ "setSyncWord", "class_s_x126x.html#a9d92dce566f8aefa836fe8f332e9560f", null ], + [ "setSyncWord", "class_s_x126x.html#a38e6d7831f35893a5b8328c10a2901bf", null ], + [ "setTCXO", "class_s_x126x.html#a57bee6f4b3a3b7ec646ac8de347ee0d6", null ], + [ "setWhitening", "class_s_x126x.html#a67702de41ae866b9f9d73234fc9ae376", null ], + [ "sleep", "class_s_x126x.html#afb5509f0705cdd971065251ed6b2fb4e", null ], + [ "standby", "class_s_x126x.html#a7a1579e2557c36a4a34b09039c0d0c71", null ], + [ "standby", "class_s_x126x.html#ad7569396f09f3867dc1bd4d4a0613acd", null ], + [ "startReceive", "class_s_x126x.html#a5052dc09f4b10ee22e169129f368685f", null ], + [ "startReceiveDutyCycle", "class_s_x126x.html#adc46b6adda2d0e82e25ed1fc78274136", null ], + [ "startReceiveDutyCycleAuto", "class_s_x126x.html#a6b50cb78f02a3d93939437eb48489d3f", null ], + [ "startTransmit", "class_s_x126x.html#ab843614658a79db7aa24e48d5b6e84f1", null ], + [ "transmit", "class_s_x126x.html#aab18364237ddac0c56aeaf63f08cf009", null ], + [ "transmitDirect", "class_s_x126x.html#a921aa8afb8d33b2660731c1f8d67664b", null ], + [ "variablePacketLengthMode", "class_s_x126x.html#aa11ab2c6f4488daf2ece93288e05c504", null ] +]; \ No newline at end of file diff --git a/class_s_x126x.png b/class_s_x126x.png new file mode 100644 index 0000000000000000000000000000000000000000..84c4e00dc8742f5aebb39e17ac1d3a9e47859d4a GIT binary patch literal 1060 zcmeAS@N?(olHy`uVBq!ia0vp^M}YVM2Q!e&d1>Phq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0H+#A`hEy=Vo%{CEY6Tv)>*~h${;ST9 z5?#1$&ll(3c_nGC%B^eI{&0WLOG}&0xPe{GQ(91nVQou`N+<_sLzr4;-VffjDz+QC z?lPVKlLp^G}u#jtQ#WbB@XTTdMIY`8{f< z*2t}1KH)^(b0PO>!HR}c&#$WT>Qwr$!&*jX;;CPuU#B##thVcr@4RL@(X*mT_;XRk zChNPxep8G2b?$EdZ}lU|yq4qNi@GgG^kw>{{pdXW@u`aEeIX>LojGI1d_dmzz|Eaa zF8AXPJmL~EZ~q(}GRh7S%N3>6A03^oEn400Tt4E(6l zH`>;{-gTDYMzgLu7tqg6ObeVm7`A+>T9jEWX?>^v^2;5sO>*pxdoS4{9Q;YSTmC@t z9FHeTsTp6J7~~29{Z^hX*~aqj;G4M&YYI1RNbj}z`Q^v+Nvn7sq?FG(wRA#c-#^tb z?%gqr-nx}~%hfuCb>1w$->EpKEatlq!+mgIvpBR)V8~EaVbE$}anO#vUOJocLBHIC zH!+Tj-s>k6vUbis{8Lv?QE<0#13#*-{><6;{+E#BWS{JukUE5t_6`P*Kq{)X8bmtsQ$@%762ot(eH? zTyxjsQkPn1ywB&NFD7wGQh7^qR5E?LkN7WJ*+1`mK-(t8{nLLG&+=Ez>sRTW%Da`v z^8Wu_bE200+%RX;$IpSmtY`XPetoc(dw1fj{`)Rr8;|Oo-e~p3diUk|mut4FoeKG^ zKEGGb)Bk5i;{G|$_D`+Y+Q|PfReR2QmCU2&_dAPb>5FYsscml72a@g{9zoJDCvtFl zuG%!eW#-MW6re|<89%U5CGy#fHNWjnz4hdDUHZ%(`4vJb#4&EV + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1272 Member List
+
+
+ +

This is the complete list of members for SX1272, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
autoLDRO()SX1272
begin(float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)SX1272
SX127x::begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)SX127x
beginFSK(float freq=915.0, float br=48.0, float rxBw=125.0, float freqDev=50.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)SX1272
SX127x::beginFSK(uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)SX127x
clearDio0Action()SX127x
clearDio1Action()SX127x
disableAddressFiltering()SX127x
fixedPacketLengthMode(uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
forceLDRO(bool enable)SX1272
getDataRate() const SX127x
getFreqStep() const PhysicalLayer
getFrequencyError(bool autoCorrect=false)SX127x
getIRQFlags()SX127x
getModemStatus()SX127x
getPacketLength(bool update=true) overrideSX127xvirtual
getRSSI()SX1272
getSNR()SX127x
getTempRaw()SX127x
packetMode()SX127x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX127xvirtual
reset() overrideSX1272virtual
scanChannel()SX127x
setBandwidth(float bw)SX1272
setBitRate(float br)SX127x
setBroadcastAddress(uint8_t broadAddr)SX127x
setCodingRate(uint8_t cr)SX1272
setCRC(bool enableCRC)SX1272
setCurrentLimit(uint8_t currentLimit)SX127x
setDataShaping(uint8_t sh) overrideSX1272virtual
setDataShapingOOK(uint8_t sh)SX1272
setDio0Action(void(*func)(void))SX127x
setDio1Action(void(*func)(void))SX127x
setEncoding(uint8_t encoding) overrideSX127xvirtual
setFrequency(float freq)SX1272
setFrequencyDeviation(float freqDev) overrideSX127xvirtual
setGain(uint8_t gain)SX1272
setNodeAddress(uint8_t nodeAddr)SX127x
setOOK(bool enableOOK)SX127x
setOutputPower(int8_t power)SX1272
setPreambleLength(uint16_t preambleLength)SX127x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX127x
setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)SX127x
setRxBandwidth(float rxBw)SX127x
setSpreadingFactor(uint8_t sf)SX1272
setSyncWord(uint8_t syncWord)SX127x
setSyncWord(uint8_t *syncWord, size_t len)SX127x
sleep()SX127x
standby() overrideSX127xvirtual
startReceive(uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)SX127x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1272(Module *mod)SX1272
SX127x(Module *mod)SX127x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX127xvirtual
variablePacketLengthMode(uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
+
+ + + + diff --git a/class_s_x1272.html b/class_s_x1272.html new file mode 100644 index 00000000..250ec4dd --- /dev/null +++ b/class_s_x1272.html @@ -0,0 +1,829 @@ + + + + + + +RadioLib: SX1272 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX1272 Class Reference
+
+
+ +

Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic hardware and only differ in parameter ranges. + More...

+ +

#include <SX1272.h>

+
+Inheritance diagram for SX1272:
+
+
+ + +SX127x +PhysicalLayer +SX1273 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX1272 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t beginFSK (float freq=915.0, float br=48.0, float rxBw=125.0, float freqDev=50.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
 FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
+void reset () override
 Reset method. Will reset the chip to the default state using RST pin.
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 860.0 MHz to 1020.0 MHz. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa link bandwidth. Allowed values are 125, 250 and 500 kHz. Only available in LoRa mode. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode. More...
 
int16_t setCodingRate (uint8_t cr)
 Sets LoRa link coding rate denominator. Allowed values range from 5 to 8. Only available in LoRa mode. More...
 
int16_t setOutputPower (int8_t power)
 Sets transmission output power. Allowed values range from 2 to 17 dBm. More...
 
int16_t setGain (uint8_t gain)
 Sets gain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended). Only available in LoRa mode. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setDataShapingOOK (uint8_t sh)
 Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency equal to bit rate and 2 for frequency equal to 2x bit rate. Set to 0 to disable data shaping. Only available in FSK mode with OOK modulation. More...
 
float getRSSI ()
 Gets recorded signal strength indicator of the latest received packet for LoRa modem, or current RSSI level for FSK modem. More...
 
int16_t setCRC (bool enableCRC)
 Enables/disables CRC check of received packets. More...
 
int16_t forceLDRO (bool enable)
 Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO() More...
 
int16_t autoLDRO ()
 Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms. More...
 
- Public Member Functions inherited from SX127x
 SX127x (Module *mod)
 Default constructor. Called internally when creating new LoRa instance. More...
 
int16_t begin (uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)
 Initialization method. Will be called with appropriate parameters when calling initialization method from derived class. More...
 
int16_t beginFSK (uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)
 Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK initialization method from derived class. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Binary transmit method. Will transmit arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Binary receive method. Will attempt to receive arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to receive Arduino String, see PhysicalLayer::receive. More...
 
int16_t scanChannel ()
 Performs scan for valid LoRa preamble in the current channel. More...
 
int16_t sleep ()
 Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called. More...
 
int16_t standby () override
 Sets the LoRa module to standby. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t receiveDirect () override
 Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t packetMode ()
 Disables direct mode and enables packet mode, allowing the module to receive packets. Can only be activated in FSK mode. More...
 
void setDio0Action (void(*func)(void))
 Set interrupt service routine function to call when DIO0 activates. More...
 
+void clearDio0Action ()
 Clears interrupt service routine to call when DIO0 activates.
 
void setDio1Action (void(*func)(void))
 Set interrupt service routine function to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. More...
 
int16_t startReceive (uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)
 Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data that was received after calling startReceive method. This method reads len characters. More...
 
int16_t setSyncWord (uint8_t syncWord)
 Sets LoRa sync word. Only available in LoRa mode. More...
 
int16_t setCurrentLimit (uint8_t currentLimit)
 Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45 to 120 mA in 5 mA steps and 120 to 240 mA in 10 mA steps. More...
 
int16_t setPreambleLength (uint16_t preambleLength)
 Sets LoRa preamble length. Allowed values range from 6 to 65535. Only available in LoRa mode. More...
 
float getFrequencyError (bool autoCorrect=false)
 Gets frequency error of the latest received packet. More...
 
float getSNR ()
 Gets signal-to-noise ratio of the latest received packet. More...
 
float getDataRate () const
 Get data rate of the latest transmitted packet. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and must be lower than 200 kHz. Only available in FSK mode. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode. More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len)
 Sets FSK sync word. Allowed sync words are up to 8 bytes long and can not contain null bytes. Only available in FSK mode. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t disableAddressFiltering ()
 Disables FSK address filtering. More...
 
int16_t setOOK (bool enableOOK)
 Enables/disables OOK modulation instead of FSK. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in fixed packet length mode. Available in FSK mode only. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in variable packet length mode. Available in FSK mode only. More...
 
int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)
 Sets RSSI measurement configuration in FSK mode. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
uint16_t getIRQFlags ()
 Reads currently active IRQ flags, can be used to check which event caused an interrupt. In LoRa mode, this is the content of SX127X_REG_IRQ_FLAGS register. In FSK mode, this is the contents of SX127X_REG_IRQ_FLAGS_2 (MSB) and SX127X_REG_IRQ_FLAGS_1 (LSB) registers. More...
 
uint8_t getModemStatus ()
 Reads modem status. Only available in LoRa mode. More...
 
int8_t getTempRaw ()
 Reads uncalibrated temperature value. This function will change operating mode and should not be called during Tx, Rx or CAD. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic hardware and only differ in parameter ranges.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX1272::SX1272 (Modulemod)
+
+ +

Default constructor. Called from Arduino sketch when creating new LoRa instance.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the LoRa chip.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
int16_t SX1272::autoLDRO ()
+
+ +

Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1272::begin (float freq = 915.0,
float bw = 125.0,
uint8_t sf = 9,
uint8_t cr = 7,
uint8_t syncWord = SX127X_SYNC_WORD,
int8_t power = 10,
uint16_t preambleLength = 8,
uint8_t gain = 0 
)
+
+ +

LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 860.0 MHz to 1020.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
currentLimitTrim value for OCP (over current protection) in mA. Can be set to multiplies of 5 in range 45 to 120 mA and to multiples of 10 in range 120 to 240 mA. Set to 0 to disable OCP (not recommended).
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1272::beginFSK (float freq = 915.0,
float br = 48.0,
float rxBw = 125.0,
float freqDev = 50.0,
int8_t power = 10,
uint16_t preambleLength = 16,
bool enableOOK = false 
)
+
+ +

FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 860.0 MHz to 1020.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1272::forceLDRO (bool enable)
+
+ +

Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO()

+
Parameters
+ + +
enableForce LDRO to be always enabled (true) or disabled (false).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
float SX1272::getRSSI ()
+
+ +

Gets recorded signal strength indicator of the latest received packet for LoRa modem, or current RSSI level for FSK modem.

+
Returns
Last packet RSSI for LoRa modem, or current RSSI level for FSK modem.
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1272::setBandwidth (float bw)
+
+ +

Sets LoRa link bandwidth. Allowed values are 125, 250 and 500 kHz. Only available in LoRa mode.

+
Parameters
+ + +
bwLoRa link bandwidth to be set in kHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1272::setCodingRate (uint8_t cr)
+
+ +

Sets LoRa link coding rate denominator. Allowed values range from 5 to 8. Only available in LoRa mode.

+
Parameters
+ + +
crLoRa link coding rate denominator to be set.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1272::setCRC (bool enableCRC)
+
+ +

Enables/disables CRC check of received packets.

+
Parameters
+ + +
enableCRCEnable (true) or disable (false) CRC.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t SX1272::setDataShaping (uint8_t sh)
+
+overridevirtual
+
+ +

Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping.

+
Parameters
+ + +
shGaussian shaping bandwidth-time product that will be used for data shaping
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1272::setDataShapingOOK (uint8_t sh)
+
+ +

Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency equal to bit rate and 2 for frequency equal to 2x bit rate. Set to 0 to disable data shaping. Only available in FSK mode with OOK modulation.

+
Parameters
+ + +
shCutoff frequency that will be used for data shaping
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1272::setFrequency (float freq)
+
+ +

Sets carrier frequency. Allowed values range from 860.0 MHz to 1020.0 MHz.

+
Parameters
+ + +
freqCarrier frequency to be set in MHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1272::setGain (uint8_t gain)
+
+ +

Sets gain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended). Only available in LoRa mode.

+
Parameters
+ + +
gainGain of receiver LNA (low-noise amplifier) to be set.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1272::setOutputPower (int8_t power)
+
+ +

Sets transmission output power. Allowed values range from 2 to 17 dBm.

+
Parameters
+ + +
powerTransmission output power in dBm.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1272::setSpreadingFactor (uint8_t sf)
+
+ +

Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode.

+
Parameters
+ + +
sfLoRa link spreading factor to be set.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX127x/SX1272.h
  • +
  • src/modules/SX127x/SX1272.cpp
  • +
+
+
+ + + + diff --git a/class_s_x1272.js b/class_s_x1272.js new file mode 100644 index 00000000..809ea5f5 --- /dev/null +++ b/class_s_x1272.js @@ -0,0 +1,19 @@ +var class_s_x1272 = +[ + [ "SX1272", "class_s_x1272.html#a9ffe467a6baaeaa079e02c3f1f43f626", null ], + [ "autoLDRO", "class_s_x1272.html#abb4bbfe8acc6026c833d267d78417b63", null ], + [ "begin", "class_s_x1272.html#aaa5a787164fb216c12b8dea4d810f7f3", null ], + [ "beginFSK", "class_s_x1272.html#a2ee9fb48eeaf41876de00d3774be78cf", null ], + [ "forceLDRO", "class_s_x1272.html#a4aaf9d61310fa7b4fce413ae53d30ac0", null ], + [ "getRSSI", "class_s_x1272.html#af5a7dee50a1a7d8261bc62bb869cda92", null ], + [ "reset", "class_s_x1272.html#a0978cc9ecbb7b9d3a017c133506e57ac", null ], + [ "setBandwidth", "class_s_x1272.html#a0cc8eeb00241031796fc73b08711469b", null ], + [ "setCodingRate", "class_s_x1272.html#a960913438feccad4c1913a9222384a5f", null ], + [ "setCRC", "class_s_x1272.html#a5a57abb0bc9f474452ffb828b13d1efb", null ], + [ "setDataShaping", "class_s_x1272.html#a91aca64124321c07a67f26b3c6934aea", null ], + [ "setDataShapingOOK", "class_s_x1272.html#a3a377445cb4b8fd41781a3210a819a47", null ], + [ "setFrequency", "class_s_x1272.html#af409f50e51042cf9357c0a8267f762f8", null ], + [ "setGain", "class_s_x1272.html#ae1c57ad5e8496dc28cd3ba9852809852", null ], + [ "setOutputPower", "class_s_x1272.html#ae3596f303714509f552d98321bdfce5c", null ], + [ "setSpreadingFactor", "class_s_x1272.html#a82084ac58502c83d2ada998410307490", null ] +]; \ No newline at end of file diff --git a/class_s_x1272.png b/class_s_x1272.png new file mode 100644 index 0000000000000000000000000000000000000000..f0be7905e4b07779ed7f298ec395d41c6d93b3f0 GIT binary patch literal 808 zcmeAS@N?(olHy`uVBq!ia0vp^u|Rx)gBeH$hR@FdQW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;tFN zzdZj|z0=SHTj;$-(NlMBy8htVx?O+wnf_`o^ZeDb#e0(bE!C6CcYwCC9+2)~NNl-v z+%QN!YyOkQUlG5+6*KZnmnu#2-U=gLbz&yVtF3Af!Gwo7p9 zd8^pF(z|b&oKs|a@$*34-Y?dF$30mM=t~ha!vSl>DcW5YLl)MUNz2Mdi!YA z(#cDh-@nPaZ1I=H)9ORx-er03R^5KT^x|n9&!Us>dsHex5w{N%o=5F(8C$+dYB7BW POx6sZu6{1-oD!M + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1273 Member List
+
+
+ +

This is the complete list of members for SX1273, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
autoLDRO()SX1272
begin(float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)SX1273
SX127x::begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)SX127x
beginFSK(float freq=915.0, float br=48.0, float rxBw=125.0, float freqDev=50.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)SX1272
SX127x::beginFSK(uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)SX127x
clearDio0Action()SX127x
clearDio1Action()SX127x
disableAddressFiltering()SX127x
fixedPacketLengthMode(uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
forceLDRO(bool enable)SX1272
getDataRate() const SX127x
getFreqStep() const PhysicalLayer
getFrequencyError(bool autoCorrect=false)SX127x
getIRQFlags()SX127x
getModemStatus()SX127x
getPacketLength(bool update=true) overrideSX127xvirtual
getRSSI()SX1272
getSNR()SX127x
getTempRaw()SX127x
packetMode()SX127x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX127xvirtual
reset() overrideSX1272virtual
scanChannel()SX127x
setBandwidth(float bw)SX1272
setBitRate(float br)SX127x
setBroadcastAddress(uint8_t broadAddr)SX127x
setCodingRate(uint8_t cr)SX1272
setCRC(bool enableCRC)SX1272
setCurrentLimit(uint8_t currentLimit)SX127x
setDataShaping(uint8_t sh) overrideSX1272virtual
setDataShapingOOK(uint8_t sh)SX1272
setDio0Action(void(*func)(void))SX127x
setDio1Action(void(*func)(void))SX127x
setEncoding(uint8_t encoding) overrideSX127xvirtual
setFrequency(float freq)SX1272
setFrequencyDeviation(float freqDev) overrideSX127xvirtual
setGain(uint8_t gain)SX1272
setNodeAddress(uint8_t nodeAddr)SX127x
setOOK(bool enableOOK)SX127x
setOutputPower(int8_t power)SX1272
setPreambleLength(uint16_t preambleLength)SX127x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX127x
setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)SX127x
setRxBandwidth(float rxBw)SX127x
setSpreadingFactor(uint8_t sf)SX1273
setSyncWord(uint8_t syncWord)SX127x
setSyncWord(uint8_t *syncWord, size_t len)SX127x
sleep()SX127x
standby() overrideSX127xvirtual
startReceive(uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)SX127x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1272(Module *mod)SX1272
SX1273(Module *mod)SX1273
SX127x(Module *mod)SX127x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX127xvirtual
variablePacketLengthMode(uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
+
+ + + + diff --git a/class_s_x1273.html b/class_s_x1273.html new file mode 100644 index 00000000..dde85342 --- /dev/null +++ b/class_s_x1273.html @@ -0,0 +1,497 @@ + + + + + + +RadioLib: SX1273 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX1273 Class Reference
+
+
+ +

Derived class for SX1273 modules. Overrides some methods from SX1272 due to different parameter ranges. + More...

+ +

#include <SX1273.h>

+
+Inheritance diagram for SX1273:
+
+
+ + +SX1272 +SX127x +PhysicalLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX1273 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa link spreading factor. Allowed values range from 6 to 9. Only available in LoRa mode. More...
 
- Public Member Functions inherited from SX1272
 SX1272 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t beginFSK (float freq=915.0, float br=48.0, float rxBw=125.0, float freqDev=50.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
 FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
+void reset () override
 Reset method. Will reset the chip to the default state using RST pin.
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 860.0 MHz to 1020.0 MHz. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa link bandwidth. Allowed values are 125, 250 and 500 kHz. Only available in LoRa mode. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode. More...
 
int16_t setCodingRate (uint8_t cr)
 Sets LoRa link coding rate denominator. Allowed values range from 5 to 8. Only available in LoRa mode. More...
 
int16_t setOutputPower (int8_t power)
 Sets transmission output power. Allowed values range from 2 to 17 dBm. More...
 
int16_t setGain (uint8_t gain)
 Sets gain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended). Only available in LoRa mode. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setDataShapingOOK (uint8_t sh)
 Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency equal to bit rate and 2 for frequency equal to 2x bit rate. Set to 0 to disable data shaping. Only available in FSK mode with OOK modulation. More...
 
float getRSSI ()
 Gets recorded signal strength indicator of the latest received packet for LoRa modem, or current RSSI level for FSK modem. More...
 
int16_t setCRC (bool enableCRC)
 Enables/disables CRC check of received packets. More...
 
int16_t forceLDRO (bool enable)
 Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO() More...
 
int16_t autoLDRO ()
 Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms. More...
 
- Public Member Functions inherited from SX127x
 SX127x (Module *mod)
 Default constructor. Called internally when creating new LoRa instance. More...
 
int16_t begin (uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)
 Initialization method. Will be called with appropriate parameters when calling initialization method from derived class. More...
 
int16_t beginFSK (uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)
 Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK initialization method from derived class. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Binary transmit method. Will transmit arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Binary receive method. Will attempt to receive arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to receive Arduino String, see PhysicalLayer::receive. More...
 
int16_t scanChannel ()
 Performs scan for valid LoRa preamble in the current channel. More...
 
int16_t sleep ()
 Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called. More...
 
int16_t standby () override
 Sets the LoRa module to standby. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t receiveDirect () override
 Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t packetMode ()
 Disables direct mode and enables packet mode, allowing the module to receive packets. Can only be activated in FSK mode. More...
 
void setDio0Action (void(*func)(void))
 Set interrupt service routine function to call when DIO0 activates. More...
 
+void clearDio0Action ()
 Clears interrupt service routine to call when DIO0 activates.
 
void setDio1Action (void(*func)(void))
 Set interrupt service routine function to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. More...
 
int16_t startReceive (uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)
 Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data that was received after calling startReceive method. This method reads len characters. More...
 
int16_t setSyncWord (uint8_t syncWord)
 Sets LoRa sync word. Only available in LoRa mode. More...
 
int16_t setCurrentLimit (uint8_t currentLimit)
 Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45 to 120 mA in 5 mA steps and 120 to 240 mA in 10 mA steps. More...
 
int16_t setPreambleLength (uint16_t preambleLength)
 Sets LoRa preamble length. Allowed values range from 6 to 65535. Only available in LoRa mode. More...
 
float getFrequencyError (bool autoCorrect=false)
 Gets frequency error of the latest received packet. More...
 
float getSNR ()
 Gets signal-to-noise ratio of the latest received packet. More...
 
float getDataRate () const
 Get data rate of the latest transmitted packet. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and must be lower than 200 kHz. Only available in FSK mode. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode. More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len)
 Sets FSK sync word. Allowed sync words are up to 8 bytes long and can not contain null bytes. Only available in FSK mode. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t disableAddressFiltering ()
 Disables FSK address filtering. More...
 
int16_t setOOK (bool enableOOK)
 Enables/disables OOK modulation instead of FSK. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in fixed packet length mode. Available in FSK mode only. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in variable packet length mode. Available in FSK mode only. More...
 
int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)
 Sets RSSI measurement configuration in FSK mode. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
uint16_t getIRQFlags ()
 Reads currently active IRQ flags, can be used to check which event caused an interrupt. In LoRa mode, this is the content of SX127X_REG_IRQ_FLAGS register. In FSK mode, this is the contents of SX127X_REG_IRQ_FLAGS_2 (MSB) and SX127X_REG_IRQ_FLAGS_1 (LSB) registers. More...
 
uint8_t getModemStatus ()
 Reads modem status. Only available in LoRa mode. More...
 
int8_t getTempRaw ()
 Reads uncalibrated temperature value. This function will change operating mode and should not be called during Tx, Rx or CAD. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for SX1273 modules. Overrides some methods from SX1272 due to different parameter ranges.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX1273::SX1273 (Modulemod)
+
+ +

Default constructor. Called from Arduino sketch when creating new LoRa instance.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the LoRa chip.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1273::begin (float freq = 915.0,
float bw = 125.0,
uint8_t sf = 9,
uint8_t cr = 7,
uint8_t syncWord = SX127X_SYNC_WORD,
int8_t power = 10,
uint16_t preambleLength = 8,
uint8_t gain = 0 
)
+
+ +

LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 860.0 MHz to 1020.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 9.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1273::setSpreadingFactor (uint8_t sf)
+
+ +

Sets LoRa link spreading factor. Allowed values range from 6 to 9. Only available in LoRa mode.

+
Parameters
+ + +
sfLoRa link spreading factor to be set.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX127x/SX1273.h
  • +
  • src/modules/SX127x/SX1273.cpp
  • +
+
+
+ + + + diff --git a/class_s_x1273.js b/class_s_x1273.js new file mode 100644 index 00000000..e9ddb1a5 --- /dev/null +++ b/class_s_x1273.js @@ -0,0 +1,6 @@ +var class_s_x1273 = +[ + [ "SX1273", "class_s_x1273.html#ad0387b22d6dcc876bc5f85174714149b", null ], + [ "begin", "class_s_x1273.html#adf46338bf36c2d43e591426ae7b6082a", null ], + [ "setSpreadingFactor", "class_s_x1273.html#a1dbc5a0847c2b62d2ec5fc439ddfec3f", null ] +]; \ No newline at end of file diff --git a/class_s_x1273.png b/class_s_x1273.png new file mode 100644 index 0000000000000000000000000000000000000000..020a4a2a2569761c0d141edf8d4b4c057b74b188 GIT binary patch literal 804 zcmeAS@N?(olHy`uVBq!ia0vp^u|Rx)gBeH$hR@FdQW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;}3|Ln;{G&VAUo*no$v{k+io|0md4 zg@j@~&DYZJS6@5r{<|o>^vg%Rz^!jLy?GgV|MsVSg1xonmHFk?mv3D6 zlaac3YqpEM)cH3{OV3MPRJ-Ye^w`KSEp55JD5UVNUpaW~TgUbhAVr?-zKR`PH4|Kw1+=I`oswYLmdoZz#p??c=#UIt(Gb1HtsIX2f^ZfL~_P0UpvsBJg*XP8q*W0M_bIy(K z^&4)y65j4QDQ4Z9wd*`>_m!_#@sxc&S94w7`rQT9O)9b$_E*ook0@WR;At0bym?>c z>+IXb=j$x4?mHb_vf4QOo75ef(DHlR9sgg@^PCT|#bdWhWy|feXBIJ3Gz%*91pKye zd*%FgvQ2<|_WxHiJ*^wOQCzr0_JHzR2D$o^d1+#7YMzcuVkgqzBI*GX53Qu9lFSGASDxg2-;Zt42pTTgoho&LEp?_coi;-62? zteKnV@^-V|ll-|^#un`!ld9}C#OMD#w`aPezU%fhw@G%&!1x3?lwfxwwSQNQCzmly2L>M0X^3$BH>p;lO_7JKK>--TAFIC|UwB^CJMr(% zCEHK;=Qk)LxspLQ{9D-dC0P~6?cQ$He^nB_m?7qzf9dXvTfgNqT_`j)&R%}|Y}Hz3 zix1~knl)b*XOQ`EATHS4|LWZDMlY6f9Z>y$o&jY4xy;& literal 0 HcmV?d00001 diff --git a/class_s_x1276-members.html b/class_s_x1276-members.html new file mode 100644 index 00000000..eff72aab --- /dev/null +++ b/class_s_x1276-members.html @@ -0,0 +1,195 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1276 Member List
+
+
+ +

This is the complete list of members for SX1276, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
autoLDRO()SX1278
begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)SX1276
SX127x::begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)SX127x
beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)SX1276
SX127x::beginFSK(uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)SX127x
clearDio0Action()SX127x
clearDio1Action()SX127x
disableAddressFiltering()SX127x
fixedPacketLengthMode(uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
forceLDRO(bool enable)SX1278
getDataRate() const SX127x
getFreqStep() const PhysicalLayer
getFrequencyError(bool autoCorrect=false)SX127x
getIRQFlags()SX127x
getModemStatus()SX127x
getPacketLength(bool update=true) overrideSX127xvirtual
getRSSI()SX1278
getSNR()SX127x
getTempRaw()SX127x
packetMode()SX127x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX127xvirtual
reset() overrideSX1278virtual
scanChannel()SX127x
setBandwidth(float bw)SX1278
setBitRate(float br)SX127x
setBroadcastAddress(uint8_t broadAddr)SX127x
setCodingRate(uint8_t cr)SX1278
setCRC(bool enableCRC)SX1278
setCurrentLimit(uint8_t currentLimit)SX127x
setDataShaping(uint8_t sh) overrideSX1278virtual
setDataShapingOOK(uint8_t sh)SX1278
setDio0Action(void(*func)(void))SX127x
setDio1Action(void(*func)(void))SX127x
setEncoding(uint8_t encoding) overrideSX127xvirtual
setFrequency(float freq)SX1276
setFrequencyDeviation(float freqDev) overrideSX127xvirtual
setGain(uint8_t gain)SX1278
setNodeAddress(uint8_t nodeAddr)SX127x
setOOK(bool enableOOK)SX127x
setOutputPower(int8_t power)SX1278
setPreambleLength(uint16_t preambleLength)SX127x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX127x
setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)SX127x
setRxBandwidth(float rxBw)SX127x
setSpreadingFactor(uint8_t sf)SX1278
setSyncWord(uint8_t syncWord)SX127x
setSyncWord(uint8_t *syncWord, size_t len)SX127x
sleep()SX127x
standby() overrideSX127xvirtual
startReceive(uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)SX127x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1276(Module *mod)SX1276
SX1278(Module *mod)SX1278
SX127x(Module *mod)SX127x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX127xvirtual
variablePacketLengthMode(uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
+
+ + + + diff --git a/class_s_x1276.html b/class_s_x1276.html new file mode 100644 index 00000000..8aaa5c62 --- /dev/null +++ b/class_s_x1276.html @@ -0,0 +1,571 @@ + + + + + + +RadioLib: SX1276 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX1276 Class Reference
+
+
+ +

Derived class for SX1276 modules. Overrides some methods from SX1278 due to different parameter ranges. + More...

+ +

#include <SX1276.h>

+
+Inheritance diagram for SX1276:
+
+
+ + +SX1278 +SX127x +PhysicalLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX1276 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t beginFSK (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
 FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 137.0 MHz to 1020.0 MHz. More...
 
- Public Member Functions inherited from SX1278
 SX1278 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t beginFSK (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
 FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
+void reset () override
 Reset method. Will reset the chip to the default state using RST pin.
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 137.0 MHz to 525.0 MHz. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa link bandwidth. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz. Only available in LoRa mode. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode. More...
 
int16_t setCodingRate (uint8_t cr)
 Sets LoRa link coding rate denominator. Allowed values range from 5 to 8. Only available in LoRa mode. More...
 
int16_t setOutputPower (int8_t power)
 Sets transmission output power. Allowed values range from 2 to 17 dBm. More...
 
int16_t setGain (uint8_t gain)
 Sets gain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended). Only available in LoRa mode. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setDataShapingOOK (uint8_t sh)
 Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency equal to bit rate and 2 for frequency equal to 2x bit rate. Set to 0 to disable data shaping. Only available in FSK mode with OOK modulation. More...
 
float getRSSI ()
 Gets recorded signal strength indicator of the latest received packet for LoRa modem, or current RSSI level for FSK modem. More...
 
int16_t setCRC (bool enableCRC)
 Enables/disables CRC check of received packets. More...
 
int16_t forceLDRO (bool enable)
 Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO() More...
 
int16_t autoLDRO ()
 Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms. More...
 
- Public Member Functions inherited from SX127x
 SX127x (Module *mod)
 Default constructor. Called internally when creating new LoRa instance. More...
 
int16_t begin (uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)
 Initialization method. Will be called with appropriate parameters when calling initialization method from derived class. More...
 
int16_t beginFSK (uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)
 Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK initialization method from derived class. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Binary transmit method. Will transmit arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Binary receive method. Will attempt to receive arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to receive Arduino String, see PhysicalLayer::receive. More...
 
int16_t scanChannel ()
 Performs scan for valid LoRa preamble in the current channel. More...
 
int16_t sleep ()
 Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called. More...
 
int16_t standby () override
 Sets the LoRa module to standby. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t receiveDirect () override
 Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t packetMode ()
 Disables direct mode and enables packet mode, allowing the module to receive packets. Can only be activated in FSK mode. More...
 
void setDio0Action (void(*func)(void))
 Set interrupt service routine function to call when DIO0 activates. More...
 
+void clearDio0Action ()
 Clears interrupt service routine to call when DIO0 activates.
 
void setDio1Action (void(*func)(void))
 Set interrupt service routine function to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. More...
 
int16_t startReceive (uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)
 Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data that was received after calling startReceive method. This method reads len characters. More...
 
int16_t setSyncWord (uint8_t syncWord)
 Sets LoRa sync word. Only available in LoRa mode. More...
 
int16_t setCurrentLimit (uint8_t currentLimit)
 Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45 to 120 mA in 5 mA steps and 120 to 240 mA in 10 mA steps. More...
 
int16_t setPreambleLength (uint16_t preambleLength)
 Sets LoRa preamble length. Allowed values range from 6 to 65535. Only available in LoRa mode. More...
 
float getFrequencyError (bool autoCorrect=false)
 Gets frequency error of the latest received packet. More...
 
float getSNR ()
 Gets signal-to-noise ratio of the latest received packet. More...
 
float getDataRate () const
 Get data rate of the latest transmitted packet. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and must be lower than 200 kHz. Only available in FSK mode. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode. More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len)
 Sets FSK sync word. Allowed sync words are up to 8 bytes long and can not contain null bytes. Only available in FSK mode. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t disableAddressFiltering ()
 Disables FSK address filtering. More...
 
int16_t setOOK (bool enableOOK)
 Enables/disables OOK modulation instead of FSK. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in fixed packet length mode. Available in FSK mode only. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in variable packet length mode. Available in FSK mode only. More...
 
int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)
 Sets RSSI measurement configuration in FSK mode. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
uint16_t getIRQFlags ()
 Reads currently active IRQ flags, can be used to check which event caused an interrupt. In LoRa mode, this is the content of SX127X_REG_IRQ_FLAGS register. In FSK mode, this is the contents of SX127X_REG_IRQ_FLAGS_2 (MSB) and SX127X_REG_IRQ_FLAGS_1 (LSB) registers. More...
 
uint8_t getModemStatus ()
 Reads modem status. Only available in LoRa mode. More...
 
int8_t getTempRaw ()
 Reads uncalibrated temperature value. This function will change operating mode and should not be called during Tx, Rx or CAD. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for SX1276 modules. Overrides some methods from SX1278 due to different parameter ranges.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX1276::SX1276 (Modulemod)
+
+ +

Default constructor. Called from Arduino sketch when creating new LoRa instance.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the LoRa chip.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1276::begin (float freq = 434.0,
float bw = 125.0,
uint8_t sf = 9,
uint8_t cr = 7,
uint8_t syncWord = SX127X_SYNC_WORD,
int8_t power = 10,
uint16_t preambleLength = 8,
uint8_t gain = 0 
)
+
+ +

LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 1020.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1276::beginFSK (float freq = 434.0,
float br = 48.0,
float freqDev = 50.0,
float rxBw = 125.0,
int8_t power = 10,
uint16_t preambleLength = 16,
bool enableOOK = false 
)
+
+ +

FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1276::setFrequency (float freq)
+
+ +

Sets carrier frequency. Allowed values range from 137.0 MHz to 1020.0 MHz.

+
Parameters
+ + +
freqCarrier frequency to be set in MHz.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX127x/SX1276.h
  • +
  • src/modules/SX127x/SX1276.cpp
  • +
+
+
+ + + + diff --git a/class_s_x1276.js b/class_s_x1276.js new file mode 100644 index 00000000..9de8c72c --- /dev/null +++ b/class_s_x1276.js @@ -0,0 +1,7 @@ +var class_s_x1276 = +[ + [ "SX1276", "class_s_x1276.html#a91c31d4dbd6d35ef6e42dba6dad8197b", null ], + [ "begin", "class_s_x1276.html#af8c818f27a8b9f964cee23cc1f397f94", null ], + [ "beginFSK", "class_s_x1276.html#a4154b0ed21583ab37eaf52225d156ad8", null ], + [ "setFrequency", "class_s_x1276.html#a657d75dced0af8c89c4e38535dd5b008", null ] +]; \ No newline at end of file diff --git a/class_s_x1276.png b/class_s_x1276.png new file mode 100644 index 0000000000000000000000000000000000000000..121bbd4ff9d6f36bd4ae7005979d64c4403994e5 GIT binary patch literal 793 zcmeAS@N?(olHy`uVBq!ia0vp^u|Rx)gBeH$hR@FdQW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;T+JJ|(J-PG$|0mI0 zEfRMwUHTdu`r6CcOl|Ig&h6)C%v{>&86=cCeM!gv6!~T6O}sAkIlm3-xaK)2dGr3y zYx&>26@8aee@6S-p{)D&cEoSJV|VL$eqP_-J=!@@_Giw2(J0?vBj2*Qe0z2EjGoQ< zo-$1z%EE7KKc-yW{Vq^o-v*ucs`@wL&+gs4|I3@~CywXu`0BP)Cr00^{eJWRD{tP~ zO@9{tRe!?&)?R6Se1a#}&!XKkBgGi<4Vacp%#uIuQ@iS~n*WvOxAyN!KgA~yRMyb3 ziP>d}tiqx<41%fb9U9gSN8&flMtI`>X8!HxP0ma%oB8VW-AX-AL;p8tug}Q6-S=9- zQ!%}4eeu%YTdP$)Z+*0x`RtZ$ws~y%geA=9{Y$^HUwbE_qWNr1`ZV+JcJk*~Y1;X1k4;L9JwMI4x%b@EKi4LeJg77}yVW+^{@nT^-I?d)Bg-#(UTWMtFOtXa z^|xOd3LuPE`bLil0)~W$hReWG&3r60z>)FyuWoXE>Eg_`0aU2T>ky_4DR!8 z%wBI;y-jxc!r6=!=ibCU_fmiMIptgTHmCIc(|n%uuhHG5D%-%EZo66K?Uuat{YCHn zubTR8``bEs?}hhkFW%N_nDA>ZBRJBg-)>Ko*z|*4aG~X^Q~LX}f$5mR)78&qol`;+ E00Xy#00000 literal 0 HcmV?d00001 diff --git a/class_s_x1277-members.html b/class_s_x1277-members.html new file mode 100644 index 00000000..26bf869a --- /dev/null +++ b/class_s_x1277-members.html @@ -0,0 +1,195 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1277 Member List
+
+
+ +

This is the complete list of members for SX1277, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
autoLDRO()SX1278
begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)SX1277
SX127x::begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)SX127x
beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)SX1277
SX127x::beginFSK(uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)SX127x
clearDio0Action()SX127x
clearDio1Action()SX127x
disableAddressFiltering()SX127x
fixedPacketLengthMode(uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
forceLDRO(bool enable)SX1278
getDataRate() const SX127x
getFreqStep() const PhysicalLayer
getFrequencyError(bool autoCorrect=false)SX127x
getIRQFlags()SX127x
getModemStatus()SX127x
getPacketLength(bool update=true) overrideSX127xvirtual
getRSSI()SX1278
getSNR()SX127x
getTempRaw()SX127x
packetMode()SX127x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX127xvirtual
reset() overrideSX1278virtual
scanChannel()SX127x
setBandwidth(float bw)SX1278
setBitRate(float br)SX127x
setBroadcastAddress(uint8_t broadAddr)SX127x
setCodingRate(uint8_t cr)SX1278
setCRC(bool enableCRC)SX1278
setCurrentLimit(uint8_t currentLimit)SX127x
setDataShaping(uint8_t sh) overrideSX1278virtual
setDataShapingOOK(uint8_t sh)SX1278
setDio0Action(void(*func)(void))SX127x
setDio1Action(void(*func)(void))SX127x
setEncoding(uint8_t encoding) overrideSX127xvirtual
setFrequency(float freq)SX1277
setFrequencyDeviation(float freqDev) overrideSX127xvirtual
setGain(uint8_t gain)SX1278
setNodeAddress(uint8_t nodeAddr)SX127x
setOOK(bool enableOOK)SX127x
setOutputPower(int8_t power)SX1278
setPreambleLength(uint16_t preambleLength)SX127x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX127x
setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)SX127x
setRxBandwidth(float rxBw)SX127x
setSpreadingFactor(uint8_t sf)SX1277
setSyncWord(uint8_t syncWord)SX127x
setSyncWord(uint8_t *syncWord, size_t len)SX127x
sleep()SX127x
standby() overrideSX127xvirtual
startReceive(uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)SX127x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1277(Module *mod)SX1277
SX1278(Module *mod)SX1278
SX127x(Module *mod)SX127x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX127xvirtual
variablePacketLengthMode(uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
+
+ + + + diff --git a/class_s_x1277.html b/class_s_x1277.html new file mode 100644 index 00000000..ba069db6 --- /dev/null +++ b/class_s_x1277.html @@ -0,0 +1,599 @@ + + + + + + +RadioLib: SX1277 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX1277 Class Reference
+
+
+ +

Derived class for SX1277 modules. Overrides some methods from SX1278 due to different parameter ranges. + More...

+ +

#include <SX1277.h>

+
+Inheritance diagram for SX1277:
+
+
+ + +SX1278 +SX127x +PhysicalLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX1277 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t beginFSK (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
 FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 137.0 MHz to 1020.0 MHz. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa link spreading factor. Allowed values range from 6 to 9. Only available in LoRa mode. More...
 
- Public Member Functions inherited from SX1278
 SX1278 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t beginFSK (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
 FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
+void reset () override
 Reset method. Will reset the chip to the default state using RST pin.
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 137.0 MHz to 525.0 MHz. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa link bandwidth. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz. Only available in LoRa mode. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode. More...
 
int16_t setCodingRate (uint8_t cr)
 Sets LoRa link coding rate denominator. Allowed values range from 5 to 8. Only available in LoRa mode. More...
 
int16_t setOutputPower (int8_t power)
 Sets transmission output power. Allowed values range from 2 to 17 dBm. More...
 
int16_t setGain (uint8_t gain)
 Sets gain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended). Only available in LoRa mode. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setDataShapingOOK (uint8_t sh)
 Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency equal to bit rate and 2 for frequency equal to 2x bit rate. Set to 0 to disable data shaping. Only available in FSK mode with OOK modulation. More...
 
float getRSSI ()
 Gets recorded signal strength indicator of the latest received packet for LoRa modem, or current RSSI level for FSK modem. More...
 
int16_t setCRC (bool enableCRC)
 Enables/disables CRC check of received packets. More...
 
int16_t forceLDRO (bool enable)
 Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO() More...
 
int16_t autoLDRO ()
 Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms. More...
 
- Public Member Functions inherited from SX127x
 SX127x (Module *mod)
 Default constructor. Called internally when creating new LoRa instance. More...
 
int16_t begin (uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)
 Initialization method. Will be called with appropriate parameters when calling initialization method from derived class. More...
 
int16_t beginFSK (uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)
 Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK initialization method from derived class. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Binary transmit method. Will transmit arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Binary receive method. Will attempt to receive arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to receive Arduino String, see PhysicalLayer::receive. More...
 
int16_t scanChannel ()
 Performs scan for valid LoRa preamble in the current channel. More...
 
int16_t sleep ()
 Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called. More...
 
int16_t standby () override
 Sets the LoRa module to standby. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t receiveDirect () override
 Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t packetMode ()
 Disables direct mode and enables packet mode, allowing the module to receive packets. Can only be activated in FSK mode. More...
 
void setDio0Action (void(*func)(void))
 Set interrupt service routine function to call when DIO0 activates. More...
 
+void clearDio0Action ()
 Clears interrupt service routine to call when DIO0 activates.
 
void setDio1Action (void(*func)(void))
 Set interrupt service routine function to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. More...
 
int16_t startReceive (uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)
 Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data that was received after calling startReceive method. This method reads len characters. More...
 
int16_t setSyncWord (uint8_t syncWord)
 Sets LoRa sync word. Only available in LoRa mode. More...
 
int16_t setCurrentLimit (uint8_t currentLimit)
 Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45 to 120 mA in 5 mA steps and 120 to 240 mA in 10 mA steps. More...
 
int16_t setPreambleLength (uint16_t preambleLength)
 Sets LoRa preamble length. Allowed values range from 6 to 65535. Only available in LoRa mode. More...
 
float getFrequencyError (bool autoCorrect=false)
 Gets frequency error of the latest received packet. More...
 
float getSNR ()
 Gets signal-to-noise ratio of the latest received packet. More...
 
float getDataRate () const
 Get data rate of the latest transmitted packet. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and must be lower than 200 kHz. Only available in FSK mode. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode. More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len)
 Sets FSK sync word. Allowed sync words are up to 8 bytes long and can not contain null bytes. Only available in FSK mode. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t disableAddressFiltering ()
 Disables FSK address filtering. More...
 
int16_t setOOK (bool enableOOK)
 Enables/disables OOK modulation instead of FSK. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in fixed packet length mode. Available in FSK mode only. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in variable packet length mode. Available in FSK mode only. More...
 
int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)
 Sets RSSI measurement configuration in FSK mode. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
uint16_t getIRQFlags ()
 Reads currently active IRQ flags, can be used to check which event caused an interrupt. In LoRa mode, this is the content of SX127X_REG_IRQ_FLAGS register. In FSK mode, this is the contents of SX127X_REG_IRQ_FLAGS_2 (MSB) and SX127X_REG_IRQ_FLAGS_1 (LSB) registers. More...
 
uint8_t getModemStatus ()
 Reads modem status. Only available in LoRa mode. More...
 
int8_t getTempRaw ()
 Reads uncalibrated temperature value. This function will change operating mode and should not be called during Tx, Rx or CAD. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for SX1277 modules. Overrides some methods from SX1278 due to different parameter ranges.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX1277::SX1277 (Modulemod)
+
+ +

Default constructor. Called from Arduino sketch when creating new LoRa instance.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the LoRa chip.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1277::begin (float freq = 434.0,
float bw = 125.0,
uint8_t sf = 9,
uint8_t cr = 7,
uint8_t syncWord = SX127X_SYNC_WORD,
int8_t power = 10,
uint16_t preambleLength = 8,
uint8_t gain = 0 
)
+
+ +

LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 1020.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 9.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1277::beginFSK (float freq = 434.0,
float br = 48.0,
float freqDev = 50.0,
float rxBw = 125.0,
int8_t power = 10,
uint16_t preambleLength = 16,
bool enableOOK = false 
)
+
+ +

FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1277::setFrequency (float freq)
+
+ +

Sets carrier frequency. Allowed values range from 137.0 MHz to 1020.0 MHz.

+
Parameters
+ + +
freqCarrier frequency to be set in MHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1277::setSpreadingFactor (uint8_t sf)
+
+ +

Sets LoRa link spreading factor. Allowed values range from 6 to 9. Only available in LoRa mode.

+
Parameters
+ + +
sfLoRa link spreading factor to be set.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX127x/SX1277.h
  • +
  • src/modules/SX127x/SX1277.cpp
  • +
+
+
+ + + + diff --git a/class_s_x1277.js b/class_s_x1277.js new file mode 100644 index 00000000..3097c3ef --- /dev/null +++ b/class_s_x1277.js @@ -0,0 +1,8 @@ +var class_s_x1277 = +[ + [ "SX1277", "class_s_x1277.html#a296fb332bf2cdc574dbfe933d9d10eda", null ], + [ "begin", "class_s_x1277.html#aa2b5816c06cd644fd33171ee61cf325b", null ], + [ "beginFSK", "class_s_x1277.html#a1205719d59b2935ae9b1c953fa23509a", null ], + [ "setFrequency", "class_s_x1277.html#a42adde5eecccdca95214980848795e82", null ], + [ "setSpreadingFactor", "class_s_x1277.html#a1df27f0b0b6e5b308879875e4d8306cf", null ] +]; \ No newline at end of file diff --git a/class_s_x1277.png b/class_s_x1277.png new file mode 100644 index 0000000000000000000000000000000000000000..c4d5ea8ee16bb38229174a1b65d649ab19d1fab6 GIT binary patch literal 783 zcmeAS@N?(olHy`uVBq!ia0vp^u|Rx)gBeH$hR@FdQW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;37l@BBMc5l0 z=5JED{a;PDOy*tlZP#P7?45hJpZ5UU6Q ztYTHQ_>FDHw5v7mu6Fv;sJeIRp2Yg??|T2PEsytp_vOsxkgg9rSH3*Ex%mF8Xx`dM z|1SL#{xtoY{KV(>8&r1I?7VwMhpT~Kg7FZ?*8b!rc31vQV1JeTHvX=0CVPRWb%XmY zMw?4~4JSGLs2kw!`fGEuZV6Dw)SWu3T4l{MMW%m7jCIp4s&I z-u3CvXVsRkx~;W-v-ecX&DT#J4KDp%oBL&UnddI|TdF6O-%ffWm}hR>&GdlTt--+Q z?PH0R{9EmxH2#YC9sb?t7Gn&G3zgq8$YrvB_~BhJx{bTjFhaYFQRR-w= z*X-QgGwDfDg8sfkZ&qsiIU7%2GS9er{cEScmnLm_yu;{d=>4s-&)3GR_Idn$&Fo8_ zm-;r(i{zQRE&6rX-QSnYdWCb}`-e>`i+S<=(hF7ZNim=5-6q*w(({yyC&P)~5+&LU zBp8}JtQ&w~IltX*>6y;2uVv=t>oXsi2M$Z$*g|85FLQ2I$BJ7`pC6JoJB0cB+pF~% zwgSMw3wr7IWIgMKr;~%4gUX literal 0 HcmV?d00001 diff --git a/class_s_x1278-members.html b/class_s_x1278-members.html new file mode 100644 index 00000000..2f7f517c --- /dev/null +++ b/class_s_x1278-members.html @@ -0,0 +1,194 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1278 Member List
+
+
+ +

This is the complete list of members for SX1278, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
autoLDRO()SX1278
begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)SX1278
SX127x::begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)SX127x
beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)SX1278
SX127x::beginFSK(uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)SX127x
clearDio0Action()SX127x
clearDio1Action()SX127x
disableAddressFiltering()SX127x
fixedPacketLengthMode(uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
forceLDRO(bool enable)SX1278
getDataRate() const SX127x
getFreqStep() const PhysicalLayer
getFrequencyError(bool autoCorrect=false)SX127x
getIRQFlags()SX127x
getModemStatus()SX127x
getPacketLength(bool update=true) overrideSX127xvirtual
getRSSI()SX1278
getSNR()SX127x
getTempRaw()SX127x
packetMode()SX127x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX127xvirtual
reset() overrideSX1278virtual
scanChannel()SX127x
setBandwidth(float bw)SX1278
setBitRate(float br)SX127x
setBroadcastAddress(uint8_t broadAddr)SX127x
setCodingRate(uint8_t cr)SX1278
setCRC(bool enableCRC)SX1278
setCurrentLimit(uint8_t currentLimit)SX127x
setDataShaping(uint8_t sh) overrideSX1278virtual
setDataShapingOOK(uint8_t sh)SX1278
setDio0Action(void(*func)(void))SX127x
setDio1Action(void(*func)(void))SX127x
setEncoding(uint8_t encoding) overrideSX127xvirtual
setFrequency(float freq)SX1278
setFrequencyDeviation(float freqDev) overrideSX127xvirtual
setGain(uint8_t gain)SX1278
setNodeAddress(uint8_t nodeAddr)SX127x
setOOK(bool enableOOK)SX127x
setOutputPower(int8_t power)SX1278
setPreambleLength(uint16_t preambleLength)SX127x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX127x
setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)SX127x
setRxBandwidth(float rxBw)SX127x
setSpreadingFactor(uint8_t sf)SX1278
setSyncWord(uint8_t syncWord)SX127x
setSyncWord(uint8_t *syncWord, size_t len)SX127x
sleep()SX127x
standby() overrideSX127xvirtual
startReceive(uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)SX127x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1278(Module *mod)SX1278
SX127x(Module *mod)SX127x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX127xvirtual
variablePacketLengthMode(uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
+
+ + + + diff --git a/class_s_x1278.html b/class_s_x1278.html new file mode 100644 index 00000000..180a2d2f --- /dev/null +++ b/class_s_x1278.html @@ -0,0 +1,834 @@ + + + + + + +RadioLib: SX1278 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX1278 Class Reference
+
+
+ +

Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names). + More...

+ +

#include <SX1278.h>

+
+Inheritance diagram for SX1278:
+
+
+ + +SX127x +PhysicalLayer +RFM95 +RFM96 +SX1276 +SX1277 +SX1279 +RFM97 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX1278 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t beginFSK (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
 FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
+void reset () override
 Reset method. Will reset the chip to the default state using RST pin.
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 137.0 MHz to 525.0 MHz. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa link bandwidth. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz. Only available in LoRa mode. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode. More...
 
int16_t setCodingRate (uint8_t cr)
 Sets LoRa link coding rate denominator. Allowed values range from 5 to 8. Only available in LoRa mode. More...
 
int16_t setOutputPower (int8_t power)
 Sets transmission output power. Allowed values range from 2 to 17 dBm. More...
 
int16_t setGain (uint8_t gain)
 Sets gain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended). Only available in LoRa mode. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setDataShapingOOK (uint8_t sh)
 Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency equal to bit rate and 2 for frequency equal to 2x bit rate. Set to 0 to disable data shaping. Only available in FSK mode with OOK modulation. More...
 
float getRSSI ()
 Gets recorded signal strength indicator of the latest received packet for LoRa modem, or current RSSI level for FSK modem. More...
 
int16_t setCRC (bool enableCRC)
 Enables/disables CRC check of received packets. More...
 
int16_t forceLDRO (bool enable)
 Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO() More...
 
int16_t autoLDRO ()
 Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms. More...
 
- Public Member Functions inherited from SX127x
 SX127x (Module *mod)
 Default constructor. Called internally when creating new LoRa instance. More...
 
int16_t begin (uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)
 Initialization method. Will be called with appropriate parameters when calling initialization method from derived class. More...
 
int16_t beginFSK (uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)
 Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK initialization method from derived class. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Binary transmit method. Will transmit arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Binary receive method. Will attempt to receive arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to receive Arduino String, see PhysicalLayer::receive. More...
 
int16_t scanChannel ()
 Performs scan for valid LoRa preamble in the current channel. More...
 
int16_t sleep ()
 Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called. More...
 
int16_t standby () override
 Sets the LoRa module to standby. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t receiveDirect () override
 Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t packetMode ()
 Disables direct mode and enables packet mode, allowing the module to receive packets. Can only be activated in FSK mode. More...
 
void setDio0Action (void(*func)(void))
 Set interrupt service routine function to call when DIO0 activates. More...
 
+void clearDio0Action ()
 Clears interrupt service routine to call when DIO0 activates.
 
void setDio1Action (void(*func)(void))
 Set interrupt service routine function to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. More...
 
int16_t startReceive (uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)
 Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data that was received after calling startReceive method. This method reads len characters. More...
 
int16_t setSyncWord (uint8_t syncWord)
 Sets LoRa sync word. Only available in LoRa mode. More...
 
int16_t setCurrentLimit (uint8_t currentLimit)
 Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45 to 120 mA in 5 mA steps and 120 to 240 mA in 10 mA steps. More...
 
int16_t setPreambleLength (uint16_t preambleLength)
 Sets LoRa preamble length. Allowed values range from 6 to 65535. Only available in LoRa mode. More...
 
float getFrequencyError (bool autoCorrect=false)
 Gets frequency error of the latest received packet. More...
 
float getSNR ()
 Gets signal-to-noise ratio of the latest received packet. More...
 
float getDataRate () const
 Get data rate of the latest transmitted packet. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and must be lower than 200 kHz. Only available in FSK mode. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode. More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len)
 Sets FSK sync word. Allowed sync words are up to 8 bytes long and can not contain null bytes. Only available in FSK mode. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t disableAddressFiltering ()
 Disables FSK address filtering. More...
 
int16_t setOOK (bool enableOOK)
 Enables/disables OOK modulation instead of FSK. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in fixed packet length mode. Available in FSK mode only. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in variable packet length mode. Available in FSK mode only. More...
 
int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)
 Sets RSSI measurement configuration in FSK mode. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
uint16_t getIRQFlags ()
 Reads currently active IRQ flags, can be used to check which event caused an interrupt. In LoRa mode, this is the content of SX127X_REG_IRQ_FLAGS register. In FSK mode, this is the contents of SX127X_REG_IRQ_FLAGS_2 (MSB) and SX127X_REG_IRQ_FLAGS_1 (LSB) registers. More...
 
uint8_t getModemStatus ()
 Reads modem status. Only available in LoRa mode. More...
 
int8_t getTempRaw ()
 Reads uncalibrated temperature value. This function will change operating mode and should not be called during Tx, Rx or CAD. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names).

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX1278::SX1278 (Modulemod)
+
+ +

Default constructor. Called from Arduino sketch when creating new LoRa instance.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the LoRa chip.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
int16_t SX1278::autoLDRO ()
+
+ +

Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1278::begin (float freq = 434.0,
float bw = 125.0,
uint8_t sf = 9,
uint8_t cr = 7,
uint8_t syncWord = SX127X_SYNC_WORD,
int8_t power = 10,
uint16_t preambleLength = 8,
uint8_t gain = 0 
)
+
+ +

LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1278::beginFSK (float freq = 434.0,
float br = 48.0,
float freqDev = 50.0,
float rxBw = 125.0,
int8_t power = 10,
uint16_t preambleLength = 16,
bool enableOOK = false 
)
+
+ +

FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1278::forceLDRO (bool enable)
+
+ +

Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO()

+
Parameters
+ + +
enableForce LDRO to be always enabled (true) or disabled (false).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
float SX1278::getRSSI ()
+
+ +

Gets recorded signal strength indicator of the latest received packet for LoRa modem, or current RSSI level for FSK modem.

+
Returns
Last packet RSSI for LoRa modem, or current RSSI level for FSK modem.
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1278::setBandwidth (float bw)
+
+ +

Sets LoRa link bandwidth. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz. Only available in LoRa mode.

+
Parameters
+ + +
bwLoRa link bandwidth to be set in kHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1278::setCodingRate (uint8_t cr)
+
+ +

Sets LoRa link coding rate denominator. Allowed values range from 5 to 8. Only available in LoRa mode.

+
Parameters
+ + +
crLoRa link coding rate denominator to be set.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1278::setCRC (bool enableCRC)
+
+ +

Enables/disables CRC check of received packets.

+
Parameters
+ + +
enableCRCEnable (true) or disable (false) CRC.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t SX1278::setDataShaping (uint8_t sh)
+
+overridevirtual
+
+ +

Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping.

+
Parameters
+ + +
shGaussian shaping bandwidth-time product that will be used for data shaping
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1278::setDataShapingOOK (uint8_t sh)
+
+ +

Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency equal to bit rate and 2 for frequency equal to 2x bit rate. Set to 0 to disable data shaping. Only available in FSK mode with OOK modulation.

+
Parameters
+ + +
shCutoff frequency that will be used for data shaping
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1278::setFrequency (float freq)
+
+ +

Sets carrier frequency. Allowed values range from 137.0 MHz to 525.0 MHz.

+
Parameters
+ + +
freqCarrier frequency to be set in MHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1278::setGain (uint8_t gain)
+
+ +

Sets gain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended). Only available in LoRa mode.

+
Parameters
+ + +
gainGain of receiver LNA (low-noise amplifier) to be set.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1278::setOutputPower (int8_t power)
+
+ +

Sets transmission output power. Allowed values range from 2 to 17 dBm.

+
Parameters
+ + +
powerTransmission output power in dBm.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1278::setSpreadingFactor (uint8_t sf)
+
+ +

Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode.

+
Parameters
+ + +
sfLoRa link spreading factor to be set.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX127x/SX1278.h
  • +
  • src/modules/SX127x/SX1278.cpp
  • +
+
+
+ + + + diff --git a/class_s_x1278.js b/class_s_x1278.js new file mode 100644 index 00000000..c873becc --- /dev/null +++ b/class_s_x1278.js @@ -0,0 +1,19 @@ +var class_s_x1278 = +[ + [ "SX1278", "class_s_x1278.html#a00ebd3e60a66056940b241b13da0c68e", null ], + [ "autoLDRO", "class_s_x1278.html#ae02adcde8c2978c0d1b157729dd5df1e", null ], + [ "begin", "class_s_x1278.html#af7d9dc775820f7b260b578908cea3dbe", null ], + [ "beginFSK", "class_s_x1278.html#a33dc718c83c233a1f93d6bdf2ec31783", null ], + [ "forceLDRO", "class_s_x1278.html#a6d6398c4d4fde302d6d4752708bce856", null ], + [ "getRSSI", "class_s_x1278.html#a0b1fe4d0b1acfa454d7bab59cdf319fe", null ], + [ "reset", "class_s_x1278.html#a6d60902ac59b653a9eb83e82a932f7ad", null ], + [ "setBandwidth", "class_s_x1278.html#a46c27ed1ebaae4e3ed8afe3ae6941dd6", null ], + [ "setCodingRate", "class_s_x1278.html#a834f26a0bd3fc8a03fa7e68aa4daf9e1", null ], + [ "setCRC", "class_s_x1278.html#adf0b0d628c7f7479f19c153732363462", null ], + [ "setDataShaping", "class_s_x1278.html#afb740a4925b64d83d5edca10d93f0563", null ], + [ "setDataShapingOOK", "class_s_x1278.html#a1ccc4d5062f739d534ab22562c7efca4", null ], + [ "setFrequency", "class_s_x1278.html#a4b14d432ef1bd72982f4771cac5b62e4", null ], + [ "setGain", "class_s_x1278.html#aa57b713988cfa224a6db2ff325052931", null ], + [ "setOutputPower", "class_s_x1278.html#a8eeac64472fa70ed5e51f35d581f37ea", null ], + [ "setSpreadingFactor", "class_s_x1278.html#af70c22fe38bc3b944070ccbc083fed08", null ] +]; \ No newline at end of file diff --git a/class_s_x1278.png b/class_s_x1278.png new file mode 100644 index 0000000000000000000000000000000000000000..f7d5bcb60ed935e0a6e29c58c53162ee2833d24c GIT binary patch literal 1965 zcmb_d2~bm46ph6isw1)0y3k5&2hm703Rpx#qT*5z5=1@`Tq1*1Kuu)Rge4i#A)~Ui z5@85PLG?`4m?Cl?oO#b~>U`>zO z+S)HKbYj8MJi?2z4+Wg2o_2+|9SVgey6)KK&6+jP^^~DrzbL+~uKcc!tic7k`Ng+x z|F+rq+v0P3N-h&hm@mk7_m&dOX4yKx@L_AEe}R|PW;b^4YGrl~pO<8zbgZf$EQ8gT zm;qR`G#L%rn4&56sn;Yg@?f*hJXZ)A2CB+Y$NV0hq-?RR(;ncF#l)NKk2N}2C8Lw6 zbDA4e1l^mJO8>fb{UalM`jT;9q(LZFN}kCT9z%#PB3Bzvh6>Y!^W6zTK5t{yLE|lm zexOrj#w((7K|)Q8RC;9#RiVn_ojE1ahh8Gr>0`zbjW2Smm}`+)LqeYOd83>8MX zQ9kU~{qpfXt4C@#0ee@Fa|+2S3vSO%yJPig0E@at8m#Jknq-S z!SGo5f>w8hi%ZAJ`z~Z0W`68>YE;lFWwtnim-Go9pJ8FdOvfzVo&&3QdRaYMGlTTZ z$-PlXQ+>dAsp(YIvqY@1(sU4t^i|0H4z1;e#Fi3bWtK?<2wEZn5D#cZ9!j!XR1IF9 z(CAL!)8#iny;{@xDkZso5`v!R0-sThYHZ0x>S+TEH-b=VALKy@iRnz&?6dl_bs*Mw zyPhg&an#)$8&2gMH0oc3O!9eUm9l3{lGT#yL-EvCILuJr7>N#zhT|~DugpO934UOa zxZz&o*4mDa?OW{ubSEoZF@{{CgZ67uU-nf#FYEsDkNET%@B^n!kWc)S(FB6dtuCd2 z%0ILdq;sf9g0M1W!$=IP3QIB~Bg>Pq1uG!Db;J6(?W za4g-}tZ?!=t`(TKJbrUx2DDYxZ}BQ7H1C0&e)5-@CM6GnEQam_o62Ae6tN76HGS)K~H zUHTj=zNXkc?`&XLVfQv1rtzrdyZzLLJ8?74@AmiGsOG+N{^*caH}SH71Z8_{c58)3#2xFxF<#CgWtb0-2&X z9$ynApdUUWmV}4h&TA&eGJ&f-`vxq~Npjd}8VI7{Nwkp^`|m2F+0NmD414GCpe%3W z@PQO->i+mN_i(8t49gDOCN*<7VO};^CPga^<{aYmwdrr`Bh0c^r8{s3N!(CD-yq<3 zU1>1o*qdD!GZs2C1?0_w49A|XXiijD|By_K1(|0Rw@_(m$kRKwB7LCP5oxfoH;6&e zc88cQTXXH2@cpmxP1LrcMnXnUa#GI?Wy_YKJ&k0pAX=p+YVT{t<)*GSJ-&f4~( zM$=d77mA(w*>vgy1}iL{;i3H_7={ZcBsq7g)4U-==gYPEuv+y2QXp@BHm)!X8U;a( zM+Gp97R5mAcGG>h>snOT!^ZfQUQt-%4uFByG4Cw%}isZWq!t7#d?>Nuo_o zGHgZ+AXwa#`as6vh&3{9xYXQ24z5~ng_1cf + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1279 Member List
+
+
+ +

This is the complete list of members for SX1279, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
autoLDRO()SX1278
begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)SX1279
SX127x::begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)SX127x
beginFSK(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)SX1279
SX127x::beginFSK(uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)SX127x
clearDio0Action()SX127x
clearDio1Action()SX127x
disableAddressFiltering()SX127x
fixedPacketLengthMode(uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
forceLDRO(bool enable)SX1278
getDataRate() const SX127x
getFreqStep() const PhysicalLayer
getFrequencyError(bool autoCorrect=false)SX127x
getIRQFlags()SX127x
getModemStatus()SX127x
getPacketLength(bool update=true) overrideSX127xvirtual
getRSSI()SX1278
getSNR()SX127x
getTempRaw()SX127x
packetMode()SX127x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX127xvirtual
reset() overrideSX1278virtual
scanChannel()SX127x
setBandwidth(float bw)SX1278
setBitRate(float br)SX127x
setBroadcastAddress(uint8_t broadAddr)SX127x
setCodingRate(uint8_t cr)SX1278
setCRC(bool enableCRC)SX1278
setCurrentLimit(uint8_t currentLimit)SX127x
setDataShaping(uint8_t sh) overrideSX1278virtual
setDataShapingOOK(uint8_t sh)SX1278
setDio0Action(void(*func)(void))SX127x
setDio1Action(void(*func)(void))SX127x
setEncoding(uint8_t encoding) overrideSX127xvirtual
setFrequency(float freq)SX1279
setFrequencyDeviation(float freqDev) overrideSX127xvirtual
setGain(uint8_t gain)SX1278
setNodeAddress(uint8_t nodeAddr)SX127x
setOOK(bool enableOOK)SX127x
setOutputPower(int8_t power)SX1278
setPreambleLength(uint16_t preambleLength)SX127x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX127x
setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)SX127x
setRxBandwidth(float rxBw)SX127x
setSpreadingFactor(uint8_t sf)SX1278
setSyncWord(uint8_t syncWord)SX127x
setSyncWord(uint8_t *syncWord, size_t len)SX127x
sleep()SX127x
standby() overrideSX127xvirtual
startReceive(uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)SX127x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1278(Module *mod)SX1278
SX1279(Module *mod)SX1279
SX127x(Module *mod)SX127x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX127xvirtual
variablePacketLengthMode(uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
+
+ + + + diff --git a/class_s_x1279.html b/class_s_x1279.html new file mode 100644 index 00000000..f4b18218 --- /dev/null +++ b/class_s_x1279.html @@ -0,0 +1,571 @@ + + + + + + +RadioLib: SX1279 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX1279 Class Reference
+
+
+ +

Derived class for SX1279 modules. Overrides some methods from SX1278 due to different parameter ranges. + More...

+ +

#include <SX1279.h>

+
+Inheritance diagram for SX1279:
+
+
+ + +SX1278 +SX127x +PhysicalLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX1279 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t beginFSK (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
 FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 137.0 MHz to 960.0 MHz. More...
 
- Public Member Functions inherited from SX1278
 SX1278 (Module *mod)
 Default constructor. Called from Arduino sketch when creating new LoRa instance. More...
 
int16_t begin (float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
 LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t beginFSK (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
 FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
+void reset () override
 Reset method. Will reset the chip to the default state using RST pin.
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 137.0 MHz to 525.0 MHz. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa link bandwidth. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz. Only available in LoRa mode. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode. More...
 
int16_t setCodingRate (uint8_t cr)
 Sets LoRa link coding rate denominator. Allowed values range from 5 to 8. Only available in LoRa mode. More...
 
int16_t setOutputPower (int8_t power)
 Sets transmission output power. Allowed values range from 2 to 17 dBm. More...
 
int16_t setGain (uint8_t gain)
 Sets gain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended). Only available in LoRa mode. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setDataShapingOOK (uint8_t sh)
 Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency equal to bit rate and 2 for frequency equal to 2x bit rate. Set to 0 to disable data shaping. Only available in FSK mode with OOK modulation. More...
 
float getRSSI ()
 Gets recorded signal strength indicator of the latest received packet for LoRa modem, or current RSSI level for FSK modem. More...
 
int16_t setCRC (bool enableCRC)
 Enables/disables CRC check of received packets. More...
 
int16_t forceLDRO (bool enable)
 Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method, LDRO will always be set to the provided value, regardless of symbol length. To re-enable automatic LDRO configuration, call SX1278::autoLDRO() More...
 
int16_t autoLDRO ()
 Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method, LDRO will be enabled automatically when symbol length exceeds 16 ms. More...
 
- Public Member Functions inherited from SX127x
 SX127x (Module *mod)
 Default constructor. Called internally when creating new LoRa instance. More...
 
int16_t begin (uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)
 Initialization method. Will be called with appropriate parameters when calling initialization method from derived class. More...
 
int16_t beginFSK (uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)
 Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK initialization method from derived class. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Binary transmit method. Will transmit arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Binary receive method. Will attempt to receive arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to receive Arduino String, see PhysicalLayer::receive. More...
 
int16_t scanChannel ()
 Performs scan for valid LoRa preamble in the current channel. More...
 
int16_t sleep ()
 Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called. More...
 
int16_t standby () override
 Sets the LoRa module to standby. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t receiveDirect () override
 Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t packetMode ()
 Disables direct mode and enables packet mode, allowing the module to receive packets. Can only be activated in FSK mode. More...
 
void setDio0Action (void(*func)(void))
 Set interrupt service routine function to call when DIO0 activates. More...
 
+void clearDio0Action ()
 Clears interrupt service routine to call when DIO0 activates.
 
void setDio1Action (void(*func)(void))
 Set interrupt service routine function to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. More...
 
int16_t startReceive (uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)
 Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data that was received after calling startReceive method. This method reads len characters. More...
 
int16_t setSyncWord (uint8_t syncWord)
 Sets LoRa sync word. Only available in LoRa mode. More...
 
int16_t setCurrentLimit (uint8_t currentLimit)
 Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45 to 120 mA in 5 mA steps and 120 to 240 mA in 10 mA steps. More...
 
int16_t setPreambleLength (uint16_t preambleLength)
 Sets LoRa preamble length. Allowed values range from 6 to 65535. Only available in LoRa mode. More...
 
float getFrequencyError (bool autoCorrect=false)
 Gets frequency error of the latest received packet. More...
 
float getSNR ()
 Gets signal-to-noise ratio of the latest received packet. More...
 
float getDataRate () const
 Get data rate of the latest transmitted packet. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and must be lower than 200 kHz. Only available in FSK mode. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode. More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len)
 Sets FSK sync word. Allowed sync words are up to 8 bytes long and can not contain null bytes. Only available in FSK mode. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t disableAddressFiltering ()
 Disables FSK address filtering. More...
 
int16_t setOOK (bool enableOOK)
 Enables/disables OOK modulation instead of FSK. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in fixed packet length mode. Available in FSK mode only. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in variable packet length mode. Available in FSK mode only. More...
 
int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)
 Sets RSSI measurement configuration in FSK mode. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
uint16_t getIRQFlags ()
 Reads currently active IRQ flags, can be used to check which event caused an interrupt. In LoRa mode, this is the content of SX127X_REG_IRQ_FLAGS register. In FSK mode, this is the contents of SX127X_REG_IRQ_FLAGS_2 (MSB) and SX127X_REG_IRQ_FLAGS_1 (LSB) registers. More...
 
uint8_t getModemStatus ()
 Reads modem status. Only available in LoRa mode. More...
 
int8_t getTempRaw ()
 Reads uncalibrated temperature value. This function will change operating mode and should not be called during Tx, Rx or CAD. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for SX1279 modules. Overrides some methods from SX1278 due to different parameter ranges.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX1279::SX1279 (Modulemod)
+
+ +

Default constructor. Called from Arduino sketch when creating new LoRa instance.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the LoRa chip.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1279::begin (float freq = 434.0,
float bw = 125.0,
uint8_t sf = 9,
uint8_t cr = 7,
uint8_t syncWord = SX127X_SYNC_WORD,
int8_t power = 10,
uint16_t preambleLength = 8,
uint8_t gain = 0 
)
+
+ +

LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 960.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX1279::beginFSK (float freq = 434.0,
float br = 48.0,
float freqDev = 50.0,
float rxBw = 125.0,
int8_t power = 10,
uint16_t preambleLength = 16,
bool enableOOK = false 
)
+
+ +

FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX1279::setFrequency (float freq)
+
+ +

Sets carrier frequency. Allowed values range from 137.0 MHz to 960.0 MHz.

+
Parameters
+ + +
freqCarrier frequency to be set in MHz.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX127x/SX1279.h
  • +
  • src/modules/SX127x/SX1279.cpp
  • +
+
+
+ + + + diff --git a/class_s_x1279.js b/class_s_x1279.js new file mode 100644 index 00000000..5a63a690 --- /dev/null +++ b/class_s_x1279.js @@ -0,0 +1,7 @@ +var class_s_x1279 = +[ + [ "SX1279", "class_s_x1279.html#abc606ad06ee77b6830dab4331793d22a", null ], + [ "begin", "class_s_x1279.html#a86e675a0c6f5970370ae6a9b1be27167", null ], + [ "beginFSK", "class_s_x1279.html#a94a6c5f49eb8f26b7eeb1d5ee258f089", null ], + [ "setFrequency", "class_s_x1279.html#acf9b2087f5b661f06e9512bad36b3817", null ] +]; \ No newline at end of file diff --git a/class_s_x1279.png b/class_s_x1279.png new file mode 100644 index 0000000000000000000000000000000000000000..4714b0dca98435db59805374923d2dfde250b2da GIT binary patch literal 789 zcmeAS@N?(olHy`uVBq!ia0vp^u|Rx)gBeH$hR@FdQW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;HITi4joX@?AYQx>3IDn{>z5FleRn-sAkz?;p5d&}Q*U%WZ{^xC^?ebVE# z3pHHw-!uKbR*|N^v^uQAZo{(elf>VwzqWVd{x5H$PtKh;(|0LH@q%UM-{<`ekI#D1 z{bl*L`4jB7{_n8ae_+y+PfyE?H)}B5OJLzpzGBxm@mIiaXSo&qTkA{DFOfZ<`j$a1 zll_B-b%XmYMw?4~4 zZJlkq9+`PeIz4so_0oku@9deR^44O#PvP5nTW98Jdt7S#9DDaq-`1O~o}YHUn)&r? zb$tB1>TieFy<5HKY+mTIQ*r9%V?eRTkTd= z$KP63xajTQb6%GkrT@lB?M?BVbb^#`iHVgJ7yWnjpFf%AFqfmUpSNT3)G2h76oxLYlC=e^48ZKzxD2rZ?$IK`_EqN z1rO%NzLiqHb??2-0jSd$cRVR)JD?1V!}vU)H64%S`E)H`nrb-N0@E;qr>mdKI;Vst E0A;d% + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX127x Member List
+
+
+ +

This is the complete list of members for SX127x, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)SX127x
beginFSK(uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)SX127x
clearDio0Action()SX127x
clearDio1Action()SX127x
disableAddressFiltering()SX127x
fixedPacketLengthMode(uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
getDataRate() const SX127x
getFreqStep() const PhysicalLayer
getFrequencyError(bool autoCorrect=false)SX127x
getIRQFlags()SX127x
getModemStatus()SX127x
getPacketLength(bool update=true) overrideSX127xvirtual
getSNR()SX127x
getTempRaw()SX127x
packetMode()SX127x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX127xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX127xvirtual
reset()=0SX127xpure virtual
scanChannel()SX127x
setBitRate(float br)SX127x
setBroadcastAddress(uint8_t broadAddr)SX127x
setCurrentLimit(uint8_t currentLimit)SX127x
setDataShaping(uint8_t sh)=0PhysicalLayerpure virtual
setDio0Action(void(*func)(void))SX127x
setDio1Action(void(*func)(void))SX127x
setEncoding(uint8_t encoding) overrideSX127xvirtual
setFrequencyDeviation(float freqDev) overrideSX127xvirtual
setNodeAddress(uint8_t nodeAddr)SX127x
setOOK(bool enableOOK)SX127x
setPreambleLength(uint16_t preambleLength)SX127x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX127x
setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)SX127x
setRxBandwidth(float rxBw)SX127x
setSyncWord(uint8_t syncWord)SX127x
setSyncWord(uint8_t *syncWord, size_t len)SX127x
sleep()SX127x
standby() overrideSX127xvirtual
startReceive(uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)SX127x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX127x(Module *mod)SX127x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX127xvirtual
variablePacketLengthMode(uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)SX127x
+
+ + + + diff --git a/class_s_x127x.html b/class_s_x127x.html new file mode 100644 index 00000000..b9e85e37 --- /dev/null +++ b/class_s_x127x.html @@ -0,0 +1,1478 @@ + + + + + + +RadioLib: SX127x Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX127x Class Referenceabstract
+
+
+ +

Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes. + More...

+ +

#include <SX127x.h>

+
+Inheritance diagram for SX127x:
+
+
+ + +PhysicalLayer +SX1272 +SX1278 +SX1273 +RFM95 +RFM96 +SX1276 +SX1277 +SX1279 +RFM97 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX127x (Module *mod)
 Default constructor. Called internally when creating new LoRa instance. More...
 
int16_t begin (uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)
 Initialization method. Will be called with appropriate parameters when calling initialization method from derived class. More...
 
+virtual void reset ()=0
 Reset method. Will reset the chip to the default state using RST pin. Declared pure virtual since SX1272 and SX1278 implementations differ.
 
int16_t beginFSK (uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)
 Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK initialization method from derived class. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Binary transmit method. Will transmit arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Binary receive method. Will attempt to receive arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to receive Arduino String, see PhysicalLayer::receive. More...
 
int16_t scanChannel ()
 Performs scan for valid LoRa preamble in the current channel. More...
 
int16_t sleep ()
 Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called. More...
 
int16_t standby () override
 Sets the LoRa module to standby. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t receiveDirect () override
 Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
int16_t packetMode ()
 Disables direct mode and enables packet mode, allowing the module to receive packets. Can only be activated in FSK mode. More...
 
void setDio0Action (void(*func)(void))
 Set interrupt service routine function to call when DIO0 activates. More...
 
+void clearDio0Action ()
 Clears interrupt service routine to call when DIO0 activates.
 
void setDio1Action (void(*func)(void))
 Set interrupt service routine function to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. More...
 
int16_t startReceive (uint8_t len=0, uint8_t mode=SX127X_RXCONTINUOUS)
 Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data that was received after calling startReceive method. This method reads len characters. More...
 
int16_t setSyncWord (uint8_t syncWord)
 Sets LoRa sync word. Only available in LoRa mode. More...
 
int16_t setCurrentLimit (uint8_t currentLimit)
 Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45 to 120 mA in 5 mA steps and 120 to 240 mA in 10 mA steps. More...
 
int16_t setPreambleLength (uint16_t preambleLength)
 Sets LoRa preamble length. Allowed values range from 6 to 65535. Only available in LoRa mode. More...
 
float getFrequencyError (bool autoCorrect=false)
 Gets frequency error of the latest received packet. More...
 
float getSNR ()
 Gets signal-to-noise ratio of the latest received packet. More...
 
float getDataRate () const
 Get data rate of the latest transmitted packet. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and must be lower than 200 kHz. Only available in FSK mode. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode. More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len)
 Sets FSK sync word. Allowed sync words are up to 8 bytes long and can not contain null bytes. Only available in FSK mode. More...
 
int16_t setNodeAddress (uint8_t nodeAddr)
 Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t setBroadcastAddress (uint8_t broadAddr)
 Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK mode. More...
 
int16_t disableAddressFiltering ()
 Disables FSK address filtering. More...
 
int16_t setOOK (bool enableOOK)
 Enables/disables OOK modulation instead of FSK. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t fixedPacketLengthMode (uint8_t len=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in fixed packet length mode. Available in FSK mode only. More...
 
int16_t variablePacketLengthMode (uint8_t maxLen=SX127X_MAX_PACKET_LENGTH_FSK)
 Set modem in variable packet length mode. Available in FSK mode only. More...
 
int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)
 Sets RSSI measurement configuration in FSK mode. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
uint16_t getIRQFlags ()
 Reads currently active IRQ flags, can be used to check which event caused an interrupt. In LoRa mode, this is the content of SX127X_REG_IRQ_FLAGS register. In FSK mode, this is the contents of SX127X_REG_IRQ_FLAGS_2 (MSB) and SX127X_REG_IRQ_FLAGS_1 (LSB) registers. More...
 
uint8_t getModemStatus ()
 Reads modem status. Only available in LoRa mode. More...
 
int8_t getTempRaw ()
 Reads uncalibrated temperature value. This function will change operating mode and should not be called during Tx, Rx or CAD. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
virtual int16_t setDataShaping (uint8_t sh)=0
 Sets GFSK data shaping. Only available in FSK mode. Must be implemented in module class. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX127x::SX127x (Modulemod)
+
+ +

Default constructor. Called internally when creating new LoRa instance.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the LoRa chip.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX127x::begin (uint8_t chipVersion,
uint8_t syncWord,
uint16_t preambleLength 
)
+
+ +

Initialization method. Will be called with appropriate parameters when calling initialization method from derived class.

+
Parameters
+ + + + +
chipVersionValue in SPI version register. Used to verify the connection and hardware version.
syncWordLoRa sync word.
preambleLengthLength of LoRa transmission preamble in symbols.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX127x::beginFSK (uint8_t chipVersion,
float br,
float freqDev,
float rxBw,
uint16_t preambleLength,
bool enableOOK 
)
+
+ +

Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK initialization method from derived class.

+
Parameters
+ + + + + + + +
chipVersionValue in SPI version register. Used to verify the connection and hardware version.
brBit rate of the FSK transmission in kbps (kilobits per second).
freqDevFrequency deviation of the FSK transmission in kHz.
rxBwReceiver bandwidth in kHz.
preambleLengthLength of FSK preamble in bits.
enableOOKFlag to specify OOK mode. This modulation is similar to FSK.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t SX127x::disableAddressFiltering ()
+
+ +

Disables FSK address filtering.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX127x::fixedPacketLengthMode (uint8_t len = SX127X_MAX_PACKET_LENGTH_FSK)
+
+ +

Set modem in fixed packet length mode. Available in FSK mode only.

+
Parameters
+ + +
lenPacket length.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
float SX127x::getDataRate () const
+
+ +

Get data rate of the latest transmitted packet.

+
Returns
Last packet data rate in bps (bits per second).
+ +
+
+ +
+
+ + + + + + + + +
float SX127x::getFrequencyError (bool autoCorrect = false)
+
+ +

Gets frequency error of the latest received packet.

+
Parameters
+ + +
autoCorrectWhen set to true, frequency will be automatically corrected.
+
+
+
Returns
Frequency error in Hz.
+ +
+
+ +
+
+ + + + + + + +
uint16_t SX127x::getIRQFlags ()
+
+ +

Reads currently active IRQ flags, can be used to check which event caused an interrupt. In LoRa mode, this is the content of SX127X_REG_IRQ_FLAGS register. In FSK mode, this is the contents of SX127X_REG_IRQ_FLAGS_2 (MSB) and SX127X_REG_IRQ_FLAGS_1 (LSB) registers.

+
Returns
IRQ flags.
+ +
+
+ +
+
+ + + + + + + +
uint8_t SX127x::getModemStatus ()
+
+ +

Reads modem status. Only available in LoRa mode.

+
Returns
Modem status.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
size_t SX127x::getPacketLength (bool update = true)
+
+overridevirtual
+
+ +

Query modem for the packet length of received payload.

+
Parameters
+ + +
updateUpdate received packet length. Will return cached value when set to false.
+
+
+
Returns
Length of last received packet in bytes.
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + +
float SX127x::getSNR ()
+
+ +

Gets signal-to-noise ratio of the latest received packet.

+
Returns
Last packet signal-to-noise ratio (SNR).
+ +
+
+ +
+
+ + + + + + + +
int8_t SX127x::getTempRaw ()
+
+ +

Reads uncalibrated temperature value. This function will change operating mode and should not be called during Tx, Rx or CAD.

+
Returns
Uncalibrated temperature sensor reading.
+ +
+
+ +
+
+ + + + + + + +
int16_t SX127x::packetMode ()
+
+ +

Disables direct mode and enables packet mode, allowing the module to receive packets. Can only be activated in FSK mode.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t SX127x::readData (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Reads data that was received after calling startReceive method. This method reads len characters.

+
Parameters
+ + + +
dataPointer to array to save the received binary data.
lenNumber of bytes that will be received. Must be known in advance for binary transmissions.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t SX127x::receive (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Binary receive method. Will attempt to receive arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to receive Arduino String, see PhysicalLayer::receive.

+
Parameters
+ + + +
dataPointer to array to save the received binary data.
lenNumber of bytes that will be received. Must be known in advance for binary transmissions.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t SX127x::receiveDirect ()
+
+overridevirtual
+
+ +

Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode.

+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + +
int16_t SX127x::scanChannel ()
+
+ +

Performs scan for valid LoRa preamble in the current channel.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX127x::setBitRate (float br)
+
+ +

Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode.

+
Parameters
+ + +
brBit rate to be set (in kbps).
+
+
+
Returns
Status Codes
+
Todo:
fractional part of bit rate setting (not in OOK)
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX127x::setBroadcastAddress (uint8_t broadAddr)
+
+ +

Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK mode.

+
Parameters
+ + +
broadAddrBroadcast address to be set.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX127x::setCurrentLimit (uint8_t currentLimit)
+
+ +

Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45 to 120 mA in 5 mA steps and 120 to 240 mA in 10 mA steps.

+
Parameters
+ + +
currentLimitCurrent limit to be set (in mA).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
void SX127x::setDio0Action (void(*)(void) func)
+
+ +

Set interrupt service routine function to call when DIO0 activates.

+
Parameters
+ + +
funcPointer to interrupt service routine.
+
+
+ +
+
+ +
+
+ + + + + + + + +
void SX127x::setDio1Action (void(*)(void) func)
+
+ +

Set interrupt service routine function to call when DIO1 activates.

+
Parameters
+ + +
funcPointer to interrupt service routine.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t SX127x::setEncoding (uint8_t encoding)
+
+overridevirtual
+
+ +

Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING.

+
Parameters
+ + +
encodingEncoding to be used.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t SX127x::setFrequencyDeviation (float freqDev)
+
+overridevirtual
+
+ +

Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and must be lower than 200 kHz. Only available in FSK mode.

+
Parameters
+ + +
freqDevFrequency deviation to be set (in kHz).
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t SX127x::setNodeAddress (uint8_t nodeAddr)
+
+ +

Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode.

+
Parameters
+ + +
nodeAddrNode address to be set.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX127x::setOOK (bool enableOOK)
+
+ +

Enables/disables OOK modulation instead of FSK.

+
Parameters
+ + +
enableOOKEnable (true) or disable (false) OOK.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX127x::setPreambleLength (uint16_t preambleLength)
+
+ +

Sets LoRa preamble length. Allowed values range from 6 to 65535. Only available in LoRa mode.

+
Parameters
+ + +
preambleLengthPreamble length to be set (in symbols).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void SX127x::setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn,
RADIOLIB_PIN_TYPE txEn 
)
+
+ +

Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch!

+
Parameters
+ + + +
rxEnRX enable pin.
txEnTX enable pin.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX127x::setRSSIConfig (uint8_t smoothingSamples,
int8_t offset = 0 
)
+
+ +

Sets RSSI measurement configuration in FSK mode.

+
Parameters
+ + + +
smoothingSamplesNumber of samples taken to average the RSSI result. numSamples = 2 ^ (1 + smoothingSamples), allowed values are in range 0 (2 samples) - 7 (256 samples)
offsetSigned RSSI offset that will be automatically compensated. 1 dB per LSB, defaults to 0, allowed values are in range -16 dB to +15 dB.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX127x::setRxBandwidth (float rxBw)
+
+ +

Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode.

+
Parameters
+ + +
rxBwReceiver bandwidth to be set (in kHz).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX127x::setSyncWord (uint8_t syncWord)
+
+ +

Sets LoRa sync word. Only available in LoRa mode.

+
Parameters
+ + +
syncWordSync word to be set.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX127x::setSyncWord (uint8_t * syncWord,
size_t len 
)
+
+ +

Sets FSK sync word. Allowed sync words are up to 8 bytes long and can not contain null bytes. Only available in FSK mode.

+
Parameters
+ + + +
syncWordSync word array.
lenSync word length (in bytes).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t SX127x::sleep ()
+
+ +

Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t SX127x::standby ()
+
+overridevirtual
+
+ +

Sets the LoRa module to standby.

+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX127x::startReceive (uint8_t len = 0,
uint8_t mode = SX127X_RXCONTINUOUS 
)
+
+ +

Interrupt-driven receive method. DIO0 will be activated when full valid packet is received.

+
Parameters
+ + + +
lenExpected length of packet to be received. Required for LoRa spreading factor 6.
modeReceive mode to be used. Defaults to RxContinuous.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX127x::startTransmit (uint8_t * data,
size_t len,
uint8_t addr = 0 
)
+
+overridevirtual
+
+ +

Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem.

+
Parameters
+ + + + +
dataBinary data that will be transmitted.
lenLength of binary data to transmit (in bytes).
addrNode address to transmit the packet to. Only used in FSK mode.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX127x::transmit (uint8_t * data,
size_t len,
uint8_t addr = 0 
)
+
+overridevirtual
+
+ +

Binary transmit method. Will transmit arbitrary binary data up to 255 bytes long using LoRa or up to 63 bytes using FSK modem. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit.

+
Parameters
+ + + + +
dataBinary data that will be transmitted.
lenLength of binary data to transmit (in bytes).
addrNode address to transmit the packet to. Only used in FSK mode.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t SX127x::transmitDirect (uint32_t frf = 0)
+
+overridevirtual
+
+ +

Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode.

+
Parameters
+ + +
frf24-bit raw frequency value to start transmitting at. Required for quick frequency shifts in RTTY.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t SX127x::variablePacketLengthMode (uint8_t maxLen = SX127X_MAX_PACKET_LENGTH_FSK)
+
+ +

Set modem in variable packet length mode. Available in FSK mode only.

+
Parameters
+ + +
lenMaximum packet length.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX127x/SX127x.h
  • +
  • src/modules/SX127x/SX127x.cpp
  • +
+
+
+ + + + diff --git a/class_s_x127x.js b/class_s_x127x.js new file mode 100644 index 00000000..3f1a8e9d --- /dev/null +++ b/class_s_x127x.js @@ -0,0 +1,45 @@ +var class_s_x127x = +[ + [ "SX127x", "class_s_x127x.html#ac74c5914ca429a3892c66b9d98e3ea6c", null ], + [ "begin", "class_s_x127x.html#a5da8218f69e3bf52df389a0480f8b430", null ], + [ "beginFSK", "class_s_x127x.html#add78edb65673d9e88931a55b0672a9f3", null ], + [ "clearDio0Action", "class_s_x127x.html#a729b4f3f36096b5b15bae19c7876e823", null ], + [ "clearDio1Action", "class_s_x127x.html#a9b6532a25e1730973ac08146008adca5", null ], + [ "disableAddressFiltering", "class_s_x127x.html#afe6e9bbfd75f9cad26f9f72c34c4ada5", null ], + [ "fixedPacketLengthMode", "class_s_x127x.html#aaf8ce9f09d0f46a76a5e251786b6de7f", null ], + [ "getDataRate", "class_s_x127x.html#a92274b8e6406bc6c1edee0497e7ad1f6", null ], + [ "getFrequencyError", "class_s_x127x.html#af6aa854a2668d70f4d3a374a49440362", null ], + [ "getIRQFlags", "class_s_x127x.html#ac5d2ddb517e474a699b4539653b3754d", null ], + [ "getModemStatus", "class_s_x127x.html#a2cf6a5bd8f3257f98ee4f250cbdf8bdc", null ], + [ "getPacketLength", "class_s_x127x.html#a462fa74275e67c296328a01f361892d5", null ], + [ "getSNR", "class_s_x127x.html#abc5069b39dc31b637ee561d5745e1deb", null ], + [ "getTempRaw", "class_s_x127x.html#a95bc32a555675879ad9e2a9e399dc6c1", null ], + [ "packetMode", "class_s_x127x.html#a0995088d37689a3c240a1af791df6cf1", null ], + [ "readData", "class_s_x127x.html#abfc840e8d6fe5e222f0143be17876745", null ], + [ "receive", "class_s_x127x.html#adfe0d3f033a23ec2f3c2a407285d357c", null ], + [ "receiveDirect", "class_s_x127x.html#aa7ac558d537c6364c4bc82c8f33e398f", null ], + [ "reset", "class_s_x127x.html#a3321ac4a7f65e73004202486db9b1d68", null ], + [ "scanChannel", "class_s_x127x.html#ada007b90821258fe8c6ca7f8ae3efed5", null ], + [ "setBitRate", "class_s_x127x.html#a606d839b3a992c681ac9ad7ca6020022", null ], + [ "setBroadcastAddress", "class_s_x127x.html#abc51ce6718153e4963128f25bb5aab40", null ], + [ "setCurrentLimit", "class_s_x127x.html#a400575e3d83977bd250c5cb382fc7002", null ], + [ "setDio0Action", "class_s_x127x.html#ada53419d65f207f352124da7747c5960", null ], + [ "setDio1Action", "class_s_x127x.html#afc844f7f3530f4076c8ea5f684c1b123", null ], + [ "setEncoding", "class_s_x127x.html#abad2d455012bd28d304589c8164390eb", null ], + [ "setFrequencyDeviation", "class_s_x127x.html#a448ea8a6a6011a9cdddd4e09bd6c9679", null ], + [ "setNodeAddress", "class_s_x127x.html#ab99630d50672b43fc7162ba8f3293f95", null ], + [ "setOOK", "class_s_x127x.html#a24ef0af19a6b8954f956a3c3ad4286ee", null ], + [ "setPreambleLength", "class_s_x127x.html#ab608c45e0dcc44280df29580dc0a31ed", null ], + [ "setRfSwitchPins", "class_s_x127x.html#ae9781180418c1ec9c365b74acbc98d8a", null ], + [ "setRSSIConfig", "class_s_x127x.html#ad3955f85f456edae772a51025a19029b", null ], + [ "setRxBandwidth", "class_s_x127x.html#a2cc53b9f9d90647c5709cb974779cf53", null ], + [ "setSyncWord", "class_s_x127x.html#ac5c7f4584352a12390594395d9c29bde", null ], + [ "setSyncWord", "class_s_x127x.html#a9b7afe338fd5b81122c369ecaf0c3ebc", null ], + [ "sleep", "class_s_x127x.html#a44501ec8f8ac6084467b94516b1337df", null ], + [ "standby", "class_s_x127x.html#a760b8c5103128f122fbe489c6529ce41", null ], + [ "startReceive", "class_s_x127x.html#afe8456d0f9abbce4d743f256f3e1e6c6", null ], + [ "startTransmit", "class_s_x127x.html#adc2f1379573b7a7b5ee8125ea3752083", null ], + [ "transmit", "class_s_x127x.html#a9c4ea3285922bf01cebd2c8a706d9a29", null ], + [ "transmitDirect", "class_s_x127x.html#aefeeb9f7192e11a75b5dfb1ab8488e84", null ], + [ "variablePacketLengthMode", "class_s_x127x.html#a9f753c0857e7b8b4b9f7f6e91c77f0fd", null ] +]; \ No newline at end of file diff --git a/class_s_x127x.png b/class_s_x127x.png new file mode 100644 index 0000000000000000000000000000000000000000..ecf112c3cf433d5abdaea9d4060d843db0195d17 GIT binary patch literal 2429 zcmb_eYgCg*8m0!)O1T^>76{O6H3C~G#FYC*)&fe75m;125KLECU@fu;B%rx$;MCNG zk~KMUDL2_uxrj(wkZ=jPKwF@QL=ch+BtU>PToM8X2uWZk?jFy!d)oDfbI#27elzbk z-#pJd^FDJkGW>+ODa_Q!$jBTW77}G-v39-d0ZsUg%mWv!DJYIl2r{xZ>)X6r0!{t*3cDwdgPZf07Xf{kQ`K=Shr z!)&ZvGt8FfS5!C*J%UqlJuqV_8-4XIh5wjn?6p4}_`r#Km$MFOrMe-l%h7OxF^;2* z=PYhXp-}%#U*=}cV_PDLlrei@Ts;#w2!*Qmi6*3fK2nYUwvp#XBG|^T!s>_d%tl^O z+-!-1%8%K&zvQ+TvOay!^=z?m`pV}*ry_SQI}DQF2^amo*4eJZ1{dEpX zqEef=wSP3#TbDVjTPxU|;9)n5D2E4b)57S9yrB|rq^JW-6>`zsY(s&=TFM(Kd@+#~ z>Nt?@35K9hlan4u=a_#|j`80yAQ!cz#X(I?Nw~k|<(;?;Xy};{^xVNxfTIh0W31=S zw93HA2>TB9=Kp;BGuoc;UZ+cb0w~3lJbkR~F-U%;VP!7^^x{v-Lpiy`iiB0!l4@de zv=82khuJJovi4Qb{c6RLu$W{MhM$Mc=z0EE7Uth) zMI#%6^N+lyA);j(I6ae}fW}^D4eT!_HU({n^K)Fg7`p2SkDiEuoTQ`8UD4lrFcD=> zf7#Jm%}Yptr&Bkb>fF<1w4lKE7<07_(D9m?MG33L@04tg_<>B*?ci2*c;KPlWW0ud zTieq4-s7=`^--voZz~kXZmf39+>v$#ko?LKLR?2^ky%sRoVrzUL#?mhun`Fa*WT>n z%#*h-v8yI4IUBYjo&Y8)`QrtQ+@owM8NK%7&K^5>EJT|c9VFqwM3pt3Og4yQp?u}} zcN%F6Lh~nT+?+rlu5uhWrQPd_CM8qB`BDNnwxa+}6u@@`;B)kR<&F`u8xv4_6${dmR|T13XN(2yq3B#5DZuh9W3I%Ius@wYuh>g>>yuau0L5P zSCt~Xzv#YM;G)+oNUzBn$?SvZD>+Y5c*)>2DgyRQfWr4}wBpxS#v+9Nz9iGSB(a6{ zFn#XXv=cd_VNMjX z={#Ze5AvtM$?9xn?Akz3Qkj!^+NWhs-Q{N~l@WnQnU+E-qGKKo{DbY{7R2Sb;x5h3 zA>S)a)$Tgn_UxDV4T*%j20zDT^>ZIS0%Wvf=mcr1a$yHrfgq>nR7cRc!X$d)$Y`d)D5Qbr}mp9r2svz1-MI8rd)RZNj zx!$yx^O3*g36P7)BM(Epkj^%q)*|Y#Hw&S;2d34>V{>yg8t6C=t5g^lBe(|X`ajwN gAfO^wl^XcW%A?@-e@7L9yOI$)G(6 + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1280 Member List
+
+
+ +

This is the complete list of members for SX1280, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(float freq=2400.0, float bw=812.5, uint8_t sf=9, uint8_t cr=7, int8_t power=10, uint16_t preambleLength=12)SX128x
beginBLE(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)SX128x
beginFLRC(float freq=2400.0, uint16_t br=650, uint8_t cr=3, int8_t power=10, uint16_t preambleLength=16, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)SX128x
beginGFSK(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint16_t preambleLength=16)SX128x
clearDio1Action()SX128x
explicitHeader()SX128x
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overrideSX128xvirtual
getRangingResult()SX1280
getRSSI()SX128x
getSNR()SX128x
getTimeOnAir(size_t len)SX128x
implicitHeader(size_t len)SX128x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
range(bool master, uint32_t addr)SX1280
readData(uint8_t *data, size_t len) overrideSX128xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX128xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX128xvirtual
reset(bool verify=true)SX128x
scanChannel()SX128x
setAccessAddress(uint32_t addr)SX128x
setBandwidth(float bw)SX128x
setBitRate(uint16_t br)SX128x
setCodingRate(uint8_t cr, bool longInterleaving=false)SX128x
setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021)SX128x
setDataShaping(uint8_t sh) overrideSX128xvirtual
setDio1Action(void(*func)(void))SX128x
setEncoding(uint8_t encoding) overrideSX128xvirtual
setFrequency(float freq)SX128x
setFrequencyDeviation(float freqDev) overrideSX128xvirtual
setOutputPower(int8_t power)SX128x
setPreambleLength(uint32_t preambleLength)SX128x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX128x
setSpreadingFactor(uint8_t sf)SX128x
setSyncWord(uint8_t *syncWord, uint8_t len)SX128x
setWhitening(bool enabled)SX128x
sleep(bool retainConfig=true)SX128x
standby() overrideSX128xvirtual
standby(uint8_t mode)SX128x
startRanging(bool master, uint32_t addr)SX1280
startReceive(uint16_t timeout=SX128X_RX_TIMEOUT_INF)SX128x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1280(Module *mod)SX1280
SX1281(Module *mod)SX1281
SX128x(Module *mod)SX128x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX128xvirtual
+
+ + + + diff --git a/class_s_x1280.html b/class_s_x1280.html new file mode 100644 index 00000000..81c4a27d --- /dev/null +++ b/class_s_x1280.html @@ -0,0 +1,438 @@ + + + + + + +RadioLib: SX1280 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX1280 Class Reference
+
+
+ +

Derived class for SX1280 modules. + More...

+ +

#include <SX1280.h>

+
+Inheritance diagram for SX1280:
+
+
+ + +SX1281 +SX128x +PhysicalLayer +SX1282 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX1280 (Module *mod)
 Default constructor. More...
 
int16_t range (bool master, uint32_t addr)
 Blocking ranging method. More...
 
int16_t startRanging (bool master, uint32_t addr)
 Interrupt-driven ranging method. More...
 
float getRangingResult ()
 Gets ranging result of the last ranging exchange. More...
 
- Public Member Functions inherited from SX1281
 SX1281 (Module *mod)
 Default constructor. More...
 
- Public Member Functions inherited from SX128x
 SX128x (Module *mod)
 Default constructor. More...
 
int16_t begin (float freq=2400.0, float bw=812.5, uint8_t sf=9, uint8_t cr=7, int8_t power=10, uint16_t preambleLength=12)
 Initialization method for LoRa modem. More...
 
int16_t beginGFSK (float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint16_t preambleLength=16)
 Initialization method for GFSK modem. More...
 
int16_t beginBLE (float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)
 Initialization method for BLE modem. More...
 
int16_t beginFLRC (float freq=2400.0, uint16_t br=650, uint8_t cr=3, int8_t power=10, uint16_t preambleLength=16, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)
 Initialization method for FLRC modem. More...
 
int16_t reset (bool verify=true)
 Reset method. Will reset the chip to the default state using RST pin. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Starts direct mode transmission. More...
 
int16_t receiveDirect () override
 Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX128x series does not support direct mode reception. Will always return ERR_UNKNOWN. More...
 
int16_t scanChannel ()
 Performs scan for LoRa transmission in the current channel. Detects both preamble and payload. More...
 
int16_t sleep (bool retainConfig=true)
 Sets the module to sleep mode. More...
 
int16_t standby () override
 Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator). More...
 
int16_t standby (uint8_t mode)
 Sets the module to standby mode. More...
 
void setDio1Action (void(*func)(void))
 Sets interrupt service routine to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t startReceive (uint16_t timeout=SX128X_RX_TIMEOUT_INF)
 Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data received after calling startReceive method. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values are in range from 2400.0 to 2500.0 MHz. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa bandwidth. Allowed values are 203.125, 406.25, 812.5 and 1625.0 kHz. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa spreading factor. Allowed values range from 5 to 12. More...
 
int16_t setCodingRate (uint8_t cr, bool longInterleaving=false)
 Sets LoRa coding rate denominator. Allowed values range from 5 to 8. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values are in range from -18 to 13 dBm. More...
 
int16_t setPreambleLength (uint32_t preambleLength)
 Sets preamble length for currently active modem. Allowed values range from 1 to 65535. More...
 
int16_t setBitRate (uint16_t br)
 Sets FSK or FLRC bit rate. Allowed values are 125, 250, 400, 500, 800, 1000, 1600 and 2000 kbps (for FSK modem) or 260, 325, 520, 650, 1000 and 1300 (for FLRC modem). More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation. Allowed values range from 0.0 to 3200.0 kHz. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setSyncWord (uint8_t *syncWord, uint8_t len)
 Sets FSK/FLRC sync word in the form of array of up to 5 bytes (FSK). For FLRC modem, the sync word must be exactly 4 bytes long. More...
 
int16_t setCRC (uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021)
 Sets CRC configuration. More...
 
int16_t setWhitening (bool enabled)
 Sets whitening parameters, not available for LoRa or FLRC modem. More...
 
int16_t setAccessAddress (uint32_t addr)
 Sets BLE access address. More...
 
float getRSSI ()
 Gets RSSI (Recorded Signal Strength Indicator) of the last received packet. More...
 
float getSNR ()
 Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa or ranging modem. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
uint32_t getTimeOnAir (size_t len)
 Get expected time-on-air for a given size of payload. More...
 
int16_t implicitHeader (size_t len)
 Set implicit header mode for future reception/transmission. More...
 
int16_t explicitHeader ()
 Set explicit header mode for future reception/transmission. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Serves only as alias for PhysicalLayer compatibility. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for SX1280 modules.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX1280::SX1280 (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
float SX1280::getRangingResult ()
+
+ +

Gets ranging result of the last ranging exchange.

+
Returns
Ranging result in meters.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX1280::range (bool master,
uint32_t addr 
)
+
+ +

Blocking ranging method.

+
Parameters
+ + + +
masterWhether to execute ranging in master mode (true) or slave mode (false).
addrRanging address to be used.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX1280::startRanging (bool master,
uint32_t addr 
)
+
+ +

Interrupt-driven ranging method.

+
Parameters
+ + + +
masterWhether to execute ranging in master mode (true) or slave mode (false).
addrRanging address to be used.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX128x/SX1280.h
  • +
  • src/modules/SX128x/SX1280.cpp
  • +
+
+
+ + + + diff --git a/class_s_x1280.js b/class_s_x1280.js new file mode 100644 index 00000000..e6dd5439 --- /dev/null +++ b/class_s_x1280.js @@ -0,0 +1,7 @@ +var class_s_x1280 = +[ + [ "SX1280", "class_s_x1280.html#a0356199b89860e15cda4979cd9dc13eb", null ], + [ "getRangingResult", "class_s_x1280.html#a91f4f241f02cd4e79d15a9ba08eb1e8f", null ], + [ "range", "class_s_x1280.html#a812e289084b2f78977b254c28f0fff7c", null ], + [ "startRanging", "class_s_x1280.html#af30ff497ca3bcc043dc4dc2e7587a795", null ] +]; \ No newline at end of file diff --git a/class_s_x1280.png b/class_s_x1280.png new file mode 100644 index 0000000000000000000000000000000000000000..23d7bd49098df65191f189f5bb620acb9a4ba0dc GIT binary patch literal 932 zcmeAS@N?(olHy`uVBq!ia0vp^u|WKTgBeKftdm*;q$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0jXhl)Ln;{G&VAjt+JJ|x{k+io|0meF z&a(3C-C%b&tJlP^;&6+_y?@8f=;6yI zSgUUy>aE&*W{3K_Z@V6sUHkQXZ*Apft8M3f7iIn4P;)u(?(dhkol3qvJHPhsTA%cI z?Ty+l`R|2pU$fXW{gSNcBL6j)qfZKdOMiXu#{6I3s!z_Hw{xbKU|y%y-pcQ9>c6gR zt26j};h*p)=imJ&K8r_8irIH3FHMZ~0Cx{VV#}@LhC%XK^Pe>SiufJ=-RBl#%q6}D z6U!L-w=h>Mkv*XNmO(C){lgFMGULq#2A*6>ZznzZX!+Y9wm3rWl)>}a3ZCwBZgj8T z5GDTV(4;4yPuyE~VfnP2&8nWa3gTuyih7^5C?_@6ebTo%^IzS)AGzJsTJ!wkd6BMn zwMzFS+@G6u-Qw)SeW5d#zX|ud`u4kJtkjp<-72xlKuac;d4A&9K6|Ds;|C^X2Z@E> z3VW`!-%_t!V0Z1`RolsB4AW5@=waR9ev8rO-=w>Uz^*xG=W|_VTD#GipK5D7J#Q5z z>F+y~6}zLol-KjtN3c`9zS;i%5_xp%y{ku_o-+A&Zr942zrTH|+wLW+f1`Z)t=n~5 z|E{?IyyWtN@K<`C?`EmEH_YC4d`#|14^!Bg; zPawmd0~`WwD{5twzb^ddDYv43Yklc?U>vGK;t(1{P`B+*F*mNBck#@dO3YaO?l`Fo z9ILOyekpiDTotmo_PAYbc44kbt>?W}K9Aq8nLTUn3Hfhlet|;Ezx&^#mEZ2)nzKq} zXU& + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1281 Member List
+
+
+ +

This is the complete list of members for SX1281, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(float freq=2400.0, float bw=812.5, uint8_t sf=9, uint8_t cr=7, int8_t power=10, uint16_t preambleLength=12)SX128x
beginBLE(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)SX128x
beginFLRC(float freq=2400.0, uint16_t br=650, uint8_t cr=3, int8_t power=10, uint16_t preambleLength=16, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)SX128x
beginGFSK(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint16_t preambleLength=16)SX128x
clearDio1Action()SX128x
explicitHeader()SX128x
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overrideSX128xvirtual
getRSSI()SX128x
getSNR()SX128x
getTimeOnAir(size_t len)SX128x
implicitHeader(size_t len)SX128x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX128xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX128xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX128xvirtual
reset(bool verify=true)SX128x
scanChannel()SX128x
setAccessAddress(uint32_t addr)SX128x
setBandwidth(float bw)SX128x
setBitRate(uint16_t br)SX128x
setCodingRate(uint8_t cr, bool longInterleaving=false)SX128x
setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021)SX128x
setDataShaping(uint8_t sh) overrideSX128xvirtual
setDio1Action(void(*func)(void))SX128x
setEncoding(uint8_t encoding) overrideSX128xvirtual
setFrequency(float freq)SX128x
setFrequencyDeviation(float freqDev) overrideSX128xvirtual
setOutputPower(int8_t power)SX128x
setPreambleLength(uint32_t preambleLength)SX128x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX128x
setSpreadingFactor(uint8_t sf)SX128x
setSyncWord(uint8_t *syncWord, uint8_t len)SX128x
setWhitening(bool enabled)SX128x
sleep(bool retainConfig=true)SX128x
standby() overrideSX128xvirtual
standby(uint8_t mode)SX128x
startReceive(uint16_t timeout=SX128X_RX_TIMEOUT_INF)SX128x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1281(Module *mod)SX1281
SX128x(Module *mod)SX128x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX128xvirtual
+
+ + + + diff --git a/class_s_x1281.html b/class_s_x1281.html new file mode 100644 index 00000000..0aabe1f2 --- /dev/null +++ b/class_s_x1281.html @@ -0,0 +1,334 @@ + + + + + + +RadioLib: SX1281 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX1281 Class Reference
+
+
+ +

Derived class for SX1281 modules. + More...

+ +

#include <SX1281.h>

+
+Inheritance diagram for SX1281:
+
+
+ + +SX128x +PhysicalLayer +SX1280 +SX1282 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX1281 (Module *mod)
 Default constructor. More...
 
- Public Member Functions inherited from SX128x
 SX128x (Module *mod)
 Default constructor. More...
 
int16_t begin (float freq=2400.0, float bw=812.5, uint8_t sf=9, uint8_t cr=7, int8_t power=10, uint16_t preambleLength=12)
 Initialization method for LoRa modem. More...
 
int16_t beginGFSK (float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint16_t preambleLength=16)
 Initialization method for GFSK modem. More...
 
int16_t beginBLE (float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)
 Initialization method for BLE modem. More...
 
int16_t beginFLRC (float freq=2400.0, uint16_t br=650, uint8_t cr=3, int8_t power=10, uint16_t preambleLength=16, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)
 Initialization method for FLRC modem. More...
 
int16_t reset (bool verify=true)
 Reset method. Will reset the chip to the default state using RST pin. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Starts direct mode transmission. More...
 
int16_t receiveDirect () override
 Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX128x series does not support direct mode reception. Will always return ERR_UNKNOWN. More...
 
int16_t scanChannel ()
 Performs scan for LoRa transmission in the current channel. Detects both preamble and payload. More...
 
int16_t sleep (bool retainConfig=true)
 Sets the module to sleep mode. More...
 
int16_t standby () override
 Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator). More...
 
int16_t standby (uint8_t mode)
 Sets the module to standby mode. More...
 
void setDio1Action (void(*func)(void))
 Sets interrupt service routine to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t startReceive (uint16_t timeout=SX128X_RX_TIMEOUT_INF)
 Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data received after calling startReceive method. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values are in range from 2400.0 to 2500.0 MHz. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa bandwidth. Allowed values are 203.125, 406.25, 812.5 and 1625.0 kHz. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa spreading factor. Allowed values range from 5 to 12. More...
 
int16_t setCodingRate (uint8_t cr, bool longInterleaving=false)
 Sets LoRa coding rate denominator. Allowed values range from 5 to 8. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values are in range from -18 to 13 dBm. More...
 
int16_t setPreambleLength (uint32_t preambleLength)
 Sets preamble length for currently active modem. Allowed values range from 1 to 65535. More...
 
int16_t setBitRate (uint16_t br)
 Sets FSK or FLRC bit rate. Allowed values are 125, 250, 400, 500, 800, 1000, 1600 and 2000 kbps (for FSK modem) or 260, 325, 520, 650, 1000 and 1300 (for FLRC modem). More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation. Allowed values range from 0.0 to 3200.0 kHz. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setSyncWord (uint8_t *syncWord, uint8_t len)
 Sets FSK/FLRC sync word in the form of array of up to 5 bytes (FSK). For FLRC modem, the sync word must be exactly 4 bytes long. More...
 
int16_t setCRC (uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021)
 Sets CRC configuration. More...
 
int16_t setWhitening (bool enabled)
 Sets whitening parameters, not available for LoRa or FLRC modem. More...
 
int16_t setAccessAddress (uint32_t addr)
 Sets BLE access address. More...
 
float getRSSI ()
 Gets RSSI (Recorded Signal Strength Indicator) of the last received packet. More...
 
float getSNR ()
 Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa or ranging modem. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
uint32_t getTimeOnAir (size_t len)
 Get expected time-on-air for a given size of payload. More...
 
int16_t implicitHeader (size_t len)
 Set implicit header mode for future reception/transmission. More...
 
int16_t explicitHeader ()
 Set explicit header mode for future reception/transmission. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Serves only as alias for PhysicalLayer compatibility. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for SX1281 modules.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX1281::SX1281 (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX128x/SX1281.h
  • +
  • src/modules/SX128x/SX1281.cpp
  • +
+
+
+ + + + diff --git a/class_s_x1281.js b/class_s_x1281.js new file mode 100644 index 00000000..550301c5 --- /dev/null +++ b/class_s_x1281.js @@ -0,0 +1,4 @@ +var class_s_x1281 = +[ + [ "SX1281", "class_s_x1281.html#a0dd7678cdf7fad9ecfc9139c5092f998", null ] +]; \ No newline at end of file diff --git a/class_s_x1281.png b/class_s_x1281.png new file mode 100644 index 0000000000000000000000000000000000000000..1c2631cc3650d963c86628f0df06fe0b48d9371a GIT binary patch literal 936 zcmeAS@N?(olHy`uVBq!ia0vp^u|WKTgBeKftdm*;q$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0%{^TlLn;{G&VAUo*no$v{k+io|0md6 z+gNy(ZrGQ%)oqrr$6*o=3%Jm6eGb_kX^| zTm7?z{q$Lr$1^K#P1j$SezyMJt>xz8$A9hg(z#{kQ+;c7wRLT5$FaD-JGbqgn)#+! z)vPt+t#8s@sp@Y*yY@P5>8z~MwM?{+{(h=1>;3sj*0!GwrYhM8o&NIb?&AMfgL(fZ z{aW`|{mJfc@)MuyZ&2A;v-9p59j*rR7mSBEwtlZ&Vt2*v1oPL8-`2mIxrKSh64?XF zZyDq=**|z#H@M$ow7JCh;N$c+X=#ZGlSEu@sh)gX{4Hb*|0XKlKw?s=)}@hOq(HQQBAEkE@FI{C{>9oOGheJPhYU8R4E_ayfnWVkc-dTHVXMwW?X z4E^VC%D3D3%~aFd-v7l|Cine;xSH0RRv&pjOEE~t-Fz*2E97L{X8zkz{!v2PwS#|3 zzh0Gg{q57gX;V}8B;KEsmHqqbx4m`q>;BX|2w{9T0chYB=8BfvyVt#5#8A;Jr_d8n zec%0+^V?>d0Qv0yujYALH+VyW3uHM^Ei@$SPv)hS&AWHzjm-=d)`?}FpMK2QE4|Lp zhd))~^KAuBX}&i{!)KHV=T2CnyZ+5ruH0A4YHws0o-OxYRC6lz_oMtZxo7ikbc2HI z{k6S+f2=C3+g`i={_&E#3$Fi)os>5TXrjk%mCBaeXV1{qVXH31ZRD@kT{m@^?#ZR6 zLjE1wwd!W$pVaeb-kY!1d7OChzRlIL^;cJVO*(!2P4!>9Wz*Se?L05F{h2!v9G%Cf dgIxH7{Z5n5jiPP)b^)^$gQu&X%Q~loCIH*U(?b9N literal 0 HcmV?d00001 diff --git a/class_s_x1282-members.html b/class_s_x1282-members.html new file mode 100644 index 00000000..2f42ce24 --- /dev/null +++ b/class_s_x1282-members.html @@ -0,0 +1,183 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1282 Member List
+
+
+ +

This is the complete list of members for SX1282, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(float freq=2400.0, float bw=812.5, uint8_t sf=9, uint8_t cr=7, int8_t power=10, uint16_t preambleLength=12)SX128x
beginBLE(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)SX128x
beginFLRC(float freq=2400.0, uint16_t br=650, uint8_t cr=3, int8_t power=10, uint16_t preambleLength=16, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)SX128x
beginGFSK(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint16_t preambleLength=16)SX128x
clearDio1Action()SX128x
explicitHeader()SX128x
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overrideSX128xvirtual
getRangingResult()SX1280
getRSSI()SX128x
getSNR()SX128x
getTimeOnAir(size_t len)SX128x
implicitHeader(size_t len)SX128x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
range(bool master, uint32_t addr)SX1280
readData(uint8_t *data, size_t len) overrideSX128xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX128xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX128xvirtual
reset(bool verify=true)SX128x
scanChannel()SX128x
setAccessAddress(uint32_t addr)SX128x
setBandwidth(float bw)SX128x
setBitRate(uint16_t br)SX128x
setCodingRate(uint8_t cr, bool longInterleaving=false)SX128x
setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021)SX128x
setDataShaping(uint8_t sh) overrideSX128xvirtual
setDio1Action(void(*func)(void))SX128x
setEncoding(uint8_t encoding) overrideSX128xvirtual
setFrequency(float freq)SX128x
setFrequencyDeviation(float freqDev) overrideSX128xvirtual
setOutputPower(int8_t power)SX128x
setPreambleLength(uint32_t preambleLength)SX128x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX128x
setSpreadingFactor(uint8_t sf)SX128x
setSyncWord(uint8_t *syncWord, uint8_t len)SX128x
setWhitening(bool enabled)SX128x
sleep(bool retainConfig=true)SX128x
standby() overrideSX128xvirtual
standby(uint8_t mode)SX128x
startRanging(bool master, uint32_t addr)SX1280
startReceive(uint16_t timeout=SX128X_RX_TIMEOUT_INF)SX128x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1280(Module *mod)SX1280
SX1281(Module *mod)SX1281
SX1282(Module *mod)SX1282
SX128x(Module *mod)SX128x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX128xvirtual
+
+ + + + diff --git a/class_s_x1282.html b/class_s_x1282.html new file mode 100644 index 00000000..204cd06c --- /dev/null +++ b/class_s_x1282.html @@ -0,0 +1,352 @@ + + + + + + +RadioLib: SX1282 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX1282 Class Reference
+
+
+ +

Derived class for SX1282 modules. + More...

+ +

#include <SX1282.h>

+
+Inheritance diagram for SX1282:
+
+
+ + +SX1280 +SX1281 +SX128x +PhysicalLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX1282 (Module *mod)
 Default constructor. More...
 
- Public Member Functions inherited from SX1280
 SX1280 (Module *mod)
 Default constructor. More...
 
int16_t range (bool master, uint32_t addr)
 Blocking ranging method. More...
 
int16_t startRanging (bool master, uint32_t addr)
 Interrupt-driven ranging method. More...
 
float getRangingResult ()
 Gets ranging result of the last ranging exchange. More...
 
- Public Member Functions inherited from SX1281
 SX1281 (Module *mod)
 Default constructor. More...
 
- Public Member Functions inherited from SX128x
 SX128x (Module *mod)
 Default constructor. More...
 
int16_t begin (float freq=2400.0, float bw=812.5, uint8_t sf=9, uint8_t cr=7, int8_t power=10, uint16_t preambleLength=12)
 Initialization method for LoRa modem. More...
 
int16_t beginGFSK (float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint16_t preambleLength=16)
 Initialization method for GFSK modem. More...
 
int16_t beginBLE (float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)
 Initialization method for BLE modem. More...
 
int16_t beginFLRC (float freq=2400.0, uint16_t br=650, uint8_t cr=3, int8_t power=10, uint16_t preambleLength=16, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)
 Initialization method for FLRC modem. More...
 
int16_t reset (bool verify=true)
 Reset method. Will reset the chip to the default state using RST pin. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Starts direct mode transmission. More...
 
int16_t receiveDirect () override
 Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX128x series does not support direct mode reception. Will always return ERR_UNKNOWN. More...
 
int16_t scanChannel ()
 Performs scan for LoRa transmission in the current channel. Detects both preamble and payload. More...
 
int16_t sleep (bool retainConfig=true)
 Sets the module to sleep mode. More...
 
int16_t standby () override
 Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator). More...
 
int16_t standby (uint8_t mode)
 Sets the module to standby mode. More...
 
void setDio1Action (void(*func)(void))
 Sets interrupt service routine to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t startReceive (uint16_t timeout=SX128X_RX_TIMEOUT_INF)
 Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data received after calling startReceive method. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values are in range from 2400.0 to 2500.0 MHz. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa bandwidth. Allowed values are 203.125, 406.25, 812.5 and 1625.0 kHz. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa spreading factor. Allowed values range from 5 to 12. More...
 
int16_t setCodingRate (uint8_t cr, bool longInterleaving=false)
 Sets LoRa coding rate denominator. Allowed values range from 5 to 8. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values are in range from -18 to 13 dBm. More...
 
int16_t setPreambleLength (uint32_t preambleLength)
 Sets preamble length for currently active modem. Allowed values range from 1 to 65535. More...
 
int16_t setBitRate (uint16_t br)
 Sets FSK or FLRC bit rate. Allowed values are 125, 250, 400, 500, 800, 1000, 1600 and 2000 kbps (for FSK modem) or 260, 325, 520, 650, 1000 and 1300 (for FLRC modem). More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation. Allowed values range from 0.0 to 3200.0 kHz. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setSyncWord (uint8_t *syncWord, uint8_t len)
 Sets FSK/FLRC sync word in the form of array of up to 5 bytes (FSK). For FLRC modem, the sync word must be exactly 4 bytes long. More...
 
int16_t setCRC (uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021)
 Sets CRC configuration. More...
 
int16_t setWhitening (bool enabled)
 Sets whitening parameters, not available for LoRa or FLRC modem. More...
 
int16_t setAccessAddress (uint32_t addr)
 Sets BLE access address. More...
 
float getRSSI ()
 Gets RSSI (Recorded Signal Strength Indicator) of the last received packet. More...
 
float getSNR ()
 Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa or ranging modem. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
uint32_t getTimeOnAir (size_t len)
 Get expected time-on-air for a given size of payload. More...
 
int16_t implicitHeader (size_t len)
 Set implicit header mode for future reception/transmission. More...
 
int16_t explicitHeader ()
 Set explicit header mode for future reception/transmission. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Serves only as alias for PhysicalLayer compatibility. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for SX1282 modules.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX1282::SX1282 (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+
Todo:
implement advanced ranging
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX128x/SX1282.h
  • +
  • src/modules/SX128x/SX1282.cpp
  • +
+
+
+ + + + diff --git a/class_s_x1282.js b/class_s_x1282.js new file mode 100644 index 00000000..cb0bc84c --- /dev/null +++ b/class_s_x1282.js @@ -0,0 +1,4 @@ +var class_s_x1282 = +[ + [ "SX1282", "class_s_x1282.html#ae90b7dcd7167c4cbe20e33ced04e4232", null ] +]; \ No newline at end of file diff --git a/class_s_x1282.png b/class_s_x1282.png new file mode 100644 index 0000000000000000000000000000000000000000..293bdb59c12ddc12ef0d6e416606733c6392d20c GIT binary patch literal 932 zcmeAS@N?(olHy`uVBq!ia0vp^u|WKTgBeKftdm*;q$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0jXhl)Ln;{G&V8G=*@uU<&-77yK}hqR8G1Q`1ZX` z>ESrLhwW7x&s4DRSO0xfcJ0^my|tB_thRmk4cPj3!=B55cYnXU?NsvZ+4;41*ZQQ# zYj4zc$$#IJn=NzG`(+>3MfTTU!agq$&!+m@{$D}P z_A~1;{`3A^_&5B?Pi`Ggz4$zH<8G!0ylxE!PH!JetmNP7|H+|t&EM74YHu0zGTA?P zSU0%eVzjx$_h4cfL;n`$ia)BmXGTiQP+^@|=K1NzoZ1?u}j8KW)oT70+7*aWfx9t@lHZ3iXVb4Jh0k;*k zGRj{Ue)E)D(Z996^!yUp1FCNs;cHD|Y+z=et8+{cNk_alGLy1PLS1z!-_V23gzSED)m`_q~koP_kZ^B*>F`6$oC?Q_R_^5&z! PEXCmI>gTe~DWM4fw#Lix literal 0 HcmV?d00001 diff --git a/class_s_x128x-members.html b/class_s_x128x-members.html new file mode 100644 index 00000000..494f150e --- /dev/null +++ b/class_s_x128x-members.html @@ -0,0 +1,177 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX128x Member List
+
+
+ +

This is the complete list of members for SX128x, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(float freq=2400.0, float bw=812.5, uint8_t sf=9, uint8_t cr=7, int8_t power=10, uint16_t preambleLength=12)SX128x
beginBLE(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)SX128x
beginFLRC(float freq=2400.0, uint16_t br=650, uint8_t cr=3, int8_t power=10, uint16_t preambleLength=16, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)SX128x
beginGFSK(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint16_t preambleLength=16)SX128x
clearDio1Action()SX128x
explicitHeader()SX128x
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overrideSX128xvirtual
getRSSI()SX128x
getSNR()SX128x
getTimeOnAir(size_t len)SX128x
implicitHeader(size_t len)SX128x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSX128xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSX128xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSX128xvirtual
reset(bool verify=true)SX128x
scanChannel()SX128x
setAccessAddress(uint32_t addr)SX128x
setBandwidth(float bw)SX128x
setBitRate(uint16_t br)SX128x
setCodingRate(uint8_t cr, bool longInterleaving=false)SX128x
setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021)SX128x
setDataShaping(uint8_t sh) overrideSX128xvirtual
setDio1Action(void(*func)(void))SX128x
setEncoding(uint8_t encoding) overrideSX128xvirtual
setFrequency(float freq)SX128x
setFrequencyDeviation(float freqDev) overrideSX128xvirtual
setOutputPower(int8_t power)SX128x
setPreambleLength(uint32_t preambleLength)SX128x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)SX128x
setSpreadingFactor(uint8_t sf)SX128x
setSyncWord(uint8_t *syncWord, uint8_t len)SX128x
setWhitening(bool enabled)SX128x
sleep(bool retainConfig=true)SX128x
standby() overrideSX128xvirtual
standby(uint8_t mode)SX128x
startReceive(uint16_t timeout=SX128X_RX_TIMEOUT_INF)SX128x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX128x(Module *mod)SX128x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX128xvirtual
+
+ + + + diff --git a/class_s_x128x.html b/class_s_x128x.html new file mode 100644 index 00000000..d25c8e81 --- /dev/null +++ b/class_s_x128x.html @@ -0,0 +1,1605 @@ + + + + + + +RadioLib: SX128x Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SX128x Class Reference
+
+
+ +

Base class for SX128x series. All derived classes for SX128x (e.g. SX1280 or SX1281) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes. + More...

+ +

#include <SX128x.h>

+
+Inheritance diagram for SX128x:
+
+
+ + +PhysicalLayer +SX1281 +SX1280 +SX1282 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SX128x (Module *mod)
 Default constructor. More...
 
int16_t begin (float freq=2400.0, float bw=812.5, uint8_t sf=9, uint8_t cr=7, int8_t power=10, uint16_t preambleLength=12)
 Initialization method for LoRa modem. More...
 
int16_t beginGFSK (float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint16_t preambleLength=16)
 Initialization method for GFSK modem. More...
 
int16_t beginBLE (float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t power=10, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)
 Initialization method for BLE modem. More...
 
int16_t beginFLRC (float freq=2400.0, uint16_t br=650, uint8_t cr=3, int8_t power=10, uint16_t preambleLength=16, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)
 Initialization method for FLRC modem. More...
 
int16_t reset (bool verify=true)
 Reset method. Will reset the chip to the default state using RST pin. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Starts direct mode transmission. More...
 
int16_t receiveDirect () override
 Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX128x series does not support direct mode reception. Will always return ERR_UNKNOWN. More...
 
int16_t scanChannel ()
 Performs scan for LoRa transmission in the current channel. Detects both preamble and payload. More...
 
int16_t sleep (bool retainConfig=true)
 Sets the module to sleep mode. More...
 
int16_t standby () override
 Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator). More...
 
int16_t standby (uint8_t mode)
 Sets the module to standby mode. More...
 
void setDio1Action (void(*func)(void))
 Sets interrupt service routine to call when DIO1 activates. More...
 
+void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t startReceive (uint16_t timeout=SX128X_RX_TIMEOUT_INF)
 Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data received after calling startReceive method. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values are in range from 2400.0 to 2500.0 MHz. More...
 
int16_t setBandwidth (float bw)
 Sets LoRa bandwidth. Allowed values are 203.125, 406.25, 812.5 and 1625.0 kHz. More...
 
int16_t setSpreadingFactor (uint8_t sf)
 Sets LoRa spreading factor. Allowed values range from 5 to 12. More...
 
int16_t setCodingRate (uint8_t cr, bool longInterleaving=false)
 Sets LoRa coding rate denominator. Allowed values range from 5 to 8. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values are in range from -18 to 13 dBm. More...
 
int16_t setPreambleLength (uint32_t preambleLength)
 Sets preamble length for currently active modem. Allowed values range from 1 to 65535. More...
 
int16_t setBitRate (uint16_t br)
 Sets FSK or FLRC bit rate. Allowed values are 125, 250, 400, 500, 800, 1000, 1600 and 2000 kbps (for FSK modem) or 260, 325, 520, 650, 1000 and 1300 (for FLRC modem). More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation. Allowed values range from 0.0 to 3200.0 kHz. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
int16_t setSyncWord (uint8_t *syncWord, uint8_t len)
 Sets FSK/FLRC sync word in the form of array of up to 5 bytes (FSK). For FLRC modem, the sync word must be exactly 4 bytes long. More...
 
int16_t setCRC (uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021)
 Sets CRC configuration. More...
 
int16_t setWhitening (bool enabled)
 Sets whitening parameters, not available for LoRa or FLRC modem. More...
 
int16_t setAccessAddress (uint32_t addr)
 Sets BLE access address. More...
 
float getRSSI ()
 Gets RSSI (Recorded Signal Strength Indicator) of the last received packet. More...
 
float getSNR ()
 Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa or ranging modem. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
uint32_t getTimeOnAir (size_t len)
 Get expected time-on-air for a given size of payload. More...
 
int16_t implicitHeader (size_t len)
 Set implicit header mode for future reception/transmission. More...
 
int16_t explicitHeader ()
 Set explicit header mode for future reception/transmission. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Serves only as alias for PhysicalLayer compatibility. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Base class for SX128x series. All derived classes for SX128x (e.g. SX1280 or SX1281) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
SX128x::SX128x (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX128x::begin (float freq = 2400.0,
float bw = 812.5,
uint8_t sf = 9,
uint8_t cr = 7,
int8_t power = 10,
uint16_t preambleLength = 12 
)
+
+ +

Initialization method for LoRa modem.

+
Parameters
+ + + + + + + +
freqCarrier frequency in MHz. Defaults to 2400.0 MHz.
bwLoRa bandwidth in kHz. Defaults to 812.5 kHz.
sfLoRa spreading factor. Defaults to 9.
crLoRa coding rate denominator. Defaults to 7 (coding rate 4/7).
powerOutput power in dBm. Defaults to 10 dBm.
preambleLengthLoRa preamble length in symbols. Defaults to 12 symbols.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX128x::beginBLE (float freq = 2400.0,
uint16_t br = 800,
float freqDev = 400.0,
int8_t power = 10,
uint8_t dataShaping = RADIOLIB_SHAPING_0_5 
)
+
+ +

Initialization method for BLE modem.

+
Parameters
+ + + + + + +
freqCarrier frequency in MHz. Defaults to 2400.0 MHz.
brBLE bit rate in kbps. Defaults to 800 kbps.
freqDevFrequency deviation from carrier frequency in kHz. Defaults to 400.0 kHz.
powerOutput power in dBm. Defaults to 10 dBm.
dataShapingTime-bandwidth product of the Gaussian filter to be used for shaping. Defaults to 0.5.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX128x::beginFLRC (float freq = 2400.0,
uint16_t br = 650,
uint8_t cr = 3,
int8_t power = 10,
uint16_t preambleLength = 16,
uint8_t dataShaping = RADIOLIB_SHAPING_0_5 
)
+
+ +

Initialization method for FLRC modem.

+
Parameters
+ + + + + +
freqCarrier frequency in MHz. Defaults to 2400.0 MHz.
brFLRC bit rate in kbps. Defaults to 650 kbps.
crFLRC coding rate. Defaults to 3 (coding rate 3/4).
powerOutput power in dBm. Defaults to 10 dBm.
+
+
+

preambleLength FLRC preamble length in bits. Defaults to 16 bits.

+
Parameters
+ + +
dataShapingTime-bandwidth product of the Gaussian filter to be used for shaping. Defaults to 0.5.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX128x::beginGFSK (float freq = 2400.0,
uint16_t br = 800,
float freqDev = 400.0,
int8_t power = 10,
uint16_t preambleLength = 16 
)
+
+ +

Initialization method for GFSK modem.

+
Parameters
+ + + + + +
freqCarrier frequency in MHz. Defaults to 2400.0 MHz.
brFSK bit rate in kbps. Defaults to 800 kbps.
freqDevFrequency deviation from carrier frequency in kHz. Defaults to 400.0 kHz.
powerOutput power in dBm. Defaults to 10 dBm.
+
+
+

preambleLength FSK preamble length in bits. Defaults to 16 bits.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t SX128x::explicitHeader ()
+
+ +

Set explicit header mode for future reception/transmission.

+
Parameters
+ + +
lenPayload length in bytes.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
size_t SX128x::getPacketLength (bool update = true)
+
+overridevirtual
+
+ +

Query modem for the packet length of received payload.

+
Parameters
+ + +
updateUpdate received packet length. Will return cached value when set to false.
+
+
+
Returns
Length of last received packet in bytes.
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + +
float SX128x::getRSSI ()
+
+ +

Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.

+
Returns
RSSI of the last received packet in dBm.
+ +
+
+ +
+
+ + + + + + + +
float SX128x::getSNR ()
+
+ +

Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa or ranging modem.

+
Returns
SNR of the last received packet in dB.
+ +
+
+ +
+
+ + + + + + + + +
uint32_t SX128x::getTimeOnAir (size_t len)
+
+ +

Get expected time-on-air for a given size of payload.

+
Parameters
+ + +
lenPayload length in bytes.
+
+
+
Returns
Expected time-on-air in microseconds.
+
Todo:
implement this mess - SX1280 datasheet v3.0 section 7.4.4.2
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX128x::implicitHeader (size_t len)
+
+ +

Set implicit header mode for future reception/transmission.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t SX128x::readData (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Reads data received after calling startReceive method.

+
Parameters
+ + + +
dataPointer to array to save the received binary data.
lenNumber of bytes that will be received. Must be known in advance for binary transmissions.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t SX128x::receive (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + +
dataBinary data to be sent.
lenNumber of bytes to send.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t SX128x::receiveDirect ()
+
+overridevirtual
+
+ +

Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX128x series does not support direct mode reception. Will always return ERR_UNKNOWN.

+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t SX128x::reset (bool verify = true)
+
+ +

Reset method. Will reset the chip to the default state using RST pin.

+
Parameters
+ + +
verifyWhether correct module startup should be verified. When set to true, RadioLib will attempt to verify the module has started correctly by repeatedly issuing setStandby command. Enabled by default.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t SX128x::scanChannel ()
+
+ +

Performs scan for LoRa transmission in the current channel. Detects both preamble and payload.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX128x::setAccessAddress (uint32_t addr)
+
+ +

Sets BLE access address.

+
Parameters
+ + +
addrBLE access address.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX128x::setBandwidth (float bw)
+
+ +

Sets LoRa bandwidth. Allowed values are 203.125, 406.25, 812.5 and 1625.0 kHz.

+
Parameters
+ + +
bwLoRa bandwidth to be set in kHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX128x::setBitRate (uint16_t br)
+
+ +

Sets FSK or FLRC bit rate. Allowed values are 125, 250, 400, 500, 800, 1000, 1600 and 2000 kbps (for FSK modem) or 260, 325, 520, 650, 1000 and 1300 (for FLRC modem).

+
Parameters
+ + +
brFSK/FLRC bit rate to be set in kbps.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX128x::setCodingRate (uint8_t cr,
bool longInterleaving = false 
)
+
+ +

Sets LoRa coding rate denominator. Allowed values range from 5 to 8.

+
Parameters
+ + + +
crLoRa coding rate denominator to be set.
longInterleavingWhether to enable long interleaving mode. Not available for coding rate 4/7, defaults to false.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX128x::setCRC (uint8_t len,
uint32_t initial = 0x1D0F,
uint16_t polynomial = 0x1021 
)
+
+ +

Sets CRC configuration.

+
Parameters
+ + + + +
lenCRC length in bytes, Allowed values are 1, 2 or 3, set to 0 to disable CRC.
initialInitial CRC value. Defaults to 0x1D0F (CCIT CRC), not available for LoRa modem.
polynomialPolynomial for CRC calculation. Defaults to 0x1021 (CCIT CRC), not available for LoRa or BLE modem.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t SX128x::setDataShaping (uint8_t sh)
+
+overridevirtual
+
+ +

Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping.

+
Parameters
+ + +
shTime-bandwidth product of Gaussian filter to be set.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
void SX128x::setDio1Action (void(*)(void) func)
+
+ +

Sets interrupt service routine to call when DIO1 activates.

+
Parameters
+ + +
funcISR to call.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t SX128x::setEncoding (uint8_t encoding)
+
+overridevirtual
+
+ +

Sets transmission encoding. Serves only as alias for PhysicalLayer compatibility.

+
Parameters
+ + +
encodingEncoding to be used. Set to 0 for NRZ, and 2 for whitening.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t SX128x::setFrequency (float freq)
+
+ +

Sets carrier frequency. Allowed values are in range from 2400.0 to 2500.0 MHz.

+
Parameters
+ + +
freqCarrier frequency to be set in MHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t SX128x::setFrequencyDeviation (float freqDev)
+
+overridevirtual
+
+ +

Sets FSK frequency deviation. Allowed values range from 0.0 to 3200.0 kHz.

+
Parameters
+ + +
freqDevFSK frequency deviation to be set in kHz.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t SX128x::setOutputPower (int8_t power)
+
+ +

Sets output power. Allowed values are in range from -18 to 13 dBm.

+
Parameters
+ + +
powerOutput power to be set in dBm.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX128x::setPreambleLength (uint32_t preambleLength)
+
+ +

Sets preamble length for currently active modem. Allowed values range from 1 to 65535.

+
Parameters
+ + +
preambleLengthPreamble length to be set in symbols (LoRa) or bits (FSK/BLE/FLRC).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void SX128x::setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn,
RADIOLIB_PIN_TYPE txEn 
)
+
+ +

Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch!

+
Parameters
+ + + +
rxEnRX enable pin.
txEnTX enable pin.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX128x::setSpreadingFactor (uint8_t sf)
+
+ +

Sets LoRa spreading factor. Allowed values range from 5 to 12.

+
Parameters
+ + +
sfLoRa spreading factor to be set.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t SX128x::setSyncWord (uint8_t * syncWord,
uint8_t len 
)
+
+ +

Sets FSK/FLRC sync word in the form of array of up to 5 bytes (FSK). For FLRC modem, the sync word must be exactly 4 bytes long.

+
Parameters
+ + + +
syncWordSync word to be set.
lenSync word length in bytes.
+
+
+
Returns
Status Codes
+
Todo:
add support for multiple sync words
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX128x::setWhitening (bool enabled)
+
+ +

Sets whitening parameters, not available for LoRa or FLRC modem.

+
Parameters
+ + +
enabledSet to true to enable whitening.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX128x::sleep (bool retainConfig = true)
+
+ +

Sets the module to sleep mode.

+
Parameters
+ + +
retainConfigSet to true to retain configuration and data buffer or to false to discard current configuration and data buffer. Defaults to true.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t SX128x::standby ()
+
+overridevirtual
+
+ +

Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator).

+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t SX128x::standby (uint8_t mode)
+
+ +

Sets the module to standby mode.

+
Parameters
+ + +
modeOscillator to be used in standby mode. Can be set to SX128X_STANDBY_RC (13 MHz RC oscillator) or SX128X_STANDBY_XOSC (52 MHz external crystal oscillator).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t SX128x::startReceive (uint16_t timeout = SX128X_RX_TIMEOUT_INF)
+
+ +

Interrupt-driven receive method. DIO1 will be activated when full packet is received.

+
Parameters
+ + +
timeoutRaw timeout value, expressed as multiples of 15.625 us. Defaults to SX128X_RX_TIMEOUT_INF for infinite timeout (Rx continuous mode), set to SX128X_RX_TIMEOUT_NONE for no timeout (Rx single mode).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX128x::startTransmit (uint8_t * data,
size_t len,
uint8_t addr = 0 
)
+
+overridevirtual
+
+ +

Interrupt-driven binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + + +
dataBinary data to be sent.
lenNumber of bytes to send.
addrAddress to send the data to. Unsupported, compatibility only.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t SX128x::transmit (uint8_t * data,
size_t len,
uint8_t addr = 0 
)
+
+overridevirtual
+
+ +

Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + + +
dataBinary data to be sent.
lenNumber of bytes to send.
addrAddress to send the data to. Unsupported, compatibility only.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t SX128x::transmitDirect (uint32_t frf = 0)
+
+overridevirtual
+
+ +

Starts direct mode transmission.

+
Parameters
+ + +
frfRaw RF frequency value. Defaults to 0, required for quick frequency shifts in RTTY.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/SX128x/SX128x.h
  • +
  • src/modules/SX128x/SX128x.cpp
  • +
+
+
+ + + + diff --git a/class_s_x128x.js b/class_s_x128x.js new file mode 100644 index 00000000..96c8c176 --- /dev/null +++ b/class_s_x128x.js @@ -0,0 +1,43 @@ +var class_s_x128x = +[ + [ "SX128x", "class_s_x128x.html#a9ccbf51f8304f1041c8eef182be547a7", null ], + [ "begin", "class_s_x128x.html#a520bb5a5daa1fee6c0d6704fa929cf35", null ], + [ "beginBLE", "class_s_x128x.html#a316340d7ba2a6e7cb5742e3ff21e728c", null ], + [ "beginFLRC", "class_s_x128x.html#ac7df67afbb0b1a88daf5ec50f3d65660", null ], + [ "beginGFSK", "class_s_x128x.html#a8dd8ce38bc9d0d8dbd711b373e864e93", null ], + [ "clearDio1Action", "class_s_x128x.html#ab8a3fe8e2843fa039ef369668f1a423f", null ], + [ "explicitHeader", "class_s_x128x.html#a94b7fb26cc99385d30b0c98b76d8188d", null ], + [ "getPacketLength", "class_s_x128x.html#a390fd0749b316eed67da7b54f4f24735", null ], + [ "getRSSI", "class_s_x128x.html#a94d3003277925e2dc3372548b3311008", null ], + [ "getSNR", "class_s_x128x.html#a89ebf1f4f227cd35c0799c06d5d9c1d2", null ], + [ "getTimeOnAir", "class_s_x128x.html#a2361a94f2e12ebc93e750a027d633232", null ], + [ "implicitHeader", "class_s_x128x.html#ac69cc622020419cb3393eac5cc88915b", null ], + [ "readData", "class_s_x128x.html#a94bca43258b09217fb476a2d8db784bb", null ], + [ "receive", "class_s_x128x.html#a32b7b674d63c36f15b7f58a2cb837a99", null ], + [ "receiveDirect", "class_s_x128x.html#aff7d86352c98771595375e17d19a2a97", null ], + [ "reset", "class_s_x128x.html#a2643ce22176293631fea2169f5e68e66", null ], + [ "scanChannel", "class_s_x128x.html#a89cc916f5cd5cdfbd331bb15f8a3d5cb", null ], + [ "setAccessAddress", "class_s_x128x.html#a9346490a6c56edcff2e12ae0369a8df5", null ], + [ "setBandwidth", "class_s_x128x.html#ae93c99c85deb950fe9bc7101142b5f6a", null ], + [ "setBitRate", "class_s_x128x.html#a3bee00ec197ef9855c0079cb0a3009a6", null ], + [ "setCodingRate", "class_s_x128x.html#a9da544e4a6120f73a078b46c6138505a", null ], + [ "setCRC", "class_s_x128x.html#aa4b1e0b96347011522e053f30202c0fe", null ], + [ "setDataShaping", "class_s_x128x.html#a99491c705e88dddc820f884b778f1660", null ], + [ "setDio1Action", "class_s_x128x.html#a0759fb31b3ce5bf1c832259c9c2245ed", null ], + [ "setEncoding", "class_s_x128x.html#a8720a388d2cd10fac3112b89f4a80947", null ], + [ "setFrequency", "class_s_x128x.html#a2043ef7bb806968b9d9dcb64561ca371", null ], + [ "setFrequencyDeviation", "class_s_x128x.html#a26d0d02e5e53a3172df9208fa343a3f1", null ], + [ "setOutputPower", "class_s_x128x.html#ad6e2b46c317a8d8512cf0380025147a9", null ], + [ "setPreambleLength", "class_s_x128x.html#a1984a405262f155f16a4759c5f6b0133", null ], + [ "setRfSwitchPins", "class_s_x128x.html#a5f11803b3430bc059321b443f407e78b", null ], + [ "setSpreadingFactor", "class_s_x128x.html#ae435f57132f76f4283abb870176acf54", null ], + [ "setSyncWord", "class_s_x128x.html#a0efa595867624a54153d693d16f9f731", null ], + [ "setWhitening", "class_s_x128x.html#a8b3eea268f21bf911b6eaf37c5eb0b5f", null ], + [ "sleep", "class_s_x128x.html#a1d15e13e15b060ddbbe84257d5fcb66f", null ], + [ "standby", "class_s_x128x.html#a2be8cc6c3b61b59cb6a6ca4f6a030b45", null ], + [ "standby", "class_s_x128x.html#aa11ba80f0cebb3e6927c775ad5f96b4e", null ], + [ "startReceive", "class_s_x128x.html#a8171d2f3de53156526580ca4fe4d647d", null ], + [ "startTransmit", "class_s_x128x.html#aef221e7d463c5228ce00ed6934512848", null ], + [ "transmit", "class_s_x128x.html#af253e1e45361de74aefd01a7c73c28f5", null ], + [ "transmitDirect", "class_s_x128x.html#a53892566b0259d348158efe3c3c3601a", null ] +]; \ No newline at end of file diff --git a/class_s_x128x.png b/class_s_x128x.png new file mode 100644 index 0000000000000000000000000000000000000000..6d8da549a8dc80525fe7b6dc7ee978f6e52a46d8 GIT binary patch literal 942 zcmeAS@N?(olHy`uVBq!ia0vp^u|WKTgBeKftdm*;q$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0Z9QEaLn;{G&VAUo*no$v{k+io|0md6 z+gNy(ZrGQ%)oqrr$6*o=3%Jm6eGb_kX^| zTYd9T^V76hAAM}zp6+`c`FZ~KZ!gat-B`CysCyglW%IXJ_s-p?=aRhsU(D^hr%b-> z6q@a{<(t~Zyk6UC&AV}mw~pBCoi=B~{I%7o_FvzgpJZ+O*Ir* zZ_=-If7PGt{w6>1x&8)~oi#h}p3&iIFn_^#h-2&b+9h^Z>`pL$-S}<&yO~>J5d=EZOe-nGXH1Pr>%fvE<{_{8G+wJ^js_AX-|6>+z{I>bjkqrdG-}=pJAG>x=od(zARl>#NelOjqkX z=KcLFWcIO@eBXmo{cgUWv+DNy%l-FjR$YI~@EvOHp|?OQ0~z)>@(Z}F*!y1j>%wo2 zax40`)|Z|KI#Ctfi6DpVPcb*P_Rmi%lk=I>bBOd zzkj^s>VooDdY;!kfrf%2^3dC~H0rr6cft~0_HU20&+O_n^SCrE{99G4S?OiFn(V@} z<=%^Oo^GoBXnt*5n)w^oD{D6Ol)t{0w=ZkX{oMPnzZ=Gyzt~zgeaUQ)qb})r$~`PI z-mJlJZvi`p@|AnvC;kfft-ycf_^tiB(t*)92^dCOm@80X_;~!L*)!)Z2L>EJG?Ch+ zzi-Rtx$G=?><`d2ZOqjlMbqxONULO?)~?>`G<(&S@HdCIi(U7+JnczPs#bk+?A138 z|2CyR`#w8#+Q$tq^51;Rr + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Si4430 Member List
+
+
+ +

This is the complete list of members for Si4430, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=181.1, int8_t power=10, uint8_t preambleLen=16)Si4430
Si443x::begin(float br, float freqDev, float rxBw, uint8_t preambleLen)Si443x
clearIrqAction()Si443x
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overrideSi443xvirtual
packetMode()Si443x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSi443xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSi443xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSi443xvirtual
reset()Si443x
setBitRate(float br)Si443x
setDataShaping(uint8_t sh) overrideSi443xvirtual
setEncoding(uint8_t encoding) overrideSi443xvirtual
setFrequency(float freq)Si4430
setFrequencyDeviation(float freqDev) overrideSi443xvirtual
setIrqAction(void(*func)(void))Si443x
setOutputPower(int8_t power)Si4430
setPreambleLength(uint8_t preambleLen)Si443x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)Si443x
setRxBandwidth(float rxBw)Si443x
setSyncWord(uint8_t *syncWord, size_t len)Si443x
Si4430(Module *mod)Si4430
Si4432(Module *mod)Si4432
Si443x(Module *mod)Si443x
sleep()Si443x
standby() overrideSi443xvirtual
startReceive()Si443x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSi443xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSi443xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSi443xvirtual
+
+ + + + diff --git a/class_si4430.html b/class_si4430.html new file mode 100644 index 00000000..15670e0c --- /dev/null +++ b/class_si4430.html @@ -0,0 +1,423 @@ + + + + + + +RadioLib: Si4430 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Si4430 Class Reference
+
+
+ +

Derived class for Si4430 modules. + More...

+ +

#include <Si4430.h>

+
+Inheritance diagram for Si4430:
+
+
+ + +Si4432 +Si443x +PhysicalLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Si4430 (Module *mod)
 Default constructor. More...
 
int16_t begin (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=181.1, int8_t power=10, uint8_t preambleLen=16)
 Initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 900.0 MHz to 960.0 MHz. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values range from -8 to 13 dBm in 3 dBm steps. More...
 
- Public Member Functions inherited from Si4432
 Si4432 (Module *mod)
 Default constructor. More...
 
int16_t begin (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=181.1, int8_t power=10, uint8_t preambleLen=16)
 Initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 240.0 MHz to 930.0 MHz. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values range from -1 to 20 dBm in 3 dBm steps. More...
 
- Public Member Functions inherited from Si443x
 Si443x (Module *mod)
 Default constructor. More...
 
int16_t begin (float br, float freqDev, float rxBw, uint8_t preambleLen)
 Initialization method. More...
 
+void reset ()
 Reset method. Will reset the chip to the default state using SDN pin.
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Binary transmit method. Will transmit arbitrary binary data up to 64 bytes long. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Binary receive method. Will attempt to receive arbitrary binary data up to 64 bytes long. For overloads to receive Arduino String, see PhysicalLayer::receive. More...
 
int16_t sleep ()
 Sets the module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called. More...
 
int16_t standby () override
 Sets the module to standby. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Enables direct transmission mode. While in direct mode, the module will not be able to transmit or receive packets. More...
 
int16_t receiveDirect () override
 Enables direct reception mode. While in direct mode, the module will not be able to transmit or receive packets. More...
 
int16_t packetMode ()
 Disables direct mode and enables packet mode, allowing the module to receive packets. More...
 
void setIrqAction (void(*func)(void))
 Sets interrupt service routine to call when IRQ activates. More...
 
+void clearIrqAction ()
 Clears interrupt service routine to call when IRQ activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 64 bytes long. More...
 
int16_t startReceive ()
 Interrupt-driven receive method. IRQ will be activated when full valid packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data that was received after calling startReceive method. This method reads len characters. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 0.123 to 256.0 kbps. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation from carrier frequency. Allowed values range from 0.625 to 320.0 kHz. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets receiver bandwidth. Allowed values range from 2.6 to 620.7 kHz. More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len)
 Sets sync word. Up to 4 bytes can be set as sync word. More...
 
int16_t setPreambleLength (uint8_t preambleLen)
 Sets preamble length. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for Si4430 modules.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Si4430::Si4430 (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio chip.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t Si4430::begin (float freq = 434.0,
float br = 48.0,
float freqDev = 50.0,
float rxBw = 181.1,
int8_t power = 10,
uint8_t preambleLen = 16 
)
+
+ +

Initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 900.0 MHz to 960.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 0.123 to 256.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.625 to 320.0 kbps.
rxBwReceiver bandwidth in kHz. Allowed values range from 2.6 to 620.7 kHz.
powerTransmission output power in dBm. Allowed values range from -8 to 13 dBm in 3 dBm steps.
preambleLenPreamble Length in bits. Defaults to 16 bits.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t Si4430::setFrequency (float freq)
+
+ +

Sets carrier frequency. Allowed values range from 900.0 MHz to 960.0 MHz.

+
Parameters
+ + +
freqCarrier frequency to be set in MHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t Si4430::setOutputPower (int8_t power)
+
+ +

Sets output power. Allowed values range from -8 to 13 dBm in 3 dBm steps.

+
Parameters
+ + +
powerOutput power to be set in dBm.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/Si443x/Si4430.h
  • +
  • src/modules/Si443x/Si4430.cpp
  • +
+
+
+ + + + diff --git a/class_si4430.js b/class_si4430.js new file mode 100644 index 00000000..837f6f45 --- /dev/null +++ b/class_si4430.js @@ -0,0 +1,7 @@ +var class_si4430 = +[ + [ "Si4430", "class_si4430.html#ac5ac1122e863a92b374a71e8880e16d9", null ], + [ "begin", "class_si4430.html#a8e17e67d0d3dd9b478be964be8647ca7", null ], + [ "setFrequency", "class_si4430.html#a025a31861d1511090168e416140d0343", null ], + [ "setOutputPower", "class_si4430.html#af8d615431bf66e06b45487f3fff73d16", null ] +]; \ No newline at end of file diff --git a/class_si4430.png b/class_si4430.png new file mode 100644 index 0000000000000000000000000000000000000000..52ddb95e4ff706edd743815e49bb19fdd5fa030a GIT binary patch literal 773 zcmeAS@N?(olHy`uVBq!ia0vp^u|Rx)gBeH$hR@FdQW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;aniQyvfCG*dc3!`YO~e0@4kz&t|vxa-o0ymdp`HZP3Ha4yQ61L-5Zh= z-m$fI>Wyv3tbYgXDsPQYKlLH3=wRK}cfEfv-FiOB+SYj1G^L(St38$9U+k}1xzN9D z|5kg&`s{j_dGQIJML&yn&x{mdkiWp(BAE65w@2-Y+6nBhlHbPPHO^!&@U(7lzr|>C ziSNP0GKT&w%oR&y4?Ld!CM_*7VUmc;E!C5c{omd#*n6lXxaeu4%G`pS`7Wn@Os{CF zzSI?e)4k?Q=;YNWRWna#rrx{xTvz7ZgD)Y{r;nN6lbinB>3q+jV}EAU>b*&jUvFtL z`R)pzt@&0(r2>^)`Dx}r2 + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Si4431 Member List
+
+
+ +

This is the complete list of members for Si4431, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=181.1, int8_t power=10, uint8_t preambleLen=16)Si4431
Si443x::begin(float br, float freqDev, float rxBw, uint8_t preambleLen)Si443x
clearIrqAction()Si443x
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overrideSi443xvirtual
packetMode()Si443x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSi443xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSi443xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSi443xvirtual
reset()Si443x
setBitRate(float br)Si443x
setDataShaping(uint8_t sh) overrideSi443xvirtual
setEncoding(uint8_t encoding) overrideSi443xvirtual
setFrequency(float freq)Si4432
setFrequencyDeviation(float freqDev) overrideSi443xvirtual
setIrqAction(void(*func)(void))Si443x
setOutputPower(int8_t power)Si4431
setPreambleLength(uint8_t preambleLen)Si443x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)Si443x
setRxBandwidth(float rxBw)Si443x
setSyncWord(uint8_t *syncWord, size_t len)Si443x
Si4431(Module *mod)Si4431
Si4432(Module *mod)Si4432
Si443x(Module *mod)Si443x
sleep()Si443x
standby() overrideSi443xvirtual
startReceive()Si443x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSi443xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSi443xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSi443xvirtual
+
+ + + + diff --git a/class_si4431.html b/class_si4431.html new file mode 100644 index 00000000..3052fc80 --- /dev/null +++ b/class_si4431.html @@ -0,0 +1,395 @@ + + + + + + +RadioLib: Si4431 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Si4431 Class Reference
+
+
+ +

Derived class for Si4431 modules. + More...

+ +

#include <Si4431.h>

+
+Inheritance diagram for Si4431:
+
+
+ + +Si4432 +Si443x +PhysicalLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Si4431 (Module *mod)
 Default constructor. More...
 
int16_t begin (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=181.1, int8_t power=10, uint8_t preambleLen=16)
 Initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values range from -8 to 13 dBm in 3 dBm steps. More...
 
- Public Member Functions inherited from Si4432
 Si4432 (Module *mod)
 Default constructor. More...
 
int16_t begin (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=181.1, int8_t power=10, uint8_t preambleLen=16)
 Initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 240.0 MHz to 930.0 MHz. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values range from -1 to 20 dBm in 3 dBm steps. More...
 
- Public Member Functions inherited from Si443x
 Si443x (Module *mod)
 Default constructor. More...
 
int16_t begin (float br, float freqDev, float rxBw, uint8_t preambleLen)
 Initialization method. More...
 
+void reset ()
 Reset method. Will reset the chip to the default state using SDN pin.
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Binary transmit method. Will transmit arbitrary binary data up to 64 bytes long. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Binary receive method. Will attempt to receive arbitrary binary data up to 64 bytes long. For overloads to receive Arduino String, see PhysicalLayer::receive. More...
 
int16_t sleep ()
 Sets the module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called. More...
 
int16_t standby () override
 Sets the module to standby. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Enables direct transmission mode. While in direct mode, the module will not be able to transmit or receive packets. More...
 
int16_t receiveDirect () override
 Enables direct reception mode. While in direct mode, the module will not be able to transmit or receive packets. More...
 
int16_t packetMode ()
 Disables direct mode and enables packet mode, allowing the module to receive packets. More...
 
void setIrqAction (void(*func)(void))
 Sets interrupt service routine to call when IRQ activates. More...
 
+void clearIrqAction ()
 Clears interrupt service routine to call when IRQ activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 64 bytes long. More...
 
int16_t startReceive ()
 Interrupt-driven receive method. IRQ will be activated when full valid packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data that was received after calling startReceive method. This method reads len characters. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 0.123 to 256.0 kbps. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation from carrier frequency. Allowed values range from 0.625 to 320.0 kHz. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets receiver bandwidth. Allowed values range from 2.6 to 620.7 kHz. More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len)
 Sets sync word. Up to 4 bytes can be set as sync word. More...
 
int16_t setPreambleLength (uint8_t preambleLen)
 Sets preamble length. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for Si4431 modules.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Si4431::Si4431 (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio chip.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t Si4431::begin (float freq = 434.0,
float br = 48.0,
float freqDev = 50.0,
float rxBw = 181.1,
int8_t power = 10,
uint8_t preambleLen = 16 
)
+
+ +

Initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 240.0 MHz to 930.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 0.123 to 256.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.625 to 320.0 kbps.
rxBwReceiver bandwidth in kHz. Allowed values range from 2.6 to 620.7 kHz.
powerTransmission output power in dBm. Allowed values range from -8 to 13 dBm in 3 dBm steps.
preambleLenPreamble Length in bits. Defaults to 16 bits.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t Si4431::setOutputPower (int8_t power)
+
+ +

Sets output power. Allowed values range from -8 to 13 dBm in 3 dBm steps.

+
Parameters
+ + +
powerOutput power to be set in dBm.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/Si443x/Si4431.h
  • +
  • src/modules/Si443x/Si4431.cpp
  • +
+
+
+ + + + diff --git a/class_si4431.js b/class_si4431.js new file mode 100644 index 00000000..722c78a0 --- /dev/null +++ b/class_si4431.js @@ -0,0 +1,6 @@ +var class_si4431 = +[ + [ "Si4431", "class_si4431.html#a332bfd2a32dea9ac0700bf172fe5b2d0", null ], + [ "begin", "class_si4431.html#ab9d7e3e4d0191dff2a1483bcfa555ac4", null ], + [ "setOutputPower", "class_si4431.html#a4da296b35056e076ff69a288bd801d19", null ] +]; \ No newline at end of file diff --git a/class_si4431.png b/class_si4431.png new file mode 100644 index 0000000000000000000000000000000000000000..1b3617f71f7ebdc3ea27a2a934bc61cae53de2cc GIT binary patch literal 774 zcmeAS@N?(olHy`uVBq!ia0vp^u|Rx)gBeH$hR@FdQW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;&Z-FmaB={(r~L=%Uf^ln;C_qI z<`Un7iDeA^TbL`B$R2n+{Y_e0V!|X5ms_eQAN#*OTw?3AbLGxo4wLSExE1G;y;Lm9 z)6?onOYPLFQMx-d^*pQZl|4JLPv+rM&UcD4@>%nrH2#YC z9e&>D7Gn&G)0E#b$YrvB_@N5)lf(=a)`?}FpMC`YHi+#H$je%1_o7Lqa?dvL!%-_+ zy;kdZo}aT}{idkZ{&Abu|E}Gpue^yD%=fSB=D#&BS(fecb9+nmw>Z|+Q0;>LT0x)Hug<%1u03V@?XJtcr2e_( n4cfr?0om~ITcSjp#y`dfvX=K-Cb6#sCRzqhS3j3^P6 + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Si4432 Member List
+
+
+ +

This is the complete list of members for Si4432, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=181.1, int8_t power=10, uint8_t preambleLen=16)Si4432
Si443x::begin(float br, float freqDev, float rxBw, uint8_t preambleLen)Si443x
clearIrqAction()Si443x
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overrideSi443xvirtual
packetMode()Si443x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSi443xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSi443xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSi443xvirtual
reset()Si443x
setBitRate(float br)Si443x
setDataShaping(uint8_t sh) overrideSi443xvirtual
setEncoding(uint8_t encoding) overrideSi443xvirtual
setFrequency(float freq)Si4432
setFrequencyDeviation(float freqDev) overrideSi443xvirtual
setIrqAction(void(*func)(void))Si443x
setOutputPower(int8_t power)Si4432
setPreambleLength(uint8_t preambleLen)Si443x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)Si443x
setRxBandwidth(float rxBw)Si443x
setSyncWord(uint8_t *syncWord, size_t len)Si443x
Si4432(Module *mod)Si4432
Si443x(Module *mod)Si443x
sleep()Si443x
standby() overrideSi443xvirtual
startReceive()Si443x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSi443xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSi443xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSi443xvirtual
+
+ + + + diff --git a/class_si4432.html b/class_si4432.html new file mode 100644 index 00000000..5b66fa9b --- /dev/null +++ b/class_si4432.html @@ -0,0 +1,411 @@ + + + + + + +RadioLib: Si4432 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Si4432 Class Reference
+
+
+ +

Derived class for Si4432 modules. + More...

+ +

#include <Si4432.h>

+
+Inheritance diagram for Si4432:
+
+
+ + +Si443x +PhysicalLayer +Si4430 +Si4431 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Si4432 (Module *mod)
 Default constructor. More...
 
int16_t begin (float freq=434.0, float br=48.0, float freqDev=50.0, float rxBw=181.1, int8_t power=10, uint8_t preambleLen=16)
 Initialization method. Must be called at least once from Arduino sketch to initialize the module. More...
 
int16_t setFrequency (float freq)
 Sets carrier frequency. Allowed values range from 240.0 MHz to 930.0 MHz. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values range from -1 to 20 dBm in 3 dBm steps. More...
 
- Public Member Functions inherited from Si443x
 Si443x (Module *mod)
 Default constructor. More...
 
int16_t begin (float br, float freqDev, float rxBw, uint8_t preambleLen)
 Initialization method. More...
 
+void reset ()
 Reset method. Will reset the chip to the default state using SDN pin.
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Binary transmit method. Will transmit arbitrary binary data up to 64 bytes long. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Binary receive method. Will attempt to receive arbitrary binary data up to 64 bytes long. For overloads to receive Arduino String, see PhysicalLayer::receive. More...
 
int16_t sleep ()
 Sets the module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called. More...
 
int16_t standby () override
 Sets the module to standby. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Enables direct transmission mode. While in direct mode, the module will not be able to transmit or receive packets. More...
 
int16_t receiveDirect () override
 Enables direct reception mode. While in direct mode, the module will not be able to transmit or receive packets. More...
 
int16_t packetMode ()
 Disables direct mode and enables packet mode, allowing the module to receive packets. More...
 
void setIrqAction (void(*func)(void))
 Sets interrupt service routine to call when IRQ activates. More...
 
+void clearIrqAction ()
 Clears interrupt service routine to call when IRQ activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 64 bytes long. More...
 
int16_t startReceive ()
 Interrupt-driven receive method. IRQ will be activated when full valid packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data that was received after calling startReceive method. This method reads len characters. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 0.123 to 256.0 kbps. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation from carrier frequency. Allowed values range from 0.625 to 320.0 kHz. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets receiver bandwidth. Allowed values range from 2.6 to 620.7 kHz. More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len)
 Sets sync word. Up to 4 bytes can be set as sync word. More...
 
int16_t setPreambleLength (uint8_t preambleLen)
 Sets preamble length. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Derived class for Si4432 modules.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Si4432::Si4432 (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio chip.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t Si4432::begin (float freq = 434.0,
float br = 48.0,
float freqDev = 50.0,
float rxBw = 181.1,
int8_t power = 10,
uint8_t preambleLen = 16 
)
+
+ +

Initialization method. Must be called at least once from Arduino sketch to initialize the module.

+
Parameters
+ + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 240.0 MHz to 930.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 0.123 to 256.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.625 to 320.0 kbps.
rxBwReceiver bandwidth in kHz. Allowed values range from 2.6 to 620.7 kHz.
powerTransmission output power in dBm. Allowed values range from -1 to 20 dBm in 3 dBm steps.
preambleLenPreamble Length in bits. Defaults to 16 bits.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t Si4432::setFrequency (float freq)
+
+ +

Sets carrier frequency. Allowed values range from 240.0 MHz to 930.0 MHz.

+
Parameters
+ + +
freqCarrier frequency to be set in MHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t Si4432::setOutputPower (int8_t power)
+
+ +

Sets output power. Allowed values range from -1 to 20 dBm in 3 dBm steps.

+
Parameters
+ + +
powerOutput power to be set in dBm.
+
+
+
Returns
Status Codes
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/Si443x/Si4432.h
  • +
  • src/modules/Si443x/Si4432.cpp
  • +
+
+
+ + + + diff --git a/class_si4432.js b/class_si4432.js new file mode 100644 index 00000000..d5aad4a7 --- /dev/null +++ b/class_si4432.js @@ -0,0 +1,7 @@ +var class_si4432 = +[ + [ "Si4432", "class_si4432.html#afb1f1ae46d04788aa42f6276efd231ac", null ], + [ "begin", "class_si4432.html#a0791a0d720bbe38030ba6ed95a383b71", null ], + [ "setFrequency", "class_si4432.html#aa0cdb6cb53bb0176803d5115356a8e84", null ], + [ "setOutputPower", "class_si4432.html#a8b26e2c86a9e5e8f6405f0a57b65caca", null ] +]; \ No newline at end of file diff --git a/class_si4432.png b/class_si4432.png new file mode 100644 index 0000000000000000000000000000000000000000..8a0854ec43d53cd126c542723529f22e35c02b36 GIT binary patch literal 1033 zcmeAS@N?(olHy`uVBq!ia0vp^M}YVM2Q!e&d1>Phq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0XL!0ehEy=Vo%{COW-S5N>9ddg-v8wB z;vbRTm6tE|&CA{7jO)9I2eH1^bTYsa^i4(t)r3}l@2)+K3>;Ck({p1-!F~PR?@~y7D`F?iE zzsIH<&%cVWweCFochaWpBhnF07~dqlUyez8o~1n& z**_<&^RU?NXq8DN=S0tSc6)eSl8#_nAm;561auqR&LFRqk_;bTFs?f%tMcm~n^^e- z37K{Ih1{I){TK|1@e9nSxi5CD%Le)>L-GVL9)UJBs4`?}vYoO%W1`kCGkeeHJvSPh zJbXI!oU$iJvNFnbDsOx;XX>`O;S(bE{abt_#{J{z%wXH>k8jcz{dsS(`|^zMCzUF; zDlF1{1M<)_3r&V}mdO@to@jgSu~PrEhhfemVQHXm7({@M)Sbql0Sdr(iWf^`uX8n2 zd|?QG&L>n`&)jY8!NYfb`;OL@a`gs@2qpz!JazzGrUX>pfBAdue_n=JAD5ob;%ra? zM(|-F23H-%fOb`eE}#eafQAEOUlwS%P>9mfDX(4zd##+8-|9K(O2^t371Kk&G0qa@ydjf2i`t zJvzs4mDB|-5_q$XT|oS5 rLyL;&&v`Chnp=~UCkA<~{lTBI)Nj#tWnVvFzGd)q^>bP0l+XkK#0ALl literal 0 HcmV?d00001 diff --git a/class_si443x-members.html b/class_si443x-members.html new file mode 100644 index 00000000..452cf515 --- /dev/null +++ b/class_si443x-members.html @@ -0,0 +1,161 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Si443x Member List
+
+
+ +

This is the complete list of members for Si443x, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(float br, float freqDev, float rxBw, uint8_t preambleLen)Si443x
clearIrqAction()Si443x
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overrideSi443xvirtual
packetMode()Si443x
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overrideSi443xvirtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overrideSi443xvirtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overrideSi443xvirtual
reset()Si443x
setBitRate(float br)Si443x
setDataShaping(uint8_t sh) overrideSi443xvirtual
setEncoding(uint8_t encoding) overrideSi443xvirtual
setFrequencyDeviation(float freqDev) overrideSi443xvirtual
setIrqAction(void(*func)(void))Si443x
setPreambleLength(uint8_t preambleLen)Si443x
setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)Si443x
setRxBandwidth(float rxBw)Si443x
setSyncWord(uint8_t *syncWord, size_t len)Si443x
Si443x(Module *mod)Si443x
sleep()Si443x
standby() overrideSi443xvirtual
startReceive()Si443x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSi443xvirtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSi443xvirtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSi443xvirtual
+
+ + + + diff --git a/class_si443x.html b/class_si443x.html new file mode 100644 index 00000000..80fb4da3 --- /dev/null +++ b/class_si443x.html @@ -0,0 +1,996 @@ + + + + + + +RadioLib: Si443x Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Si443x Class Reference
+
+
+ +

Base class for Si443x series. All derived classes for Si443x (e.g. Si4431 or Si4432) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes. + More...

+ +

#include <Si443x.h>

+
+Inheritance diagram for Si443x:
+
+
+ + +PhysicalLayer +Si4432 +Si4430 +Si4431 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Si443x (Module *mod)
 Default constructor. More...
 
int16_t begin (float br, float freqDev, float rxBw, uint8_t preambleLen)
 Initialization method. More...
 
+void reset ()
 Reset method. Will reset the chip to the default state using SDN pin.
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Binary transmit method. Will transmit arbitrary binary data up to 64 bytes long. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Binary receive method. Will attempt to receive arbitrary binary data up to 64 bytes long. For overloads to receive Arduino String, see PhysicalLayer::receive. More...
 
int16_t sleep ()
 Sets the module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called. More...
 
int16_t standby () override
 Sets the module to standby. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Enables direct transmission mode. While in direct mode, the module will not be able to transmit or receive packets. More...
 
int16_t receiveDirect () override
 Enables direct reception mode. While in direct mode, the module will not be able to transmit or receive packets. More...
 
int16_t packetMode ()
 Disables direct mode and enables packet mode, allowing the module to receive packets. More...
 
void setIrqAction (void(*func)(void))
 Sets interrupt service routine to call when IRQ activates. More...
 
+void clearIrqAction ()
 Clears interrupt service routine to call when IRQ activates.
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
 Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 64 bytes long. More...
 
int16_t startReceive ()
 Interrupt-driven receive method. IRQ will be activated when full valid packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data that was received after calling startReceive method. This method reads len characters. More...
 
int16_t setBitRate (float br)
 Sets FSK bit rate. Allowed values range from 0.123 to 256.0 kbps. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Sets FSK frequency deviation from carrier frequency. Allowed values range from 0.625 to 320.0 kHz. More...
 
int16_t setRxBandwidth (float rxBw)
 Sets receiver bandwidth. Allowed values range from 2.6 to 620.7 kHz. More...
 
int16_t setSyncWord (uint8_t *syncWord, size_t len)
 Sets sync word. Up to 4 bytes can be set as sync word. More...
 
int16_t setPreambleLength (uint8_t preambleLen)
 Sets preamble length. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t setEncoding (uint8_t encoding) override
 Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING. More...
 
int16_t setDataShaping (uint8_t sh) override
 Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping. More...
 
void setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
 Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch! More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Base class for Si443x series. All derived classes for Si443x (e.g. Si4431 or Si4432) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
Si443x::Si443x (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t Si443x::begin (float br,
float freqDev,
float rxBw,
uint8_t preambleLen 
)
+
+ +

Initialization method.

+
Parameters
+ + + + + +
brBit rate of the FSK transmission in kbps (kilobits per second).
freqDevFrequency deviation of the FSK transmission in kHz.
rxBwReceiver bandwidth in kHz.
preambleLenPreamble Length in bits.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
size_t Si443x::getPacketLength (bool update = true)
+
+overridevirtual
+
+ +

Query modem for the packet length of received payload.

+
Parameters
+ + +
updateUpdate received packet length. Will return cached value when set to false.
+
+
+
Returns
Length of last received packet in bytes.
+
Todo:
variable length mode
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + +
int16_t Si443x::packetMode ()
+
+ +

Disables direct mode and enables packet mode, allowing the module to receive packets.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t Si443x::readData (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Reads data that was received after calling startReceive method. This method reads len characters.

+
Parameters
+ + + +
dataPointer to array to save the received binary data.
lenNumber of bytes that will be received. Must be known in advance for binary transmissions.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t Si443x::receive (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Binary receive method. Will attempt to receive arbitrary binary data up to 64 bytes long. For overloads to receive Arduino String, see PhysicalLayer::receive.

+
Parameters
+ + + +
dataPointer to array to save the received binary data.
lenNumber of bytes that will be received. Must be known in advance for binary transmissions.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t Si443x::receiveDirect ()
+
+overridevirtual
+
+ +

Enables direct reception mode. While in direct mode, the module will not be able to transmit or receive packets.

+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t Si443x::setBitRate (float br)
+
+ +

Sets FSK bit rate. Allowed values range from 0.123 to 256.0 kbps.

+
Parameters
+ + +
brBit rate to be set (in kbps).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t Si443x::setDataShaping (uint8_t sh)
+
+overridevirtual
+
+ +

Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK mode with FSK modulation. Allowed values are RADIOLIB_SHAPING_0_3, RADIOLIB_SHAPING_0_5 or RADIOLIB_SHAPING_1_0. Set to RADIOLIB_SHAPING_NONE to disable data shaping.

+
Parameters
+ + +
shGaussian shaping bandwidth-time product that will be used for data shaping
+
+
+
Returns
Status Codes
+
Todo:
implement fiter configuration - docs claim this should be possible, but seems undocumented
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t Si443x::setEncoding (uint8_t encoding)
+
+overridevirtual
+
+ +

Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER and RADIOLIB_ENCODING_WHITENING.

+
Parameters
+ + +
encodingEncoding to be used.
+
+
+
Returns
Status Codes
+
Todo:
    +
  • add inverted Manchester?
  • +
+
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t Si443x::setFrequencyDeviation (float freqDev)
+
+overridevirtual
+
+ +

Sets FSK frequency deviation from carrier frequency. Allowed values range from 0.625 to 320.0 kHz.

+
Parameters
+ + +
freqDevFrequency deviation to be set (in kHz).
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
void Si443x::setIrqAction (void(*)(void) func)
+
+ +

Sets interrupt service routine to call when IRQ activates.

+
Parameters
+ + +
funcISR to call.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int16_t Si443x::setPreambleLength (uint8_t preambleLen)
+
+ +

Sets preamble length.

+
Parameters
+ + +
preambleLenPreamble length to be set (in bits).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void Si443x::setRfSwitchPins (RADIOLIB_PIN_TYPE rxEn,
RADIOLIB_PIN_TYPE txEn 
)
+
+ +

Some modules contain external RF switch controlled by two pins. This function gives RadioLib control over those two pins to automatically switch Rx and Tx state. When using automatic RF switch control, DO NOT change the pin mode of rxEn or txEn from Arduino sketch!

+
Parameters
+ + + +
rxEnRX enable pin.
txEnTX enable pin.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int16_t Si443x::setRxBandwidth (float rxBw)
+
+ +

Sets receiver bandwidth. Allowed values range from 2.6 to 620.7 kHz.

+
Parameters
+ + +
rxBwReceiver bandwidth to be set in kHz.
+
+
+
Returns
Status Codes
+
Todo:
float tolerance equality as macro?
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t Si443x::setSyncWord (uint8_t * syncWord,
size_t len 
)
+
+ +

Sets sync word. Up to 4 bytes can be set as sync word.

+
Parameters
+ + + +
syncWordPointer to the array of sync word bytes.
lenSync word length in bytes.
+
+
+ +
+
+ +
+
+ + + + + + + +
int16_t Si443x::sleep ()
+
+ +

Sets the module to sleep to save power. Module will not be able to transmit or receive any data while in sleep mode. Module will wake up automatically when methods like transmit or receive are called.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t Si443x::standby ()
+
+overridevirtual
+
+ +

Sets the module to standby.

+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + +
int16_t Si443x::startReceive ()
+
+ +

Interrupt-driven receive method. IRQ will be activated when full valid packet is received.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t Si443x::startTransmit (uint8_t * data,
size_t len,
uint8_t addr = 0 
)
+
+overridevirtual
+
+ +

Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 64 bytes long.

+
Parameters
+ + + + +
dataBinary data that will be transmitted.
lenLength of binary data to transmit (in bytes).
addrNode address to transmit the packet to.
+
+
+
Returns
Status Codes
+
Todo:
variable packet length
+
Todo:
use header as address field?
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t Si443x::transmit (uint8_t * data,
size_t len,
uint8_t addr = 0 
)
+
+overridevirtual
+
+ +

Binary transmit method. Will transmit arbitrary binary data up to 64 bytes long. For overloads to transmit Arduino String or C-string, see PhysicalLayer::transmit.

+
Parameters
+ + + + +
dataBinary data that will be transmitted.
lenLength of binary data to transmit (in bytes).
addrNode address to transmit the packet to.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t Si443x::transmitDirect (uint32_t frf = 0)
+
+overridevirtual
+
+ +

Enables direct transmission mode. While in direct mode, the module will not be able to transmit or receive packets.

+
Parameters
+ + +
FRF24-bit raw frequency value to start transmitting at. Required for quick frequency shifts in RTTY.
+
+
+
Returns
Status Codes
+
Todo:
integers only
+ +

Implements PhysicalLayer.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/Si443x/Si443x.h
  • +
  • src/modules/Si443x/Si443x.cpp
  • +
+
+
+ + + + diff --git a/class_si443x.js b/class_si443x.js new file mode 100644 index 00000000..238a4790 --- /dev/null +++ b/class_si443x.js @@ -0,0 +1,27 @@ +var class_si443x = +[ + [ "Si443x", "class_si443x.html#ae7cfff2efebfa01c8a50a5cbbe8775b9", null ], + [ "begin", "class_si443x.html#a453eda5436dc4dfe0dad676dc3977752", null ], + [ "clearIrqAction", "class_si443x.html#a8d019f58551346c3f3bd8b72d2486109", null ], + [ "getPacketLength", "class_si443x.html#a2d944669dc69ccd47f9e6c360f2ffd10", null ], + [ "packetMode", "class_si443x.html#a616eb24c4b11c5d39caaade160be8092", null ], + [ "readData", "class_si443x.html#ad00ff8b58c68118ad74fee82028aa71e", null ], + [ "receive", "class_si443x.html#aabca3ba8eda212938febab1df2e764b4", null ], + [ "receiveDirect", "class_si443x.html#a178b471527813a608c04db7d3c9648d6", null ], + [ "reset", "class_si443x.html#ae782ee06e2c463c24f22f5d4c3dd8d97", null ], + [ "setBitRate", "class_si443x.html#ad43575e731dd7e66d5ad9e6dccd27170", null ], + [ "setDataShaping", "class_si443x.html#ade08c79074c7e4414d34eefa25cee168", null ], + [ "setEncoding", "class_si443x.html#a1382fc3b68f447e381613e6670747128", null ], + [ "setFrequencyDeviation", "class_si443x.html#a7c4e6caa95e5622f6f515ba0339a1c66", null ], + [ "setIrqAction", "class_si443x.html#a801b51059e61f93d4e01ae6ba8eb0726", null ], + [ "setPreambleLength", "class_si443x.html#a4821a6141caf16141074615c976ecd91", null ], + [ "setRfSwitchPins", "class_si443x.html#ae365087803b88b29932b5c793edff1d4", null ], + [ "setRxBandwidth", "class_si443x.html#a51e6b7c677e82042224798114f311175", null ], + [ "setSyncWord", "class_si443x.html#a4ed0da298c2418db4a88a19ef8938e0a", null ], + [ "sleep", "class_si443x.html#ada90718aeb67d7f0e9899da534de9695", null ], + [ "standby", "class_si443x.html#ac45d2776df3ff338db154ead143fb7b8", null ], + [ "startReceive", "class_si443x.html#a10f886fc534a85bbf8c1aeb9b5ffe4f2", null ], + [ "startTransmit", "class_si443x.html#a402b4f5f11ba79e9cd4fb6ac0bfd9314", null ], + [ "transmit", "class_si443x.html#a782748025e19ec6e597293afb6570bff", null ], + [ "transmitDirect", "class_si443x.html#a5a86a2032c4b876c1c8e4a7cf4730c99", null ] +]; \ No newline at end of file diff --git a/class_si443x.png b/class_si443x.png new file mode 100644 index 0000000000000000000000000000000000000000..b6db84918c1cd4de800ca371163b4f98b2f631b6 GIT binary patch literal 1037 zcmeAS@N?(olHy`uVBq!ia0vp^M}YVM2Q!e&d1>Phq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0=Xkm}hEy=Vo%`_8W-T7J>*~h${;SHz zySip;-jB%na%85gR?y_B4E2ovM2$D6F~l@_1}Qr+Etoc8!V)G$#sKe0FaE9DA2z9M z&lg@<_s1%kho1`lpERewGu6rMn*8OCoypT8p6km`mHY3LbE!F&Ge~QIcH2M zgc#&FI2rg+r8Atbm&O`1tXq(}U;@JmRTT!V78VEHqYjzvGmkBqm>j(Q^NtBKKE<|N zOEYDz=$7wPeZFK%S)L5zw+hYWk0*-!@zKR;DwRPoB|T zH$h_k&XaTgOuwwP@ph7VH_L+=)^mi-Co)(#f_=ik3Jz@s4WPremc(8+Wj-Kpd*E(m zlgoYk1CKa`nh*cgl~WYlE!@CQv~NJ3-E#2EntAumtdVQbHt@`HK?*fZuad)Gulty< z)VDn$Nxhi&Zg)`$+UQV#s$e6{+>8SzD@U@A|1n3TIsA{{8QHi^|-C$2)aB)j2plS1GHgtn>i7 qN>)+P({ + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
TransportLayer Member List
+
+
+ +

This is the complete list of members for TransportLayer, including all inherited members.

+ + + + + + + +
closeTransportConnection()=0TransportLayerpure virtual
getNumBytes(uint32_t timeout=10000, size_t minBytes=10)=0TransportLayerpure virtual
openTransportConnection(const char *host, const char *protocol, uint16_t port, uint16_t tcpKeepAlive=0)=0TransportLayerpure virtual
receive(uint8_t *data, size_t len, uint32_t timeout=10000)=0TransportLayerpure virtual
send(const char *data)=0TransportLayerpure virtual
send(uint8_t *data, size_t len)=0TransportLayerpure virtual
+
+ + + + diff --git a/class_transport_layer.html b/class_transport_layer.html new file mode 100644 index 00000000..ea0316f3 --- /dev/null +++ b/class_transport_layer.html @@ -0,0 +1,439 @@ + + + + + + +RadioLib: TransportLayer Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
TransportLayer Class Referenceabstract
+
+
+ +

Provides common interface for protocols that run on modules with Internet connectivity, such as HTTP or MQTT. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class. + More...

+ +

#include <TransportLayer.h>

+
+Inheritance diagram for TransportLayer:
+
+
+ + +ESP8266 + +
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual int16_t openTransportConnection (const char *host, const char *protocol, uint16_t port, uint16_t tcpKeepAlive=0)=0
 Open transport layer connection. More...
 
virtual int16_t closeTransportConnection ()=0
 Close transport layer connection. More...
 
virtual int16_t send (const char *data)=0
 Send string-based data. More...
 
virtual int16_t send (uint8_t *data, size_t len)=0
 Send arbitrary binary data. More...
 
virtual size_t receive (uint8_t *data, size_t len, uint32_t timeout=10000)=0
 Receive data. More...
 
virtual size_t getNumBytes (uint32_t timeout=10000, size_t minBytes=10)=0
 Get number of received bytes. More...
 
+

Detailed Description

+

Provides common interface for protocols that run on modules with Internet connectivity, such as HTTP or MQTT. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual int16_t TransportLayer::closeTransportConnection ()
+
+pure virtual
+
+ +

Close transport layer connection.

+
Returns
Status Codes
+ +

Implemented in ESP8266.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual size_t TransportLayer::getNumBytes (uint32_t timeout = 10000,
size_t minBytes = 10 
)
+
+pure virtual
+
+ +

Get number of received bytes.

+
Parameters
+ + + +
timeoutReception timeout in ms. Defaults to 10000.
minBytesMinimum required number of bytes that must be received.
+
+
+
Returns
Number of received bytes, or 0 on timeout.
+ +

Implemented in ESP8266.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual int16_t TransportLayer::openTransportConnection (const char * host,
const char * protocol,
uint16_t port,
uint16_t tcpKeepAlive = 0 
)
+
+pure virtual
+
+ +

Open transport layer connection.

+
Parameters
+ + + + + +
hostHost to connect to.
protocolTransport protocol to use. Usually "TCP" or "UDP".
portto be used for the connection.
tcpKeepAliveTCP keep alive interval. Defaults to 0.
+
+
+
Returns
Status Codes
+ +

Implemented in ESP8266.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual size_t TransportLayer::receive (uint8_t * data,
size_t len,
uint32_t timeout = 10000 
)
+
+pure virtual
+
+ +

Receive data.

+
Parameters
+ + + + +
dataPointer to array to save the received data.
lenNumber of bytes to read.
timeoutReception timeout in ms. Defaults to 10000.
+
+
+
Returns
Status Codes
+ +

Implemented in ESP8266.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual int16_t TransportLayer::send (const char * data)
+
+pure virtual
+
+ +

Send string-based data.

+
Parameters
+ + +
stringString data to be sent.
+
+
+
Returns
Status Codes
+ +

Implemented in ESP8266.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual int16_t TransportLayer::send (uint8_t * data,
size_t len 
)
+
+pure virtual
+
+ +

Send arbitrary binary data.

+
Parameters
+ + + +
dataData to be sent.
lenNumber of bytes to send.
+
+
+
Returns
Status Codes
+ +

Implemented in ESP8266.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/class_transport_layer.js b/class_transport_layer.js new file mode 100644 index 00000000..870e212c --- /dev/null +++ b/class_transport_layer.js @@ -0,0 +1,9 @@ +var class_transport_layer = +[ + [ "closeTransportConnection", "class_transport_layer.html#a82fc1c71a0f6d0aac1be7f6c184a0021", null ], + [ "getNumBytes", "class_transport_layer.html#a730e6671632844b1effc114e5c7d95c8", null ], + [ "openTransportConnection", "class_transport_layer.html#a36b1ceebca3643fb475607d3d92f5d63", null ], + [ "receive", "class_transport_layer.html#a846492348f71d7328834076c9046dc3f", null ], + [ "send", "class_transport_layer.html#a1d9cb76640868aa0338b52808e4f022d", null ], + [ "send", "class_transport_layer.html#afb001c6348bc19694090532cc5f00e52", null ] +]; \ No newline at end of file diff --git a/class_transport_layer.png b/class_transport_layer.png new file mode 100644 index 0000000000000000000000000000000000000000..af63f63febc5716c9c8700203d09b55c6eb2cdcb GIT binary patch literal 479 zcmV<50U-W~P)vTJkN^MxkN^Mxkifve1&Q1r00008bW%=J0RR90|NsC0)yh;d0004QNklb80syS6 z(WU`K9+wmPwj*?G8LgM0uesTpka-@Q21Ig9#}QW-OlhsvO`N98BMqpUxTwQCszT&> z+VQ(u9XR^6iYK61&$%NHh^5Lyx{hYP-WqqcinA4^usV+S;|qtWR%QI*xeEQcEb)xx zm#vcrKp$J!Vbr~j(rEaLE&nw>ekS z0bpc00BlSLfQ{(@urVC~Hl_o>#&iJK_{R?Ky}!ibz4w>EOVUuLLy~O#uET{-yh!)) zLAQ~l9Vd>mU4P29*GSSHqoZ-fzGOa`-{x4$P&r;@*=$=OQqnx`*kIBpcHqNj4sGc<=pKJ^*My V6}#Y`Ax;1Q002ovPDHLkV1m{@++zR$ literal 0 HcmV?d00001 diff --git a/class_x_bee-members.html b/class_x_bee-members.html new file mode 100644 index 00000000..1e011fbc --- /dev/null +++ b/class_x_bee-members.html @@ -0,0 +1,137 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
XBee Member List
+
+
+ +

This is the complete list of members for XBee, including all inherited members.

+ + + + + + + + + + +
available()XBee
begin(long speed)XBee
getPacketData()XBee
getPacketSource()XBee
reset()XBee
setPanId(uint8_t *panId)XBee
transmit(uint8_t *dest, const char *payload, uint8_t radius=1)XBee
transmit(uint8_t *dest, uint8_t *destNetwork, const char *payload, uint8_t radius=1)XBee
XBee(Module *mod)XBee
+
+ + + + diff --git a/class_x_bee.html b/class_x_bee.html new file mode 100644 index 00000000..b5eba11f --- /dev/null +++ b/class_x_bee.html @@ -0,0 +1,392 @@ + + + + + + +RadioLib: XBee Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
XBee Class Reference
+
+
+ +

Control class for XBee modules. + More...

+ +

#include <XBee.h>

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

+Public Member Functions

 XBee (Module *mod)
 Default constructor. More...
 
int16_t begin (long speed)
 Initialization method. More...
 
+void reset ()
 Resets module using interrupt/GPIO pin 1.
 
int16_t transmit (uint8_t *dest, const char *payload, uint8_t radius=1)
 Sends data to the destination 64-bit (global) address, when destination 16-bit (local) address is unknown. More...
 
int16_t transmit (uint8_t *dest, uint8_t *destNetwork, const char *payload, uint8_t radius=1)
 Sends data to the destination 64-bit (global) address, when destination 16-bit (local) address is known. More...
 
size_t available ()
 Gets the number of payload bytes received. More...
 
String getPacketSource ()
 Gets packet source 64-bit address. More...
 
String getPacketData ()
 Gets packet payload. More...
 
int16_t setPanId (uint8_t *panId)
 Sets PAN (Personal Area Network) ID. All XBees must be in the same PAN in order to communicate. More...
 
+

Detailed Description

+

Control class for XBee modules.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
XBee::XBee (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
size_t XBee::available ()
+
+ +

Gets the number of payload bytes received.

+
Returns
Number of available payload bytes, or 0 if nothing was received.
+ +
+
+ +
+
+ + + + + + + + +
int16_t XBee::begin (long speed)
+
+ +

Initialization method.

+
Parameters
+ + +
speedBaud rate to use for UART interface.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
String XBee::getPacketData ()
+
+ +

Gets packet payload.

+
Returns
Packet payload, in the form of Arduino String.
+ +
+
+ +
+
+ + + + + + + +
String XBee::getPacketSource ()
+
+ +

Gets packet source 64-bit address.

+
Returns
Packet source address, in the form of uppercase hexadecimal Arduino String (i.e. 16 characters).
+ +
+
+ +
+
+ + + + + + + + +
int16_t XBee::setPanId (uint8_t * panId)
+
+ +

Sets PAN (Personal Area Network) ID. All XBees must be in the same PAN in order to communicate.

+
Parameters
+ + +
panId8-byte PAN ID to be used, in the form of uppercase hexadecimal string (i.e. 16 characters).
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t XBee::transmit (uint8_t * dest,
const char * payload,
uint8_t radius = 1 
)
+
+ +

Sends data to the destination 64-bit (global) address, when destination 16-bit (local) address is unknown.

+
Parameters
+ + + + +
destDestination 64-bit address, in the form of 8-byte array.
payloadString of payload bytes.
radiusNumber of maximum "hops" for a broadcast transmission. Defaults to 1, set to 0 for unlimited number of hops.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t XBee::transmit (uint8_t * dest,
uint8_t * destNetwork,
const char * payload,
uint8_t radius = 1 
)
+
+ +

Sends data to the destination 64-bit (global) address, when destination 16-bit (local) address is known.

+
Parameters
+ + + + + +
destDestination 64-bit address, in the form of 8-byte array.
destNetworkDestination 16-bit address, in the form of 2-byte array.
payloadString of payload bytes.
radiusNumber of maximum "hops" for a broadcast transmission. Defaults to 1, set to 0 for unlimited number of hops.
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/XBee/XBee.h
  • +
  • src/modules/XBee/XBee.cpp
  • +
+
+
+ + + + diff --git a/class_x_bee.js b/class_x_bee.js new file mode 100644 index 00000000..9aaf26c2 --- /dev/null +++ b/class_x_bee.js @@ -0,0 +1,12 @@ +var class_x_bee = +[ + [ "XBee", "class_x_bee.html#a8a60ce7fd2b58e495b436d046e730e0b", null ], + [ "available", "class_x_bee.html#a5ecae4c93f7aaaf85146f75eebd38891", null ], + [ "begin", "class_x_bee.html#a84b4593723cab4d5ce14e2bf4ee6dbe4", null ], + [ "getPacketData", "class_x_bee.html#ab911ae5476a3a7c89dbac46adc1c843b", null ], + [ "getPacketSource", "class_x_bee.html#abcffe611d9a823d66a8a2c12720ff70b", null ], + [ "reset", "class_x_bee.html#a10a4b3df9d5980e89a126848ec31613c", null ], + [ "setPanId", "class_x_bee.html#a88745c61a1dc2d1139c34d6cc385d35b", null ], + [ "transmit", "class_x_bee.html#ac1573e0aa0421cbcc767a968dda65819", null ], + [ "transmit", "class_x_bee.html#a697bfb6969560ef25bfb6c7bc64c3f09", null ] +]; \ No newline at end of file diff --git a/class_x_bee_serial-members.html b/class_x_bee_serial-members.html new file mode 100644 index 00000000..ab3d8fde --- /dev/null +++ b/class_x_bee_serial-members.html @@ -0,0 +1,163 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
XBeeSerial Member List
+
+
+ +

This is the complete list of members for XBeeSerial, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
available() (defined in ISerial)ISerial
begin(long speed)XBeeSerial
end() (defined in ISerial)ISerial
flush() (defined in ISerial)ISerial
ISerial(Module *mod) (defined in ISerial)ISerialexplicit
peek() (defined in ISerial)ISerial
print(const __FlashStringHelper *) (defined in ISerial)ISerial
print(const String &) (defined in ISerial)ISerial
print(const char[]) (defined in ISerial)ISerial
print(char) (defined in ISerial)ISerial
print(unsigned char, int=DEC) (defined in ISerial)ISerial
print(int, int=DEC) (defined in ISerial)ISerial
print(unsigned int, int=DEC) (defined in ISerial)ISerial
print(long, int=DEC) (defined in ISerial)ISerial
print(unsigned long, int=DEC) (defined in ISerial)ISerial
print(double, int=2) (defined in ISerial)ISerial
print(const Printable &) (defined in ISerial)ISerial
println(const __FlashStringHelper *) (defined in ISerial)ISerial
println(const String &s) (defined in ISerial)ISerial
println(const char[]) (defined in ISerial)ISerial
println(char) (defined in ISerial)ISerial
println(unsigned char, int=DEC) (defined in ISerial)ISerial
println(int, int=DEC) (defined in ISerial)ISerial
println(unsigned int, int=DEC) (defined in ISerial)ISerial
println(long, int=DEC) (defined in ISerial)ISerial
println(unsigned long, int=DEC) (defined in ISerial)ISerial
println(double, int=2) (defined in ISerial)ISerial
println(const Printable &) (defined in ISerial)ISerial
println(void) (defined in ISerial)ISerial
read() (defined in ISerial)ISerial
reset()XBeeSerial
setDestinationAddress(const char *destinationAddressHigh, const char *destinationAddressLow)XBeeSerial
setPanId(const char *panId)XBeeSerial
write(uint8_t) (defined in ISerial)ISerial
XBeeSerial(Module *mod)XBeeSerial
+
+ + + + diff --git a/class_x_bee_serial.html b/class_x_bee_serial.html new file mode 100644 index 00000000..2a8a9502 --- /dev/null +++ b/class_x_bee_serial.html @@ -0,0 +1,374 @@ + + + + + + +RadioLib: XBeeSerial Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
XBeeSerial Class Reference
+
+
+ +

XBee Serial interface. This class is used for XBees in transparent mode, i.e. when two XBees act as a "wireless UART". + More...

+ +

#include <XBee.h>

+
+Inheritance diagram for XBeeSerial:
+
+
+ + +ISerial + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 XBeeSerial (Module *mod)
 Default constructor. More...
 
int16_t begin (long speed)
 Initialization method. More...
 
+void reset ()
 Resets module using interrupt/GPIO pin 1.
 
int16_t setDestinationAddress (const char *destinationAddressHigh, const char *destinationAddressLow)
 Sets destination XBee address. More...
 
int16_t setPanId (const char *panId)
 Sets PAN (Personal Area Network) ID. Both XBees must be in the same PAN in order to use transparent mode. More...
 
- Public Member Functions inherited from ISerial
ISerial (Module *mod)
 
+void begin (long)
 
+void end ()
 
+int peek ()
 
+size_t write (uint8_t)
 
+int read ()
 
+int available ()
 
+void flush ()
 
+size_t print (const __FlashStringHelper *)
 
+size_t print (const String &)
 
+size_t print (const char[])
 
+size_t print (char)
 
+size_t print (unsigned char, int=DEC)
 
+size_t print (int, int=DEC)
 
+size_t print (unsigned int, int=DEC)
 
+size_t print (long, int=DEC)
 
+size_t print (unsigned long, int=DEC)
 
+size_t print (double, int=2)
 
+size_t print (const Printable &)
 
+size_t println (const __FlashStringHelper *)
 
+size_t println (const String &s)
 
+size_t println (const char[])
 
+size_t println (char)
 
+size_t println (unsigned char, int=DEC)
 
+size_t println (int, int=DEC)
 
+size_t println (unsigned int, int=DEC)
 
+size_t println (long, int=DEC)
 
+size_t println (unsigned long, int=DEC)
 
+size_t println (double, int=2)
 
+size_t println (const Printable &)
 
+size_t println (void)
 
+

Detailed Description

+

XBee Serial interface. This class is used for XBees in transparent mode, i.e. when two XBees act as a "wireless UART".

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
XBeeSerial::XBeeSerial (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
int16_t XBeeSerial::begin (long speed)
+
+ +

Initialization method.

+
Parameters
+ + +
speedBaud rate to use for UART interface.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t XBeeSerial::setDestinationAddress (const char * destinationAddressHigh,
const char * destinationAddressLow 
)
+
+ +

Sets destination XBee address.

+
Parameters
+ + + +
destinationAddressHighHigher 4 bytes of the destination XBee module, in the form of uppercase hexadecimal string (i.e. 8 characters).
destinationAddressLowLower 4 bytes of the destination XBee module, in the form of uppercase hexadecimal string (i.e. 8 characters).
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t XBeeSerial::setPanId (const char * panId)
+
+ +

Sets PAN (Personal Area Network) ID. Both XBees must be in the same PAN in order to use transparent mode.

+
Parameters
+ + +
panId8-byte PAN ID to be used, in the form of uppercase hexadecimal string (i.e. 16 characters).
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/XBee/XBee.h
  • +
  • src/modules/XBee/XBee.cpp
  • +
+
+
+ + + + diff --git a/class_x_bee_serial.js b/class_x_bee_serial.js new file mode 100644 index 00000000..6b682870 --- /dev/null +++ b/class_x_bee_serial.js @@ -0,0 +1,8 @@ +var class_x_bee_serial = +[ + [ "XBeeSerial", "class_x_bee_serial.html#a9ee7ddd4b45096a6112798be1be09080", null ], + [ "begin", "class_x_bee_serial.html#ac184a4dec32eaeafdb8e68079c3fd932", null ], + [ "reset", "class_x_bee_serial.html#a1870183689e2a2a17aa36e0d6d30ea3f", null ], + [ "setDestinationAddress", "class_x_bee_serial.html#ae485a8ebeaf574ffe0c2c56a61583f13", null ], + [ "setPanId", "class_x_bee_serial.html#ad429a47dc445765d2dec7ff64b922306", null ] +]; \ No newline at end of file diff --git a/class_x_bee_serial.png b/class_x_bee_serial.png new file mode 100644 index 0000000000000000000000000000000000000000..3d30715e64f53b663572591ee8f809b26058fc57 GIT binary patch literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^K0qA6!3-o@Vv~OYDTx4|5ZC|z{{xvX-h3_XKQsZz z0^y=px?;gJYYT20*W&hOD*`|-qTqv5dWZr$=f_u;FFQ1m-&n~k`UpqVZ z)-Nqj+1IYqmq>W4c^Y=LzN`Mx+HIFUeIa-3>AA^!UoZ$x<56&%xOB=Tm46JK69grA^r9yM!;`_&)z4*} HQ$iB}M?ke6 literal 0 HcmV?d00001 diff --git a/classes.html b/classes.html new file mode 100644 index 00000000..2df0c304 --- /dev/null +++ b/classes.html @@ -0,0 +1,162 @@ + + + + + + +RadioLib: Class Index + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
A | C | E | H | I | J | M | N | P | R | S | T | X
+ + + + + + + + + + + + + + + + + + + + +
  A  
+
  I  
+
RFM22   SX1261   
  X  
+
RFM23   SX1262   
AFSKClient   ISerial   RFM95   SX1268   XBee   
AX25Client   ITA2String   RFM96   SX126x   XBeeSerial   
AX25Frame   
  J  
+
RFM97   SX1272   
  n  
+
  C  
+
RFM98   SX1273   
JDY08   RTTYClient   SX1276   nRF24   
CC1101   
  M  
+
  S  
+
SX1277   
  t  
+
  E  
+
SX1278   
Module   Si4430   SX1279   tone_t   
ESP8266   MorseClient   Si4431   SX127x   
  H  
+
MQTTClient   Si4432   SX1280   
  P  
+
Si443x   SX1281   
HC05   SSTVClient   SX1282   
HellClient   PhysicalLayer   SSTVMode_t   SX128x   
HTTPClient   
  R  
+
SX1231   
  T  
+
RF69   TransportLayer   
+
A | C | E | H | I | J | M | N | P | R | S | T | X
+
+
+ + + + diff --git a/classn_r_f24-members.html b/classn_r_f24-members.html new file mode 100644 index 00000000..def9629e --- /dev/null +++ b/classn_r_f24-members.html @@ -0,0 +1,166 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nRF24 Member List
+
+
+ +

This is the complete list of members for nRF24, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(int16_t freq=2400, int16_t dataRate=1000, int8_t power=-12, uint8_t addrWidth=5)nRF24
disablePipe(uint8_t pipeNum)nRF24
getFreqStep() const PhysicalLayer
getPacketLength(bool update=true) overridenRF24virtual
getStatus(uint8_t mask=0xFF)nRF24
isCarrierDetected()nRF24
nRF24(Module *mod)nRF24
PhysicalLayer(float freqStep, size_t maxPacketLength)PhysicalLayer
readData(uint8_t *data, size_t len) overridenRF24virtual
PhysicalLayer::readData(String &str, size_t len=0)PhysicalLayer
receive(uint8_t *data, size_t len) overridenRF24virtual
PhysicalLayer::receive(String &str, size_t len=0)PhysicalLayer
receiveDirect() overridenRF24virtual
setAddressWidth(uint8_t addrWidth)nRF24
setAutoAck(bool autoAckOn=true)nRF24
setAutoAck(uint8_t pipeNum, bool autoAckOn)nRF24
setCrcFiltering(bool crcOn=true)nRF24
setDataRate(int16_t dataRate)nRF24
setDataShaping(uint8_t sh) overridenRF24virtual
setEncoding(uint8_t encoding) overridenRF24virtual
setFrequency(int16_t freq)nRF24
setFrequencyDeviation(float freqDev) overridenRF24virtual
setIrqAction(void(*func)(void))nRF24
setOutputPower(int8_t power)nRF24
setReceivePipe(uint8_t pipeNum, uint8_t *addr)nRF24
setReceivePipe(uint8_t pipeNum, uint8_t addrByte)nRF24
setTransmitPipe(uint8_t *addr)nRF24
sleep()nRF24
standby() overridenRF24virtual
startReceive()nRF24
startTransmit(uint8_t *data, size_t len, uint8_t addr) overridenRF24virtual
PhysicalLayer::startTransmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
transmit(uint8_t *data, size_t len, uint8_t addr) overridenRF24virtual
PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(String &str, uint8_t addr=0)PhysicalLayer
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overridenRF24virtual
+
+ + + + diff --git a/classn_r_f24.html b/classn_r_f24.html new file mode 100644 index 00000000..802d686d --- /dev/null +++ b/classn_r_f24.html @@ -0,0 +1,1184 @@ + + + + + + +RadioLib: nRF24 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nRF24 Class Reference
+
+
+ +

Control class for nRF24 module. + More...

+ +

#include <nRF24.h>

+
+Inheritance diagram for nRF24:
+
+
+ + +PhysicalLayer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 nRF24 (Module *mod)
 Default constructor. More...
 
int16_t begin (int16_t freq=2400, int16_t dataRate=1000, int8_t power=-12, uint8_t addrWidth=5)
 Initialization method. More...
 
int16_t sleep ()
 Sets the module to sleep mode. More...
 
int16_t standby () override
 Sets the module to standby mode. More...
 
int16_t transmit (uint8_t *data, size_t len, uint8_t addr) override
 Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t receive (uint8_t *data, size_t len) override
 Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t transmitDirect (uint32_t frf=0) override
 Starts direct mode transmission. More...
 
int16_t receiveDirect () override
 Dummy direct mode reception method, to ensure PhysicalLayer compatibility. More...
 
void setIrqAction (void(*func)(void))
 Sets interrupt service routine to call when IRQ activates. More...
 
int16_t startTransmit (uint8_t *data, size_t len, uint8_t addr) override
 Interrupt-driven binary transmit method. IRQ will be activated when full packet is transmitted. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
 
int16_t startReceive ()
 Interrupt-driven receive method. IRQ will be activated when full packet is received. More...
 
int16_t readData (uint8_t *data, size_t len) override
 Reads data received after calling startReceive method. More...
 
int16_t setFrequency (int16_t freq)
 Sets carrier frequency. Allowed values range from 2400 MHz to 2525 MHz. More...
 
int16_t setDataRate (int16_t dataRate)
 Sets data rate. Allowed values are 2000, 1000 or 250 kbps. More...
 
int16_t setOutputPower (int8_t power)
 Sets output power. Allowed values are -18, -12, -6 or 0 dBm. More...
 
int16_t setAddressWidth (uint8_t addrWidth)
 Sets address width of transmit and receive pipes in bytes. Allowed values are 3, 4 or 5 bytes. More...
 
int16_t setTransmitPipe (uint8_t *addr)
 Sets address of transmit pipe. The address width must be the same as the same as the configured in setAddressWidth. More...
 
int16_t setReceivePipe (uint8_t pipeNum, uint8_t *addr)
 Sets address of receive pipes 0 or 1. The address width must be the same as the same as the configured in setAddressWidth. More...
 
int16_t setReceivePipe (uint8_t pipeNum, uint8_t addrByte)
 Sets address of receive pipes 2 - 5. The first 2 - 4 address bytes for these pipes are the same as for address pipe 1, only the last byte can be set. More...
 
int16_t disablePipe (uint8_t pipeNum)
 Disables specified receive pipe. More...
 
int16_t getStatus (uint8_t mask=0xFF)
 Gets nRF24 status register. More...
 
bool isCarrierDetected ()
 Checks if carrier was detected during last RX. More...
 
int16_t setFrequencyDeviation (float freqDev) override
 Dummy configuration method, to ensure PhysicalLayer compatibility. More...
 
size_t getPacketLength (bool update=true) override
 Query modem for the packet length of received payload. More...
 
int16_t setCrcFiltering (bool crcOn=true)
 Enable CRC filtering and generation. More...
 
int16_t setAutoAck (bool autoAckOn=true)
 Enable or disable auto-acknowledge packets on all pipes. More...
 
int16_t setAutoAck (uint8_t pipeNum, bool autoAckOn)
 Enable or disable auto-acknowledge packets on given pipe. More...
 
int16_t setDataShaping (uint8_t sh) override
 Dummy data shaping configuration method, to ensure PhysicalLayer compatibility. More...
 
int16_t setEncoding (uint8_t encoding) override
 Dummy encoding configuration method, to ensure PhysicalLayer compatibility. More...
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
int16_t startTransmit (String &str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t startTransmit (const char *str, uint8_t addr=0)
 Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
+

Detailed Description

+

Control class for nRF24 module.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
nRF24::nRF24 (Modulemod)
+
+ +

Default constructor.

+
Parameters
+ + +
modInstance of Module that will be used to communicate with the radio.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int16_t nRF24::begin (int16_t freq = 2400,
int16_t dataRate = 1000,
int8_t power = -12,
uint8_t addrWidth = 5 
)
+
+ +

Initialization method.

+
Parameters
+ + + + + +
freqCarrier frequency in MHz. Defaults to 2400 MHz.
dataRateData rate to be used in kbps. Defaults to 1000 kbps.
powerOutput power in dBm. Defaults to -12 dBm.
addrWidthAddress width in bytes. Defaults to 5 bytes.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t nRF24::disablePipe (uint8_t pipeNum)
+
+ +

Disables specified receive pipe.

+
Parameters
+ + +
pipeNumReceive pipe to be disabled.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
size_t nRF24::getPacketLength (bool update = true)
+
+overridevirtual
+
+ +

Query modem for the packet length of received payload.

+
Parameters
+ + +
updateUpdate received packet length. Will return cached value when set to false.
+
+
+
Returns
Length of last received packet in bytes.
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t nRF24::getStatus (uint8_t mask = 0xFF)
+
+ +

Gets nRF24 status register.

+
Parameters
+ + +
maskBit mask to be used on the returned register value.
+
+
+
Returns
Status register value or Status Codes
+ +
+
+ +
+
+ + + + + + + +
bool nRF24::isCarrierDetected ()
+
+ +

Checks if carrier was detected during last RX.

+
Returns
Whatever the carrier was above threshold.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t nRF24::readData (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Reads data received after calling startReceive method.

+
Parameters
+ + + +
dataPointer to array to save the received binary data.
lenNumber of bytes that will be received. Must be known in advance for binary transmissions.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int16_t nRF24::receive (uint8_t * data,
size_t len 
)
+
+overridevirtual
+
+ +

Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + +
dataBinary data to be sent.
lenNumber of bytes to send.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t nRF24::receiveDirect ()
+
+overridevirtual
+
+ +

Dummy direct mode reception method, to ensure PhysicalLayer compatibility.

+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t nRF24::setAddressWidth (uint8_t addrWidth)
+
+ +

Sets address width of transmit and receive pipes in bytes. Allowed values are 3, 4 or 5 bytes.

+
Parameters
+ + +
addrWidthAddress width to be set in bytes.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t nRF24::setAutoAck (bool autoAckOn = true)
+
+ +

Enable or disable auto-acknowledge packets on all pipes.

+
Parameters
+ + +
autoAckOnEnable (true) or disable (false) auto-acks.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t nRF24::setAutoAck (uint8_t pipeNum,
bool autoAckOn 
)
+
+ +

Enable or disable auto-acknowledge packets on given pipe.

+
Parameters
+ + + +
pipeNumNumber of pipe to which enable / disable auto-acks.
autoAckOnEnable (true) or disable (false) auto-acks.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t nRF24::setCrcFiltering (bool crcOn = true)
+
+ +

Enable CRC filtering and generation.

+
Parameters
+ + +
crcOnSet or unset CRC check.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t nRF24::setDataRate (int16_t dataRate)
+
+ +

Sets data rate. Allowed values are 2000, 1000 or 250 kbps.

+
Parameters
+ + +
dataRateData rate to be set in kbps.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t nRF24::setDataShaping (uint8_t sh)
+
+overridevirtual
+
+ +

Dummy data shaping configuration method, to ensure PhysicalLayer compatibility.

+
Parameters
+ + +
shIgnored.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t nRF24::setEncoding (uint8_t encoding)
+
+overridevirtual
+
+ +

Dummy encoding configuration method, to ensure PhysicalLayer compatibility.

+
Parameters
+ + +
shIgnored.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
int16_t nRF24::setFrequency (int16_t freq)
+
+ +

Sets carrier frequency. Allowed values range from 2400 MHz to 2525 MHz.

+
Parameters
+ + +
freqCarrier frequency to be set in MHz.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t nRF24::setFrequencyDeviation (float freqDev)
+
+overridevirtual
+
+ +

Dummy configuration method, to ensure PhysicalLayer compatibility.

+
Parameters
+ + +
freqDevDummy frequency deviation parameter, no configuration will be changed.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + + +
void nRF24::setIrqAction (void(*)(void) func)
+
+ +

Sets interrupt service routine to call when IRQ activates.

+
Parameters
+ + +
funcISR to call.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int16_t nRF24::setOutputPower (int8_t power)
+
+ +

Sets output power. Allowed values are -18, -12, -6 or 0 dBm.

+
Parameters
+ + +
powerOutput power to be set in dBm.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t nRF24::setReceivePipe (uint8_t pipeNum,
uint8_t * addr 
)
+
+ +

Sets address of receive pipes 0 or 1. The address width must be the same as the same as the configured in setAddressWidth.

+
Parameters
+ + + +
pipeNumNumber of pipe to which the address shall be set. Either 0 or 1, other pipes are handled using overloaded method.
addrAddress from which nRF24 shall receive new packets on the specified pipe.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int16_t nRF24::setReceivePipe (uint8_t pipeNum,
uint8_t addrByte 
)
+
+ +

Sets address of receive pipes 2 - 5. The first 2 - 4 address bytes for these pipes are the same as for address pipe 1, only the last byte can be set.

+
Parameters
+ + + +
pipeNumNumber of pipe to which the address shall be set. Allowed values range from 2 to 5.
addrByteLSB of address from which nRF24 shall receive new packets on the specified pipe.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + + +
int16_t nRF24::setTransmitPipe (uint8_t * addr)
+
+ +

Sets address of transmit pipe. The address width must be the same as the same as the configured in setAddressWidth.

+
Parameters
+ + +
addrAddress to which the next packet shall be transmitted.
+
+
+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + + + +
int16_t nRF24::sleep ()
+
+ +

Sets the module to sleep mode.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int16_t nRF24::standby ()
+
+overridevirtual
+
+ +

Sets the module to standby mode.

+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + + + +
int16_t nRF24::startReceive ()
+
+ +

Interrupt-driven receive method. IRQ will be activated when full packet is received.

+
Returns
Status Codes
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t nRF24::startTransmit (uint8_t * data,
size_t len,
uint8_t addr 
)
+
+overridevirtual
+
+ +

Interrupt-driven binary transmit method. IRQ will be activated when full packet is transmitted. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + + +
dataBinary data to be sent.
lenNumber of bytes to send.
addrDummy address parameter, to ensure PhysicalLayer compatibility.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int16_t nRF24::transmit (uint8_t * data,
size_t len,
uint8_t addr 
)
+
+overridevirtual
+
+ +

Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer.

+
Parameters
+ + + + +
dataBinary data to be sent.
lenNumber of bytes to send.
addrDummy address parameter, to ensure PhysicalLayer compatibility.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int16_t nRF24::transmitDirect (uint32_t frf = 0)
+
+overridevirtual
+
+ +

Starts direct mode transmission.

+
Parameters
+ + +
frfRaw RF frequency value. Defaults to 0, required for quick frequency shifts in RTTY.
+
+
+
Returns
Status Codes
+ +

Implements PhysicalLayer.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/modules/nRF24/nRF24.h
  • +
  • src/modules/nRF24/nRF24.cpp
  • +
+
+
+ + + + diff --git a/classn_r_f24.js b/classn_r_f24.js new file mode 100644 index 00000000..1e2d314a --- /dev/null +++ b/classn_r_f24.js @@ -0,0 +1,32 @@ +var classn_r_f24 = +[ + [ "nRF24", "classn_r_f24.html#ab12de8d953c2384c5fff09b4abf65d1e", null ], + [ "begin", "classn_r_f24.html#a60eb59262c5004b587b1d8177706ff28", null ], + [ "disablePipe", "classn_r_f24.html#a4dd39e5c0efee1f0c2a14f729eb4426a", null ], + [ "getPacketLength", "classn_r_f24.html#a23ea1749c21863ebc5bd3a2b08d64f3b", null ], + [ "getStatus", "classn_r_f24.html#a3f0b08fd8e58db36f6c1926cc3eac6a9", null ], + [ "isCarrierDetected", "classn_r_f24.html#ad9204ee787b425e2c9e8422bb7939a37", null ], + [ "readData", "classn_r_f24.html#a410fb78acb4ed358818c132687b8857a", null ], + [ "receive", "classn_r_f24.html#a239e94511d9ee67ad3d64a49a5c4d7ac", null ], + [ "receiveDirect", "classn_r_f24.html#a415d86947742e981bfcf7f2371f8605c", null ], + [ "setAddressWidth", "classn_r_f24.html#a5b01677f5ce6bee54da8fc7098c339f4", null ], + [ "setAutoAck", "classn_r_f24.html#aca941c9235ba1212257288554eb4b7fe", null ], + [ "setAutoAck", "classn_r_f24.html#ac1c3419442d93abeede39e7fda4db62e", null ], + [ "setCrcFiltering", "classn_r_f24.html#a3eb45884a5730ac1c339c7ba4f7b5282", null ], + [ "setDataRate", "classn_r_f24.html#a1f3ec2196733a2e2476f50690967f285", null ], + [ "setDataShaping", "classn_r_f24.html#a0db248d2bcdb4ca2b401e8e638442916", null ], + [ "setEncoding", "classn_r_f24.html#a0429a9d6524005065e6fac21aaebdcbf", null ], + [ "setFrequency", "classn_r_f24.html#abec5f9dba44a019e23c8bf516f104fad", null ], + [ "setFrequencyDeviation", "classn_r_f24.html#a5170284f0a5535de7d00216d450b87a4", null ], + [ "setIrqAction", "classn_r_f24.html#abf9323748b1a850e6ddc6f6d48f4cfb3", null ], + [ "setOutputPower", "classn_r_f24.html#a824453d547c0b42ac1988acb42032ca4", null ], + [ "setReceivePipe", "classn_r_f24.html#a31bcc5a8c3747bf08a273dbdadc5481a", null ], + [ "setReceivePipe", "classn_r_f24.html#ab5bc08aef88d8cf41c38369044005da8", null ], + [ "setTransmitPipe", "classn_r_f24.html#aa0e1f2dddf810213410a420205bbd8af", null ], + [ "sleep", "classn_r_f24.html#a033287e33c532638c11e2775a073f297", null ], + [ "standby", "classn_r_f24.html#a5957f06a891d3d9c07e87b59c239ce56", null ], + [ "startReceive", "classn_r_f24.html#af4f443da5d90e032e5f2f65420515f9c", null ], + [ "startTransmit", "classn_r_f24.html#a42fdc828b49f2b8e15457189bd57d917", null ], + [ "transmit", "classn_r_f24.html#a583d505bd3a638ecc5576dd2dd95f044", null ], + [ "transmitDirect", "classn_r_f24.html#a090bb64f65309efabfa1ffd86daa2303", null ] +]; \ No newline at end of file diff --git a/classn_r_f24.png b/classn_r_f24.png new file mode 100644 index 0000000000000000000000000000000000000000..fc68751c3bd08952b07b243ed12ef2b1e948570a GIT binary patch literal 447 zcmeAS@N?(olHy`uVBq!ia0vp^u|OQa!3-pQ3_JCKlth3}i0l9V|AEXGZ@!lHADRGU zf$@O@2Ut7r$OE|?B|(0{3_wL7aP?G(5d#CGpQnpsNCo5DxrP1B3Ow%esvm#XKPgsX ziptZu@$^jT$=U0sssCR4IX|iABG00Z4#7Ne!HYj8+3ty3zqsQ>r+2PyMy-+(@6mrJ zS8@LSC~9`f^VNyg9R2${-rdrVf18nE|lb&Kkmx;s|b+>uM}31g@^z?9IovNlrZ>#}d5c`LSWwXaIM!?)m383XTj=8PS( z4u{_|Nae9#D6nogR==rTph=R2K^dsvqxhSb-_L)Z>i4OtL9Y4RU)}F{<{sNwUwk^Y zFHUb++47Zk>Hc0v_f1#(K5tFwyR0yVaJILl*S7vK`~5R~tr~|z>M=XpiMG|V?Hju6 l(-}-aCKgn4C`No_UcxN=jPpSDNnmI*c)I$ztaD0e0sw?7%dY?c literal 0 HcmV?d00001 diff --git a/closed.png b/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/dir_022d1f7e87f0a3cd97fb9c4aa339f7b1.html b/dir_022d1f7e87f0a3cd97fb9c4aa339f7b1.html new file mode 100644 index 00000000..4b3b7975 --- /dev/null +++ b/dir_022d1f7e87f0a3cd97fb9c4aa339f7b1.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/protocols/TransportLayer Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
TransportLayer Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_022d1f7e87f0a3cd97fb9c4aa339f7b1.js b/dir_022d1f7e87f0a3cd97fb9c4aa339f7b1.js new file mode 100644 index 00000000..ee65052f --- /dev/null +++ b/dir_022d1f7e87f0a3cd97fb9c4aa339f7b1.js @@ -0,0 +1,4 @@ +var dir_022d1f7e87f0a3cd97fb9c4aa339f7b1 = +[ + [ "TransportLayer.h", "_transport_layer_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_1496c164e9c77875dd570f4157f3157f.html b/dir_1496c164e9c77875dd570f4157f3157f.html new file mode 100644 index 00000000..828337d2 --- /dev/null +++ b/dir_1496c164e9c77875dd570f4157f3157f.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/RFM2x Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RFM2x Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_1496c164e9c77875dd570f4157f3157f.js b/dir_1496c164e9c77875dd570f4157f3157f.js new file mode 100644 index 00000000..791476db --- /dev/null +++ b/dir_1496c164e9c77875dd570f4157f3157f.js @@ -0,0 +1,5 @@ +var dir_1496c164e9c77875dd570f4157f3157f = +[ + [ "RFM22.h", "_r_f_m22_8h_source.html", null ], + [ "RFM23.h", "_r_f_m23_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_2cdd3c47e80335731aa10f67042c391a.html b/dir_2cdd3c47e80335731aa10f67042c391a.html new file mode 100644 index 00000000..3bda9437 --- /dev/null +++ b/dir_2cdd3c47e80335731aa10f67042c391a.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/protocols/PhysicalLayer Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
PhysicalLayer Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_2cdd3c47e80335731aa10f67042c391a.js b/dir_2cdd3c47e80335731aa10f67042c391a.js new file mode 100644 index 00000000..68062364 --- /dev/null +++ b/dir_2cdd3c47e80335731aa10f67042c391a.js @@ -0,0 +1,4 @@ +var dir_2cdd3c47e80335731aa10f67042c391a = +[ + [ "PhysicalLayer.h", "_physical_layer_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_2d04440730a0443b949b3f3ffedccfc3.html b/dir_2d04440730a0443b949b3f3ffedccfc3.html new file mode 100644 index 00000000..f63f1266 --- /dev/null +++ b/dir_2d04440730a0443b949b3f3ffedccfc3.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/protocols/AX25 Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
AX25 Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_2d04440730a0443b949b3f3ffedccfc3.js b/dir_2d04440730a0443b949b3f3ffedccfc3.js new file mode 100644 index 00000000..69549724 --- /dev/null +++ b/dir_2d04440730a0443b949b3f3ffedccfc3.js @@ -0,0 +1,4 @@ +var dir_2d04440730a0443b949b3f3ffedccfc3 = +[ + [ "AX25.h", "_a_x25_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_31c953e8b112b915d208fa745d66f12e.html b/dir_31c953e8b112b915d208fa745d66f12e.html new file mode 100644 index 00000000..ee545395 --- /dev/null +++ b/dir_31c953e8b112b915d208fa745d66f12e.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/JDY08 Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
JDY08 Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_31c953e8b112b915d208fa745d66f12e.js b/dir_31c953e8b112b915d208fa745d66f12e.js new file mode 100644 index 00000000..2dfe13a2 --- /dev/null +++ b/dir_31c953e8b112b915d208fa745d66f12e.js @@ -0,0 +1,4 @@ +var dir_31c953e8b112b915d208fa745d66f12e = +[ + [ "JDY08.h", "_j_d_y08_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_3a277ada553fbb989028f9b071a02542.html b/dir_3a277ada553fbb989028f9b071a02542.html new file mode 100644 index 00000000..7ca25541 --- /dev/null +++ b/dir_3a277ada553fbb989028f9b071a02542.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/RF69 Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RF69 Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_3a277ada553fbb989028f9b071a02542.js b/dir_3a277ada553fbb989028f9b071a02542.js new file mode 100644 index 00000000..92467bdd --- /dev/null +++ b/dir_3a277ada553fbb989028f9b071a02542.js @@ -0,0 +1,4 @@ +var dir_3a277ada553fbb989028f9b071a02542 = +[ + [ "RF69.h", "_r_f69_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_47c60a953c7c148861b9fe25d51850eb.html b/dir_47c60a953c7c148861b9fe25d51850eb.html new file mode 100644 index 00000000..1ab0cabe --- /dev/null +++ b/dir_47c60a953c7c148861b9fe25d51850eb.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/protocols/HTTP Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
HTTP Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_47c60a953c7c148861b9fe25d51850eb.js b/dir_47c60a953c7c148861b9fe25d51850eb.js new file mode 100644 index 00000000..508f7fa8 --- /dev/null +++ b/dir_47c60a953c7c148861b9fe25d51850eb.js @@ -0,0 +1,4 @@ +var dir_47c60a953c7c148861b9fe25d51850eb = +[ + [ "HTTP.h", "_h_t_t_p_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_620e20826520c01cf981aa9c981ff885.html b/dir_620e20826520c01cf981aa9c981ff885.html new file mode 100644 index 00000000..3e2a8c5f --- /dev/null +++ b/dir_620e20826520c01cf981aa9c981ff885.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/protocols/RTTY Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RTTY Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_620e20826520c01cf981aa9c981ff885.js b/dir_620e20826520c01cf981aa9c981ff885.js new file mode 100644 index 00000000..60d47ec2 --- /dev/null +++ b/dir_620e20826520c01cf981aa9c981ff885.js @@ -0,0 +1,4 @@ +var dir_620e20826520c01cf981aa9c981ff885 = +[ + [ "RTTY.h", "_r_t_t_y_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_66baa0cb3ce3b01929266fe63d8714ed.html b/dir_66baa0cb3ce3b01929266fe63d8714ed.html new file mode 100644 index 00000000..c2d9c54a --- /dev/null +++ b/dir_66baa0cb3ce3b01929266fe63d8714ed.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/HC05 Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
HC05 Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_66baa0cb3ce3b01929266fe63d8714ed.js b/dir_66baa0cb3ce3b01929266fe63d8714ed.js new file mode 100644 index 00000000..ebd844a2 --- /dev/null +++ b/dir_66baa0cb3ce3b01929266fe63d8714ed.js @@ -0,0 +1,4 @@ +var dir_66baa0cb3ce3b01929266fe63d8714ed = +[ + [ "HC05.h", "_h_c05_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_66ce0d8112a82c480b60d648cf9cb1ca.html b/dir_66ce0d8112a82c480b60d648cf9cb1ca.html new file mode 100644 index 00000000..0379622c --- /dev/null +++ b/dir_66ce0d8112a82c480b60d648cf9cb1ca.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/protocols/SSTV Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SSTV Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_66ce0d8112a82c480b60d648cf9cb1ca.js b/dir_66ce0d8112a82c480b60d648cf9cb1ca.js new file mode 100644 index 00000000..8377df1b --- /dev/null +++ b/dir_66ce0d8112a82c480b60d648cf9cb1ca.js @@ -0,0 +1,4 @@ +var dir_66ce0d8112a82c480b60d648cf9cb1ca = +[ + [ "SSTV.h", "_s_s_t_v_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 00000000..f4a99163 --- /dev/null +++ b/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,130 @@ + + + + + + +RadioLib: src Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
src Directory Reference
+
+
+ + +

+Directories

+ +

+Files

+
+
+ + + + diff --git a/dir_68267d1309a1af8e8297ef4c3efbcdba.js b/dir_68267d1309a1af8e8297ef4c3efbcdba.js new file mode 100644 index 00000000..e5bf3b8a --- /dev/null +++ b/dir_68267d1309a1af8e8297ef4c3efbcdba.js @@ -0,0 +1,10 @@ +var dir_68267d1309a1af8e8297ef4c3efbcdba = +[ + [ "modules", "dir_ddb4d7e95cc2d6c8e1ade10a20d7247d.html", "dir_ddb4d7e95cc2d6c8e1ade10a20d7247d" ], + [ "protocols", "dir_79690749eba542503bb1a9a3dbb495e1.html", "dir_79690749eba542503bb1a9a3dbb495e1" ], + [ "BuildOpt.h", "_build_opt_8h_source.html", null ], + [ "ISerial.h", "_i_serial_8h_source.html", null ], + [ "Module.h", "_module_8h_source.html", null ], + [ "RadioLib.h", "_radio_lib_8h_source.html", null ], + [ "TypeDef.h", "_type_def_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_6baa7f88a31cf8c1ad1b651eaa1fd5b9.html b/dir_6baa7f88a31cf8c1ad1b651eaa1fd5b9.html new file mode 100644 index 00000000..c93540dc --- /dev/null +++ b/dir_6baa7f88a31cf8c1ad1b651eaa1fd5b9.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/RFM9x Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RFM9x Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_6baa7f88a31cf8c1ad1b651eaa1fd5b9.js b/dir_6baa7f88a31cf8c1ad1b651eaa1fd5b9.js new file mode 100644 index 00000000..669bd8b0 --- /dev/null +++ b/dir_6baa7f88a31cf8c1ad1b651eaa1fd5b9.js @@ -0,0 +1,6 @@ +var dir_6baa7f88a31cf8c1ad1b651eaa1fd5b9 = +[ + [ "RFM95.h", "_r_f_m95_8h_source.html", null ], + [ "RFM96.h", "_r_f_m96_8h_source.html", null ], + [ "RFM97.h", "_r_f_m97_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_70c194bd40717a4946dbd8bc35f09b17.html b/dir_70c194bd40717a4946dbd8bc35f09b17.html new file mode 100644 index 00000000..22e0f314 --- /dev/null +++ b/dir_70c194bd40717a4946dbd8bc35f09b17.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/protocols/AFSK Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
AFSK Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_70c194bd40717a4946dbd8bc35f09b17.js b/dir_70c194bd40717a4946dbd8bc35f09b17.js new file mode 100644 index 00000000..bd45b7d8 --- /dev/null +++ b/dir_70c194bd40717a4946dbd8bc35f09b17.js @@ -0,0 +1,4 @@ +var dir_70c194bd40717a4946dbd8bc35f09b17 = +[ + [ "AFSK.h", "_a_f_s_k_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_747c20e84f9dfe1cc835713177129efc.html b/dir_747c20e84f9dfe1cc835713177129efc.html new file mode 100644 index 00000000..0c93fb22 --- /dev/null +++ b/dir_747c20e84f9dfe1cc835713177129efc.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/SX126x Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX126x Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_747c20e84f9dfe1cc835713177129efc.js b/dir_747c20e84f9dfe1cc835713177129efc.js new file mode 100644 index 00000000..6cb009dd --- /dev/null +++ b/dir_747c20e84f9dfe1cc835713177129efc.js @@ -0,0 +1,7 @@ +var dir_747c20e84f9dfe1cc835713177129efc = +[ + [ "SX1261.h", "_s_x1261_8h_source.html", null ], + [ "SX1262.h", "_s_x1262_8h_source.html", null ], + [ "SX1268.h", "_s_x1268_8h_source.html", null ], + [ "SX126x.h", "_s_x126x_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_79690749eba542503bb1a9a3dbb495e1.html b/dir_79690749eba542503bb1a9a3dbb495e1.html new file mode 100644 index 00000000..523016fe --- /dev/null +++ b/dir_79690749eba542503bb1a9a3dbb495e1.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/protocols Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
protocols Directory Reference
+
+
+ + +

+Directories

+
+
+ + + + diff --git a/dir_79690749eba542503bb1a9a3dbb495e1.js b/dir_79690749eba542503bb1a9a3dbb495e1.js new file mode 100644 index 00000000..8dac7b3e --- /dev/null +++ b/dir_79690749eba542503bb1a9a3dbb495e1.js @@ -0,0 +1,13 @@ +var dir_79690749eba542503bb1a9a3dbb495e1 = +[ + [ "AFSK", "dir_70c194bd40717a4946dbd8bc35f09b17.html", "dir_70c194bd40717a4946dbd8bc35f09b17" ], + [ "AX25", "dir_2d04440730a0443b949b3f3ffedccfc3.html", "dir_2d04440730a0443b949b3f3ffedccfc3" ], + [ "Hellschreiber", "dir_c14921ab4918e015c91d11c846a1924a.html", "dir_c14921ab4918e015c91d11c846a1924a" ], + [ "HTTP", "dir_47c60a953c7c148861b9fe25d51850eb.html", "dir_47c60a953c7c148861b9fe25d51850eb" ], + [ "Morse", "dir_d916eb25599dc82f14db514c97a6ae6d.html", "dir_d916eb25599dc82f14db514c97a6ae6d" ], + [ "MQTT", "dir_a6b6d785787649e9a3efd5036a39108c.html", "dir_a6b6d785787649e9a3efd5036a39108c" ], + [ "PhysicalLayer", "dir_2cdd3c47e80335731aa10f67042c391a.html", "dir_2cdd3c47e80335731aa10f67042c391a" ], + [ "RTTY", "dir_620e20826520c01cf981aa9c981ff885.html", "dir_620e20826520c01cf981aa9c981ff885" ], + [ "SSTV", "dir_66ce0d8112a82c480b60d648cf9cb1ca.html", "dir_66ce0d8112a82c480b60d648cf9cb1ca" ], + [ "TransportLayer", "dir_022d1f7e87f0a3cd97fb9c4aa339f7b1.html", "dir_022d1f7e87f0a3cd97fb9c4aa339f7b1" ] +]; \ No newline at end of file diff --git a/dir_7b8feacc70eb38d5fd56f060c649a59c.html b/dir_7b8feacc70eb38d5fd56f060c649a59c.html new file mode 100644 index 00000000..3ede0a96 --- /dev/null +++ b/dir_7b8feacc70eb38d5fd56f060c649a59c.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/XBee Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
XBee Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_7b8feacc70eb38d5fd56f060c649a59c.js b/dir_7b8feacc70eb38d5fd56f060c649a59c.js new file mode 100644 index 00000000..e8bcef2c --- /dev/null +++ b/dir_7b8feacc70eb38d5fd56f060c649a59c.js @@ -0,0 +1,4 @@ +var dir_7b8feacc70eb38d5fd56f060c649a59c = +[ + [ "XBee.h", "_x_bee_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_8d5439df06ea2679013aa8390703d116.html b/dir_8d5439df06ea2679013aa8390703d116.html new file mode 100644 index 00000000..a3d81bd4 --- /dev/null +++ b/dir_8d5439df06ea2679013aa8390703d116.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/nRF24 Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nRF24 Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_8d5439df06ea2679013aa8390703d116.js b/dir_8d5439df06ea2679013aa8390703d116.js new file mode 100644 index 00000000..d5b4b683 --- /dev/null +++ b/dir_8d5439df06ea2679013aa8390703d116.js @@ -0,0 +1,4 @@ +var dir_8d5439df06ea2679013aa8390703d116 = +[ + [ "nRF24.h", "n_r_f24_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_a6b6d785787649e9a3efd5036a39108c.html b/dir_a6b6d785787649e9a3efd5036a39108c.html new file mode 100644 index 00000000..ec29963a --- /dev/null +++ b/dir_a6b6d785787649e9a3efd5036a39108c.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/protocols/MQTT Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
MQTT Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_a6b6d785787649e9a3efd5036a39108c.js b/dir_a6b6d785787649e9a3efd5036a39108c.js new file mode 100644 index 00000000..6b31bf7c --- /dev/null +++ b/dir_a6b6d785787649e9a3efd5036a39108c.js @@ -0,0 +1,4 @@ +var dir_a6b6d785787649e9a3efd5036a39108c = +[ + [ "MQTT.h", "_m_q_t_t_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_a758e8e29d8436beff5e1f16d5ed2d65.html b/dir_a758e8e29d8436beff5e1f16d5ed2d65.html new file mode 100644 index 00000000..083d1171 --- /dev/null +++ b/dir_a758e8e29d8436beff5e1f16d5ed2d65.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/SX1231 Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX1231 Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_a758e8e29d8436beff5e1f16d5ed2d65.js b/dir_a758e8e29d8436beff5e1f16d5ed2d65.js new file mode 100644 index 00000000..1c42acee --- /dev/null +++ b/dir_a758e8e29d8436beff5e1f16d5ed2d65.js @@ -0,0 +1,4 @@ +var dir_a758e8e29d8436beff5e1f16d5ed2d65 = +[ + [ "SX1231.h", "_s_x1231_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_c14921ab4918e015c91d11c846a1924a.html b/dir_c14921ab4918e015c91d11c846a1924a.html new file mode 100644 index 00000000..b01661b5 --- /dev/null +++ b/dir_c14921ab4918e015c91d11c846a1924a.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/protocols/Hellschreiber Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Hellschreiber Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_c14921ab4918e015c91d11c846a1924a.js b/dir_c14921ab4918e015c91d11c846a1924a.js new file mode 100644 index 00000000..cea1e1be --- /dev/null +++ b/dir_c14921ab4918e015c91d11c846a1924a.js @@ -0,0 +1,4 @@ +var dir_c14921ab4918e015c91d11c846a1924a = +[ + [ "Hellschreiber.h", "_hellschreiber_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_d916eb25599dc82f14db514c97a6ae6d.html b/dir_d916eb25599dc82f14db514c97a6ae6d.html new file mode 100644 index 00000000..99ee0f6e --- /dev/null +++ b/dir_d916eb25599dc82f14db514c97a6ae6d.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/protocols/Morse Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Morse Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_d916eb25599dc82f14db514c97a6ae6d.js b/dir_d916eb25599dc82f14db514c97a6ae6d.js new file mode 100644 index 00000000..e1643bad --- /dev/null +++ b/dir_d916eb25599dc82f14db514c97a6ae6d.js @@ -0,0 +1,4 @@ +var dir_d916eb25599dc82f14db514c97a6ae6d = +[ + [ "Morse.h", "_morse_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_ddb4d7e95cc2d6c8e1ade10a20d7247d.html b/dir_ddb4d7e95cc2d6c8e1ade10a20d7247d.html new file mode 100644 index 00000000..89c3765b --- /dev/null +++ b/dir_ddb4d7e95cc2d6c8e1ade10a20d7247d.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
modules Directory Reference
+
+
+ + +

+Directories

+
+
+ + + + diff --git a/dir_ddb4d7e95cc2d6c8e1ade10a20d7247d.js b/dir_ddb4d7e95cc2d6c8e1ade10a20d7247d.js new file mode 100644 index 00000000..ba390e4a --- /dev/null +++ b/dir_ddb4d7e95cc2d6c8e1ade10a20d7247d.js @@ -0,0 +1,17 @@ +var dir_ddb4d7e95cc2d6c8e1ade10a20d7247d = +[ + [ "CC1101", "dir_e824c1032eaf58988755f8ba9735594b.html", "dir_e824c1032eaf58988755f8ba9735594b" ], + [ "ESP8266", "dir_ec8372b468150f98f42c73cf97f51298.html", "dir_ec8372b468150f98f42c73cf97f51298" ], + [ "HC05", "dir_66baa0cb3ce3b01929266fe63d8714ed.html", "dir_66baa0cb3ce3b01929266fe63d8714ed" ], + [ "JDY08", "dir_31c953e8b112b915d208fa745d66f12e.html", "dir_31c953e8b112b915d208fa745d66f12e" ], + [ "nRF24", "dir_8d5439df06ea2679013aa8390703d116.html", "dir_8d5439df06ea2679013aa8390703d116" ], + [ "RF69", "dir_3a277ada553fbb989028f9b071a02542.html", "dir_3a277ada553fbb989028f9b071a02542" ], + [ "RFM2x", "dir_1496c164e9c77875dd570f4157f3157f.html", "dir_1496c164e9c77875dd570f4157f3157f" ], + [ "RFM9x", "dir_6baa7f88a31cf8c1ad1b651eaa1fd5b9.html", "dir_6baa7f88a31cf8c1ad1b651eaa1fd5b9" ], + [ "Si443x", "dir_e2961291c878e1b3ab9447d79b865c81.html", "dir_e2961291c878e1b3ab9447d79b865c81" ], + [ "SX1231", "dir_a758e8e29d8436beff5e1f16d5ed2d65.html", "dir_a758e8e29d8436beff5e1f16d5ed2d65" ], + [ "SX126x", "dir_747c20e84f9dfe1cc835713177129efc.html", "dir_747c20e84f9dfe1cc835713177129efc" ], + [ "SX127x", "dir_f980efad9544c0545d0fa50a84ff12f2.html", "dir_f980efad9544c0545d0fa50a84ff12f2" ], + [ "SX128x", "dir_ed12d23d857ca7061030f8751e72e77c.html", "dir_ed12d23d857ca7061030f8751e72e77c" ], + [ "XBee", "dir_7b8feacc70eb38d5fd56f060c649a59c.html", "dir_7b8feacc70eb38d5fd56f060c649a59c" ] +]; \ No newline at end of file diff --git a/dir_e2961291c878e1b3ab9447d79b865c81.html b/dir_e2961291c878e1b3ab9447d79b865c81.html new file mode 100644 index 00000000..bcefbb32 --- /dev/null +++ b/dir_e2961291c878e1b3ab9447d79b865c81.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/Si443x Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Si443x Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_e2961291c878e1b3ab9447d79b865c81.js b/dir_e2961291c878e1b3ab9447d79b865c81.js new file mode 100644 index 00000000..0e2216a4 --- /dev/null +++ b/dir_e2961291c878e1b3ab9447d79b865c81.js @@ -0,0 +1,7 @@ +var dir_e2961291c878e1b3ab9447d79b865c81 = +[ + [ "Si4430.h", "_si4430_8h_source.html", null ], + [ "Si4431.h", "_si4431_8h_source.html", null ], + [ "Si4432.h", "_si4432_8h_source.html", null ], + [ "Si443x.h", "_si443x_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_e824c1032eaf58988755f8ba9735594b.html b/dir_e824c1032eaf58988755f8ba9735594b.html new file mode 100644 index 00000000..bb086100 --- /dev/null +++ b/dir_e824c1032eaf58988755f8ba9735594b.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/CC1101 Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
CC1101 Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_e824c1032eaf58988755f8ba9735594b.js b/dir_e824c1032eaf58988755f8ba9735594b.js new file mode 100644 index 00000000..67135d75 --- /dev/null +++ b/dir_e824c1032eaf58988755f8ba9735594b.js @@ -0,0 +1,4 @@ +var dir_e824c1032eaf58988755f8ba9735594b = +[ + [ "CC1101.h", "_c_c1101_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_ec8372b468150f98f42c73cf97f51298.html b/dir_ec8372b468150f98f42c73cf97f51298.html new file mode 100644 index 00000000..88c59051 --- /dev/null +++ b/dir_ec8372b468150f98f42c73cf97f51298.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/ESP8266 Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ESP8266 Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_ec8372b468150f98f42c73cf97f51298.js b/dir_ec8372b468150f98f42c73cf97f51298.js new file mode 100644 index 00000000..9499beca --- /dev/null +++ b/dir_ec8372b468150f98f42c73cf97f51298.js @@ -0,0 +1,4 @@ +var dir_ec8372b468150f98f42c73cf97f51298 = +[ + [ "ESP8266.h", "_e_s_p8266_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_ed12d23d857ca7061030f8751e72e77c.html b/dir_ed12d23d857ca7061030f8751e72e77c.html new file mode 100644 index 00000000..de23b385 --- /dev/null +++ b/dir_ed12d23d857ca7061030f8751e72e77c.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/SX128x Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX128x Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_ed12d23d857ca7061030f8751e72e77c.js b/dir_ed12d23d857ca7061030f8751e72e77c.js new file mode 100644 index 00000000..aa8ece23 --- /dev/null +++ b/dir_ed12d23d857ca7061030f8751e72e77c.js @@ -0,0 +1,7 @@ +var dir_ed12d23d857ca7061030f8751e72e77c = +[ + [ "SX1280.h", "_s_x1280_8h_source.html", null ], + [ "SX1281.h", "_s_x1281_8h_source.html", null ], + [ "SX1282.h", "_s_x1282_8h_source.html", null ], + [ "SX128x.h", "_s_x128x_8h_source.html", null ] +]; \ No newline at end of file diff --git a/dir_f980efad9544c0545d0fa50a84ff12f2.html b/dir_f980efad9544c0545d0fa50a84ff12f2.html new file mode 100644 index 00000000..fb401abb --- /dev/null +++ b/dir_f980efad9544c0545d0fa50a84ff12f2.html @@ -0,0 +1,127 @@ + + + + + + +RadioLib: src/modules/SX127x Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SX127x Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_f980efad9544c0545d0fa50a84ff12f2.js b/dir_f980efad9544c0545d0fa50a84ff12f2.js new file mode 100644 index 00000000..9575e0ce --- /dev/null +++ b/dir_f980efad9544c0545d0fa50a84ff12f2.js @@ -0,0 +1,10 @@ +var dir_f980efad9544c0545d0fa50a84ff12f2 = +[ + [ "SX1272.h", "_s_x1272_8h_source.html", null ], + [ "SX1273.h", "_s_x1273_8h_source.html", null ], + [ "SX1276.h", "_s_x1276_8h_source.html", null ], + [ "SX1277.h", "_s_x1277_8h_source.html", null ], + [ "SX1278.h", "_s_x1278_8h_source.html", null ], + [ "SX1279.h", "_s_x1279_8h_source.html", null ], + [ "SX127x.h", "_s_x127x_8h_source.html", null ] +]; \ No newline at end of file diff --git a/doc.png b/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t literal 0 HcmV?d00001 diff --git a/doxygen.css b/doxygen.css new file mode 100644 index 00000000..1425ec53 --- /dev/null +++ b/doxygen.css @@ -0,0 +1,1475 @@ +/* The standard CSS for doxygen 1.8.11 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + 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 cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + 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: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +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 { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.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: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -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 cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* 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; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +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: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + 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 #9CAFD4; + border-bottom: 1px solid #9CAFD4; + 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.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.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: #3D578C; +} + +.arrow { + color: #9CAFD4; + -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: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + 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:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @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: #2A3D61; +} + +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 #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.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:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +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:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + 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 +{ + 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.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + 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; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#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: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + 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: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + 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: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + 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; + } +} + diff --git a/doxygen.png b/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff17d807fd8aa003bed8bb2a69e8f0909592fd1 GIT binary patch literal 3779 zcmV;!4m|ORP)tMIv#Q0*~7*`IBSO7_x;@a8#Zk6_PeKR_s92J&)(m+);m9Iz3blw)z#Gi zP!9lj4$%+*>Hz@HCmM9L9|8c+0u=!H$O3?R0Kgx|#WP<6fKfC8fM-CQZT|_r@`>VO zX^Hgb|9cJqpdJA5$MCEK`F_2@2Y@s>^+;pF`~jdI0Pvr|vl4`=C)EH@1IFe7pdJ8F zH(qGi004~QnF)Ggga~8v08kGAs2hKTATxr7pwfNk|4#_AaT>w8P6TV+R2kbS$v==} zAjf`s0g#V8lB+b3)5oEI*q+{Yt$MZDruD2^;$+(_%Qn+%v0X-bJO=;@kiJ^ygLBnC z?1OVv_%aex1M@jKU|Z~$eI?PoF4Vj>fDzyo zAiLfpXY*a^Sj-S5D0S3@#V$sRW)g)_1e#$%8xdM>Jm7?!h zu0P2X=xoN>^!4DoPRgph2(2va07yfpXF+WH7EOg1GY%Zn z7~1A<(z7Q$ktEXhW_?GMpHp9l_UL18F3KOsxu81pqoBiNbFSGsof-W z6~eloMoz=4?OOnl2J268x5rOY`dCk0us(uS#Ud4yqOr@?=Q57a}tit|BhY>}~frH1sP`ScHS_d)oqH^lYy zZ%VP`#10MlE~P?cE(%(#(AUSv_T{+;t@$U}El}(1ig`vZo`Rm;+5&(AYzJ^Ae=h2X z@Re%vHwZU>|f0NI&%$*4eJweC5OROQrpPMA@*w|o z()A==l}(@bv^&>H1Ob3C=<^|hob?0+xJ?QQ3-ueQC}zy&JQNib!OqSO@-=>XzxlSF zAZ^U*1l6EEmg3r};_HY>&Jo_{dOPEFTWPmt=U&F#+0(O59^UIlHbNX+eF8UzyDR*T z(=5X$VF3!gm@RooS-&iiUYGG^`hMR(07zr_xP`d!^BH?uD>Phl8Rdifx3Af^Zr`Ku ztL+~HkVeL#bJ)7;`=>;{KNRvjmc}1}c58Sr#Treq=4{xo!ATy|c>iRSp4`dzMMVd@ zL8?uwXDY}Wqgh4mH`|$BTXpUIu6A1-cSq%hJw;@^Zr8TP=GMh*p(m(tN7@!^D~sl$ zz^tf4II4|};+irE$Fnm4NTc5%p{PRA`%}Zk`CE5?#h3|xcyQsS#iONZ z6H(@^i9td!$z~bZiJLTax$o>r(p}3o@< zyD7%(>ZYvy=6$U3e!F{Z`uSaYy`xQyl?b{}eg|G3&fz*`QH@mDUn)1%#5u`0m$%D} z?;tZ0u(mWeMV0QtzjgN!lT*pNRj;6510Wwx?Yi_=tYw|J#7@(Xe7ifDzXuK;JB;QO z#bg~K$cgm$@{QiL_3yr}y&~wuv=P=#O&Tj=Sr)aCUlYmZMcw?)T?c%0rUe1cS+o!qs_ zQ6Gp)-{)V!;=q}llyK3|^WeLKyjf%y;xHku;9(vM!j|~<7w1c*Mk-;P{T&yG) z@C-8E?QPynNQ<8f01D`2qexcVEIOU?y}MG)TAE6&VT5`rK8s(4PE;uQ92LTXUQ<>^ ztyQ@=@kRdh@ebUG^Z6NWWIL;_IGJ2ST>$t!$m$qvtj0Qmw8moN6GUV^!QKNK zHBXCtUH8)RY9++gH_TUV4^=-j$t}dD3qsN7GclJ^Zc&(j6&a_!$jCf}%c5ey`pm~1)@{yI3 zTdWyB+*X{JFw#z;PwRr5evb2!ueWF;v`B0HoUu4-(~aL=z;OXUUEtG`_$)Oxw6FKg zEzY`CyKaSBK3xt#8gA|r_|Kehn_HYVBMpEwbn9-fI*!u*eTA1ef8Mkl1=!jV4oYwWYM}i`A>_F4nhmlCIC6WLa zY%;4&@AlnaG11ejl61Jev21|r*m+?Kru3;1tFDl}#!OzUp6c>go4{C|^erwpG*&h6bspUPJag}oOkN2912Y3I?(eRc@U9>z#HPBHC?nps7H5!zP``90!Q1n80jo+B3TWXp!8Pe zwuKuLLI6l3Gv@+QH*Y}2wPLPQ1^EZhT#+Ed8q8Wo z1pTmIBxv14-{l&QVKxAyQF#8Q@NeJwWdKk>?cpiJLkJr+aZ!Me+Cfp!?FWSRf^j2k z73BRR{WSKaMkJ>1Nbx5dan5hg^_}O{Tj6u%iV%#QGz0Q@j{R^Ik)Z*+(YvY2ziBG)?AmJa|JV%4UT$k`hcOg5r9R?5>?o~JzK zJCrj&{i#hG>N7!B4kNX(%igb%kDj0fOQThC-8mtfap82PNRXr1D>lbgg)dYTQ(kbx z`Ee5kXG~Bh+BHQBf|kJEy6(ga%WfhvdQNDuOfQoe377l#ht&DrMGeIsI5C<&ai zWG$|hop2@@q5YDa)_-A?B02W;#fH!%k`daQLEItaJJ8Yf1L%8x;kg?)k)00P-lH+w z)5$QNV6r2$YtnV(4o=0^3{kmaXn*Dm0F*fU(@o)yVVjk|ln8ea6BMy%vZAhW9|wvA z8RoDkVoMEz1d>|5(k0Nw>22ZT){V<3$^C-cN+|~hKt2)){+l-?3m@-$c?-dlzQ)q- zZ)j%n^gerV{|+t}9m1_&&Ly!9$rtG4XX|WQ8`xYzGC~U@nYh~g(z9)bdAl#xH)xd5a=@|qql z|FzEil{P5(@gy!4ek05i$>`E^G~{;pnf6ftpLh$h#W?^#4UkPfa;;?bsIe&kz!+40 zI|6`F2n020)-r`pFaZ38F!S-lJM-o&inOw|66=GMeP@xQU5ghQH{~5Uh~TMTd;I9` z>YhVB`e^EVj*S7JF39ZgNf}A-0DwOcTT63ydN$I3b?yBQtUI*_fae~kPvzoD$zjX3 zoqBe#>12im4WzZ=f^4+u=!lA|#r%1`WB0-6*3BL#at`47#ebPpR|D1b)3BjT34nYY z%Ds%d?5$|{LgOIaRO{{oC&RK`O91$fqwM0(C_TALcozu*fWHb%%q&p-q{_8*2Zsi^ zh1ZCnr^UYa;4vQEtHk{~zi>wwMC5o{S=$P0X681y`SXwFH?Ewn{x-MOZynmc)JT5v zuHLwh;tLfxRrr%|k370}GofLl7thg>ACWWY&msqaVu&ry+`7+Ss>NL^%T1|z{IGMA zW-SKl=V-^{(f!Kf^#3(|T2W47d(%JVCI4JgRrT1pNz>+ietmFToNv^`gzC@&O-)+i zPQ~RwK8%C_vf%;%e>NyTp~dM5;!C|N0Q^6|CEb7Bw=Vz~$1#FA;Z*?mKSC)Hl-20s t8QyHj(g6VK0RYbl8UjE)0O0w=e*@m04r>stuEhWV002ovPDHLkV1hl;dM*F} literal 0 HcmV?d00001 diff --git a/dynsections.js b/dynsections.js new file mode 100644 index 00000000..85e18369 --- /dev/null +++ b/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var 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; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + +RadioLib: File List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  src
  modules
  CC1101
 CC1101.h
  ESP8266
 ESP8266.h
  HC05
 HC05.h
  JDY08
 JDY08.h
  nRF24
 nRF24.h
  RF69
 RF69.h
  RFM2x
 RFM22.h
 RFM23.h
  RFM9x
 RFM95.h
 RFM96.h
 RFM97.h
  Si443x
 Si4430.h
 Si4431.h
 Si4432.h
 Si443x.h
  SX1231
 SX1231.h
  SX126x
 SX1261.h
 SX1262.h
 SX1268.h
 SX126x.h
  SX127x
 SX1272.h
 SX1273.h
 SX1276.h
 SX1277.h
 SX1278.h
 SX1279.h
 SX127x.h
  SX128x
 SX1280.h
 SX1281.h
 SX1282.h
 SX128x.h
  XBee
 XBee.h
  protocols
  AFSK
 AFSK.h
  AX25
 AX25.h
  Hellschreiber
 Hellschreiber.h
  HTTP
 HTTP.h
  Morse
 Morse.h
  MQTT
 MQTT.h
  PhysicalLayer
 PhysicalLayer.h
  RTTY
 RTTY.h
  SSTV
 SSTV.h
  TransportLayer
 TransportLayer.h
 BuildOpt.h
 ISerial.h
 Module.h
 RadioLib.h
 TypeDef.h
+
+
+
+ + + + diff --git a/files.js b/files.js new file mode 100644 index 00000000..04b0a8ee --- /dev/null +++ b/files.js @@ -0,0 +1,4 @@ +var files = +[ + [ "src", "dir_68267d1309a1af8e8297ef4c3efbcdba.html", "dir_68267d1309a1af8e8297ef4c3efbcdba" ] +]; \ No newline at end of file diff --git a/folderclosed.png b/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/functions.html b/functions.html new file mode 100644 index 00000000..82a83636 --- /dev/null +++ b/functions.html @@ -0,0 +1,195 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- a -

+
+
+ + + + diff --git a/functions_0x7e.html b/functions_0x7e.html new file mode 100644 index 00000000..9205597e --- /dev/null +++ b/functions_0x7e.html @@ -0,0 +1,166 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- ~ -

+
+
+ + + + diff --git a/functions_b.html b/functions_b.html new file mode 100644 index 00000000..7194bf1d --- /dev/null +++ b/functions_b.html @@ -0,0 +1,219 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- b -

+
+
+ + + + diff --git a/functions_c.html b/functions_c.html new file mode 100644 index 00000000..5d01a4dc --- /dev/null +++ b/functions_c.html @@ -0,0 +1,195 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- c -

+
+
+ + + + diff --git a/functions_d.html b/functions_d.html new file mode 100644 index 00000000..1b4c1e13 --- /dev/null +++ b/functions_d.html @@ -0,0 +1,200 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- d -

+
+
+ + + + diff --git a/functions_dup.js b/functions_dup.js new file mode 100644 index 00000000..26e7f381 --- /dev/null +++ b/functions_dup.js @@ -0,0 +1,27 @@ +var functions_dup = +[ + [ "a", "functions.html", null ], + [ "b", "functions_b.html", null ], + [ "c", "functions_c.html", null ], + [ "d", "functions_d.html", null ], + [ "e", "functions_e.html", null ], + [ "f", "functions_f.html", null ], + [ "g", "functions_g.html", null ], + [ "h", "functions_h.html", null ], + [ "i", "functions_i.html", null ], + [ "j", "functions_j.html", null ], + [ "l", "functions_l.html", null ], + [ "m", "functions_m.html", null ], + [ "n", "functions_n.html", null ], + [ "o", "functions_o.html", null ], + [ "p", "functions_p.html", null ], + [ "r", "functions_r.html", null ], + [ "s", "functions_s.html", null ], + [ "t", "functions_t.html", null ], + [ "u", "functions_u.html", null ], + [ "v", "functions_v.html", null ], + [ "w", "functions_w.html", null ], + [ "x", "functions_x.html", null ], + [ "y", "functions_y.html", null ], + [ "~", "functions_0x7e.html", null ] +]; \ No newline at end of file diff --git a/functions_e.html b/functions_e.html new file mode 100644 index 00000000..84c7cad6 --- /dev/null +++ b/functions_e.html @@ -0,0 +1,174 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- e -

+
+
+ + + + diff --git a/functions_f.html b/functions_f.html new file mode 100644 index 00000000..f4cdf7a1 --- /dev/null +++ b/functions_f.html @@ -0,0 +1,174 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- f -

+
+
+ + + + diff --git a/functions_func.html b/functions_func.html new file mode 100644 index 00000000..5dbfbad6 --- /dev/null +++ b/functions_func.html @@ -0,0 +1,191 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+
+
+ + + + diff --git a/functions_func.js b/functions_func.js new file mode 100644 index 00000000..6491bdf4 --- /dev/null +++ b/functions_func.js @@ -0,0 +1,26 @@ +var functions_func = +[ + [ "a", "functions_func.html", null ], + [ "b", "functions_func_b.html", null ], + [ "c", "functions_func_c.html", null ], + [ "d", "functions_func_d.html", null ], + [ "e", "functions_func_e.html", null ], + [ "f", "functions_func_f.html", null ], + [ "g", "functions_func_g.html", null ], + [ "h", "functions_func_h.html", null ], + [ "i", "functions_func_i.html", null ], + [ "j", "functions_func_j.html", null ], + [ "l", "functions_func_l.html", null ], + [ "m", "functions_func_m.html", null ], + [ "n", "functions_func_n.html", null ], + [ "o", "functions_func_o.html", null ], + [ "p", "functions_func_p.html", null ], + [ "r", "functions_func_r.html", null ], + [ "s", "functions_func_s.html", null ], + [ "t", "functions_func_t.html", null ], + [ "u", "functions_func_u.html", null ], + [ "v", "functions_func_v.html", null ], + [ "x", "functions_func_x.html", null ], + [ "y", "functions_func_y.html", null ], + [ "~", "functions_func_0x7e.html", null ] +]; \ No newline at end of file diff --git a/functions_func_0x7e.html b/functions_func_0x7e.html new file mode 100644 index 00000000..1bca5e51 --- /dev/null +++ b/functions_func_0x7e.html @@ -0,0 +1,165 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- ~ -

+
+
+ + + + diff --git a/functions_func_b.html b/functions_func_b.html new file mode 100644 index 00000000..b29a8219 --- /dev/null +++ b/functions_func_b.html @@ -0,0 +1,215 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+
+
+ + + + diff --git a/functions_func_c.html b/functions_func_c.html new file mode 100644 index 00000000..cbba6b20 --- /dev/null +++ b/functions_func_c.html @@ -0,0 +1,191 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+
+
+ + + + diff --git a/functions_func_d.html b/functions_func_d.html new file mode 100644 index 00000000..be3a2183 --- /dev/null +++ b/functions_func_d.html @@ -0,0 +1,193 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+
+ + + + diff --git a/functions_func_e.html b/functions_func_e.html new file mode 100644 index 00000000..816887af --- /dev/null +++ b/functions_func_e.html @@ -0,0 +1,173 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- e -

+
+
+ + + + diff --git a/functions_func_f.html b/functions_func_f.html new file mode 100644 index 00000000..13310a1d --- /dev/null +++ b/functions_func_f.html @@ -0,0 +1,170 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- f -

+
+
+ + + + diff --git a/functions_func_g.html b/functions_func_g.html new file mode 100644 index 00000000..5f2f02fa --- /dev/null +++ b/functions_func_g.html @@ -0,0 +1,260 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- g -

+
+
+ + + + diff --git a/functions_func_h.html b/functions_func_h.html new file mode 100644 index 00000000..3ef875e7 --- /dev/null +++ b/functions_func_h.html @@ -0,0 +1,168 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- h -

+
+
+ + + + diff --git a/functions_func_i.html b/functions_func_i.html new file mode 100644 index 00000000..7d7eb422 --- /dev/null +++ b/functions_func_i.html @@ -0,0 +1,176 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

+
+
+ + + + diff --git a/functions_func_j.html b/functions_func_j.html new file mode 100644 index 00000000..c1641fae --- /dev/null +++ b/functions_func_j.html @@ -0,0 +1,165 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- j -

+
+
+ + + + diff --git a/functions_func_l.html b/functions_func_l.html new file mode 100644 index 00000000..6723b9aa --- /dev/null +++ b/functions_func_l.html @@ -0,0 +1,162 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

+
+
+ + + + diff --git a/functions_func_m.html b/functions_func_m.html new file mode 100644 index 00000000..3b22054e --- /dev/null +++ b/functions_func_m.html @@ -0,0 +1,174 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+
+ + + + diff --git a/functions_func_n.html b/functions_func_n.html new file mode 100644 index 00000000..def99c5d --- /dev/null +++ b/functions_func_n.html @@ -0,0 +1,166 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- n -

+
+
+ + + + diff --git a/functions_func_o.html b/functions_func_o.html new file mode 100644 index 00000000..afaa1506 --- /dev/null +++ b/functions_func_o.html @@ -0,0 +1,167 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

+
+
+ + + + diff --git a/functions_func_p.html b/functions_func_p.html new file mode 100644 index 00000000..519b0d96 --- /dev/null +++ b/functions_func_p.html @@ -0,0 +1,183 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

+
+
+ + + + diff --git a/functions_func_r.html b/functions_func_r.html new file mode 100644 index 00000000..f0ab842e --- /dev/null +++ b/functions_func_r.html @@ -0,0 +1,221 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- r -

+
+
+ + + + diff --git a/functions_func_s.html b/functions_func_s.html new file mode 100644 index 00000000..7ae950bd --- /dev/null +++ b/functions_func_s.html @@ -0,0 +1,563 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- s -

+
+
+ + + + diff --git a/functions_func_t.html b/functions_func_t.html new file mode 100644 index 00000000..da7d4e1a --- /dev/null +++ b/functions_func_t.html @@ -0,0 +1,188 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

+
+
+ + + + diff --git a/functions_func_u.html b/functions_func_u.html new file mode 100644 index 00000000..30699a8b --- /dev/null +++ b/functions_func_u.html @@ -0,0 +1,162 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- u -

+
+
+ + + + diff --git a/functions_func_v.html b/functions_func_v.html new file mode 100644 index 00000000..70b7d5b3 --- /dev/null +++ b/functions_func_v.html @@ -0,0 +1,165 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- v -

+
+
+ + + + diff --git a/functions_func_x.html b/functions_func_x.html new file mode 100644 index 00000000..5775fa41 --- /dev/null +++ b/functions_func_x.html @@ -0,0 +1,165 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- x -

+
+
+ + + + diff --git a/functions_func_y.html b/functions_func_y.html new file mode 100644 index 00000000..62410fa4 --- /dev/null +++ b/functions_func_y.html @@ -0,0 +1,162 @@ + + + + + + +RadioLib: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- y -

+
+
+ + + + diff --git a/functions_g.html b/functions_g.html new file mode 100644 index 00000000..b614a85f --- /dev/null +++ b/functions_g.html @@ -0,0 +1,261 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- g -

+
+
+ + + + diff --git a/functions_h.html b/functions_h.html new file mode 100644 index 00000000..5fa9123a --- /dev/null +++ b/functions_h.html @@ -0,0 +1,172 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- h -

+
+
+ + + + diff --git a/functions_i.html b/functions_i.html new file mode 100644 index 00000000..56e638a3 --- /dev/null +++ b/functions_i.html @@ -0,0 +1,183 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- i -

+
+
+ + + + diff --git a/functions_j.html b/functions_j.html new file mode 100644 index 00000000..430f1217 --- /dev/null +++ b/functions_j.html @@ -0,0 +1,166 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- j -

+
+
+ + + + diff --git a/functions_l.html b/functions_l.html new file mode 100644 index 00000000..b5ba0c32 --- /dev/null +++ b/functions_l.html @@ -0,0 +1,166 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- l -

+
+
+ + + + diff --git a/functions_m.html b/functions_m.html new file mode 100644 index 00000000..0be0ec18 --- /dev/null +++ b/functions_m.html @@ -0,0 +1,178 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- m -

+
+
+ + + + diff --git a/functions_n.html b/functions_n.html new file mode 100644 index 00000000..c2679f77 --- /dev/null +++ b/functions_n.html @@ -0,0 +1,173 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- n -

+
+
+ + + + diff --git a/functions_o.html b/functions_o.html new file mode 100644 index 00000000..623fd8c6 --- /dev/null +++ b/functions_o.html @@ -0,0 +1,168 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- o -

+
+
+ + + + diff --git a/functions_p.html b/functions_p.html new file mode 100644 index 00000000..1f275af4 --- /dev/null +++ b/functions_p.html @@ -0,0 +1,187 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- p -

+
+
+ + + + diff --git a/functions_r.html b/functions_r.html new file mode 100644 index 00000000..6994deaa --- /dev/null +++ b/functions_r.html @@ -0,0 +1,231 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- r -

+
+
+ + + + diff --git a/functions_s.html b/functions_s.html new file mode 100644 index 00000000..5207c865 --- /dev/null +++ b/functions_s.html @@ -0,0 +1,582 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- s -

+
+
+ + + + diff --git a/functions_t.html b/functions_t.html new file mode 100644 index 00000000..5bddb26a --- /dev/null +++ b/functions_t.html @@ -0,0 +1,195 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- t -

+
+
+ + + + diff --git a/functions_u.html b/functions_u.html new file mode 100644 index 00000000..b1b6c2b3 --- /dev/null +++ b/functions_u.html @@ -0,0 +1,163 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- u -

+
+
+ + + + diff --git a/functions_v.html b/functions_v.html new file mode 100644 index 00000000..dfb41124 --- /dev/null +++ b/functions_v.html @@ -0,0 +1,169 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- v -

+
+
+ + + + diff --git a/functions_vars.html b/functions_vars.html new file mode 100644 index 00000000..50c7db75 --- /dev/null +++ b/functions_vars.html @@ -0,0 +1,211 @@ + + + + + + +RadioLib: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/functions_w.html b/functions_w.html new file mode 100644 index 00000000..5f535e27 --- /dev/null +++ b/functions_w.html @@ -0,0 +1,163 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- w -

+
+
+ + + + diff --git a/functions_x.html b/functions_x.html new file mode 100644 index 00000000..d8a4e3b8 --- /dev/null +++ b/functions_x.html @@ -0,0 +1,166 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- x -

+
+
+ + + + diff --git a/functions_y.html b/functions_y.html new file mode 100644 index 00000000..c3a48e48 --- /dev/null +++ b/functions_y.html @@ -0,0 +1,163 @@ + + + + + + +RadioLib: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- y -

+
+
+ + + + diff --git a/group__config__encoding.html b/group__config__encoding.html new file mode 100644 index 00000000..617b7453 --- /dev/null +++ b/group__config__encoding.html @@ -0,0 +1,136 @@ + + + + + + +RadioLib: Encoding type aliases. + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Encoding type aliases.
+
+
+ + + + + + + + + + + +

+Macros

+#define RADIOLIB_ENCODING_NRZ   0x00
 Non-return to zero - no encoding.
 
+#define RADIOLIB_ENCODING_MANCHESTER   0x01
 Manchester encoding.
 
+#define RADIOLIB_ENCODING_WHITENING   0x02
 Whitening.
 
+

Detailed Description

+
+
+ + + + diff --git a/group__config__encoding.js b/group__config__encoding.js new file mode 100644 index 00000000..163b98bb --- /dev/null +++ b/group__config__encoding.js @@ -0,0 +1,6 @@ +var group__config__encoding = +[ + [ "RADIOLIB_ENCODING_MANCHESTER", "group__config__encoding.html#gaffff394bbc47c05ed1bfde2e16a596e8", null ], + [ "RADIOLIB_ENCODING_NRZ", "group__config__encoding.html#ga0253ae0c289d950e36106102a983f9cb", null ], + [ "RADIOLIB_ENCODING_WHITENING", "group__config__encoding.html#ga0bfc51be5abf0b434a49540bddb65328", null ] +]; \ No newline at end of file diff --git a/group__config__shaping.html b/group__config__shaping.html new file mode 100644 index 00000000..d7616081 --- /dev/null +++ b/group__config__shaping.html @@ -0,0 +1,144 @@ + + + + + + +RadioLib: Data shaping filter values aliases. + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Data shaping filter values aliases.
+
+
+ + + + + + + + + + + + + + + + + +

+Macros

+#define RADIOLIB_SHAPING_NONE   0x00
 No shaping.
 
+#define RADIOLIB_SHAPING_0_3   0x01
 Gaussin shaping filter, BT = 0.3.
 
+#define RADIOLIB_SHAPING_0_5   0x02
 Gaussin shaping filter, BT = 0.5.
 
+#define RADIOLIB_SHAPING_0_7   0x03
 Gaussin shaping filter, BT = 0.7.
 
+#define RADIOLIB_SHAPING_1_0   0x04
 Gaussin shaping filter, BT = 1.0.
 
+

Detailed Description

+
+
+ + + + diff --git a/group__config__shaping.js b/group__config__shaping.js new file mode 100644 index 00000000..0ca1051e --- /dev/null +++ b/group__config__shaping.js @@ -0,0 +1,8 @@ +var group__config__shaping = +[ + [ "RADIOLIB_SHAPING_0_3", "group__config__shaping.html#ga6a562fca42573d39e4a214c293756f64", null ], + [ "RADIOLIB_SHAPING_0_5", "group__config__shaping.html#gaa778d14c29d21fe329137a28a3f54a5d", null ], + [ "RADIOLIB_SHAPING_0_7", "group__config__shaping.html#ga677dde0ea956d5e99af30cf501a727ad", null ], + [ "RADIOLIB_SHAPING_1_0", "group__config__shaping.html#ga80e2185af1123c7632aa40cad1691e6d", null ], + [ "RADIOLIB_SHAPING_NONE", "group__config__shaping.html#gaa9495bc5eb54df04f2ed7b1ccbb4f277", null ] +]; \ No newline at end of file diff --git a/group__shield__config.html b/group__shield__config.html new file mode 100644 index 00000000..454df2ae --- /dev/null +++ b/group__shield__config.html @@ -0,0 +1,136 @@ + + + + + + +RadioLib: Shield Configuration + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Shield Configuration
+
+
+ + + + + + + + + + + +

+Macros

+#define RADIOLIB_USE_SPI   0x00
 Use SPI interface.
 
+#define RADIOLIB_USE_UART   0x01
 Use UART interface.
 
+#define RADIOLIB_USE_I2C   0x02
 Use I2C interface.
 
+

Detailed Description

+
+
+ + + + diff --git a/group__shield__config.js b/group__shield__config.js new file mode 100644 index 00000000..3569ffe1 --- /dev/null +++ b/group__shield__config.js @@ -0,0 +1,6 @@ +var group__shield__config = +[ + [ "RADIOLIB_USE_I2C", "group__shield__config.html#ga8bc7260b2813f9c4635596e3ae7930de", null ], + [ "RADIOLIB_USE_SPI", "group__shield__config.html#ga19ca32b49e830d8a5b37e670ae56c78f", null ], + [ "RADIOLIB_USE_UART", "group__shield__config.html#ga9d666489c03cb4d7fda0d47ad6c8ea3e", null ] +]; \ No newline at end of file diff --git a/group__status__codes.html b/group__status__codes.html new file mode 100644 index 00000000..649cb578 --- /dev/null +++ b/group__status__codes.html @@ -0,0 +1,479 @@ + + + + + + +RadioLib: Status Codes + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Status Codes
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

+#define ERR_NONE   0
 No error, method executed successfully.
 
+#define ERR_UNKNOWN   -1
 There was an unexpected, unknown error. If you see this, something went incredibly wrong. Your Arduino may be possessed, contact your local exorcist to resolve this error.
 
+#define ERR_CHIP_NOT_FOUND   -2
 Radio chip was not found during initialization. This can be caused by specifying wrong chip type in the constructor (i.e. calling SX1272 constructor for SX1278 chip) or by a fault in your wiring (incorrect slave select pin).
 
+#define ERR_MEMORY_ALLOCATION_FAILED   -3
 Failed to allocate memory for temporary buffer. This can be cause by not enough RAM or by passing invalid pointer.
 
+#define ERR_PACKET_TOO_LONG   -4
 Packet supplied to transmission method was longer than limit.
 
+#define ERR_TX_TIMEOUT   -5
 Timed out waiting for transmission finish.
 
+#define ERR_RX_TIMEOUT   -6
 Timed out waiting for incoming transmission.
 
+#define ERR_CRC_MISMATCH   -7
 The calculated and expected CRCs of received packet do not match. This means that the packet was damaged during transmission and should be sent again.
 
+#define ERR_INVALID_BANDWIDTH   -8
 The supplied bandwidth value is invalid for this module.
 
+#define ERR_INVALID_SPREADING_FACTOR   -9
 The supplied spreading factor value is invalid for this module.
 
+#define ERR_INVALID_CODING_RATE   -10
 The supplied coding rate value is invalid for this module.
 
+#define ERR_INVALID_BIT_RANGE   -11
 Internal only.
 
+#define ERR_INVALID_FREQUENCY   -12
 The supplied frequency value is invalid for this module.
 
+#define ERR_INVALID_OUTPUT_POWER   -13
 The supplied output power value is invalid for this module.
 
+#define PREAMBLE_DETECTED   -14
 LoRa preamble was detected during channel activity detection. This means that there is some LoRa device currently transmitting in your channel.
 
+#define CHANNEL_FREE   -15
 No LoRa preambles were detected during channel activity detection. Your channel is free.
 
+#define ERR_SPI_WRITE_FAILED   -16
 Real value in SPI register does not match the expected one. This can be caused by faulty SPI wiring.
 
+#define ERR_INVALID_CURRENT_LIMIT   -17
 The supplied current limit value is invalid.
 
+#define ERR_INVALID_PREAMBLE_LENGTH   -18
 The supplied preamble length is invalid.
 
+#define ERR_INVALID_GAIN   -19
 The supplied gain value is invalid.
 
+#define ERR_WRONG_MODEM   -20
 User tried to execute modem-exclusive method on a wrong modem. For example, this can happen when you try to change LoRa configuration when FSK modem is active.
 
+#define ERR_INVALID_NUM_SAMPLES   -21
 The supplied number of RSSI samples is invalid.
 
+#define ERR_INVALID_RSSI_OFFSET   -22
 The supplied RSSI offset is invalid.
 
+#define ERR_INVALID_ENCODING   -23
 The supplied encoding is invalid.
 
+#define ERR_INVALID_BIT_RATE   -101
 The supplied bit rate value is invalid.
 
+#define ERR_INVALID_FREQUENCY_DEVIATION   -102
 The supplied frequency deviation value is invalid.
 
+#define ERR_INVALID_BIT_RATE_BW_RATIO   -103
 The supplied bit rate to bandwidth ratio is invalid. See the module datasheet for more information.
 
+#define ERR_INVALID_RX_BANDWIDTH   -104
 The supplied receiver bandwidth value is invalid.
 
+#define ERR_INVALID_SYNC_WORD   -105
 The supplied FSK sync word is invalid.
 
+#define ERR_INVALID_DATA_SHAPING   -106
 The supplied FSK data shaping option is invalid.
 
+#define ERR_INVALID_MODULATION   -107
 The current modulation is invalid for the requested operation.
 
+#define ERR_AT_FAILED   -201
 AT command failed to execute, or timed out.
 
+#define ERR_URL_MALFORMED   -202
 Supplied URL is malformed or invalid.
 
+#define ERR_RESPONSE_MALFORMED_AT   -203
 AT command response was malformed.
 
+#define ERR_RESPONSE_MALFORMED   -204
 Data response was malformed.
 
+#define ERR_MQTT_CONN_VERSION_REJECTED   -205
 MQTT broker rejected connection due to version mismatch.
 
+#define ERR_MQTT_CONN_ID_REJECTED   -206
 MQTT broker rejected connection due to unknown ID.
 
+#define ERR_MQTT_CONN_SERVER_UNAVAILABLE   -207
 Failed to establish connection with MQTT broker.
 
+#define ERR_MQTT_CONN_BAD_USERNAME_PASSWORD   -208
 Supplied username/password combination is incorrect.
 
+#define ERR_MQTT_CONN_NOT_AUTHORIZED   -208
 Unauthorized connection to MQTT broker.
 
+#define ERR_MQTT_UNEXPECTED_PACKET_ID   -209
 Received packet ID does not match the expected ID.
 
+#define ERR_MQTT_NO_NEW_PACKET_AVAILABLE   -210
 No new packet was received since the last check.
 
+#define MQTT_SUBS_SUCCESS_QOS_0   0x00
 Successfully subscribed to MQTT topic with QoS 0.
 
+#define MQTT_SUBS_SUCCESS_QOS_1   0x01
 Successfully subscribed to MQTT topic with QoS 1.
 
+#define MQTT_SUBS_SUCCESS_QOS_2   0x02
 Successfully subscribed to MQTT topic with QoS 2.
 
+#define ERR_MQTT_SUBS_FAILED   0x80
 Failed to subscribe to MQTT topic.
 
+#define ERR_CMD_MODE_FAILED   -301
 Failed to enter command mode.
 
+#define ERR_FRAME_MALFORMED   -302
 Received ZigBee frame is malformed.
 
+#define ERR_FRAME_INCORRECT_CHECKSUM   -303
 Received ZigBee frame checksum does not match the calculated.
 
+#define ERR_FRAME_UNEXPECTED_ID   -304
 Received ZigBee frame with unexpected ID.
 
+#define ERR_FRAME_NO_RESPONSE   -305
 Timed out waiting for response to ZigBee frame.
 
+#define ERR_INVALID_RTTY_SHIFT   -401
 Supplied RTTY frequency shift is invalid for this module.
 
+#define ERR_UNSUPPORTED_ENCODING   -402
 Supplied RTTY encoding is invalid.
 
+#define ERR_INVALID_DATA_RATE   -501
 Supplied data rate is invalid.
 
+#define ERR_INVALID_ADDRESS_WIDTH   -502
 Supplied address width is invalid.
 
+#define ERR_INVALID_PIPE_NUMBER   -503
 Supplied data pipe number is invalid.
 
+#define ERR_ACK_NOT_RECEIVED   -504
 ACK packet from destination module was not received within 15 retries.
 
+#define ERR_INVALID_NUM_BROAD_ADDRS   -601
 Supplied number of broadcast addresses is invalid.
 
+#define ERR_INVALID_CRC_CONFIGURATION   -701
 Supplied CRC configuration is invalid.
 
+#define LORA_DETECTED   -702
 Detected LoRa transmission while scanning channel.
 
+#define ERR_INVALID_TCXO_VOLTAGE   -703
 Supplied TCXO reference voltage is invalid.
 
+#define ERR_INVALID_MODULATION_PARAMETERS   -704
 Bit rate / bandwidth / frequency deviation ratio is invalid. See SX126x datasheet for details.
 
+#define ERR_SPI_CMD_TIMEOUT   -705
 SX126x timed out while waiting for complete SPI command.
 
+#define ERR_SPI_CMD_INVALID   -706
 SX126x received invalid SPI command.
 
+#define ERR_SPI_CMD_FAILED   -707
 SX126x failed to execute SPI command.
 
#define ERR_INVALID_SLEEP_PERIOD   -708
 The supplied sleep period is invalid. More...
 
#define ERR_INVALID_RX_PERIOD   -709
 The supplied Rx period is invalid. More...
 
#define ERR_INVALID_CALLSIGN   -801
 The provided callsign is invalid. More...
 
#define ERR_INVALID_NUM_REPEATERS   -802
 The provided repeater configuration is invalid. More...
 
#define ERR_INVALID_REPEATER_CALLSIGN   -803
 One of the provided repeater callsigns is invalid. More...
 
+#define ERR_RANGING_TIMEOUT   -901
 Timed out waiting for ranging exchange finish.
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + +
#define ERR_INVALID_CALLSIGN   -801
+
+ +

The provided callsign is invalid.

+

The specified callsign is longer than 6 ASCII characters.

+ +
+
+ +
+
+ + + + +
#define ERR_INVALID_NUM_REPEATERS   -802
+
+ +

The provided repeater configuration is invalid.

+

The specified number of repeaters does not match number of repeater IDs or their callsigns.

+ +
+
+ +
+
+ + + + +
#define ERR_INVALID_REPEATER_CALLSIGN   -803
+
+ +

One of the provided repeater callsigns is invalid.

+

The specified callsign is longer than 6 ASCII characters.

+ +
+
+ +
+
+ + + + +
#define ERR_INVALID_RX_PERIOD   -709
+
+ +

The supplied Rx period is invalid.

+

The specified Rx period is shorter or longer than the hardware can handle.

+ +
+
+ +
+
+ + + + +
#define ERR_INVALID_SLEEP_PERIOD   -708
+
+ +

The supplied sleep period is invalid.

+

The specified sleep period is shorter than the time necessary to sleep and wake the hardware including TCXO delay, or longer than the maximum possible

+ +
+
+
+
+ + + + diff --git a/group__status__codes.js b/group__status__codes.js new file mode 100644 index 00000000..7920f084 --- /dev/null +++ b/group__status__codes.js @@ -0,0 +1,74 @@ +var group__status__codes = +[ + [ "CHANNEL_FREE", "group__status__codes.html#ga6581323ae6a4f0bfe38e5a087c5a6f36", null ], + [ "ERR_ACK_NOT_RECEIVED", "group__status__codes.html#ga10d6ef8fd76e4bda92075e649cc14f81", null ], + [ "ERR_AT_FAILED", "group__status__codes.html#gad0226134c1246d627d2a532a89b03050", null ], + [ "ERR_CHIP_NOT_FOUND", "group__status__codes.html#ga66ac4a39ab53bd83f36ba49ea2a88e2c", null ], + [ "ERR_CMD_MODE_FAILED", "group__status__codes.html#ga8c65c39a6addd77e64c36ae1aff64c95", null ], + [ "ERR_CRC_MISMATCH", "group__status__codes.html#ga81f8c801d5a34b8000dd127002092299", null ], + [ "ERR_FRAME_INCORRECT_CHECKSUM", "group__status__codes.html#gac1fec2f7cf44d57a670a90d49de224dd", null ], + [ "ERR_FRAME_MALFORMED", "group__status__codes.html#gaf56437c272ebe407f2e323eacc4d30b4", null ], + [ "ERR_FRAME_NO_RESPONSE", "group__status__codes.html#gaa9983b460eb8c29f7903b22dc907fb65", null ], + [ "ERR_FRAME_UNEXPECTED_ID", "group__status__codes.html#ga41235956d8113d0b175008257daa01da", null ], + [ "ERR_INVALID_ADDRESS_WIDTH", "group__status__codes.html#ga03955017183ea3e54cd37d02a053bf17", null ], + [ "ERR_INVALID_BANDWIDTH", "group__status__codes.html#gaf1f9fb751ed4f4094c02a406e049f645", null ], + [ "ERR_INVALID_BIT_RANGE", "group__status__codes.html#gab18e3c068ca8d9e7c07e6b9473c5e0df", null ], + [ "ERR_INVALID_BIT_RATE", "group__status__codes.html#gaaa1f1221c85e65caecb13f9f23cf02a2", null ], + [ "ERR_INVALID_BIT_RATE_BW_RATIO", "group__status__codes.html#ga922d0c9f0434ca59f8e82fce26d0e4c7", null ], + [ "ERR_INVALID_CALLSIGN", "group__status__codes.html#ga3dcd9b09caecdbc3d267bc9dc4c3d0a3", null ], + [ "ERR_INVALID_CODING_RATE", "group__status__codes.html#ga39b71357447cf06f433d589133d61af2", null ], + [ "ERR_INVALID_CRC_CONFIGURATION", "group__status__codes.html#ga2e2ba33c5844ca459a97820fee4375c6", null ], + [ "ERR_INVALID_CURRENT_LIMIT", "group__status__codes.html#ga47d567bd065787445759a1eb0f6eca5c", null ], + [ "ERR_INVALID_DATA_RATE", "group__status__codes.html#gaf6ce56c0b0d24e28f68fc28159a9f9e2", null ], + [ "ERR_INVALID_DATA_SHAPING", "group__status__codes.html#ga9ca18294bf38d20331b42b9d3197bb61", null ], + [ "ERR_INVALID_ENCODING", "group__status__codes.html#ga38bd76783868e5a9e4a0ad6894160670", null ], + [ "ERR_INVALID_FREQUENCY", "group__status__codes.html#gae340a46264dfa98e51c5d2eefeae08e7", null ], + [ "ERR_INVALID_FREQUENCY_DEVIATION", "group__status__codes.html#ga212fdb49959455bf6980055aa4abc28c", null ], + [ "ERR_INVALID_GAIN", "group__status__codes.html#ga8a1f83c8c9abed26b497c9eb69f1a521", null ], + [ "ERR_INVALID_MODULATION", "group__status__codes.html#ga8a4168b6953ca4e289d2bda1d4c422e7", null ], + [ "ERR_INVALID_MODULATION_PARAMETERS", "group__status__codes.html#ga3fed4b30666e7ecc9dba67739a6bc52b", null ], + [ "ERR_INVALID_NUM_BROAD_ADDRS", "group__status__codes.html#ga975011f5b371bfc864c36e65f2b26a24", null ], + [ "ERR_INVALID_NUM_REPEATERS", "group__status__codes.html#ga67d0525915e7e4dc6f5d13199d5e37ae", null ], + [ "ERR_INVALID_NUM_SAMPLES", "group__status__codes.html#gabb4c168ec8dd99c2b853d589af455884", null ], + [ "ERR_INVALID_OUTPUT_POWER", "group__status__codes.html#ga5f16976086bbc9bf66c77719ccf0f277", null ], + [ "ERR_INVALID_PIPE_NUMBER", "group__status__codes.html#ga819f4587f681d62d96babf3f51a0268e", null ], + [ "ERR_INVALID_PREAMBLE_LENGTH", "group__status__codes.html#ga267654efbc717258ff5ac95c10e180f1", null ], + [ "ERR_INVALID_REPEATER_CALLSIGN", "group__status__codes.html#gae98a89e9fb2c2d8c85203870c939e43a", null ], + [ "ERR_INVALID_RSSI_OFFSET", "group__status__codes.html#gaf85ebeb45d6d949753a9a3e58fa40c46", null ], + [ "ERR_INVALID_RTTY_SHIFT", "group__status__codes.html#gac9ca6ac94f8a11579c418e63943c056d", null ], + [ "ERR_INVALID_RX_BANDWIDTH", "group__status__codes.html#ga228942d2635d5bdea96cf0804f5cace2", null ], + [ "ERR_INVALID_RX_PERIOD", "group__status__codes.html#ga2e1460e2969e76242bf17963448d62c6", null ], + [ "ERR_INVALID_SLEEP_PERIOD", "group__status__codes.html#gac852eedc5c168b511bbc83abce3123e7", null ], + [ "ERR_INVALID_SPREADING_FACTOR", "group__status__codes.html#ga8d2622e3d347809a5b8b13b90e789121", null ], + [ "ERR_INVALID_SYNC_WORD", "group__status__codes.html#gaa70935907871709286cfef58d1074a51", null ], + [ "ERR_INVALID_TCXO_VOLTAGE", "group__status__codes.html#gad46a0a43a686f8057b2516dcee2ac935", null ], + [ "ERR_MEMORY_ALLOCATION_FAILED", "group__status__codes.html#ga10c401bcff17771aaa3814569598e5a2", null ], + [ "ERR_MQTT_CONN_BAD_USERNAME_PASSWORD", "group__status__codes.html#gabd7da172470aea37cd7b5d0300b89ad8", null ], + [ "ERR_MQTT_CONN_ID_REJECTED", "group__status__codes.html#ga3c1be62b28b6ec25da16643bfe2e6fba", null ], + [ "ERR_MQTT_CONN_NOT_AUTHORIZED", "group__status__codes.html#ga03cb5a5924e72d8ee5c5e9fbd33f2549", null ], + [ "ERR_MQTT_CONN_SERVER_UNAVAILABLE", "group__status__codes.html#gaccd2c15a0a2372183a64c7796fa3207f", null ], + [ "ERR_MQTT_CONN_VERSION_REJECTED", "group__status__codes.html#ga47124a33fbae3e47fd21eedbb8d5334c", null ], + [ "ERR_MQTT_NO_NEW_PACKET_AVAILABLE", "group__status__codes.html#gae68036ef658da67f79e0506034e72221", null ], + [ "ERR_MQTT_SUBS_FAILED", "group__status__codes.html#ga06f7816dddbe094c2158a40a517f950e", null ], + [ "ERR_MQTT_UNEXPECTED_PACKET_ID", "group__status__codes.html#ga5a373a7e054a6c8e7a5198e23439157d", null ], + [ "ERR_NONE", "group__status__codes.html#gaff0d3fb76f11f6e8ea4002d826bbd23c", null ], + [ "ERR_PACKET_TOO_LONG", "group__status__codes.html#gadd7021d50cf3fd55417a3d476bb4308d", null ], + [ "ERR_RANGING_TIMEOUT", "group__status__codes.html#gafef1096303c151991e6d933bd5f870ff", null ], + [ "ERR_RESPONSE_MALFORMED", "group__status__codes.html#ga1595a1ed0d191defe3b78a1ae1deedf7", null ], + [ "ERR_RESPONSE_MALFORMED_AT", "group__status__codes.html#gab0af68b1c852a4c124550baabf71a0f0", null ], + [ "ERR_RX_TIMEOUT", "group__status__codes.html#gaec29abeb9f0b3f44f7dbed1a17bc675a", null ], + [ "ERR_SPI_CMD_FAILED", "group__status__codes.html#gabbd93b7bffc697e5eb394ba7e601b648", null ], + [ "ERR_SPI_CMD_INVALID", "group__status__codes.html#gaa698c4e61a86e0b43e1e58c36f89d1d7", null ], + [ "ERR_SPI_CMD_TIMEOUT", "group__status__codes.html#ga171202c690c6df1b6c1fd914c37e7d37", null ], + [ "ERR_SPI_WRITE_FAILED", "group__status__codes.html#ga4e05af49324b9f065ae93f9664d51c2f", null ], + [ "ERR_TX_TIMEOUT", "group__status__codes.html#ga198c0b71c71734ab53023e3fe23a1248", null ], + [ "ERR_UNKNOWN", "group__status__codes.html#ga60d04c865fd58d86758894edca38bf30", null ], + [ "ERR_UNSUPPORTED_ENCODING", "group__status__codes.html#ga764f561222124ffd6620356e21cf7afd", null ], + [ "ERR_URL_MALFORMED", "group__status__codes.html#gac4980128c06104656146109af0a944e4", null ], + [ "ERR_WRONG_MODEM", "group__status__codes.html#ga8ec3e01efb503b4e32c59ea0a6566714", null ], + [ "LORA_DETECTED", "group__status__codes.html#gacfda389267c561c2ab2ac5c368954d0c", null ], + [ "MQTT_SUBS_SUCCESS_QOS_0", "group__status__codes.html#ga5bbfeb0ed4631a9a1f37b62d13818340", null ], + [ "MQTT_SUBS_SUCCESS_QOS_1", "group__status__codes.html#ga0bd24d55b395964ae24a5fb3172fdf0c", null ], + [ "MQTT_SUBS_SUCCESS_QOS_2", "group__status__codes.html#ga4e88f8dfe1877017cb03e2fa1e6193f6", null ], + [ "PREAMBLE_DETECTED", "group__status__codes.html#gae20ae543b703697fa7bebfcec73617ee", null ] +]; \ No newline at end of file diff --git a/group__uart__config.html b/group__uart__config.html new file mode 100644 index 00000000..193f73d5 --- /dev/null +++ b/group__uart__config.html @@ -0,0 +1,164 @@ + + + + + + +RadioLib: UART Configuration + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
UART Configuration
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

+#define RADIOLIB_UART_STOPBIT_1   0x01
 Use 1 bit stop.
 
+#define RADIOLIB_UART_STOPBIT_1_5   0x02
 Use 1.5 bit stop.
 
+#define RADIOLIB_UART_STOPBIT_2   0x03
 Use 2 bit stop.
 
+#define RADIOLIB_UART_PARITY_NONE   0x00
 No parity.
 
+#define RADIOLIB_UART_PARITY_ODD   0x01
 Odd parity.
 
+#define RADIOLIB_UART_PARITY_EVEN   0x02
 Even parity.
 
+#define RADIOLIB_UART_FLOW_NONE   0x00
 No flow control.
 
+#define RADIOLIB_UART_FLOW_RTS   0x01
 RTS only.
 
+#define RADIOLIB_UART_FLOW_CTS   0x02
 CTS only.
 
+#define RADIOLIB_UART_FLOW_BOTH   0x03
 Both RTS and CTS.
 
+

Detailed Description

+
+
+ + + + diff --git a/group__uart__config.js b/group__uart__config.js new file mode 100644 index 00000000..1c696729 --- /dev/null +++ b/group__uart__config.js @@ -0,0 +1,13 @@ +var group__uart__config = +[ + [ "RADIOLIB_UART_FLOW_BOTH", "group__uart__config.html#ga939e120f07199ce8e21ed2e22d200dab", null ], + [ "RADIOLIB_UART_FLOW_CTS", "group__uart__config.html#gab526b0043d5cec8d83ee4ea164698548", null ], + [ "RADIOLIB_UART_FLOW_NONE", "group__uart__config.html#ga8b65a960ee0f2aa0192ade54b78057d9", null ], + [ "RADIOLIB_UART_FLOW_RTS", "group__uart__config.html#gae077d53c5c120a989b1f285f183f1b78", null ], + [ "RADIOLIB_UART_PARITY_EVEN", "group__uart__config.html#ga4af49de10b0a0f569be3de38cab8b4bb", null ], + [ "RADIOLIB_UART_PARITY_NONE", "group__uart__config.html#ga3b50652499c533c7b58b917e3f2cf528", null ], + [ "RADIOLIB_UART_PARITY_ODD", "group__uart__config.html#gaab1a378c99156fb89223c0b389bbe1db", null ], + [ "RADIOLIB_UART_STOPBIT_1", "group__uart__config.html#ga2b4fdd9968a0a46909c7c018b0faa927", null ], + [ "RADIOLIB_UART_STOPBIT_1_5", "group__uart__config.html#gad418f0922126e27279d1a374fc63e036", null ], + [ "RADIOLIB_UART_STOPBIT_2", "group__uart__config.html#ga65930f2e5d365bb0e778b62b2840715f", null ] +]; \ No newline at end of file diff --git a/hierarchy.html b/hierarchy.html new file mode 100644 index 00000000..1a24f0cd --- /dev/null +++ b/hierarchy.html @@ -0,0 +1,179 @@ + + + + + + +RadioLib: Class Hierarchy + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 12345]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 CAFSKClientClient for audio-based transmissions. Requires Arduino tone() function, and a module capable of direct mode transmission using DIO pins
 CAX25ClientClient for AX25 communication
 CAX25FrameAbstraction of AX.25 frame format
 CHellClientClient for Hellschreiber transmissions
 CHTTPClientClient for simple HTTP communication
 CISerialInterface class for Arduino Serial. Only calls the appropriate methods for the active UART interface
 CHC05Control class for HC05 module. Most methods supported by this module are implemented in ISerial interface
 CJDY08Control class for JDY08 module. Most methods supported by this module are implemented in ISerial interface
 CXBeeSerialXBee Serial interface. This class is used for XBees in transparent mode, i.e. when two XBees act as a "wireless UART"
 CITA2StringITA2-encoded string
 CModuleImplements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class
 CMorseClientClient for Morse Code communication. The public interface is the same as Arduino Serial
 CMQTTClientClient for simple MQTT communication
 CPhysicalLayerProvides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN. Also extracts some common module-independent methods. Using this interface class allows to use the protocols on various modules without much code duplicity. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class
 CCC1101Control class for CC1101 module
 CnRF24Control class for nRF24 module
 CRF69Control class for RF69 module. Also serves as base class for SX1231
 CSX1231Control class for SX1231 module. Overrides some methods from RF69 due to different register values
 CSi443xBase class for Si443x series. All derived classes for Si443x (e.g. Si4431 or Si4432) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes
 CSi4432Derived class for Si4432 modules
 CSi4430Derived class for Si4430 modules
 CSi4431Derived class for Si4431 modules
 CSX126xBase class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes
 CSX1262Derived class for SX1262 modules
 CSX1261Derived class for SX1261 modules
 CSX1268Derived class for SX1268 modules
 CSX127xBase class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes
 CSX1272Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic hardware and only differ in parameter ranges
 CSX1273Derived class for SX1273 modules. Overrides some methods from SX1272 due to different parameter ranges
 CSX1278Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names)
 CRFM95Derived class for RFM95 modules. Overrides some methods from SX1278 due to different parameter ranges
 CRFM97Derived class for RFM97 modules. Overrides some methods from RFM95 due to different parameter ranges
 CRFM96Derived class for RFM96 modules. Overrides some methods from SX1278 due to different parameter ranges
 CSX1276Derived class for SX1276 modules. Overrides some methods from SX1278 due to different parameter ranges
 CSX1277Derived class for SX1277 modules. Overrides some methods from SX1278 due to different parameter ranges
 CSX1279Derived class for SX1279 modules. Overrides some methods from SX1278 due to different parameter ranges
 CSX128xBase class for SX128x series. All derived classes for SX128x (e.g. SX1280 or SX1281) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes
 CSX1281Derived class for SX1281 modules
 CSX1280Derived class for SX1280 modules
 CSX1282Derived class for SX1282 modules
 CRFM22Only exists as alias for Si4432, since there seems to be no difference between RFM22 and Si4432 modules
 CRFM23Only exists as alias for Si4431, since there seems to be no difference between RFM23 and Si4431 modules
 CRFM98Only exists as alias for RFM96, since there seems to be no difference between RFM96 and RFM98 modules
 CRTTYClientClient for RTTY communication. The public interface is the same as Arduino Serial
 CSSTVClientClient for SSTV transmissions
 CSSTVMode_tStructure to save data about supported SSTV modes
 Ctone_tStructure to save data about tone
 CTransportLayerProvides common interface for protocols that run on modules with Internet connectivity, such as HTTP or MQTT. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class
 CESP8266Control class for ESP8266 module. Implements TransportLayer methods
 CXBeeControl class for XBee modules
+
+
+
+ + + + diff --git a/hierarchy.js b/hierarchy.js new file mode 100644 index 00000000..0726e32f --- /dev/null +++ b/hierarchy.js @@ -0,0 +1,68 @@ +var hierarchy = +[ + [ "AFSKClient", "class_a_f_s_k_client.html", null ], + [ "AX25Client", "class_a_x25_client.html", null ], + [ "AX25Frame", "class_a_x25_frame.html", null ], + [ "HellClient", "class_hell_client.html", null ], + [ "HTTPClient", "class_h_t_t_p_client.html", null ], + [ "ISerial", "class_i_serial.html", [ + [ "HC05", "class_h_c05.html", null ], + [ "JDY08", "class_j_d_y08.html", null ], + [ "XBeeSerial", "class_x_bee_serial.html", null ] + ] ], + [ "ITA2String", "class_i_t_a2_string.html", null ], + [ "Module", "class_module.html", null ], + [ "MorseClient", "class_morse_client.html", null ], + [ "MQTTClient", "class_m_q_t_t_client.html", null ], + [ "PhysicalLayer", "class_physical_layer.html", [ + [ "CC1101", "class_c_c1101.html", null ], + [ "nRF24", "classn_r_f24.html", null ], + [ "RF69", "class_r_f69.html", [ + [ "SX1231", "class_s_x1231.html", null ] + ] ], + [ "Si443x", "class_si443x.html", [ + [ "Si4432", "class_si4432.html", [ + [ "Si4430", "class_si4430.html", null ], + [ "Si4431", "class_si4431.html", null ] + ] ] + ] ], + [ "SX126x", "class_s_x126x.html", [ + [ "SX1262", "class_s_x1262.html", [ + [ "SX1261", "class_s_x1261.html", null ] + ] ], + [ "SX1268", "class_s_x1268.html", null ] + ] ], + [ "SX127x", "class_s_x127x.html", [ + [ "SX1272", "class_s_x1272.html", [ + [ "SX1273", "class_s_x1273.html", null ] + ] ], + [ "SX1278", "class_s_x1278.html", [ + [ "RFM95", "class_r_f_m95.html", [ + [ "RFM97", "class_r_f_m97.html", null ] + ] ], + [ "RFM96", "class_r_f_m96.html", null ], + [ "SX1276", "class_s_x1276.html", null ], + [ "SX1277", "class_s_x1277.html", null ], + [ "SX1279", "class_s_x1279.html", null ] + ] ] + ] ], + [ "SX128x", "class_s_x128x.html", [ + [ "SX1281", "class_s_x1281.html", [ + [ "SX1280", "class_s_x1280.html", [ + [ "SX1282", "class_s_x1282.html", null ] + ] ] + ] ] + ] ] + ] ], + [ "RFM22", "class_r_f_m22.html", null ], + [ "RFM23", "class_r_f_m23.html", null ], + [ "RFM98", "class_r_f_m98.html", null ], + [ "RTTYClient", "class_r_t_t_y_client.html", null ], + [ "SSTVClient", "class_s_s_t_v_client.html", null ], + [ "SSTVMode_t", "struct_s_s_t_v_mode__t.html", null ], + [ "tone_t", "structtone__t.html", null ], + [ "TransportLayer", "class_transport_layer.html", [ + [ "ESP8266", "class_e_s_p8266.html", null ] + ] ], + [ "XBee", "class_x_bee.html", null ] +]; \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 00000000..08801fac --- /dev/null +++ b/index.html @@ -0,0 +1,154 @@ + + + + + + +RadioLib: RadioLib Documentation + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RadioLib Documentation
+
+
+

Universal wireless communication library for Arduino.

+
Currently Supported Wireless Modules and Protocols
+
+
Quick Links
Documentation for most common methods can be found in its reference page (see the list above).
+Some methods (mainly configuration) are also overridden in derived classes, such as SX1272, SX1278, RFM96 etc. for SX127x.
+Status Codes have their own page.
+Some modules implement methods of one or more compatibility layers, loosely based on the ISO/OSI model: +
+
See also
https://github.com/jgromes/RadioLib
+ +
+
+ + + + diff --git a/jquery.js b/jquery.js new file mode 100644 index 00000000..d52a1c77 --- /dev/null +++ b/jquery.js @@ -0,0 +1,68 @@ +/* + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/* + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/* + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/* + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/* + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({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("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom: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({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{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"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,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}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/* + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' + + +
+
+
Modules
+
+
+
Here is a list of all modules:
+
+ + + + + +
 Shield Configuration
 UART Configuration
 Data shaping filter values aliases.
 Encoding type aliases.
 Status Codes
+ + + + + + + diff --git a/modules.js b/modules.js new file mode 100644 index 00000000..17fef27e --- /dev/null +++ b/modules.js @@ -0,0 +1,8 @@ +var modules = +[ + [ "Shield Configuration", "group__shield__config.html", "group__shield__config" ], + [ "UART Configuration", "group__uart__config.html", "group__uart__config" ], + [ "Data shaping filter values aliases.", "group__config__shaping.html", "group__config__shaping" ], + [ "Encoding type aliases.", "group__config__encoding.html", "group__config__encoding" ], + [ "Status Codes", "group__status__codes.html", "group__status__codes" ] +]; \ No newline at end of file diff --git a/n_r_f24_8h_source.html b/n_r_f24_8h_source.html new file mode 100644 index 00000000..a63f1dbb --- /dev/null +++ b/n_r_f24_8h_source.html @@ -0,0 +1,157 @@ + + + + + + +RadioLib: src/modules/nRF24/nRF24.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nRF24.h
+
+
+
1 #if !defined(_RADIOLIB_NRF24_H) && !defined(RADIOLIB_EXCLUDE_NRF24)
2 #define _RADIOLIB_NRF24_H
3 
4 #include "../../Module.h"
5 #include "../../TypeDef.h"
6 
7 #include "../../protocols/PhysicalLayer/PhysicalLayer.h"
8 
9 // nRF24 physical layer properties
10 #define NRF24_FREQUENCY_STEP_SIZE 1000000.0
11 #define NRF24_MAX_PACKET_LENGTH 32
12 
13 // nRF24 SPI commands
14 #define NRF24_CMD_READ 0b00000000
15 #define NRF24_CMD_WRITE 0b00100000
16 #define NRF24_CMD_READ_RX_PAYLOAD 0b01100001
17 #define NRF24_CMD_WRITE_TX_PAYLOAD 0b10100000
18 #define NRF24_CMD_FLUSH_TX 0b11100001
19 #define NRF24_CMD_FLUSH_RX 0b11100010
20 #define NRF24_CMD_REUSE_TX_PAXLOAD 0b11100011
21 #define NRF24_CMD_READ_RX_PAYLOAD_WIDTH 0b01100000
22 #define NRF24_CMD_WRITE_ACK_PAYLOAD 0b10101000
23 #define NRF24_CMD_WRITE_TX_PAYLOAD_NOACK 0b10110000
24 #define NRF24_CMD_NOP 0b11111111
25 
26 // nRF24 register map
27 #define NRF24_REG_CONFIG 0x00
28 #define NRF24_REG_EN_AA 0x01
29 #define NRF24_REG_EN_RXADDR 0x02
30 #define NRF24_REG_SETUP_AW 0x03
31 #define NRF24_REG_SETUP_RETR 0x04
32 #define NRF24_REG_RF_CH 0x05
33 #define NRF24_REG_RF_SETUP 0x06
34 #define NRF24_REG_STATUS 0x07
35 #define NRF24_REG_OBSERVE_TX 0x08
36 #define NRF24_REG_RPD 0x09
37 #define NRF24_REG_RX_ADDR_P0 0x0A
38 #define NRF24_REG_RX_ADDR_P1 0x0B
39 #define NRF24_REG_RX_ADDR_P2 0x0C
40 #define NRF24_REG_RX_ADDR_P3 0x0D
41 #define NRF24_REG_RX_ADDR_P4 0x0E
42 #define NRF24_REG_RX_ADDR_P5 0x0F
43 #define NRF24_REG_TX_ADDR 0x10
44 #define NRF24_REG_RX_PW_P0 0x11
45 #define NRF24_REG_RX_PW_P1 0x12
46 #define NRF24_REG_RX_PW_P2 0x13
47 #define NRF24_REG_RX_PW_P3 0x14
48 #define NRF24_REG_RX_PW_P4 0x15
49 #define NRF24_REG_RX_PW_P5 0x16
50 #define NRF24_REG_FIFO_STATUS 0x17
51 #define NRF24_REG_DYNPD 0x1C
52 #define NRF24_REG_FEATURE 0x1D
53 
54 // NRF24_REG_CONFIG MSB LSB DESCRIPTION
55 #define NRF24_MASK_RX_DR_IRQ_OFF 0b01000000 // 6 6 RX_DR will not be reflected on IRQ pin
56 #define NRF24_MASK_RX_DR_IRQ_ON 0b00000000 // 6 6 RX_DR will be reflected on IRQ pin as active low (default)
57 #define NRF24_MASK_TX_DS_IRQ_OFF 0b00100000 // 5 5 TX_DS will not be reflected on IRQ pin
58 #define NRF24_MASK_TX_DS_IRQ_ON 0b00000000 // 5 5 TX_DS will be reflected on IRQ pin as active low (default)
59 #define NRF24_MASK_MAX_RT_IRQ_OFF 0b00010000 // 4 4 MAX_RT will not be reflected on IRQ pin
60 #define NRF24_MASK_MAX_RT_IRQ_ON 0b00000000 // 4 4 MAX_RT will be reflected on IRQ pin as active low (default)
61 #define NRF24_CRC_OFF 0b00000000 // 3 3 CRC calculation: disabled
62 #define NRF24_CRC_ON 0b00001000 // 3 3 enabled (default)
63 #define NRF24_CRC_8 0b00000000 // 2 2 CRC scheme: CRC8 (default)
64 #define NRF24_CRC_16 0b00000100 // 2 2 CRC16
65 #define NRF24_POWER_UP 0b00000010 // 1 1 power up
66 #define NRF24_POWER_DOWN 0b00000000 // 1 1 power down
67 #define NRF24_PTX 0b00000000 // 0 0 enable primary Tx
68 #define NRF24_PRX 0b00000001 // 0 0 enable primary Rx
69 
70 // NRF24_REG_EN_AA
71 #define NRF24_AA_ALL_OFF 0b00000000 // 5 0 auto-ACK on all pipes: disabled
72 #define NRF24_AA_ALL_ON 0b00111111 // 5 0 enabled (default)
73 #define NRF24_AA_P5_OFF 0b00000000 // 5 5 auto-ACK on pipe 5: disabled
74 #define NRF24_AA_P5_ON 0b00100000 // 5 5 enabled (default)
75 #define NRF24_AA_P4_OFF 0b00000000 // 4 4 auto-ACK on pipe 4: disabled
76 #define NRF24_AA_P4_ON 0b00010000 // 4 4 enabled (default)
77 #define NRF24_AA_P3_OFF 0b00000000 // 3 3 auto-ACK on pipe 3: disabled
78 #define NRF24_AA_P3_ON 0b00001000 // 3 3 enabled (default)
79 #define NRF24_AA_P2_OFF 0b00000000 // 2 2 auto-ACK on pipe 2: disabled
80 #define NRF24_AA_P2_ON 0b00000100 // 2 2 enabled (default)
81 #define NRF24_AA_P1_OFF 0b00000000 // 1 1 auto-ACK on pipe 1: disabled
82 #define NRF24_AA_P1_ON 0b00000010 // 1 1 enabled (default)
83 #define NRF24_AA_P0_OFF 0b00000000 // 0 0 auto-ACK on pipe 0: disabled
84 #define NRF24_AA_P0_ON 0b00000001 // 0 0 enabled (default)
85 
86 // NRF24_REG_EN_RXADDR
87 #define NRF24_P5_OFF 0b00000000 // 5 5 receive pipe 5: disabled (default)
88 #define NRF24_P5_ON 0b00100000 // 5 5 enabled
89 #define NRF24_P4_OFF 0b00000000 // 4 4 receive pipe 4: disabled (default)
90 #define NRF24_P4_ON 0b00010000 // 4 4 enabled
91 #define NRF24_P3_OFF 0b00000000 // 3 3 receive pipe 3: disabled (default)
92 #define NRF24_P3_ON 0b00001000 // 3 3 enabled
93 #define NRF24_P2_OFF 0b00000000 // 2 2 receive pipe 2: disabled (default)
94 #define NRF24_P2_ON 0b00000100 // 2 2 enabled
95 #define NRF24_P1_OFF 0b00000000 // 1 1 receive pipe 1: disabled
96 #define NRF24_P1_ON 0b00000010 // 1 1 enabled (default)
97 #define NRF24_P0_OFF 0b00000000 // 0 0 receive pipe 0: disabled
98 #define NRF24_P0_ON 0b00000001 // 0 0 enabled (default)
99 
100 // NRF24_REG_SETUP_AW
101 #define NRF24_ADDRESS_2_BYTES 0b00000000 // 1 0 address width: 2 bytes
102 #define NRF24_ADDRESS_3_BYTES 0b00000001 // 1 0 3 bytes
103 #define NRF24_ADDRESS_4_BYTES 0b00000010 // 1 0 4 bytes
104 #define NRF24_ADDRESS_5_BYTES 0b00000011 // 1 0 5 bytes (default)
105 
106 // NRF24_REG_SETUP_RETR
107 #define NRF24_ARD 0b00000000 // 7 4 auto retransmit delay: t[us] = (NRF24_ARD + 1) * 250 us
108 #define NRF24_ARC_OFF 0b00000000 // 3 0 auto retransmit count: auto retransmit disabled
109 #define NRF24_ARC 0b00000011 // 3 0 up to 3 retransmits on AA fail (default)
110 
111 // NRF24_REG_RF_CH
112 #define NRF24_RF_CH 0b00000010 // 6 0 RF channel: f_CH[MHz] = 2400 MHz + NRF24_RF_CH
113 
114 // NRF24_REG_RF_SETUP
115 #define NRF24_CONT_WAVE_OFF 0b00000000 // 7 7 continuous carrier transmit: disabled (default)
116 #define NRF24_CONT_WAVE_ON 0b10000000 // 7 7 enabled
117 #define NRF24_DR_250_KBPS 0b00100000 // 5 5 data rate: 250 kbps
118 #define NRF24_DR_1_MBPS 0b00000000 // 3 3 1 Mbps (default)
119 #define NRF24_DR_2_MBPS 0b00001000 // 3 3 2 Mbps
120 #define NRF24_PLL_LOCK_ON 0b00010000 // 4 4 force PLL lock: enabled
121 #define NRF24_PLL_LOCK_OFF 0b00000000 // 4 4 disabled (default)
122 #define NRF24_RF_PWR_18_DBM 0b00000000 // 2 1 output power: -18 dBm
123 #define NRF24_RF_PWR_12_DBM 0b00000010 // 2 1 -12 dBm
124 #define NRF24_RF_PWR_6_DBM 0b00000100 // 2 1 -6 dBm
125 #define NRF24_RF_PWR_0_DBM 0b00000110 // 2 1 0 dBm (default)
126 
127 // NRF24_REG_STATUS
128 #define NRF24_RX_DR 0b01000000 // 6 6 Rx data ready
129 #define NRF24_TX_DS 0b00100000 // 5 5 Tx data sent
130 #define NRF24_MAX_RT 0b00010000 // 4 4 maximum number of retransmits reached (must be cleared to continue)
131 #define NRF24_RX_FIFO_EMPTY 0b00001110 // 3 1 Rx FIFO is empty
132 #define NRF24_RX_P_NO 0b00000000 // 3 1 number of data pipe that received data
133 #define NRF24_TX_FIFO_FULL 0b00000001 // 0 0 Tx FIFO is full
134 
135 // NRF24_REG_OBSERVE_TX
136 #define NRF24_PLOS_CNT 0b00000000 // 7 4 number of lost packets
137 #define NRF24_ARC_CNT 0b00000000 // 3 0 number of retransmitted packets
138 
139 // NRF24_REG_RPD
140 #define NRF24_RP_BELOW_64_DBM 0b00000000 // 0 0 received power in the current channel: less than -64 dBm
141 #define NRF24_RP_ABOVE_64_DBM 0b00000001 // 0 0 more than -64 dBm
142 
143 // NRF24_REG_FIFO_STATUS
144 #define NRF24_TX_REUSE 0b01000000 // 6 6 reusing last transmitted payload
145 #define NRF24_TX_FIFO_FULL_FLAG 0b00100000 // 5 5 Tx FIFO is full
146 #define NRF24_TX_FIFO_EMPTY_FLAG 0b00010000 // 4 4 Tx FIFO is empty
147 #define NRF24_RX_FIFO_FULL_FLAG 0b00000010 // 1 1 Rx FIFO is full
148 #define NRF24_RX_FIFO_EMPTY_FLAG 0b00000001 // 0 0 Rx FIFO is empty
149 
150 // NRF24_REG_DYNPD
151 #define NRF24_DPL_P5_OFF 0b00000000 // 5 5 dynamic payload length on pipe 5: disabled (default)
152 #define NRF24_DPL_P5_ON 0b00100000 // 5 5 enabled
153 #define NRF24_DPL_P4_OFF 0b00000000 // 4 4 dynamic payload length on pipe 4: disabled (default)
154 #define NRF24_DPL_P4_ON 0b00010000 // 4 4 enabled
155 #define NRF24_DPL_P3_OFF 0b00000000 // 3 3 dynamic payload length on pipe 3: disabled (default)
156 #define NRF24_DPL_P3_ON 0b00001000 // 3 3 enabled
157 #define NRF24_DPL_P2_OFF 0b00000000 // 2 2 dynamic payload length on pipe 2: disabled (default)
158 #define NRF24_DPL_P2_ON 0b00000100 // 2 2 enabled
159 #define NRF24_DPL_P1_OFF 0b00000000 // 1 1 dynamic payload length on pipe 1: disabled (default)
160 #define NRF24_DPL_P1_ON 0b00000010 // 1 1 enabled
161 #define NRF24_DPL_P0_OFF 0b00000000 // 0 0 dynamic payload length on pipe 0: disabled (default)
162 #define NRF24_DPL_P0_ON 0b00000001 // 0 0 enabled
163 #define NRF24_DPL_ALL_OFF 0b00000000 // 5 0 disable all dynamic payloads
164 #define NRF24_DPL_ALL_ON 0b00111111 // 5 0 enable all dynamic payloads
165 
166 // NRF24_REG_FEATURE
167 #define NRF24_DPL_OFF 0b00000000 // 2 2 dynamic payload length: disabled (default)
168 #define NRF24_DPL_ON 0b00000100 // 2 2 enabled
169 #define NRF24_ACK_PAY_OFF 0b00000000 // 1 1 payload with ACK packets: disabled (default)
170 #define NRF24_ACK_PAY_ON 0b00000010 // 1 1 enabled
171 #define NRF24_DYN_ACK_OFF 0b00000000 // 0 0 payloads without ACK: disabled (default)
172 #define NRF24_DYN_ACK_ON 0b00000001 // 0 0 enabled
173 
179 class nRF24: public PhysicalLayer {
180  public:
181  // introduce PhysicalLayer overloads
186 
192  nRF24(Module* mod);
193 
194  // basic methods
195 
209  int16_t begin(int16_t freq = 2400, int16_t dataRate = 1000, int8_t power = -12, uint8_t addrWidth = 5);
210 
216  int16_t sleep();
217 
223  int16_t standby() override;
224 
237  int16_t transmit(uint8_t* data, size_t len, uint8_t addr) override;
238 
249  int16_t receive(uint8_t* data, size_t len) override;
250 
258  int16_t transmitDirect(uint32_t frf = 0) override;
259 
265  int16_t receiveDirect() override;
266 
267  // interrupt methods
268 
274  void setIrqAction(void (*func)(void));
275 
288  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr) override;
289 
295  int16_t startReceive();
296 
306  int16_t readData(uint8_t* data, size_t len) override;
307 
308  // configuration methods
309 
317  int16_t setFrequency(int16_t freq);
318 
326  int16_t setDataRate(int16_t dataRate);
327 
335  int16_t setOutputPower(int8_t power);
336 
344  int16_t setAddressWidth(uint8_t addrWidth);
345 
353  int16_t setTransmitPipe(uint8_t* addr);
354 
364  int16_t setReceivePipe(uint8_t pipeNum, uint8_t* addr);
365 
375  int16_t setReceivePipe(uint8_t pipeNum, uint8_t addrByte);
376 
384  int16_t disablePipe(uint8_t pipeNum);
385 
393  int16_t getStatus(uint8_t mask = 0xFF);
394 
400  bool isCarrierDetected();
401 
409  int16_t setFrequencyDeviation(float freqDev) override;
410 
418  size_t getPacketLength(bool update = true) override;
419 
427  int16_t setCrcFiltering(bool crcOn = true);
428 
436  int16_t setAutoAck(bool autoAckOn = true);
437 
447  int16_t setAutoAck(uint8_t pipeNum, bool autoAckOn);
448 
456  int16_t setDataShaping(uint8_t sh) override;
457 
465  int16_t setEncoding(uint8_t encoding) override;
466 
467 #ifndef RADIOLIB_GODMODE
468  private:
469 #endif
470  Module* _mod;
471 
472  uint8_t _addrWidth = 0;
473 
474  int16_t config();
475  void clearIRQ();
476 
477  void SPIreadRxPayload(uint8_t* data, uint8_t numBytes);
478  void SPIwriteTxPayload(uint8_t* data, uint8_t numBytes);
479  void SPItransfer(uint8_t cmd, bool write = false, uint8_t* dataOut = NULL, uint8_t* dataIn = NULL, uint8_t numBytes = 0);
480 };
481 
482 #endif
int16_t setDataRate(int16_t dataRate)
Sets data rate. Allowed values are 2000, 1000 or 250 kbps.
Definition: nRF24.cpp:250
+
int16_t startTransmit(String &str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes.
Definition: PhysicalLayer.cpp:49
+
nRF24(Module *mod)
Default constructor.
Definition: nRF24.cpp:4
+
int16_t receive(uint8_t *data, size_t len) override
Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalL...
Definition: nRF24.cpp:109
+
int16_t setCrcFiltering(bool crcOn=true)
Enable CRC filtering and generation.
Definition: nRF24.cpp:452
+
int16_t transmitDirect(uint32_t frf=0) override
Starts direct mode transmission.
Definition: nRF24.cpp:131
+
int16_t setTransmitPipe(uint8_t *addr)
Sets address of transmit pipe. The address width must be the same as the same as the configured in se...
Definition: nRF24.cpp:332
+
int16_t transmit(uint8_t *data, size_t len, uint8_t addr) override
Blocking binary transmit method. Overloads for string-based transmissions are implemented in Physical...
Definition: nRF24.cpp:78
+
int16_t begin(int16_t freq=2400, int16_t dataRate=1000, int8_t power=-12, uint8_t addrWidth=5)
Initialization method.
Definition: nRF24.cpp:8
+
int16_t getStatus(uint8_t mask=0xFF)
Gets nRF24 status register.
Definition: nRF24.cpp:430
+
int16_t setFrequencyDeviation(float freqDev) override
Dummy configuration method, to ensure PhysicalLayer compatibility.
Definition: nRF24.cpp:438
+
bool isCarrierDetected()
Checks if carrier was detected during last RX.
Definition: nRF24.cpp:434
+
int16_t setDataShaping(uint8_t sh) override
Dummy data shaping configuration method, to ensure PhysicalLayer compatibility.
Definition: nRF24.cpp:492
+
int16_t setFrequency(int16_t freq)
Sets carrier frequency. Allowed values range from 2400 MHz to 2525 MHz.
Definition: nRF24.cpp:242
+
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
+
int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)
Arduino Flash String transmit method.
Definition: PhysicalLayer.cpp:8
+
int16_t receiveDirect() override
Dummy direct mode reception method, to ensure PhysicalLayer compatibility.
Definition: nRF24.cpp:146
+
int16_t sleep()
Sets the module to sleep mode.
Definition: nRF24.cpp:64
+
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:98
+
int16_t setOutputPower(int8_t power)
Sets output power. Allowed values are -18, -12, -6 or 0 dBm.
Definition: nRF24.cpp:272
+
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: nRF24.cpp:445
+
int16_t disablePipe(uint8_t pipeNum)
Disables specified receive pipe.
Definition: nRF24.cpp:399
+
int16_t standby() override
Sets the module to standby mode.
Definition: nRF24.cpp:68
+
int16_t setAutoAck(bool autoAckOn=true)
Enable or disable auto-acknowledge packets on all pipes.
Definition: nRF24.cpp:463
+
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
+
int16_t setAddressWidth(uint8_t addrWidth)
Sets address width of transmit and receive pipes in bytes. Allowed values are 3, 4 or 5 bytes...
Definition: nRF24.cpp:301
+
int16_t readData(uint8_t *data, size_t len) override
Reads data received after calling startReceive method.
Definition: nRF24.cpp:222
+
int16_t startTransmit(uint8_t *data, size_t len, uint8_t addr) override
Interrupt-driven binary transmit method. IRQ will be activated when full packet is transmitted...
Definition: nRF24.cpp:156
+
int16_t setEncoding(uint8_t encoding) override
Dummy encoding configuration method, to ensure PhysicalLayer compatibility.
Definition: nRF24.cpp:499
+
Control class for nRF24 module.
Definition: nRF24.h:179
+
int16_t startReceive()
Interrupt-driven receive method. IRQ will be activated when full packet is received.
Definition: nRF24.cpp:196
+
int16_t setReceivePipe(uint8_t pipeNum, uint8_t *addr)
Sets address of receive pipes 0 or 1. The address width must be the same as the same as the configure...
Definition: nRF24.cpp:347
+
void setIrqAction(void(*func)(void))
Sets interrupt service routine to call when IRQ activates.
Definition: nRF24.cpp:152
+
int16_t readData(String &str, size_t len=0)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:57
+
+
+ + + + diff --git a/nav_f.png b/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U literal 0 HcmV?d00001 diff --git a/nav_g.png b/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/\-/g,'_')); +} + +function stripPath(uri) +{ + return uri.substring(uri.lastIndexOf('/')+1); +} + +function stripPath2(uri) +{ + var i = uri.lastIndexOf('/'); + var s = uri.substring(i+1); + var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; +} + +function hashValue() +{ + return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); +} + +function hashUrl() +{ + return '#'+hashValue(); +} + +function pathName() +{ + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); +} + +function localStorageSupported() +{ + try { + return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + } + catch(e) { + return false; + } +} + + +function storeLink(link) +{ + if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { + window.localStorage.setItem('navpath',link); + } +} + +function deleteLink() +{ + if (localStorageSupported()) { + window.localStorage.setItem('navpath',''); + } +} + +function cachedLink() +{ + if (localStorageSupported()) { + return window.localStorage.getItem('navpath'); + } else { + return ''; + } +} + +function getScript(scriptName,func,show) +{ + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + if ($.browser.msie && $.browser.version<=8) { + // script.onload does not work with older versions of IE + script.onreadystatechange = function() { + if (script.readyState=='complete' || script.readyState=='loaded') { + func(); if (show) showRoot(); + } + } + } + head.appendChild(script); +} + +function createIndent(o,domNode,node,level) +{ + var level=-1; + var n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + var imgNode = document.createElement("img"); + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.width = 16; + imgNode.height = 22; + imgNode.border = 0; + 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.src = node.relpath+"arrowright.png"; + node.expanded = false; + } else { + expandNode(o, node, false, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + imgNode.src = node.relpath+"arrowright.png"; + } else { + var span = document.createElement("span"); + span.style.display = 'inline-block'; + span.style.width = 16*(level+1)+'px'; + span.style.height = '22px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } +} + +var animationInProgress = false; + +function gotoAnchor(anchor,aname,updateLocation) +{ + var pos, docContent = $('#doc-content'); + var ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || + ancParent.hasClass('fieldname') || + ancParent.hasClass('fieldtype') || + ancParent.is(':header')) + { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + var dist = Math.abs(Math.min( + pos-docContent.offset().top, + docContent[0].scrollHeight- + docContent.height()-docContent.scrollTop())); + animationInProgress=true; + docContent.animate({ + scrollTop: pos + docContent.scrollTop() - docContent.offset().top + },Math.max(50,Math.min(500,dist)),function(){ + if (updateLocation) window.location.href=aname; + animationInProgress=false; + }); + } +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + node.expanded = false; + a.appendChild(node.label); + if (link) { + var 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) { + var aname = '#'+link.split('#')[1]; + var srcPage = stripPath(pathName()); + var targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : "javascript:void(0)"; + a.onclick = function(){ + storeLink(link); + if (!$(a).parent().parent().hasClass('selected')) + { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + $(a).parent().parent().addClass('selected'); + $(a).parent().parent().attr('id','selected'); + } + var anchor = $(aname); + gotoAnchor(anchor,aname,true); + }; + } else { + a.href = url; + a.onclick = function() { storeLink(link); } + } + } else { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() { + if (!node.childrenUL) { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + (function (){ // retry until we can scroll to the selected item + try { + var navtree=$('#nav-tree'); + navtree.scrollTo('#selected',0,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); +} + +function expandNode(o, node, imm, showRoot) +{ + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + expandNode(o, node, imm, showRoot); + }, showRoot); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } if (imm || ($.browser.msie && $.browser.version>8)) { + // somehow slideDown jumps to the start of tree for IE9 :-( + $(node.getChildrenUL()).show(); + } else { + $(node.getChildrenUL()).slideDown("fast"); + } + if (node.isLast) { + node.plus_img.src = node.relpath+"arrowdown.png"; + } else { + node.plus_img.src = node.relpath+"arrowdown.png"; + } + node.expanded = true; + } + } +} + +function glowEffect(n,duration) +{ + n.addClass('glow').delay(duration).queue(function(next){ + $(this).removeClass('glow');next(); + }); +} + +function highlightAnchor() +{ + var aname = hashUrl(); + var anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft'){ + var 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 + } + gotoAnchor(anchor,aname,false); +} + +function selectAndHighlight(hash,n) +{ + var a; + if (hash) { + var 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'); + } + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + $('#nav-sync').css('top','30px'); + } else { + $('#nav-sync').css('top','5px'); + } + showRoot(); +} + +function showNode(o, node, index, hash) +{ + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + showNode(o,node,index,hash); + },true); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + node.plus_img.src = node.relpath+"arrowdown.png"; + node.expanded = true; + var n = node.children[o.breadcrumbs[index]]; + if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); + else hash=''; + } + if (hash.match(/^#l\d+$/)) { + var anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + var url=root+hash; + var 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); + } + },true); + } +} + +function showSyncOff(n,relpath) +{ + n.html(''); +} + +function showSyncOn(n,relpath) +{ + n.html(''); +} + +function toggleSyncButton(relpath) +{ + var 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(); + } +} + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + o.node.expanded = false; + o.node.isLast = true; + o.node.plus_img = document.createElement("img"); + o.node.plus_img.src = relpath+"arrowright.png"; + o.node.plus_img.width = 16; + o.node.plus_img.height = 22; + + if (localStorageSupported()) { + var navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + navSync.click(function(){ toggleSyncButton(relpath); }); + } + + $(window).load(function(){ + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + }); + + $(window).bind('hashchange', function(){ + if (window.location.hash && window.location.hash.length>1){ + var a; + if ($(location).attr('hash')){ + var clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM + + + + + +RadioLib: Related Pages + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Related Pages
+
+
+
Here is a list of all related documentation pages:
+ + +
 Todo List
+
+
+
+ + + + diff --git a/resize.js b/resize.js new file mode 100644 index 00000000..2b86c36c --- /dev/null +++ b/resize.js @@ -0,0 +1,97 @@ +var cookie_namespace = 'doxygen'; +var sidenav,navtree,content,header; + +function readCookie(cookie) +{ + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) + { + var index = document.cookie.indexOf(myCookie); + if (index != -1) + { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) + { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; + } + } + return 0; +} + +function writeCookie(cookie, val, expiration) +{ + if (val==undefined) return; + if (expiration == null) + { + var date = new Date(); + date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week + expiration = date.toGMTString(); + } + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; +} + +function resizeWidth() +{ + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+"px"}); + writeCookie('width',sidenavWidth, null); +} + +function restoreWidth(navWidth) +{ + var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+6+"px"}); + sidenav.css({width:navWidth + "px"}); +} + +function resizeHeight() +{ + var headerHeight = header.outerHeight(); + var footerHeight = footer.outerHeight(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + content.css({height:windowHeight + "px"}); + navtree.css({height:windowHeight + "px"}); + sidenav.css({height:windowHeight + "px"}); +} + +function initResizable() +{ + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(window).resize(function() { resizeHeight(); }); + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(document).bind('touchmove',function(e){ + var device = navigator.userAgent.toLowerCase(); + var ios = device.match(/(iphone|ipod|ipad)/); + if (ios) { + try { + var target = e.target; + while (target) { + if ($(target).css('-webkit-overflow-scrolling')=='touch') return; + target = target.parentNode; + } + e.preventDefault(); + } catch(err) { + e.preventDefault(); + } + } + }); +} + + diff --git a/search/all_0.html b/search/all_0.html new file mode 100644 index 00000000..d54e0bd8 --- /dev/null +++ b/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_0.js b/search/all_0.js new file mode 100644 index 00000000..62aacd1c --- /dev/null +++ b/search/all_0.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['afskclient',['AFSKClient',['../class_a_f_s_k_client.html',1,'AFSKClient'],['../class_a_f_s_k_client.html#acfe53917bcba7f79611e01865c42fefd',1,'AFSKClient::AFSKClient()']]], + ['atemptybuffer',['ATemptyBuffer',['../class_module.html#ad5767216ba9340ae6d86915b12e89bd6',1,'Module']]], + ['atgetresponse',['ATgetResponse',['../class_module.html#ad1aadc2b52eea2bf9d26591091eec3f1',1,'Module']]], + ['atlinefeed',['AtLineFeed',['../class_module.html#a9d8ab2ff353bad5d0e7568d300a48ba0',1,'Module']]], + ['atsendcommand',['ATsendCommand',['../class_module.html#a5c09c878b55f56990dd0c2972a3440c4',1,'Module']]], + ['atsenddata',['ATsendData',['../class_module.html#a623aee6405b330b7c935013ff3d01100',1,'Module']]], + ['attachinterrupt',['attachInterrupt',['../class_module.html#a91aaa34aecdfeaf24948551b037033be',1,'Module']]], + ['autoldro',['autoLDRO',['../class_s_x126x.html#ab9ce38cfeaa36ddcc2d82b2974d7088c',1,'SX126x::autoLDRO()'],['../class_s_x1272.html#abb4bbfe8acc6026c833d267d78417b63',1,'SX1272::autoLDRO()'],['../class_s_x1278.html#ae02adcde8c2978c0d1b157729dd5df1e',1,'SX1278::autoLDRO()']]], + ['available',['available',['../class_x_bee.html#a5ecae4c93f7aaaf85146f75eebd38891',1,'XBee']]], + ['ax25client',['AX25Client',['../class_a_x25_client.html',1,'AX25Client'],['../class_a_x25_client.html#ab074563d4d22a42d5ea9ad1693d6f373',1,'AX25Client::AX25Client(PhysicalLayer *phy)'],['../class_a_x25_client.html#a6e81e629817cdf1b377e4b4f7e4d6520',1,'AX25Client::AX25Client(AFSKClient *audio)']]], + ['ax25frame',['AX25Frame',['../class_a_x25_frame.html',1,'AX25Frame'],['../class_a_x25_frame.html#a138d97d90a371bef7ebd86cce1cc4979',1,'AX25Frame::AX25Frame(const char *destCallsign, uint8_t destSSID, const char *srcCallsign, uint8_t srcSSID, uint8_t control)'],['../class_a_x25_frame.html#a60e1b318d6e4b9299a4eab72e40877fc',1,'AX25Frame::AX25Frame(const char *destCallsign, uint8_t destSSID, const char *srcCallsign, uint8_t srcSSID, uint8_t control, uint8_t protocolID, const char *info)'],['../class_a_x25_frame.html#a3899b8698d772b8285629d6a4f2a642a',1,'AX25Frame::AX25Frame(const char *destCallsign, uint8_t destSSID, const char *srcCallsign, uint8_t srcSSID, uint8_t control, uint8_t protocolID, uint8_t *info, uint16_t infoLen)'],['../class_a_x25_frame.html#a25b83cc9c281d2758165833fe238fe0e',1,'AX25Frame::AX25Frame(const AX25Frame &frame)']]] +]; diff --git a/search/all_1.html b/search/all_1.html new file mode 100644 index 00000000..8cc6a1de --- /dev/null +++ b/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_1.js b/search/all_1.js new file mode 100644 index 00000000..b0a0e62f --- /dev/null +++ b/search/all_1.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['baudrate',['baudrate',['../class_module.html#a128ead3f3198e3b06d39a128a5d6c777',1,'Module']]], + ['begin',['begin',['../class_c_c1101.html#adcf6b5c4e1a066d6b9be326a9ee04284',1,'CC1101::begin()'],['../class_e_s_p8266.html#ae25a6901976a548443e2b7d49ca94d9b',1,'ESP8266::begin()'],['../class_h_c05.html#a83cf61ee5a79c06f43861a6e5a8a15b6',1,'HC05::begin()'],['../class_j_d_y08.html#a6fca03bb9f163c16d193904beac6b0b1',1,'JDY08::begin()'],['../classn_r_f24.html#a60eb59262c5004b587b1d8177706ff28',1,'nRF24::begin()'],['../class_r_f69.html#a4d0dea965aba1017a660c9478ec57560',1,'RF69::begin()'],['../class_r_f_m95.html#a9fd59fdec8591334cfa02514ca7aabf6',1,'RFM95::begin()'],['../class_r_f_m96.html#a959e10f61fd3fdfc013733bd6c081335',1,'RFM96::begin()'],['../class_si4430.html#a8e17e67d0d3dd9b478be964be8647ca7',1,'Si4430::begin()'],['../class_si4431.html#ab9d7e3e4d0191dff2a1483bcfa555ac4',1,'Si4431::begin()'],['../class_si4432.html#a0791a0d720bbe38030ba6ed95a383b71',1,'Si4432::begin()'],['../class_si443x.html#a453eda5436dc4dfe0dad676dc3977752',1,'Si443x::begin()'],['../class_s_x1231.html#a20d6eb4b8f18fb7f8d02967937ec6f8e',1,'SX1231::begin()'],['../class_s_x1262.html#abb79631385e5bc3ed5b39fe33b80cc2b',1,'SX1262::begin()'],['../class_s_x1268.html#a19554c257984c0806ae95ee209dfa296',1,'SX1268::begin()'],['../class_s_x126x.html#a1b97488c6887df2e0291bba1b852605e',1,'SX126x::begin()'],['../class_s_x1272.html#aaa5a787164fb216c12b8dea4d810f7f3',1,'SX1272::begin()'],['../class_s_x1273.html#adf46338bf36c2d43e591426ae7b6082a',1,'SX1273::begin()'],['../class_s_x1276.html#af8c818f27a8b9f964cee23cc1f397f94',1,'SX1276::begin()'],['../class_s_x1277.html#aa2b5816c06cd644fd33171ee61cf325b',1,'SX1277::begin()'],['../class_s_x1278.html#af7d9dc775820f7b260b578908cea3dbe',1,'SX1278::begin()'],['../class_s_x1279.html#a86e675a0c6f5970370ae6a9b1be27167',1,'SX1279::begin()'],['../class_s_x127x.html#a5da8218f69e3bf52df389a0480f8b430',1,'SX127x::begin()'],['../class_s_x128x.html#a520bb5a5daa1fee6c0d6704fa929cf35',1,'SX128x::begin()'],['../class_x_bee_serial.html#ac184a4dec32eaeafdb8e68079c3fd932',1,'XBeeSerial::begin()'],['../class_x_bee.html#a84b4593723cab4d5ce14e2bf4ee6dbe4',1,'XBee::begin()'],['../class_a_x25_client.html#a38be2b9385e4804339b3e4b57b90c2ca',1,'AX25Client::begin()'],['../class_hell_client.html#a225775fe87f9ed3c3a04142697641242',1,'HellClient::begin()'],['../class_morse_client.html#a516f19bb51b87ead7f7ed149f2ca92cf',1,'MorseClient::begin()'],['../class_r_t_t_y_client.html#ad8856bc336b9a70f8239084740c22c10',1,'RTTYClient::begin()'],['../class_s_s_t_v_client.html#a3d85be3941250366eec2cd9a147a4f5c',1,'SSTVClient::begin(float base, const SSTVMode_t &mode, float correction=1.0)'],['../class_s_s_t_v_client.html#a8606cf73f86f6f1b29cea9ae9b46c81e',1,'SSTVClient::begin(const SSTVMode_t &mode, float correction=1.0)']]], + ['beginble',['beginBLE',['../class_s_x128x.html#a316340d7ba2a6e7cb5742e3ff21e728c',1,'SX128x']]], + ['beginflrc',['beginFLRC',['../class_s_x128x.html#ac7df67afbb0b1a88daf5ec50f3d65660',1,'SX128x']]], + ['beginfsk',['beginFSK',['../class_s_x1262.html#ac1da6cc500564bc257031527cc54c80b',1,'SX1262::beginFSK()'],['../class_s_x1268.html#a6523b6928ee5ed26e205b07ee4f07b60',1,'SX1268::beginFSK()'],['../class_s_x126x.html#a2e500e5b6044ccab8f6b19af4ffa917c',1,'SX126x::beginFSK()'],['../class_s_x1272.html#a2ee9fb48eeaf41876de00d3774be78cf',1,'SX1272::beginFSK()'],['../class_s_x1276.html#a4154b0ed21583ab37eaf52225d156ad8',1,'SX1276::beginFSK()'],['../class_s_x1277.html#a1205719d59b2935ae9b1c953fa23509a',1,'SX1277::beginFSK()'],['../class_s_x1278.html#a33dc718c83c233a1f93d6bdf2ec31783',1,'SX1278::beginFSK()'],['../class_s_x1279.html#a94a6c5f49eb8f26b7eeb1d5ee258f089',1,'SX1279::beginFSK()'],['../class_s_x127x.html#add78edb65673d9e88931a55b0672a9f3',1,'SX127x::beginFSK()']]], + ['begingfsk',['beginGFSK',['../class_s_x128x.html#a8dd8ce38bc9d0d8dbd711b373e864e93',1,'SX128x']]], + ['bytearr',['byteArr',['../class_i_t_a2_string.html#a3f42f7ad98473dbe36515e676622ed3d',1,'ITA2String']]] +]; diff --git a/search/all_10.html b/search/all_10.html new file mode 100644 index 00000000..c25484f2 --- /dev/null +++ b/search/all_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_10.js b/search/all_10.js new file mode 100644 index 00000000..e635c788 --- /dev/null +++ b/search/all_10.js @@ -0,0 +1,102 @@ +var searchData= +[ + ['scanchannel',['scanChannel',['../class_s_x126x.html#ae9f24414bd684434c310df54b3558f21',1,'SX126x::scanChannel()'],['../class_s_x127x.html#ada007b90821258fe8c6ca7f8ae3efed5',1,'SX127x::scanChannel()'],['../class_s_x128x.html#a89cc916f5cd5cdfbd331bb15f8a3d5cb',1,'SX128x::scanChannel()']]], + ['scanpixellen',['scanPixelLen',['../struct_s_s_t_v_mode__t.html#a991e84b2b6f696ec2390f2c3f8cb9694',1,'SSTVMode_t']]], + ['send',['send',['../class_e_s_p8266.html#a1caaa537edd52d1c2b7a0a25ef69c1c9',1,'ESP8266::send(const char *data) override'],['../class_e_s_p8266.html#a2f34474953b7dbe4d057c8e3f65e0dc4',1,'ESP8266::send(uint8_t *data, size_t len) override'],['../class_transport_layer.html#a1d9cb76640868aa0338b52808e4f022d',1,'TransportLayer::send(const char *data)=0'],['../class_transport_layer.html#afb001c6348bc19694090532cc5f00e52',1,'TransportLayer::send(uint8_t *data, size_t len)=0']]], + ['sendframe',['sendFrame',['../class_a_x25_client.html#a341db993853c6817a8f6c7087ead0ba6',1,'AX25Client']]], + ['sendheader',['sendHeader',['../class_s_s_t_v_client.html#a30741de183c81492402187b9d6d8c11e',1,'SSTVClient']]], + ['sendline',['sendLine',['../class_s_s_t_v_client.html#a772bfc68ac0a5f723c1031138dc27bd0',1,'SSTVClient']]], + ['sendseqnumber',['sendSeqNumber',['../class_a_x25_frame.html#a4c0fdf148d3b779d48441d45af87add2',1,'AX25Frame']]], + ['setaccessaddress',['setAccessAddress',['../class_s_x128x.html#a9346490a6c56edcff2e12ae0369a8df5',1,'SX128x']]], + ['setaddresswidth',['setAddressWidth',['../classn_r_f24.html#a5b01677f5ce6bee54da8fc7098c339f4',1,'nRF24']]], + ['setaeskey',['setAESKey',['../class_r_f69.html#abe5b378d7cc274fd8b75881e7d604bf3',1,'RF69']]], + ['setambienttemperature',['setAmbientTemperature',['../class_r_f69.html#ac37d9ddee2adcc8876a182b8ebc3e703',1,'RF69']]], + ['setautoack',['setAutoAck',['../classn_r_f24.html#aca941c9235ba1212257288554eb4b7fe',1,'nRF24::setAutoAck(bool autoAckOn=true)'],['../classn_r_f24.html#ac1c3419442d93abeede39e7fda4db62e',1,'nRF24::setAutoAck(uint8_t pipeNum, bool autoAckOn)']]], + ['setbandwidth',['setBandwidth',['../class_s_x126x.html#a2f60df59c80241d98ce078c0417a7f08',1,'SX126x::setBandwidth()'],['../class_s_x1272.html#a0cc8eeb00241031796fc73b08711469b',1,'SX1272::setBandwidth()'],['../class_s_x1278.html#a46c27ed1ebaae4e3ed8afe3ae6941dd6',1,'SX1278::setBandwidth()'],['../class_s_x128x.html#ae93c99c85deb950fe9bc7101142b5f6a',1,'SX128x::setBandwidth()']]], + ['setbitrate',['setBitRate',['../class_c_c1101.html#aa53427cabcda0778f287ed1d850bbe37',1,'CC1101::setBitRate()'],['../class_r_f69.html#ad7f8132912a5dbf38c5cf676ac167d13',1,'RF69::setBitRate()'],['../class_si443x.html#ad43575e731dd7e66d5ad9e6dccd27170',1,'Si443x::setBitRate()'],['../class_s_x126x.html#a7deeef45d7f64a4018a3e56aaea4eb0e',1,'SX126x::setBitRate()'],['../class_s_x127x.html#a606d839b3a992c681ac9ad7ca6020022',1,'SX127x::setBitRate()'],['../class_s_x128x.html#a3bee00ec197ef9855c0079cb0a3009a6',1,'SX128x::setBitRate()']]], + ['setbroadcastaddress',['setBroadcastAddress',['../class_r_f69.html#a1b7598b87ffaabdbe733c47317fa91d8',1,'RF69::setBroadcastAddress()'],['../class_s_x126x.html#abd8eea7e468db3d6064c19d4934d5034',1,'SX126x::setBroadcastAddress()'],['../class_s_x127x.html#abc51ce6718153e4963128f25bb5aab40',1,'SX127x::setBroadcastAddress()']]], + ['setcodingrate',['setCodingRate',['../class_s_x126x.html#afd3113858966e878e9c67a1e710bd586',1,'SX126x::setCodingRate()'],['../class_s_x1272.html#a960913438feccad4c1913a9222384a5f',1,'SX1272::setCodingRate()'],['../class_s_x1278.html#a834f26a0bd3fc8a03fa7e68aa4daf9e1',1,'SX1278::setCodingRate()'],['../class_s_x128x.html#a9da544e4a6120f73a078b46c6138505a',1,'SX128x::setCodingRate()']]], + ['setcrc',['setCRC',['../class_s_x126x.html#a95007639c2648a1dbb614493224606f1',1,'SX126x::setCRC()'],['../class_s_x1272.html#a5a57abb0bc9f474452ffb828b13d1efb',1,'SX1272::setCRC()'],['../class_s_x1278.html#adf0b0d628c7f7479f19c153732363462',1,'SX1278::setCRC()'],['../class_s_x128x.html#aa4b1e0b96347011522e053f30202c0fe',1,'SX128x::setCRC()']]], + ['setcrcfiltering',['setCrcFiltering',['../class_c_c1101.html#aafac40359c4a1bb01aae12da6b03be26',1,'CC1101::setCrcFiltering()'],['../classn_r_f24.html#a3eb45884a5730ac1c339c7ba4f7b5282',1,'nRF24::setCrcFiltering()'],['../class_r_f69.html#ac205bc487833dc4eae4bb0069c0c4d1e',1,'RF69::setCrcFiltering()']]], + ['setcurrentlimit',['setCurrentLimit',['../class_s_x126x.html#a8f971dca834be7e0470a9a9f0c01854e',1,'SX126x::setCurrentLimit()'],['../class_s_x127x.html#a400575e3d83977bd250c5cb382fc7002',1,'SX127x::setCurrentLimit()']]], + ['setdatarate',['setDataRate',['../classn_r_f24.html#a1f3ec2196733a2e2476f50690967f285',1,'nRF24']]], + ['setdatashaping',['setDataShaping',['../class_c_c1101.html#adf96e77f25b7e256891601bef04f35a6',1,'CC1101::setDataShaping()'],['../classn_r_f24.html#a0db248d2bcdb4ca2b401e8e638442916',1,'nRF24::setDataShaping()'],['../class_r_f69.html#a42b99e437454e92c6932c3b7acc1fc4a',1,'RF69::setDataShaping()'],['../class_si443x.html#ade08c79074c7e4414d34eefa25cee168',1,'Si443x::setDataShaping()'],['../class_s_x126x.html#a1d8f4deb555844b24c2426dd86e69676',1,'SX126x::setDataShaping()'],['../class_s_x1272.html#a91aca64124321c07a67f26b3c6934aea',1,'SX1272::setDataShaping()'],['../class_s_x1278.html#afb740a4925b64d83d5edca10d93f0563',1,'SX1278::setDataShaping()'],['../class_s_x128x.html#a99491c705e88dddc820f884b778f1660',1,'SX128x::setDataShaping()'],['../class_physical_layer.html#ab643a814dce48f71a13bf6ea23f44cbd',1,'PhysicalLayer::setDataShaping()']]], + ['setdatashapingook',['setDataShapingOOK',['../class_s_x1272.html#a3a377445cb4b8fd41781a3210a819a47',1,'SX1272::setDataShapingOOK()'],['../class_s_x1278.html#a1ccc4d5062f739d534ab22562c7efca4',1,'SX1278::setDataShapingOOK()']]], + ['setdestinationaddress',['setDestinationAddress',['../class_x_bee_serial.html#ae485a8ebeaf574ffe0c2c56a61583f13',1,'XBeeSerial']]], + ['setdio0action',['setDio0Action',['../class_r_f69.html#a9e50a1183d13ff9984f8438a7e9e4a77',1,'RF69::setDio0Action()'],['../class_s_x127x.html#ada53419d65f207f352124da7747c5960',1,'SX127x::setDio0Action()']]], + ['setdio1action',['setDio1Action',['../class_r_f69.html#aa72ad2ac5238bd87886684064b7494cf',1,'RF69::setDio1Action()'],['../class_s_x126x.html#a0da667fe702d7b4aafaa4bf7e69ea40d',1,'SX126x::setDio1Action()'],['../class_s_x127x.html#afc844f7f3530f4076c8ea5f684c1b123',1,'SX127x::setDio1Action()'],['../class_s_x128x.html#a0759fb31b3ce5bf1c832259c9c2245ed',1,'SX128x::setDio1Action()']]], + ['setdio2asrfswitch',['setDio2AsRfSwitch',['../class_s_x126x.html#ae46e08d579f4acbad029b4cd4f4fffaf',1,'SX126x']]], + ['setencoding',['setEncoding',['../class_c_c1101.html#ab4b98eb6af33d006306bb7514ed216ea',1,'CC1101::setEncoding()'],['../classn_r_f24.html#a0429a9d6524005065e6fac21aaebdcbf',1,'nRF24::setEncoding()'],['../class_r_f69.html#aae828ce8dda16da4e54d2f18b1fb8af2',1,'RF69::setEncoding()'],['../class_si443x.html#a1382fc3b68f447e381613e6670747128',1,'Si443x::setEncoding()'],['../class_s_x126x.html#a2b3eb51117558c58384b03de4b7bfe60',1,'SX126x::setEncoding()'],['../class_s_x127x.html#abad2d455012bd28d304589c8164390eb',1,'SX127x::setEncoding()'],['../class_s_x128x.html#a8720a388d2cd10fac3112b89f4a80947',1,'SX128x::setEncoding()'],['../class_physical_layer.html#a7d3419227d201d6912b77784636d437d',1,'PhysicalLayer::setEncoding()']]], + ['setfrequency',['setFrequency',['../class_c_c1101.html#a9592c023556c38c2b8066a23da96ae5e',1,'CC1101::setFrequency()'],['../classn_r_f24.html#abec5f9dba44a019e23c8bf516f104fad',1,'nRF24::setFrequency()'],['../class_r_f69.html#ab467f0fc318e651d0cdfbc0399d4c34b',1,'RF69::setFrequency()'],['../class_r_f_m95.html#a9dbe60f998ddc661282ebf454dba0f87',1,'RFM95::setFrequency()'],['../class_r_f_m96.html#ae2be63ae8365648098b84cc86475fb84',1,'RFM96::setFrequency()'],['../class_si4430.html#a025a31861d1511090168e416140d0343',1,'Si4430::setFrequency()'],['../class_si4432.html#aa0cdb6cb53bb0176803d5115356a8e84',1,'Si4432::setFrequency()'],['../class_s_x1262.html#a7e72da22fa1fc2d87186107a3285e846',1,'SX1262::setFrequency()'],['../class_s_x1268.html#a6ad998275281de5c6f24f8a64db88052',1,'SX1268::setFrequency()'],['../class_s_x1272.html#af409f50e51042cf9357c0a8267f762f8',1,'SX1272::setFrequency()'],['../class_s_x1276.html#a657d75dced0af8c89c4e38535dd5b008',1,'SX1276::setFrequency()'],['../class_s_x1277.html#a42adde5eecccdca95214980848795e82',1,'SX1277::setFrequency()'],['../class_s_x1278.html#a4b14d432ef1bd72982f4771cac5b62e4',1,'SX1278::setFrequency()'],['../class_s_x1279.html#acf9b2087f5b661f06e9512bad36b3817',1,'SX1279::setFrequency()'],['../class_s_x128x.html#a2043ef7bb806968b9d9dcb64561ca371',1,'SX128x::setFrequency()']]], + ['setfrequencydeviation',['setFrequencyDeviation',['../class_c_c1101.html#a0d69713b9f20c9de354c13c3167b18b3',1,'CC1101::setFrequencyDeviation()'],['../classn_r_f24.html#a5170284f0a5535de7d00216d450b87a4',1,'nRF24::setFrequencyDeviation()'],['../class_r_f69.html#adb9fbfedf95f34ac537815870b98a9be',1,'RF69::setFrequencyDeviation()'],['../class_si443x.html#a7c4e6caa95e5622f6f515ba0339a1c66',1,'Si443x::setFrequencyDeviation()'],['../class_s_x126x.html#a7cd95a5f2e39ae8fb1a3040e77fa21a3',1,'SX126x::setFrequencyDeviation()'],['../class_s_x127x.html#a448ea8a6a6011a9cdddd4e09bd6c9679',1,'SX127x::setFrequencyDeviation()'],['../class_s_x128x.html#a26d0d02e5e53a3172df9208fa343a3f1',1,'SX128x::setFrequencyDeviation()'],['../class_physical_layer.html#ab9060e8ab7a2da192b3bf53b3501553b',1,'PhysicalLayer::setFrequencyDeviation()']]], + ['setgain',['setGain',['../class_s_x1272.html#ae1c57ad5e8496dc28cd3ba9852809852',1,'SX1272::setGain()'],['../class_s_x1278.html#aa57b713988cfa224a6db2ff325052931',1,'SX1278::setGain()']]], + ['setgdo0action',['setGdo0Action',['../class_c_c1101.html#a6dfd6a57cdbb3196ad021b152b0c65ed',1,'CC1101']]], + ['setgdo2action',['setGdo2Action',['../class_c_c1101.html#ac6338c2f5c937a12dac06069944ffb77',1,'CC1101']]], + ['setirqaction',['setIrqAction',['../classn_r_f24.html#abf9323748b1a850e6ddc6f6d48f4cfb3',1,'nRF24::setIrqAction()'],['../class_si443x.html#a801b51059e61f93d4e01ae6ba8eb0726',1,'Si443x::setIrqAction()']]], + ['setnodeaddress',['setNodeAddress',['../class_c_c1101.html#a6e62914790f132816134fc68c2bb5eb8',1,'CC1101::setNodeAddress()'],['../class_r_f69.html#ab9c217d5ece259950780a05c6e41f75c',1,'RF69::setNodeAddress()'],['../class_s_x126x.html#a514cabe74bbe3434d7e4f244c4077752',1,'SX126x::setNodeAddress()'],['../class_s_x127x.html#ab99630d50672b43fc7162ba8f3293f95',1,'SX127x::setNodeAddress()']]], + ['setook',['setOOK',['../class_c_c1101.html#afa64d1ad4789d3146b38d14437234756',1,'CC1101::setOOK()'],['../class_s_x127x.html#a24ef0af19a6b8954f956a3c3ad4286ee',1,'SX127x::setOOK()']]], + ['setoutputpower',['setOutputPower',['../class_c_c1101.html#ac3ff8051af5ca50c349e02257f1a3bda',1,'CC1101::setOutputPower()'],['../classn_r_f24.html#a824453d547c0b42ac1988acb42032ca4',1,'nRF24::setOutputPower()'],['../class_r_f69.html#a998ddd21fc152d835c6f1b8d31b02fcc',1,'RF69::setOutputPower()'],['../class_si4430.html#af8d615431bf66e06b45487f3fff73d16',1,'Si4430::setOutputPower()'],['../class_si4431.html#a4da296b35056e076ff69a288bd801d19',1,'Si4431::setOutputPower()'],['../class_si4432.html#a8b26e2c86a9e5e8f6405f0a57b65caca',1,'Si4432::setOutputPower()'],['../class_s_x1261.html#aa541f927995a1756c651b93fd24edc65',1,'SX1261::setOutputPower()'],['../class_s_x1262.html#aa149463283dc9cddfec836ec6620d4dc',1,'SX1262::setOutputPower()'],['../class_s_x1268.html#a5b0744aa46fbb4f8c738b010dfcc9b45',1,'SX1268::setOutputPower()'],['../class_s_x1272.html#ae3596f303714509f552d98321bdfce5c',1,'SX1272::setOutputPower()'],['../class_s_x1278.html#a8eeac64472fa70ed5e51f35d581f37ea',1,'SX1278::setOutputPower()'],['../class_s_x128x.html#ad6e2b46c317a8d8512cf0380025147a9',1,'SX128x::setOutputPower()']]], + ['setpanid',['setPanId',['../class_x_bee_serial.html#ad429a47dc445765d2dec7ff64b922306',1,'XBeeSerial::setPanId()'],['../class_x_bee.html#a88745c61a1dc2d1139c34d6cc385d35b',1,'XBee::setPanId()']]], + ['setpreamblelength',['setPreambleLength',['../class_c_c1101.html#acbfa80f431f335d5597500319f0affa8',1,'CC1101::setPreambleLength()'],['../class_r_f69.html#a7c84b3f881cad6e05b0f4f68c24496d9',1,'RF69::setPreambleLength()'],['../class_si443x.html#a4821a6141caf16141074615c976ecd91',1,'Si443x::setPreambleLength()'],['../class_s_x126x.html#ab00f765bbfbfaa8c693532ea3a90c29b',1,'SX126x::setPreambleLength()'],['../class_s_x127x.html#ab608c45e0dcc44280df29580dc0a31ed',1,'SX127x::setPreambleLength()'],['../class_s_x128x.html#a1984a405262f155f16a4759c5f6b0133',1,'SX128x::setPreambleLength()']]], + ['setpromiscuousmode',['setPromiscuousMode',['../class_c_c1101.html#a2911d49d1c293542f7a374c9af60df0e',1,'CC1101::setPromiscuousMode()'],['../class_r_f69.html#a6d90ad1d455de045c53c5758babd876c',1,'RF69::setPromiscuousMode()']]], + ['setreceivepipe',['setReceivePipe',['../classn_r_f24.html#a31bcc5a8c3747bf08a273dbdadc5481a',1,'nRF24::setReceivePipe(uint8_t pipeNum, uint8_t *addr)'],['../classn_r_f24.html#ab5bc08aef88d8cf41c38369044005da8',1,'nRF24::setReceivePipe(uint8_t pipeNum, uint8_t addrByte)']]], + ['setrecvsequence',['setRecvSequence',['../class_a_x25_frame.html#a4696a8eede8bac85f0ee6de6fee79ea8',1,'AX25Frame']]], + ['setregulatordcdc',['setRegulatorDCDC',['../class_s_x126x.html#a5ae69309ca0cf5f13c60f2d162916ff8',1,'SX126x']]], + ['setregulatorldo',['setRegulatorLDO',['../class_s_x126x.html#a21c263ce1a339faa74c568d9afb81cd2',1,'SX126x']]], + ['setrepeaters',['setRepeaters',['../class_a_x25_frame.html#a7f2d9f4f1ba29d0fd9f9f3f2cf03f797',1,'AX25Frame']]], + ['setrfswitchpins',['setRfSwitchPins',['../class_module.html#a0ecbb4e1e98094c1296b1e823dc14703',1,'Module::setRfSwitchPins()'],['../class_c_c1101.html#a45ab4e3f4f9db367185333d36ba21ed2',1,'CC1101::setRfSwitchPins()'],['../class_r_f69.html#aada7c48828b950cdfd260594d502b03d',1,'RF69::setRfSwitchPins()'],['../class_si443x.html#ae365087803b88b29932b5c793edff1d4',1,'Si443x::setRfSwitchPins()'],['../class_s_x126x.html#a288257242e483cb3eb6944333179dd26',1,'SX126x::setRfSwitchPins()'],['../class_s_x127x.html#ae9781180418c1ec9c365b74acbc98d8a',1,'SX127x::setRfSwitchPins()'],['../class_s_x128x.html#a5f11803b3430bc059321b443f407e78b',1,'SX128x::setRfSwitchPins()']]], + ['setrfswitchstate',['setRfSwitchState',['../class_module.html#a4a87d59ad2bf6bb1bb9de1856a81b824',1,'Module']]], + ['setrssiconfig',['setRSSIConfig',['../class_s_x127x.html#ad3955f85f456edae772a51025a19029b',1,'SX127x']]], + ['setrxbandwidth',['setRxBandwidth',['../class_c_c1101.html#a381d0059d7a0ccd8a2f54d7d3376f9b6',1,'CC1101::setRxBandwidth()'],['../class_r_f69.html#a735d8f22095a7e69471d73ca021b9d1a',1,'RF69::setRxBandwidth()'],['../class_si443x.html#a51e6b7c677e82042224798114f311175',1,'Si443x::setRxBandwidth()'],['../class_s_x126x.html#a59d443c02d4620cda32c63a00c6bcc22',1,'SX126x::setRxBandwidth()'],['../class_s_x127x.html#a2cc53b9f9d90647c5709cb974779cf53',1,'SX127x::setRxBandwidth()']]], + ['setsendsequence',['setSendSequence',['../class_a_x25_frame.html#a026e9b96fa69018590fcf6842df8be70',1,'AX25Frame']]], + ['setspreadingfactor',['setSpreadingFactor',['../class_r_f_m97.html#ae8d0ead424c0c9950ad9d5b7132bdf67',1,'RFM97::setSpreadingFactor()'],['../class_s_x126x.html#ae5993359ace652fbdc862eb23fdd263d',1,'SX126x::setSpreadingFactor()'],['../class_s_x1272.html#a82084ac58502c83d2ada998410307490',1,'SX1272::setSpreadingFactor()'],['../class_s_x1273.html#a1dbc5a0847c2b62d2ec5fc439ddfec3f',1,'SX1273::setSpreadingFactor()'],['../class_s_x1277.html#a1df27f0b0b6e5b308879875e4d8306cf',1,'SX1277::setSpreadingFactor()'],['../class_s_x1278.html#af70c22fe38bc3b944070ccbc083fed08',1,'SX1278::setSpreadingFactor()'],['../class_s_x128x.html#ae435f57132f76f4283abb870176acf54',1,'SX128x::setSpreadingFactor()']]], + ['setsyncbits',['setSyncBits',['../class_s_x126x.html#ac594fbb30c5010658c970a64654c7162',1,'SX126x']]], + ['setsyncword',['setSyncWord',['../class_c_c1101.html#a433f1a40b33be6c84d3665a1b4cd57d6',1,'CC1101::setSyncWord(uint8_t syncH, uint8_t syncL, uint8_t maxErrBits=0, bool requireCarrierSense=false)'],['../class_c_c1101.html#ab89b0932dbacadc34d049a2bd2292001',1,'CC1101::setSyncWord(uint8_t *syncWord, uint8_t len, uint8_t maxErrBits=0, bool requireCarrierSense=false)'],['../class_r_f69.html#a26667d50ec845c28e17236c69c886561',1,'RF69::setSyncWord()'],['../class_si443x.html#a4ed0da298c2418db4a88a19ef8938e0a',1,'Si443x::setSyncWord()'],['../class_s_x126x.html#a9d92dce566f8aefa836fe8f332e9560f',1,'SX126x::setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)'],['../class_s_x126x.html#a38e6d7831f35893a5b8328c10a2901bf',1,'SX126x::setSyncWord(uint8_t *syncWord, uint8_t len)'],['../class_s_x127x.html#ac5c7f4584352a12390594395d9c29bde',1,'SX127x::setSyncWord(uint8_t syncWord)'],['../class_s_x127x.html#a9b7afe338fd5b81122c369ecaf0c3ebc',1,'SX127x::setSyncWord(uint8_t *syncWord, size_t len)'],['../class_s_x128x.html#a0efa595867624a54153d693d16f9f731',1,'SX128x::setSyncWord()']]], + ['settcxo',['setTCXO',['../class_s_x126x.html#a57bee6f4b3a3b7ec646ac8de347ee0d6',1,'SX126x']]], + ['settransmitpipe',['setTransmitPipe',['../classn_r_f24.html#aa0e1f2dddf810213410a420205bbd8af',1,'nRF24']]], + ['setwhitening',['setWhitening',['../class_s_x126x.html#a67702de41ae866b9f9d73234fc9ae376',1,'SX126x::setWhitening()'],['../class_s_x128x.html#a8b3eea268f21bf911b6eaf37c5eb0b5f',1,'SX128x::setWhitening()']]], + ['shield_20configuration',['Shield Configuration',['../group__shield__config.html',1,'']]], + ['si4430',['Si4430',['../class_si4430.html',1,'Si4430'],['../class_si4430.html#ac5ac1122e863a92b374a71e8880e16d9',1,'Si4430::Si4430()']]], + ['si4431',['Si4431',['../class_si4431.html',1,'Si4431'],['../class_si4431.html#a332bfd2a32dea9ac0700bf172fe5b2d0',1,'Si4431::Si4431()']]], + ['si4432',['Si4432',['../class_si4432.html',1,'Si4432'],['../class_si4432.html#afb1f1ae46d04788aa42f6276efd231ac',1,'Si4432::Si4432()']]], + ['si443x',['Si443x',['../class_si443x.html',1,'Si443x'],['../class_si443x.html#ae7cfff2efebfa01c8a50a5cbbe8775b9',1,'Si443x::Si443x()']]], + ['sleep',['sleep',['../classn_r_f24.html#a033287e33c532638c11e2775a073f297',1,'nRF24::sleep()'],['../class_r_f69.html#a472a04041551cb38d2223fb34f71d8eb',1,'RF69::sleep()'],['../class_si443x.html#ada90718aeb67d7f0e9899da534de9695',1,'Si443x::sleep()'],['../class_s_x126x.html#afb5509f0705cdd971065251ed6b2fb4e',1,'SX126x::sleep()'],['../class_s_x127x.html#a44501ec8f8ac6084467b94516b1337df',1,'SX127x::sleep()'],['../class_s_x128x.html#a1d15e13e15b060ddbbe84257d5fcb66f',1,'SX128x::sleep()']]], + ['spigetregvalue',['SPIgetRegValue',['../class_module.html#ad7ca9ae5a22cdacdf9437ca9cd37c9b4',1,'Module']]], + ['spireadcommand',['SPIreadCommand',['../class_module.html#a849ad85fc1bc3a7130e660c13973ab26',1,'Module']]], + ['spireadregister',['SPIreadRegister',['../class_module.html#a1d1a279cc7e1ab92e30c29c4dcca26a3',1,'Module']]], + ['spireadregisterburst',['SPIreadRegisterBurst',['../class_module.html#a6fa5239d73379e4140f5c4f513b1b8d2',1,'Module']]], + ['spisetregvalue',['SPIsetRegValue',['../class_module.html#a87ca265fa2d1fe7c251b4230ef6bd6ca',1,'Module']]], + ['spitransfer',['SPItransfer',['../class_module.html#aefd955f1cd6d588b2cc229db87cb2121',1,'Module']]], + ['spiwritecommand',['SPIwriteCommand',['../class_module.html#ae89764d15e8df5694a6aec0e18f72d3f',1,'Module']]], + ['spiwriteregister',['SPIwriteRegister',['../class_module.html#ab814614ddd34b57f5a612a20f5fe4c57',1,'Module']]], + ['spiwriteregisterburst',['SPIwriteRegisterBurst',['../class_module.html#a9d77a08070cbd48fd4ece62a739333e9',1,'Module']]], + ['srccallsign',['srcCallsign',['../class_a_x25_frame.html#ab76eaa8445e7953059a46bb78082dd5a',1,'AX25Frame']]], + ['srcssid',['srcSSID',['../class_a_x25_frame.html#a50c63276facf8126f0f8555b1fc6b2c9',1,'AX25Frame']]], + ['sstvclient',['SSTVClient',['../class_s_s_t_v_client.html',1,'SSTVClient'],['../class_s_s_t_v_client.html#af15cf501c00172270d2d2c43d7a7100a',1,'SSTVClient::SSTVClient(PhysicalLayer *phy)'],['../class_s_s_t_v_client.html#a99e46bec8403dfc36b9e5b102b1f7cf1',1,'SSTVClient::SSTVClient(AFSKClient *audio)']]], + ['sstvmode_5ft',['SSTVMode_t',['../struct_s_s_t_v_mode__t.html',1,'']]], + ['standby',['standby',['../class_c_c1101.html#a7612bf81e48086004c62548de2682266',1,'CC1101::standby()'],['../classn_r_f24.html#a5957f06a891d3d9c07e87b59c239ce56',1,'nRF24::standby()'],['../class_r_f69.html#a20242499eb926ff7b7da6e3f74a9ece1',1,'RF69::standby()'],['../class_si443x.html#ac45d2776df3ff338db154ead143fb7b8',1,'Si443x::standby()'],['../class_s_x126x.html#a7a1579e2557c36a4a34b09039c0d0c71',1,'SX126x::standby() override'],['../class_s_x126x.html#ad7569396f09f3867dc1bd4d4a0613acd',1,'SX126x::standby(uint8_t mode)'],['../class_s_x127x.html#a760b8c5103128f122fbe489c6529ce41',1,'SX127x::standby()'],['../class_s_x128x.html#a2be8cc6c3b61b59cb6a6ca4f6a030b45',1,'SX128x::standby() override'],['../class_s_x128x.html#aa11ba80f0cebb3e6927c775ad5f96b4e',1,'SX128x::standby(uint8_t mode)'],['../class_physical_layer.html#a0e77da761a2cbb5c9535df0bdea993f9',1,'PhysicalLayer::standby()']]], + ['startranging',['startRanging',['../class_s_x1280.html#af30ff497ca3bcc043dc4dc2e7587a795',1,'SX1280']]], + ['startreceive',['startReceive',['../class_c_c1101.html#af727750d05be0bcef4bb8ac260d110e3',1,'CC1101::startReceive()'],['../classn_r_f24.html#af4f443da5d90e032e5f2f65420515f9c',1,'nRF24::startReceive()'],['../class_r_f69.html#afae38fa64242043de34096bf497725f1',1,'RF69::startReceive()'],['../class_si443x.html#a10f886fc534a85bbf8c1aeb9b5ffe4f2',1,'Si443x::startReceive()'],['../class_s_x126x.html#a5052dc09f4b10ee22e169129f368685f',1,'SX126x::startReceive()'],['../class_s_x127x.html#afe8456d0f9abbce4d743f256f3e1e6c6',1,'SX127x::startReceive()'],['../class_s_x128x.html#a8171d2f3de53156526580ca4fe4d647d',1,'SX128x::startReceive()']]], + ['startreceivedutycycle',['startReceiveDutyCycle',['../class_s_x126x.html#adc46b6adda2d0e82e25ed1fc78274136',1,'SX126x']]], + ['startreceivedutycycleauto',['startReceiveDutyCycleAuto',['../class_s_x126x.html#a6b50cb78f02a3d93939437eb48489d3f',1,'SX126x']]], + ['startsignal',['startSignal',['../class_morse_client.html#a3c718208786f8fe55f30eee990ec28e3',1,'MorseClient']]], + ['starttransmit',['startTransmit',['../class_c_c1101.html#a0df2938e2509a8f2746b20ae0558d4ea',1,'CC1101::startTransmit()'],['../classn_r_f24.html#a42fdc828b49f2b8e15457189bd57d917',1,'nRF24::startTransmit()'],['../class_r_f69.html#a855dc194947b095b821ec1524ba6814c',1,'RF69::startTransmit()'],['../class_si443x.html#a402b4f5f11ba79e9cd4fb6ac0bfd9314',1,'Si443x::startTransmit()'],['../class_s_x126x.html#ab843614658a79db7aa24e48d5b6e84f1',1,'SX126x::startTransmit()'],['../class_s_x127x.html#adc2f1379573b7a7b5ee8125ea3752083',1,'SX127x::startTransmit()'],['../class_s_x128x.html#aef221e7d463c5228ce00ed6934512848',1,'SX128x::startTransmit()'],['../class_physical_layer.html#af068e6e862c99e39d0261a7971dd56db',1,'PhysicalLayer::startTransmit(String &str, uint8_t addr=0)'],['../class_physical_layer.html#a923654706eff5118ef6e84214e837f27',1,'PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)'],['../class_physical_layer.html#a41a1de0ebffe7b65de6fd8cceb9a5123',1,'PhysicalLayer::startTransmit(uint8_t *data, size_t len, uint8_t addr=0)=0']]], + ['status_20codes',['Status Codes',['../group__status__codes.html',1,'']]], + ['subscribe',['subscribe',['../class_m_q_t_t_client.html#a9488df90534953c33d76e9183965a300',1,'MQTTClient']]], + ['sx1231',['SX1231',['../class_s_x1231.html',1,'SX1231'],['../class_s_x1231.html#a9f39cd41fa0c934fe871b6cbfa7ce269',1,'SX1231::SX1231()']]], + ['sx1261',['SX1261',['../class_s_x1261.html',1,'SX1261'],['../class_s_x1261.html#a7d74b8684dd49b5b3ba23baf336f1c35',1,'SX1261::SX1261()']]], + ['sx1262',['SX1262',['../class_s_x1262.html',1,'SX1262'],['../class_s_x1262.html#a0da317728ec8ef23c5032d550c9acb8d',1,'SX1262::SX1262()']]], + ['sx1268',['SX1268',['../class_s_x1268.html',1,'SX1268'],['../class_s_x1268.html#a6bc50597d50fd9a2387628e452eac42f',1,'SX1268::SX1268()']]], + ['sx126x',['SX126x',['../class_s_x126x.html',1,'SX126x'],['../class_s_x126x.html#aaca5a8fa8a3e634dd1b5b4c2bb5058d8',1,'SX126x::SX126x()']]], + ['sx1272',['SX1272',['../class_s_x1272.html',1,'SX1272'],['../class_s_x1272.html#a9ffe467a6baaeaa079e02c3f1f43f626',1,'SX1272::SX1272()']]], + ['sx1273',['SX1273',['../class_s_x1273.html',1,'SX1273'],['../class_s_x1273.html#ad0387b22d6dcc876bc5f85174714149b',1,'SX1273::SX1273()']]], + ['sx1276',['SX1276',['../class_s_x1276.html',1,'SX1276'],['../class_s_x1276.html#a91c31d4dbd6d35ef6e42dba6dad8197b',1,'SX1276::SX1276()']]], + ['sx1277',['SX1277',['../class_s_x1277.html',1,'SX1277'],['../class_s_x1277.html#a296fb332bf2cdc574dbfe933d9d10eda',1,'SX1277::SX1277()']]], + ['sx1278',['SX1278',['../class_s_x1278.html',1,'SX1278'],['../class_s_x1278.html#a00ebd3e60a66056940b241b13da0c68e',1,'SX1278::SX1278()']]], + ['sx1279',['SX1279',['../class_s_x1279.html',1,'SX1279'],['../class_s_x1279.html#abc606ad06ee77b6830dab4331793d22a',1,'SX1279::SX1279()']]], + ['sx127x',['SX127x',['../class_s_x127x.html',1,'SX127x'],['../class_s_x127x.html#ac74c5914ca429a3892c66b9d98e3ea6c',1,'SX127x::SX127x()']]], + ['sx1280',['SX1280',['../class_s_x1280.html',1,'SX1280'],['../class_s_x1280.html#a0356199b89860e15cda4979cd9dc13eb',1,'SX1280::SX1280()']]], + ['sx1281',['SX1281',['../class_s_x1281.html',1,'SX1281'],['../class_s_x1281.html#a0dd7678cdf7fad9ecfc9139c5092f998',1,'SX1281::SX1281()']]], + ['sx1282',['SX1282',['../class_s_x1282.html',1,'SX1282'],['../class_s_x1282.html#ae90b7dcd7167c4cbe20e33ced04e4232',1,'SX1282::SX1282()']]], + ['sx128x',['SX128x',['../class_s_x128x.html',1,'SX128x'],['../class_s_x128x.html#a9ccbf51f8304f1041c8eef182be547a7',1,'SX128x::SX128x()']]] +]; diff --git a/search/all_11.html b/search/all_11.html new file mode 100644 index 00000000..3615c281 --- /dev/null +++ b/search/all_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_11.js b/search/all_11.js new file mode 100644 index 00000000..ce281cdb --- /dev/null +++ b/search/all_11.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['term',['term',['../class_module.html#af0569f6930da7bee761eeca8158aed3a',1,'Module']]], + ['todo_20list',['Todo List',['../todo.html',1,'']]], + ['tone',['tone',['../class_module.html#a32ba59613a2f1e77038956e18d9fedd7',1,'Module::tone()'],['../class_a_f_s_k_client.html#a6d2341901c83e45f853c077e60f1fa33',1,'AFSKClient::tone()']]], + ['tone_5ft',['tone_t',['../structtone__t.html',1,'']]], + ['tones',['tones',['../struct_s_s_t_v_mode__t.html#a27c6a271c1aa8e499a31a784ab9254ad',1,'SSTVMode_t']]], + ['transmit',['transmit',['../class_c_c1101.html#a7cb99a9200b21829b50e3fc3878573f4',1,'CC1101::transmit()'],['../classn_r_f24.html#a583d505bd3a638ecc5576dd2dd95f044',1,'nRF24::transmit()'],['../class_r_f69.html#a09ba80f60ee7974011a4b4f6c18c6847',1,'RF69::transmit()'],['../class_si443x.html#a782748025e19ec6e597293afb6570bff',1,'Si443x::transmit()'],['../class_s_x126x.html#aab18364237ddac0c56aeaf63f08cf009',1,'SX126x::transmit()'],['../class_s_x127x.html#a9c4ea3285922bf01cebd2c8a706d9a29',1,'SX127x::transmit()'],['../class_s_x128x.html#af253e1e45361de74aefd01a7c73c28f5',1,'SX128x::transmit()'],['../class_x_bee.html#ac1573e0aa0421cbcc767a968dda65819',1,'XBee::transmit(uint8_t *dest, const char *payload, uint8_t radius=1)'],['../class_x_bee.html#a697bfb6969560ef25bfb6c7bc64c3f09',1,'XBee::transmit(uint8_t *dest, uint8_t *destNetwork, const char *payload, uint8_t radius=1)'],['../class_a_x25_client.html#a985790943f3f3e06a2dfdd36977d0b98',1,'AX25Client::transmit()'],['../class_physical_layer.html#ab139a34e03a6fd5a781cd54da21d308f',1,'PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)'],['../class_physical_layer.html#aeb62c5a521aafc1e0525c58e9364482b',1,'PhysicalLayer::transmit(String &str, uint8_t addr=0)'],['../class_physical_layer.html#a492b2d057dd803c3884fa1adc8e22534',1,'PhysicalLayer::transmit(const char *str, uint8_t addr=0)'],['../class_physical_layer.html#af81565ee82ef9a7de9c5663c745f4ef7',1,'PhysicalLayer::transmit(uint8_t *data, size_t len, uint8_t addr=0)=0']]], + ['transmitdirect',['transmitDirect',['../class_c_c1101.html#a240eef8fa7d838d76f3c11086dc50e46',1,'CC1101::transmitDirect()'],['../classn_r_f24.html#a090bb64f65309efabfa1ffd86daa2303',1,'nRF24::transmitDirect()'],['../class_r_f69.html#a222682569338abb49d6952430b6eebdd',1,'RF69::transmitDirect()'],['../class_si443x.html#a5a86a2032c4b876c1c8e4a7cf4730c99',1,'Si443x::transmitDirect()'],['../class_s_x126x.html#a921aa8afb8d33b2660731c1f8d67664b',1,'SX126x::transmitDirect()'],['../class_s_x127x.html#aefeeb9f7192e11a75b5dfb1ab8488e84',1,'SX127x::transmitDirect()'],['../class_s_x128x.html#a53892566b0259d348158efe3c3c3601a',1,'SX128x::transmitDirect()'],['../class_physical_layer.html#a4b04eb6155b06d8ef400131c647d54e7',1,'PhysicalLayer::transmitDirect()']]], + ['transportlayer',['TransportLayer',['../class_transport_layer.html',1,'']]], + ['type',['type',['../structtone__t.html#a822ce54003924df3cc2e25a430657a56',1,'tone_t']]] +]; diff --git a/search/all_12.html b/search/all_12.html new file mode 100644 index 00000000..abd082a5 --- /dev/null +++ b/search/all_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_12.js b/search/all_12.js new file mode 100644 index 00000000..1f709852 --- /dev/null +++ b/search/all_12.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['uart_20configuration',['UART Configuration',['../group__uart__config.html',1,'']]], + ['unsubscribe',['unsubscribe',['../class_m_q_t_t_client.html#a782158f20b289746b7b6884fd922a22c',1,'MQTTClient']]] +]; diff --git a/search/all_13.html b/search/all_13.html new file mode 100644 index 00000000..88fa6531 --- /dev/null +++ b/search/all_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_13.js b/search/all_13.js new file mode 100644 index 00000000..e08af60b --- /dev/null +++ b/search/all_13.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['variablepacketlengthmode',['variablePacketLengthMode',['../class_c_c1101.html#a881122ec3457c5f95760859f8e0297c7',1,'CC1101::variablePacketLengthMode()'],['../class_r_f69.html#af62ebde1ea34a394b9781a21ae348c39',1,'RF69::variablePacketLengthMode()'],['../class_s_x126x.html#aa11ab2c6f4488daf2ece93288e05c504',1,'SX126x::variablePacketLengthMode()'],['../class_s_x127x.html#a9f753c0857e7b8b4b9f7f6e91c77f0fd',1,'SX127x::variablePacketLengthMode()']]], + ['viscode',['visCode',['../struct_s_s_t_v_mode__t.html#a4033deed34e2703ab7f9a95cc32e5820',1,'SSTVMode_t']]] +]; diff --git a/search/all_14.html b/search/all_14.html new file mode 100644 index 00000000..518db1da --- /dev/null +++ b/search/all_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_14.js b/search/all_14.js new file mode 100644 index 00000000..1bfb5169 --- /dev/null +++ b/search/all_14.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['width',['width',['../struct_s_s_t_v_mode__t.html#ad8d4e7efb12eb0e0cfa850aeb7353e40',1,'SSTVMode_t']]] +]; diff --git a/search/all_15.html b/search/all_15.html new file mode 100644 index 00000000..1331c0d7 --- /dev/null +++ b/search/all_15.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_15.js b/search/all_15.js new file mode 100644 index 00000000..57e85fb5 --- /dev/null +++ b/search/all_15.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['xbee',['XBee',['../class_x_bee.html',1,'XBee'],['../class_x_bee.html#a8a60ce7fd2b58e495b436d046e730e0b',1,'XBee::XBee()']]], + ['xbeeserial',['XBeeSerial',['../class_x_bee_serial.html',1,'XBeeSerial'],['../class_x_bee_serial.html#a9ee7ddd4b45096a6112798be1be09080',1,'XBeeSerial::XBeeSerial()']]] +]; diff --git a/search/all_16.html b/search/all_16.html new file mode 100644 index 00000000..bec9d5dd --- /dev/null +++ b/search/all_16.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_16.js b/search/all_16.js new file mode 100644 index 00000000..5ff2bc02 --- /dev/null +++ b/search/all_16.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['yield',['yield',['../class_module.html#a227d2d38e4747d0f49bb4df1c80b45d7',1,'Module']]] +]; diff --git a/search/all_17.html b/search/all_17.html new file mode 100644 index 00000000..6d010fdd --- /dev/null +++ b/search/all_17.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_17.js b/search/all_17.js new file mode 100644 index 00000000..c75151fa --- /dev/null +++ b/search/all_17.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['_7eax25frame',['~AX25Frame',['../class_a_x25_frame.html#ab84a13f720ada37aee6201a560d9dc5a',1,'AX25Frame']]], + ['_7eita2string',['~ITA2String',['../class_i_t_a2_string.html#afde24c931997581878953660192e09a2',1,'ITA2String']]] +]; diff --git a/search/all_2.html b/search/all_2.html new file mode 100644 index 00000000..d15ac65f --- /dev/null +++ b/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_2.js b/search/all_2.js new file mode 100644 index 00000000..9fef2444 --- /dev/null +++ b/search/all_2.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['cc1101',['CC1101',['../class_c_c1101.html',1,'CC1101'],['../class_c_c1101.html#a6807e4254c4b55fa8d393b2bf8f2db3e',1,'CC1101::CC1101()']]], + ['channel_5ffree',['CHANNEL_FREE',['../group__status__codes.html#ga6581323ae6a4f0bfe38e5a087c5a6f36',1,'TypeDef.h']]], + ['check',['check',['../class_m_q_t_t_client.html#a49cb16ef730ad50ba5dc472ac10d933e',1,'MQTTClient']]], + ['cleardio0action',['clearDio0Action',['../class_r_f69.html#a9721d2a3ed9fa8dd878575d71d5a4942',1,'RF69::clearDio0Action()'],['../class_s_x127x.html#a729b4f3f36096b5b15bae19c7876e823',1,'SX127x::clearDio0Action()']]], + ['cleardio1action',['clearDio1Action',['../class_r_f69.html#ade1f9a7a603d712c480ed5e9a8d1bf51',1,'RF69::clearDio1Action()'],['../class_s_x126x.html#a6848afe4c16a47edb3e0b342a86ecdfd',1,'SX126x::clearDio1Action()'],['../class_s_x127x.html#a9b6532a25e1730973ac08146008adca5',1,'SX127x::clearDio1Action()'],['../class_s_x128x.html#ab8a3fe8e2843fa039ef369668f1a423f',1,'SX128x::clearDio1Action()']]], + ['cleargdo0action',['clearGdo0Action',['../class_c_c1101.html#ab5e6b3745f80cf61e1ced33303311df8',1,'CC1101']]], + ['cleargdo2action',['clearGdo2Action',['../class_c_c1101.html#ac7a8b1fe7d08dc6db20cf1569b0d37b4',1,'CC1101']]], + ['clearirqaction',['clearIrqAction',['../class_si443x.html#a8d019f58551346c3f3bd8b72d2486109',1,'Si443x']]], + ['closetransportconnection',['closeTransportConnection',['../class_e_s_p8266.html#aa71846340d1a679a12ddb9b9597f8f91',1,'ESP8266::closeTransportConnection()'],['../class_transport_layer.html#a82fc1c71a0f6d0aac1be7f6c184a0021',1,'TransportLayer::closeTransportConnection()']]], + ['connect',['connect',['../class_m_q_t_t_client.html#ac15b32e89df903b20b066113bf8c4a88',1,'MQTTClient']]], + ['control',['control',['../class_a_x25_frame.html#a5b196079b539dc417ca65dd4ad622f8f',1,'AX25Frame']]] +]; diff --git a/search/all_3.html b/search/all_3.html new file mode 100644 index 00000000..9f526c67 --- /dev/null +++ b/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_3.js b/search/all_3.js new file mode 100644 index 00000000..b277fe24 --- /dev/null +++ b/search/all_3.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['data_20shaping_20filter_20values_20aliases_2e',['Data shaping filter values aliases.',['../group__config__shaping.html',1,'']]], + ['delay',['delay',['../class_module.html#af0f870b09b9dd9636f1587d708f07d38',1,'Module']]], + ['delaymicroseconds',['delayMicroseconds',['../class_module.html#a14d7cd8220bfa4440bda055ce5be748c',1,'Module']]], + ['destcallsign',['destCallsign',['../class_a_x25_frame.html#a78e72871e3a9370675318876f4a4b432',1,'AX25Frame']]], + ['destssid',['destSSID',['../class_a_x25_frame.html#af62935e56dc24bca5d2e2aeb932b63f8',1,'AX25Frame']]], + ['detachinterrupt',['detachInterrupt',['../class_module.html#a656738f2fe41fb236d27aed02efa8ad4',1,'Module']]], + ['digitalread',['digitalRead',['../class_module.html#a7495c81640aac8f4686221dad34a274f',1,'Module']]], + ['digitalwrite',['digitalWrite',['../class_module.html#a46ad10b113df7c7e0a932be19eff63cd',1,'Module']]], + ['disableaddressfiltering',['disableAddressFiltering',['../class_c_c1101.html#a9aee5df428d30b9c80b8a8700609a883',1,'CC1101::disableAddressFiltering()'],['../class_r_f69.html#a5996fc1751e7542baafa0d6c0a6c78ee',1,'RF69::disableAddressFiltering()'],['../class_s_x126x.html#afc3a7a42c401b6c44e00cb6c5b9696f2',1,'SX126x::disableAddressFiltering()'],['../class_s_x127x.html#afe6e9bbfd75f9cad26f9f72c34c4ada5',1,'SX127x::disableAddressFiltering()']]], + ['disableaes',['disableAES',['../class_r_f69.html#a15fafb6c24a8b5721623be447628bbaa',1,'RF69']]], + ['disablepipe',['disablePipe',['../classn_r_f24.html#a4dd39e5c0efee1f0c2a14f729eb4426a',1,'nRF24']]], + ['disablesyncwordfiltering',['disableSyncWordFiltering',['../class_c_c1101.html#a4f2dc4176b62a0636636088e31b8e85b',1,'CC1101::disableSyncWordFiltering()'],['../class_r_f69.html#a400bb57d2353b57c29cf41a6d9497c80',1,'RF69::disableSyncWordFiltering()']]], + ['disconnect',['disconnect',['../class_m_q_t_t_client.html#af10176e2cf67bd652823d44f3203a96e',1,'MQTTClient']]] +]; diff --git a/search/all_4.html b/search/all_4.html new file mode 100644 index 00000000..7b814aa9 --- /dev/null +++ b/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_4.js b/search/all_4.js new file mode 100644 index 00000000..86d6d913 --- /dev/null +++ b/search/all_4.js @@ -0,0 +1,73 @@ +var searchData= +[ + ['encoding_20type_20aliases_2e',['Encoding type aliases.',['../group__config__encoding.html',1,'']]], + ['enableaes',['enableAES',['../class_r_f69.html#a1fd4609f419d8b0213ee39b05dd40b69',1,'RF69']]], + ['enablesyncwordfiltering',['enableSyncWordFiltering',['../class_c_c1101.html#a6fe55d0217bf5218865198ef8d6fdab4',1,'CC1101::enableSyncWordFiltering()'],['../class_r_f69.html#a643a711bcb4b7771a7ab1f457e61a417',1,'RF69::enableSyncWordFiltering()']]], + ['err_5fack_5fnot_5freceived',['ERR_ACK_NOT_RECEIVED',['../group__status__codes.html#ga10d6ef8fd76e4bda92075e649cc14f81',1,'TypeDef.h']]], + ['err_5fat_5ffailed',['ERR_AT_FAILED',['../group__status__codes.html#gad0226134c1246d627d2a532a89b03050',1,'TypeDef.h']]], + ['err_5fchip_5fnot_5ffound',['ERR_CHIP_NOT_FOUND',['../group__status__codes.html#ga66ac4a39ab53bd83f36ba49ea2a88e2c',1,'TypeDef.h']]], + ['err_5fcmd_5fmode_5ffailed',['ERR_CMD_MODE_FAILED',['../group__status__codes.html#ga8c65c39a6addd77e64c36ae1aff64c95',1,'TypeDef.h']]], + ['err_5fcrc_5fmismatch',['ERR_CRC_MISMATCH',['../group__status__codes.html#ga81f8c801d5a34b8000dd127002092299',1,'TypeDef.h']]], + ['err_5fframe_5fincorrect_5fchecksum',['ERR_FRAME_INCORRECT_CHECKSUM',['../group__status__codes.html#gac1fec2f7cf44d57a670a90d49de224dd',1,'TypeDef.h']]], + ['err_5fframe_5fmalformed',['ERR_FRAME_MALFORMED',['../group__status__codes.html#gaf56437c272ebe407f2e323eacc4d30b4',1,'TypeDef.h']]], + ['err_5fframe_5fno_5fresponse',['ERR_FRAME_NO_RESPONSE',['../group__status__codes.html#gaa9983b460eb8c29f7903b22dc907fb65',1,'TypeDef.h']]], + ['err_5fframe_5funexpected_5fid',['ERR_FRAME_UNEXPECTED_ID',['../group__status__codes.html#ga41235956d8113d0b175008257daa01da',1,'TypeDef.h']]], + ['err_5finvalid_5faddress_5fwidth',['ERR_INVALID_ADDRESS_WIDTH',['../group__status__codes.html#ga03955017183ea3e54cd37d02a053bf17',1,'TypeDef.h']]], + ['err_5finvalid_5fbandwidth',['ERR_INVALID_BANDWIDTH',['../group__status__codes.html#gaf1f9fb751ed4f4094c02a406e049f645',1,'TypeDef.h']]], + ['err_5finvalid_5fbit_5frange',['ERR_INVALID_BIT_RANGE',['../group__status__codes.html#gab18e3c068ca8d9e7c07e6b9473c5e0df',1,'TypeDef.h']]], + ['err_5finvalid_5fbit_5frate',['ERR_INVALID_BIT_RATE',['../group__status__codes.html#gaaa1f1221c85e65caecb13f9f23cf02a2',1,'TypeDef.h']]], + ['err_5finvalid_5fbit_5frate_5fbw_5fratio',['ERR_INVALID_BIT_RATE_BW_RATIO',['../group__status__codes.html#ga922d0c9f0434ca59f8e82fce26d0e4c7',1,'TypeDef.h']]], + ['err_5finvalid_5fcallsign',['ERR_INVALID_CALLSIGN',['../group__status__codes.html#ga3dcd9b09caecdbc3d267bc9dc4c3d0a3',1,'TypeDef.h']]], + ['err_5finvalid_5fcoding_5frate',['ERR_INVALID_CODING_RATE',['../group__status__codes.html#ga39b71357447cf06f433d589133d61af2',1,'TypeDef.h']]], + ['err_5finvalid_5fcrc_5fconfiguration',['ERR_INVALID_CRC_CONFIGURATION',['../group__status__codes.html#ga2e2ba33c5844ca459a97820fee4375c6',1,'TypeDef.h']]], + ['err_5finvalid_5fcurrent_5flimit',['ERR_INVALID_CURRENT_LIMIT',['../group__status__codes.html#ga47d567bd065787445759a1eb0f6eca5c',1,'TypeDef.h']]], + ['err_5finvalid_5fdata_5frate',['ERR_INVALID_DATA_RATE',['../group__status__codes.html#gaf6ce56c0b0d24e28f68fc28159a9f9e2',1,'TypeDef.h']]], + ['err_5finvalid_5fdata_5fshaping',['ERR_INVALID_DATA_SHAPING',['../group__status__codes.html#ga9ca18294bf38d20331b42b9d3197bb61',1,'TypeDef.h']]], + ['err_5finvalid_5fencoding',['ERR_INVALID_ENCODING',['../group__status__codes.html#ga38bd76783868e5a9e4a0ad6894160670',1,'TypeDef.h']]], + ['err_5finvalid_5ffrequency',['ERR_INVALID_FREQUENCY',['../group__status__codes.html#gae340a46264dfa98e51c5d2eefeae08e7',1,'TypeDef.h']]], + ['err_5finvalid_5ffrequency_5fdeviation',['ERR_INVALID_FREQUENCY_DEVIATION',['../group__status__codes.html#ga212fdb49959455bf6980055aa4abc28c',1,'TypeDef.h']]], + ['err_5finvalid_5fgain',['ERR_INVALID_GAIN',['../group__status__codes.html#ga8a1f83c8c9abed26b497c9eb69f1a521',1,'TypeDef.h']]], + ['err_5finvalid_5fmodulation',['ERR_INVALID_MODULATION',['../group__status__codes.html#ga8a4168b6953ca4e289d2bda1d4c422e7',1,'TypeDef.h']]], + ['err_5finvalid_5fmodulation_5fparameters',['ERR_INVALID_MODULATION_PARAMETERS',['../group__status__codes.html#ga3fed4b30666e7ecc9dba67739a6bc52b',1,'TypeDef.h']]], + ['err_5finvalid_5fnum_5fbroad_5faddrs',['ERR_INVALID_NUM_BROAD_ADDRS',['../group__status__codes.html#ga975011f5b371bfc864c36e65f2b26a24',1,'TypeDef.h']]], + ['err_5finvalid_5fnum_5frepeaters',['ERR_INVALID_NUM_REPEATERS',['../group__status__codes.html#ga67d0525915e7e4dc6f5d13199d5e37ae',1,'TypeDef.h']]], + ['err_5finvalid_5fnum_5fsamples',['ERR_INVALID_NUM_SAMPLES',['../group__status__codes.html#gabb4c168ec8dd99c2b853d589af455884',1,'TypeDef.h']]], + ['err_5finvalid_5foutput_5fpower',['ERR_INVALID_OUTPUT_POWER',['../group__status__codes.html#ga5f16976086bbc9bf66c77719ccf0f277',1,'TypeDef.h']]], + ['err_5finvalid_5fpipe_5fnumber',['ERR_INVALID_PIPE_NUMBER',['../group__status__codes.html#ga819f4587f681d62d96babf3f51a0268e',1,'TypeDef.h']]], + ['err_5finvalid_5fpreamble_5flength',['ERR_INVALID_PREAMBLE_LENGTH',['../group__status__codes.html#ga267654efbc717258ff5ac95c10e180f1',1,'TypeDef.h']]], + ['err_5finvalid_5frepeater_5fcallsign',['ERR_INVALID_REPEATER_CALLSIGN',['../group__status__codes.html#gae98a89e9fb2c2d8c85203870c939e43a',1,'TypeDef.h']]], + ['err_5finvalid_5frssi_5foffset',['ERR_INVALID_RSSI_OFFSET',['../group__status__codes.html#gaf85ebeb45d6d949753a9a3e58fa40c46',1,'TypeDef.h']]], + ['err_5finvalid_5frtty_5fshift',['ERR_INVALID_RTTY_SHIFT',['../group__status__codes.html#gac9ca6ac94f8a11579c418e63943c056d',1,'TypeDef.h']]], + ['err_5finvalid_5frx_5fbandwidth',['ERR_INVALID_RX_BANDWIDTH',['../group__status__codes.html#ga228942d2635d5bdea96cf0804f5cace2',1,'TypeDef.h']]], + ['err_5finvalid_5frx_5fperiod',['ERR_INVALID_RX_PERIOD',['../group__status__codes.html#ga2e1460e2969e76242bf17963448d62c6',1,'TypeDef.h']]], + ['err_5finvalid_5fsleep_5fperiod',['ERR_INVALID_SLEEP_PERIOD',['../group__status__codes.html#gac852eedc5c168b511bbc83abce3123e7',1,'TypeDef.h']]], + ['err_5finvalid_5fspreading_5ffactor',['ERR_INVALID_SPREADING_FACTOR',['../group__status__codes.html#ga8d2622e3d347809a5b8b13b90e789121',1,'TypeDef.h']]], + ['err_5finvalid_5fsync_5fword',['ERR_INVALID_SYNC_WORD',['../group__status__codes.html#gaa70935907871709286cfef58d1074a51',1,'TypeDef.h']]], + ['err_5finvalid_5ftcxo_5fvoltage',['ERR_INVALID_TCXO_VOLTAGE',['../group__status__codes.html#gad46a0a43a686f8057b2516dcee2ac935',1,'TypeDef.h']]], + ['err_5fmemory_5fallocation_5ffailed',['ERR_MEMORY_ALLOCATION_FAILED',['../group__status__codes.html#ga10c401bcff17771aaa3814569598e5a2',1,'TypeDef.h']]], + ['err_5fmqtt_5fconn_5fbad_5fusername_5fpassword',['ERR_MQTT_CONN_BAD_USERNAME_PASSWORD',['../group__status__codes.html#gabd7da172470aea37cd7b5d0300b89ad8',1,'TypeDef.h']]], + ['err_5fmqtt_5fconn_5fid_5frejected',['ERR_MQTT_CONN_ID_REJECTED',['../group__status__codes.html#ga3c1be62b28b6ec25da16643bfe2e6fba',1,'TypeDef.h']]], + ['err_5fmqtt_5fconn_5fnot_5fauthorized',['ERR_MQTT_CONN_NOT_AUTHORIZED',['../group__status__codes.html#ga03cb5a5924e72d8ee5c5e9fbd33f2549',1,'TypeDef.h']]], + ['err_5fmqtt_5fconn_5fserver_5funavailable',['ERR_MQTT_CONN_SERVER_UNAVAILABLE',['../group__status__codes.html#gaccd2c15a0a2372183a64c7796fa3207f',1,'TypeDef.h']]], + ['err_5fmqtt_5fconn_5fversion_5frejected',['ERR_MQTT_CONN_VERSION_REJECTED',['../group__status__codes.html#ga47124a33fbae3e47fd21eedbb8d5334c',1,'TypeDef.h']]], + ['err_5fmqtt_5fno_5fnew_5fpacket_5favailable',['ERR_MQTT_NO_NEW_PACKET_AVAILABLE',['../group__status__codes.html#gae68036ef658da67f79e0506034e72221',1,'TypeDef.h']]], + ['err_5fmqtt_5fsubs_5ffailed',['ERR_MQTT_SUBS_FAILED',['../group__status__codes.html#ga06f7816dddbe094c2158a40a517f950e',1,'TypeDef.h']]], + ['err_5fmqtt_5funexpected_5fpacket_5fid',['ERR_MQTT_UNEXPECTED_PACKET_ID',['../group__status__codes.html#ga5a373a7e054a6c8e7a5198e23439157d',1,'TypeDef.h']]], + ['err_5fnone',['ERR_NONE',['../group__status__codes.html#gaff0d3fb76f11f6e8ea4002d826bbd23c',1,'TypeDef.h']]], + ['err_5fpacket_5ftoo_5flong',['ERR_PACKET_TOO_LONG',['../group__status__codes.html#gadd7021d50cf3fd55417a3d476bb4308d',1,'TypeDef.h']]], + ['err_5franging_5ftimeout',['ERR_RANGING_TIMEOUT',['../group__status__codes.html#gafef1096303c151991e6d933bd5f870ff',1,'TypeDef.h']]], + ['err_5fresponse_5fmalformed',['ERR_RESPONSE_MALFORMED',['../group__status__codes.html#ga1595a1ed0d191defe3b78a1ae1deedf7',1,'TypeDef.h']]], + ['err_5fresponse_5fmalformed_5fat',['ERR_RESPONSE_MALFORMED_AT',['../group__status__codes.html#gab0af68b1c852a4c124550baabf71a0f0',1,'TypeDef.h']]], + ['err_5frx_5ftimeout',['ERR_RX_TIMEOUT',['../group__status__codes.html#gaec29abeb9f0b3f44f7dbed1a17bc675a',1,'TypeDef.h']]], + ['err_5fspi_5fcmd_5ffailed',['ERR_SPI_CMD_FAILED',['../group__status__codes.html#gabbd93b7bffc697e5eb394ba7e601b648',1,'TypeDef.h']]], + ['err_5fspi_5fcmd_5finvalid',['ERR_SPI_CMD_INVALID',['../group__status__codes.html#gaa698c4e61a86e0b43e1e58c36f89d1d7',1,'TypeDef.h']]], + ['err_5fspi_5fcmd_5ftimeout',['ERR_SPI_CMD_TIMEOUT',['../group__status__codes.html#ga171202c690c6df1b6c1fd914c37e7d37',1,'TypeDef.h']]], + ['err_5fspi_5fwrite_5ffailed',['ERR_SPI_WRITE_FAILED',['../group__status__codes.html#ga4e05af49324b9f065ae93f9664d51c2f',1,'TypeDef.h']]], + ['err_5ftx_5ftimeout',['ERR_TX_TIMEOUT',['../group__status__codes.html#ga198c0b71c71734ab53023e3fe23a1248',1,'TypeDef.h']]], + ['err_5funknown',['ERR_UNKNOWN',['../group__status__codes.html#ga60d04c865fd58d86758894edca38bf30',1,'TypeDef.h']]], + ['err_5funsupported_5fencoding',['ERR_UNSUPPORTED_ENCODING',['../group__status__codes.html#ga764f561222124ffd6620356e21cf7afd',1,'TypeDef.h']]], + ['err_5furl_5fmalformed',['ERR_URL_MALFORMED',['../group__status__codes.html#gac4980128c06104656146109af0a944e4',1,'TypeDef.h']]], + ['err_5fwrong_5fmodem',['ERR_WRONG_MODEM',['../group__status__codes.html#ga8ec3e01efb503b4e32c59ea0a6566714',1,'TypeDef.h']]], + ['esp8266',['ESP8266',['../class_e_s_p8266.html',1,'ESP8266'],['../class_e_s_p8266.html#ac0adb20130a378b8b99fcb9101823636',1,'ESP8266::ESP8266()']]], + ['explicitheader',['explicitHeader',['../class_s_x126x.html#a3765f534418d4e0540c179621c019138',1,'SX126x::explicitHeader()'],['../class_s_x128x.html#a94b7fb26cc99385d30b0c98b76d8188d',1,'SX128x::explicitHeader()']]] +]; diff --git a/search/all_5.html b/search/all_5.html new file mode 100644 index 00000000..d8de5560 --- /dev/null +++ b/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_5.js b/search/all_5.js new file mode 100644 index 00000000..8242baf9 --- /dev/null +++ b/search/all_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['fixedpacketlengthmode',['fixedPacketLengthMode',['../class_c_c1101.html#a9335f1d5ccab7aab2357449002203810',1,'CC1101::fixedPacketLengthMode()'],['../class_r_f69.html#a4c9dcbd7e44bc5e46d9f10ae276a0c5f',1,'RF69::fixedPacketLengthMode()'],['../class_s_x126x.html#aa768ce757a0f7ee66cdd72cab7a855fa',1,'SX126x::fixedPacketLengthMode()'],['../class_s_x127x.html#aaf8ce9f09d0f46a76a5e251786b6de7f',1,'SX127x::fixedPacketLengthMode()']]], + ['forceldro',['forceLDRO',['../class_s_x126x.html#a420c23bb1861646e29f44c0f4c646ee8',1,'SX126x::forceLDRO()'],['../class_s_x1272.html#a4aaf9d61310fa7b4fce413ae53d30ac0',1,'SX1272::forceLDRO()'],['../class_s_x1278.html#a6d6398c4d4fde302d6d4752708bce856',1,'SX1278::forceLDRO()']]], + ['freq',['freq',['../structtone__t.html#a322e5f269a6a7eaae58f3ca0b73da0cf',1,'tone_t']]] +]; diff --git a/search/all_6.html b/search/all_6.html new file mode 100644 index 00000000..9ba0cc2b --- /dev/null +++ b/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_6.js b/search/all_6.js new file mode 100644 index 00000000..57808a9e --- /dev/null +++ b/search/all_6.js @@ -0,0 +1,31 @@ +var searchData= +[ + ['get',['get',['../class_h_t_t_p_client.html#abc505d06d29fdc774d27c163e0be7ff8',1,'HTTPClient::get(String &url, String &response)'],['../class_h_t_t_p_client.html#a7ae493bf7db12ca2201cd6cead54c64f',1,'HTTPClient::get(const char *url, String &response)']]], + ['getcs',['getCs',['../class_module.html#ad9e1458c0eb4f7c117d53e35450bbd76',1,'Module']]], + ['getcurrentlimit',['getCurrentLimit',['../class_s_x126x.html#aa668babb0bd129b2facee9fd280525ab',1,'SX126x']]], + ['getdatarate',['getDataRate',['../class_s_x126x.html#a247211d5d88d501effc4c886adccaec5',1,'SX126x::getDataRate()'],['../class_s_x127x.html#a92274b8e6406bc6c1edee0497e7ad1f6',1,'SX127x::getDataRate()']]], + ['getfreqstep',['getFreqStep',['../class_physical_layer.html#ac48339cc9fc93931379903ab0c195e40',1,'PhysicalLayer']]], + ['getfrequencyerror',['getFrequencyError',['../class_s_x127x.html#af6aa854a2668d70f4d3a374a49440362',1,'SX127x']]], + ['getgpio',['getGpio',['../class_module.html#a3b1d62f6df09d175179effd04c931881',1,'Module']]], + ['getirq',['getIrq',['../class_module.html#a55ddb0fc8ce53db3a333b71fb798e0af',1,'Module']]], + ['getirqflags',['getIRQFlags',['../class_s_x127x.html#ac5d2ddb517e474a699b4539653b3754d',1,'SX127x']]], + ['getlqi',['getLQI',['../class_c_c1101.html#af252f2c3c591289cb73089e51f0f967d',1,'CC1101']]], + ['getmodemstatus',['getModemStatus',['../class_s_x127x.html#a2cf6a5bd8f3257f98ee4f250cbdf8bdc',1,'SX127x']]], + ['getnumbytes',['getNumBytes',['../class_e_s_p8266.html#ac463b6a80cdc52e7db50b1f6760cec3f',1,'ESP8266::getNumBytes()'],['../class_transport_layer.html#a730e6671632844b1effc114e5c7d95c8',1,'TransportLayer::getNumBytes()']]], + ['getpacketdata',['getPacketData',['../class_x_bee.html#ab911ae5476a3a7c89dbac46adc1c843b',1,'XBee']]], + ['getpacketlength',['getPacketLength',['../class_c_c1101.html#a122281f6a915b77ee9dafc9926e731a0',1,'CC1101::getPacketLength()'],['../classn_r_f24.html#a23ea1749c21863ebc5bd3a2b08d64f3b',1,'nRF24::getPacketLength()'],['../class_r_f69.html#a86a080086c0228d23e2cb77d2b1915c1',1,'RF69::getPacketLength()'],['../class_si443x.html#a2d944669dc69ccd47f9e6c360f2ffd10',1,'Si443x::getPacketLength()'],['../class_s_x126x.html#ac4ef8c8751a3c09d64e431684840c987',1,'SX126x::getPacketLength()'],['../class_s_x127x.html#a462fa74275e67c296328a01f361892d5',1,'SX127x::getPacketLength()'],['../class_s_x128x.html#a390fd0749b316eed67da7b54f4f24735',1,'SX128x::getPacketLength()'],['../class_physical_layer.html#a0bd6046e068ef63e3f2b6bead48e02a7',1,'PhysicalLayer::getPacketLength()']]], + ['getpacketsource',['getPacketSource',['../class_x_bee.html#abcffe611d9a823d66a8a2c12720ff70b',1,'XBee']]], + ['getpictureheight',['getPictureHeight',['../class_s_s_t_v_client.html#a89cd8bd7595737d90e59548b65f0fd5b',1,'SSTVClient']]], + ['getrangingresult',['getRangingResult',['../class_s_x1280.html#a91f4f241f02cd4e79d15a9ba08eb1e8f',1,'SX1280']]], + ['getrssi',['getRSSI',['../class_c_c1101.html#af55b5ec0dd2d73bac6cb8a6d9862e6c1',1,'CC1101::getRSSI()'],['../class_r_f69.html#ac4fc3f2b178ef08caec3a9f548f44cd7',1,'RF69::getRSSI()'],['../class_s_x126x.html#a0e5f0032a91686b9673a48c908eb1925',1,'SX126x::getRSSI()'],['../class_s_x1272.html#af5a7dee50a1a7d8261bc62bb869cda92',1,'SX1272::getRSSI()'],['../class_s_x1278.html#a0b1fe4d0b1acfa454d7bab59cdf319fe',1,'SX1278::getRSSI()'],['../class_s_x128x.html#a94d3003277925e2dc3372548b3311008',1,'SX128x::getRSSI()']]], + ['getrst',['getRst',['../class_module.html#aa4179db40b566a336d28ca33763c6b11',1,'Module']]], + ['getrx',['getRx',['../class_module.html#acbffe457d532fed652664debcb3c7748',1,'Module']]], + ['getsnr',['getSNR',['../class_s_x126x.html#ae36823d3539667bdf7d2f073bd4fa1ca',1,'SX126x::getSNR()'],['../class_s_x127x.html#abc5069b39dc31b637ee561d5745e1deb',1,'SX127x::getSNR()'],['../class_s_x128x.html#a89ebf1f4f227cd35c0799c06d5d9c1d2',1,'SX128x::getSNR()']]], + ['getspi',['getSpi',['../class_module.html#a9909bad63883b996e856deceb2a2d48d',1,'Module']]], + ['getspisettings',['getSpiSettings',['../class_module.html#a2ba602f873ba747733eed9f54ca94ed1',1,'Module']]], + ['getstatus',['getStatus',['../classn_r_f24.html#a3f0b08fd8e58db36f6c1926cc3eac6a9',1,'nRF24']]], + ['gettemperature',['getTemperature',['../class_r_f69.html#a0526ce6ea3722fd258f96d9677a60853',1,'RF69']]], + ['gettempraw',['getTempRaw',['../class_s_x127x.html#a95bc32a555675879ad9e2a9e399dc6c1',1,'SX127x']]], + ['gettimeonair',['getTimeOnAir',['../class_s_x126x.html#a7e342ddbef84cf845bef8f4448b8da10',1,'SX126x::getTimeOnAir()'],['../class_s_x128x.html#a2361a94f2e12ebc93e750a027d633232',1,'SX128x::getTimeOnAir()']]], + ['gettx',['getTx',['../class_module.html#a5a2b7fd8c262a01d1abc1b5f4f9c3513',1,'Module']]] +]; diff --git a/search/all_7.html b/search/all_7.html new file mode 100644 index 00000000..9384ec9b --- /dev/null +++ b/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_7.js b/search/all_7.js new file mode 100644 index 00000000..d83c5227 --- /dev/null +++ b/search/all_7.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['hc05',['HC05',['../class_h_c05.html',1,'HC05'],['../class_h_c05.html#a5cc3184c58de65cbff18447c6d03de18',1,'HC05::HC05()']]], + ['height',['height',['../struct_s_s_t_v_mode__t.html#aae9c12993b804b63c258e82244f20031',1,'SSTVMode_t']]], + ['hellclient',['HellClient',['../class_hell_client.html',1,'HellClient'],['../class_hell_client.html#a6e3ed5db1904f3f9602e20c3c0d0cbd0',1,'HellClient::HellClient(PhysicalLayer *phy)'],['../class_hell_client.html#afeb347f04148700427ad40614fd057c3',1,'HellClient::HellClient(AFSKClient *audio)']]], + ['httpclient',['HTTPClient',['../class_h_t_t_p_client.html',1,'HTTPClient'],['../class_h_t_t_p_client.html#a7c6fdd5681e55437ebddaac785f35557',1,'HTTPClient::HTTPClient()']]] +]; diff --git a/search/all_8.html b/search/all_8.html new file mode 100644 index 00000000..37566c5d --- /dev/null +++ b/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_8.js b/search/all_8.js new file mode 100644 index 00000000..09e25749 --- /dev/null +++ b/search/all_8.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['idle',['idle',['../class_r_t_t_y_client.html#ac477e65ea756e56bb9043d778a51b4bc',1,'RTTYClient::idle()'],['../class_s_s_t_v_client.html#a0126ac04934f589b8cb04a038c342044',1,'SSTVClient::idle()']]], + ['implicitheader',['implicitHeader',['../class_s_x126x.html#adec09cba71494bd927ad1da786606ca6',1,'SX126x::implicitHeader()'],['../class_s_x128x.html#ac69cc622020419cb3393eac5cc88915b',1,'SX128x::implicitHeader()']]], + ['info',['info',['../class_a_x25_frame.html#aa82f006b84b71b9c5d036a4946a65988',1,'AX25Frame']]], + ['infolen',['infoLen',['../class_a_x25_frame.html#a75e8ad33c2540ede5bb130050f6ffc41',1,'AX25Frame']]], + ['init',['init',['../class_module.html#adb22d89bc5f532f1d056d9a9f3a6589c',1,'Module']]], + ['iscarrierdetected',['isCarrierDetected',['../classn_r_f24.html#ad9204ee787b425e2c9e8422bb7939a37',1,'nRF24']]], + ['iserial',['ISerial',['../class_i_serial.html',1,'']]], + ['ita2string',['ITA2String',['../class_i_t_a2_string.html',1,'ITA2String'],['../class_i_t_a2_string.html#addb6c39167aa5da53fb72e9a94c9c8f5',1,'ITA2String::ITA2String(char c)'],['../class_i_t_a2_string.html#a92ca563bdc2ae4d05ee91ce9372e7a55',1,'ITA2String::ITA2String(const char *str)']]] +]; diff --git a/search/all_9.html b/search/all_9.html new file mode 100644 index 00000000..c8c51023 --- /dev/null +++ b/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_9.js b/search/all_9.js new file mode 100644 index 00000000..295cf153 --- /dev/null +++ b/search/all_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['jdy08',['JDY08',['../class_j_d_y08.html',1,'JDY08'],['../class_j_d_y08.html#a9e2895c29cbbb30bc49aa2b3b9d2c4d6',1,'JDY08::JDY08()']]], + ['join',['join',['../class_e_s_p8266.html#abb39d205464bc4789c87120564258432',1,'ESP8266']]] +]; diff --git a/search/all_a.html b/search/all_a.html new file mode 100644 index 00000000..4cb31f0c --- /dev/null +++ b/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_a.js b/search/all_a.js new file mode 100644 index 00000000..2dff8564 --- /dev/null +++ b/search/all_a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['len',['len',['../structtone__t.html#a3b0421dd255c7c59552741957a6224ed',1,'tone_t']]], + ['length',['length',['../class_i_t_a2_string.html#a79b48f6e1eab664b841f3fd20c333e8e',1,'ITA2String']]], + ['lora_5fdetected',['LORA_DETECTED',['../group__status__codes.html#gacfda389267c561c2ab2ac5c368954d0c',1,'TypeDef.h']]] +]; diff --git a/search/all_b.html b/search/all_b.html new file mode 100644 index 00000000..d34a612e --- /dev/null +++ b/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_b.js b/search/all_b.js new file mode 100644 index 00000000..1fd01e90 --- /dev/null +++ b/search/all_b.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['micros',['micros',['../class_module.html#af3f51e517a825949891ad29e30fd3f59',1,'Module']]], + ['millis',['millis',['../class_module.html#a216dd0c6ce140857f2b003ab8d89fbac',1,'Module']]], + ['module',['Module',['../class_module.html',1,'Module'],['../class_module.html#a5ea76bc25ef979ec1ff90c032e476004',1,'Module::Module(RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, HardwareSerial *serial=nullptr, RADIOLIB_PIN_TYPE rst=RADIOLIB_NC)'],['../class_module.html#a06b2e1f1eb9e07a280e55f517f2fab38',1,'Module::Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst)'],['../class_module.html#ae8709b81f592a23ebd72ba3fd8066b0f',1,'Module::Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE gpio)'],['../class_module.html#ac65f3d9e022b3284134ced1c20bcff09',1,'Module::Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, SPIClass &spi, SPISettings spiSettings)'],['../class_module.html#af67217bf4771f4becb0f89b2a90054c4',1,'Module::Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE gpio, SPIClass &spi, SPISettings spiSettings)'],['../class_module.html#a56456ade4eeffa2c566a6fc3fd098276',1,'Module::Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, SPIClass &spi=RADIOLIB_DEFAULT_SPI, SPISettings spiSettings=SPISettings(2000000, MSBFIRST, SPI_MODE0), HardwareSerial *serial=nullptr)'],['../class_module.html#a919baf2e46c357ebfcdbc1025b6c551e',1,'Module::Module(const Module &mod)']]], + ['moduleserial',['ModuleSerial',['../class_module.html#a99556decb983f682b98220ae5434b004',1,'Module']]], + ['morseclient',['MorseClient',['../class_morse_client.html',1,'MorseClient'],['../class_morse_client.html#aeade3a433da40e6a9f28688f2e6e3b5a',1,'MorseClient::MorseClient(PhysicalLayer *phy)'],['../class_morse_client.html#aa5c8ec6823388877b7acfa0deab689a2',1,'MorseClient::MorseClient(AFSKClient *audio)']]], + ['mqtt_5fsubs_5fsuccess_5fqos_5f0',['MQTT_SUBS_SUCCESS_QOS_0',['../group__status__codes.html#ga5bbfeb0ed4631a9a1f37b62d13818340',1,'TypeDef.h']]], + ['mqtt_5fsubs_5fsuccess_5fqos_5f1',['MQTT_SUBS_SUCCESS_QOS_1',['../group__status__codes.html#ga0bd24d55b395964ae24a5fb3172fdf0c',1,'TypeDef.h']]], + ['mqtt_5fsubs_5fsuccess_5fqos_5f2',['MQTT_SUBS_SUCCESS_QOS_2',['../group__status__codes.html#ga4e88f8dfe1877017cb03e2fa1e6193f6',1,'TypeDef.h']]], + ['mqttclient',['MQTTClient',['../class_m_q_t_t_client.html',1,'MQTTClient'],['../class_m_q_t_t_client.html#a6ecdbc80b76ae32b926e84af620dacb6',1,'MQTTClient::MQTTClient()']]] +]; diff --git a/search/all_c.html b/search/all_c.html new file mode 100644 index 00000000..c1ae2cae --- /dev/null +++ b/search/all_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_c.js b/search/all_c.js new file mode 100644 index 00000000..eebb838c --- /dev/null +++ b/search/all_c.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['notone',['noTone',['../class_module.html#af998b86ce1243f616f6fcb6df5336207',1,'Module::noTone()'],['../class_a_f_s_k_client.html#ade91356bb158bbc820d28855dd5818d1',1,'AFSKClient::noTone()']]], + ['nrf24',['nRF24',['../classn_r_f24.html',1,'nRF24'],['../classn_r_f24.html#ab12de8d953c2384c5fff09b4abf65d1e',1,'nRF24::nRF24()']]], + ['numrepeaters',['numRepeaters',['../class_a_x25_frame.html#ad27453a838ba90f917a1a9853358bb9a',1,'AX25Frame']]], + ['numtones',['numTones',['../struct_s_s_t_v_mode__t.html#ae3d67bbc9815c38bea17ec070c8c0096',1,'SSTVMode_t']]] +]; diff --git a/search/all_d.html b/search/all_d.html new file mode 100644 index 00000000..712223c6 --- /dev/null +++ b/search/all_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_d.js b/search/all_d.js new file mode 100644 index 00000000..3b937e83 --- /dev/null +++ b/search/all_d.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['opentransportconnection',['openTransportConnection',['../class_e_s_p8266.html#a535f4b7a8ef104b208753f9361568d20',1,'ESP8266::openTransportConnection()'],['../class_transport_layer.html#a36b1ceebca3643fb475607d3d92f5d63',1,'TransportLayer::openTransportConnection()']]], + ['operator_3d',['operator=',['../class_module.html#a4ea888758b4a7784082d513a1e7849a4',1,'Module::operator=()'],['../class_a_x25_frame.html#a52e7e5f6f48c3e62544721d2a5e00640',1,'AX25Frame::operator=()']]] +]; diff --git a/search/all_e.html b/search/all_e.html new file mode 100644 index 00000000..d553ffa2 --- /dev/null +++ b/search/all_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_e.js b/search/all_e.js new file mode 100644 index 00000000..8f833837 --- /dev/null +++ b/search/all_e.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['packetmode',['packetMode',['../class_c_c1101.html#a38f6978c757b0dd73e3ef98164a735a2',1,'CC1101::packetMode()'],['../class_r_f69.html#a6a67dd698b3cc6afcaf18c3710ad5f0f',1,'RF69::packetMode()'],['../class_si443x.html#a616eb24c4b11c5d39caaade160be8092',1,'Si443x::packetMode()'],['../class_s_x127x.html#a0995088d37689a3c240a1af791df6cf1',1,'SX127x::packetMode()']]], + ['physicallayer',['PhysicalLayer',['../class_physical_layer.html',1,'PhysicalLayer'],['../class_physical_layer.html#a5e02457f1d519cf81b1590a182321c62',1,'PhysicalLayer::PhysicalLayer()']]], + ['ping',['ping',['../class_m_q_t_t_client.html#aea3fb930ed43a0b3122ccc90efebb99d',1,'MQTTClient']]], + ['pinmode',['pinMode',['../class_module.html#af7e4872dad3d19b6f75f532c88683168',1,'Module']]], + ['post',['post',['../class_h_t_t_p_client.html#ac1119b889b6fed7bd4d119d3e4842acb',1,'HTTPClient']]], + ['preamble_5fdetected',['PREAMBLE_DETECTED',['../group__status__codes.html#gae20ae543b703697fa7bebfcec73617ee',1,'TypeDef.h']]], + ['printglyph',['printGlyph',['../class_hell_client.html#ac527806ef871dc12555afe7c43a72ed9',1,'HellClient']]], + ['protocolid',['protocolID',['../class_a_x25_frame.html#aa8895fea37220c82f68bd320331595c8',1,'AX25Frame']]], + ['publish',['publish',['../class_m_q_t_t_client.html#ace3ee45313dea2f853207accf20b7c87',1,'MQTTClient::publish(String &topic, String &message)'],['../class_m_q_t_t_client.html#ab59a1174098dfdf514d8ec6d0bd9d015',1,'MQTTClient::publish(const char *topic, const char *message)']]] +]; diff --git a/search/all_f.html b/search/all_f.html new file mode 100644 index 00000000..c77391a0 --- /dev/null +++ b/search/all_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_f.js b/search/all_f.js new file mode 100644 index 00000000..174306d7 --- /dev/null +++ b/search/all_f.js @@ -0,0 +1,41 @@ +var searchData= +[ + ['radiolib_20documentation',['RadioLib Documentation',['../index.html',1,'']]], + ['radiolib_5fencoding_5fmanchester',['RADIOLIB_ENCODING_MANCHESTER',['../group__config__encoding.html#gaffff394bbc47c05ed1bfde2e16a596e8',1,'TypeDef.h']]], + ['radiolib_5fencoding_5fnrz',['RADIOLIB_ENCODING_NRZ',['../group__config__encoding.html#ga0253ae0c289d950e36106102a983f9cb',1,'TypeDef.h']]], + ['radiolib_5fencoding_5fwhitening',['RADIOLIB_ENCODING_WHITENING',['../group__config__encoding.html#ga0bfc51be5abf0b434a49540bddb65328',1,'TypeDef.h']]], + ['radiolib_5fshaping_5f0_5f3',['RADIOLIB_SHAPING_0_3',['../group__config__shaping.html#ga6a562fca42573d39e4a214c293756f64',1,'TypeDef.h']]], + ['radiolib_5fshaping_5f0_5f5',['RADIOLIB_SHAPING_0_5',['../group__config__shaping.html#gaa778d14c29d21fe329137a28a3f54a5d',1,'TypeDef.h']]], + ['radiolib_5fshaping_5f0_5f7',['RADIOLIB_SHAPING_0_7',['../group__config__shaping.html#ga677dde0ea956d5e99af30cf501a727ad',1,'TypeDef.h']]], + ['radiolib_5fshaping_5f1_5f0',['RADIOLIB_SHAPING_1_0',['../group__config__shaping.html#ga80e2185af1123c7632aa40cad1691e6d',1,'TypeDef.h']]], + ['radiolib_5fshaping_5fnone',['RADIOLIB_SHAPING_NONE',['../group__config__shaping.html#gaa9495bc5eb54df04f2ed7b1ccbb4f277',1,'TypeDef.h']]], + ['radiolib_5fuart_5fflow_5fboth',['RADIOLIB_UART_FLOW_BOTH',['../group__uart__config.html#ga939e120f07199ce8e21ed2e22d200dab',1,'TypeDef.h']]], + ['radiolib_5fuart_5fflow_5fcts',['RADIOLIB_UART_FLOW_CTS',['../group__uart__config.html#gab526b0043d5cec8d83ee4ea164698548',1,'TypeDef.h']]], + ['radiolib_5fuart_5fflow_5fnone',['RADIOLIB_UART_FLOW_NONE',['../group__uart__config.html#ga8b65a960ee0f2aa0192ade54b78057d9',1,'TypeDef.h']]], + ['radiolib_5fuart_5fflow_5frts',['RADIOLIB_UART_FLOW_RTS',['../group__uart__config.html#gae077d53c5c120a989b1f285f183f1b78',1,'TypeDef.h']]], + ['radiolib_5fuart_5fparity_5feven',['RADIOLIB_UART_PARITY_EVEN',['../group__uart__config.html#ga4af49de10b0a0f569be3de38cab8b4bb',1,'TypeDef.h']]], + ['radiolib_5fuart_5fparity_5fnone',['RADIOLIB_UART_PARITY_NONE',['../group__uart__config.html#ga3b50652499c533c7b58b917e3f2cf528',1,'TypeDef.h']]], + ['radiolib_5fuart_5fparity_5fodd',['RADIOLIB_UART_PARITY_ODD',['../group__uart__config.html#gaab1a378c99156fb89223c0b389bbe1db',1,'TypeDef.h']]], + ['radiolib_5fuart_5fstopbit_5f1',['RADIOLIB_UART_STOPBIT_1',['../group__uart__config.html#ga2b4fdd9968a0a46909c7c018b0faa927',1,'TypeDef.h']]], + ['radiolib_5fuart_5fstopbit_5f1_5f5',['RADIOLIB_UART_STOPBIT_1_5',['../group__uart__config.html#gad418f0922126e27279d1a374fc63e036',1,'TypeDef.h']]], + ['radiolib_5fuart_5fstopbit_5f2',['RADIOLIB_UART_STOPBIT_2',['../group__uart__config.html#ga65930f2e5d365bb0e778b62b2840715f',1,'TypeDef.h']]], + ['radiolib_5fuse_5fi2c',['RADIOLIB_USE_I2C',['../group__shield__config.html#ga8bc7260b2813f9c4635596e3ae7930de',1,'TypeDef.h']]], + ['radiolib_5fuse_5fspi',['RADIOLIB_USE_SPI',['../group__shield__config.html#ga19ca32b49e830d8a5b37e670ae56c78f',1,'TypeDef.h']]], + ['radiolib_5fuse_5fuart',['RADIOLIB_USE_UART',['../group__shield__config.html#ga9d666489c03cb4d7fda0d47ad6c8ea3e',1,'TypeDef.h']]], + ['range',['range',['../class_s_x1280.html#a812e289084b2f78977b254c28f0fff7c',1,'SX1280']]], + ['rcvseqnumber',['rcvSeqNumber',['../class_a_x25_frame.html#adce5294af25f09df752997d33ac0e87f',1,'AX25Frame']]], + ['readdata',['readData',['../class_c_c1101.html#a8c79975a7bbe8a37f8214ecd1f69ba22',1,'CC1101::readData()'],['../classn_r_f24.html#a410fb78acb4ed358818c132687b8857a',1,'nRF24::readData()'],['../class_r_f69.html#a3983b66c83818b4082805bcafc712f00',1,'RF69::readData()'],['../class_si443x.html#ad00ff8b58c68118ad74fee82028aa71e',1,'Si443x::readData()'],['../class_s_x126x.html#a3350cbfab628956c1a456383ac7bb2b2',1,'SX126x::readData()'],['../class_s_x127x.html#abfc840e8d6fe5e222f0143be17876745',1,'SX127x::readData()'],['../class_s_x128x.html#a94bca43258b09217fb476a2d8db784bb',1,'SX128x::readData()'],['../class_physical_layer.html#ae8eed0e888a7c8742e89d2b850977de2',1,'PhysicalLayer::readData(String &str, size_t len=0)'],['../class_physical_layer.html#ae8b6c756eb4b92855433ca389d73c632',1,'PhysicalLayer::readData(uint8_t *data, size_t len)=0']]], + ['receive',['receive',['../class_c_c1101.html#aedc1067d0334bb69ed5316146014097d',1,'CC1101::receive()'],['../class_e_s_p8266.html#aa79f841de9ae9c5d6057e89a9f1721ea',1,'ESP8266::receive()'],['../classn_r_f24.html#a239e94511d9ee67ad3d64a49a5c4d7ac',1,'nRF24::receive()'],['../class_r_f69.html#ae36e8e6042245621a182b29526fe2245',1,'RF69::receive()'],['../class_si443x.html#aabca3ba8eda212938febab1df2e764b4',1,'Si443x::receive()'],['../class_s_x126x.html#ae3db6b29c482d94eef8a43cd8b5751c0',1,'SX126x::receive()'],['../class_s_x127x.html#adfe0d3f033a23ec2f3c2a407285d357c',1,'SX127x::receive()'],['../class_s_x128x.html#a32b7b674d63c36f15b7f58a2cb837a99',1,'SX128x::receive()'],['../class_physical_layer.html#afb1b090348d9091bfa3a0b5ba3d85b36',1,'PhysicalLayer::receive(String &str, size_t len=0)'],['../class_physical_layer.html#a2ad4c6a8ac267f8ac590260414ffcda3',1,'PhysicalLayer::receive(uint8_t *data, size_t len)=0'],['../class_transport_layer.html#a846492348f71d7328834076c9046dc3f',1,'TransportLayer::receive()']]], + ['receivedirect',['receiveDirect',['../class_c_c1101.html#ab053c185330519d58f364790108d29ac',1,'CC1101::receiveDirect()'],['../classn_r_f24.html#a415d86947742e981bfcf7f2371f8605c',1,'nRF24::receiveDirect()'],['../class_r_f69.html#abd556b0f455f9510213b17588a4baf1b',1,'RF69::receiveDirect()'],['../class_si443x.html#a178b471527813a608c04db7d3c9648d6',1,'Si443x::receiveDirect()'],['../class_s_x126x.html#a8a18aee2bf05793aa29b5cf6b47bb435',1,'SX126x::receiveDirect()'],['../class_s_x127x.html#aa7ac558d537c6364c4bc82c8f33e398f',1,'SX127x::receiveDirect()'],['../class_s_x128x.html#aff7d86352c98771595375e17d19a2a97',1,'SX128x::receiveDirect()'],['../class_physical_layer.html#a46b22145b33e97cf6065ed826799b6b4',1,'PhysicalLayer::receiveDirect()']]], + ['repeatercallsigns',['repeaterCallsigns',['../class_a_x25_frame.html#a29eb08c9e72bbaced8d37dcb2343ee94',1,'AX25Frame']]], + ['repeaterssids',['repeaterSSIDs',['../class_a_x25_frame.html#a5b63c6b6f69e0ac47ba9230ad39c6830',1,'AX25Frame']]], + ['reset',['reset',['../class_e_s_p8266.html#aee0279b476a83a55f54ab22e6d8f3904',1,'ESP8266::reset()'],['../class_r_f69.html#af953ee17aca5392f1e62ea4fe690550a',1,'RF69::reset()'],['../class_si443x.html#ae782ee06e2c463c24f22f5d4c3dd8d97',1,'Si443x::reset()'],['../class_s_x126x.html#a9aa6dd05dd32ef717a06cc8ba28ff71f',1,'SX126x::reset()'],['../class_s_x1272.html#a0978cc9ecbb7b9d3a017c133506e57ac',1,'SX1272::reset()'],['../class_s_x1278.html#a6d60902ac59b653a9eb83e82a932f7ad',1,'SX1278::reset()'],['../class_s_x127x.html#a3321ac4a7f65e73004202486db9b1d68',1,'SX127x::reset()'],['../class_s_x128x.html#a2643ce22176293631fea2169f5e68e66',1,'SX128x::reset()'],['../class_x_bee_serial.html#a1870183689e2a2a17aa36e0d6d30ea3f',1,'XBeeSerial::reset()'],['../class_x_bee.html#a10a4b3df9d5980e89a126848ec31613c',1,'XBee::reset()']]], + ['rf69',['RF69',['../class_r_f69.html',1,'RF69'],['../class_r_f69.html#afbc84d4f91502bcbe12ddda2fde51448',1,'RF69::RF69()']]], + ['rfm22',['RFM22',['../class_r_f_m22.html',1,'']]], + ['rfm23',['RFM23',['../class_r_f_m23.html',1,'']]], + ['rfm95',['RFM95',['../class_r_f_m95.html',1,'RFM95'],['../class_r_f_m95.html#a89dfea02aef1a2b47a3af83801c74326',1,'RFM95::RFM95()']]], + ['rfm96',['RFM96',['../class_r_f_m96.html',1,'RFM96'],['../class_r_f_m96.html#ad139e35a7465bf7ad83aef85998b4e7a',1,'RFM96::RFM96()']]], + ['rfm97',['RFM97',['../class_r_f_m97.html',1,'RFM97'],['../class_r_f_m97.html#ab7a6b22776df24d081225dcfe177e1be',1,'RFM97::RFM97()']]], + ['rfm98',['RFM98',['../class_r_f_m98.html',1,'']]], + ['rttyclient',['RTTYClient',['../class_r_t_t_y_client.html',1,'RTTYClient'],['../class_r_t_t_y_client.html#ae6bc08fa88457ee00a992448be1d63ea',1,'RTTYClient::RTTYClient(PhysicalLayer *phy)'],['../class_r_t_t_y_client.html#ab0e11944c2f1e2c60fc45bcd2db18570',1,'RTTYClient::RTTYClient(AFSKClient *audio)']]] +]; diff --git a/search/classes_0.html b/search/classes_0.html new file mode 100644 index 00000000..025587a7 --- /dev/null +++ b/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_0.js b/search/classes_0.js new file mode 100644 index 00000000..67cdef81 --- /dev/null +++ b/search/classes_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['afskclient',['AFSKClient',['../class_a_f_s_k_client.html',1,'']]], + ['ax25client',['AX25Client',['../class_a_x25_client.html',1,'']]], + ['ax25frame',['AX25Frame',['../class_a_x25_frame.html',1,'']]] +]; diff --git a/search/classes_1.html b/search/classes_1.html new file mode 100644 index 00000000..86dc4ffe --- /dev/null +++ b/search/classes_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_1.js b/search/classes_1.js new file mode 100644 index 00000000..cfe0bbda --- /dev/null +++ b/search/classes_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['cc1101',['CC1101',['../class_c_c1101.html',1,'']]] +]; diff --git a/search/classes_2.html b/search/classes_2.html new file mode 100644 index 00000000..014caf80 --- /dev/null +++ b/search/classes_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_2.js b/search/classes_2.js new file mode 100644 index 00000000..21a61e6b --- /dev/null +++ b/search/classes_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['esp8266',['ESP8266',['../class_e_s_p8266.html',1,'']]] +]; diff --git a/search/classes_3.html b/search/classes_3.html new file mode 100644 index 00000000..2e972011 --- /dev/null +++ b/search/classes_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_3.js b/search/classes_3.js new file mode 100644 index 00000000..865fdd7d --- /dev/null +++ b/search/classes_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['hc05',['HC05',['../class_h_c05.html',1,'']]], + ['hellclient',['HellClient',['../class_hell_client.html',1,'']]], + ['httpclient',['HTTPClient',['../class_h_t_t_p_client.html',1,'']]] +]; diff --git a/search/classes_4.html b/search/classes_4.html new file mode 100644 index 00000000..776fee37 --- /dev/null +++ b/search/classes_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_4.js b/search/classes_4.js new file mode 100644 index 00000000..4674c9de --- /dev/null +++ b/search/classes_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['iserial',['ISerial',['../class_i_serial.html',1,'']]], + ['ita2string',['ITA2String',['../class_i_t_a2_string.html',1,'']]] +]; diff --git a/search/classes_5.html b/search/classes_5.html new file mode 100644 index 00000000..69bbcc8b --- /dev/null +++ b/search/classes_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_5.js b/search/classes_5.js new file mode 100644 index 00000000..67c1786e --- /dev/null +++ b/search/classes_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['jdy08',['JDY08',['../class_j_d_y08.html',1,'']]] +]; diff --git a/search/classes_6.html b/search/classes_6.html new file mode 100644 index 00000000..2db08a01 --- /dev/null +++ b/search/classes_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_6.js b/search/classes_6.js new file mode 100644 index 00000000..e3270e22 --- /dev/null +++ b/search/classes_6.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['module',['Module',['../class_module.html',1,'']]], + ['morseclient',['MorseClient',['../class_morse_client.html',1,'']]], + ['mqttclient',['MQTTClient',['../class_m_q_t_t_client.html',1,'']]] +]; diff --git a/search/classes_7.html b/search/classes_7.html new file mode 100644 index 00000000..fd67346e --- /dev/null +++ b/search/classes_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_7.js b/search/classes_7.js new file mode 100644 index 00000000..7b31668e --- /dev/null +++ b/search/classes_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['nrf24',['nRF24',['../classn_r_f24.html',1,'']]] +]; diff --git a/search/classes_8.html b/search/classes_8.html new file mode 100644 index 00000000..369fe529 --- /dev/null +++ b/search/classes_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_8.js b/search/classes_8.js new file mode 100644 index 00000000..49c8c352 --- /dev/null +++ b/search/classes_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['physicallayer',['PhysicalLayer',['../class_physical_layer.html',1,'']]] +]; diff --git a/search/classes_9.html b/search/classes_9.html new file mode 100644 index 00000000..188dbb38 --- /dev/null +++ b/search/classes_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_9.js b/search/classes_9.js new file mode 100644 index 00000000..716f0f5e --- /dev/null +++ b/search/classes_9.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['rf69',['RF69',['../class_r_f69.html',1,'']]], + ['rfm22',['RFM22',['../class_r_f_m22.html',1,'']]], + ['rfm23',['RFM23',['../class_r_f_m23.html',1,'']]], + ['rfm95',['RFM95',['../class_r_f_m95.html',1,'']]], + ['rfm96',['RFM96',['../class_r_f_m96.html',1,'']]], + ['rfm97',['RFM97',['../class_r_f_m97.html',1,'']]], + ['rfm98',['RFM98',['../class_r_f_m98.html',1,'']]], + ['rttyclient',['RTTYClient',['../class_r_t_t_y_client.html',1,'']]] +]; diff --git a/search/classes_a.html b/search/classes_a.html new file mode 100644 index 00000000..e7610d35 --- /dev/null +++ b/search/classes_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_a.js b/search/classes_a.js new file mode 100644 index 00000000..387f1a43 --- /dev/null +++ b/search/classes_a.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['si4430',['Si4430',['../class_si4430.html',1,'']]], + ['si4431',['Si4431',['../class_si4431.html',1,'']]], + ['si4432',['Si4432',['../class_si4432.html',1,'']]], + ['si443x',['Si443x',['../class_si443x.html',1,'']]], + ['sstvclient',['SSTVClient',['../class_s_s_t_v_client.html',1,'']]], + ['sstvmode_5ft',['SSTVMode_t',['../struct_s_s_t_v_mode__t.html',1,'']]], + ['sx1231',['SX1231',['../class_s_x1231.html',1,'']]], + ['sx1261',['SX1261',['../class_s_x1261.html',1,'']]], + ['sx1262',['SX1262',['../class_s_x1262.html',1,'']]], + ['sx1268',['SX1268',['../class_s_x1268.html',1,'']]], + ['sx126x',['SX126x',['../class_s_x126x.html',1,'']]], + ['sx1272',['SX1272',['../class_s_x1272.html',1,'']]], + ['sx1273',['SX1273',['../class_s_x1273.html',1,'']]], + ['sx1276',['SX1276',['../class_s_x1276.html',1,'']]], + ['sx1277',['SX1277',['../class_s_x1277.html',1,'']]], + ['sx1278',['SX1278',['../class_s_x1278.html',1,'']]], + ['sx1279',['SX1279',['../class_s_x1279.html',1,'']]], + ['sx127x',['SX127x',['../class_s_x127x.html',1,'']]], + ['sx1280',['SX1280',['../class_s_x1280.html',1,'']]], + ['sx1281',['SX1281',['../class_s_x1281.html',1,'']]], + ['sx1282',['SX1282',['../class_s_x1282.html',1,'']]], + ['sx128x',['SX128x',['../class_s_x128x.html',1,'']]] +]; diff --git a/search/classes_b.html b/search/classes_b.html new file mode 100644 index 00000000..4fc0a3f6 --- /dev/null +++ b/search/classes_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_b.js b/search/classes_b.js new file mode 100644 index 00000000..5aeeb492 --- /dev/null +++ b/search/classes_b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['tone_5ft',['tone_t',['../structtone__t.html',1,'']]], + ['transportlayer',['TransportLayer',['../class_transport_layer.html',1,'']]] +]; diff --git a/search/classes_c.html b/search/classes_c.html new file mode 100644 index 00000000..d2a582ec --- /dev/null +++ b/search/classes_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_c.js b/search/classes_c.js new file mode 100644 index 00000000..028f5688 --- /dev/null +++ b/search/classes_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['xbee',['XBee',['../class_x_bee.html',1,'']]], + ['xbeeserial',['XBeeSerial',['../class_x_bee_serial.html',1,'']]] +]; diff --git a/search/close.png b/search/close.png new file mode 100644 index 0000000000000000000000000000000000000000..9342d3dfeea7b7c4ee610987e717804b5a42ceb9 GIT binary patch literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN literal 0 HcmV?d00001 diff --git a/search/functions_0.html b/search/functions_0.html new file mode 100644 index 00000000..6bc52b61 --- /dev/null +++ b/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_0.js b/search/functions_0.js new file mode 100644 index 00000000..3ce0a8ca --- /dev/null +++ b/search/functions_0.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['afskclient',['AFSKClient',['../class_a_f_s_k_client.html#acfe53917bcba7f79611e01865c42fefd',1,'AFSKClient']]], + ['atemptybuffer',['ATemptyBuffer',['../class_module.html#ad5767216ba9340ae6d86915b12e89bd6',1,'Module']]], + ['atgetresponse',['ATgetResponse',['../class_module.html#ad1aadc2b52eea2bf9d26591091eec3f1',1,'Module']]], + ['atsendcommand',['ATsendCommand',['../class_module.html#a5c09c878b55f56990dd0c2972a3440c4',1,'Module']]], + ['atsenddata',['ATsendData',['../class_module.html#a623aee6405b330b7c935013ff3d01100',1,'Module']]], + ['attachinterrupt',['attachInterrupt',['../class_module.html#a91aaa34aecdfeaf24948551b037033be',1,'Module']]], + ['autoldro',['autoLDRO',['../class_s_x126x.html#ab9ce38cfeaa36ddcc2d82b2974d7088c',1,'SX126x::autoLDRO()'],['../class_s_x1272.html#abb4bbfe8acc6026c833d267d78417b63',1,'SX1272::autoLDRO()'],['../class_s_x1278.html#ae02adcde8c2978c0d1b157729dd5df1e',1,'SX1278::autoLDRO()']]], + ['available',['available',['../class_x_bee.html#a5ecae4c93f7aaaf85146f75eebd38891',1,'XBee']]], + ['ax25client',['AX25Client',['../class_a_x25_client.html#ab074563d4d22a42d5ea9ad1693d6f373',1,'AX25Client::AX25Client(PhysicalLayer *phy)'],['../class_a_x25_client.html#a6e81e629817cdf1b377e4b4f7e4d6520',1,'AX25Client::AX25Client(AFSKClient *audio)']]], + ['ax25frame',['AX25Frame',['../class_a_x25_frame.html#a138d97d90a371bef7ebd86cce1cc4979',1,'AX25Frame::AX25Frame(const char *destCallsign, uint8_t destSSID, const char *srcCallsign, uint8_t srcSSID, uint8_t control)'],['../class_a_x25_frame.html#a60e1b318d6e4b9299a4eab72e40877fc',1,'AX25Frame::AX25Frame(const char *destCallsign, uint8_t destSSID, const char *srcCallsign, uint8_t srcSSID, uint8_t control, uint8_t protocolID, const char *info)'],['../class_a_x25_frame.html#a3899b8698d772b8285629d6a4f2a642a',1,'AX25Frame::AX25Frame(const char *destCallsign, uint8_t destSSID, const char *srcCallsign, uint8_t srcSSID, uint8_t control, uint8_t protocolID, uint8_t *info, uint16_t infoLen)'],['../class_a_x25_frame.html#a25b83cc9c281d2758165833fe238fe0e',1,'AX25Frame::AX25Frame(const AX25Frame &frame)']]] +]; diff --git a/search/functions_1.html b/search/functions_1.html new file mode 100644 index 00000000..648831fd --- /dev/null +++ b/search/functions_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_1.js b/search/functions_1.js new file mode 100644 index 00000000..bc8a24ec --- /dev/null +++ b/search/functions_1.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['begin',['begin',['../class_c_c1101.html#adcf6b5c4e1a066d6b9be326a9ee04284',1,'CC1101::begin()'],['../class_e_s_p8266.html#ae25a6901976a548443e2b7d49ca94d9b',1,'ESP8266::begin()'],['../class_h_c05.html#a83cf61ee5a79c06f43861a6e5a8a15b6',1,'HC05::begin()'],['../class_j_d_y08.html#a6fca03bb9f163c16d193904beac6b0b1',1,'JDY08::begin()'],['../classn_r_f24.html#a60eb59262c5004b587b1d8177706ff28',1,'nRF24::begin()'],['../class_r_f69.html#a4d0dea965aba1017a660c9478ec57560',1,'RF69::begin()'],['../class_r_f_m95.html#a9fd59fdec8591334cfa02514ca7aabf6',1,'RFM95::begin()'],['../class_r_f_m96.html#a959e10f61fd3fdfc013733bd6c081335',1,'RFM96::begin()'],['../class_si4430.html#a8e17e67d0d3dd9b478be964be8647ca7',1,'Si4430::begin()'],['../class_si4431.html#ab9d7e3e4d0191dff2a1483bcfa555ac4',1,'Si4431::begin()'],['../class_si4432.html#a0791a0d720bbe38030ba6ed95a383b71',1,'Si4432::begin()'],['../class_si443x.html#a453eda5436dc4dfe0dad676dc3977752',1,'Si443x::begin()'],['../class_s_x1231.html#a20d6eb4b8f18fb7f8d02967937ec6f8e',1,'SX1231::begin()'],['../class_s_x1262.html#abb79631385e5bc3ed5b39fe33b80cc2b',1,'SX1262::begin()'],['../class_s_x1268.html#a19554c257984c0806ae95ee209dfa296',1,'SX1268::begin()'],['../class_s_x126x.html#a1b97488c6887df2e0291bba1b852605e',1,'SX126x::begin()'],['../class_s_x1272.html#aaa5a787164fb216c12b8dea4d810f7f3',1,'SX1272::begin()'],['../class_s_x1273.html#adf46338bf36c2d43e591426ae7b6082a',1,'SX1273::begin()'],['../class_s_x1276.html#af8c818f27a8b9f964cee23cc1f397f94',1,'SX1276::begin()'],['../class_s_x1277.html#aa2b5816c06cd644fd33171ee61cf325b',1,'SX1277::begin()'],['../class_s_x1278.html#af7d9dc775820f7b260b578908cea3dbe',1,'SX1278::begin()'],['../class_s_x1279.html#a86e675a0c6f5970370ae6a9b1be27167',1,'SX1279::begin()'],['../class_s_x127x.html#a5da8218f69e3bf52df389a0480f8b430',1,'SX127x::begin()'],['../class_s_x128x.html#a520bb5a5daa1fee6c0d6704fa929cf35',1,'SX128x::begin()'],['../class_x_bee_serial.html#ac184a4dec32eaeafdb8e68079c3fd932',1,'XBeeSerial::begin()'],['../class_x_bee.html#a84b4593723cab4d5ce14e2bf4ee6dbe4',1,'XBee::begin()'],['../class_a_x25_client.html#a38be2b9385e4804339b3e4b57b90c2ca',1,'AX25Client::begin()'],['../class_hell_client.html#a225775fe87f9ed3c3a04142697641242',1,'HellClient::begin()'],['../class_morse_client.html#a516f19bb51b87ead7f7ed149f2ca92cf',1,'MorseClient::begin()'],['../class_r_t_t_y_client.html#ad8856bc336b9a70f8239084740c22c10',1,'RTTYClient::begin()'],['../class_s_s_t_v_client.html#a3d85be3941250366eec2cd9a147a4f5c',1,'SSTVClient::begin(float base, const SSTVMode_t &mode, float correction=1.0)'],['../class_s_s_t_v_client.html#a8606cf73f86f6f1b29cea9ae9b46c81e',1,'SSTVClient::begin(const SSTVMode_t &mode, float correction=1.0)']]], + ['beginble',['beginBLE',['../class_s_x128x.html#a316340d7ba2a6e7cb5742e3ff21e728c',1,'SX128x']]], + ['beginflrc',['beginFLRC',['../class_s_x128x.html#ac7df67afbb0b1a88daf5ec50f3d65660',1,'SX128x']]], + ['beginfsk',['beginFSK',['../class_s_x1262.html#ac1da6cc500564bc257031527cc54c80b',1,'SX1262::beginFSK()'],['../class_s_x1268.html#a6523b6928ee5ed26e205b07ee4f07b60',1,'SX1268::beginFSK()'],['../class_s_x126x.html#a2e500e5b6044ccab8f6b19af4ffa917c',1,'SX126x::beginFSK()'],['../class_s_x1272.html#a2ee9fb48eeaf41876de00d3774be78cf',1,'SX1272::beginFSK()'],['../class_s_x1276.html#a4154b0ed21583ab37eaf52225d156ad8',1,'SX1276::beginFSK()'],['../class_s_x1277.html#a1205719d59b2935ae9b1c953fa23509a',1,'SX1277::beginFSK()'],['../class_s_x1278.html#a33dc718c83c233a1f93d6bdf2ec31783',1,'SX1278::beginFSK()'],['../class_s_x1279.html#a94a6c5f49eb8f26b7eeb1d5ee258f089',1,'SX1279::beginFSK()'],['../class_s_x127x.html#add78edb65673d9e88931a55b0672a9f3',1,'SX127x::beginFSK()']]], + ['begingfsk',['beginGFSK',['../class_s_x128x.html#a8dd8ce38bc9d0d8dbd711b373e864e93',1,'SX128x']]], + ['bytearr',['byteArr',['../class_i_t_a2_string.html#a3f42f7ad98473dbe36515e676622ed3d',1,'ITA2String']]] +]; diff --git a/search/functions_10.html b/search/functions_10.html new file mode 100644 index 00000000..8bc4de4a --- /dev/null +++ b/search/functions_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_10.js b/search/functions_10.js new file mode 100644 index 00000000..1b0b7849 --- /dev/null +++ b/search/functions_10.js @@ -0,0 +1,93 @@ +var searchData= +[ + ['scanchannel',['scanChannel',['../class_s_x126x.html#ae9f24414bd684434c310df54b3558f21',1,'SX126x::scanChannel()'],['../class_s_x127x.html#ada007b90821258fe8c6ca7f8ae3efed5',1,'SX127x::scanChannel()'],['../class_s_x128x.html#a89cc916f5cd5cdfbd331bb15f8a3d5cb',1,'SX128x::scanChannel()']]], + ['send',['send',['../class_e_s_p8266.html#a1caaa537edd52d1c2b7a0a25ef69c1c9',1,'ESP8266::send(const char *data) override'],['../class_e_s_p8266.html#a2f34474953b7dbe4d057c8e3f65e0dc4',1,'ESP8266::send(uint8_t *data, size_t len) override'],['../class_transport_layer.html#a1d9cb76640868aa0338b52808e4f022d',1,'TransportLayer::send(const char *data)=0'],['../class_transport_layer.html#afb001c6348bc19694090532cc5f00e52',1,'TransportLayer::send(uint8_t *data, size_t len)=0']]], + ['sendframe',['sendFrame',['../class_a_x25_client.html#a341db993853c6817a8f6c7087ead0ba6',1,'AX25Client']]], + ['sendheader',['sendHeader',['../class_s_s_t_v_client.html#a30741de183c81492402187b9d6d8c11e',1,'SSTVClient']]], + ['sendline',['sendLine',['../class_s_s_t_v_client.html#a772bfc68ac0a5f723c1031138dc27bd0',1,'SSTVClient']]], + ['setaccessaddress',['setAccessAddress',['../class_s_x128x.html#a9346490a6c56edcff2e12ae0369a8df5',1,'SX128x']]], + ['setaddresswidth',['setAddressWidth',['../classn_r_f24.html#a5b01677f5ce6bee54da8fc7098c339f4',1,'nRF24']]], + ['setaeskey',['setAESKey',['../class_r_f69.html#abe5b378d7cc274fd8b75881e7d604bf3',1,'RF69']]], + ['setambienttemperature',['setAmbientTemperature',['../class_r_f69.html#ac37d9ddee2adcc8876a182b8ebc3e703',1,'RF69']]], + ['setautoack',['setAutoAck',['../classn_r_f24.html#aca941c9235ba1212257288554eb4b7fe',1,'nRF24::setAutoAck(bool autoAckOn=true)'],['../classn_r_f24.html#ac1c3419442d93abeede39e7fda4db62e',1,'nRF24::setAutoAck(uint8_t pipeNum, bool autoAckOn)']]], + ['setbandwidth',['setBandwidth',['../class_s_x126x.html#a2f60df59c80241d98ce078c0417a7f08',1,'SX126x::setBandwidth()'],['../class_s_x1272.html#a0cc8eeb00241031796fc73b08711469b',1,'SX1272::setBandwidth()'],['../class_s_x1278.html#a46c27ed1ebaae4e3ed8afe3ae6941dd6',1,'SX1278::setBandwidth()'],['../class_s_x128x.html#ae93c99c85deb950fe9bc7101142b5f6a',1,'SX128x::setBandwidth()']]], + ['setbitrate',['setBitRate',['../class_c_c1101.html#aa53427cabcda0778f287ed1d850bbe37',1,'CC1101::setBitRate()'],['../class_r_f69.html#ad7f8132912a5dbf38c5cf676ac167d13',1,'RF69::setBitRate()'],['../class_si443x.html#ad43575e731dd7e66d5ad9e6dccd27170',1,'Si443x::setBitRate()'],['../class_s_x126x.html#a7deeef45d7f64a4018a3e56aaea4eb0e',1,'SX126x::setBitRate()'],['../class_s_x127x.html#a606d839b3a992c681ac9ad7ca6020022',1,'SX127x::setBitRate()'],['../class_s_x128x.html#a3bee00ec197ef9855c0079cb0a3009a6',1,'SX128x::setBitRate()']]], + ['setbroadcastaddress',['setBroadcastAddress',['../class_r_f69.html#a1b7598b87ffaabdbe733c47317fa91d8',1,'RF69::setBroadcastAddress()'],['../class_s_x126x.html#abd8eea7e468db3d6064c19d4934d5034',1,'SX126x::setBroadcastAddress()'],['../class_s_x127x.html#abc51ce6718153e4963128f25bb5aab40',1,'SX127x::setBroadcastAddress()']]], + ['setcodingrate',['setCodingRate',['../class_s_x126x.html#afd3113858966e878e9c67a1e710bd586',1,'SX126x::setCodingRate()'],['../class_s_x1272.html#a960913438feccad4c1913a9222384a5f',1,'SX1272::setCodingRate()'],['../class_s_x1278.html#a834f26a0bd3fc8a03fa7e68aa4daf9e1',1,'SX1278::setCodingRate()'],['../class_s_x128x.html#a9da544e4a6120f73a078b46c6138505a',1,'SX128x::setCodingRate()']]], + ['setcrc',['setCRC',['../class_s_x126x.html#a95007639c2648a1dbb614493224606f1',1,'SX126x::setCRC()'],['../class_s_x1272.html#a5a57abb0bc9f474452ffb828b13d1efb',1,'SX1272::setCRC()'],['../class_s_x1278.html#adf0b0d628c7f7479f19c153732363462',1,'SX1278::setCRC()'],['../class_s_x128x.html#aa4b1e0b96347011522e053f30202c0fe',1,'SX128x::setCRC()']]], + ['setcrcfiltering',['setCrcFiltering',['../class_c_c1101.html#aafac40359c4a1bb01aae12da6b03be26',1,'CC1101::setCrcFiltering()'],['../classn_r_f24.html#a3eb45884a5730ac1c339c7ba4f7b5282',1,'nRF24::setCrcFiltering()'],['../class_r_f69.html#ac205bc487833dc4eae4bb0069c0c4d1e',1,'RF69::setCrcFiltering()']]], + ['setcurrentlimit',['setCurrentLimit',['../class_s_x126x.html#a8f971dca834be7e0470a9a9f0c01854e',1,'SX126x::setCurrentLimit()'],['../class_s_x127x.html#a400575e3d83977bd250c5cb382fc7002',1,'SX127x::setCurrentLimit()']]], + ['setdatarate',['setDataRate',['../classn_r_f24.html#a1f3ec2196733a2e2476f50690967f285',1,'nRF24']]], + ['setdatashaping',['setDataShaping',['../class_c_c1101.html#adf96e77f25b7e256891601bef04f35a6',1,'CC1101::setDataShaping()'],['../classn_r_f24.html#a0db248d2bcdb4ca2b401e8e638442916',1,'nRF24::setDataShaping()'],['../class_r_f69.html#a42b99e437454e92c6932c3b7acc1fc4a',1,'RF69::setDataShaping()'],['../class_si443x.html#ade08c79074c7e4414d34eefa25cee168',1,'Si443x::setDataShaping()'],['../class_s_x126x.html#a1d8f4deb555844b24c2426dd86e69676',1,'SX126x::setDataShaping()'],['../class_s_x1272.html#a91aca64124321c07a67f26b3c6934aea',1,'SX1272::setDataShaping()'],['../class_s_x1278.html#afb740a4925b64d83d5edca10d93f0563',1,'SX1278::setDataShaping()'],['../class_s_x128x.html#a99491c705e88dddc820f884b778f1660',1,'SX128x::setDataShaping()'],['../class_physical_layer.html#ab643a814dce48f71a13bf6ea23f44cbd',1,'PhysicalLayer::setDataShaping()']]], + ['setdatashapingook',['setDataShapingOOK',['../class_s_x1272.html#a3a377445cb4b8fd41781a3210a819a47',1,'SX1272::setDataShapingOOK()'],['../class_s_x1278.html#a1ccc4d5062f739d534ab22562c7efca4',1,'SX1278::setDataShapingOOK()']]], + ['setdestinationaddress',['setDestinationAddress',['../class_x_bee_serial.html#ae485a8ebeaf574ffe0c2c56a61583f13',1,'XBeeSerial']]], + ['setdio0action',['setDio0Action',['../class_r_f69.html#a9e50a1183d13ff9984f8438a7e9e4a77',1,'RF69::setDio0Action()'],['../class_s_x127x.html#ada53419d65f207f352124da7747c5960',1,'SX127x::setDio0Action()']]], + ['setdio1action',['setDio1Action',['../class_r_f69.html#aa72ad2ac5238bd87886684064b7494cf',1,'RF69::setDio1Action()'],['../class_s_x126x.html#a0da667fe702d7b4aafaa4bf7e69ea40d',1,'SX126x::setDio1Action()'],['../class_s_x127x.html#afc844f7f3530f4076c8ea5f684c1b123',1,'SX127x::setDio1Action()'],['../class_s_x128x.html#a0759fb31b3ce5bf1c832259c9c2245ed',1,'SX128x::setDio1Action()']]], + ['setdio2asrfswitch',['setDio2AsRfSwitch',['../class_s_x126x.html#ae46e08d579f4acbad029b4cd4f4fffaf',1,'SX126x']]], + ['setencoding',['setEncoding',['../class_c_c1101.html#ab4b98eb6af33d006306bb7514ed216ea',1,'CC1101::setEncoding()'],['../classn_r_f24.html#a0429a9d6524005065e6fac21aaebdcbf',1,'nRF24::setEncoding()'],['../class_r_f69.html#aae828ce8dda16da4e54d2f18b1fb8af2',1,'RF69::setEncoding()'],['../class_si443x.html#a1382fc3b68f447e381613e6670747128',1,'Si443x::setEncoding()'],['../class_s_x126x.html#a2b3eb51117558c58384b03de4b7bfe60',1,'SX126x::setEncoding()'],['../class_s_x127x.html#abad2d455012bd28d304589c8164390eb',1,'SX127x::setEncoding()'],['../class_s_x128x.html#a8720a388d2cd10fac3112b89f4a80947',1,'SX128x::setEncoding()'],['../class_physical_layer.html#a7d3419227d201d6912b77784636d437d',1,'PhysicalLayer::setEncoding()']]], + ['setfrequency',['setFrequency',['../class_c_c1101.html#a9592c023556c38c2b8066a23da96ae5e',1,'CC1101::setFrequency()'],['../classn_r_f24.html#abec5f9dba44a019e23c8bf516f104fad',1,'nRF24::setFrequency()'],['../class_r_f69.html#ab467f0fc318e651d0cdfbc0399d4c34b',1,'RF69::setFrequency()'],['../class_r_f_m95.html#a9dbe60f998ddc661282ebf454dba0f87',1,'RFM95::setFrequency()'],['../class_r_f_m96.html#ae2be63ae8365648098b84cc86475fb84',1,'RFM96::setFrequency()'],['../class_si4430.html#a025a31861d1511090168e416140d0343',1,'Si4430::setFrequency()'],['../class_si4432.html#aa0cdb6cb53bb0176803d5115356a8e84',1,'Si4432::setFrequency()'],['../class_s_x1262.html#a7e72da22fa1fc2d87186107a3285e846',1,'SX1262::setFrequency()'],['../class_s_x1268.html#a6ad998275281de5c6f24f8a64db88052',1,'SX1268::setFrequency()'],['../class_s_x1272.html#af409f50e51042cf9357c0a8267f762f8',1,'SX1272::setFrequency()'],['../class_s_x1276.html#a657d75dced0af8c89c4e38535dd5b008',1,'SX1276::setFrequency()'],['../class_s_x1277.html#a42adde5eecccdca95214980848795e82',1,'SX1277::setFrequency()'],['../class_s_x1278.html#a4b14d432ef1bd72982f4771cac5b62e4',1,'SX1278::setFrequency()'],['../class_s_x1279.html#acf9b2087f5b661f06e9512bad36b3817',1,'SX1279::setFrequency()'],['../class_s_x128x.html#a2043ef7bb806968b9d9dcb64561ca371',1,'SX128x::setFrequency()']]], + ['setfrequencydeviation',['setFrequencyDeviation',['../class_c_c1101.html#a0d69713b9f20c9de354c13c3167b18b3',1,'CC1101::setFrequencyDeviation()'],['../classn_r_f24.html#a5170284f0a5535de7d00216d450b87a4',1,'nRF24::setFrequencyDeviation()'],['../class_r_f69.html#adb9fbfedf95f34ac537815870b98a9be',1,'RF69::setFrequencyDeviation()'],['../class_si443x.html#a7c4e6caa95e5622f6f515ba0339a1c66',1,'Si443x::setFrequencyDeviation()'],['../class_s_x126x.html#a7cd95a5f2e39ae8fb1a3040e77fa21a3',1,'SX126x::setFrequencyDeviation()'],['../class_s_x127x.html#a448ea8a6a6011a9cdddd4e09bd6c9679',1,'SX127x::setFrequencyDeviation()'],['../class_s_x128x.html#a26d0d02e5e53a3172df9208fa343a3f1',1,'SX128x::setFrequencyDeviation()'],['../class_physical_layer.html#ab9060e8ab7a2da192b3bf53b3501553b',1,'PhysicalLayer::setFrequencyDeviation()']]], + ['setgain',['setGain',['../class_s_x1272.html#ae1c57ad5e8496dc28cd3ba9852809852',1,'SX1272::setGain()'],['../class_s_x1278.html#aa57b713988cfa224a6db2ff325052931',1,'SX1278::setGain()']]], + ['setgdo0action',['setGdo0Action',['../class_c_c1101.html#a6dfd6a57cdbb3196ad021b152b0c65ed',1,'CC1101']]], + ['setgdo2action',['setGdo2Action',['../class_c_c1101.html#ac6338c2f5c937a12dac06069944ffb77',1,'CC1101']]], + ['setirqaction',['setIrqAction',['../classn_r_f24.html#abf9323748b1a850e6ddc6f6d48f4cfb3',1,'nRF24::setIrqAction()'],['../class_si443x.html#a801b51059e61f93d4e01ae6ba8eb0726',1,'Si443x::setIrqAction()']]], + ['setnodeaddress',['setNodeAddress',['../class_c_c1101.html#a6e62914790f132816134fc68c2bb5eb8',1,'CC1101::setNodeAddress()'],['../class_r_f69.html#ab9c217d5ece259950780a05c6e41f75c',1,'RF69::setNodeAddress()'],['../class_s_x126x.html#a514cabe74bbe3434d7e4f244c4077752',1,'SX126x::setNodeAddress()'],['../class_s_x127x.html#ab99630d50672b43fc7162ba8f3293f95',1,'SX127x::setNodeAddress()']]], + ['setook',['setOOK',['../class_c_c1101.html#afa64d1ad4789d3146b38d14437234756',1,'CC1101::setOOK()'],['../class_s_x127x.html#a24ef0af19a6b8954f956a3c3ad4286ee',1,'SX127x::setOOK()']]], + ['setoutputpower',['setOutputPower',['../class_c_c1101.html#ac3ff8051af5ca50c349e02257f1a3bda',1,'CC1101::setOutputPower()'],['../classn_r_f24.html#a824453d547c0b42ac1988acb42032ca4',1,'nRF24::setOutputPower()'],['../class_r_f69.html#a998ddd21fc152d835c6f1b8d31b02fcc',1,'RF69::setOutputPower()'],['../class_si4430.html#af8d615431bf66e06b45487f3fff73d16',1,'Si4430::setOutputPower()'],['../class_si4431.html#a4da296b35056e076ff69a288bd801d19',1,'Si4431::setOutputPower()'],['../class_si4432.html#a8b26e2c86a9e5e8f6405f0a57b65caca',1,'Si4432::setOutputPower()'],['../class_s_x1261.html#aa541f927995a1756c651b93fd24edc65',1,'SX1261::setOutputPower()'],['../class_s_x1262.html#aa149463283dc9cddfec836ec6620d4dc',1,'SX1262::setOutputPower()'],['../class_s_x1268.html#a5b0744aa46fbb4f8c738b010dfcc9b45',1,'SX1268::setOutputPower()'],['../class_s_x1272.html#ae3596f303714509f552d98321bdfce5c',1,'SX1272::setOutputPower()'],['../class_s_x1278.html#a8eeac64472fa70ed5e51f35d581f37ea',1,'SX1278::setOutputPower()'],['../class_s_x128x.html#ad6e2b46c317a8d8512cf0380025147a9',1,'SX128x::setOutputPower()']]], + ['setpanid',['setPanId',['../class_x_bee_serial.html#ad429a47dc445765d2dec7ff64b922306',1,'XBeeSerial::setPanId()'],['../class_x_bee.html#a88745c61a1dc2d1139c34d6cc385d35b',1,'XBee::setPanId()']]], + ['setpreamblelength',['setPreambleLength',['../class_c_c1101.html#acbfa80f431f335d5597500319f0affa8',1,'CC1101::setPreambleLength()'],['../class_r_f69.html#a7c84b3f881cad6e05b0f4f68c24496d9',1,'RF69::setPreambleLength()'],['../class_si443x.html#a4821a6141caf16141074615c976ecd91',1,'Si443x::setPreambleLength()'],['../class_s_x126x.html#ab00f765bbfbfaa8c693532ea3a90c29b',1,'SX126x::setPreambleLength()'],['../class_s_x127x.html#ab608c45e0dcc44280df29580dc0a31ed',1,'SX127x::setPreambleLength()'],['../class_s_x128x.html#a1984a405262f155f16a4759c5f6b0133',1,'SX128x::setPreambleLength()']]], + ['setpromiscuousmode',['setPromiscuousMode',['../class_c_c1101.html#a2911d49d1c293542f7a374c9af60df0e',1,'CC1101::setPromiscuousMode()'],['../class_r_f69.html#a6d90ad1d455de045c53c5758babd876c',1,'RF69::setPromiscuousMode()']]], + ['setreceivepipe',['setReceivePipe',['../classn_r_f24.html#a31bcc5a8c3747bf08a273dbdadc5481a',1,'nRF24::setReceivePipe(uint8_t pipeNum, uint8_t *addr)'],['../classn_r_f24.html#ab5bc08aef88d8cf41c38369044005da8',1,'nRF24::setReceivePipe(uint8_t pipeNum, uint8_t addrByte)']]], + ['setrecvsequence',['setRecvSequence',['../class_a_x25_frame.html#a4696a8eede8bac85f0ee6de6fee79ea8',1,'AX25Frame']]], + ['setregulatordcdc',['setRegulatorDCDC',['../class_s_x126x.html#a5ae69309ca0cf5f13c60f2d162916ff8',1,'SX126x']]], + ['setregulatorldo',['setRegulatorLDO',['../class_s_x126x.html#a21c263ce1a339faa74c568d9afb81cd2',1,'SX126x']]], + ['setrepeaters',['setRepeaters',['../class_a_x25_frame.html#a7f2d9f4f1ba29d0fd9f9f3f2cf03f797',1,'AX25Frame']]], + ['setrfswitchpins',['setRfSwitchPins',['../class_module.html#a0ecbb4e1e98094c1296b1e823dc14703',1,'Module::setRfSwitchPins()'],['../class_c_c1101.html#a45ab4e3f4f9db367185333d36ba21ed2',1,'CC1101::setRfSwitchPins()'],['../class_r_f69.html#aada7c48828b950cdfd260594d502b03d',1,'RF69::setRfSwitchPins()'],['../class_si443x.html#ae365087803b88b29932b5c793edff1d4',1,'Si443x::setRfSwitchPins()'],['../class_s_x126x.html#a288257242e483cb3eb6944333179dd26',1,'SX126x::setRfSwitchPins()'],['../class_s_x127x.html#ae9781180418c1ec9c365b74acbc98d8a',1,'SX127x::setRfSwitchPins()'],['../class_s_x128x.html#a5f11803b3430bc059321b443f407e78b',1,'SX128x::setRfSwitchPins()']]], + ['setrfswitchstate',['setRfSwitchState',['../class_module.html#a4a87d59ad2bf6bb1bb9de1856a81b824',1,'Module']]], + ['setrssiconfig',['setRSSIConfig',['../class_s_x127x.html#ad3955f85f456edae772a51025a19029b',1,'SX127x']]], + ['setrxbandwidth',['setRxBandwidth',['../class_c_c1101.html#a381d0059d7a0ccd8a2f54d7d3376f9b6',1,'CC1101::setRxBandwidth()'],['../class_r_f69.html#a735d8f22095a7e69471d73ca021b9d1a',1,'RF69::setRxBandwidth()'],['../class_si443x.html#a51e6b7c677e82042224798114f311175',1,'Si443x::setRxBandwidth()'],['../class_s_x126x.html#a59d443c02d4620cda32c63a00c6bcc22',1,'SX126x::setRxBandwidth()'],['../class_s_x127x.html#a2cc53b9f9d90647c5709cb974779cf53',1,'SX127x::setRxBandwidth()']]], + ['setsendsequence',['setSendSequence',['../class_a_x25_frame.html#a026e9b96fa69018590fcf6842df8be70',1,'AX25Frame']]], + ['setspreadingfactor',['setSpreadingFactor',['../class_r_f_m97.html#ae8d0ead424c0c9950ad9d5b7132bdf67',1,'RFM97::setSpreadingFactor()'],['../class_s_x126x.html#ae5993359ace652fbdc862eb23fdd263d',1,'SX126x::setSpreadingFactor()'],['../class_s_x1272.html#a82084ac58502c83d2ada998410307490',1,'SX1272::setSpreadingFactor()'],['../class_s_x1273.html#a1dbc5a0847c2b62d2ec5fc439ddfec3f',1,'SX1273::setSpreadingFactor()'],['../class_s_x1277.html#a1df27f0b0b6e5b308879875e4d8306cf',1,'SX1277::setSpreadingFactor()'],['../class_s_x1278.html#af70c22fe38bc3b944070ccbc083fed08',1,'SX1278::setSpreadingFactor()'],['../class_s_x128x.html#ae435f57132f76f4283abb870176acf54',1,'SX128x::setSpreadingFactor()']]], + ['setsyncbits',['setSyncBits',['../class_s_x126x.html#ac594fbb30c5010658c970a64654c7162',1,'SX126x']]], + ['setsyncword',['setSyncWord',['../class_c_c1101.html#a433f1a40b33be6c84d3665a1b4cd57d6',1,'CC1101::setSyncWord(uint8_t syncH, uint8_t syncL, uint8_t maxErrBits=0, bool requireCarrierSense=false)'],['../class_c_c1101.html#ab89b0932dbacadc34d049a2bd2292001',1,'CC1101::setSyncWord(uint8_t *syncWord, uint8_t len, uint8_t maxErrBits=0, bool requireCarrierSense=false)'],['../class_r_f69.html#a26667d50ec845c28e17236c69c886561',1,'RF69::setSyncWord()'],['../class_si443x.html#a4ed0da298c2418db4a88a19ef8938e0a',1,'Si443x::setSyncWord()'],['../class_s_x126x.html#a9d92dce566f8aefa836fe8f332e9560f',1,'SX126x::setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)'],['../class_s_x126x.html#a38e6d7831f35893a5b8328c10a2901bf',1,'SX126x::setSyncWord(uint8_t *syncWord, uint8_t len)'],['../class_s_x127x.html#ac5c7f4584352a12390594395d9c29bde',1,'SX127x::setSyncWord(uint8_t syncWord)'],['../class_s_x127x.html#a9b7afe338fd5b81122c369ecaf0c3ebc',1,'SX127x::setSyncWord(uint8_t *syncWord, size_t len)'],['../class_s_x128x.html#a0efa595867624a54153d693d16f9f731',1,'SX128x::setSyncWord()']]], + ['settcxo',['setTCXO',['../class_s_x126x.html#a57bee6f4b3a3b7ec646ac8de347ee0d6',1,'SX126x']]], + ['settransmitpipe',['setTransmitPipe',['../classn_r_f24.html#aa0e1f2dddf810213410a420205bbd8af',1,'nRF24']]], + ['setwhitening',['setWhitening',['../class_s_x126x.html#a67702de41ae866b9f9d73234fc9ae376',1,'SX126x::setWhitening()'],['../class_s_x128x.html#a8b3eea268f21bf911b6eaf37c5eb0b5f',1,'SX128x::setWhitening()']]], + ['si4430',['Si4430',['../class_si4430.html#ac5ac1122e863a92b374a71e8880e16d9',1,'Si4430']]], + ['si4431',['Si4431',['../class_si4431.html#a332bfd2a32dea9ac0700bf172fe5b2d0',1,'Si4431']]], + ['si4432',['Si4432',['../class_si4432.html#afb1f1ae46d04788aa42f6276efd231ac',1,'Si4432']]], + ['si443x',['Si443x',['../class_si443x.html#ae7cfff2efebfa01c8a50a5cbbe8775b9',1,'Si443x']]], + ['sleep',['sleep',['../classn_r_f24.html#a033287e33c532638c11e2775a073f297',1,'nRF24::sleep()'],['../class_r_f69.html#a472a04041551cb38d2223fb34f71d8eb',1,'RF69::sleep()'],['../class_si443x.html#ada90718aeb67d7f0e9899da534de9695',1,'Si443x::sleep()'],['../class_s_x126x.html#afb5509f0705cdd971065251ed6b2fb4e',1,'SX126x::sleep()'],['../class_s_x127x.html#a44501ec8f8ac6084467b94516b1337df',1,'SX127x::sleep()'],['../class_s_x128x.html#a1d15e13e15b060ddbbe84257d5fcb66f',1,'SX128x::sleep()']]], + ['spigetregvalue',['SPIgetRegValue',['../class_module.html#ad7ca9ae5a22cdacdf9437ca9cd37c9b4',1,'Module']]], + ['spireadregister',['SPIreadRegister',['../class_module.html#a1d1a279cc7e1ab92e30c29c4dcca26a3',1,'Module']]], + ['spireadregisterburst',['SPIreadRegisterBurst',['../class_module.html#a6fa5239d73379e4140f5c4f513b1b8d2',1,'Module']]], + ['spisetregvalue',['SPIsetRegValue',['../class_module.html#a87ca265fa2d1fe7c251b4230ef6bd6ca',1,'Module']]], + ['spitransfer',['SPItransfer',['../class_module.html#aefd955f1cd6d588b2cc229db87cb2121',1,'Module']]], + ['spiwriteregister',['SPIwriteRegister',['../class_module.html#ab814614ddd34b57f5a612a20f5fe4c57',1,'Module']]], + ['spiwriteregisterburst',['SPIwriteRegisterBurst',['../class_module.html#a9d77a08070cbd48fd4ece62a739333e9',1,'Module']]], + ['sstvclient',['SSTVClient',['../class_s_s_t_v_client.html#af15cf501c00172270d2d2c43d7a7100a',1,'SSTVClient::SSTVClient(PhysicalLayer *phy)'],['../class_s_s_t_v_client.html#a99e46bec8403dfc36b9e5b102b1f7cf1',1,'SSTVClient::SSTVClient(AFSKClient *audio)']]], + ['standby',['standby',['../class_c_c1101.html#a7612bf81e48086004c62548de2682266',1,'CC1101::standby()'],['../classn_r_f24.html#a5957f06a891d3d9c07e87b59c239ce56',1,'nRF24::standby()'],['../class_r_f69.html#a20242499eb926ff7b7da6e3f74a9ece1',1,'RF69::standby()'],['../class_si443x.html#ac45d2776df3ff338db154ead143fb7b8',1,'Si443x::standby()'],['../class_s_x126x.html#a7a1579e2557c36a4a34b09039c0d0c71',1,'SX126x::standby() override'],['../class_s_x126x.html#ad7569396f09f3867dc1bd4d4a0613acd',1,'SX126x::standby(uint8_t mode)'],['../class_s_x127x.html#a760b8c5103128f122fbe489c6529ce41',1,'SX127x::standby()'],['../class_s_x128x.html#a2be8cc6c3b61b59cb6a6ca4f6a030b45',1,'SX128x::standby() override'],['../class_s_x128x.html#aa11ba80f0cebb3e6927c775ad5f96b4e',1,'SX128x::standby(uint8_t mode)'],['../class_physical_layer.html#a0e77da761a2cbb5c9535df0bdea993f9',1,'PhysicalLayer::standby()']]], + ['startranging',['startRanging',['../class_s_x1280.html#af30ff497ca3bcc043dc4dc2e7587a795',1,'SX1280']]], + ['startreceive',['startReceive',['../class_c_c1101.html#af727750d05be0bcef4bb8ac260d110e3',1,'CC1101::startReceive()'],['../classn_r_f24.html#af4f443da5d90e032e5f2f65420515f9c',1,'nRF24::startReceive()'],['../class_r_f69.html#afae38fa64242043de34096bf497725f1',1,'RF69::startReceive()'],['../class_si443x.html#a10f886fc534a85bbf8c1aeb9b5ffe4f2',1,'Si443x::startReceive()'],['../class_s_x126x.html#a5052dc09f4b10ee22e169129f368685f',1,'SX126x::startReceive()'],['../class_s_x127x.html#afe8456d0f9abbce4d743f256f3e1e6c6',1,'SX127x::startReceive()'],['../class_s_x128x.html#a8171d2f3de53156526580ca4fe4d647d',1,'SX128x::startReceive()']]], + ['startreceivedutycycle',['startReceiveDutyCycle',['../class_s_x126x.html#adc46b6adda2d0e82e25ed1fc78274136',1,'SX126x']]], + ['startreceivedutycycleauto',['startReceiveDutyCycleAuto',['../class_s_x126x.html#a6b50cb78f02a3d93939437eb48489d3f',1,'SX126x']]], + ['startsignal',['startSignal',['../class_morse_client.html#a3c718208786f8fe55f30eee990ec28e3',1,'MorseClient']]], + ['starttransmit',['startTransmit',['../class_c_c1101.html#a0df2938e2509a8f2746b20ae0558d4ea',1,'CC1101::startTransmit()'],['../classn_r_f24.html#a42fdc828b49f2b8e15457189bd57d917',1,'nRF24::startTransmit()'],['../class_r_f69.html#a855dc194947b095b821ec1524ba6814c',1,'RF69::startTransmit()'],['../class_si443x.html#a402b4f5f11ba79e9cd4fb6ac0bfd9314',1,'Si443x::startTransmit()'],['../class_s_x126x.html#ab843614658a79db7aa24e48d5b6e84f1',1,'SX126x::startTransmit()'],['../class_s_x127x.html#adc2f1379573b7a7b5ee8125ea3752083',1,'SX127x::startTransmit()'],['../class_s_x128x.html#aef221e7d463c5228ce00ed6934512848',1,'SX128x::startTransmit()'],['../class_physical_layer.html#af068e6e862c99e39d0261a7971dd56db',1,'PhysicalLayer::startTransmit(String &str, uint8_t addr=0)'],['../class_physical_layer.html#a923654706eff5118ef6e84214e837f27',1,'PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)'],['../class_physical_layer.html#a41a1de0ebffe7b65de6fd8cceb9a5123',1,'PhysicalLayer::startTransmit(uint8_t *data, size_t len, uint8_t addr=0)=0']]], + ['subscribe',['subscribe',['../class_m_q_t_t_client.html#a9488df90534953c33d76e9183965a300',1,'MQTTClient']]], + ['sx1231',['SX1231',['../class_s_x1231.html#a9f39cd41fa0c934fe871b6cbfa7ce269',1,'SX1231']]], + ['sx1261',['SX1261',['../class_s_x1261.html#a7d74b8684dd49b5b3ba23baf336f1c35',1,'SX1261']]], + ['sx1262',['SX1262',['../class_s_x1262.html#a0da317728ec8ef23c5032d550c9acb8d',1,'SX1262']]], + ['sx1268',['SX1268',['../class_s_x1268.html#a6bc50597d50fd9a2387628e452eac42f',1,'SX1268']]], + ['sx126x',['SX126x',['../class_s_x126x.html#aaca5a8fa8a3e634dd1b5b4c2bb5058d8',1,'SX126x']]], + ['sx1272',['SX1272',['../class_s_x1272.html#a9ffe467a6baaeaa079e02c3f1f43f626',1,'SX1272']]], + ['sx1273',['SX1273',['../class_s_x1273.html#ad0387b22d6dcc876bc5f85174714149b',1,'SX1273']]], + ['sx1276',['SX1276',['../class_s_x1276.html#a91c31d4dbd6d35ef6e42dba6dad8197b',1,'SX1276']]], + ['sx1277',['SX1277',['../class_s_x1277.html#a296fb332bf2cdc574dbfe933d9d10eda',1,'SX1277']]], + ['sx1278',['SX1278',['../class_s_x1278.html#a00ebd3e60a66056940b241b13da0c68e',1,'SX1278']]], + ['sx1279',['SX1279',['../class_s_x1279.html#abc606ad06ee77b6830dab4331793d22a',1,'SX1279']]], + ['sx127x',['SX127x',['../class_s_x127x.html#ac74c5914ca429a3892c66b9d98e3ea6c',1,'SX127x']]], + ['sx1280',['SX1280',['../class_s_x1280.html#a0356199b89860e15cda4979cd9dc13eb',1,'SX1280']]], + ['sx1281',['SX1281',['../class_s_x1281.html#a0dd7678cdf7fad9ecfc9139c5092f998',1,'SX1281']]], + ['sx1282',['SX1282',['../class_s_x1282.html#ae90b7dcd7167c4cbe20e33ced04e4232',1,'SX1282']]], + ['sx128x',['SX128x',['../class_s_x128x.html#a9ccbf51f8304f1041c8eef182be547a7',1,'SX128x']]] +]; diff --git a/search/functions_11.html b/search/functions_11.html new file mode 100644 index 00000000..e1e427c1 --- /dev/null +++ b/search/functions_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_11.js b/search/functions_11.js new file mode 100644 index 00000000..104facce --- /dev/null +++ b/search/functions_11.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['term',['term',['../class_module.html#af0569f6930da7bee761eeca8158aed3a',1,'Module']]], + ['tone',['tone',['../class_module.html#a32ba59613a2f1e77038956e18d9fedd7',1,'Module::tone()'],['../class_a_f_s_k_client.html#a6d2341901c83e45f853c077e60f1fa33',1,'AFSKClient::tone()']]], + ['transmit',['transmit',['../class_c_c1101.html#a7cb99a9200b21829b50e3fc3878573f4',1,'CC1101::transmit()'],['../classn_r_f24.html#a583d505bd3a638ecc5576dd2dd95f044',1,'nRF24::transmit()'],['../class_r_f69.html#a09ba80f60ee7974011a4b4f6c18c6847',1,'RF69::transmit()'],['../class_si443x.html#a782748025e19ec6e597293afb6570bff',1,'Si443x::transmit()'],['../class_s_x126x.html#aab18364237ddac0c56aeaf63f08cf009',1,'SX126x::transmit()'],['../class_s_x127x.html#a9c4ea3285922bf01cebd2c8a706d9a29',1,'SX127x::transmit()'],['../class_s_x128x.html#af253e1e45361de74aefd01a7c73c28f5',1,'SX128x::transmit()'],['../class_x_bee.html#ac1573e0aa0421cbcc767a968dda65819',1,'XBee::transmit(uint8_t *dest, const char *payload, uint8_t radius=1)'],['../class_x_bee.html#a697bfb6969560ef25bfb6c7bc64c3f09',1,'XBee::transmit(uint8_t *dest, uint8_t *destNetwork, const char *payload, uint8_t radius=1)'],['../class_a_x25_client.html#a985790943f3f3e06a2dfdd36977d0b98',1,'AX25Client::transmit()'],['../class_physical_layer.html#ab139a34e03a6fd5a781cd54da21d308f',1,'PhysicalLayer::transmit(__FlashStringHelper *fstr, uint8_t addr=0)'],['../class_physical_layer.html#aeb62c5a521aafc1e0525c58e9364482b',1,'PhysicalLayer::transmit(String &str, uint8_t addr=0)'],['../class_physical_layer.html#a492b2d057dd803c3884fa1adc8e22534',1,'PhysicalLayer::transmit(const char *str, uint8_t addr=0)'],['../class_physical_layer.html#af81565ee82ef9a7de9c5663c745f4ef7',1,'PhysicalLayer::transmit(uint8_t *data, size_t len, uint8_t addr=0)=0']]], + ['transmitdirect',['transmitDirect',['../class_c_c1101.html#a240eef8fa7d838d76f3c11086dc50e46',1,'CC1101::transmitDirect()'],['../classn_r_f24.html#a090bb64f65309efabfa1ffd86daa2303',1,'nRF24::transmitDirect()'],['../class_r_f69.html#a222682569338abb49d6952430b6eebdd',1,'RF69::transmitDirect()'],['../class_si443x.html#a5a86a2032c4b876c1c8e4a7cf4730c99',1,'Si443x::transmitDirect()'],['../class_s_x126x.html#a921aa8afb8d33b2660731c1f8d67664b',1,'SX126x::transmitDirect()'],['../class_s_x127x.html#aefeeb9f7192e11a75b5dfb1ab8488e84',1,'SX127x::transmitDirect()'],['../class_s_x128x.html#a53892566b0259d348158efe3c3c3601a',1,'SX128x::transmitDirect()'],['../class_physical_layer.html#a4b04eb6155b06d8ef400131c647d54e7',1,'PhysicalLayer::transmitDirect()']]] +]; diff --git a/search/functions_12.html b/search/functions_12.html new file mode 100644 index 00000000..8dac9d29 --- /dev/null +++ b/search/functions_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_12.js b/search/functions_12.js new file mode 100644 index 00000000..de91c095 --- /dev/null +++ b/search/functions_12.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unsubscribe',['unsubscribe',['../class_m_q_t_t_client.html#a782158f20b289746b7b6884fd922a22c',1,'MQTTClient']]] +]; diff --git a/search/functions_13.html b/search/functions_13.html new file mode 100644 index 00000000..54220112 --- /dev/null +++ b/search/functions_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_13.js b/search/functions_13.js new file mode 100644 index 00000000..7f65e6e0 --- /dev/null +++ b/search/functions_13.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['variablepacketlengthmode',['variablePacketLengthMode',['../class_c_c1101.html#a881122ec3457c5f95760859f8e0297c7',1,'CC1101::variablePacketLengthMode()'],['../class_r_f69.html#af62ebde1ea34a394b9781a21ae348c39',1,'RF69::variablePacketLengthMode()'],['../class_s_x126x.html#aa11ab2c6f4488daf2ece93288e05c504',1,'SX126x::variablePacketLengthMode()'],['../class_s_x127x.html#a9f753c0857e7b8b4b9f7f6e91c77f0fd',1,'SX127x::variablePacketLengthMode()']]] +]; diff --git a/search/functions_14.html b/search/functions_14.html new file mode 100644 index 00000000..cb681fe9 --- /dev/null +++ b/search/functions_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_14.js b/search/functions_14.js new file mode 100644 index 00000000..fc18cd74 --- /dev/null +++ b/search/functions_14.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['xbee',['XBee',['../class_x_bee.html#a8a60ce7fd2b58e495b436d046e730e0b',1,'XBee']]], + ['xbeeserial',['XBeeSerial',['../class_x_bee_serial.html#a9ee7ddd4b45096a6112798be1be09080',1,'XBeeSerial']]] +]; diff --git a/search/functions_15.html b/search/functions_15.html new file mode 100644 index 00000000..f3ae6926 --- /dev/null +++ b/search/functions_15.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_15.js b/search/functions_15.js new file mode 100644 index 00000000..5ff2bc02 --- /dev/null +++ b/search/functions_15.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['yield',['yield',['../class_module.html#a227d2d38e4747d0f49bb4df1c80b45d7',1,'Module']]] +]; diff --git a/search/functions_16.html b/search/functions_16.html new file mode 100644 index 00000000..18e14286 --- /dev/null +++ b/search/functions_16.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_16.js b/search/functions_16.js new file mode 100644 index 00000000..c75151fa --- /dev/null +++ b/search/functions_16.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['_7eax25frame',['~AX25Frame',['../class_a_x25_frame.html#ab84a13f720ada37aee6201a560d9dc5a',1,'AX25Frame']]], + ['_7eita2string',['~ITA2String',['../class_i_t_a2_string.html#afde24c931997581878953660192e09a2',1,'ITA2String']]] +]; diff --git a/search/functions_2.html b/search/functions_2.html new file mode 100644 index 00000000..c93d0894 --- /dev/null +++ b/search/functions_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_2.js b/search/functions_2.js new file mode 100644 index 00000000..abfa5b0e --- /dev/null +++ b/search/functions_2.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['cc1101',['CC1101',['../class_c_c1101.html#a6807e4254c4b55fa8d393b2bf8f2db3e',1,'CC1101']]], + ['check',['check',['../class_m_q_t_t_client.html#a49cb16ef730ad50ba5dc472ac10d933e',1,'MQTTClient']]], + ['cleardio0action',['clearDio0Action',['../class_r_f69.html#a9721d2a3ed9fa8dd878575d71d5a4942',1,'RF69::clearDio0Action()'],['../class_s_x127x.html#a729b4f3f36096b5b15bae19c7876e823',1,'SX127x::clearDio0Action()']]], + ['cleardio1action',['clearDio1Action',['../class_r_f69.html#ade1f9a7a603d712c480ed5e9a8d1bf51',1,'RF69::clearDio1Action()'],['../class_s_x126x.html#a6848afe4c16a47edb3e0b342a86ecdfd',1,'SX126x::clearDio1Action()'],['../class_s_x127x.html#a9b6532a25e1730973ac08146008adca5',1,'SX127x::clearDio1Action()'],['../class_s_x128x.html#ab8a3fe8e2843fa039ef369668f1a423f',1,'SX128x::clearDio1Action()']]], + ['cleargdo0action',['clearGdo0Action',['../class_c_c1101.html#ab5e6b3745f80cf61e1ced33303311df8',1,'CC1101']]], + ['cleargdo2action',['clearGdo2Action',['../class_c_c1101.html#ac7a8b1fe7d08dc6db20cf1569b0d37b4',1,'CC1101']]], + ['clearirqaction',['clearIrqAction',['../class_si443x.html#a8d019f58551346c3f3bd8b72d2486109',1,'Si443x']]], + ['closetransportconnection',['closeTransportConnection',['../class_e_s_p8266.html#aa71846340d1a679a12ddb9b9597f8f91',1,'ESP8266::closeTransportConnection()'],['../class_transport_layer.html#a82fc1c71a0f6d0aac1be7f6c184a0021',1,'TransportLayer::closeTransportConnection()']]], + ['connect',['connect',['../class_m_q_t_t_client.html#ac15b32e89df903b20b066113bf8c4a88',1,'MQTTClient']]] +]; diff --git a/search/functions_3.html b/search/functions_3.html new file mode 100644 index 00000000..caa48ea2 --- /dev/null +++ b/search/functions_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_3.js b/search/functions_3.js new file mode 100644 index 00000000..9acaeaf1 --- /dev/null +++ b/search/functions_3.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['delay',['delay',['../class_module.html#af0f870b09b9dd9636f1587d708f07d38',1,'Module']]], + ['delaymicroseconds',['delayMicroseconds',['../class_module.html#a14d7cd8220bfa4440bda055ce5be748c',1,'Module']]], + ['detachinterrupt',['detachInterrupt',['../class_module.html#a656738f2fe41fb236d27aed02efa8ad4',1,'Module']]], + ['digitalread',['digitalRead',['../class_module.html#a7495c81640aac8f4686221dad34a274f',1,'Module']]], + ['digitalwrite',['digitalWrite',['../class_module.html#a46ad10b113df7c7e0a932be19eff63cd',1,'Module']]], + ['disableaddressfiltering',['disableAddressFiltering',['../class_c_c1101.html#a9aee5df428d30b9c80b8a8700609a883',1,'CC1101::disableAddressFiltering()'],['../class_r_f69.html#a5996fc1751e7542baafa0d6c0a6c78ee',1,'RF69::disableAddressFiltering()'],['../class_s_x126x.html#afc3a7a42c401b6c44e00cb6c5b9696f2',1,'SX126x::disableAddressFiltering()'],['../class_s_x127x.html#afe6e9bbfd75f9cad26f9f72c34c4ada5',1,'SX127x::disableAddressFiltering()']]], + ['disableaes',['disableAES',['../class_r_f69.html#a15fafb6c24a8b5721623be447628bbaa',1,'RF69']]], + ['disablepipe',['disablePipe',['../classn_r_f24.html#a4dd39e5c0efee1f0c2a14f729eb4426a',1,'nRF24']]], + ['disablesyncwordfiltering',['disableSyncWordFiltering',['../class_c_c1101.html#a4f2dc4176b62a0636636088e31b8e85b',1,'CC1101::disableSyncWordFiltering()'],['../class_r_f69.html#a400bb57d2353b57c29cf41a6d9497c80',1,'RF69::disableSyncWordFiltering()']]], + ['disconnect',['disconnect',['../class_m_q_t_t_client.html#af10176e2cf67bd652823d44f3203a96e',1,'MQTTClient']]] +]; diff --git a/search/functions_4.html b/search/functions_4.html new file mode 100644 index 00000000..a9c64adf --- /dev/null +++ b/search/functions_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_4.js b/search/functions_4.js new file mode 100644 index 00000000..9eca02ba --- /dev/null +++ b/search/functions_4.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['enableaes',['enableAES',['../class_r_f69.html#a1fd4609f419d8b0213ee39b05dd40b69',1,'RF69']]], + ['enablesyncwordfiltering',['enableSyncWordFiltering',['../class_c_c1101.html#a6fe55d0217bf5218865198ef8d6fdab4',1,'CC1101::enableSyncWordFiltering()'],['../class_r_f69.html#a643a711bcb4b7771a7ab1f457e61a417',1,'RF69::enableSyncWordFiltering()']]], + ['esp8266',['ESP8266',['../class_e_s_p8266.html#ac0adb20130a378b8b99fcb9101823636',1,'ESP8266']]], + ['explicitheader',['explicitHeader',['../class_s_x126x.html#a3765f534418d4e0540c179621c019138',1,'SX126x::explicitHeader()'],['../class_s_x128x.html#a94b7fb26cc99385d30b0c98b76d8188d',1,'SX128x::explicitHeader()']]] +]; diff --git a/search/functions_5.html b/search/functions_5.html new file mode 100644 index 00000000..9d135fa0 --- /dev/null +++ b/search/functions_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_5.js b/search/functions_5.js new file mode 100644 index 00000000..18e3fdb2 --- /dev/null +++ b/search/functions_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['fixedpacketlengthmode',['fixedPacketLengthMode',['../class_c_c1101.html#a9335f1d5ccab7aab2357449002203810',1,'CC1101::fixedPacketLengthMode()'],['../class_r_f69.html#a4c9dcbd7e44bc5e46d9f10ae276a0c5f',1,'RF69::fixedPacketLengthMode()'],['../class_s_x126x.html#aa768ce757a0f7ee66cdd72cab7a855fa',1,'SX126x::fixedPacketLengthMode()'],['../class_s_x127x.html#aaf8ce9f09d0f46a76a5e251786b6de7f',1,'SX127x::fixedPacketLengthMode()']]], + ['forceldro',['forceLDRO',['../class_s_x126x.html#a420c23bb1861646e29f44c0f4c646ee8',1,'SX126x::forceLDRO()'],['../class_s_x1272.html#a4aaf9d61310fa7b4fce413ae53d30ac0',1,'SX1272::forceLDRO()'],['../class_s_x1278.html#a6d6398c4d4fde302d6d4752708bce856',1,'SX1278::forceLDRO()']]] +]; diff --git a/search/functions_6.html b/search/functions_6.html new file mode 100644 index 00000000..5fca897b --- /dev/null +++ b/search/functions_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_6.js b/search/functions_6.js new file mode 100644 index 00000000..57808a9e --- /dev/null +++ b/search/functions_6.js @@ -0,0 +1,31 @@ +var searchData= +[ + ['get',['get',['../class_h_t_t_p_client.html#abc505d06d29fdc774d27c163e0be7ff8',1,'HTTPClient::get(String &url, String &response)'],['../class_h_t_t_p_client.html#a7ae493bf7db12ca2201cd6cead54c64f',1,'HTTPClient::get(const char *url, String &response)']]], + ['getcs',['getCs',['../class_module.html#ad9e1458c0eb4f7c117d53e35450bbd76',1,'Module']]], + ['getcurrentlimit',['getCurrentLimit',['../class_s_x126x.html#aa668babb0bd129b2facee9fd280525ab',1,'SX126x']]], + ['getdatarate',['getDataRate',['../class_s_x126x.html#a247211d5d88d501effc4c886adccaec5',1,'SX126x::getDataRate()'],['../class_s_x127x.html#a92274b8e6406bc6c1edee0497e7ad1f6',1,'SX127x::getDataRate()']]], + ['getfreqstep',['getFreqStep',['../class_physical_layer.html#ac48339cc9fc93931379903ab0c195e40',1,'PhysicalLayer']]], + ['getfrequencyerror',['getFrequencyError',['../class_s_x127x.html#af6aa854a2668d70f4d3a374a49440362',1,'SX127x']]], + ['getgpio',['getGpio',['../class_module.html#a3b1d62f6df09d175179effd04c931881',1,'Module']]], + ['getirq',['getIrq',['../class_module.html#a55ddb0fc8ce53db3a333b71fb798e0af',1,'Module']]], + ['getirqflags',['getIRQFlags',['../class_s_x127x.html#ac5d2ddb517e474a699b4539653b3754d',1,'SX127x']]], + ['getlqi',['getLQI',['../class_c_c1101.html#af252f2c3c591289cb73089e51f0f967d',1,'CC1101']]], + ['getmodemstatus',['getModemStatus',['../class_s_x127x.html#a2cf6a5bd8f3257f98ee4f250cbdf8bdc',1,'SX127x']]], + ['getnumbytes',['getNumBytes',['../class_e_s_p8266.html#ac463b6a80cdc52e7db50b1f6760cec3f',1,'ESP8266::getNumBytes()'],['../class_transport_layer.html#a730e6671632844b1effc114e5c7d95c8',1,'TransportLayer::getNumBytes()']]], + ['getpacketdata',['getPacketData',['../class_x_bee.html#ab911ae5476a3a7c89dbac46adc1c843b',1,'XBee']]], + ['getpacketlength',['getPacketLength',['../class_c_c1101.html#a122281f6a915b77ee9dafc9926e731a0',1,'CC1101::getPacketLength()'],['../classn_r_f24.html#a23ea1749c21863ebc5bd3a2b08d64f3b',1,'nRF24::getPacketLength()'],['../class_r_f69.html#a86a080086c0228d23e2cb77d2b1915c1',1,'RF69::getPacketLength()'],['../class_si443x.html#a2d944669dc69ccd47f9e6c360f2ffd10',1,'Si443x::getPacketLength()'],['../class_s_x126x.html#ac4ef8c8751a3c09d64e431684840c987',1,'SX126x::getPacketLength()'],['../class_s_x127x.html#a462fa74275e67c296328a01f361892d5',1,'SX127x::getPacketLength()'],['../class_s_x128x.html#a390fd0749b316eed67da7b54f4f24735',1,'SX128x::getPacketLength()'],['../class_physical_layer.html#a0bd6046e068ef63e3f2b6bead48e02a7',1,'PhysicalLayer::getPacketLength()']]], + ['getpacketsource',['getPacketSource',['../class_x_bee.html#abcffe611d9a823d66a8a2c12720ff70b',1,'XBee']]], + ['getpictureheight',['getPictureHeight',['../class_s_s_t_v_client.html#a89cd8bd7595737d90e59548b65f0fd5b',1,'SSTVClient']]], + ['getrangingresult',['getRangingResult',['../class_s_x1280.html#a91f4f241f02cd4e79d15a9ba08eb1e8f',1,'SX1280']]], + ['getrssi',['getRSSI',['../class_c_c1101.html#af55b5ec0dd2d73bac6cb8a6d9862e6c1',1,'CC1101::getRSSI()'],['../class_r_f69.html#ac4fc3f2b178ef08caec3a9f548f44cd7',1,'RF69::getRSSI()'],['../class_s_x126x.html#a0e5f0032a91686b9673a48c908eb1925',1,'SX126x::getRSSI()'],['../class_s_x1272.html#af5a7dee50a1a7d8261bc62bb869cda92',1,'SX1272::getRSSI()'],['../class_s_x1278.html#a0b1fe4d0b1acfa454d7bab59cdf319fe',1,'SX1278::getRSSI()'],['../class_s_x128x.html#a94d3003277925e2dc3372548b3311008',1,'SX128x::getRSSI()']]], + ['getrst',['getRst',['../class_module.html#aa4179db40b566a336d28ca33763c6b11',1,'Module']]], + ['getrx',['getRx',['../class_module.html#acbffe457d532fed652664debcb3c7748',1,'Module']]], + ['getsnr',['getSNR',['../class_s_x126x.html#ae36823d3539667bdf7d2f073bd4fa1ca',1,'SX126x::getSNR()'],['../class_s_x127x.html#abc5069b39dc31b637ee561d5745e1deb',1,'SX127x::getSNR()'],['../class_s_x128x.html#a89ebf1f4f227cd35c0799c06d5d9c1d2',1,'SX128x::getSNR()']]], + ['getspi',['getSpi',['../class_module.html#a9909bad63883b996e856deceb2a2d48d',1,'Module']]], + ['getspisettings',['getSpiSettings',['../class_module.html#a2ba602f873ba747733eed9f54ca94ed1',1,'Module']]], + ['getstatus',['getStatus',['../classn_r_f24.html#a3f0b08fd8e58db36f6c1926cc3eac6a9',1,'nRF24']]], + ['gettemperature',['getTemperature',['../class_r_f69.html#a0526ce6ea3722fd258f96d9677a60853',1,'RF69']]], + ['gettempraw',['getTempRaw',['../class_s_x127x.html#a95bc32a555675879ad9e2a9e399dc6c1',1,'SX127x']]], + ['gettimeonair',['getTimeOnAir',['../class_s_x126x.html#a7e342ddbef84cf845bef8f4448b8da10',1,'SX126x::getTimeOnAir()'],['../class_s_x128x.html#a2361a94f2e12ebc93e750a027d633232',1,'SX128x::getTimeOnAir()']]], + ['gettx',['getTx',['../class_module.html#a5a2b7fd8c262a01d1abc1b5f4f9c3513',1,'Module']]] +]; diff --git a/search/functions_7.html b/search/functions_7.html new file mode 100644 index 00000000..02631a34 --- /dev/null +++ b/search/functions_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_7.js b/search/functions_7.js new file mode 100644 index 00000000..0bbfccb1 --- /dev/null +++ b/search/functions_7.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['hc05',['HC05',['../class_h_c05.html#a5cc3184c58de65cbff18447c6d03de18',1,'HC05']]], + ['hellclient',['HellClient',['../class_hell_client.html#a6e3ed5db1904f3f9602e20c3c0d0cbd0',1,'HellClient::HellClient(PhysicalLayer *phy)'],['../class_hell_client.html#afeb347f04148700427ad40614fd057c3',1,'HellClient::HellClient(AFSKClient *audio)']]], + ['httpclient',['HTTPClient',['../class_h_t_t_p_client.html#a7c6fdd5681e55437ebddaac785f35557',1,'HTTPClient']]] +]; diff --git a/search/functions_8.html b/search/functions_8.html new file mode 100644 index 00000000..ff370959 --- /dev/null +++ b/search/functions_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_8.js b/search/functions_8.js new file mode 100644 index 00000000..337f7824 --- /dev/null +++ b/search/functions_8.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['idle',['idle',['../class_r_t_t_y_client.html#ac477e65ea756e56bb9043d778a51b4bc',1,'RTTYClient::idle()'],['../class_s_s_t_v_client.html#a0126ac04934f589b8cb04a038c342044',1,'SSTVClient::idle()']]], + ['implicitheader',['implicitHeader',['../class_s_x126x.html#adec09cba71494bd927ad1da786606ca6',1,'SX126x::implicitHeader()'],['../class_s_x128x.html#ac69cc622020419cb3393eac5cc88915b',1,'SX128x::implicitHeader()']]], + ['init',['init',['../class_module.html#adb22d89bc5f532f1d056d9a9f3a6589c',1,'Module']]], + ['iscarrierdetected',['isCarrierDetected',['../classn_r_f24.html#ad9204ee787b425e2c9e8422bb7939a37',1,'nRF24']]], + ['ita2string',['ITA2String',['../class_i_t_a2_string.html#addb6c39167aa5da53fb72e9a94c9c8f5',1,'ITA2String::ITA2String(char c)'],['../class_i_t_a2_string.html#a92ca563bdc2ae4d05ee91ce9372e7a55',1,'ITA2String::ITA2String(const char *str)']]] +]; diff --git a/search/functions_9.html b/search/functions_9.html new file mode 100644 index 00000000..1d345831 --- /dev/null +++ b/search/functions_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_9.js b/search/functions_9.js new file mode 100644 index 00000000..bbef2e50 --- /dev/null +++ b/search/functions_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['jdy08',['JDY08',['../class_j_d_y08.html#a9e2895c29cbbb30bc49aa2b3b9d2c4d6',1,'JDY08']]], + ['join',['join',['../class_e_s_p8266.html#abb39d205464bc4789c87120564258432',1,'ESP8266']]] +]; diff --git a/search/functions_a.html b/search/functions_a.html new file mode 100644 index 00000000..8eb5e562 --- /dev/null +++ b/search/functions_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_a.js b/search/functions_a.js new file mode 100644 index 00000000..c193f960 --- /dev/null +++ b/search/functions_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['length',['length',['../class_i_t_a2_string.html#a79b48f6e1eab664b841f3fd20c333e8e',1,'ITA2String']]] +]; diff --git a/search/functions_b.html b/search/functions_b.html new file mode 100644 index 00000000..fa9cff56 --- /dev/null +++ b/search/functions_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_b.js b/search/functions_b.js new file mode 100644 index 00000000..90c5874a --- /dev/null +++ b/search/functions_b.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['micros',['micros',['../class_module.html#af3f51e517a825949891ad29e30fd3f59',1,'Module']]], + ['millis',['millis',['../class_module.html#a216dd0c6ce140857f2b003ab8d89fbac',1,'Module']]], + ['module',['Module',['../class_module.html#a5ea76bc25ef979ec1ff90c032e476004',1,'Module::Module(RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, HardwareSerial *serial=nullptr, RADIOLIB_PIN_TYPE rst=RADIOLIB_NC)'],['../class_module.html#a06b2e1f1eb9e07a280e55f517f2fab38',1,'Module::Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst)'],['../class_module.html#ae8709b81f592a23ebd72ba3fd8066b0f',1,'Module::Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE gpio)'],['../class_module.html#ac65f3d9e022b3284134ced1c20bcff09',1,'Module::Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, SPIClass &spi, SPISettings spiSettings)'],['../class_module.html#af67217bf4771f4becb0f89b2a90054c4',1,'Module::Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE gpio, SPIClass &spi, SPISettings spiSettings)'],['../class_module.html#a56456ade4eeffa2c566a6fc3fd098276',1,'Module::Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE rx, RADIOLIB_PIN_TYPE tx, SPIClass &spi=RADIOLIB_DEFAULT_SPI, SPISettings spiSettings=SPISettings(2000000, MSBFIRST, SPI_MODE0), HardwareSerial *serial=nullptr)'],['../class_module.html#a919baf2e46c357ebfcdbc1025b6c551e',1,'Module::Module(const Module &mod)']]], + ['morseclient',['MorseClient',['../class_morse_client.html#aeade3a433da40e6a9f28688f2e6e3b5a',1,'MorseClient::MorseClient(PhysicalLayer *phy)'],['../class_morse_client.html#aa5c8ec6823388877b7acfa0deab689a2',1,'MorseClient::MorseClient(AFSKClient *audio)']]], + ['mqttclient',['MQTTClient',['../class_m_q_t_t_client.html#a6ecdbc80b76ae32b926e84af620dacb6',1,'MQTTClient']]] +]; diff --git a/search/functions_c.html b/search/functions_c.html new file mode 100644 index 00000000..fce7a6b1 --- /dev/null +++ b/search/functions_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_c.js b/search/functions_c.js new file mode 100644 index 00000000..553675a8 --- /dev/null +++ b/search/functions_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['notone',['noTone',['../class_module.html#af998b86ce1243f616f6fcb6df5336207',1,'Module::noTone()'],['../class_a_f_s_k_client.html#ade91356bb158bbc820d28855dd5818d1',1,'AFSKClient::noTone()']]], + ['nrf24',['nRF24',['../classn_r_f24.html#ab12de8d953c2384c5fff09b4abf65d1e',1,'nRF24']]] +]; diff --git a/search/functions_d.html b/search/functions_d.html new file mode 100644 index 00000000..82b2b0cf --- /dev/null +++ b/search/functions_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_d.js b/search/functions_d.js new file mode 100644 index 00000000..3b937e83 --- /dev/null +++ b/search/functions_d.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['opentransportconnection',['openTransportConnection',['../class_e_s_p8266.html#a535f4b7a8ef104b208753f9361568d20',1,'ESP8266::openTransportConnection()'],['../class_transport_layer.html#a36b1ceebca3643fb475607d3d92f5d63',1,'TransportLayer::openTransportConnection()']]], + ['operator_3d',['operator=',['../class_module.html#a4ea888758b4a7784082d513a1e7849a4',1,'Module::operator=()'],['../class_a_x25_frame.html#a52e7e5f6f48c3e62544721d2a5e00640',1,'AX25Frame::operator=()']]] +]; diff --git a/search/functions_e.html b/search/functions_e.html new file mode 100644 index 00000000..557ae9a4 --- /dev/null +++ b/search/functions_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_e.js b/search/functions_e.js new file mode 100644 index 00000000..0ba311b9 --- /dev/null +++ b/search/functions_e.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['packetmode',['packetMode',['../class_c_c1101.html#a38f6978c757b0dd73e3ef98164a735a2',1,'CC1101::packetMode()'],['../class_r_f69.html#a6a67dd698b3cc6afcaf18c3710ad5f0f',1,'RF69::packetMode()'],['../class_si443x.html#a616eb24c4b11c5d39caaade160be8092',1,'Si443x::packetMode()'],['../class_s_x127x.html#a0995088d37689a3c240a1af791df6cf1',1,'SX127x::packetMode()']]], + ['physicallayer',['PhysicalLayer',['../class_physical_layer.html#a5e02457f1d519cf81b1590a182321c62',1,'PhysicalLayer']]], + ['ping',['ping',['../class_m_q_t_t_client.html#aea3fb930ed43a0b3122ccc90efebb99d',1,'MQTTClient']]], + ['pinmode',['pinMode',['../class_module.html#af7e4872dad3d19b6f75f532c88683168',1,'Module']]], + ['post',['post',['../class_h_t_t_p_client.html#ac1119b889b6fed7bd4d119d3e4842acb',1,'HTTPClient']]], + ['printglyph',['printGlyph',['../class_hell_client.html#ac527806ef871dc12555afe7c43a72ed9',1,'HellClient']]], + ['publish',['publish',['../class_m_q_t_t_client.html#ace3ee45313dea2f853207accf20b7c87',1,'MQTTClient::publish(String &topic, String &message)'],['../class_m_q_t_t_client.html#ab59a1174098dfdf514d8ec6d0bd9d015',1,'MQTTClient::publish(const char *topic, const char *message)']]] +]; diff --git a/search/functions_f.html b/search/functions_f.html new file mode 100644 index 00000000..b27fb7d1 --- /dev/null +++ b/search/functions_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/functions_f.js b/search/functions_f.js new file mode 100644 index 00000000..3bdb5d7d --- /dev/null +++ b/search/functions_f.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['range',['range',['../class_s_x1280.html#a812e289084b2f78977b254c28f0fff7c',1,'SX1280']]], + ['readdata',['readData',['../class_c_c1101.html#a8c79975a7bbe8a37f8214ecd1f69ba22',1,'CC1101::readData()'],['../classn_r_f24.html#a410fb78acb4ed358818c132687b8857a',1,'nRF24::readData()'],['../class_r_f69.html#a3983b66c83818b4082805bcafc712f00',1,'RF69::readData()'],['../class_si443x.html#ad00ff8b58c68118ad74fee82028aa71e',1,'Si443x::readData()'],['../class_s_x126x.html#a3350cbfab628956c1a456383ac7bb2b2',1,'SX126x::readData()'],['../class_s_x127x.html#abfc840e8d6fe5e222f0143be17876745',1,'SX127x::readData()'],['../class_s_x128x.html#a94bca43258b09217fb476a2d8db784bb',1,'SX128x::readData()'],['../class_physical_layer.html#ae8eed0e888a7c8742e89d2b850977de2',1,'PhysicalLayer::readData(String &str, size_t len=0)'],['../class_physical_layer.html#ae8b6c756eb4b92855433ca389d73c632',1,'PhysicalLayer::readData(uint8_t *data, size_t len)=0']]], + ['receive',['receive',['../class_c_c1101.html#aedc1067d0334bb69ed5316146014097d',1,'CC1101::receive()'],['../class_e_s_p8266.html#aa79f841de9ae9c5d6057e89a9f1721ea',1,'ESP8266::receive()'],['../classn_r_f24.html#a239e94511d9ee67ad3d64a49a5c4d7ac',1,'nRF24::receive()'],['../class_r_f69.html#ae36e8e6042245621a182b29526fe2245',1,'RF69::receive()'],['../class_si443x.html#aabca3ba8eda212938febab1df2e764b4',1,'Si443x::receive()'],['../class_s_x126x.html#ae3db6b29c482d94eef8a43cd8b5751c0',1,'SX126x::receive()'],['../class_s_x127x.html#adfe0d3f033a23ec2f3c2a407285d357c',1,'SX127x::receive()'],['../class_s_x128x.html#a32b7b674d63c36f15b7f58a2cb837a99',1,'SX128x::receive()'],['../class_physical_layer.html#afb1b090348d9091bfa3a0b5ba3d85b36',1,'PhysicalLayer::receive(String &str, size_t len=0)'],['../class_physical_layer.html#a2ad4c6a8ac267f8ac590260414ffcda3',1,'PhysicalLayer::receive(uint8_t *data, size_t len)=0'],['../class_transport_layer.html#a846492348f71d7328834076c9046dc3f',1,'TransportLayer::receive()']]], + ['receivedirect',['receiveDirect',['../class_c_c1101.html#ab053c185330519d58f364790108d29ac',1,'CC1101::receiveDirect()'],['../classn_r_f24.html#a415d86947742e981bfcf7f2371f8605c',1,'nRF24::receiveDirect()'],['../class_r_f69.html#abd556b0f455f9510213b17588a4baf1b',1,'RF69::receiveDirect()'],['../class_si443x.html#a178b471527813a608c04db7d3c9648d6',1,'Si443x::receiveDirect()'],['../class_s_x126x.html#a8a18aee2bf05793aa29b5cf6b47bb435',1,'SX126x::receiveDirect()'],['../class_s_x127x.html#aa7ac558d537c6364c4bc82c8f33e398f',1,'SX127x::receiveDirect()'],['../class_s_x128x.html#aff7d86352c98771595375e17d19a2a97',1,'SX128x::receiveDirect()'],['../class_physical_layer.html#a46b22145b33e97cf6065ed826799b6b4',1,'PhysicalLayer::receiveDirect()']]], + ['reset',['reset',['../class_e_s_p8266.html#aee0279b476a83a55f54ab22e6d8f3904',1,'ESP8266::reset()'],['../class_r_f69.html#af953ee17aca5392f1e62ea4fe690550a',1,'RF69::reset()'],['../class_si443x.html#ae782ee06e2c463c24f22f5d4c3dd8d97',1,'Si443x::reset()'],['../class_s_x126x.html#a9aa6dd05dd32ef717a06cc8ba28ff71f',1,'SX126x::reset()'],['../class_s_x1272.html#a0978cc9ecbb7b9d3a017c133506e57ac',1,'SX1272::reset()'],['../class_s_x1278.html#a6d60902ac59b653a9eb83e82a932f7ad',1,'SX1278::reset()'],['../class_s_x127x.html#a3321ac4a7f65e73004202486db9b1d68',1,'SX127x::reset()'],['../class_s_x128x.html#a2643ce22176293631fea2169f5e68e66',1,'SX128x::reset()'],['../class_x_bee_serial.html#a1870183689e2a2a17aa36e0d6d30ea3f',1,'XBeeSerial::reset()'],['../class_x_bee.html#a10a4b3df9d5980e89a126848ec31613c',1,'XBee::reset()']]], + ['rf69',['RF69',['../class_r_f69.html#afbc84d4f91502bcbe12ddda2fde51448',1,'RF69']]], + ['rfm95',['RFM95',['../class_r_f_m95.html#a89dfea02aef1a2b47a3af83801c74326',1,'RFM95']]], + ['rfm96',['RFM96',['../class_r_f_m96.html#ad139e35a7465bf7ad83aef85998b4e7a',1,'RFM96']]], + ['rfm97',['RFM97',['../class_r_f_m97.html#ab7a6b22776df24d081225dcfe177e1be',1,'RFM97']]], + ['rttyclient',['RTTYClient',['../class_r_t_t_y_client.html#ae6bc08fa88457ee00a992448be1d63ea',1,'RTTYClient::RTTYClient(PhysicalLayer *phy)'],['../class_r_t_t_y_client.html#ab0e11944c2f1e2c60fc45bcd2db18570',1,'RTTYClient::RTTYClient(AFSKClient *audio)']]] +]; diff --git a/search/groups_0.html b/search/groups_0.html new file mode 100644 index 00000000..95cee43d --- /dev/null +++ b/search/groups_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/groups_0.js b/search/groups_0.js new file mode 100644 index 00000000..227e88cc --- /dev/null +++ b/search/groups_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['data_20shaping_20filter_20values_20aliases_2e',['Data shaping filter values aliases.',['../group__config__shaping.html',1,'']]] +]; diff --git a/search/groups_1.html b/search/groups_1.html new file mode 100644 index 00000000..979ea3d4 --- /dev/null +++ b/search/groups_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/groups_1.js b/search/groups_1.js new file mode 100644 index 00000000..bbf67dd5 --- /dev/null +++ b/search/groups_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['encoding_20type_20aliases_2e',['Encoding type aliases.',['../group__config__encoding.html',1,'']]] +]; diff --git a/search/groups_2.html b/search/groups_2.html new file mode 100644 index 00000000..310ab329 --- /dev/null +++ b/search/groups_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/groups_2.js b/search/groups_2.js new file mode 100644 index 00000000..ad1d1757 --- /dev/null +++ b/search/groups_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['shield_20configuration',['Shield Configuration',['../group__shield__config.html',1,'']]], + ['status_20codes',['Status Codes',['../group__status__codes.html',1,'']]] +]; diff --git a/search/groups_3.html b/search/groups_3.html new file mode 100644 index 00000000..c24c7bd6 --- /dev/null +++ b/search/groups_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/groups_3.js b/search/groups_3.js new file mode 100644 index 00000000..83910eef --- /dev/null +++ b/search/groups_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['uart_20configuration',['UART Configuration',['../group__uart__config.html',1,'']]] +]; diff --git a/search/mag_sel.png b/search/mag_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..81f6040a2092402b4d98f9ffa8855d12a0d4ca17 GIT binary patch literal 563 zcmV-30?hr1P)zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpyh(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn literal 0 HcmV?d00001 diff --git a/search/nomatches.html b/search/nomatches.html new file mode 100644 index 00000000..b1ded27e --- /dev/null +++ b/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/search/pages_0.html b/search/pages_0.html new file mode 100644 index 00000000..0db7267b --- /dev/null +++ b/search/pages_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/pages_0.js b/search/pages_0.js new file mode 100644 index 00000000..25c62137 --- /dev/null +++ b/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['radiolib_20documentation',['RadioLib Documentation',['../index.html',1,'']]] +]; diff --git a/search/pages_1.html b/search/pages_1.html new file mode 100644 index 00000000..2c67a8ef --- /dev/null +++ b/search/pages_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/pages_1.js b/search/pages_1.js new file mode 100644 index 00000000..441b2dec --- /dev/null +++ b/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['todo_20list',['Todo List',['../todo.html',1,'']]] +]; diff --git a/search/search.css b/search/search.css new file mode 100644 index 00000000..4d7612ff --- /dev/null +++ b/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + position: absolute; + float: none; + display: inline; + margin-top: 8px; + right: 0px; + width: 170px; + z-index: 102; + background-color: white; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:111px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:0px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 1; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + 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 00000000..dedce3bf --- /dev/null +++ b/search/search.js @@ -0,0 +1,791 @@ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; ek7RCwB~R6VQOP#AvB$vH7i{6H{96zot$7cZT<7246EF5Np6N}+$IbiG6W zg#87A+NFaX+=_^xM1#gCtshC=E{%9^uQX_%?YwXvo{#q&MnpJ8uh(O?ZRc&~_1%^SsPxG@rfElJg-?U zm!Cz-IOn(qJP3kDp-^~qt+FGbl=5jNli^Wj_xIBG{Rc0en{!oFvyoNC7{V~T8}b>| z=jL2WIReZzX(YN(_9fV;BBD$VXQIxNasAL8ATvEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/search/search_r.png b/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..97ee8b439687084201b79c6f776a41f495c6392a GIT binary patch literal 612 zcmV-q0-ODbP)PbXFRCwB?)W514K@j&X?z2*SxFI6-@HT2E2K=9X9%Pb zEK*!TBw&g(DMC;|A)uGlRkOS9vd-?zNs%bR4d$w+ox_iFnE8fvIvv7^5<(>Te12Li z7C)9srCzmK{ZcNM{YIl9j{DePFgOWiS%xG@5CnnnJa4nvY<^glbz7^|-ZY!dUkAwd z{gaTC@_>b5h~;ug#R0wRL0>o5!hxm*s0VW?8dr}O#zXTRTnrQm_Z7z1Mrnx>&p zD4qifUjzLvbVVWi?l?rUzwt^sdb~d!f_LEhsRVIXZtQ=qSxuxqm zEX#tf>$?M_Y1-LSDT)HqG?`%-%ZpY!#{N!rcNIiL;G7F0`l?)mNGTD9;f9F5Up3Kg zw}a<-JylhG&;=!>B+fZaCX+?C+kHYrP%c?X2!Zu_olK|GcS4A70HEy;vn)I0>0kLH z`jc(WIaaHc7!HS@f*^R^Znx8W=_jIl2oWJoQ*h1^$FX!>*PqR1J8k|fw}w_y}TpE>7m8DqDO<3z`OzXt$ccSejbEZCg@0000 + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_0.js b/search/variables_0.js new file mode 100644 index 00000000..9307aecd --- /dev/null +++ b/search/variables_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['atlinefeed',['AtLineFeed',['../class_module.html#a9d8ab2ff353bad5d0e7568d300a48ba0',1,'Module']]] +]; diff --git a/search/variables_1.html b/search/variables_1.html new file mode 100644 index 00000000..3c65cf26 --- /dev/null +++ b/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_1.js b/search/variables_1.js new file mode 100644 index 00000000..06dd973a --- /dev/null +++ b/search/variables_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['baudrate',['baudrate',['../class_module.html#a128ead3f3198e3b06d39a128a5d6c777',1,'Module']]] +]; diff --git a/search/variables_2.html b/search/variables_2.html new file mode 100644 index 00000000..7b43e0ac --- /dev/null +++ b/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_2.js b/search/variables_2.js new file mode 100644 index 00000000..daddddde --- /dev/null +++ b/search/variables_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['control',['control',['../class_a_x25_frame.html#a5b196079b539dc417ca65dd4ad622f8f',1,'AX25Frame']]] +]; diff --git a/search/variables_3.html b/search/variables_3.html new file mode 100644 index 00000000..ea0392df --- /dev/null +++ b/search/variables_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_3.js b/search/variables_3.js new file mode 100644 index 00000000..2fb18989 --- /dev/null +++ b/search/variables_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['destcallsign',['destCallsign',['../class_a_x25_frame.html#a78e72871e3a9370675318876f4a4b432',1,'AX25Frame']]], + ['destssid',['destSSID',['../class_a_x25_frame.html#af62935e56dc24bca5d2e2aeb932b63f8',1,'AX25Frame']]] +]; diff --git a/search/variables_4.html b/search/variables_4.html new file mode 100644 index 00000000..1ed95cb6 --- /dev/null +++ b/search/variables_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_4.js b/search/variables_4.js new file mode 100644 index 00000000..2bca08c4 --- /dev/null +++ b/search/variables_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['freq',['freq',['../structtone__t.html#a322e5f269a6a7eaae58f3ca0b73da0cf',1,'tone_t']]] +]; diff --git a/search/variables_5.html b/search/variables_5.html new file mode 100644 index 00000000..ecc883b5 --- /dev/null +++ b/search/variables_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_5.js b/search/variables_5.js new file mode 100644 index 00000000..bc0fefe9 --- /dev/null +++ b/search/variables_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['height',['height',['../struct_s_s_t_v_mode__t.html#aae9c12993b804b63c258e82244f20031',1,'SSTVMode_t']]] +]; diff --git a/search/variables_6.html b/search/variables_6.html new file mode 100644 index 00000000..0c1a66ba --- /dev/null +++ b/search/variables_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_6.js b/search/variables_6.js new file mode 100644 index 00000000..62234fc4 --- /dev/null +++ b/search/variables_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['info',['info',['../class_a_x25_frame.html#aa82f006b84b71b9c5d036a4946a65988',1,'AX25Frame']]], + ['infolen',['infoLen',['../class_a_x25_frame.html#a75e8ad33c2540ede5bb130050f6ffc41',1,'AX25Frame']]] +]; diff --git a/search/variables_7.html b/search/variables_7.html new file mode 100644 index 00000000..e0da2ef5 --- /dev/null +++ b/search/variables_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_7.js b/search/variables_7.js new file mode 100644 index 00000000..7426d4a1 --- /dev/null +++ b/search/variables_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['len',['len',['../structtone__t.html#a3b0421dd255c7c59552741957a6224ed',1,'tone_t']]] +]; diff --git a/search/variables_8.html b/search/variables_8.html new file mode 100644 index 00000000..0c3d1df3 --- /dev/null +++ b/search/variables_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_8.js b/search/variables_8.js new file mode 100644 index 00000000..34432413 --- /dev/null +++ b/search/variables_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['moduleserial',['ModuleSerial',['../class_module.html#a99556decb983f682b98220ae5434b004',1,'Module']]] +]; diff --git a/search/variables_9.html b/search/variables_9.html new file mode 100644 index 00000000..e14a1071 --- /dev/null +++ b/search/variables_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_9.js b/search/variables_9.js new file mode 100644 index 00000000..28505939 --- /dev/null +++ b/search/variables_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['numrepeaters',['numRepeaters',['../class_a_x25_frame.html#ad27453a838ba90f917a1a9853358bb9a',1,'AX25Frame']]], + ['numtones',['numTones',['../struct_s_s_t_v_mode__t.html#ae3d67bbc9815c38bea17ec070c8c0096',1,'SSTVMode_t']]] +]; diff --git a/search/variables_a.html b/search/variables_a.html new file mode 100644 index 00000000..4e38be7c --- /dev/null +++ b/search/variables_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_a.js b/search/variables_a.js new file mode 100644 index 00000000..80cc0b74 --- /dev/null +++ b/search/variables_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['protocolid',['protocolID',['../class_a_x25_frame.html#aa8895fea37220c82f68bd320331595c8',1,'AX25Frame']]] +]; diff --git a/search/variables_b.html b/search/variables_b.html new file mode 100644 index 00000000..c98ef41d --- /dev/null +++ b/search/variables_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_b.js b/search/variables_b.js new file mode 100644 index 00000000..52c855cd --- /dev/null +++ b/search/variables_b.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['rcvseqnumber',['rcvSeqNumber',['../class_a_x25_frame.html#adce5294af25f09df752997d33ac0e87f',1,'AX25Frame']]], + ['repeatercallsigns',['repeaterCallsigns',['../class_a_x25_frame.html#a29eb08c9e72bbaced8d37dcb2343ee94',1,'AX25Frame']]], + ['repeaterssids',['repeaterSSIDs',['../class_a_x25_frame.html#a5b63c6b6f69e0ac47ba9230ad39c6830',1,'AX25Frame']]] +]; diff --git a/search/variables_c.html b/search/variables_c.html new file mode 100644 index 00000000..d5f44496 --- /dev/null +++ b/search/variables_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_c.js b/search/variables_c.js new file mode 100644 index 00000000..fa613560 --- /dev/null +++ b/search/variables_c.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['scanpixellen',['scanPixelLen',['../struct_s_s_t_v_mode__t.html#a991e84b2b6f696ec2390f2c3f8cb9694',1,'SSTVMode_t']]], + ['sendseqnumber',['sendSeqNumber',['../class_a_x25_frame.html#a4c0fdf148d3b779d48441d45af87add2',1,'AX25Frame']]], + ['spireadcommand',['SPIreadCommand',['../class_module.html#a849ad85fc1bc3a7130e660c13973ab26',1,'Module']]], + ['spiwritecommand',['SPIwriteCommand',['../class_module.html#ae89764d15e8df5694a6aec0e18f72d3f',1,'Module']]], + ['srccallsign',['srcCallsign',['../class_a_x25_frame.html#ab76eaa8445e7953059a46bb78082dd5a',1,'AX25Frame']]], + ['srcssid',['srcSSID',['../class_a_x25_frame.html#a50c63276facf8126f0f8555b1fc6b2c9',1,'AX25Frame']]] +]; diff --git a/search/variables_d.html b/search/variables_d.html new file mode 100644 index 00000000..a57e383b --- /dev/null +++ b/search/variables_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_d.js b/search/variables_d.js new file mode 100644 index 00000000..59380cce --- /dev/null +++ b/search/variables_d.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['tones',['tones',['../struct_s_s_t_v_mode__t.html#a27c6a271c1aa8e499a31a784ab9254ad',1,'SSTVMode_t']]], + ['type',['type',['../structtone__t.html#a822ce54003924df3cc2e25a430657a56',1,'tone_t']]] +]; diff --git a/search/variables_e.html b/search/variables_e.html new file mode 100644 index 00000000..d1502e0e --- /dev/null +++ b/search/variables_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_e.js b/search/variables_e.js new file mode 100644 index 00000000..ee6d71ab --- /dev/null +++ b/search/variables_e.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['viscode',['visCode',['../struct_s_s_t_v_mode__t.html#a4033deed34e2703ab7f9a95cc32e5820',1,'SSTVMode_t']]] +]; diff --git a/search/variables_f.html b/search/variables_f.html new file mode 100644 index 00000000..f777e719 --- /dev/null +++ b/search/variables_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/variables_f.js b/search/variables_f.js new file mode 100644 index 00000000..1bfb5169 --- /dev/null +++ b/search/variables_f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['width',['width',['../struct_s_s_t_v_mode__t.html#ad8d4e7efb12eb0e0cfa850aeb7353e40',1,'SSTVMode_t']]] +]; diff --git a/splitbar.png b/splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/struct_s_s_t_v_mode__t-members.html b/struct_s_s_t_v_mode__t-members.html new file mode 100644 index 00000000..79a524ab --- /dev/null +++ b/struct_s_s_t_v_mode__t-members.html @@ -0,0 +1,134 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SSTVMode_t Member List
+
+
+ +

This is the complete list of members for SSTVMode_t, including all inherited members.

+ + + + + + + +
heightSSTVMode_t
numTonesSSTVMode_t
scanPixelLenSSTVMode_t
tonesSSTVMode_t
visCodeSSTVMode_t
widthSSTVMode_t
+
+ + + + diff --git a/struct_s_s_t_v_mode__t.html b/struct_s_s_t_v_mode__t.html new file mode 100644 index 00000000..97b34ef6 --- /dev/null +++ b/struct_s_s_t_v_mode__t.html @@ -0,0 +1,167 @@ + + + + + + +RadioLib: SSTVMode_t Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SSTVMode_t Struct Reference
+
+
+ +

Structure to save data about supported SSTV modes. + More...

+ +

#include <SSTV.h>

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

+Public Attributes

+uint8_t visCode
 Unique VIS code of the SSTV mode.
 
+uint16_t width
 Picture width in pixels.
 
+uint16_t height
 Picture height in pixels.
 
+uint16_t scanPixelLen
 Pixel scan length in us.
 
+uint8_t numTones
 Number of tones in each transmission line. Picture scan data is considered single tone.
 
+tone_t tones [8]
 Sequence of tones in each transmission line. This is used to create the correct encoding sequence.
 
+

Detailed Description

+

Structure to save data about supported SSTV modes.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/struct_s_s_t_v_mode__t.js b/struct_s_s_t_v_mode__t.js new file mode 100644 index 00000000..8e1d958e --- /dev/null +++ b/struct_s_s_t_v_mode__t.js @@ -0,0 +1,9 @@ +var struct_s_s_t_v_mode__t = +[ + [ "height", "struct_s_s_t_v_mode__t.html#aae9c12993b804b63c258e82244f20031", null ], + [ "numTones", "struct_s_s_t_v_mode__t.html#ae3d67bbc9815c38bea17ec070c8c0096", null ], + [ "scanPixelLen", "struct_s_s_t_v_mode__t.html#a991e84b2b6f696ec2390f2c3f8cb9694", null ], + [ "tones", "struct_s_s_t_v_mode__t.html#a27c6a271c1aa8e499a31a784ab9254ad", null ], + [ "visCode", "struct_s_s_t_v_mode__t.html#a4033deed34e2703ab7f9a95cc32e5820", null ], + [ "width", "struct_s_s_t_v_mode__t.html#ad8d4e7efb12eb0e0cfa850aeb7353e40", null ] +]; \ No newline at end of file diff --git a/structtone__t-members.html b/structtone__t-members.html new file mode 100644 index 00000000..55f3ad7b --- /dev/null +++ b/structtone__t-members.html @@ -0,0 +1,135 @@ + + + + + + +RadioLib: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
tone_t Member List
+
+
+ +

This is the complete list of members for tone_t, including all inherited members.

+ + + + + + + + +
freqtone_t
GENERIC enum value (defined in tone_t)tone_t
lentone_t
SCAN_BLUE enum value (defined in tone_t)tone_t
SCAN_GREEN enum value (defined in tone_t)tone_t
SCAN_RED enum value (defined in tone_t)tone_t
typetone_t
+
+ + + + diff --git a/structtone__t.html b/structtone__t.html new file mode 100644 index 00000000..40760a32 --- /dev/null +++ b/structtone__t.html @@ -0,0 +1,166 @@ + + + + + + +RadioLib: tone_t Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
tone_t Struct Reference
+
+
+ +

Structure to save data about tone. + More...

+ +

#include <SSTV.h>

+ + + + + +

+Public Types

enum  { GENERIC = 0, +SCAN_GREEN, +SCAN_BLUE, +SCAN_RED + }
 Tone type: GENERIC for sync and porch tones, SCAN_GREEN, SCAN_BLUE and SCAN_RED for scan lines.
 
+ + + + + + + + + + +

+Public Attributes

+enum tone_t:: { ... }  type
 Tone type: GENERIC for sync and porch tones, SCAN_GREEN, SCAN_BLUE and SCAN_RED for scan lines.
 
+uint32_t len
 Length of tone in us, set to 0 for picture scan tones.
 
+uint16_t freq
 Frequency of tone in Hz, set to 0 for picture scan tones.
 
+

Detailed Description

+

Structure to save data about tone.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structtone__t.js b/structtone__t.js new file mode 100644 index 00000000..610bdfc5 --- /dev/null +++ b/structtone__t.js @@ -0,0 +1,10 @@ +var structtone__t = +[ + [ "GENERIC", "structtone__t.html#a77bdc77a9ff234c29010fbdfd90e84edaeb5f3bbccaae0db7ee2e25cbd2fdaaf6", null ], + [ "SCAN_GREEN", "structtone__t.html#a77bdc77a9ff234c29010fbdfd90e84edab48055f9dc61d70f0204b2e5f9a56c09", null ], + [ "SCAN_BLUE", "structtone__t.html#a77bdc77a9ff234c29010fbdfd90e84eda8e78a66137f08df7785513efe3839c25", null ], + [ "SCAN_RED", "structtone__t.html#a77bdc77a9ff234c29010fbdfd90e84eda3419d77c8075bfd15090f8aac3dc05b2", null ], + [ "freq", "structtone__t.html#a322e5f269a6a7eaae58f3ca0b73da0cf", null ], + [ "len", "structtone__t.html#a3b0421dd255c7c59552741957a6224ed", null ], + [ "type", "structtone__t.html#a822ce54003924df3cc2e25a430657a56", null ] +]; \ No newline at end of file diff --git a/sync_off.png b/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc GIT binary patch literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/sync_on.png b/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/tab_a.png b/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/tab_b.png b/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/tabs.css b/tabs.css new file mode 100644 index 00000000..9cf578f2 --- /dev/null +++ b/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/todo.html b/todo.html new file mode 100644 index 00000000..53320b69 --- /dev/null +++ b/todo.html @@ -0,0 +1,151 @@ + + + + + + +RadioLib: Todo List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Todo List
+
+
+
+
Member MQTTClient::publish (const char *topic, const char *message)
+
implement QoS > 0 and PUBACK response checking
+
Member Si443x::getPacketLength (bool update=true) override
+
variable length mode
+
Member Si443x::setDataShaping (uint8_t sh) override
+
implement fiter configuration - docs claim this should be possible, but seems undocumented
+
Member Si443x::setEncoding (uint8_t encoding) override
+
- add inverted Manchester?
+
Member Si443x::setRxBandwidth (float rxBw)
+
float tolerance equality as macro?
+
Member Si443x::startTransmit (uint8_t *data, size_t len, uint8_t addr=0) override
+

variable packet length

+

use header as address field?

+
+
Member Si443x::transmitDirect (uint32_t frf=0) override
+
integers only
+
Member SX1261::setOutputPower (int8_t power)
+
power ramp time configuration
+
Member SX1262::setOutputPower (int8_t power)
+
power ramp time configuration
+
Member SX1268::setFrequency (float freq, bool calibrate=true)
+
integers only (all modules - frequency, data rate, bandwidth etc.)
+
Member SX1268::setOutputPower (int8_t power)
+
power ramp time configuration
+
Member SX127x::setBitRate (float br)
+
fractional part of bit rate setting (not in OOK)
+
Member SX1282::SX1282 (Module *mod)
+
implement advanced ranging
+
Member SX128x::getTimeOnAir (size_t len)
+
implement this mess - SX1280 datasheet v3.0 section 7.4.4.2
+
Member SX128x::setSyncWord (uint8_t *syncWord, uint8_t len)
+
add support for multiple sync words
+
+
+
+ + + +